aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bot/__init__.py9
-rw-r--r--bot/command.py18
-rw-r--r--bot/monkey_patches.py (renamed from bot/typing.py)18
3 files changed, 22 insertions, 23 deletions
diff --git a/bot/__init__.py b/bot/__init__.py
index 70ff03fd4..a1c4466f1 100644
--- a/bot/__init__.py
+++ b/bot/__init__.py
@@ -5,8 +5,7 @@ from typing import TYPE_CHECKING
from discord.ext import commands
-from bot import log, typing
-from bot.command import Command
+from bot import log, monkey_patches
if TYPE_CHECKING:
from bot.bot import Bot
@@ -17,11 +16,11 @@ log.setup()
if os.name == "nt":
asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
-typing.patch_typing()
+monkey_patches.patch_typing()
# Monkey-patch discord.py decorators to use the Command subclass which supports root aliases.
# Must be patched before any cogs are added.
-commands.command = partial(commands.command, cls=Command)
-commands.GroupMixin.command = partialmethod(commands.GroupMixin.command, cls=Command)
+commands.command = partial(commands.command, cls=monkey_patches.Command)
+commands.GroupMixin.command = partialmethod(commands.GroupMixin.command, cls=monkey_patches.Command)
instance: "Bot" = None # Global Bot instance.
diff --git a/bot/command.py b/bot/command.py
deleted file mode 100644
index 0fb900f7b..000000000
--- a/bot/command.py
+++ /dev/null
@@ -1,18 +0,0 @@
-from discord.ext import commands
-
-
-class Command(commands.Command):
- """
- A `discord.ext.commands.Command` subclass which supports root aliases.
-
- A `root_aliases` keyword argument is added, which is a sequence of alias names that will act as
- top-level commands rather than being aliases of the command's group. It's stored as an attribute
- also named `root_aliases`.
- """
-
- def __init__(self, *args, **kwargs):
- super().__init__(*args, **kwargs)
- self.root_aliases = kwargs.get("root_aliases", [])
-
- if not isinstance(self.root_aliases, (list, tuple)):
- raise TypeError("Root aliases of a command must be a list or a tuple of strings.")
diff --git a/bot/typing.py b/bot/monkey_patches.py
index 4b1df3f2f..9c0a22bfb 100644
--- a/bot/typing.py
+++ b/bot/monkey_patches.py
@@ -2,10 +2,28 @@ import logging
from datetime import datetime, timedelta
from discord import Forbidden, http
+from discord.ext import commands
log = logging.getLogger(__name__)
+class Command(commands.Command):
+ """
+ A `discord.ext.commands.Command` subclass which supports root aliases.
+
+ A `root_aliases` keyword argument is added, which is a sequence of alias names that will act as
+ top-level commands rather than being aliases of the command's group. It's stored as an attribute
+ also named `root_aliases`.
+ """
+
+ def __init__(self, *args, **kwargs):
+ super().__init__(*args, **kwargs)
+ self.root_aliases = kwargs.get("root_aliases", [])
+
+ if not isinstance(self.root_aliases, (list, tuple)):
+ raise TypeError("Root aliases of a command must be a list or a tuple of strings.")
+
+
def patch_typing() -> None:
"""
Sometimes discord turns off typing events by throwing 403's.