finally: finally

This commit is contained in:
AF 2022-11-04 08:53:08 +00:00
parent 096314b9bb
commit bb8da9d2b6

View File

@ -6,8 +6,9 @@ import discord
def serve(main, client: discord.Client, loop: asyncio.AbstractEventLoop): def serve(main, client: discord.Client, loop: asyncio.AbstractEventLoop):
async def aclose(): async def aclose():
await client.change_presence(status=discord.Status.offline) if not client.is_closed():
await client.close() await client.change_presence(status=discord.Status.offline)
await client.close()
def close(): def close():
loop.run_until_complete(aclose()) loop.run_until_complete(aclose())
@ -16,10 +17,11 @@ def serve(main, client: discord.Client, loop: asyncio.AbstractEventLoop):
loop.create_task(aclose()) loop.create_task(aclose())
signal.signal(signal.SIGTERM, sigtermed) signal.signal(signal.SIGTERM, sigtermed)
task = loop.create_task(main())
try: try:
loop.run_until_complete(main) loop.run_until_complete(task)
except (KeyboardInterrupt, InterruptedError, RuntimeError): except (KeyboardInterrupt, InterruptedError, RuntimeError):
pass close()
loop.run_until_complete(task)
finally: finally:
if not client.is_closed(): close()
close()