Как использовать 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 на вебхуках? Я находил решения только для "стандартного" бота написанного не на вебхуках, и это решение очень простое, однако оно мне не подходит.