From 76eb582e304e52d7619c45d181f8cb0f00d2ac90 Mon Sep 17 00:00:00 2001 From: Chris Lovering Date: Tue, 25 Jul 2023 11:59:37 +0100 Subject: Add BotBase.wait_until_bot_started which can be used to hold a process until all extensions are loaded. --- pydis_core/_bot.py | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'pydis_core') diff --git a/pydis_core/_bot.py b/pydis_core/_bot.py index 10cab457..a94dff56 100644 --- a/pydis_core/_bot.py +++ b/pydis_core/_bot.py @@ -231,6 +231,12 @@ class BotBase(commands.Bot): """ await self._guild_available.wait() + async def process_commands(self, message: discord.Message) -> None: + """Wait until all extensions are loaded before processing commands.""" + if self._extension_loading_task: + await self._extension_loading_task + await super().process_commands(message) + async def setup_hook(self) -> None: """ An async init to startup generic services. -- cgit v1.2.3 From 2da733d7febe4bc0ff78fd0074811b829118161c Mon Sep 17 00:00:00 2001 From: Chris Lovering Date: Tue, 25 Jul 2023 14:19:04 +0100 Subject: fixup: Update BotBase.process_commands docstring to be more explicit --- pydis_core/_bot.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'pydis_core') diff --git a/pydis_core/_bot.py b/pydis_core/_bot.py index a94dff56..6a3d3886 100644 --- a/pydis_core/_bot.py +++ b/pydis_core/_bot.py @@ -232,7 +232,11 @@ class BotBase(commands.Bot): await self._guild_available.wait() async def process_commands(self, message: discord.Message) -> None: - """Wait until all extensions are loaded before processing commands.""" + """ + Overwrite default Discord.py behaviour to process commands only after ensuring extensions are loaded. + + This extension check is only relevant for clients that make use of :obj:`pydis_core.BotBase.load_extensions`. + """ if self._extension_loading_task: await self._extension_loading_task await super().process_commands(message) -- cgit v1.2.3