我一直在 Discord 上开发《命运 2》Raidbot。在这里我遇到了一个问题,我还没有找到解决方案。
我的问题:正确嵌入但出现错误消息, 输入 / 命令后,嵌入会立即发送。
到目前为止我的代码:
event.getChannel().sendMessageEmbeds(mb) // Mb is a simple created MessageEmbed
.setActionRow(List.of( // Here are normally some buttons as you see in the image above
)).queue(message -> { // Here I want to extract the messageId from the freshly created message by the Discord bot
String messageId = message.getId();
postMap.put(messageId, new Post(event.getUser().getId(), raid.getPlayerCount())); // messageId gets saved in a map for later use
}
);
作为可能导致问题的进一步信息:我有一个保存代码的 SlashHandler (希望)结构清晰且可读(=.
public Listener(List<Slash> slashList) {
slashList.forEach(v -> SLASHMAP.put(v.getName(), v));
}
@Override
public void onSlashCommandInteraction(@NotNull SlashCommandInteractionEvent event) {
SLASHMAP.get(event.getName()).onSlashCommandEvent(event, POSTMAP);
}
我已经尝试过:
我添加了第二个 event.reply()。这阻止了交互失败/不响应。
event.reply("").queue();
event.getChannel().sendMessageEmbeds(mb).queue(message -> { // Here I want to extract the messageId from the freshly created message by the Discord bot
String messageId = message.getId();
});
)
这不是一个优雅的解决方案,但目前似乎可行。