import asyncio
import os

from telegram import Bot


async def main() -> None:
    token = os.environ["TELEGRAM_BOT_TOKEN"]
    public_base_url = os.environ["PUBLIC_BASE_URL"].rstrip("/")
    webhook_secret = os.environ["WEBHOOK_SECRET"]
    webhook_url = f"{public_base_url}/telegram/{webhook_secret}/"

    bot = Bot(token=token)
    ok = await bot.set_webhook(url=webhook_url)
    if not ok:
        raise SystemExit("Failed to set webhook")
    print(f"Webhook set to {webhook_url}")


if __name__ == "__main__":
    asyncio.run(main())
