Derniers ajouts en date

This commit is contained in:
Mathis 2026-05-19 18:50:16 +02:00
parent d8b2f06f86
commit 0a14f11eae
3 changed files with 202 additions and 90 deletions

View file

@ -246,12 +246,28 @@ class Moderation(commands.Cog):
action, mid = cid.replace("modpan_", "").split(":")
member = interaction.guild.get_member(int(mid))
if not member: return await interaction.response.send_message("❌ Membre introuvable.", ephemeral=True)
# Vérifications des permissions et de la hiérarchie
if member.top_role >= interaction.user.top_role and interaction.user.id != interaction.guild.owner_id:
return await interaction.response.send_message("❌ Permissions insuffisantes : ce membre a un rôle supérieur ou égal au vôtre.", ephemeral=True)
perms = interaction.user.guild_permissions
if action == "ban" and not perms.ban_members:
return await interaction.response.send_message("❌ Vous n'avez pas la permission de bannir des membres.", ephemeral=True)
elif action == "kick" and not perms.kick_members:
return await interaction.response.send_message("❌ Vous n'avez pas la permission d'expulser des membres.", ephemeral=True)
elif action in ["timeout", "warn", "clear"] and not perms.moderate_members:
return await interaction.response.send_message("❌ Vous n'avez pas la permission de gérer les sanctions (moderate_members).", ephemeral=True)
if action == "clear":
await self.clearwarns(interaction, member, "Nettoyage Panel")
await self.send_modpanel_v2(interaction, member, edit=True)
else:
await interaction.response.send_modal(ModReasonModal(self, action.upper(), member))
elif cid.startswith("modcfg_"):
if not interaction.user.guild_permissions.administrator:
return await interaction.response.send_message("❌ Vous devez être administrateur pour modifier cette configuration.", ephemeral=True)
act = cid.replace("modcfg_", "")
if act in ["logs", "board"]:
col = "log_channel_id" if act == "logs" else "board_channel_id"