diff options
| author | 2024-02-18 20:00:25 +0100 | |
|---|---|---|
| committer | 2024-03-18 11:37:57 +0100 | |
| commit | 0f8d49428a0e048b9b460f235fbe36d6be10d05f (patch) | |
| tree | 14bbaa5b5fd75d286900922a004e37c8a8f43155 | |
| parent | subclass CommandTree (diff) | |
expose a way for registering the command error manager
The manager instance needs to be bound "late" due to the bot since error handlers might need an instance of bot to work
| -rw-r--r-- | pydis_core/_bot.py | 12 | 
1 files changed, 12 insertions, 0 deletions
| diff --git a/pydis_core/_bot.py b/pydis_core/_bot.py index 08dca6a4..783715dd 100644 --- a/pydis_core/_bot.py +++ b/pydis_core/_bot.py @@ -95,9 +95,11 @@ class BotBase(commands.Bot):          super().__init__(              *args,              allowed_roles=allowed_roles, +            tree_cls=CommandTreeBase,              **kwargs,          ) +        self.command_error_manager: CommandErrorManager | None = None          self.guild_id = guild_id          self.http_session = http_session          self.api_client = api_client @@ -119,6 +121,16 @@ class BotBase(commands.Bot):          self.all_extensions: frozenset[str] | None = None +    def register_command_error_manager(self, manager: CommandErrorManager) -> None: +        """ +        Bind an instance of the command error manager to both the bot and the command tree. + +        The reason this doesn't happen in the constructor is because error handlers might need an instance of the bot. +        So registration needs to happen once the bot instance has been created. +        """ +        self.command_error_manager = manager +        self.tree.command_error_manager = manager +      def _connect_statsd(          self,          statsd_url: str, | 
