Package ru.gentoos.ehouse.messenger
Class TelegramBot
java.lang.Object
ru.gentoos.ehouse.messenger.TelegramBot
Реализация бота для Telegram Bot API (порт
Messengers/telegram.py).
Поддерживает отправку сообщений, ответы на команды /start и
/chatid, long polling для получения обновлений, работает в фоновом
потоке.
-
Constructor Summary
ConstructorsConstructorDescriptionTelegramBot(String name, String token, String chatId, TelegramTimeouts timeouts, boolean pollingEnabled, int pollingInterval, HttpTransport transport) Инициализирует бота. -
Method Summary
Modifier and TypeMethodDescriptioncom.fasterxml.jackson.databind.JsonNodeПолучает информацию о боте через API getMe.getName()Имя бота.booleanПроверяет, запущен ли бот.voidsendMessage(String text) Доставляет уведомление.voidstart()Запускает бота (в фоновом потоке).voidstop()Останавливает бота.booleanТестирует соединение с Telegram Bot API.
-
Constructor Details
-
TelegramBot
public TelegramBot(String name, String token, String chatId, TelegramTimeouts timeouts, boolean pollingEnabled, int pollingInterval, HttpTransport transport) Инициализирует бота. Проверяет валидность токена черезgetMe.- Parameters:
name- имя ботаtoken- токен Telegram-бота (от BotFather)chatId- ID чата для отправки сообщенийtimeouts- настройки таймаутов (null— по умолчанию)pollingEnabled- включить long polling для получения командpollingInterval- интервал между проверками обновлений, секtransport- HTTP-транспорт- Throws:
IllegalArgumentException- при невалидном токене
-
-
Method Details
-
sendMessage
Description copied from interface:NotifierДоставляет уведомление.- Specified by:
sendMessagein interfaceNotifier- Parameters:
text- текст сообщения
-
start
public void start()Description copied from interface:BotЗапускает бота (в фоновом потоке). -
stop
public void stop()Description copied from interface:BotОстанавливает бота. -
isRunning
public boolean isRunning()Description copied from interface:BotПроверяет, запущен ли бот. -
getBotInfo
public com.fasterxml.jackson.databind.JsonNode getBotInfo()Получает информацию о боте через API getMe. -
testConnection
public boolean testConnection()Тестирует соединение с Telegram Bot API. -
getName
Description copied from interface:BotИмя бота. -
getChatId
-