【问题标题】:How do I make my Discord bot edit its message?如何让我的 Discord 机器人编辑其消息?
【发布时间】:2021-09-19 08:36:18
【问题描述】:

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

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

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

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

【问题讨论】:

  • 这能回答你的问题吗? How to edit an Embed in JDA
  • 它没有完全回答我的问题,并且/或者对我来说效果不佳。抱歉,它没有回答我的问题。

标签: java discord discord-jda


【解决方案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

【讨论】:

  • 谢谢,对你有很大帮助
猜你喜欢
  • 2021-05-24
  • 2021-03-22
  • 2022-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-16
  • 2019-09-16
相关资源
最近更新 更多