aboutsummaryrefslogtreecommitdiffstats
path: root/bot/bot.py
blob: a40ed0d40ed74fe880b5f449740d8b583f2213b1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
from os import environ
from pathlib import Path
from sys import stderr
from traceback import print_exc, format_exc

from discord.ext import commands
import logging

HACKTOBERBOT_TOKEN = environ.get('HACKTOBERBOT_TOKEN')

if HACKTOBERBOT_TOKEN:
    token_dl = len(HACKTOBERBOT_TOKEN) // 8
    logging.info(f'Bot token loaded: {HACKTOBERBOT_TOKEN[:token_dl]}...{HACKTOBERBOT_TOKEN[-token_dl:]}')
else:
    logging.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))

logging.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}')
            logging.info(f'Successfully loaded extension: {extension}')
        except Exception as e:
            logging.error(f'Failed to load extension {extension}: {repr(e)} {format_exc()}')
            # print(f'Failed to load extension {extension}.', file=stderr)
            # print_exc()

logging.info(f'Spooky Launch Sequence Initiated...')

bot.run(HACKTOBERBOT_TOKEN)

logging.info(f'HackBot has been slain!')