]> apps.delaporte.us Git - matrix-goal-bot.git/blobdiff - app.py
Update to procrastinate
[matrix-goal-bot.git] / app.py
diff --git a/app.py b/app.py
index a4a639560ca3b30ced18778f202e4d75251fd96b..15314522a1f0774bb223ff27ce47d0945b87f2ba 100644 (file)
--- a/app.py
+++ b/app.py
@@ -1,9 +1,40 @@
-from goals.bot import get_bot, goal_bot
+import logging
+import os
 
-bot = get_bot()
+from matrix_goal_bot.bot import GoalBot
 
-@bot.listener.on_message_event
-def do_bot_stuff(room, message):
-    goal_bot(room, message)
+logging.basicConfig(filename='matrix-goal-bot.log', encoding='utf-8', level=logging.DEBUG)
+logging.getLogger('nio').setLevel(logging.WARNING)
+logging.getLogger('asyncio').setLevel(logging.WARNING)
+
+logger = logging.getLogger(__name__)
+logger.info("Starting goal bot...")
+
+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
+kwargs['bot_prefix'] = os.environ.get('MATRIX_BOT_PREFIX', '!goal')
+
+logger.info(f'Goal bot will connect to {kwargs["matrix_server"]} as {kwargs["bot_name"]}')
+
+# Where to store data
+DATA_DIR = os.environ.get('MATRIX_DATA_DIR', '')
+DB_FILE = os.environ.get('MATRIX_DB_FILE', 'goal.db')
+kwargs['db_file'] = os.path.join(DATA_DIR, DB_FILE)
+
+logger.info(f'Goal bot will store data at {kwargs["db_file"]}')
+
+
+goal_bot = GoalBot(**kwargs) 
+
+@goal_bot.bot.listener.on_message_event
+async def do_bot_stuff(room, message):
+    '''Pass messages to our bot'''
+    await goal_bot.handle_message(room, message)
+
+goal_bot.run()
 
-bot.run()