【问题标题】:Converting UserID to Member object [DISCORD4J]将 UserID 转换为成员对象 [DISCORD4J]
【发布时间】:2021-11-19 20:52:25
【问题描述】:

我目前使用 Discord4j 在 Java 中编写 Discord 机器人。现在,我想获取提到的用户 ID(已经这样做了)并将它们转换为 Member 对象,但我不知道该怎么做。

这是我目前的代码:

public static void run(MessageCreateEvent event) {
    if(event.getMessage().getUserMentionIds().toString() == "[]") {
        Utils.sendMessageToChannel("ERROR: No User got mentioned.", event);
    }
    Snowflake userMentions = Snowflake.of(event.getMessage().getUserMentionIds().toString());
    Member member = new Member(userMentions);
}

【问题讨论】:

    标签: member userid discord4j


    【解决方案1】:

    Discord4J 不允许在其实体和大多数对象上使用构造函数。这是因为所有实体都是根据缓存中的数据和/或不和谐的休息请求构建的。

    要从用户 ID 中获取成员,您需要执行以下操作:

    GatewayDiscordClient#getMemberById(guildId, userId).block();
    

    如果您只想要用户,因为会员要求该人在公会中:

    GatwayDiscordClient#getUserById(userId).block();
    

    您也可以通过(平面)映射 Mono(s) 来被动地做到这一点。

    【讨论】:

      猜你喜欢
      • 2011-11-03
      • 1970-01-01
      • 2023-03-06
      • 2021-07-05
      • 1970-01-01
      • 1970-01-01
      • 2020-03-08
      • 1970-01-01
      • 2023-04-03
      相关资源
      最近更新 更多