【发布时间】:2021-01-02 01:44:33
【问题描述】:
我正在尝试在 Discord.js 中创建一个读取用户拥有哪些权限的命令。例如,你可以这样做
$permissions @user
它会返回如下内容:
"此公会的用户权限为:"
等等。我不确定这是否可能,但如果是的话,我将不胜感激一些关于我可以从哪里开始的指导!
【问题讨论】:
标签: javascript node.js discord discord.js
我正在尝试在 Discord.js 中创建一个读取用户拥有哪些权限的命令。例如,你可以这样做
$permissions @user
它会返回如下内容:
"此公会的用户权限为:"
等等。我不确定这是否可能,但如果是的话,我将不胜感激一些关于我可以从哪里开始的指导!
【问题讨论】:
标签: javascript node.js discord discord.js
这是可能的,因为 discord.js 有一个所有可用权限的列表,所以你循环它们并检查用户是否有权限或没有权限。
const Discord = require('discors.js');
const client = new Discord.Client();
client.login('token');
client.on('message', (message) => {
if (message.content === 'list-permissions') {
// get the list of permissions
const permissions = Object.keys(Discord.Permissions.FLAGS);
message.channel.send(
'Permissions of ' + message.author.username + '\n\n' +
permissions.map((perm) => {
return message.member.hasPermission(perm) ? `${perm}: YES` : `${perm}: NO`
}).join('\n');
);
}
});
这将返回如下内容:
Androz2091 的权限
MANAGE_MESSAGES:是
BAN_MEMBERS:没有
KICK_MEMBERS:是的
等等……
【讨论】:
您可以使用GuildMembers#permissions 来做到这一点。
“此成员的整体权限集,仅考虑角色”
【讨论】: