From bb8da9d2b6e1f86d41ea425f412f4a378a27bdb0 Mon Sep 17 00:00:00 2001 From: timofey Date: Fri, 4 Nov 2022 08:53:08 +0000 Subject: [PATCH] finally: finally --- v6d2ctx/serve.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/v6d2ctx/serve.py b/v6d2ctx/serve.py index 1883f89..fde2825 100644 --- a/v6d2ctx/serve.py +++ b/v6d2ctx/serve.py @@ -6,8 +6,9 @@ import discord def serve(main, client: discord.Client, loop: asyncio.AbstractEventLoop): async def aclose(): - await client.change_presence(status=discord.Status.offline) - await client.close() + if not client.is_closed(): + await client.change_presence(status=discord.Status.offline) + await client.close() def close(): loop.run_until_complete(aclose()) @@ -16,10 +17,11 @@ def serve(main, client: discord.Client, loop: asyncio.AbstractEventLoop): loop.create_task(aclose()) signal.signal(signal.SIGTERM, sigtermed) + task = loop.create_task(main()) try: - loop.run_until_complete(main) + loop.run_until_complete(task) except (KeyboardInterrupt, InterruptedError, RuntimeError): - pass + close() + loop.run_until_complete(task) finally: - if not client.is_closed(): - close() + close()