我正在尝试使用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))