]> apps.delaporte.us Git - matrix-goal-bot.git/commitdiff
Add help
authorEdward Delaporte <edward@delaporte.us>
Tue, 24 Mar 2026 03:50:38 +0000 (22:50 -0500)
committerEdward Delaporte <edward@delaporte.us>
Tue, 24 Mar 2026 03:50:38 +0000 (22:50 -0500)
bot.py
goals/db.py

diff --git a/bot.py b/bot.py
index 649cfe69e753333464ed4dd65cb6ee02ad218a7b..b720c9bd7f0c242674531ebdf4b51d7be5dfe4dc 100644 (file)
--- a/bot.py
+++ b/bot.py
@@ -26,12 +26,22 @@ logging.getLogger('nio').setLevel(logging.WARNING)
 
 async def do_goal(match):
     '''
 
 async def do_goal(match):
     '''
-    Bot help here?
+    Prefix: !goal
+
+    Synax:
+        !goal COMMAND ARGS
+
+    Commands:
+      help - show this help
+      add - add a goal
+      add-task ID - add a task under the goal specified by ID
+      list - list incomplete goals
+      list-all - list everything
+      print ID - print a goal and all tasks
+      done ID - mark task done by ID
+      goal-done ID - mark goal done by ID
 
     '''
 
     '''
-    # logger.debug(f'match {str(match)}')
-    if match.command('help'):
-        return ['help']
 
     if match.command('setup'):
         result = Data().setup()
 
     if match.command('setup'):
         result = Data().setup()
@@ -43,7 +53,7 @@ async def do_goal(match):
         return [f'Goal added with id {result}']
 
     if match.command('list'):
         return [f'Goal added with id {result}']
 
     if match.command('list'):
-        goals = Data().list_goals()
+        goals = Data().get_all_goals()
         results = ['Goals list...']
         for goal in goals:
             results.append(str(goal))
         results = ['Goals list...']
         for goal in goals:
             results.append(str(goal))
@@ -78,7 +88,16 @@ async def do_goal(match):
         results = pretty_print(goal, tasks)
         return results
 
         results = pretty_print(goal, tasks)
         return results
 
-    return __doc__
+    if match.command('list-all'):
+        goals = Data().get_all_goals()
+        results = ['Everything is...']
+        for goal in goals:
+            _,tasks = Data().get_goal(goal.id)
+            details = pretty_print(goal, tasks)
+            results += details
+        return results
+
+    return [do_goal.__doc__]
 
 
 @bot.listener.on_message_event
 
 
 @bot.listener.on_message_event
index 2921bf044aad389cf135975d56a0729090e079f0..8a7aff40c24c4340ee46f8994d2c17830fb03d6f 100644 (file)
@@ -63,6 +63,7 @@ class Data():
         self.file = db_file
         self.engine = self.get_engine()
 
         self.file = db_file
         self.engine = self.get_engine()
 
+
     def get_engine(self):
         return create_engine(f"sqlite:///{self.file}")
 
     def get_engine(self):
         return create_engine(f"sqlite:///{self.file}")
 
@@ -74,13 +75,10 @@ class Data():
     def print_all_visions(self):
         pass
 
     def print_all_visions(self):
         pass
 
-    def print_all_goals(self):
-        pass
-
     def print_ophan_tasks(self):
         pass
 
     def print_ophan_tasks(self):
         pass
 
-    def list_goals(self):
+    def get_all_goals(self):
         '''List all goals'''
         with Session(self.engine) as session:
             cmd = select(Goal).where(Goal.complete_date == None)
         '''List all goals'''
         with Session(self.engine) as session:
             cmd = select(Goal).where(Goal.complete_date == None)