From a2638d34f81407572d686a643626b7c3ca51c8c7 Mon Sep 17 00:00:00 2001
From: Frederic Aust <frederic.aust@stud.hs-bochum.de>
Date: Mon, 26 Sep 2022 11:05:49 +0200
Subject: [PATCH] =?UTF-8?q?Pflanzenerinnerung=20f=C3=BCr=20die=20TierWG=20?=
 =?UTF-8?q?erg=C3=A4nzt.=20Der=20Befehl=20.nextEvents=20gibt=20nun=20die?=
 =?UTF-8?q?=20anstehenden=20Events=20aus=20und=20.allEvents=20enth=C3=A4lt?=
 =?UTF-8?q?=20die=20vollst=C3=A4ndige=20Liste=20inklusive=20historischer?=
 =?UTF-8?q?=20Events.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 commands.json        | 10 +++++++++-
 mod_eventreminder.py | 12 +++++++++++-
 signalbot.py         | 12 +++++++++++-
 3 files changed, 31 insertions(+), 3 deletions(-)

diff --git a/commands.json b/commands.json
index 8b8c67f..c84278c 100644
--- a/commands.json
+++ b/commands.json
@@ -160,11 +160,19 @@
             "_Func": "get_next_event",
             "allowedGroups":[]
         },
+        {
+            "Names": [
+                ".nextEvents"
+            ],
+            "Description": "Get a list of all upcoming events.",
+            "_Func": "get_all_upcomming_events",
+            "allowedGroups":[]
+        },
         {
             "Names": [
                 ".allEvents"
             ],
-            "Description": "Get a list of all events.",
+            "Description": "Get a list of all events, including past ones.",
             "_Func": "get_all_events",
             "allowedGroups":[]
         },
diff --git a/mod_eventreminder.py b/mod_eventreminder.py
index 2338b6a..2ae7687 100644
--- a/mod_eventreminder.py
+++ b/mod_eventreminder.py
@@ -91,7 +91,17 @@ class ModuleEventReminder:
         return message
 
     def get_eventlist(self, groupInfo):
-        message = "Alle Events:\n"
+        today = datetime.today()
+        format = "%d.%m.%Y"
+        message = "Anstehende Events:\n"
+        for event in self.events[groupInfo["NAME"]]:  # Dieses For geht bestimmt in einer Teile, so wie in signalbot.py
+            event_dt = datetime.strptime(event.date, format)
+            if (event_dt - today).days >=0:
+                message += f"{event.headline}, {event.date}\n"
+        return message
+
+    def get_complete_eventlist(self, groupInfo):
+        message = "Alle Events (inklusive vergangener Events):\n"
         for event in self.events[groupInfo["NAME"]]:  # Dieses For geht bestimmt in einer Teile, so wie in signalbot.py
             message += f"{event.headline}, {event.date}\n"
         return message
diff --git a/signalbot.py b/signalbot.py
index 6e14087..e4c73f8 100755
--- a/signalbot.py
+++ b/signalbot.py
@@ -389,9 +389,12 @@ def save_event(msgDict):
     send(event_reminder.save_event(msgDict["content"], msgDict["groupInfo"]), msgDict["receiver"])
 
 
-def get_all_events(msgDict):
+def get_all_upcomming_events(msgDict):
     send(event_reminder.get_eventlist(msgDict["groupInfo"]), msgDict["receiver"])
 
+def get_all_events(msgDict):
+    send(event_reminder.get_complete_eventlist(msgDict["groupInfo"]), msgDict["receiver"])
+
 
 def get_next_event(msgDict):
     send(event_reminder.get_next_event(msgDict["groupInfo"]), msgDict["receiver"])
@@ -466,9 +469,16 @@ def init_schedule_jobs():
     schedule.every().tuesday.at("10:00").do(run_threaded, gg_remind_schichten)
     schedule.every().day.at("11:00").do(run_threaded, gg_remind_stundenzettel)
     schedule.every().day.at("13:00").do(run_threaded,today.update)
+    schedule.every().thursday.at("10:00").do(run_threaded, remind_pflanzen)
    # schedule.every(10).seconds.do(run_threaded, birthday_reminder.check_for_birthdays)
 
 
+def remind_pflanzen():
+    for group in GROUPS:
+        if group["NAME"] == "TierWG":
+            send(f'Bitte gebt den armen Pflanzen etwas Lebenselixier!')
+            break
+
 def gg_remind_schichten():
     for group in GROUPS:
         if group["NAME"] == "GGOffiziell":
-- 
GitLab