diff options
Diffstat (limited to 'bot/converters.py')
| -rw-r--r-- | bot/converters.py | 17 | 
1 files changed, 16 insertions, 1 deletions
diff --git a/bot/converters.py b/bot/converters.py index 5637ab8b2..f18b2f6c7 100644 --- a/bot/converters.py +++ b/bot/converters.py @@ -4,7 +4,7 @@ from ssl import CertificateError  import discord  from aiohttp import AsyncResolver, ClientConnectorError, ClientSession, TCPConnector -from discord.ext.commands import BadArgument, Converter +from discord.ext.commands import BadArgument, Converter, UserConverter  from fuzzywuzzy import fuzz  from bot.constants import DEBUG_MODE, Keys, URLs @@ -157,3 +157,18 @@ class ValidURL(Converter):          except ClientConnectorError:              raise BadArgument(f"Cannot connect to host with URL `{url}`.")          return url + + +class InfractionSearchQuery(Converter): +    """ +    A converter that checks if the argument is a Discord user, and if not, falls back to a string. +    """ + +    @staticmethod +    async def convert(ctx, arg): +        try: +            user_converter = UserConverter() +            user = await user_converter.convert(ctx, arg) +        except Exception: +            return arg +        return user or arg  |