]> apps.delaporte.us Git - matrix-goal-bot.git/blobdiff - matrix_goal_bot/bot.py
Update help
[matrix-goal-bot.git] / matrix_goal_bot / bot.py
index 9e15be4dbe526984c587bf5cfa5cd23563577d6a..4bfce6716d9f7cce0353fbecf2a298c3a4ce78af 100644 (file)
@@ -24,6 +24,7 @@ More commands:
     set.vision GOAL_ID VISION_ID- associate GOAL_ID with VISION_ID
     visions - list incomplete visions
     list.done - list completed goals
+    remove ID - remove a task by ID
     visionless - list goals with no set vision
 '''
 
@@ -71,13 +72,13 @@ class GoalBot():
         self.bot.run()
 
     async def handle_message(self, room, message):
-        logger.debug(f'Message: {message}')
         match = botlib.MessageMatch(room, message, self.bot, self.prefix)
 
-        if not match.is_not_from_this_bot() and match.prefix():
-            logger.debug(f'Message: {message} was not for this bot.')
+        if not match.is_not_from_this_bot():
+            # Let's not talk to our-self
             return
 
+        logger.debug(f'Message: {message}')
         if not match.prefix():
             logger.debug(f'{message} - did not match {self.prefix}')
 
@@ -89,6 +90,11 @@ class GoalBot():
                         room.room_id, str(line))
             except Exception as ex:
                 logger.warn(f'Caught exception: {str(ex)}')
+                dumb_msg_idx = len(str(ex)) % len(snark)
+                dumb_msg = snark[dumb_msg_idx]
+                await self.bot.api.send_text_message(
+                    room.room_id, dumb_msg)
+
                 await self.bot.api.send_text_message(
                     room.room_id, str(ex))
 
@@ -102,8 +108,15 @@ class GoalBot():
 
         if match.command('add'):
             new = ' '.join(match.args()[1:])
-            result = self.data.add_goal(new)
-            return [f'Goal added with id {result}']
+            goal_id = self.data.add_goal(new)
+            results = [f'Goal added with id {goal_id}']
+
+            goals = self.data.get_all_goals()
+            results.append('# Goals list...')
+            for goal in goals:
+                results.append(str(goal))
+
+            return results
 
         if match.command('list'):
             logger.debug('Asked to list goals...')