aboutsummaryrefslogtreecommitdiffstats
path: root/bot/__main__.py
blob: b74e4f5482619083f18d2084ce0bd6f8c55a8a7a (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
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)