如何让我的 Discord 机器人编辑它的消息?

How do I make my Discord bot edit its message?

我有 2 个 Message(具体是 2 个 EmbedBuilder),我希望机器人发送第一个 Message,然后将其编辑为第二个 Message单击按钮。

EmbedBuilder one = new EmbedBuilder();
EmbedBuilder two = new EmbedBuilder();
one.setTitle("1");
two.setTitle("2");

机器人将 sendMessage(one.build()).queue(),然后它会向嵌入添加一个按钮(在我的例子中),如果用户单击该按钮,嵌入将被编辑为 two

我已经阅读了文档,但没有得到太多信息,所以我认为 Stack Overflow 会有所帮助。

这可以通过发送消息并为 ButtonClickEvent 添加侦听器来完成。

  1. 使用按钮发送消息
public void sendMenu(MessageChannel channel) {
  channel.sendMessage("Page 1")
    .setActionRow(Button.secondary("page:2", "Next")) // add a button with id "page:2" which we can use later
    .queue();
}
  1. 侦听具有该自定义 ID 的按钮
public class MyListener extends ListenerAdapter {
  @Override
  public void onButtonClick(ButtonClickEvent event) {
    if (event.getComponentId().equals("page:2")) {
      event.editMessage("Page 2")
        .setActionRow(Button.secondary("page:3", "Next")) // update button id
        .queue();
    }
  }
}

您应该阅读此页面以了解更多详细信息:Interactions