我想对discord.js进行切换,在该位置上,当用户已经拥有提到的角色时,该角色将被删除;如果他没有该角色,则该角色将被附加。所以这里的代码是
let tempRole = message.guild.roles.find("name", args);
if(message.member.roles.has(tempRole)) {
console.log(`User has the role`);
}
args是命令参数的数组,例如“!role [带空格的角色名称]”
因此,如果我具有角色“ Test”,并且键入“!role Test”,它将输出“ User has the role”
那么如果用户没有该角色,相反的代码又如何呢?
因为
else if(message.member.roles.has(!tempRole)) {
console.log(`User has not the role`);
}
并不是很有效,但是'!'我唯一知道否定结果的东西
最佳答案
!
运算符会否定在右侧找到的任何内容,在您的情况下,您只是在否定tempRole
,但是您真正想要的是否定has
调用的结果,如下所示:
!message.member.roles.has(tempRole)
但是,由于已经有一个
if
语句验证用户是否具有您可以使用else
的角色。let tempRole = message.guild.roles.find("name", args);
if(message.member.roles.has(tempRole)) {
console.log(`User has the role`);
} else {
console.log(`User has not the role`);
}
甚至使用三元运算符更短
message.member.roler.has(tempRole)
? console.log('User has the role')
: console.log(`User has not the role`);
关于javascript - 否定JavaScript中的变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50451049/