diff options
Diffstat (limited to 'bot/exts/backend')
| -rw-r--r-- | bot/exts/backend/error_handler.py | 22 | 
1 files changed, 9 insertions, 13 deletions
| diff --git a/bot/exts/backend/error_handler.py b/bot/exts/backend/error_handler.py index da0e94a7e..d8de177f5 100644 --- a/bot/exts/backend/error_handler.py +++ b/bot/exts/backend/error_handler.py @@ -1,4 +1,3 @@ -import contextlib  import difflib  import logging  import typing as t @@ -60,7 +59,7 @@ class ErrorHandler(Cog):              log.trace(f"Command {command} had its error already handled locally; ignoring.")              return -        if isinstance(e, errors.CommandNotFound) and not hasattr(ctx, "invoked_from_error_handler"): +        if isinstance(e, errors.CommandNotFound) and not getattr(ctx, "invoked_from_error_handler", False):              if await self.try_silence(ctx):                  return              # Try to look for a tag with the command's name @@ -162,9 +161,8 @@ class ErrorHandler(Cog):                  f"and the fallback tag failed validation in TagNameConverter."              )          else: -            with contextlib.suppress(ResponseCodeError): -                if await ctx.invoke(tags_get_command, tag_name=tag_name): -                    return +            if await ctx.invoke(tags_get_command, tag_name=tag_name): +                return          if not any(role.id in MODERATION_ROLES for role in ctx.author.roles):              await self.send_command_suggestion(ctx, ctx.invoked_with) @@ -214,32 +212,30 @@ class ErrorHandler(Cog):          * ArgumentParsingError: send an error message          * Other: send an error message and the help command          """ -        prepared_help_command = self.get_help_command(ctx) -          if isinstance(e, errors.MissingRequiredArgument):              embed = self._get_error_embed("Missing required argument", e.param.name)              await ctx.send(embed=embed) -            await prepared_help_command +            await self.get_help_command(ctx)              self.bot.stats.incr("errors.missing_required_argument")          elif isinstance(e, errors.TooManyArguments):              embed = self._get_error_embed("Too many arguments", str(e))              await ctx.send(embed=embed) -            await prepared_help_command +            await self.get_help_command(ctx)              self.bot.stats.incr("errors.too_many_arguments")          elif isinstance(e, errors.BadArgument):              embed = self._get_error_embed("Bad argument", str(e))              await ctx.send(embed=embed) -            await prepared_help_command +            await self.get_help_command(ctx)              self.bot.stats.incr("errors.bad_argument")          elif isinstance(e, errors.BadUnionArgument):              embed = self._get_error_embed("Bad argument", f"{e}\n{e.errors[-1]}")              await ctx.send(embed=embed) -            await prepared_help_command +            await self.get_help_command(ctx)              self.bot.stats.incr("errors.bad_union_argument")          elif isinstance(e, errors.ArgumentParsingError):              embed = self._get_error_embed("Argument parsing error", str(e))              await ctx.send(embed=embed) -            prepared_help_command.close() +            self.get_help_command(ctx).close()              self.bot.stats.incr("errors.argument_parsing_error")          else:              embed = self._get_error_embed( @@ -247,7 +243,7 @@ class ErrorHandler(Cog):                  "Something about your input seems off. Check the arguments and try again."              )              await ctx.send(embed=embed) -            await prepared_help_command +            await self.get_help_command(ctx)              self.bot.stats.incr("errors.other_user_input_error")      @staticmethod | 
