如何在“就绪”时找到所有具有特定角色的成员?不和谐.js
Posted
技术标签:
【中文标题】如何在“就绪”时找到所有具有特定角色的成员?不和谐.js【英文标题】:How do I find all members with a specific role on 'ready'? Discord.js 【发布时间】:2021-06-19 08:57:19 【问题描述】:我知道以前有人问过这个问题,但我还没有为最新版本的 Discord.JS 找到可靠的答案。我想查找公会 hostGuild 中所有具有“xyz”角色的成员。
client.on('ready', () =>
const hostGuild = client.guilds.cache.get('822234110369595443');
//get users with role 'xyz'
);
【问题讨论】:
这能回答你的问题吗? How do I list all Members with a Role In Discord.Js 那是旧版本的 Discord.JS 它应该在 v12 中仍然可以工作。编辑:没关系你是对的...... 【参考方案1】:你试过.members.cache
吗?它看起来像这样:
const membersWithRole = hostGuild.members.cache.filter(m => m.roles.cache.has('roleid'));
编辑:它似乎不起作用,因为成员和角色没有被缓存。您需要在这里使用 async/await:
const allMembers = await hostGuild.members.fetch();
const membersWithRole = allMembers.filter(m => m.roles.cache.has('roleid'));
【讨论】:
以上是关于如何在“就绪”时找到所有具有特定角色的成员?不和谐.js的主要内容,如果未能解决你的问题,请参考以下文章
如何仅使用 discordjs v12 存储具有特定角色的成员的所有数据
如何让我的机器人忽略来自具有特定角色的人的消息? (不和谐.py)