Задать вопрос
@bd6b648f40b6ca0ecf347ee

Почему телеграм бот (aiogram) не работает во время команды?

Я написал асинхронного телеграм бота, с соблюдением async, await и т.д.
В нём у меня по команде выполняется поиск по команде с выводом результат.
Проблема в том, что при использовании этой команды бот встаёт для всех пользователей, пока не выполнит её. То есть буквально не работает даже команда /start.

Можно ли как-то решить данную проблему? Или мне нужно использовать что-то вместо ?
  • Вопрос задан
  • 429 просмотров
Подписаться 1 Простой 3 комментария
Пригласить эксперта
Ответы на вопрос 1
drygdryg
@drygdryg
Python-разработчик
Вы вызываете системную команду grep с помощью синхронной функции os.popen, из-за чего на время выполнения команды блокируется цикл событий asyncio, и ваш бот как бы зависает. Поэтому вам следует вызывать системные команды с помощью неблокирующей функции-корутины asyncio.create_subprocess_shell.
https://stackoverflow.com/questions/63782892/using...
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
от 200 000 до 300 000 ₽
Greenway Global Новосибирск
от 150 000 ₽
Akronix Санкт-Петербург
от 150 000 до 200 000 ₽
02 февр. 2025, в 10:45
1000 руб./за проект
02 февр. 2025, в 10:19
7000 руб./за проект
02 февр. 2025, в 08:12
2500 руб./за проект