Files
gestion/commands/moderation/ban.js
T

45 lines
1.7 KiB
JavaScript

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}.`);
}
},
};