diff options
Diffstat (limited to 'bot/cogs/error_handler.py')
| -rw-r--r-- | bot/cogs/error_handler.py | 106 |
1 files changed, 0 insertions, 106 deletions
diff --git a/bot/cogs/error_handler.py b/bot/cogs/error_handler.py deleted file mode 100644 index 79780251..00000000 --- a/bot/cogs/error_handler.py +++ /dev/null @@ -1,106 +0,0 @@ -import logging
-import math
-import sys
-import traceback
-
-from discord.ext import commands
-
-
-class CommandErrorHandler:
- """A error handler for the PythonDiscord server!"""
-
- def __init__(self, bot):
- self.bot = bot
-
- async def on_command_error(self, ctx, error):
- """Activates when a command opens an error"""
-
- if hasattr(ctx.command, 'on_error'):
- return logging.debug(
- "A command error occured but " +
- "the command had it's own error handler"
- )
- error = getattr(error, 'original', error)
- if isinstance(error, commands.CommandNotFound):
- return logging.debug(
- f"{ctx.author} called '{ctx.message.content}' " +
- "but no command was found"
- )
- if isinstance(error, commands.UserInputError):
- logging.debug(
- f"{ctx.author} called the command '{ctx.command}' " +
- "but entered invalid input!"
- )
- return await ctx.send(
- ":no_entry: The command you specified failed to run." +
- "This is because the arguments you provided were invalid."
- )
- if isinstance(error, commands.CommandOnCooldown):
- logging.debug(
- f"{ctx.author} called the command '{ctx.command}' " +
- "but they were on cooldown!"
- )
- return await ctx.send(
- "This command is on cooldown," +
- f" please retry in {math.ceil(error.retry_after)}s."
- )
- if isinstance(error, commands.DisabledCommand):
- logging.debug(
- f"{ctx.author} called the command '{ctx.command}' " +
- "but the command was disabled!"
- )
- return await ctx.send(
- ":no_entry: This command has been disabled."
- )
- if isinstance(error, commands.NoPrivateMessage):
- logging.debug(
- f"{ctx.author} called the command '{ctx.command}' " +
- "in a private message however the command was guild only!"
- )
- return await ctx.author.send(
- ":no_entry: This command can only be used inside a server."
- )
- if isinstance(error, commands.BadArgument):
- if ctx.command.qualified_name == 'tag list':
- logging.debug(
- f"{ctx.author} called the command '{ctx.command}' " +
- "but entered an invalid user!"
- )
- return await ctx.send(
- "I could not find that member. Please try again."
- )
- else:
- logging.debug(
- f"{ctx.author} called the command '{ctx.command}' " +
- "but entered a bad argument!"
- )
- return await ctx.send(
- "The argument you provided was invalid."
- )
- if isinstance(error, commands.CheckFailure):
- logging.debug(
- f"{ctx.author} called the command '{ctx.command}' " +
- "but the checks failed!"
- )
- return await ctx.send(
- ":no_entry: You are not authorized to use this command."
- )
- print(
- f"Ignoring exception in command {ctx.command}:",
- file=sys.stderr
- )
- logging.warning(
- f"{ctx.author} called the command '{ctx.command}' " +
- "however the command failed to run with the error:" +
- f"-------------\n{error}"
- )
- traceback.print_exception(
- type(error),
- error,
- error.__traceback__,
- file=sys.stderr
- )
-
-
-def setup(bot):
- bot.add_cog(CommandErrorHandler(bot))
|