Создаю телеграм бота по гайду пытаюсь ввести getMessageId() выдает ошибку

код

public BotApiMethod<?> answerCallbackQuery(CallbackQuery callbackQuery) {
    return EditMessageText.builder()
        .chatId(callbackQuery.getMessage().getChatId())
        .messageId(callbackQuery.getMessage().getMessageId())
        .text("""
                 л
                        """)
        .build();

Ошибка.

java: cannot find symbol
  symbol:   method getMessageId()
  location: interface org.telegram.telegrambots.meta.api.objects.MaybeInaccessibleMessage

Ответы (1 шт):

Автор решения: AGorohov

Мне в этой ситуации помогло приведение к типу Message:

Message message = (Message) update.getCallbackQuery().getMessage();

Это работает, потому что

Message implements MaybeInaccessibleMessage

Но такой код не является безопасным, потому что там может как быть объект Message, так и не быть. Лучше в данном случае реализовать проверку, например:

if (callbackMessage instanceof MaybeInaccessibleMessage) {
            System.out.println("Сообщение из CallbackQuery недоступно.");
            return null;
        } else if (callbackMessage instanceof Message) {
            return (Message) callbackMessage;
        }
→ Ссылка