首页 > 解决方案 > 如何让我的 Discord 机器人编辑其消息?

问题描述

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

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

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

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

标签: javadiscorddiscord-jda

解决方案


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

您应该阅读此页面以获取更多详细信息:交互


推荐阅读