【发布时间】:2021-03-17 04:38:53
【问题描述】:
我正在尝试使用另一个嵌入来编辑消息的嵌入。当我这样做时,图像再次出现在编辑嵌入顶部的聊天中。有没有办法防止这种情况发生?
@Override
public void onGuildReady(@NotNull GuildReadyEvent event) {
super.onGuildReady(event);
String fileName = "image.png";
Guild guild = event.getGuild();
InputStream in = getClass().getResourceAsStream("/someResource.png");
EmbedBuilder eb = new EmbedBuilder()
.setTitle("Title :")
.setDescription("Description")
.setImage("attachment://" + fileName)
.setColor(new Color(255, 204, 81));
guild.getTextChannels().get(0).sendMessage(eb.build()).addFile(in, fileName).queue(
message -> {
MessageEmbed me = message.getEmbeds().get(0);
message.editMessage(
new EmbedBuilder()
.setTitle(me.getTitle())
.setDescription(me.getDescription())
.setImage(me.getImage().getUrl())
.setColor(me.getColor())
.build()
).queue();
}
);
}
结果:
【问题讨论】:
-
尝试使用TextChannel#sendMessage(File, filename).embed(eb.build()).queue()
-
我很确定消息是这样的,因为您要发送文件两次,一次在
EmbedBuilder#setImage(String),一次在addFile(InputStream, String)。 -
@Redi 我猜你建议我使用 TextChannel#sendFile,如果是这样,它会产生与以前完全相同的结果。
-
@MrBorder,问题是图像仅在消息修改后出现两次。此外,我尝试在editMessage()之后调用MessageAction#clearFiles,它没有改变任何东西,文件仍然显示两次。消息编辑后可能无法使用最后一种方法。无论如何,问题仍然很奇怪,也许它与不和谐链接嵌入图像和文件的方式有关,在这种情况下,我将无法做任何事情来阻止它:'(
标签: java discord bots discord-jda