【问题标题】:How do I get a user from their discord tag in Discord JDA?如何从 Discord JDA 中的 discord 标签中获取用户?
【发布时间】:2021-05-15 11:28:18
【问题描述】:

有没有办法从他们的不和谐标签中找到某人的 id?注意:他们在某个公会中,我知道这是否有帮助。

【问题讨论】:

    标签: discord-jda


    【解决方案1】:

    假设您的意思是带有 discord 标签的“Name#1234”

    直到this feature request 被discord 实现,你必须使用不同的方法。如果您缓存了所有成员,您可以简单地使用Guild#getMemberByTag。否则你必须使用Guild#retrieveMembersByPrefix,并希望同名用户不超过100:

    String name = tag.substring(0, tag.lastIndexOf('#'));
    guild.retrieveMembersByPrefix(name, 100).onSuccess(members -> {
      Member member = members.stream()
        .filter(m -> m.getUser().getAsTag().equals(tag))
        .findFirst()
        .orElse(null);
      if (member != null) {
        // use member here, it should be the member with that specific tag
      } else {
        // there are either more than 100 users with the same name or the member is not int he server
      }
    });
    

    【讨论】:

    • 感谢您的回答!我的服务器上肯定不会有 100 个用户具有相同的用户名,但是,有没有办法在机器人启动时缓存所有成员?
    • 把这个扔出去;记得接受能解决你问题的答案。
    猜你喜欢
    • 2021-02-06
    • 2021-05-25
    • 2021-05-17
    • 2019-05-06
    • 2021-06-02
    • 2021-04-19
    • 2023-03-28
    • 2021-07-26
    • 2020-08-09
    相关资源
    最近更新 更多