Class TelegramBotService

java.lang.Object
com.bytedesk.social.telegram.config.TelegramBotService

@Service public class TelegramBotService extends Object
TelegramBotService 用于初始化和管理Telegram机器人 使用TelegramEntity中的token作为bot token
  • Field Details

    • telegramRestService

      private final TelegramRestService telegramRestService
    • telegramBotsApplication

      private final org.telegram.telegrambots.longpolling.TelegramBotsLongPollingApplication telegramBotsApplication
    • visitorRestService

      private final VisitorRestService visitorRestService
    • messageSendService

      private final IMessageSendService messageSendService
    • uidUtils

      private final UidUtils uidUtils
    • uploadRestService

      private final UploadRestService uploadRestService
    • activeBotSessions

      private final List<org.telegram.telegrambots.longpolling.BotSession> activeBotSessions
    • botSessionMap

      private final Map<String,org.telegram.telegrambots.longpolling.BotSession> botSessionMap
  • Constructor Details

    • TelegramBotService

      public TelegramBotService()
  • Method Details

    • init

      @PostConstruct public void init()
      Spring 容器初始化后自动执行初始化机器人操作
    • initializeAllBots

      public void initializeAllBots()
      初始化所有已配置的Telegram机器人
    • initializeBotByUid

      public boolean initializeBotByUid(String telegramUid)
      初始化单个Telegram机器人
      Parameters:
      telegramUid - Telegram配置的UID
      Returns:
      是否成功初始化
    • initializeBot

      private org.telegram.telegrambots.longpolling.BotSession initializeBot(@NonNull @NonNull TelegramEntity telegramEntity) throws org.telegram.telegrambots.meta.exceptions.TelegramApiException
      初始化Telegram机器人
      Parameters:
      telegramEntity - Telegram配置实体
      Returns:
      机器人会话对象
      Throws:
      org.telegram.telegrambots.meta.exceptions.TelegramApiException - 如果初始化失败
    • createBotConsumer

      private TelegramDefaultConsumer createBotConsumer(TelegramEntity telegramEntity)
      为每个机器人创建独立的消费者实例
      Parameters:
      telegramEntity - Telegram配置实体
      Returns:
      消费者实例
    • stopAllBots

      public void stopAllBots()
      停止所有活跃的机器人会话
    • stopBotByUid

      public boolean stopBotByUid(String telegramUid)
      停止特定的Telegram机器人
      Parameters:
      telegramUid - Telegram配置的UID
      Returns:
      是否成功停止
    • reinitializeAllBots

      public void reinitializeAllBots()
      重新初始化所有机器人