【问题标题】:Get a list of members with a Role | Discord.JS获取具有角色的成员列表 |不和谐.JS
【发布时间】:2020-11-22 03:00:39
【问题描述】:

所以,我想创建一个类似.getuser @role 的命令,然后机器人用该角色标记每个用户,并在它显示x people have this role. 之后。

问题是我在任何地方都找不到类似的东西,我希望有人能帮助我,因为我在这个上不走运!

【问题讨论】:

    标签: javascript node.js discord discord.js roles


    【解决方案1】:

    你可以使用roles.get()

    members = message.guild.roles.cache.find(role => role.name === 'role name').members.map(m=>m.user.tag);
    

    编辑: 我收到了很多消息,声称该机器人不准确地显示了哪些成员具有哪些角色。这是因为不和谐使用缓存来获取有关角色的信息。要解决此问题,请执行以下操作...

    1. 通过https://discord.com/developers/applications 导航到您的应用程序
    2. 转到机器人部分
    3. 打开“服务器成员意图”

    这将使您的不和谐机器人不会从缓存中获取来自 api 的成员数据。

    【讨论】:

    • 大概是这样,但我不知道如何实际实现它,非常感谢!
    • @Andrei Cristian TUDOR 你需要帮助来实现它吗?
    • 老实说,是的,但我不想问你更多,如果你完全没问题,我真的很感激,但请不要浪费太多时间
    • 你只要在不和谐Levi_OP#1277 上加我,没问题。仅仅因为帮助堆栈交换上的人,我已经添加了大约 15 个不和谐的人
    【解决方案2】:
    let membersWithRole = guild.roles.resolve('role_ID').members.size
    

    基本上,我们通过其 ID 从公会获取特定角色,然后我们会看到该角色的成员集合的大小。

    【讨论】:

    • 好吧,这只是它的最后一部分,真正的问题是给每个人标记这个角色,并使你的代码模块化每个等级,无论如何感谢!
    • 标记每个人,你可以在成员集合中循环,并使代码模块化,你可以用message.mentions.roles.first()替换role_ID
    猜你喜欢
    • 2021-02-16
    • 2018-10-22
    • 2021-11-18
    • 1970-01-01
    • 2020-10-24
    • 2020-12-05
    • 2021-06-19
    • 2010-09-17
    • 2021-01-18
    相关资源
    最近更新 更多