diff --git a/commands.json b/commands.json index 8b8c67f0f61123fbe831ac878ff42340e91478d7..c84278cdc6d88127aab51583195b74e1f3ac2742 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 2338b6a4019033da370638314cbaebca83efa8b5..2ae76876afcd58b14c15224a9aeb9aefe6433363 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 6e140875036c021ba18ceae7fefd0b4753a8f007..e4c73f805f63e7fc27f0c2c40c9ddf0a00583737 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":