【问题标题】:Discord JS V12 issue checking if user already has roleDiscord JS V12 问题检查用户是否已经拥有角色
【发布时间】:2021-07-18 13:42:54
【问题描述】:

我有一个命令,我的机器人应该给我在消息中提到的人一个角色,机器人给用户这个角色就好了。但是,当我对已经拥有该角色的人运行命令时,它不会停止并说“用户已经拥有角色”,而是继续说added the role to the user

这是我的代码:

module.exports = {
    name: 'pm',
    description: 'sets pm',
    permissions: ['ADMINISTRATOR'],
    execute(client, message, args, Discord){
        try {
            
            let role = message.guild.roles.cache.get("role id");
            let member = message.mentions.members.first();
            if(!member) return message.channel.send('***Error:*** Please specify a user.');
            
            if(member.roles.cache.has(role)) {
                message.channel.send(`***Error:*** ${member} is already a PM.`)
            } else {
                member.roles.add(role);
                message.channel.send(`Added ${member}`)
            }


        } catch (e) {
            message.channel.send(`***Error:*** ${e}`)
            console.log(e)
        }
    }
}

【问题讨论】:

    标签: javascript node.js discord.js


    【解决方案1】:

    你真的很亲密。您所要做的就是将member.roles.cache.has(role) 换成member.roles.cache.has(role.id)

    参考:https://anidiots.guide/understanding/roles

    【讨论】:

      猜你喜欢
      • 2020-08-06
      • 2021-03-29
      • 2020-12-25
      • 2021-02-24
      • 2018-06-10
      • 2017-01-24
      • 2019-04-30
      • 1970-01-01
      • 2021-05-31
      相关资源
      最近更新 更多