JDA 4.2 如何获取所有具有特定角色的用户?
JDA 4.2 how to get all users that have a specific role?
我希望收到来自具有特定角色的公会的所有不和谐用户。
由于.getGuild().getMembersWithRoles([role]);
只搜索缓存的用户我不知道该怎么做。
请注意,discord 服务器有数千名用户,因此缓存所有内容会很糟糕。
我搜索了类似的内容:JDABot.retrieveUserByRole([role]);
但没有找到任何内容。
JDA 版本:4.2.0_214-withDependencies
您需要使用 Guild#findMembers(Predicate)
看起来像这样:
List<Member> members = guild.findMembers(member -> {
if (member.getRoles().contains(role)){
return true;
}
return false;
}).get();
在此处阅读有关 Guild#findMembers(Predicate)
的更多信息:https://ci.dv8tion.net/job/JDA/javadoc/net/dv8tion/jda/api/entities/Guild.html#findMembers(java.util.function.Predicate)
我希望收到来自具有特定角色的公会的所有不和谐用户。
由于.getGuild().getMembersWithRoles([role]);
只搜索缓存的用户我不知道该怎么做。
请注意,discord 服务器有数千名用户,因此缓存所有内容会很糟糕。
我搜索了类似的内容:JDABot.retrieveUserByRole([role]);
但没有找到任何内容。
JDA 版本:4.2.0_214-withDependencies
您需要使用 Guild#findMembers(Predicate)
看起来像这样:
List<Member> members = guild.findMembers(member -> {
if (member.getRoles().contains(role)){
return true;
}
return false;
}).get();
在此处阅读有关 Guild#findMembers(Predicate)
的更多信息:https://ci.dv8tion.net/job/JDA/javadoc/net/dv8tion/jda/api/entities/Guild.html#findMembers(java.util.function.Predicate)