Как сделать очередь на функцию, используя Aiogram Python?
Интерпретирую чат-бота бинг в телеграм при помощи библиотек EdgeGPT и Aiogram. Когда несколько пользователей отправляют одну команду, она срабатывает у последнего, прерывая первого (библиотека выдает ошибку, когда работающий метод вызывается ещё раз). Я хочу, чтобы у последнего она срабатывала после первого, не замораживая бота. Нужно что-то типо очереди. Буду очень благодарен.
@dp.message_handler()
async def use(message: types.Message):
msg = await bot.send_message(message.chat.id, WAIT_MESSAGE, parse_mode=ParseMode.HTML)
try:
# создаем запрос в бинг
result = await bing.ask(prompt=message.text, wss_link="wss://sydney.bing.com/sydney/ChatHub")
# переобразовываем данные в текст
result = result['item']['messages'][1]['text']
await bot.edit_message_text(result, message.chat.id, msg["message_id"], parse_mode=ParseMode.MARKDOWN)
except Exception as e:
print('(!) Error: ' + str(e))
await bot.edit_message_text(ERROR_MESSAGE, message.chat.id, msg["message_id"], parse_mode=ParseMode.MARKDOWN)
await bing.reset()
await bing.close()
Источник: Stack Overflow на русском