Возможно ли запустить функцию, отсоединенную от основного цикла?
причина этого в том, что у меня есть одна функция, которая запускается каждый раз при отправке сообщения, и если я управляю командой из него,она удерживается до тех пор, пока эта команда не будет выполнена перед выходом из функции и разрешением ввода нового сообщения. поэтому мне нужно отсоединить его от основного цикла и позволить ему работать самостоятельно до тех пор, пока он не будет завершен.
Я попытался запустить его асинхронно с loop.create_task(run_command(input))
, но он все еще ждет завершения команды, прежде чем выйти из содержащей функции, не разрешая ввод в течение этого времени.
вот базовый пример
@client.event
async def on_message(message):
if message.author == client.user:
return
if message.content.startswith(Config.prefix):
loop = asyncio.get_event_loop()
if command in commands.List:
loop.create_task(getattr(commands, command)().call(message))