From 9c109ae59bbc79712032630ebc4c73a84f70b703 Mon Sep 17 00:00:00 2001 From: Sebastian Law Date: Wed, 20 Jul 2022 19:31:14 -0700 Subject: [PATCH] [commands] Unload cog when command registration fails in _inject --- discord/ext/commands/cog.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/discord/ext/commands/cog.py b/discord/ext/commands/cog.py index 65b691be5..19d684a6f 100644 --- a/discord/ext/commands/cog.py +++ b/discord/ext/commands/cog.py @@ -616,7 +616,10 @@ class Cog(metaclass=CogMeta): for to_undo in self.__cog_commands__[:index]: if to_undo.parent is None: bot.remove_command(to_undo.name) - raise e + try: + await maybe_coroutine(self.cog_unload) + finally: + raise e # check if we're overriding the default if cls.bot_check is not Cog.bot_check: