Files
Quizzi/src/trudex/application/bot/handlers.py
T
2026-01-01 23:00:52 +03:00

37 lines
1.3 KiB
Python

from aiogram import Router
from aiogram.filters import Command, CommandStart
from aiogram.types import Message
from aiogram_dialog import DialogManager, StartMode
from dishka.integrations.aiogram import FromDishka
from trudex.application.bot.admin_dialogs.states import AdminMenuSG
from trudex.application.bot.creator_dialogs.states import CreatorMenuSG
from trudex.infrastructure.database.dao.user import UserDAO
router = Router()
@router.message(CommandStart())
async def start_handler(message: Message, user_dao: FromDishka[UserDAO]) -> None:
assert message.from_user is not None
await user_dao.upsert(
user_id=message.from_user.id,
first_name=message.from_user.first_name,
username=message.from_user.username,
last_name=message.from_user.last_name,
)
await message.answer("Привет! Я бот для тестирования по охране труда.")
@router.message(Command("admin"))
async def admin_command(message: Message, dialog_manager: DialogManager) -> None:
await dialog_manager.start(AdminMenuSG.main, mode=StartMode.RESET_STACK)
@router.message(Command("creator"))
async def creator_command(message: Message, dialog_manager: DialogManager) -> None:
await dialog_manager.start(CreatorMenuSG.main, mode=StartMode.RESET_STACK)