Discord.js API 中的权限?

Permissions in Discord.js API?

我正在用 discord 编写一个 Discord 机器人。js/node(我是新手)。 我试图设置一个权限系统,您需要一个特定的角色才能使 if 语句 return 为真并允许用户使用命令或其他东西。我试过了(这只是其中的一部分):

if(message.author.roles.includes('role_id') {
   COMMANDS
   }

但它只是让我在控制台中出错(很明显)

如果你们中有人知道如何正确设置权限系统,我们将不胜感激!

用户有一个hasRole方法:http://discordjs.readthedocs.io/en/8.2.0/docs_user.html

hasRole(role)

Shortcut of client.memberHasRole(member, role)

See client.memberHasRole

其中 link 到此:http://discordjs.readthedocs.io/en/8.2.0/docs_client.html#memberhasrole-member-role

memberHasRole(member, role)

Returns if a user has a role

你试过这样做吗?

 if (!message.member.roles.some(r=>["role_name"].includes(r.name)) ) 
    return;

这将阻止所有用户使用该特定命令,除非他们具有指定的角色。

要使用 if 条件实现此目的:if(message.member.roles.has([role_id])) 其中 [role_id] 是一个字符串(否则它总是 return false)