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.