我正在尝试为我的 Disc 机器人创建一个命令,并尝试使其与 Angular 色相关。
我浏览过这个网站上的其他问题,但它们都是用Python而不是JS;在discord.js 上,他们的示例与我想要做的完全不同。到目前为止,一切都工作得很好,只是当它到达这部分时(没有任何高于或低于此的东西)
if (message.member.roles.name == "Owner") {
return message.reply("You can use this command!")
}
if (message.member.roles.name != "Owner") {
return message.reply("Sorry, an error occurred.")
}
我希望能够看到“您可以使用此命令!
最佳答案
问题是 message.member.roles
不会是单个项目,它将是用户拥有的 Angular 色的集合,因此您需要搜索 Angular 色来检查用户是否有 Angular 色。
您可以使用.find()
函数来查看用户是否具有 Angular 色。它需要一个传递 r
(作为 Angular 色)的函数(在本例中为 lambda 函数),并检查 r.name
是否等于您的 Angular 色(在本例中)案例,业主)
if(message.member.roles.find(r => r.name === "Owner")){
return message.reply("You can use this command!")
} else {
return message.reply("Sorry, an error occurred.")
}
关于javascript - Discord 机器人的特定角色命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58385967/