X-Git-Url: https://us-delaporte.pagekite.me/gitweb/matrix-cadbury.git/blobdiff_plain/63002ce55d83025446db2d0ea81de96cedcd9aa2..d26d68941e97215b1d62524c55aa06a4dafb384e:/app.py diff --git a/app.py b/app.py index 3b80207..93e47ef 100644 --- a/app.py +++ b/app.py @@ -1,26 +1,53 @@ import os -import simplematrixbotlib as botlib - from matrix_goal_bot.bot import get_bot, goal_bot -from matrix_chore_bot.bot import chore_bot +from matrix_shop_bot.bot import shop_bot +from matrix_chore_bot.bot import ChoreBot SERVER = os.environ.get('MATRIX_SERVER') BOT_NAME = os.environ.get('MATRIX_BOT') BOT_PWD = os.environ.get('MATRIX_BOT_PWD') -creds = botlib.Creds(SERVER, BOT_NAME, BOT_PWD) -bot = botlib.Bot(creds) +kwargs = {} +# How to connect to Matrix +kwargs['matrix_server'] = os.environ.get('MATRIX_SERVER') +kwargs['bot_name'] = os.environ.get('MATRIX_BOT') +kwargs['bot_pwd'] = os.environ.get('MATRIX_BOT_PWD') + +# Prefix to listen for + +# Where to store data +DATA_DIR = os.environ.get('MATRIX_DATA_DIR', '') +DB_FILE = os.environ.get('CHORE_DB_FILE', 'chore.db') +kwargs['db_file'] = os.path.join(DATA_DIR, DB_FILE) +kwargs['bot_prefix'] = os.environ.get('CHORE_BOT_PREFIX', '!chore') +chore_bot = ChoreBot(**kwargs) +bot = chore_bot.bot + +@bot.listener.on_message_event +async def do_chore_stuff(room, message): + await chore_bot.handle_message(room, message) + +# Re-use chore_bot's inner bot for goal and shopping @bot.listener.on_message_event async def do_goal_stuff(room, message): await goal_bot(room, message, bot) - @bot.listener.on_message_event -async def do_chore_stuff(room, message): - await chore_bot(room, message, bot) +async def do_shopping_stuff(room, message): + await shop_bot(room, message, bot) +# New bot for daily school, using ChoreBot source code +kwargs['bot_prefix'] = os.environ.get('SCHOOL_BOT_PREFIX', '!school') +DB_FILE = os.environ.get('SCHOOL_DB_FILE', 'school.db') +kwargs['db_file'] = os.path.join(DATA_DIR, DB_FILE) +school_bot = ChoreBot(**kwargs) +school_bot.bot = bot + +@bot.listener.on_message_event +async def do_school_stuff(room, message): + await school_bot.handle_message(room, message) -bot.run() +chore_bot.run()