Je suis en train d'essayer de créer une commande kicka mais ça ne fonctionne pas à cause de cette erreur que je reçois : "(node:13848) UnhandledPromiseRejectionWarning: TypeError: message.member.roles.some n'est pas une fonction"
Mon code `client.on('message', async message => { if (!message.content.startsWith(prefix) || message.author.bot) return;
const args = message.content.slice(prefix.length).split(/ +/);
const command = args.shift().toLowerCase();
if(command === "kick") {
if(!message.member.roles.some(r=>["Administrator", "Moderator"].includes(r.name)) )
return message.reply("Désolé, vous n'avez pas la permission d'utiliser cette commande !");
let member = message.mentions.members.first() || message.guild.members.get(args[0]);
if(!member)
return message.reply("Veuillez mentionner un membre valide de ce serveur");
if(!member.kickable)
return message.reply("Je ne peux pas expulser cet utilisateur ! Ont-ils un rôle plus élevé ? Ai-je les permissions pour expulser ?");
let reason = args.slice(1).join(' ');
if(!reason) reason = "Aucune raison fournie";
await member.kick(reason)
.catch(error => message.reply(`Désolé ${message.author} je n'ai pas pu expulser à cause de : ${error}`));
message.reply(`${member.user.tag} a été expulsé par ${message.author.tag} car : ${reason}`);
}});`
0 votes
J'ai oublié de dire que j'obtiens l'erreur en essayant d'exécuter la commande de kick!
0 votes
Si
message.member.roles.some
n'est pas une fonction, cela signifie quemessage.member.roles
n'est pas un tableau. Vérifiez ce que c'est, en faisantconsole.log
, par exemple.