Как использовать SendPhoto в telegrambots на вебхуках?

Я использую telegrambots + spring boot с вебхуками для своего бота. Я хочу написать бота, который будет повторять мое сообщение с картинкой.

У меня есть класс моего бота:

@Getter
@Setter
@FieldDefaults(level = AccessLevel.PRIVATE)
public class FnrBot extends SpringWebhookBot {
    String botPath;
    String botUsername;
    String botToken;

    MessageHandler messageHandler;

    public FnrBot(SetWebhook setWebhook, MessageHandler messageHandler) {
        super(setWebhook);
        this.messageHandler = messageHandler;
    }

    @Override
    public BotApiMethod<?> onWebhookUpdateReceived(Update update) {
        Message message = update.getMessage();
        if (message != null) {
            return messageHandler.handleMessage(update.getMessage());
        }
        return null;
    }
}

Так же есть MessengeHandler:

@Component
@FieldDefaults(makeFinal = true, level = AccessLevel.PRIVATE)
@RequiredArgsConstructor
public class MessageHandler {
    public PartialBotApiMethod<?> handleMessage(Message message) {
        String chatId = message.getChatId().toString();
        InputFile photo = new InputFile(message.getPhoto().get(0).getFileId());
        SendPhoto send = new SendPhoto(chatId, "hello");
        return send;
    }
}

Тут, SendPhoto является наследником PartialBotApiMethod, как и остальные методы отправки медиа.

Так как я использую вебхуки, я должен наследовать SpringWebhookBot в классе FnrBot, и использовать метод onWebhookUpdateReceived() который должен возвращать объекты типа BotApiMethod. BotApiMethod - наследник класса PartialBotApiMethod, поэтому я не могу возвратить PartialBotApiMethod в моем классе для комманд.

Как мне использовать SendPhoto на вебхуках? Я находил решения только для "стандартного" бота написанного не на вебхуках, и это решение очень простое, однако оно мне не подходит.


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