Init commit
This commit is contained in:
commit
d6e00c56e7
49 changed files with 2324 additions and 0 deletions
8
Mousey/Bot/Middlewares/__init__.py
Normal file
8
Mousey/Bot/Middlewares/__init__.py
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
__all__ = [
|
||||
"i18n_middleware",
|
||||
"DatabaseSessionMiddleware"
|
||||
]
|
||||
|
||||
from .i18n import i18n_middleware
|
||||
from .database import DatabaseSessionMiddleware
|
||||
|
||||
25
Mousey/Bot/Middlewares/database.py
Normal file
25
Mousey/Bot/Middlewares/database.py
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
from typing import Callable, Awaitable, Dict, Any
|
||||
|
||||
from aiogram import BaseMiddleware
|
||||
from aiogram.types import TelegramObject
|
||||
|
||||
from sqlalchemy.ext.asyncio import async_sessionmaker
|
||||
|
||||
|
||||
class DatabaseSessionMiddleware(BaseMiddleware):
|
||||
"""
|
||||
Мидлвари для получения сессии в БД для фильтров, сообщений и прочего.
|
||||
"""
|
||||
def __init__(self, session_pool: async_sessionmaker) -> None:
|
||||
self.session_pool = session_pool
|
||||
|
||||
async def __call__(
|
||||
self,
|
||||
handler: Callable[[TelegramObject, Dict[str, Any]], Awaitable[Any]],
|
||||
event: TelegramObject,
|
||||
data: Dict[str, Any],
|
||||
) -> Any:
|
||||
async with self.session_pool() as session:
|
||||
data["session"] = session
|
||||
return await handler(event, data)
|
||||
|
||||
9
Mousey/Bot/Middlewares/i18n.py
Normal file
9
Mousey/Bot/Middlewares/i18n.py
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
from aiogram.utils.i18n import I18n
|
||||
from aiogram.utils.i18n.middleware import ConstI18nMiddleware
|
||||
|
||||
from Mousey.Misc import LOCALE_DIR
|
||||
|
||||
|
||||
# Создание мидлвари для локализация бота.
|
||||
i18n = I18n(path=LOCALE_DIR, default_locale="ru", domain="bot")
|
||||
i18n_middleware = ConstI18nMiddleware(i18n=i18n, locale="ru")
|
||||
Reference in a new issue