Java Discord Bot - 获取角色成员?

Posted

技术标签:

【中文标题】Java Discord Bot - 获取角色成员?【英文标题】:Java Discord Bot - Get Members of a role? 【发布时间】:2020-07-31 23:25:41 【问题描述】:

我目前正在开发一个 java discord bot (net.dv8tion),我尝试创建一个“who”命令,该命令应该列出所选角色的人员,例如:!who admin --> list of所有具有“管理员”角色的人。所以我的问题是,我实际上找不到解决这个问题的方法或任何其他方法。 我希望你们中的一些人可以帮助我解决这个问题^^

我想过这样的事情,或者类似的事情:

list <> members = guild.getMembersByRole(roleName);

或:

role rolename;
String[] members = rolename.getMembers();

【问题讨论】:

【参考方案1】:

这可以通过两个步骤完成:

    获取目标角色 获取该角色的成员

要获得该角色,您可以使用getRolesByNamegetRoleById

例如:

List<Role> roles = guild.getRolesByName("admin", true);
Role role = guild.getRoleById(698231912904523796L);

获得角色后,您可以使用getMembersWithRoles

List<Member> members = guild.getMembersWithRoles(roles);

尽管角色正确,但如果结果成员列表为空或缺少成员,则可能未缓存成员。有关详细信息,请参阅this answer。

【讨论】:

非常感谢您的快速帮助,它运行良好^^

以上是关于Java Discord Bot - 获取角色成员?的主要内容,如果未能解决你的问题,请参考以下文章

Discord bot 不返回角色成员

discord.py bot 看不到成员

Discord.js 删除所有成员角色

Python Discord Bot - 在不同的服务器中获取用户角色

Discord Bot如何为自动进入服务器的新用户赋予角色

如何为加入 Discord 公会的新成员自动分配角色?