aboutsummaryrefslogtreecommitdiffstats
path: root/bot/converters.py
diff options
context:
space:
mode:
Diffstat (limited to 'bot/converters.py')
-rw-r--r--bot/converters.py17
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