【问题标题】:Say what permissions a user has discord.js说出用户有什么权限 discord.js
【发布时间】:2021-01-02 01:44:33
【问题描述】:

我正在尝试在 Discord.js 中创建一个读取用户拥有哪些权限的命令。例如,你可以这样做

$permissions @user

它会返回如下内容:

"此公会的用户权限为:"

等等。我不确定这是否可能,但如果是的话,我将不胜感激一些关于我可以从哪里开始的指导!

【问题讨论】:

    标签: javascript node.js discord discord.js


    【解决方案1】:

    这是可能的,因为 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:是的 等等……

    【讨论】:

      【解决方案2】:

      您可以使用GuildMembers#permissions 来做到这一点。

      “此成员的整体权限集,仅考虑角色”

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-01-11
        • 2020-06-24
        • 2020-12-25
        • 2019-04-01
        • 1970-01-01
        • 2018-10-11
        • 2011-02-12
        相关资源
        最近更新 更多