如何找到具有特定权限的角色?

时间:2020-07-12 04:06:43

标签: javascript discord.js

因此,我正在尝试创建一个不和谐的bot,并且该bot的命令之一需要我按允许的权限来过滤角色(或者,至少这是最简单的方法),而我可以似乎不知道该怎么做。我尝试了太多事情,甚至无法计数,目前,我正在寻找一种不同的方式。但是,如果有人对此有答案,那就太好了。

基本上我想这样做:

let staff = message.channel.guild.roles.cache.filter(s => s has this permission)

(显然是伪代码)

但是正如我所说,我似乎无法弄清楚。

            case 'staff':
    
            let staff = chan.guild.roles.cache.filter(m => m.permissions.has(Permissions.FLAGS.MANAGE_MESSAGES));

            
            //console.log(staff)

                message.guild.channels.create(Channel, 'text').then (
                    function() {
                        let ch = message.guild.channels.cache.find(ch=>ch.name === Channel)
                        ch.updateOverwrite(message.guild.id, { VIEW_CHANNEL : false });
                        ch.updateOverwrite(staff, { VIEW_CHANNEL : true })
                    }
                )
                type.stop()
            break;
    

此外,“ chan”是“ message.channel”的缩写版本。

1 个答案:

答案 0 :(得分:0)

这是您要找的吗?

let rolesWithManageMessagesPermission = 
    message.channel.guild.roles.cache.filter(r => r.permissions.has(Permissions.FLAGS.MANAGE_MESSAGES)