将 UserID 转换为成员对象 [DISCORD4J]

Converting UserID to Member object [DISCORD4J]

我目前使用 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);
}

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

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

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

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

GatwayDiscordClient#getUserById(userId).block();

您也可以通过(平面)映射 Mono(s) 来响应地执行此操作。