Class TelegramBot

java.lang.Object
ru.gentoos.ehouse.messenger.TelegramBot
All Implemented Interfaces:
Notifier, Bot

public final class TelegramBot extends Object implements Bot
Реализация бота для Telegram Bot API (порт Messengers/telegram.py).

Поддерживает отправку сообщений, ответы на команды /start и /chatid, long polling для получения обновлений, работает в фоновом потоке.

  • 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

      public void sendMessage(String text)
      Description copied from interface: Notifier
      Доставляет уведомление.
      Specified by:
      sendMessage in interface Notifier
      Parameters:
      text - текст сообщения
    • start

      public void start()
      Description copied from interface: Bot
      Запускает бота (в фоновом потоке).
      Specified by:
      start in interface Bot
    • stop

      public void stop()
      Description copied from interface: Bot
      Останавливает бота.
      Specified by:
      stop in interface Bot
    • isRunning

      public boolean isRunning()
      Description copied from interface: Bot
      Проверяет, запущен ли бот.
      Specified by:
      isRunning in interface Bot
      Returns:
      true, если бот запущен
    • getBotInfo

      public com.fasterxml.jackson.databind.JsonNode getBotInfo()
      Получает информацию о боте через API getMe.
    • testConnection

      public boolean testConnection()
      Тестирует соединение с Telegram Bot API.
    • getName

      public String getName()
      Description copied from interface: Bot
      Имя бота.
      Specified by:
      getName in interface Bot
      Returns:
      имя
    • getChatId

      public String getChatId()