Add subscription mini app support

This commit is contained in:
Machka Pasla
2025-07-04 20:45:27 +07:00
parent 0e03d72dd3
commit a8b62ccc03
5 changed files with 28 additions and 5 deletions
+9 -1
View File
@@ -3,7 +3,7 @@ import asyncio
from typing import Callable, Dict, Any, Awaitable, Optional
from aiogram import Bot, Dispatcher, BaseMiddleware, Router, F
from aiogram.types import Update
from aiogram.types import Update, MenuButtonWebApp, WebAppInfo
from aiogram.enums import ParseMode
from aiogram.filters import CommandStart, Command
from aiogram.client.default import DefaultBotProperties
@@ -171,6 +171,14 @@ async def on_startup_configured(dispatcher: Dispatcher):
)
await bot.delete_webhook(drop_pending_updates=True)
if settings.SUBSCRIPTION_MINI_APP_URL:
menu_text = i18n_instance.gettext(settings.DEFAULT_LANGUAGE, "menu_my_subscription_inline")
try:
await bot.set_chat_menu_button(menu_button=MenuButtonWebApp(text=menu_text, web_app=WebAppInfo(url=settings.SUBSCRIPTION_MINI_APP_URL)))
logging.info("STARTUP: Menu button for subscription mini app set via API.")
except Exception as e:
logging.error(f"STARTUP: Failed to set menu button web app: {e}", exc_info=True)
logging.info("STARTUP: Bot on_startup_configured completed.")