如何在JDA中编辑嵌入 [英] How to edit an Embed in JDA

查看:43
本文介绍了如何在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: " + "
 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();
});

这篇关于如何在JDA中编辑嵌入的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆