fix: use polling mode for Telegram (no WEBHOOK_BASE_URL)
This commit is contained in:
parent
7d6db76ceb
commit
1d49a39c6a
2 changed files with 12 additions and 3 deletions
|
|
@ -52,6 +52,9 @@ class Settings(BaseSettings):
|
||||||
DATA_DIR: str = "/data"
|
DATA_DIR: str = "/data"
|
||||||
TG_PERSISTENCE_DIR: str = ""
|
TG_PERSISTENCE_DIR: str = ""
|
||||||
|
|
||||||
|
# Telegram webhook — leave empty to use polling mode
|
||||||
|
WEBHOOK_BASE_URL: str = ""
|
||||||
|
|
||||||
# BetterBot — site directories
|
# BetterBot — site directories
|
||||||
SITE_DIR: str = "/site"
|
SITE_DIR: str = "/site"
|
||||||
MEMORAIZ_DIR: str = "/memoraiz"
|
MEMORAIZ_DIR: str = "/memoraiz"
|
||||||
|
|
|
||||||
12
main.py
12
main.py
|
|
@ -584,9 +584,13 @@ async def startup() -> None:
|
||||||
# invoke it explicitly to register bot commands.
|
# invoke it explicitly to register bot commands.
|
||||||
if tg_app.post_init:
|
if tg_app.post_init:
|
||||||
await tg_app.post_init(tg_app)
|
await tg_app.post_init(tg_app)
|
||||||
base_url = f"https://code.bytesizeprotip.com/telegram/webhook/{webhook_secret()}"
|
if settings.WEBHOOK_BASE_URL:
|
||||||
await tg_app.bot.set_webhook(base_url, drop_pending_updates=True)
|
webhook_url = f"{settings.WEBHOOK_BASE_URL}/telegram/webhook/{webhook_secret()}"
|
||||||
logger.info("Telegram webhook registered (dropped pending updates) at %s", base_url)
|
await tg_app.bot.set_webhook(webhook_url, drop_pending_updates=True)
|
||||||
|
logger.info("Telegram webhook registered (dropped pending updates) at %s", webhook_url)
|
||||||
|
else:
|
||||||
|
await tg_app.updater.start_polling(drop_pending_updates=True)
|
||||||
|
logger.info("Telegram polling started (no WEBHOOK_BASE_URL configured)")
|
||||||
|
|
||||||
# Start event polling background task (T027)
|
# Start event polling background task (T027)
|
||||||
import asyncio
|
import asyncio
|
||||||
|
|
@ -597,6 +601,8 @@ async def startup() -> None:
|
||||||
@app.on_event("shutdown")
|
@app.on_event("shutdown")
|
||||||
async def shutdown() -> None:
|
async def shutdown() -> None:
|
||||||
if tg_app:
|
if tg_app:
|
||||||
|
if tg_app.updater and tg_app.updater.running:
|
||||||
|
await tg_app.updater.stop()
|
||||||
await tg_app.stop()
|
await tg_app.stop()
|
||||||
await tg_app.shutdown()
|
await tg_app.shutdown()
|
||||||
await copilot.stop()
|
await copilot.stop()
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue