Files
contest-assistant/main.py

39 lines
1.1 KiB
Python

import logging
from sqlalchemy import create_engine
from sqlalchemy.engine import Engine
from bot import constants
from bot.bot import ContestBot
from bot.models import Base
def load_db(url=constants.DATABASE_URI) -> Engine:
engine = create_engine(url)
Base.metadata.create_all(engine)
return engine
if __name__ == "__main__":
logger = logging.getLogger(__file__)
logger.setLevel(constants.LOGGING_LEVEL)
# noinspection PyArgumentList
logging.basicConfig(format='[%(asctime)s] [%(levelname)s] [%(funcName)s] %(message)s',
handlers=[
logging.FileHandler(f"bot.log", encoding='utf-8'),
logging.StreamHandler()
])
initial_extensions = ['bot.cogs.contest']
engine = load_db()
bot = ContestBot(engine, description='A assistant for the Photography Lounge\'s monday contests')
for extension in initial_extensions:
bot.load_extension(extension)
logger.info('Starting bot...')
with open('token.dat', 'r') as file:
bot.run(file.read(), bot=True, reconnect=True)