【发布时间】:2017-06-22 20:17:31
【问题描述】:
我正在使用 discord.js/node 编写一个 Discord 机器人(我还很新)。
我试图设置一个权限系统,您需要一个特定的角色来使 if 语句返回 true 并允许用户使用命令或其他东西。我试过了(这只是其中的一部分):
if(message.author.roles.includes('role_id') {
COMMANDS
}
但它只是给我控制台中的错误(显然)
如果你们中的任何人知道如何正确以有效的方式设置权限系统,那将不胜感激!
【问题讨论】:
-
Discord.js
message.author对象不包含成员roles。见:discord.js.org/#/docs/main/stable/class/User -
是的,我再次查看了文档并尝试使用
.member(它代表具有roles属性的GuildMember类)而不是.author。但是还是不行。 -
Roles 看起来像一个集合,所以你需要使用他们的
.exists()方法。我认为默认情况下它不是一个数组,但不要引用我的话。 discord.js.org/#/docs/main/stable/class/… -
我做了
if(message.member.roles.exists(role_id)),但它崩溃了,给了我一个错误。文档说在检查项目 ID 时使用.has()而不是.exists(),并且.has()有效。
标签: javascript discord discord.js