start.py 845 B

12345678910111213141516171819202122232425
  1. from aiogram import Router
  2. from aiogram.filters import CommandStart
  3. from aiogram.types import Message
  4. from anonflow.bot.transport.types import RequestContext
  5. from anonflow.interfaces import UserResponsesPort
  6. from anonflow.services import UserService
  7. class StartRouter(Router):
  8. def __init__(self, responses_port: UserResponsesPort, user_service: UserService):
  9. super().__init__()
  10. self._responses_port = responses_port
  11. self._user_service = user_service
  12. async def _on_start(self, message: Message, user_language: str):
  13. if message.from_user:
  14. await self._user_service.add(message.from_user.id)
  15. await self._responses_port.user_start(
  16. RequestContext(message.chat.id, user_language)
  17. )
  18. def setup(self):
  19. self.message.register(self._on_start, CommandStart())