Загрузка...

Aiogram3 - handler for all hundreds

Thread in Python created by IFearNobody May 11, 2025. 157 views

  1. IFearNobody
    IFearNobody Topic starter May 11, 2025 179 Dec 14, 2022
    На aiogram2 делал так:
    Code
    @dp.message_handler(text=[' Админ панель'], state='*')
    На aiogram3 не понимаю как это можно сделать
    Code
    @router.callback_query(F.data == 'back_to_profile', StateFilter('*'))
    пытался так, но ничего не получись
     
  2. противоположник
    шобы сделать хендлер, реагирующий на любое состояние ты не юзаешь statefilter('*'), как в aiogran 2. вместо этого юзай фильтр statefilter() без аргументов
     
    1. View previous comments (5)
    2. IFearNobody Topic starter
    3. defeatingopps
      IFearNobody, у тебя норм версия, не в этом дело

      StateFilter() не может быть пустым, он требует хотя бы один аргумент
      (это в ошибке написано если что)
  3. defeatingopps
    defeatingopps May 11, 2025 как дела 306 Nov 2, 2023
    просто подсоединяй хандлер самым первым, и он будет вне зависимости от стейта срабатывать
     
    1. IFearNobody Topic starter
    2. defeatingopps
      IFearNobody, не указывай вообще стейт фильтр

      он нужен чтобы отфильтровать по конкретным состояниям
    3. IFearNobody Topic starter
  4. defeatingopps
    defeatingopps May 11, 2025 как дела 306 Nov 2, 2023
    router.callback_query(F.data == 'back_to_profile')
    просто пиши вот так

    и все хандлеры которые должны быть приоритетнее хандлеров с фильтром по конкретному стейту, должны объявляться первее в коде
     
Top
Loading...