feat(telegram): add 'none' listener mode for bots
Introduce a third update_mode option alongside polling/webhook. 'none' disables both polling and webhook delivery — useful when another instance owns the listener or when the bot is send-only. Switching into 'none' now unschedules polling and unregisters any active webhook so Telegram stops delivering updates. New bots default to 'none' (safer when multiple bridges share a token). Existing bots upgraded from a pre-update_mode schema keep 'polling' so their behavior is unchanged.
This commit is contained in:
@@ -49,7 +49,7 @@ class TelegramBot(SQLModel, table=True):
|
||||
bot_username: str = Field(default="")
|
||||
bot_id: int = Field(default=0)
|
||||
webhook_path_id: str = Field(default_factory=lambda: uuid4().hex)
|
||||
update_mode: str = Field(default="polling") # "polling" or "webhook"
|
||||
update_mode: str = Field(default="none") # "none", "polling", or "webhook"
|
||||
# NOTE: commands_config column remains in the DB for backward compat,
|
||||
# but is no longer part of the SQLModel class. Data migrated to CommandConfig.
|
||||
created_at: datetime = Field(default_factory=_utcnow)
|
||||
|
||||
Reference in New Issue
Block a user