aboutsummaryrefslogtreecommitdiffstats
path: root/bot/__init__.py
diff options
context:
space:
mode:
authorGravatar Chris <[email protected]>2021-05-16 15:27:58 +0100
committerGravatar Chris <[email protected]>2021-05-16 15:27:58 +0100
commit0585e210949ef808417d181579081416fa73fd18 (patch)
treed5f3a9102f420506f823ee9593857b4098d1af38 /bot/__init__.py
parentChange authors value in pyproject.toml (diff)
parentSpring cleanup (#718) (diff)
Merge branch 'main' into pipenv-to-poetry
Diffstat (limited to 'bot/__init__.py')
-rw-r--r--bot/__init__.py18
1 files changed, 16 insertions, 2 deletions
diff --git a/bot/__init__.py b/bot/__init__.py
index ffd43d1f..85ae4758 100644
--- a/bot/__init__.py
+++ b/bot/__init__.py
@@ -9,11 +9,15 @@ import asyncio
import logging
import logging.handlers
import os
+from functools import partial, partialmethod
from pathlib import Path
import arrow
+from discord.ext import commands
+from bot.command import Command
from bot.constants import Client
+from bot.group import Group
# Configure the "TRACE" logging level (e.g. "log.trace(message)")
@@ -63,17 +67,27 @@ if root.handlers:
logging.getLogger("discord").setLevel(logging.ERROR)
logging.getLogger("websockets").setLevel(logging.ERROR)
logging.getLogger("PIL").setLevel(logging.ERROR)
+logging.getLogger("matplotlib").setLevel(logging.ERROR)
# Setup new logging configuration
logging.basicConfig(
- format='%(asctime)s - %(name)s %(levelname)s: %(message)s',
+ format="%(asctime)s - %(name)s %(levelname)s: %(message)s",
datefmt="%D %H:%M:%S",
level=logging.TRACE if Client.debug else logging.DEBUG,
handlers=[console_handler, file_handler],
)
-logging.getLogger().info('Logging initialization complete')
+logging.getLogger().info("Logging initialization complete")
# On Windows, the selector event loop is required for aiodns.
if os.name == "nt":
asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
+
+
+# Monkey-patch discord.py decorators to use the both the Command and Group subclasses 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.group = partial(commands.group, cls=Group)
+commands.GroupMixin.group = partialmethod(commands.GroupMixin.group, cls=Group)