Discord JS V12问题检查用户是否已经有角色



我有一个命令,我的机器人应该给我在消息中提到的人一个角色,机器人给用户一个角色。然而,当我对已经担任该角色的人运行命令时,它不会停下来说";用户已经具有角色";,它继续并且说它是CCD_ 1。

这是我的代码:

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)
}
}
}

你真的很接近。您所要做的就是用member.roles.cache.has(role.id)替换member.roles.cache.has(role)

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

相关内容

最新更新