Final fixes

This commit is contained in:
root
2025-04-20 22:15:01 +02:00
parent 1a5dc475c0
commit 1910c31910
2 changed files with 54 additions and 0 deletions

41
bot.py
View File

@ -275,6 +275,47 @@ async def enfants(interaction: discord.Interaction):
ephemeral=True
)
@bot.tree.command(name="separer", description="Mettre fin à une relation")
async def separer(interaction: discord.Interaction, partenaire: discord.Member):
membre = interaction.user
# Validation
if membre.id == partenaire.id:
await interaction.response.send_message(
"❌ Impossible de se séparer de soi-même !",
ephemeral=True
)
return
# Vérifie que le couple existe
if not family.get_partner(str(membre.id)) == str(partenaire.id):
await interaction.response.send_message(
"❌ Vous n'êtes pas en couple avec cette personne",
ephemeral=True
)
return
# Exécute la séparation
if family.remove_couple(str(membre.id), str(partenaire.id)):
# Message avec mention des enfants s'il y en a
enfants = family.get_children(str(membre.id)) + family.get_children(str(partenaire.id))
if enfants:
enfants_mentions = ' '.join([f"<@{e}>" for e in enfants])
message = (
f"💔 {membre.mention} et {partenaire.mention} ont rompu.\n"
f"👶 Enfant(s) concerné(s) : {enfants_mentions}"
)
else:
message = f"💔 {membre.mention} et {partenaire.mention} ont rompu."
await interaction.response.send_message(message)
else:
await interaction.response.send_message(
"❌ Erreur lors de la séparation",
ephemeral=True
)
@bot.command()
@commands.has_permissions(administrator=True)
async def init(ctx):

View File

@ -200,3 +200,16 @@ class FamilyManager:
"""Liste toutes les racines"""
data = self._load()
return data.get("roots", [])
def remove_couple(self, member1_id: str, member2_id: str) -> bool:
"""
Supprime un lien de couple entre deux membres
:return: True si suppression effectuée, False si couple introuvable
"""
data = self._load()
couple = sorted([str(member1_id), str(member2_id)])
if couple in data["couples"]:
data["couples"].remove(couple)
self._save(data)
return True
return False