mirror of
https://github.com/arthur-pbty/gestion.git
synced 2026-06-12 00:04:35 +02:00
grand commit que tutur attend ( marche pas le raidmode en dev)
sinon il y a pleins de truc comme les anti raid , des coorectif ect
This commit is contained in:
+49
-38
@@ -1,42 +1,53 @@
|
||||
const { EmbedBuilder, User } = require("discord.js")
|
||||
const { getPermissionLevel } = require('../../fonction/getPermissionLevel');
|
||||
const { getPermissionLevel2 } = require('../../fonction/getPermissionLevel');
|
||||
|
||||
module.exports = {
|
||||
name: 'kick',
|
||||
aliases: ['expulse'],
|
||||
description: 'Kick a member',
|
||||
emote: '🚫',
|
||||
utilisation: 'kick <@member> [reason]',
|
||||
category: 'moderation',
|
||||
name: 'kick',
|
||||
description: 'Expluser un membre',
|
||||
emote: '🚫',
|
||||
utilisation: 'kick <@member> [reason]',
|
||||
category: 'moderation',
|
||||
|
||||
async execute(message, args, client) {
|
||||
const member = message.mentions.members.first();
|
||||
const reason = args.slice(1).join(' ') || 'Aucune raison spécifiée';
|
||||
if (!member) {
|
||||
return message.reply('Veuillez mentionner un membre à kick');
|
||||
}
|
||||
if (member.id === message.author.id) {
|
||||
return message.reply('Vous ne pouvez pas vous kick vous même');
|
||||
}
|
||||
if (member.id === client.user.id) {
|
||||
return message.reply('Vous ne pouvez pas me kick');
|
||||
}
|
||||
if (await getPermissionLevel(member, client) === 11) {
|
||||
return message.reply('Vous ne pouvez pas kick un membre buyer');
|
||||
}
|
||||
if (await getPermissionLevel(member, client) === 10) {
|
||||
return message.reply('Vous ne pouvez pas kick un membre owner');
|
||||
}
|
||||
if (await getPermissionLevel(message.member, client) !== 11 || await getPermissionLevel(message.member, client) !== 10) {
|
||||
if (await getPermissionLevel(member, client) >= await getPermissionLevel(message.member, client)) {
|
||||
return message.reply('Vous ne pouvez pas kick un membre avec une permission égale ou supérieure à la votre');
|
||||
}
|
||||
}
|
||||
|
||||
member.kick(`${reason} : ${message.author.tag}`).then(() => {
|
||||
message.reply(`${member.user.tag} a bien été kick`);
|
||||
}).catch((err) => {
|
||||
message.reply(`Une erreur est survenue lors du kick de ${member.user.tag}`);
|
||||
});
|
||||
},
|
||||
async execute(message, args, client) {
|
||||
const userId = message.mentions.users.first()?.id || args[0];
|
||||
const guildId = message.guild.id;
|
||||
const user = await message.guild.members.fetch(userId).catch(error => {
|
||||
return null;
|
||||
});
|
||||
const author = await message.guild.members.fetch(message.author.id).catch(error => {
|
||||
return null;
|
||||
});
|
||||
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 kick vous même');
|
||||
}
|
||||
if (user.id === client.user.id) {
|
||||
return message.reply('Vous ne pouvez pas me kick');
|
||||
}
|
||||
const permissionMember = await getPermissionLevel2(user, client, guildId);
|
||||
if (permissionMember === 11) {
|
||||
return message.reply('Vous ne pouvez pas kick un membre buyer');
|
||||
}
|
||||
if (permissionMember === 10) {
|
||||
return message.reply('Vous ne pouvez pas kick un membre owner');
|
||||
}
|
||||
const permissionAuthor = await getPermissionLevel2(message.author, client, guildId);
|
||||
if (permissionAuthor !== 11 && permissionAuthor !== 10) {
|
||||
if (permissionMember >= permissionAuthor) {
|
||||
return message.reply('Vous ne pouvez pas kick un membre avec une permission égale ou supérieure à la votre');
|
||||
}
|
||||
}
|
||||
if(user.roles.highest.position >= author.roles.highest.position && permissionAuthor !== 11 && permissionAuthor !== 10) {
|
||||
return message.reply('Vous ne pouvez pas kick un membre avec un role égale ou supérieure à la votre');
|
||||
}
|
||||
try {
|
||||
const reason = args.slice(1).join(' ') || `Aucune raison spécifiée : ${message.author.tag}`;
|
||||
await user.kick(reason);
|
||||
message.channel.send(`L'utilisateur ${user.user.username} a été kick.`);
|
||||
} catch {
|
||||
message.reply(`Une erreur s'est produite lors de la tentative de kick de ${user.user.username}.`);
|
||||
}
|
||||
},
|
||||
};
|
||||
Reference in New Issue
Block a user