Доступ к команде Kick для всех

#javascript #discord #discord.js

Вопрос:

Итак, приведенный ниже код-мой Kick.js но я хочу, чтобы роль мод могла использовать только команду kick

 module.exports = {
    name: 'kick', //command name run : async(client,
message, args) => {
        if (!message.guild.me.hasPermission('KICK_MEMBER')) return message.channel.send('I do not have permission to use this command
 :joy: ');
         // Basically checks if the bot has permission to kick a member or not

         //Lets define the guildmember to kick!

         const Member = message.mentions.members.first() //checking for member mentions
         if (!Member) return message.channel.send('Please specify a member to kick.....');
        // if there is no user then it will return with that message 
await Member.kick({ reason: args.slice(1).join(" ")})
        // args.slice(1).join(" ") means it slices the Member Variable and takes the text after it.
message.channel.send(`${ Member.user.tag}
            was kicked from the server!`)
        // above message will be sent when the member is kicked from the server.
    }
}

 

Комментарии:

1. Убедитесь, что только роль мод имеет разрешение KICK_MEMBER.

Ответ №1:

Проверьте наличие разрешений message.member

 if(!message.member.hasPermission("KICK_MEMBERS")) 
   return message.reply("You don't have enough permissions for kick")
 

Если вы хотите проверить наличие определенной роли

 if(!message.member.roles.cache.has(modRole)) 
   return message.reply("You aren't a Mod")
 

Комментарии:

1. Второй пример не работает в Диссонансе. JS v12 больше нет.