X-Git-Url: https://apps.delaporte.us/gitweb/matrix-cadbury.git/blobdiff_plain/86c8257c4a5eda9207122b194073a297804a2495..01941f7f12cd7bda3e1ebeb7f5f5ad77aec712db:/app.py diff --git a/app.py b/app.py index 93e47ef..502e940 100644 --- a/app.py +++ b/app.py @@ -1,12 +1,9 @@ import os -from matrix_goal_bot.bot import get_bot, goal_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') +from matrix_fridge_bot.bot import FridgeBot +from matrix_goal_bot.bot import GoalBot +from matrix_shop_bot.bot import shop_bot kwargs = {} # How to connect to Matrix @@ -20,27 +17,47 @@ kwargs['bot_pwd'] = os.environ.get('MATRIX_BOT_PWD') 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') +kwargs['bot_prefix'] = os.environ.get('CHORE_BOT_PREFIX', '.chore') chore_bot = ChoreBot(**kwargs) + + +# Re-use chore_bot's inner bot for goal and shopping 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 +# Fridge Bot +DB_FILE = os.environ.get('GOAL_DB_FILE', 'fridge.db') +kwargs['db_file'] = os.path.join(DATA_DIR, DB_FILE) +kwargs['bot_prefix'] = os.environ.get('GOAL_BOT_PREFIX', '.fridge') +fridge_bot = FridgeBot(**kwargs) +fridge_bot.bot = bot + +@bot.listener.on_message_event +async def do_fridge_stuff(room, message): + await fridge_bot.handle_message(room, message) + +# Goal bot +DB_FILE = os.environ.get('GOAL_DB_FILE', 'goal.db') +kwargs['db_file'] = os.path.join(DATA_DIR, DB_FILE) +kwargs['bot_prefix'] = os.environ.get('GOAL_BOT_PREFIX', '.goal') +goal_bot = GoalBot(**kwargs) +goal_bot.bot = bot @bot.listener.on_message_event async def do_goal_stuff(room, message): - await goal_bot(room, message, bot) + await goal_bot.handle_message(room, message) +# Shop bot has not been updated to use a class object. @bot.listener.on_message_event 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') +# Bot for daily school tasks, 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)