Replace single report type with composable analysis: depth levels (basic/standard/full) + focus area multi-select (psychology, business, marketing, content, audience, sentiment). Multi-step inline keyboard flow guides users through selection. - i18n: English + Russian, auto-detect from Telegram, /lang override - AI providers: Anthropic + OpenRouter via AIClient abstraction - Telegram Stars payments with per-depth pricing and free trial - SQLite (aiosqlite) for users, analyses, payments tracking - User middleware for auto-registration and language detection - Report persistence: save .md locally, offer file download - New commands: /features, /prices, /lang - Composable prompt system: depth modifiers + focus area fragments
19 lines
504 B
Python
19 lines
504 B
Python
from aiogram import Router
|
|
from aiogram.filters import Command
|
|
from aiogram.types import Message
|
|
|
|
from bot.config import settings
|
|
from bot.i18n import Lang, t
|
|
|
|
router = Router()
|
|
|
|
|
|
@router.message(Command("prices"))
|
|
async def cmd_prices(message: Message, lang: Lang = Lang.EN, **_: object) -> None:
|
|
text = t(
|
|
"prices", lang,
|
|
basic=settings.price_basic,
|
|
standard=settings.price_standard,
|
|
full=settings.price_full,
|
|
)
|
|
await message.answer(text, parse_mode="HTML")
|