Асинхронная функция из синхронной в Python и discord.py
В моём дискорд-боте необходимо вызвать асинхронную функцию из синхронной, т.к. функция play
voice_client'а принимает только синхронный коллбек. Т.к. сама библиотека Discord.py асинхронная, в ней уже есть свой event loop, поэтому решения использовать функции asyncio.run
, asyncio.run_coroutine_threadsafe
, loop.run_until_complete
у меня применить не получилось. Подскажите, что делать?
UPD. Функция коллбека у меня с рекурсией, вот так:
def player(...):
...
voice_client.play(..., after=player)
...
asyncio.get_running_loop()
выдаёт ошибку - нет цикла событий в текущем потоке