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

时间:2021-07-08 21:59:40

标签: java discord discord-jda

我有 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 会有所帮助。

1 个答案:

答案 0 :(得分:1)

这可以通过发送消息并为 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