【问题标题】:JDA 4.2 how to get all users that have a specific role?JDA 4.2 如何获取具有特定角色的所有用户?
【发布时间】:2021-02-24 10:11:33
【问题描述】:

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

由于.getGuild().getMembersWithRoles([role]); 只搜索缓存的用户,我不知道该怎么做。 请注意,discord 服务器有数千个用户,因此缓存所有内容会很糟糕。

我搜索了类似:JDABot.retrieveUserByRole([role]); 但没有找到任何东西。

JDA 版本:4.2.0_214-withDependencies

【问题讨论】:

    标签: discord roles discord-jda


    【解决方案1】:

    你会想要使用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)

    【讨论】:

      猜你喜欢
      • 2016-06-18
      • 1970-01-01
      • 1970-01-01
      • 2014-08-31
      • 1970-01-01
      • 2021-10-06
      • 1970-01-01
      • 2014-08-06
      • 1970-01-01
      相关资源
      最近更新 更多