const { EmbedBuilder, User } = require("discord.js") const { getPermissionLevel } = require('../fonction'); module.exports = { name: 'ban', description: 'Ban a member', emote: '🚫', utilisation: 'ban <@member> [reason]', category: 'moderation', async execute(message, args, client) { const userId = message.mentions.users.first()?.id || args[0]; const user = await client.users.fetch(userId); if (!user) { return message.reply('Veuillez mentionner un utilisateur valide ou fournir un ID valide.'); } if (user.id === message.author.id) { return message.reply('Vous ne pouvez pas vous ban vous même'); } if (user.id === client.user.id) { return message.reply('Vous ne pouvez pas me ban'); } if (await getPermissionLevel(user, client) === 11) { return message.reply('Vous ne pouvez pas ban un membre buyer'); } if (await getPermissionLevel(user, client) === 10) { return message.reply('Vous ne pouvez pas ban un membre owner'); } if (await getPermissionLevel(message.author, client) !== 11 || await getPermissionLevel(message.author, client) !== 10) { if (await getPermissionLevel(user, client) >= await getPermissionLevel(message.author, client)) { return message.reply('Vous ne pouvez pas ban un membre avec une permission égale ou supérieure à la votre'); } } try { await message.guild.members.ban(user, { reason: args.slice(1).join(' ')+` : ${message.author.tag}` || `Aucune raison spécifiée : ${message.author.tag}` }); message.channel.send(`L'utilisateur ${user.username} a été banni.`); } catch { message.reply(`Une erreur s'est produite lors de la tentative de bannissement de ${user.username}.`); } }, };