diff --git a/discord/ext/commands/cog.py b/discord/ext/commands/cog.py index bea69c04c..57c78b4ef 100644 --- a/discord/ext/commands/cog.py +++ b/discord/ext/commands/cog.py @@ -296,6 +296,13 @@ class Cog(metaclass=CogMeta): return func return decorator + def has_error_handler(self): + """:class:`bool`: Checks whether the cog has an error handler. + + .. versionadded:: 1.7 + """ + return hasattr(self.cog_command_error.__func__, '__cog_special_method__') + @_cog_special_method def cog_unload(self): """A special method that is called when the cog gets removed. diff --git a/discord/ext/commands/core.py b/discord/ext/commands/core.py index b62eadb5e..b17f878c3 100644 --- a/discord/ext/commands/core.py +++ b/discord/ext/commands/core.py @@ -904,6 +904,13 @@ class Command(_BaseCommand): self.on_error = coro return coro + def has_error_handler(self): + """:class:`bool`: Checks whether the command has an error handler registered. + + .. versionadded:: 1.7 + """ + return hasattr(self, 'on_error') + def before_invoke(self, coro): """A decorator that registers a coroutine as a pre-invoke hook.