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

JDA - How do I get an EmbedMessage as an Object?

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

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

获取嵌入列表

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

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

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

    @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() and getText().

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