JDA 4.2如何获得所有具有特定角色的用户?

时间:2020-11-12 11:48:42

标签: discord roles discord-jda

我希望从公会中接收具有特定角色的所有不和谐用户。

由于.getGuild().getMembersWithRoles([role]);仅搜索缓存的用户,因此我不知道该怎么做。 请注意,不和谐的服务器有数千名用户,因此缓存所有内容都是不好的。

我搜索了类似JDABot.retrieveUserByRole([role]);的内容,但没有找到任何内容。

JDA版本:4.2.0_214-withDependencies

1 个答案:

答案 0 :(得分:0)

您将要使用Guild#findMembers(Predicate)

它看起来像这样:

List<Member> members = guild.findMembers(member -> {
    if (member.getRoles().contains(role)){
        return true;
    }
    return false;
}).get();

https://ci.dv8tion.net/job/JDA/javadoc/net/dv8tion/jda/api/entities/Guild.html#findMembers(java.util.function.Predicate)上了解有关Guild#findMembers(Predicate)的更多信息