我正在尝试使用Discord4J库实现一个Discord机器人。目前,我设法使bot响应一些简单的命令,例如ping或让它说话。

我正在尝试查看我发现的所有教程,但它们都没有显示如何实际回复消息。

这是我用来使bot发送消息的代码的一个示例

@PostMapping("/say")
public @ResponseBody String say(
    @RequestParam("message") String message,
    @RequestParam("channelId") String channelID,
    @RequestParam("replyMessageId") String replyMessageId
) { 
    Message messageToReply = client.getMessageById(Snowflake.of(channelID), Snowflake.of(replyMessageId)).block();
        
    client.getChannelById(Snowflake.of(channelID)).ofType(MessageChannel.class)
    .flatMap(channel -> channel.createMessage(message)).subscribe();
        
    return "OK";
}

我想使用我检索的消息,以便我创建的答复。

我尝试查看文档以及在创建后可以调用的所有功能,但我什么都没找到。

分析解答

通过添加.withMessAgeReference(...),您可以指定要回复的消息的ID,您无需收到消息:

channel.createMessage(message).withMessageReference(Snowflake.of(replyMessageId))