aboutsummaryrefslogtreecommitdiffstats
path: root/bot/exts/info/source.py
diff options
context:
space:
mode:
Diffstat (limited to 'bot/exts/info/source.py')
-rw-r--r--bot/exts/info/source.py37
1 files changed, 2 insertions, 35 deletions
diff --git a/bot/exts/info/source.py b/bot/exts/info/source.py
index 723ae5aba..e3e7029ca 100644
--- a/bot/exts/info/source.py
+++ b/bot/exts/info/source.py
@@ -2,50 +2,17 @@ import inspect
from pathlib import Path
from typing import Optional, Tuple, Union
-from discord import Embed, utils
+from discord import Embed
from discord.ext import commands
from bot.bot import Bot
from bot.constants import URLs
+from bot.converters import SourceConverter
from bot.exts.info.tags import TagIdentifier
SourceType = Union[commands.HelpCommand, commands.Command, commands.Cog, TagIdentifier, commands.ExtensionNotLoaded]
-class SourceConverter(commands.Converter):
- """Convert an argument into a help command, tag, command, or cog."""
-
- @staticmethod
- async def convert(ctx: commands.Context, argument: str) -> SourceType:
- """Convert argument into source object."""
- if argument.lower() == "help":
- return ctx.bot.help_command
-
- cog = ctx.bot.get_cog(argument)
- if cog:
- return cog
-
- cmd = ctx.bot.get_command(argument)
- if cmd:
- return cmd
-
- tags_cog = ctx.bot.get_cog("Tags")
- show_tag = True
-
- if not tags_cog:
- show_tag = False
- else:
- identifier = TagIdentifier.from_string(argument.lower())
- if identifier in tags_cog.tags:
- return identifier
-
- escaped_arg = utils.escape_markdown(argument)
-
- raise commands.BadArgument(
- f"Unable to convert '{escaped_arg}' to valid command{', tag,' if show_tag else ''} or Cog."
- )
-
-
class BotSource(commands.Cog):
"""Displays information about the bot's source code."""