Size: a a a

2020 June 10

T

Tishka17 in aiogram [ru]
<Юрий> 👨‍🔬 Чебышев
ну в своей обёртке да, а в классическом случае в рантайме написать хендлер как-то не очень
лямбдочку повесить как фильтр и ладно
источник

ЕР

Евгений Ры́марев... in aiogram [ru]
Евгений Ры́марев
    dp.register_message_handler(cancel, Command(['cancel']))
   dp.register_callback_query_handler(cancel, finish_cb.filter(id='CANCEL'))

можно так регистрировать?
async def cancel(event: Union[Message, CallbackQuery], state: FSMContext):
я чот нифига не понимаю. Для чистоты эксперимента разделил cancel на cancel_query и cancel_message с соответствующей регистрацией событий. В cancel_query идёт просто вызов
cancel_message(query.message, state)

и всё равно /cancel не отрабатывает, хотя сообщение приходит, но не хэндлится
источник

ЕР

Евгений Ры́марев... in aiogram [ru]
ща попробую тестово сделать
источник

ЕР

Евгений Ры́марев... in aiogram [ru]
а state='*' - это по сути излишнее условие или нет?
источник

T

Tishka17 in aiogram [ru]
нет
источник

T

Tishka17 in aiogram [ru]
по дефолту state=None
источник

T

Tishka17 in aiogram [ru]
не знаю почему так
источник

ЕР

Евгений Ры́марев... in aiogram [ru]
а None - означает, что сейчас не запущен FSM для текущего пользователя?
источник

T

Tishka17 in aiogram [ru]
Евгений Ры́марев
а None - означает, что сейчас не запущен FSM для текущего пользователя?
None значит стейт пустой
источник

ЕР

Евгений Ры́марев... in aiogram [ru]
ясно
источник

ЕР

Евгений Ры́марев... in aiogram [ru]
ну тогда проблема в этом
источник

AR

Alex RootJunior in aiogram [ru]
Tishka17
None значит стейт пустой
Не пустой. Ничем не отличается от любого другого.
источник

<Юрий> 👨‍🔬 Чеб... in aiogram [ru]
Tishka17
не знаю почему так
мне кажется очень удобно
источник

AR

Alex RootJunior in aiogram [ru]
None - стандартное состояние.
источник

T

Tishka17 in aiogram [ru]
<Юрий> 👨‍🔬 Чебышев
мне кажется очень удобно
хз, удонбее когда если не указано - значит фильтра нет
источник

<Юрий> 👨‍🔬 Чеб... in aiogram [ru]
когда понадобилось добавить fsm в существующего бота не надо искать все 100500 хендлеров которые могут перехватить текст раньше
источник

T

Tishka17 in aiogram [ru]
Alex RootJunior
Не пустой. Ничем не отличается от любого другого.
окей, в состоняии равном None
источник

ЕР

Евгений Ры́марев... in aiogram [ru]
а если я сделал .next() когда шагов уже нет, то стейт пустым становится?
источник

AR

Alex RootJunior in aiogram [ru]
Tishka17
хз, удонбее когда если не указано - значит фильтра нет
Учитывая переход на magic-filter для большинства стандартных фильтров, то, скорее всего по дефолту ни состояние ни контент тайп не будут фильтроваться
источник

ЕР

Евгений Ры́марев... in aiogram [ru]
Не, я понял. логику. Всё правильно state=None очевиднее.
источник