24 lines
1.1 KiB
Python
24 lines
1.1 KiB
Python
|
|
import discord
|
||
|
|
from commandes.autres.utils import parse_user_mention
|
||
|
|
|
||
|
|
async def execute(bot, params, message):
|
||
|
|
users = params.get('users', [])
|
||
|
|
if not users:
|
||
|
|
users = [params]
|
||
|
|
banned_count = 0
|
||
|
|
for user_params in users:
|
||
|
|
target_mention = user_params.get('target_user_mention')
|
||
|
|
user_id, member = await parse_user_mention(bot, target_mention, message)
|
||
|
|
if user_id is None:
|
||
|
|
await message.channel.send(f"Utilisateur {target_mention} introuvable.")
|
||
|
|
continue
|
||
|
|
try:
|
||
|
|
await message.guild.ban(discord.Object(id=user_id), reason="Bannissement par le Superviseur")
|
||
|
|
banned_count += 1
|
||
|
|
except discord.Forbidden:
|
||
|
|
await message.channel.send(f"Je n'ai pas les permissions pour bannir l'utilisateur avec ID {user_id}.")
|
||
|
|
except discord.HTTPException as e:
|
||
|
|
await message.channel.send(f"Erreur lors du bannissement de l'utilisateur avec ID {user_id}: {e}")
|
||
|
|
if banned_count > 0:
|
||
|
|
await message.channel.send(f"{banned_count} utilisateur(s) banni(s).")
|