aboutsummaryrefslogtreecommitdiffstats
path: root/bot/__main__.py
diff options
context:
space:
mode:
authorGravatar Leon Sandøy <[email protected]>2018-10-11 12:21:46 +0200
committerGravatar GitHub <[email protected]>2018-10-11 12:21:46 +0200
commitf51e7a3bc7517ff6843a6fea28c9772d262e970e (patch)
treea800567d389918002f97a31ee9348658e7d3ce18 /bot/__main__.py
parentMerge pull request #34 from markylon/master (diff)
parentMade the movie formatter less naïve. It no longer crashes if TMDB's return d... (diff)
Merge pull request #41 from discord-python/fixup
Various critical fixes.
Diffstat (limited to 'bot/__main__.py')
-rw-r--r--bot/__main__.py39
1 files changed, 39 insertions, 0 deletions
diff --git a/bot/__main__.py b/bot/__main__.py
new file mode 100644
index 00000000..2c41d2d9
--- /dev/null
+++ b/bot/__main__.py
@@ -0,0 +1,39 @@
+import logging
+from os import environ
+from pathlib import Path
+from traceback import format_exc
+
+from discord.ext import commands
+
+HACKTOBERBOT_TOKEN = environ.get('HACKTOBERBOT_TOKEN')
+log = logging.getLogger()
+
+if HACKTOBERBOT_TOKEN:
+ token_dl = len(HACKTOBERBOT_TOKEN) // 8
+ log.info(f'Bot token loaded: {HACKTOBERBOT_TOKEN[:token_dl]}...{HACKTOBERBOT_TOKEN[-token_dl:]}')
+else:
+ log.error(f'Bot token not found: {HACKTOBERBOT_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 ./cogs/')
+
+
+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('cogs').glob('*.py')]
+ for extension in cogs:
+ try:
+ bot.load_extension(f'cogs.{extension}')
+ log.info(f'Successfully loaded extension: {extension}')
+ except Exception as e:
+ log.error(f'Failed to load extension {extension}: {repr(e)} {format_exc()}')
+ # print(f'Failed to load extension {extension}.', file=stderr)
+ # print_exc()
+
+log.info(f'Spooky Launch Sequence Initiated...')
+
+bot.run(HACKTOBERBOT_TOKEN)
+
+log.info(f'HackBot has been slain!')