@Reply_Other

Миддлваре объявленная как класс теряет апдейт, но если объявить как функцию все работает. В чем дело, регал через .outer_middleware?

class RegisterCheck(BaseMiddleware):
    async def __call__(
            self,
            event: Update,
            handler: Callable[[Update, Dict[str, Any]], Awaitable[Any]],
            data: Dict[str, Any]
    ) -> Any:
        if data['event_from_user'].id == db.user.id:  #обращение условное при тестах использовал свой тг-айди
            return await handler(event, data)
        else:
            await event.message.answer('you are not registered')
            return


async def register_check(
        handler: Callable[[Update, Dict[str, Any]], Awaitable[Any]],
        event: Update,
        data: Dict[str, Any]
) -> Any:
    if data['event_from_user'].id == db.user.id:
        return await handler(event, data)
    else:
        await event.message.answer('you are not registered')
        return
  • Вопрос задан
  • 43 просмотра
Пригласить эксперта
Ответы на вопрос 1
@Everything_is_bad
Наверно потому что порядок аргументов разный
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
30 апр. 2024, в 15:24
3000 руб./за проект
30 апр. 2024, в 15:11
500 руб./в час
30 апр. 2024, в 15:11
5000 руб./за проект