tg-simple-api
— это Java-библиотека с интеграцией Spring, предназначенная для быстрого и удобного создания Telegram-ботов с помощью аннотаций и встроенного менеджера состояний.
Для более комфортной работы с tg-simple-api
рекомендую установить официальный плагин для IntelliJ IDEA.
- Плагин автоматически распознает аннотации
tg-simple-api
. - Подавляет лишние предупреждения IDE.
- Планируется расширение новыми полезными функциями.
Скачать последние релизы и узнать подробности можно здесь:
https://github.com/DevKarmanov/tg-simple-api-intellij-plugin/releases/latest
Для наглядного примера использования библиотеки можно посмотреть готового Telegram-бота, написанного с её использованием: 👉 weather-bot (пример реализации Telegram-бота)
Если вы не хотите тянуть тяжелые зависимости для ИИ в проект, то исключите следующие библиотеки:
implementation('com.github.DevKarmanov:tg-simple-api-lib:v1.1.2') {
exclude group: 'org.bytedeco', module: 'javacv-platform'
exclude group: 'org.bytedeco', module: 'ffmpeg-platform'
exclude group: 'com.alphacephei', module: 'vosk'
}
- Создайте бин для
BotHandler
и вашего бота:
@Configuration
@EnableConfigurationProperties(BotProperties.class)
public class BotConfig {
private final BotProperties botProperties;
public BotConfig(BotProperties botProperties) {
this.botProperties = botProperties;
}
@Bean
public TelegramBot telegramBot() {
return new TelegramBot(botProperties.token(), botProperties.name(), botProperties.webHookPath());
}
@Bean
public BotHandler botHandler() {
return new DefaultBotHandler();
}
}
- Передайте
Update
вBotHandler
:
@RestController
public class WebHookController {
private final BotHandler botHandler;
public WebHookController(BotHandler botHandler) {
this.botHandler = botHandler;
}
@PostMapping("/webhook")
public ResponseEntity<?> receiveWebhook(@RequestBody Update update) {
botHandler.handleMessage(update);
return ResponseEntity.ok().build();
}
}