From bae6f3e0fd2db20acc748ea68bffc2af44301c8c Mon Sep 17 00:00:00 2001 From: davfsa Date: Fri, 3 Nov 2023 10:49:12 +0100 Subject: [PATCH] Allow closing the bot during StartingEvent --- hikari/impl/gateway_bot.py | 8 +++++++- hikari/impl/rest_bot.py | 9 ++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/hikari/impl/gateway_bot.py b/hikari/impl/gateway_bot.py index 6ff48a1cac..e465ac0324 100644 --- a/hikari/impl/gateway_bot.py +++ b/hikari/impl/gateway_bot.py @@ -823,7 +823,9 @@ def run( ) ) - loop.run_until_complete(self.join()) + if self._closed_event is not None: + # The user might have closed the bot during startup, respect it + loop.run_until_complete(self.join()) finally: try: @@ -929,6 +931,10 @@ async def start( self._voice.start() await self._event_manager.dispatch(self._event_factory.deserialize_starting_event()) + if self._closed_event is None: + # If the user requested to close the bot before startup, respect it + return + requirements = await self._rest.fetch_gateway_bot_info() if shard_count is None: diff --git a/hikari/impl/rest_bot.py b/hikari/impl/rest_bot.py index eeb10f9373..de7f933a79 100644 --- a/hikari/impl/rest_bot.py +++ b/hikari/impl/rest_bot.py @@ -586,7 +586,10 @@ def run( ssl_context=ssl_context, ) ) - loop.run_until_complete(self.join()) + + if self._close_event is not None: + # The user might have closed the bot during startup, respect it + loop.run_until_complete(self.join()) finally: try: @@ -677,6 +680,10 @@ async def start( await self._rest.close() raise + if self._close_event is None: + # If the user requested to close the bot before startup, respect it + return + await self._server.start( backlog=backlog, host=host,