Discord.js 检查用户是否具有第一个角色或第二个角色不起作用

时间:2021-04-10 11:31:40

标签: node.js discord.js

我正在尝试使用 if(command.employeeOnly) //blah blah 让我的机器人检查命令是否具有“employeeOnly”为真,但这里的问题是角色检查它应该检查他们是否具有第一个角色或第二个角色

if (command.employeeOnly && !message.member.roles.cache.find(c => c.id === '745410836901789749') || message.member.roles.cache.find(c => c.id === '812698943288246283')) {
        return message.reply("You need taco stand employee or Bot Employee role to use that command")
    }

使用当前代码,只有当他们只有 ID 为 (745410836901789749) 的第一个角色时才有效,但如果他们有 ID 为 (812698943288246283) 的第二个角色,则返回消息会发送给他们,因此我尝试将 { {1}} 在两个 ! 上,但它不起作用,即使它们具有任何角色,它也只会返回消息,它还会返回不是employeeOnly 的命令的消息,这真的很烦人如果他们同时拥有两个角色,也会发生同样的情况

1 个答案:

答案 0 :(得分:1)

你可以这样做,...cache.find(c => c.id === '745410836901789749' || c.id==='812698943288246283');。在 if 语句中,您使用了两种类型的条件运算符。所以对于你的情况,它不起作用。因此,请在 find() 方法中使用 OR 运算符。