首页 > 解决方案 > 如何获取每个成员的权限

问题描述

var list = await client.guilds.cache.get(guild.id);
list.members.cache.array().forEach((member) => {
    let Member = member.id;
    if (guild.me.hasPermission("BAN_MEMBERS") && guild.me.roles.highest.rawPosition > Member.roles.highest.rawPosition) {
        console.log(`--------------Members--------------\n${Member.tag} | can be banned`);
    }
    if (guild.me.hasPermission("BAN_MEMBERS") && guild.me.roles.highest.rawPosition < Member.roles.highest.rawPosition) {
        console.log(`${Member.tag} | cant be banned`);
    }
})

我已经尝试过这段代码,它处于就绪事件中,所以它告诉我可以禁止哪些用户,是的,公会已被定义为forEach,因此它会获取每个公会。

标签: javascriptdiscord.js

解决方案


这可能会起作用:

let guild = client.guilds.cache.get('…');
let info = guild.members.cache.map(m => `${m.user.tag} ${m.bannable ? 'can be banned' : 'cannot be banned'}`);
//info is array

推荐阅读