aboutsummaryrefslogtreecommitdiffstats
path: root/bot/__main__.py
diff options
context:
space:
mode:
Diffstat (limited to 'bot/__main__.py')
-rw-r--r--bot/__main__.py33
1 files changed, 33 insertions, 0 deletions
diff --git a/bot/__main__.py b/bot/__main__.py
new file mode 100644
index 00000000..b74e4f54
--- /dev/null
+++ b/bot/__main__.py
@@ -0,0 +1,33 @@
+import logging
+from os import environ
+from pathlib import Path
+from traceback import format_exc
+
+from discord.ext import commands
+
+SEASONALBOT_TOKEN = environ.get('SEASONALBOT_TOKEN')
+log = logging.getLogger()
+
+if SEASONALBOT_TOKEN:
+ token_dl = len(SEASONALBOT_TOKEN) // 8
+ log.info(f'Bot token loaded: {SEASONALBOT_TOKEN[:token_dl]}...{SEASONALBOT_TOKEN[-token_dl:]}')
+else:
+ log.error(f'Bot token not found: {SEASONALBOT_TOKEN}')
+
+ghost_unicode = "\N{GHOST}"
+bot = commands.Bot(command_prefix=commands.when_mentioned_or(".", f"{ghost_unicode} ", ghost_unicode))
+
+log.info('Start loading extensions from ./bot/cogs/halloween/')
+
+
+if __name__ == '__main__':
+ # Scan for files in the /cogs/ directory and make a list of the file names.
+ cogs = [file.stem for file in Path('bot', 'cogs', 'hacktober').glob('*.py') if not file.stem.startswith("__")]
+ for extension in cogs:
+ try:
+ bot.load_extension(f'bot.cogs.hacktober.{extension}')
+ log.info(f'Successfully loaded extension: {extension}')
+ except Exception as e:
+ log.error(f'Failed to load extension {extension}: {repr(e)} {format_exc()}')
+
+bot.run(SEASONALBOT_TOKEN)