java - 如何在 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
解决方案
您可以保留嵌入构建器并创建新的嵌入:
eb.setFooter(...);
MessageEmbed embed = eb.build();
然后你所要做的就是message.editMessage(embed).queue()
用你想编辑的消息打电话。您可以从以下回调中访问消息sendMessage
:
channel.sendMessage(embed).queue(message -> {
eb.setFooter(...);
message.editMessage(eb.build()).queue();
});
推荐阅读
- powershell - 运行选项后 PowerShell 返回菜单
- python - self.assertContains 失败;在响应中找不到 *word*
- c++ - wxWidgets 菜单栏不显示
- sql - 它如何从 SQL 中的另一个视图中工作?
- reactjs - 在静态反应应用程序中传递图像的最佳方式
- qnx - QNX 6.5 - 为 MIB2 重新打包 ifs 根阶段 2
- java - Java旋转缓冲图像被切断
- php - PHP 从预填充的下拉菜单中插入表单数据
- r - 我错过了一些更漂亮的方式吗?使用 NHSDataDictionaRy 中的 tibble 重构 tibble
- python - Python KIvy 旋转矩形在调整大小时移动