JDA-如何获取EmbedMessage作为对象?

时间:2020-08-05 16:06:38

标签: discord-jda

如何获取嵌入消息?我想获得已经发布到聊天中的嵌入消息的页脚。谢谢!

2 个答案:

答案 0 :(得分:0)

您收到任何其他消息的方式相同。嵌入只是消息的一个组成部分,您可以使用Message#getEmbeds获取嵌入列表。

要获取消息,您可以使用retrieveMessageById

答案 1 :(得分:0)

这取决于您如何提取消息:

如果您使用反应或编辑事件(取决于您提取消息的方式),则可能使用:

    @Override
    public void onGuildMessageReactionAdd(@Nonnull GuildMessageReactionAddEvent event) {
        event.getChannel().retrieveMessageById(event.getMessageId()).queue(p -> {
            if (p.getEmbeds().size() > 0) {
                if (p.getEmbeds().get(0) != null) {
                    p.getEmbeds().get(0).getFooter().getText();
                }
            }
        });
    }

请记住,MessageEmbed#Footer中包含3个组成部分
Click here for components picture

您有getText()getProxyIconUrl()getText()

在您的情况下,您需要getText()。从已经存在的嵌入中提取文本。