Пытаюсь сейчас переписать своего старого пет-бота с java на Kotlin, используя webhook и Spring Boot (в основном для саморазвития)
столкнулся со следующим:
1. В инете примеры только TelegramLongPollingBot
2. Везде в примерах со спринг используется ApiContextInitializer.init() для инициализации бота.
Однако в библиотеке, начиная с версии 5.0
этот класс был выпилен
и как теперь его запускать через Spring я не понимаю...
ApiContextInitializer.init(); has been removed and is not required anymore, instead:
TelegramBotsApi telegramBotsApi = new TelegramBotsApi(DefaultBotSession.class);
// When using webhook, create your own version of DefaultWebhook with all your parameters set.
TelegramBotsApi telegramBotsApi = new TelegramBotsApi(DefaultBotSession.class, defaultWebhookInstance);
b
И появился даже отдельный класс:
When using Spring with a webhook bot, make your bot inherit form SpringWebhookBot instead of WebhookBot and provide your SetWebhook method in the constructor:
// Extend correct class
public class TestSpringWebhookBot extends SpringWebhookBot {
public TestSpringWebhookBot(SetWebhook setWebhook) {
super(setWebhook);
}
public TestSpringWebhookBot(DefaultBotOptions options, SetWebhook setWebhook) {
super(options, setWebhook);
}
@Override
public String getBotUsername() {
return null;
}
@Override
public String getBotToken() {
return null;
}
@Override
public BotApiMethod onWebhookUpdateReceived(Update update) {
return null;
}
@Override
public String getBotPath() {
return null;
}
}
// Create your SetWebhook method
@Bean
public SetWebhook setWebhookInstance() {
return SetWebhook.builder()....build();
}
// Create it as
@Bean
public TestSpringWebhookBot testSpringWebhookBot(SetWebhook setWebhookInstance) {
return new TestSpringWebhookBot(setWebhookInstance);
}
я примерно представляю, как это можно использовать на Java, но вот Spring и Kotlin пока только изучаю...
Может есть у кого-нибудь простейший эхо-бот, использующий всё выше перечисленное?
А то у меня даже эхо-бот работать не хочет
Готов даже оплатить менторство по разьяснению данного вопроса...