Tishka17 / aiogram_dialog

GUI framework on top of aiogram
https://aiogram-dialog.readthedocs.io
Apache License 2.0
654 stars 103 forks source link

Бот реагирует на каждый файл по отдельности #138

Closed MyZik closed 1 year ago

MyZik commented 2 years ago

Всем привет, уже больше недели не могу разобраться c проблемой. Ситуация следующая: бот принимает в диалоге файлы, если всё верно (расширение, размер и т.д.), бот создаёт папку и сохраняет файлы. Если нет - показывает соответствующее сообщение.

Проблема заключается в том, что если отправить боту несколько файлов (по отдельности или альбомом), то бот реагирует на каждый отдельный файл, что очень раздражает. Скриншоты, как это выглядит в боте, прикрепляю ниже.

Bildschirmfoto 2022-04-16 um 23 52 31 Bildschirmfoto 2022-04-16 um 23 52 36

Можно ли как-то это отключить, или обойти? Спасибо заранее за помощь!

aiogram: v2.20.0 aiogram_dialog: v1.4.1

Tishka17 commented 2 years ago

При использовании aiogram 2: придумать какую-то middware, которая будет блокировать обработку других событий этого юзера пока не завершится текущее. Например, с помощью asyncio.Lock. Важно эту мидлварь зарегистрировать раньше чем DiagloRegistry

Tishka17 commented 1 year ago

Для aiogram3 нужно использовать isolate_events.

omegastripes commented 1 year ago

Для aiogram3 нужно использовать isolate_events.

Для тех, кто ищет пример - вот он.