There is no current event loop in thread
Solution 1:
Threads do not have an event loop, you simply need to use the main thread loop.
t = Thread(target=run, args=[client.loop])
and simply put the loop in run
def run(loop):
asyncio.set_event_loop(loop)
...
This should solve the problem. If your problem freezes then I dont know how to solve it now.