Voice et bot modif
This commit is contained in:
parent
189d56026b
commit
7333a22bcd
10774 changed files with 634644 additions and 933308 deletions
|
|
@ -1,5 +1,22 @@
|
|||
import discord
|
||||
|
||||
async def _find_role(guild, role_params):
|
||||
"""Find a role by ID first, then by name (case-insensitive)."""
|
||||
role_id = role_params.get('role_id')
|
||||
if role_id:
|
||||
try:
|
||||
r = guild.get_role(int(role_id))
|
||||
if r:
|
||||
return r
|
||||
except (ValueError, TypeError):
|
||||
pass
|
||||
|
||||
role_name = role_params.get('role_name')
|
||||
if not role_name:
|
||||
return None
|
||||
|
||||
return discord.utils.find(lambda r: r.name.casefold() == role_name.casefold(), guild.roles)
|
||||
|
||||
async def execute(bot, params, message):
|
||||
roles = params.get('roles', [])
|
||||
if not roles:
|
||||
|
|
@ -9,14 +26,17 @@ async def execute(bot, params, message):
|
|||
deleted_count = 0
|
||||
for role_params in roles:
|
||||
role_name = role_params.get('role_name')
|
||||
role = discord.utils.find(lambda r: r.name.casefold() == role_name.casefold(), guild.roles)
|
||||
|
||||
role = await _find_role(guild, role_params)
|
||||
if not role:
|
||||
await message.channel.send(f"Rôle '{role_name}' introuvable.")
|
||||
label = role_name or role_params.get('role_id', 'inconnu')
|
||||
await message.channel.send(f"Rôle '{label}' introuvable.")
|
||||
continue
|
||||
try:
|
||||
await role.delete(reason="Supprimé par le Superviseur")
|
||||
deleted_count += 1
|
||||
except discord.Forbidden:
|
||||
await message.channel.send(f"Je n'ai pas les permissions pour supprimer le rôle '{role_name}'.")
|
||||
label = role_name or role_params.get('role_id', 'inconnu')
|
||||
await message.channel.send(f"Je n'ai pas les permissions pour supprimer le rôle '{label}'.")
|
||||
if deleted_count > 0:
|
||||
await message.channel.send(f"{deleted_count} rôle(s) supprimé(s).")
|
||||
await message.channel.send(f"{deleted_count} rôle(s) supprimé(s).")
|
||||
Loading…
Add table
Add a link
Reference in a new issue