Discord JS V12 问题检查用户是不是已经拥有角色
Posted
技术标签:
【中文标题】Discord JS V12 问题检查用户是不是已经拥有角色【英文标题】: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)
【问题讨论】:
【参考方案1】:你真的很亲密。您所要做的就是将member.roles.cache.has(role)
换成member.roles.cache.has(role.id)
。
参考:https://anidiots.guide/understanding/roles
【讨论】:
以上是关于Discord JS V12 问题检查用户是不是已经拥有角色的主要内容,如果未能解决你的问题,请参考以下文章
如何检查我的机器人是不是可以在 discord.js v12 中添加角色?
如何检查成员是不是可以在 discord.js v12 中被踢/禁止?