25 lines
1,019 B
Python
25 lines
1,019 B
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]
|
||
|
|
kicked_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
|
||
|
|
if not member:
|
||
|
|
await message.channel.send(f"Utilisateur {target_mention} n'est pas dans ce serveur.")
|
||
|
|
continue
|
||
|
|
try:
|
||
|
|
await member.kick(reason="Expulsion par le Superviseur")
|
||
|
|
kicked_count += 1
|
||
|
|
except discord.Forbidden:
|
||
|
|
await message.channel.send(f"Je n'ai pas les permissions pour expulser {member.mention}.")
|
||
|
|
if kicked_count > 0:
|
||
|
|
await message.channel.send(f"{kicked_count} utilisateur(s) expulsé(s).")
|