@daniil_cara

Как сделать что бы middleware обрабатывался не только перед обычным хендлером aiogram?

Как сделать что бы middleware обрабатывался не только перед обычным хендлером но и перед callback. 3 версия aiogram
class Middleware(BaseMiddleware):
  async def __call__(
    self,
    handler: Callable[[Message, Dict[str, Any]], Awaitable[Any]],
    event: Message,
    data: Dict[str, Any],
    ) -> Any:
      Session = sessionmaker(engine)
      with Session.begin() as session:
        get_user = session.query(User).filter_by(user_id=event.from_user.id).first()
      if not get_user and event.text != "/start":
        await event.answer("Вы не зарегестрированы. Введите /start")
        return
        
      data["Session"] = Session
      return await handler(event, data)
  • Вопрос задан
  • 1211 просмотров
Пригласить эксперта
Ответы на вопрос 1
@DaniilAniMe
dp.Выбираешь что нужно.middleware(Middleware)
Или
router.Выбираешь что нужно.middleware(Middleware)

также тебе нужно в event: Message
написать Union[Message, CallbackQuery]
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы