如何在JDA中编辑嵌入

2022-02-26 00:00:00 discord bots embed java

所以我在想,如果我用我的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: " + "
 Winners: " + count);
                eb.setColor(Color.BLUE);
                event.getTextChannel().sendMessage(eb.build()).queue();
            }
        }
    }
}

为了清楚起见,我想做的是事后向邮件添加页脚,并在某些情况下更改描述。

我尝试了一些方法,但还没有想出解决方案。

如果您接电话就好了。

向您致以亲切的问候, 1xxrxtz


解决方案

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

eb.setFooter(...);
MessageEmbed embed = eb.build();
然后,您所要做的就是调用message.editMessage(embed).queue(),告诉您要编辑的消息。您可以在sendMessage

中通过回调访问消息
channel.sendMessage(embed).queue(message -> {
  eb.setFooter(...);
  message.editMessage(eb.build()).queue();
});

相关文章