Discord.js 检查用户是不是具有第一个角色或第二个角色不起作用
Posted
技术标签:
【中文标题】Discord.js 检查用户是不是具有第一个角色或第二个角色不起作用【英文标题】:Discord.js checking if user has the fiirst role or the second role isn't workingDiscord.js 检查用户是否具有第一个角色或第二个角色不起作用 【发布时间】:2021-07-06 02:06:10 【问题描述】:我正在尝试使用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) 的角色时,返回消息才会发送给他们,所以我尝试输入 @ 987654323@ 在两个!message.member.roles.cache.find
上,但它也不起作用,即使它们具有任何角色,它也会继续返回消息,它还会返回不是employeeOnly 的命令的消息,如果他们真的很烦人,同样会发生两个角色都有
【问题讨论】:
【参考方案1】:你可以这样做,...cache.find(c => c.id === '745410836901789749' || c.id==='812698943288246283');
。在 if 语句中,您使用两种类型的条件运算符。所以对于你的情况,它不会工作。所以在 find() 方法中使用OR
操作符。
【讨论】:
以上是关于Discord.js 检查用户是不是具有第一个角色或第二个角色不起作用的主要内容,如果未能解决你的问题,请参考以下文章
如何检查用户是不是具有特定角色 discord.js v12? [复制]
如何使用 Discord.js 检查消息作者是不是具有管理员角色?