aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bot/__main__.py70
1 files changed, 9 insertions, 61 deletions
diff --git a/bot/__main__.py b/bot/__main__.py
index 555847357..8770ac31b 100644
--- a/bot/__main__.py
+++ b/bot/__main__.py
@@ -9,7 +9,9 @@ from sentry_sdk.integrations.redis import RedisIntegration
from bot import constants, patches
from bot.bot import Bot
+from bot.utils.extensions import EXTENSIONS
+# Set up Sentry.
sentry_logging = LoggingIntegration(
level=logging.DEBUG,
event_level=logging.WARNING
@@ -24,6 +26,7 @@ sentry_sdk.init(
]
)
+# Instantiate the bot.
allowed_roles = [discord.Object(id_) for id_ in constants.MODERATION_ROLES]
bot = Bot(
command_prefix=when_mentioned_or(constants.Bot.prefix),
@@ -33,68 +36,13 @@ bot = Bot(
allowed_mentions=discord.AllowedMentions(everyone=False, roles=allowed_roles)
)
-# Backend
-bot.load_extension("bot.exts.backend.config_verifier")
-bot.load_extension("bot.exts.backend.error_handler")
-bot.load_extension("bot.exts.backend.logging")
-bot.load_extension("bot.exts.backend.sync")
+# Load extensions.
+extensions = set(EXTENSIONS) # Create a mutable copy.
+if not constants.HelpChannels.enable:
+ extensions.remove("bot.exts.help_channels")
-# Filters
-bot.load_extension("bot.exts.filters.antimalware")
-bot.load_extension("bot.exts.filters.antispam")
-bot.load_extension("bot.exts.filters.filter_lists")
-bot.load_extension("bot.exts.filters.filtering")
-bot.load_extension("bot.exts.filters.security")
-bot.load_extension("bot.exts.filters.token_remover")
-bot.load_extension("bot.exts.filters.webhook_remover")
-
-# Info
-bot.load_extension("bot.exts.info.doc")
-bot.load_extension("bot.exts.info.help")
-bot.load_extension("bot.exts.info.information")
-bot.load_extension("bot.exts.info.python_news")
-bot.load_extension("bot.exts.info.reddit")
-bot.load_extension("bot.exts.info.site")
-bot.load_extension("bot.exts.info.source")
-bot.load_extension("bot.exts.info.stats")
-bot.load_extension("bot.exts.info.tags")
-bot.load_extension("bot.exts.info.wolfram")
-
-# Moderation
-bot.load_extension("bot.exts.moderation.defcon")
-bot.load_extension("bot.exts.moderation.incidents")
-bot.load_extension("bot.exts.moderation.modlog")
-bot.load_extension("bot.exts.moderation.silence")
-bot.load_extension("bot.exts.moderation.slowmode")
-bot.load_extension("bot.exts.moderation.verification")
-
-# Moderation - Infraction
-bot.load_extension("bot.exts.moderation.infraction.infractions")
-bot.load_extension("bot.exts.moderation.infraction.management")
-bot.load_extension("bot.exts.moderation.infraction.superstarify")
-
-# Moderation - Watchchannels
-bot.load_extension("bot.exts.moderation.watchchannels.bigbrother")
-bot.load_extension("bot.exts.moderation.watchchannels.talentpool")
-
-# Utils
-bot.load_extension("bot.exts.utils.bot")
-bot.load_extension("bot.exts.utils.clean")
-bot.load_extension("bot.exts.utils.eval")
-bot.load_extension("bot.exts.utils.extensions")
-bot.load_extension("bot.exts.utils.jams")
-bot.load_extension("bot.exts.utils.reminders")
-bot.load_extension("bot.exts.utils.snekbox")
-bot.load_extension("bot.exts.utils.utils")
-
-# Misc
-bot.load_extension("bot.exts.alias")
-bot.load_extension("bot.exts.dm_relay")
-bot.load_extension("bot.exts.duck_pond")
-bot.load_extension("bot.exts.off_topic_names")
-
-if constants.HelpChannels.enable:
- bot.load_extension("bot.exts.help_channels")
+for extension in extensions:
+ bot.load_extension(extension)
# Apply `message_edited_at` patch if discord.py did not yet release a bug fix.
if not hasattr(discord.message.Message, '_handle_edited_timestamp'):