@Abrik2207
novice programmer

Что такое Middlewares в aiogram?

Долго время никак не могу понять что такое Миддлвари, для чего они, где и когда они используются. Объясните пожалуйста подробно, можете скинуть еще ссылку с примерами
  • Вопрос задан
  • 2963 просмотра
Пригласить эксперта
Ответы на вопрос 1
AlexNest
@AlexNest Куратор тега Python
Работаю с Python/Django
В общем случае, Middlewares это прослойка, вызываемая автоматически, после request и перед обработкой его сервером. Может использоваться, например, для логгирования или добавления полезной нагрузки.
Пример из доков, который добавляет в данные каждого сообщения значение счетчика
from aiogram import BaseMiddleware
from aiogram.types import Message


class CounterMiddleware(BaseMiddleware):
    def __init__(self) -> None:
        self.counter = 0

    async def __call__(
        self,
        handler: Callable[[Message, Dict[str, Any]], Awaitable[Any]],
        event: Message,
        data: Dict[str, Any]
    ) -> Any:
        self.counter += 1
        data['counter'] = self.counter
        return await handler(event, data)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы