如何从 Discord JDA 中的 Discord 标签中获取用户?

时间:2021-02-11 17:17:36

标签: discord-jda

有没有办法从他们的不和谐标签中找到某人的 ID?注意:他们在某个公会中,如果有帮助的话,我有 ID。

1 个答案:

答案 0 :(得分: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
  }
});