| 123456789101112131415161718192021222324 |
- from aiogram import BaseMiddleware
- from aiogram.types import Message
- from anonflow.services import UserService
- class LanguageMiddleware(BaseMiddleware):
- def __init__(self, user_service: UserService):
- super().__init__()
- self._user_service = user_service
- async def __call__(self, handler, event, data):
- data["user_language"] = None
- message = getattr(event, "message", None)
- if isinstance(message, Message) and message.from_user:
- user = await self._user_service.get(message.from_user.id)
- data["user_language"] = (
- user.language
- if user else message.from_user.language_code
- )
- return await handler(event, data)
|