Задать вопрос
@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
  • Вопрос задан
  • 47 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Everything_is_bad
Наверно потому что порядок аргументов разный
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
от 200 000 до 300 000 ₽
Greenway Global Новосибирск
от 150 000 ₽
Akronix Санкт-Петербург
от 150 000 до 200 000 ₽
31 янв. 2025, в 00:16
43000 руб./за проект
30 янв. 2025, в 21:33
5000 руб./за проект
30 янв. 2025, в 19:55
7000 руб./за проект