JDA - Как мне получить EmbedMessage как объект? - PullRequest
0 голосов
/ 05 августа 2020

Как мне получить встроенное сообщение? Я хочу получить нижний колонтитул встроенного сообщения, которое я уже разместил в чате. Спасибо!

Ответы [ 2 ]

0 голосов
/ 07 августа 2020

Это зависит от того, как вы вытягиваете сообщение:

Если вы используете событие реакции или редактирования (в зависимости от того, как вы вытягиваете сообщение), вы могли бы использовать:

    @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 компонента Щелкните здесь для просмотра изображения компонентов

У вас есть getText(), getProxyIconUrl() и getText().

В вашем случае вам понадобится getText(). Чтобы вытащить текст из уже существующей вставки.

0 голосов
/ 05 августа 2020

Так же, как и любое другое сообщение. Встраивание - это всего лишь один компонент сообщения, и вы можете получить список вложений, используя Message # getEmbeds .

Чтобы получить сообщение, вы можете использовать retrieveMessageById .

...