首页 > 解决方案 > 如何在 JDA 中编辑嵌入

问题描述

所以我想知道如果我用我的 Bot 发送嵌入内容,我可以在之后用 Bot 编辑它吗?如果可能的话,请告诉我该怎么做。

这是我到目前为止的代码,但不知道之后如何编辑该 EmbedBuilder:

public class Giveaway extends ListenerAdapter {

    @Override
    public void onMessageReceived(MessageReceivedEvent event) {
        if (event.getMessage().getContentDisplay().startsWith("+giveaway")) {
            if (event.getMessage().getContentDisplay().substring(10, 11) != null) {

                long msgid = event.getMessageIdLong();
                String count = event.getMessage().getContentDisplay().substring(10, 11);    

                EmbedBuilder eb = new EmbedBuilder();
                eb.setTitle("It's GIVEAWAY-TIME!");
eb.setDescription("Prize: " + "\n Winners: " + count);
                eb.setColor(Color.BLUE);
                event.getTextChannel().sendMessage(eb.build()).queue();
            }
        }
    }
}

所以要清楚,我想做的是事后在消息中添加一个页脚,并在某些情况下更改描述。

我已经尝试了一些东西,但我还没有提出解决方案。

如果你回答会很好。

亲切的问候,lxxrxtz

标签: javabotsdiscordembed

解决方案


您可以保留嵌入构建器并创建新的嵌入:

eb.setFooter(...);
MessageEmbed embed = eb.build();

然后你所要做的就是message.editMessage(embed).queue()用你想编辑的消息打电话。您可以从以下回调中访问消息sendMessage

channel.sendMessage(embed).queue(message -> {
  eb.setFooter(...);
  message.editMessage(eb.build()).queue();
});

推荐阅读