From 51b5e4d1dec1524b0ba091d25061dbe8593a75dc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sven=20M=C3=A4der?= <maeder@phys.ethz.ch>
Date: Tue, 5 Mar 2024 11:45:09 +0100
Subject: [PATCH] Modify reminder bot for ETH Zurich lunch menus

---
 README.md              |  98 ++------
 base-config.yaml       |  57 ++---
 maubot.yaml            |   5 +-
 reminder/bot.py        | 539 ++++++++++++++++++-----------------------
 reminder/db.py         |  92 +++++--
 reminder/ethz.py       | 126 ++++++++++
 reminder/migrations.py |   3 +-
 reminder/reminder.py   |  98 +++++---
 reminder/util.py       | 136 +++--------
 screenshot.png         | Bin 110492 -> 0 bytes
 10 files changed, 587 insertions(+), 567 deletions(-)
 create mode 100644 reminder/ethz.py
 delete mode 100644 screenshot.png

diff --git a/README.md b/README.md
index 5b3aab7..2fbcc56 100644
--- a/README.md
+++ b/README.md
@@ -1,95 +1,37 @@
-# ⏰ reminder-agenda bot
-A [maubot](https://github.com/maubot/maubot) to remind you about things.
+# ETH Zurich Lunch Bot
 
-Basically [matrix-reminder-bot](https://github.com/anoadragon453/matrix-reminder-bot/tree/master) and [maubot/reminder](https://github.com/maubot/reminder) smushed together. This project includes code taken from both repositories, credit goes to them!
+A [maubot](https://github.com/maubot/maubot) plugin for the canteen lunch menus at ETH Zurich.
 
-![example of interacting with the bot](screenshot.png)
+Forked from [reminder-agenda bot](https://github.com/MxMarx/reminder), which is
+basically [matrix-reminder-bot](https://github.com/anoadragon453/matrix-reminder-bot/tree/master) and [maubot/reminder](https://github.com/maubot/reminder) smushed together. This project includes code taken from all repositories, credit goes to them!
 
 ## Features
 
-* Set once-off reminders and recurring reminders
-* To-do lists
-* Parse natural language (e.g. `every friday at 2pm`) and crontab syntax
-* Remind just yourself or the whole room
+* Show lunch menu (optional canteens filter)
+* Persistent user config: menu language, canteens filter, price category
+* Set up recurring reminders to post the lunch menu
 * Subscribe to other people's reminders
-* Lots of [locales](https://dateparser.readthedocs.io/en/latest/supported_locales.html)
-* Per-user rate limits
-* Maubot!
 
 ## Setup
-This bot requires python libraries that aren't included in the official maubot docker image.
 
+Dependencies:
+
+```bash
+pip install pytz
+pip install dateparser
+pip install apscheduler
+pip install cron_descriptor
+```
+
+* [pytz](https://pypi.org/project/pytz/)
 * [apscheduler](https://github.com/agronholm/apscheduler)
 * [dateparser](https://github.com/scrapinghub/dateparser)
 * [cron_descriptor](https://github.com/Salamek/cron-descriptor) (optional, shows cron reminders with natural language)
 
-Be sure to add them to the optional-requirements.txt file in [maubot](https://github.com/maubot/maubot) and build a new docker image with
-`docker build --tag maubot-for-reminders . -f Dockerfile`
-
-This is pretty easy to use with the [ansible deployment](https://github.com/spantaleev/matrix-docker-ansible-deploy), just add this line to your vars.yml: `matrix_bot_maubot_docker_image: maubot-for-reminders`
-
 ## Usage
-### Creating optionally recurring reminders:
-`!remind|remindme|r <date> <message>` Adds a reminder
-* `!remind 8 hours buy more pumpkins`
-* `!remind 2023-11-30 15:00 befriend rats`
-* `!remind abolish closed-access journals at 3pm tomorrow`
-* `July 2`, `tuesday at 2pm`, `8pm`, `20 days`, `4d`, `2wk`, ...
-* Dates doesn't need to be at the beginning of the string, but parsing works better if they are.
-
-`!remind [room] [every] ...`
-* `[room]` pings the whole room
-* `[every]` create recurring reminders `!remind every friday 3pm take out the trash`
-
-`!remind [room] <cron> <message>` Schedules a reminder using a crontab syntax
-* `!remind cron 30 9 * * mon-fri do something` sets reminders for 9:30am, Monday through Friday.
-* `!remind cron` lists more examples
-
-You can also reply to any message with `!remind ...` to get reminded about that message.\
-To get pinged by someone else's reminder, react to their message with 👍.
 
-### Creating agenda items
-`!agenda [room] <message>` creates an agenda item. Agenda items are like reminders but don't have a time, for things like to-do lists.
-
-### Listing active reminders
-`!remind list [all] [my] [subscribed]` lists all reminders in a room 
-* `all` lists all reminders from every room
-* `my` lists only reminders you created
-* `subscribed` lists only reminders you are subscribed to
-
-### Deleting reminders
-Cancel reminders by removing the message creating it, unsubscribe by removing your upvote.\
-Cancel recurring reminders by replying with `!remind cancel|delete` 
-* `!remind cancel|delete <ID>` deletes a reminder matching the 4 letter ID shown by `list`
-* `!remind cancel|delete <message>` deletes a reminder **beginning with** <message>
-    * e.g. `!remind delete buy more` would delete the reminder `buy more pumpkins`
-
-### Rescheduling
-Reminders can be rescheduled after they have fired by replying with `!remind <new date>`
-
-### Settings
-Dates are parsed using your [timezone](https://en.wikipedia.org/wiki/List_of_tz_database_time_zone) and [locale](https://dateparser.readthedocs.io/en/latest/supported_locales.html).
-* `!remind tz|timezone [new-timezone]` view or set your timezone
-* `!remind locale [new-locale]` view or set your locale
-
-## Cron Syntax
-```
-*	any value
-,	value list separator
--	range of values
-/	step 
-
-┌─────── minute (0 - 59)
-│ ┌─────── hour (0 - 23)
-│ │ ┌─────── day of the month (1 - 31)
-│ │ │ ┌─────── month (1 - 12)
-│ │ │ │ ┌─────── weekday (0 - 6) (Sunday to Saturday)                             
-│ │ │ │ │
-* * * * * <message>
 ```
-
+!lunch
+!lunch config
+!lunch help
 ```
-30 9 * * *              Every day at 9:30am
-0/30 9-17 * * mon-fri   Every 30 minutes from 9am to 5pm, Monday through Friday
-0 14 1,16 * *           2:00pm on the 1st and 16th day of the month
-0 0 1-7 * mon           First Monday of the month at midnight
\ No newline at end of file
diff --git a/base-config.yaml b/base-config.yaml
index 1e0fc93..7e20ddc 100644
--- a/base-config.yaml
+++ b/base-config.yaml
@@ -1,45 +1,40 @@
-# https://github.com/MxMarx/reminder
-# Feature requests welcome!
+# Default timezone
+default_timezone: Europe/Zurich
 
-# Default timezone for users who did not set one.
-# This is parsed with dateparser, so Continent/City, UTC offsets, and abbreviations should work.
-#  e.g. Europe/Helsinki, EET, +0300
-# See https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
-default_timezone: America/Los_Angeles
-
-# Default locale/language compatible with dateparser
-# See https://dateparser.readthedocs.io/en/latest/supported_locales.html
+# Default language (locale) `en` or `de`
 default_locale: en
 
 # Base command without the prefix (!).
 # If a list is provided, the first is the main name and the rest are aliases.
 base_command:
-- remind
-- remindme
-
-# Agenda items are like reminders but don't have a time, for things like to-do lists.
-# Aliases used to create an agenda items by calling "!agenda <message>":
-agenda_command:
-- agenda
-- todo
-
-# subcommands used to cancel reminders
-cancel_command:
-- cancel
-- delete
+  - lunch
 
-# If verbose is true, display full confirmation messages. If false, confirm by reacting with :thumbs-up:
-verbose: true
+# Hunger command (same as the `!<base_command> menu` subcommand)
+hunger_command:
+  - hunger
+  - hungry
+  - food
+  - essen
+  - lunchmenu
 
 # Rate limit for individual users, as the number of reminders allowed to fire in an interval
 rate_limit: 10
 rate_limit_minutes: 60
 
-# Power level needed to delete someone else's reminder
+# Power level needed to create reminders and delete someone else's reminders
 admin_power_level: 50
 
-# time_format: strftime format when listing reminders.
-#   "%-I:%M%P %Z on %A, %B %-d %Y"  - 7:36pm PDT on Sunday, September 17 2023
-#   "%Y-%m-%d %H:%M %Z"             - 2023-09-17 19:36 PDT
-#   Currently, reminders within 7 days will be displayed as just the relative delta, e.g. "2 days and 1 hour"
-time_format: "%-I:%M%P %Z on %A, %B %-d %Y"
\ No newline at end of file
+# time_format: strftime format when listing reminders
+time_format: "%Y-%m-%d %H:%M %Z"
+
+# URLs of cookpit api https://idapps.ethz.ch/cookpit-pub-services/swagger-ui/
+url_facilities: https://idapps.ethz.ch/cookpit-pub-services/v1/facilities/?client-id=ethz-wcms&rs-first=0&rs-size=50
+url_menus: https://idapps.ethz.ch/cookpit-pub-services/v1/weeklyrotas/?client-id=ethz-wcms&rs-first=0&rs-size=50
+
+# Default facilities filter
+default_facilities:
+  - food market
+  - fusion meal
+
+# Default price to show (one of `int`, `ext`, `stud` or `off`)
+default_price: int
diff --git a/maubot.yaml b/maubot.yaml
index 11a7e7d..d80bb2e 100644
--- a/maubot.yaml
+++ b/maubot.yaml
@@ -1,6 +1,6 @@
 maubot: 0.4.1
-id: org.bytemarx.reminder
-version: 0.1.2
+id: ch.ethz.phys.lunch
+version: 0.0.2
 license: AGPL-3.0-or-later
 modules:
 - reminder
@@ -15,4 +15,3 @@ soft_dependencies:
 - cron_descriptor
 database: true
 database_type: asyncpg
-
diff --git a/reminder/bot.py b/reminder/bot.py
index 5b7a4e0..9652983 100644
--- a/reminder/bot.py
+++ b/reminder/bot.py
@@ -1,4 +1,5 @@
-# reminder - A maubot plugin to create_reminder you about things.
+# ethzlunch - A maubot plugin for the canteen lunch menus at ETH Zurich.
+# Copyright (C) 2024 Sven Mäder
 # Copyright (C) 2020 Tulir Asokan
 #
 # This program is free software: you can redistribute it and/or modify
@@ -13,13 +14,11 @@
 #
 # You should have received a copy of the GNU Affero General Public License
 # along with this program.  If not, see <https://www.gnu.org/licenses/>.
-import re
 from typing import Type, Tuple, List, Dict
-from datetime import datetime, timedelta
+from datetime import date, timedelta
 import pytz
 
-from mautrix.types import (EventType, RedactionEvent, StateEvent, Format, MessageType,
-                           TextMessageEventContent, ReactionEvent, UserID, EventID, RelationType)
+from mautrix.types import (EventType, RedactionEvent, StateEvent, ReactionEvent, EventID)
 from maubot import Plugin, MessageEvent
 from maubot.handlers import command, event
 from mautrix.util.async_db import UpgradeTable
@@ -27,34 +26,39 @@ from mautrix.util.config import BaseProxyConfig, ConfigUpdateHelper
 
 from .migrations import upgrade_table
 from .db import ReminderDatabase
-from .util import validate_locale, validate_timezone, CommandSyntaxError, parse_date, CommandSyntax, make_pill
+from .util import validate_locale, validate_timezone, CommandSyntaxError
 from .reminder import Reminder
+from .ethz import (parse_facilities, parse_menus, filter_facilities, markdown_facilities,
+                   markdown_menus)
 from apscheduler.schedulers.asyncio import AsyncIOScheduler
 
-# TODO: merge licenses
 
 class Config(BaseProxyConfig):
     def do_update(self, helper: ConfigUpdateHelper) -> None:
         helper.copy("default_timezone")
         helper.copy("default_locale")
         helper.copy("base_command")
-        helper.copy("agenda_command")
-        helper.copy("cancel_command")
+        helper.copy("hunger_command")
         helper.copy("rate_limit_minutes")
         helper.copy("rate_limit")
-        helper.copy("verbose")
         helper.copy("admin_power_level")
         helper.copy("time_format")
+        helper.copy("url_facilities")
+        helper.copy("url_menus")
+        helper.copy("default_price")
+        helper.copy("default_facilities")
 
 
 class ReminderBot(Plugin):
     base_command: Tuple[str, ...]
-    agenda_command: Tuple[str, ...]
-    cancel_command: Tuple[str, ...]
+    hunger_command: Tuple[str, ...]
     default_timezone: pytz.timezone
+    admin_power_level: int
     scheduler: AsyncIOScheduler
     reminders: Dict[EventID, Reminder]
     db: ReminderDatabase
+    url_facilities: str
+    url_menus: str
 
     @classmethod
     def get_config_class(cls) -> Type[BaseProxyConfig]:
@@ -64,26 +68,21 @@ class ReminderBot(Plugin):
     def get_db_upgrade_table(cls) -> UpgradeTable:
         return upgrade_table
 
-
-
     async def start(self) -> None:
         self.scheduler = AsyncIOScheduler()
-        # self.scheduler.configure({"apscheduler.timezone": self.config["default_timezone"]})
         self.scheduler.start()
         self.db = ReminderDatabase(self.database)
         self.on_external_config_update()
-        # load all reminders
         self.reminders = await self.db.load_all(self)
 
     def on_external_config_update(self) -> None:
-
         self.config.load_and_update()
 
         def config_to_tuple(list_or_str: List | str):
             return tuple(list_or_str) if isinstance(list_or_str, list) else (list_or_str,)
         self.base_command = config_to_tuple(self.config["base_command"])
-        self.agenda_command = config_to_tuple(self.config["agenda_command"])
-        self.cancel_command = config_to_tuple(self.config["cancel_command"])
+        self.hunger_command = config_to_tuple(self.config["hunger_command"])
+        self.admin_power_level = self.config["admin_power_level"]
 
         # If the locale or timezone is invalid, use default one
         self.db.defaults.locale = self.config["default_locale"]
@@ -94,95 +93,189 @@ class ReminderBot(Plugin):
         if not validate_timezone(self.config["default_timezone"]):
             self.log.warning(f'unknown default timezone: {self.config["default_timezone"]}')
             self.db.defaults.timezone = "UTC"
-
+        self.url_facilities = self.config["url_facilities"]
+        self.url_menus = self.config["url_menus"]
+        self.db.defaults.price = self.config["default_price"]
+        self.db.defaults.facilities = ",".join(self.config["default_facilities"])
 
     async def stop(self) -> None:
         self.scheduler.shutdown(wait=False)
 
+    async def get_facilities_data(self, lang: str) -> Dict:
+        headers = {"Accept": "application/json"}
+        params = {"lang": lang}
+        resp = await self.http.get(self.url_facilities, headers=headers, params=params)
+        if resp.status == 200:
+            data = await resp.json()
+            return data
+        resp.raise_for_status()
+        return None
+
+    async def get_menus_data(self, lang: str) -> Dict:
+        today = date.today().strftime("%Y-%m-%d")
+        tomorrow = (date.today() + timedelta(days=1)).strftime("%Y-%m-%d")
+        headers = {"Accept": "application/json"}
+        params = {"lang": lang, "valid-after": today, "valid-before": tomorrow}
+        resp = await self.http.get(self.url_menus, headers=headers, params=params)
+        if resp.status == 200:
+            data = await resp.json()
+            return data
+        resp.raise_for_status()
+        return None
+
+    async def get_facilities(self, user: str = "") -> Dict:
+        lang = (await self.db.get_user_info(user)).locale
+        facilities_data = await self.get_facilities_data(lang)
+        return parse_facilities(facilities_data)
+
+    async def get_menus(self, user: str = "", facilities_filter: str = None) -> Dict:
+        user_info = await self.db.get_user_info(user)
+        lang = user_info.locale
+        price = user_info.price
+
+        facilities = await self.get_facilities(user)
+        menus_data = await self.get_menus_data(lang)
+
+        if not facilities_filter:
+            facilities_filter = user_info.facilities
+
+        if facilities_filter == "all":
+            facilities_filter = None
+
+        if facilities_filter:
+            facilities = filter_facilities(facilities, facilities_filter)
+
+        return parse_menus(menus_data, facilities, customer=price)
+
+    async def get_markdown_facilities(self, user: str = "") -> Dict | None:
+        facilities = await self.get_facilities(user=user)
+
+        if facilities:
+            return markdown_facilities(facilities)
+        else:
+            return None
+
+    async def get_markdown_menus(self, user: str = "",
+                                 facilities_filter: str = None) -> Dict | None:
+        menus = await self.get_menus(user=user, facilities_filter=facilities_filter)
+
+        if menus:
+            return markdown_menus(menus)
+        else:
+            return None
 
+    async def show_lunch_menu(self, evt: MessageEvent, canteens: str) -> None:
+        markdown_menus = await self.get_markdown_menus(user=evt.sender, facilities_filter=canteens)
+
+        if markdown_menus:
+            await evt.respond(markdown_menus)
+        else:
+            await evt.respond("No results")
+
+    @command.new(name=lambda self: self.hunger_command[0],
+                 aliases=lambda self, alias: alias in self.hunger_command)
+    @command.argument("canteens", pass_raw=True, required=False)
+    async def hunger(self, evt: MessageEvent, canteens: str) -> None:
+        await self.show_lunch_menu(evt, canteens)
 
     @command.new(name=lambda self: self.base_command[0],
-                 aliases=lambda self, alias: alias in self.base_command + self.agenda_command,
-                 help="Create a reminder", require_subcommand=False, arg_fallthrough=False)
-    @command.argument("room", matches="room", required=False)
-    @command.argument("every", matches="every", required=False)
-    @command.argument("start_time", matches="(.*?);", pass_raw=True, required=False)
-    @command.argument("cron", matches="cron ?(?:\s*\S*){0,5}", pass_raw=True, required=False)
-    @command.argument("message", pass_raw=True, required=False)
-    async def create_reminder(self, evt: MessageEvent,
-                              room: str = None,
-                              every: str = None,
-                              start_time: Tuple[str] = None,
-                              cron: Tuple[str] = None,
-                              message: str = None,
-                              again: bool = False) -> None:
-        """Create a reminder or an alarm with a given target
-        Args:
-            evt:
-            room: if true, ping the whole room
-            cron: crontab syntax
-            every: is the reminder recurring?
-            start_time: can be explicitly specified with a semicolon: !remind <start_time>; <message>
-            message: contains both the start_time and the message if not using a semicolon to separate them
-            again:
-        """
-        date_str = None
-        reply_to_id = evt.content.get_reply_to()
-        reply_to = None
-        user_info = await self.db.get_user_info(evt.sender)
+                 aliases=lambda self, alias: alias in self.base_command)
+    async def lunch(self, evt: MessageEvent) -> None:
+        pass
+
+    @lunch.subcommand("menu", aliases=["menus", "show"],
+                      help="Show lunch menu (canteens example: `all` or `poly,food market,fusion`)")
+    @command.argument("canteens", pass_raw=True, required=False)
+    async def show(self, evt: MessageEvent, canteens: str) -> None:
+        await self.show_lunch_menu(evt, canteens)
+
+    @lunch.subcommand("canteen", aliases=["canteens", "mensa"], help="List all canteen names")
+    async def facilities_list(self, evt: MessageEvent) -> None:
+        markdown_facilities = await self.get_markdown_facilities(user=evt.sender)
+
+        if markdown_facilities:
+            await evt.respond(markdown_facilities)
+        else:
+            await evt.respond("No results")
+
+    @lunch.subcommand("config", aliases=["conf"], help="Set or show config settings")
+    async def settings(self, evt: MessageEvent) -> None:
+        pass
+
+    @settings.subcommand("language", aliases=["lang"], help="Set menu language (`en` or `de`)")
+    @command.argument("lang")
+    async def config_lang(self, evt: MessageEvent, lang: str) -> None:
+        if not lang:
+            await evt.reply(f"Menu language is "
+                            f"{(await self.db.get_user_info(evt.sender)).locale}")
+            return
+        if lang in ["en", "de"]:
+            await self.db.set_user_info(evt.sender, key="locale", value=lang)
+            await evt.react("👍")
+        else:
+            await evt.reply(f"Unknown language: `{lang}`\n"
+                            f"Available languages: `en`, `de`")
+
+    @settings.subcommand("canteen", aliases=["canteens", "mensa"],
+                         help="Set canteens (example: `all` or `poly,food market,fusion`)")
+    @command.argument("canteens", pass_raw=True)
+    async def config_canteen(self, evt: MessageEvent, canteens: str) -> None:
+        if not canteens:
+            canteens = (await self.db.get_user_info(evt.sender)).facilities
+            await evt.reply(f"Canteen filter is: `{canteens}`")
+            return
 
-        # Determine is the agenda command was used instead of creating a subcommand so [room] can still be used
-        agenda = evt.content.body[1:].startswith(self.agenda_command)
-        if agenda:
-            # Use the date the message was created as the date for agenda items
-            start_time = datetime.now(tz=pytz.UTC)
-
-        # If we are replying to a previous reminder, recreate the original reminder with a new time
-        if reply_to_id:
-            reply_to = await self.client.get_event(room_id=evt.room_id, event_id=reply_to_id)
-            if "org.bytemarx.reminder" in reply_to.content:
-                again = True
-                start_time = (message,)
-                message = reply_to.content["org.bytemarx.reminder"]["message"]
-                reply_to_id = reply_to.content["org.bytemarx.reminder"]["reply_to"]
-                event_id = reply_to.content["org.bytemarx.reminder"]["id"]
-                if event_id in self.reminders:
-                    await self.reminders[event_id].cancel()
+        await self.db.set_user_info(evt.sender, key="facilities", value=canteens)
+        await evt.react("👍")
 
-        try:
-            if not cron and not agenda:
-                if start_time:
-                    start_time, date_str = parse_date(start_time[0], user_info)
-                elif message.strip(): # extract the date from the message if not explicitly given
-                    start_time, date_str = parse_date(message, user_info, search_text=True)
+    @settings.subcommand("price", help="Set price category (`int`, `ext`, `stud` or `off`)")
+    @command.argument("category")
+    async def config_price(self, evt: MessageEvent, category: str) -> None:
+        if not category:
+            category = (await self.db.get_user_info(evt.sender)).price
+            off = " (prices not shown)" if category == "off" else ""
+            await evt.reply(f"Price category is: `{category}`{off}")
+            return
 
-                    # Check if "every" appears immediately before the date, if so, the reminder should be recurring.
-                    # This makes "every" possible to use in a sentence instead of just with @command.argument("every")
-                    if not every:
-                        every = message.lower().find('every ' + date_str.lower()) >= 0
+        if category in ["int", "ext", "stud", "off"]:
+            await self.db.set_user_info(evt.sender, key="price", value=category)
+            await evt.react("👍")
+        else:
+            await evt.reply(f"Unknown price category: `{category}`\n"
+                            f"Available price categories: `int`, `ext`, `stud`\n"
+                            f"Disable prices in menus: `off`")
+
+    @lunch.subcommand("remind", help="Create reminder (time: `hh:mm`, days default: `mon-fri`)")
+    @command.argument("time", matches="[0-9]{1,2}:[0-9]{2}")
+    @command.argument("days", required=False)
+    @command.argument("canteens", required=False, pass_raw=True)
+    async def remind(self, evt: MessageEvent,
+                     time: str = None,
+                     days: str = None,
+                     canteens: str = None) -> None:
+        power_levels = await self.client.get_state_event(room_id=evt.room_id,
+                                                         event_type=EventType.ROOM_POWER_LEVELS)
+        user_power = power_levels.users.get(evt.sender, power_levels.users_default)
 
-                    # Remove the date from the messages, converting "buy ice cream on monday" to "buy ice cream"
-                    compiled = re.compile("(every )?" + re.escape(date_str), re.IGNORECASE)
-                    message = compiled.sub("", message,  1).strip()
+        if user_power < self.admin_power_level:
+            await evt.reply(f"Power level of {self.admin_power_level} is required")
+            return
+
+        user_info = await self.db.get_user_info(evt.sender)
+        hour, minute = tuple(time.split(':'))
 
-                else: # If no arguments are supplied, return the help message
-                    await evt.reply(self._help_message())
-                    return
+        if not days:
+            days = "mon-fri"
 
-            # If the reminder was created by replying to a message, use that message's text
-            if reply_to_id and not message:
-                message = reply_to.content["body"]
+        cron = f"{minute} {hour} * * {days}"
 
+        try:
             reminder = Reminder(
                 bot=self,
                 room_id=evt.room_id,
-                message=message,
+                message=canteens,
                 event_id=evt.event_id,
-                reply_to=reply_to_id,
-                start_time=start_time,
                 cron_tab=cron,
-                recur_every=date_str if every else None,
-                is_agenda=agenda,
                 creator=evt.sender,
                 user_info=user_info,
             )
@@ -191,198 +284,49 @@ class ReminderBot(Plugin):
             await evt.reply(e.message)
             return
 
-        # Record the reminder and subscribe to it
         await self.db.store_reminder(reminder)
-
-        # If the command was called with a "room_command", make the reminder ping the room
-        user_id = UserID("@room") if room else evt.sender
-        await reminder.add_subscriber(subscribing_event=evt.event_id, user_id=user_id)
-
-        # Send a message to the room confirming the creation of the reminder
-        await self.confirm_reminder(evt, reminder, again=again, agenda=agenda)
-
+        await self.confirm_reminder(evt, reminder)
         self.reminders[reminder.event_id] = reminder
 
-
-    async def confirm_reminder(self, evt: MessageEvent, reminder: Reminder, again: bool = False, agenda: bool = False):
-        """Sends a message to the room confirming the reminder is set
-        If verbose is set in the config, print out the full message. If false, just react with 👍
-
-        Args:
-            evt:
-            reminder: The Reminder to confirm
-            again: Is this a reminder that was rescheduled?
-            agenda: Is this an agenda instead of a reminder?
-        """
+    async def confirm_reminder(self, evt: MessageEvent, reminder: Reminder):
         confirmation_event = await evt.react("\U0001F44D")
-
-        if self.config["verbose"]:
-
-            action = "add this to the agenda for" if agenda else "remind" if reminder.message else "ping"
-            target = "the room" if "@room" in reminder.subscribed_users.values() else "you"
-            message = f"to {reminder.message}" if reminder.message else ""
-
-            if reminder.reply_to:
-                evt_link = f"[message](https://matrix.to/#/{reminder.room_id}/{reminder.reply_to})"
-                message += f" (replying to that {evt_link})" if reminder.message else f" about that {evt_link}"
-
-            msg = f"I'll {action} {target} {message}"
-            msg += " again" if again else ""
-
-            if again:
-                msg += " again"
-            if not agenda:
-                formatted_time = reminder.formatted_time(await self.db.get_user_info(evt.sender))
-                msg += " " + formatted_time
-
-
-            confirmation_event = await evt.reply(f"{msg}\n\n"
-                            f"(others can \U0001F44D the message above to get pinged too)")
-
         await reminder.set_confirmation(confirmation_event)
 
-
-    # @command.new("cancel", help="Cancel a recurring reminder", aliases=("delete",))
-    @create_reminder.subcommand(name=lambda self: self.cancel_command[0],
-                                help="Cancel a recurring reminder",
-                                aliases=lambda self, alias: alias in self.cancel_command)
-    @command.argument("search_text", pass_raw=True, required=False)
-    async def cancel_reminder(self, evt: MessageEvent, search_text: str) -> None:
-        """Cancel a reminder by replying to a reminder, or searching by either message or event ID"""
-
-        reminder = []
+        body = "Reminder"
+        if reminder.message:
+            body += f" for `{reminder.message}`"
+        body += " scheduled"
+        if reminder.recur_every or reminder.cron_tab:
+            user_info = await self.db.get_user_info(evt.sender)
+            formatted_time = reminder.formatted_time(user_info)
+            body += f" {formatted_time}"
+        body += ".\n\nAnyone can \U0001F44D the command message above to get pinged."
+
+        await evt.reply(body)
+
+    @lunch.subcommand("cancel", help="Cancel reminder")
+    async def cancel_reminder(self, evt: MessageEvent) -> None:
+        reminders = []
         if evt.content.get_reply_to():
             reminder_message = await self.client.get_event(evt.room_id, evt.content.get_reply_to())
-            if "org.bytemarx.reminder" not in reminder_message.content:
+            if "ch.ethz.phys.lunch" not in reminder_message.content:
                 await evt.reply("That doesn't look like a valid reminder event.")
                 return
-            reminder = self.reminders[reminder_message.content["org.bytemarx.reminder"]["id"]]
-        elif search_text:
-            # First, check the reminders created by the user, then everything else
-            for rem in sorted(self.reminders.values(), key=lambda x: x.creator == evt.sender, reverse=True):
-                # Using the first four base64 digits of the hash, p(collision) > 0.01 at ~10000 reminders
-                if rem.event_id[1:5] == search_text or re.match(re.escape(search_text.strip()), rem.message.strip(), re.IGNORECASE):
-                # if rem.event_id[1:5] == search_text or rem.message.upper().strip() == search_text.upper().strip():
-                    reminder = rem
-                    break
-        else: # Display the help message
-            await evt.reply(CommandSyntax.REMINDER_CANCEL.value.format(base_command=self.base_command[0],
-                                            cancel_command=self.cancel_command[0],
-                                            cancel_aliases="|".join(self.cancel_command)))
-            return
-
-        if not reminder:
-            await evt.reply(f"It doesn't look like you have any reminders matching the text `{search_text}`")
-            return
-
-        power_levels = await self.client.get_state_event(room_id=reminder.room_id,event_type=EventType.ROOM_POWER_LEVELS)
-        user_power = power_levels.users.get(evt.sender, power_levels.users_default)
-
-        if reminder.creator == evt.sender or user_power >= self.config["admin_power_level"]:
-            await reminder.cancel()
-            await evt.reply("Reminder cancelled!") if self.config["verbose"] else await evt.react("👍")
-        else:
-            await evt.reply(f"Power levels of {self.config['admin_power_level']} are required to cancel other people's reminders")
-
-
-    @create_reminder.subcommand("help", help="Usage instructions")
-    async def help(self, evt: MessageEvent) -> None:
-        await evt.reply(self._help_message(), allow_html=True)
-
-
-    @create_reminder.subcommand("list", help="List your reminders")
-    @command.argument("my", parser=lambda x: (re.sub(r"\bmy\b", "", x), re.search(r"\bmy\b", x)), required=False, pass_raw=True) # I hate it but it makes arguments not positional
-    @command.argument("subscribed", parser=lambda x: (re.sub(r"\bsubscribed\b", "", x), re.search(r"\bsubscribed\b", x)), required=False, pass_raw=True)
-    @command.argument("all", parser=lambda x: (re.sub(r"\ball\b", "", x), re.search(r"\ball\b", x)), required=False, pass_raw=True)
-    async def list(self, evt: MessageEvent, all: str, subscribed: str, my: str) -> None:
-        """Print out a formatted list of all the reminders for a user
-
-        Args:
-            evt: message event
-            my:  only list reminders the user created
-            all: list all reminders in every room
-            subscribed: only list reminders the user is subscribed to
-        """
-        room_id = None if all else evt.room_id
-        user_info = await self.db.get_user_info(evt.sender)
-        categories = {"**📜 Agenda items**": [], '**📅 Cron reminders**': [], '**🔁 Repeating reminders**': [], '**1️⃣ One-time reminders**': []}
-
-        # Sort the reminders by their next run date and format as bullet points
-        for reminder in sorted(self.reminders.values(), key=lambda x: x.job.next_run_time if x.job else datetime(2000,1,1,tzinfo=pytz.UTC)):
-            if (
-                    (not subscribed or any(x in reminder.subscribed_users.values() for x in [evt.sender, "@room"])) and
-                    (not my or evt.sender == reminder.creator) and
-                    (all or reminder.room_id == room_id)):
-
-                message = reminder.message
-                next_run = reminder.formatted_time(user_info)
-                short_event_id = f"[`{reminder.event_id[1:5]}`](https://matrix.to/#/{reminder.room_id}/{reminder.event_id})"
-
-                if reminder.reply_to:
-                    evt_link = f"[event](https://matrix.to/#/{reminder.room_id}/{reminder.reply_to})"
-                    message = f'{message} (replying to {evt_link})' if message else evt_link
-
-                if reminder.cron_tab:
-                    category = "**📅 Cron reminders**"
-                elif reminder.recur_every:
-                    category = "**🔁 Repeating reminders**"
-                elif not reminder.is_agenda:
-                    category = "**1️⃣ One-time reminders**"
-                else:
-                    category = "**📜 Agenda items**"
-
-                room_link = f"https://matrix.to/#/{reminder.room_id}" if all else ""
-                # creator_link = await make_pill(reminder.creator) if not my else ""
-
-                categories[category].append(f"* {short_event_id + room_link} {next_run}  **{message}**")
-
-        # Upack the nested dict into a flat list of reminders seperated by category
-        in_room_msg = " in this room" if room_id else ""
-        output = []
-        for category, reminders in categories.items():
-            if reminders:
-                output.append("\n" + category + in_room_msg)
-                for reminder in reminders:
-                    output.append(reminder)
-        output = "\n".join(output)
-
-        if not output:
-            await evt.reply(f"You have no upcoming reminders{in_room_msg} :(")
-
-        await evt.reply(output + f"\n\n`!{self.base_command[0]} list [all] [my] [subscribed]`\\"
-                                 f"\n`!{self.base_command[0]} {self.cancel_command[0]} [4-letter ID or start of message]`")
-
-
-
-    @create_reminder.subcommand("locale", help="Set your locale")
-    @command.argument("locale", required=False, pass_raw=True)
-    async def locale(self, evt: MessageEvent, locale: str) -> None:
-        if not locale:
-            await evt.reply(f"Your locale is `{(await self.db.get_user_info(evt.sender)).locale}`")
-            return
-        if validate_locale(locale):
-            await self.db.set_user_info(evt.sender, key="locale", value=locale)
-            await evt.reply(f"Setting your locale to {locale}")
+            reminders = [self.reminders[reminder_message.content["ch.ethz.phys.lunch"]["id"]]]
         else:
-            await evt.reply(f"Unknown locale: `{locale}`\n\n"
-                            f"[Available locales](https://dateparser.readthedocs.io/en/latest/supported_locales.html)"
-                            f" (case sensitive)")
-
+            reminders = [v for k, v in self.reminders.items() if v.room_id == evt.room_id]
 
+        for reminder in reminders:
+            power_levels = await self.client.get_state_event(room_id=reminder.room_id,
+                                                             event_type=EventType.ROOM_POWER_LEVELS)
+            user_power = power_levels.users.get(evt.sender, power_levels.users_default)
 
-    @create_reminder.subcommand("timezone", help="Set your timezone", aliases=("tz",))
-    @command.argument("timezone", required=False, pass_raw=True)
-    async def timezone(self, evt: MessageEvent, timezone: pytz.timezone) -> None:
-        if not timezone:
-            await evt.reply(f"Your timezone is `{(await self.db.get_user_info(evt.sender)).timezone}`")
-            return
-        if validate_timezone(timezone):
-            await self.db.set_user_info(evt.sender, key="timezone", value=timezone)
-            await evt.reply(f"Setting your timezone to {timezone}")
-        else:
-            await evt.reply(f"Unknown timezone: `{timezone}`\n\n"
-                            f"[Available timezones](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)")
+            if reminder.creator == evt.sender or user_power >= self.admin_power_level:
+                await reminder.cancel()
+            else:
+                await evt.reply(f"Power level of {self.admin_power_level} is required")
 
+        await evt.react("👍")
 
     @command.passive(regex=r"(?:\U0001F44D[\U0001F3FB-\U0001F3FF]?)",
                      field=lambda evt: evt.content.relates_to.key,
@@ -396,7 +340,6 @@ class ReminderBot(Plugin):
         if reminder:
             await reminder.add_subscriber(user_id=evt.sender, subscribing_event=evt.event_id)
 
-
     @event.on(EventType.ROOM_REDACTION)
     async def redact(self, evt: RedactionEvent) -> None:
         """Unsubscribe from a reminder by redacting the message"""
@@ -409,41 +352,39 @@ class ReminderBot(Plugin):
                     await reminder.cancel(redact_confirmation=True)
                 break
 
-
     @event.on(EventType.ROOM_TOMBSTONE)
     async def tombstone(self, evt: StateEvent) -> None:
         """If a room gets upgraded or replaced, move any reminders to the new room"""
         if evt.content.replacement_room:
             await self.db.update_room_id(old_id=evt.room_id, new_id=evt.content.replacement_room)
 
-    def _help_message(self) -> str:
-        return f"""
-**⏰ Maubot [Reminder](https://github.com/MxMarx/reminder) plugin**\\
-TLDR: `!{self.base_command[0]} every friday 3pm take out the trash` `!{self.base_command[0]} {self.cancel_command[0]} take out the trash`
-
-**Creating optionally recurring reminders:**
-{CommandSyntax.REMINDER_CREATE.value.format(base_command=self.base_command[0],
-                                            base_aliases="|".join(self.base_command))}
-
-**Creating agenda items**
-{CommandSyntax.AGENDA_CREATE.value.format(agenda_command="|".join(self.agenda_command))}
-
-**Listing active reminders**
-{CommandSyntax.REMINDER_LIST.value.format(base_command=self.base_command[0])}
-
-**Deleting reminders**
-
-{CommandSyntax.REMINDER_CANCEL.value.format(base_command=self.base_command[0],
-                                            cancel_command=self.cancel_command[0],
-                                            cancel_aliases="|".join(self.cancel_command))}
-
-**Rescheduling**
-
-{CommandSyntax.REMINDER_RESCHEDULE.value.format(base_command=self.base_command[0])}
-
-**Settings**
+    @lunch.subcommand("help", help="Show the help")
+    async def help(self, evt: MessageEvent) -> None:
+        await evt.reply(self._help_message())
 
-{CommandSyntax.REMINDER_SETTINGS.value.format(base_command=self.base_command[0],
-                                              default_tz=self.db.defaults.timezone,
-                                              default_locale=self.db.defaults.locale)}
-"""
\ No newline at end of file
+    def _help_message(self) -> str:
+        bc = f"!{self.base_command[0]}"
+        hc = f"`!{'`, `!'.join(self.hunger_command)}`"
+        default_facilities_markdown = '\n- '.join(self.config["default_facilities"])
+        return (f"Type `{bc}` for available subcommands and syntax\n\n"
+                f"Type `{bc} menu` to show the lunch menus of the day\n\n"
+                f"By default the menus for then following canteens are shown:\n"
+                f"- {default_facilities_markdown}\n\n"
+                f"Type `{bc} canteens` to show all available canteens\n\n"
+                f"Type `{bc} config` for configuration settings and syntax\n\n"
+                f"Type `{bc} config canteen <canteens>` to configure other canteens.\n\n"
+                f"Replace `<canteens>` with a comma-separated list of canteen names,\n"
+                f"a comma-separated list of sequences of characters matching parts of\n"
+                f"canteen names (example: `poly,food market,fusion`) or `all`.\n"
+                f"This will store your canteen selection and remember it for any commands\n"
+                f"or reminders without explicit `[canteens]` selection.\n\n"
+                f"Type `{bc} config language de` to show menus in German\n\n"
+                f"Type `{bc} config price off` to hide menu prices\n\n"
+                f"Type `{bc} remind 11:00` to schedule a reminder in the room.\n"
+                f"The bot will then send the lunch menu every weekday at the specified time.\n"
+                f"A power level of {self.admin_power_level} is required for reminders.\n\n"
+                f"React with \U0001F44D to any `{bc} remind` command message\n"
+                f"to get pinged (mentioned) in the reminder.\n\n"
+                f"Type `{bc} cancel` in a new message to cancel all reminders in the room\n"
+                f"or reply to a reminder to cancel a specific reminder\n\n"
+                f"The following commands are aliases for the `{bc} menu` subcommand: {hc}")
diff --git a/reminder/db.py b/reminder/db.py
index be60f75..fdf58ec 100644
--- a/reminder/db.py
+++ b/reminder/db.py
@@ -16,17 +16,16 @@
 from __future__ import annotations
 import logging
 
-from typing import Optional, Iterator, Dict, List, DefaultDict
+from typing import Dict, DefaultDict, Literal, TYPE_CHECKING
 from datetime import datetime
 from collections import defaultdict
-from .util import validate_timezone, validate_locale, UserInfo
+from .util import validate_timezone, validate_locale, validate_price, validate_facilities, UserInfo
 
 import pytz
 
 from mautrix.util.async_db import Database
 
 from mautrix.types import UserID, EventID, RoomID
-from typing import Dict, Literal, TYPE_CHECKING
 
 
 if TYPE_CHECKING:
@@ -48,20 +47,22 @@ class ReminderDatabase:
         self.cache = defaultdict()
         self.defaults = defaults
 
-
     async def get_user_info(self, user_id: UserID) -> UserInfo:
         """ Get the timezone and locale for a user. Data is cached in memory.
         Args:
             user_id: ID for the user to query
         Returns:
-            UserInfo: a dataclass with keys: 'locale' and 'timezone'
+            UserInfo: a dataclass with keys: 'locale', 'timezone', 'price' and 'facilities'
         """
         if user_id not in self.cache:
-            query = "SELECT timezone, locale FROM user_settings WHERE user_id = $1"
+            query = ("SELECT timezone, locale, price, facilities"
+                     " FROM user_settings WHERE user_id = $1")
             row = dict(await self.db.fetchrow(query, user_id) or {})
 
             locale = row.get("locale", self.defaults.locale)
             timezone = row.get("timezone", self.defaults.timezone)
+            price = row.get("price", self.defaults.price)
+            facilities = row.get("facilities", self.defaults.facilities)
 
             # If fetched locale is invalid, use default one
             if not locale or not validate_locale(locale):
@@ -71,19 +72,29 @@ class ReminderDatabase:
             if not timezone or not validate_timezone(timezone):
                 timezone = self.defaults.timezone
 
-            self.cache[user_id] = UserInfo(locale=locale, timezone=timezone)
+            if not price or not validate_price(price):
+                price = self.defaults.price
 
-        return self.cache[user_id]
+            if not facilities or not validate_facilities(facilities):
+                facilities = self.defaults.facilities
+
+            self.cache[user_id] = UserInfo(locale=locale,
+                                           timezone=timezone,
+                                           price=price,
+                                           facilities=facilities)
 
+        return self.cache[user_id]
 
-    async def set_user_info(self, user_id: UserID, key: Literal["timezone", "locale"], value: str) -> None:
+    async def set_user_info(self, user_id: UserID,
+                            key: Literal["timezone", "locale", "price", "facilities"],
+                            value: str) -> None:
         # Make sure user_info is populated first
         await self.get_user_info(user_id)
         # Update cache
         setattr(self.cache[user_id], key, value)
         # Update the db
         q = """
-        INSERT INTO user_settings (user_id, {0}) 
+        INSERT INTO user_settings (user_id, {0})
         VALUES ($1, $2) ON CONFLICT (user_id) DO UPDATE SET {0} = EXCLUDED.{0}
         """.format(key)
         await self.db.execute(q, user_id, value)
@@ -114,15 +125,30 @@ class ReminderDatabase:
             reminder.is_agenda,
             reminder.creator)
 
-
     async def load_all(self, bot: ReminderBot) -> Dict[EventID, Reminder]:
         """ Load all reminders in the database and return them as a dict for the main bot
         Args:
-            bot: it feels dirty to do it this way, but it seems to work and make code cleaner but feel free to fix this
+            bot: it feels dirty to do it this way, but it seems to work and make code cleaner
+                 but feel free to fix this
         Returns:
             a dict of Reminders, with the event id as the key.
         """
-        rows = await self.db.fetch("""
+        rows_reminders = await self.db.fetch("""
+                SELECT
+                    event_id,
+                    room_id,
+                    message,
+                    reply_to,
+                    start_time,
+                    recur_every,
+                    cron_tab,
+                    is_agenda,
+                    confirmation_event,
+                    creator
+                FROM reminder
+            """)
+
+        rows_subscribers = await self.db.fetch("""
                 SELECT
                     event_id,
                     room_id,
@@ -138,14 +164,33 @@ class ReminderDatabase:
                     creator
                 FROM reminder NATURAL JOIN reminder_target
             """)
-        logger.debug(f"Loaded {len(rows)} reminders")
+
+        logger.info(f"Loaded {len(rows_reminders)} reminders"
+                    f" with {len(rows_subscribers)} subscribers")
+
+        rows = rows_reminders + rows_subscribers
         reminders = {}
+
         for row in rows:
-            # Reminder subscribers are stored in a separate table instead of in an array type for sqlite support
-            if row["event_id"] in reminders:
-                # reminders[row["event_id"]].subscribed_users.append(row["user_id"])
-                reminders[row["event_id"]].subscribed_users[row["user_id"]] = row["subscribing_event"]
-                continue
+            if "user_id" in row.keys():
+                # If a row has the key `"user_id:` it is a subscriber.
+                # Reminder subscribers are stored in a separate table
+                # instead of in an array type for sqlite support.
+                # So we need to handle them here and add subscribers to reminders
+                if row["event_id"] in reminders:
+                    rid = row["event_id"]
+                    sid = row["subscribing_event"]
+                    uid = row["user_id"]
+                    # Reminders with already existing event_id in reminders are just subscribers
+                    reminders[rid].subscribed_users[sid] = uid
+                    # Reminder already exists
+                    continue
+
+                # New reminder with subscriber
+                subscribed_users = {row["subscribing_event"]: row["user_id"]}
+            else:
+                # New reminder without subscriber
+                subscribed_users = {}
 
             start_time = datetime.fromisoformat(row["start_time"]) if row["start_time"] else None
 
@@ -165,6 +210,8 @@ class ReminderDatabase:
                         await self.delete_reminder(row["event_id"])
                         continue
 
+            logger.info(f"load reminder: {row['event_id']}")
+
             reminders[row["event_id"]] = Reminder(
                 bot=bot,
                 event_id=row["event_id"],
@@ -175,9 +222,9 @@ class ReminderDatabase:
                 recur_every=row["recur_every"],
                 cron_tab=row["cron_tab"],
                 is_agenda=row["is_agenda"],
-                subscribed_users={row["subscribing_event"]: row["user_id"]},
+                subscribed_users=subscribed_users,
                 creator=row["creator"],
-                user_info= await self.get_user_info(row["creator"]),
+                user_info=await self.get_user_info(row["creator"]),
                 confirmation_event=row["confirmation_event"],
             )
 
@@ -199,6 +246,7 @@ class ReminderDatabase:
             start_time.replace(microsecond=0).isoformat(),
             event_id
         )
+
     async def update_room_id(self, old_id: RoomID, new_id: RoomID) -> None:
         await self.db.execute("""
             UPDATE reminder
@@ -231,4 +279,4 @@ class ReminderDatabase:
             WHERE event_id = $2
         """,
             confirmation_event,
-            event_id)
\ No newline at end of file
+            event_id)
diff --git a/reminder/ethz.py b/reminder/ethz.py
new file mode 100644
index 0000000..b0ce478
--- /dev/null
+++ b/reminder/ethz.py
@@ -0,0 +1,126 @@
+# ethzlunch - A maubot plugin for the canteen lunch menus at ETH Zurich.
+# Copyright (C) 2024 Sven Mäder
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
+import re
+from typing import List, Dict
+from datetime import date
+
+client_id = "?client-id=ethz-wcms"
+default_meal_time_names = ["lunch", "mittag"]
+
+
+def parse_facilities(data: Dict) -> Dict:
+    data = data["facility-array"]
+    return {d["facility-name"]: d["facility-id"] for d in data}
+
+
+def filter_facilities(facilities: Dict, facilities_filter: str) -> Dict:
+    filter_list = list(filter(len, re.split(r"\s?,\s?|\s?\n+\s?", facilities_filter)))
+    return {k: v for k, v in facilities.items() if any(f.lower() in k.lower() for f in filter_list)}
+
+
+def markdown_facilities(facilities: Dict) -> str:
+    return "\n".join(['- ' + m for m in sorted(facilities)])
+
+
+def parse_menus(data: Dict, facilities: Dict, customer: str = "int",  # noqa: C901
+                meal_time_names: List = default_meal_time_names) -> Dict:
+    menus = {}
+    data = data["weekly-rota-array"]
+
+    for facility_name, facility_id in facilities.items():
+        weekday = date.today().weekday()
+        menu = next(filter(lambda m: m["facility-id"] == facility_id, data), None)
+
+        if not menu:
+            menus[facility_name] = None
+            continue
+
+        day = menu["day-of-week-array"][weekday]
+
+        if "opening-hour-array" in day and day["opening-hour-array"]:
+            oha = day["opening-hour-array"][0]
+            open_hours_from = oha["time-from"]
+            open_hours_to = oha["time-to"]
+            open_hours = f"{open_hours_from} - {open_hours_to}"
+        else:
+            menus[facility_name] = None
+            continue
+
+        if "meal-time-array" in oha and oha["meal-time-array"]:
+            mta = oha["meal-time-array"]
+        else:
+            menus[facility_name] = None
+            continue
+
+        for mt in mta:
+            mt_name = mt["name"].lower()
+
+            if not any(mtn in mt_name for mtn in meal_time_names):
+                continue
+
+            mt_from = mt["time-from"]
+            mt_to = mt["time-to"]
+            time = f"{mt_from} - {mt_to}"
+            meals = {}
+
+            if "line-array" not in mt:
+                menus[facility_name] = {"open": open_hours, "time": time, "meals": None}
+                continue
+
+            for meal in mt["line-array"]:
+                try:
+                    station = meal["name"].strip()
+                    name = meal["meal"]["name"].strip()
+                    description = meal["meal"]["description"].strip()
+                    image_url = ""
+                    if "image-url" in meal["meal"]:
+                        image_url = meal["meal"]["image-url"].strip()
+                    image = image_url + client_id if image_url else ""
+                    price = ""
+
+                    if "meal-price-array" in meal["meal"]:
+                        for mp in meal["meal"]["meal-price-array"]:
+                            if customer in mp["customer-group-desc-short"].lower():
+                                price = mp["price"]
+
+                    meals[station] = {"name": name, "description": description,
+                                      "price": price, "image": image}
+                except KeyError:
+                    continue
+
+            menus[facility_name] = {"open": open_hours, "time": time, "meals": meals}
+
+    return menus
+
+
+def markdown_menus(menus: Dict) -> str:
+    md = ""
+
+    for facility, value in dict(sorted(menus.items())).items():
+        time = value["time"] if value and value['meals'] else "no menu"
+        md += f"#### {facility.lower()} ({time})\n"
+
+        if value and value['meals']:
+            for meal, value in dict(sorted(value['meals'].items())).items():
+                md += "- "
+                md += f"**{meal.lower()}** "
+                md += f"[{value['name'].lower()}]({value['image']})"
+                if value['price']:
+                    md += f" [{float(value['price']):.2f}]"
+                md += f": {value['description'].lower()}"
+                md += "\n"
+
+    return md
diff --git a/reminder/migrations.py b/reminder/migrations.py
index 276e7fc..6bfb192 100644
--- a/reminder/migrations.py
+++ b/reminder/migrations.py
@@ -33,7 +33,6 @@ async def upgrade_v1(conn: Connection, scheme: Scheme) -> None:
             is_agenda   BOOL,                   /* agendas are alarms that don't trigger */
             confirmation_event TEXT,            /* event_id of the confirmation message, so that we can delete the confirmation if the reminder is deleted */
             PRIMARY KEY (event_id)
-            
         )"""
     )
 
@@ -52,6 +51,8 @@ async def upgrade_v1(conn: Connection, scheme: Scheme) -> None:
             user_id     VARCHAR(255) NOT NULL,  /* user_id */
             timezone    TEXT,                   /* user's timezone, e.g. America/Los_Angeles, PST. see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones */
             locale      TEXT,                   /* user's locale or langauge, e.g. en, en-AU, fr, fr-CA. See https://dateparser.readthedocs.io/en/latest/supported_locales.html */
+            price       TEXT,                   /* user's price category */
+            facilities  TEXT,                   /* user's facilities filter list */
             PRIMARY KEY (user_id)
         )"""
     )
diff --git a/reminder/reminder.py b/reminder/reminder.py
index 291a178..1b1cb97 100644
--- a/reminder/reminder.py
+++ b/reminder/reminder.py
@@ -8,13 +8,11 @@ from apscheduler.triggers.cron import CronTrigger
 from apscheduler.triggers.date import DateTrigger
 
 from mautrix.util import markdown
-
 from mautrix.types import (Format, MessageType, TextMessageEventContent, UserID, EventID, RoomID)
-
 from .util import CommandSyntaxError, CommandSyntax, make_pill, parse_date, UserInfo, format_time
 
 try:
-    from cron_descriptor import Options, CasingTypeEnum, DescriptionTypeEnum, ExpressionDescriptor
+    from cron_descriptor import CasingTypeEnum, ExpressionDescriptor
     USE_CRON_DESCRIPTOR = True
 except ImportError:
     USE_CRON_DESCRIPTOR = False
@@ -24,6 +22,7 @@ if TYPE_CHECKING:
 
 logger = logging.getLogger(__name__)
 
+
 class Reminder(object):
     def __init__(
         self,
@@ -49,14 +48,16 @@ class Reminder(object):
             room_id: The ID of the room the reminder should appear in
             message: The text to include in the reminder message
             event_id: The event ID of the message creating the reminder
-            reply_to: The event ID of the message the reminder is replying to if applicable, so we can link it in the reply
+            reply_to: The event ID of the message the reminder is replying to if applicable,
+                      so we can link it in the reply
             start_time: When the reminder should first go off
             recur_every: date string to parse to schedule the next recurring reminder
             cron_tab: cron text
             subscribed_users: dict of subscribed users with corresponding subscription events
             creator: ID of the creator
             user_info: contains timezone and locale for the person who created the reminder
-            confirmation_event: EventID of the confirmation message. Store this so it can be redacted when the reminder is removed.
+            confirmation_event: EventID of the confirmation message.
+                                Store this so it can be redacted when the reminder is removed.
             is_agenda: Agenda items are reminders that never fire.
         """
         self.bot = bot
@@ -72,22 +73,20 @@ class Reminder(object):
         self.confirmation_event = confirmation_event
         self.is_agenda = is_agenda
 
-        # Schedule the reminder
-
-        # TODO add agenda
         trigger = None
         self.job = None
 
         if not is_agenda:
             # Determine how the reminder is triggered.
             # For both once-off and recurring reminders, user date trigger (runs once).
-            # Recurring reminders are rescheduled when the job runs, so we don't need to worry about them here.
+            # Recurring reminders are rescheduled when the job runs,
+            # so we don't need to worry about them here.
             if cron_tab:
                 try:
                     self.cron_tab = cron_tab.removeprefix("cron")
                     trigger = CronTrigger.from_crontab(self.cron_tab, timezone=user_info.timezone)
                 except ValueError as e:
-                    raise CommandSyntaxError(f"The crontab `{self.cron_tab}` is invalid. \n\n\t{str(e)}",
+                    raise CommandSyntaxError(f"The crontab is invalid. \n\n\t{str(e)}",
                                              CommandSyntax.CRON_EXAMPLE)
 
             elif recur_every and start_time < datetime.now(tz=pytz.UTC):
@@ -114,41 +113,64 @@ class Reminder(object):
             self.job = self.bot.scheduler.add_job(self._fire, trigger=trigger, id=self.event_id)
             await self.bot.db.reschedule_reminder(start_time=start_time, event_id=self.event_id)
 
-
         # Check if the user is rate limited
-        reminder_count = user_info.check_rate_limit(max_calls=self.bot.config["rate_limit"],
-                                                    time_window=self.bot.config["rate_limit_minutes"])
-
+        rate_limit = self.bot.config["rate_limit"]
+        rate_limit_minutes = self.bot.config["rate_limit_minutes"]
+        reminder_count = user_info.check_rate_limit(max_calls=rate_limit,
+                                                    time_window=rate_limit_minutes)
 
         # Send the message to the room if we aren't rate limited
         if reminder_count > self.bot.config["rate_limit"]:
             logger.debug(f"User {self.creator} is rate limited skipping reminder: {self.message}")
         else:
-            # Build the message with the format "(users to ping) ⬆️(link to the reminder): message text [next run]
-            # Note: ️using "⬆️" as a link seems to have trouble rendering in element for android, but "⬆" works and element on my PC still renders it as the emoji
+            # Build the message with the format:
+            # (users to ping) ⬆️(link to the reminder): message text [next run]
+            # Note: ️using "⬆️" as a link seems to have trouble rendering in element for android,
+            # but "⬆" works and element on my PC still renders it as the emoji
             targets = list(self.subscribed_users.values())
             link = f"https://matrix.to/#/{self.room_id}/{self.event_id}"
             users = " ".join([(await make_pill(user_id=user_id, client=self.bot.client))
-                                  for user_id in targets])
+                              for user_id in targets])
+
+            body = ""
+
+            if users:
+                body += f"{users}: "
 
-            body = f"{users}: [⬆]({link}) {self.message}"
+            body += f"[🍔]({link}) Reminder"
+
+            if self.message:
+                body += f" for `{self.message}`"
 
             if self.recur_every or self.cron_tab:
-                body += f"\n\nReminding again {self.formatted_time(user_info)}." \
-                        f" Reply `!{self.bot.base_command[0]} {self.bot.cancel_command[0]}` to stop."
+                body += f" {self.formatted_time(user_info)}."
+                # body += f" Reply `!{self.bot.base_command[0]} cancel` to stop."
 
             # Warn the user before rate limiting happens
             if reminder_count == self.bot.config["rate_limit"]:
                 body += f"\n\n*You've reached the rate limit " \
-                        f"({self.bot.config['rate_limit']} per {self.bot.config['rate_limit_minutes']} minutes). " \
+                        f"({self.bot.config['rate_limit']} per " \
+                        f"{self.bot.config['rate_limit_minutes']} minutes). " \
                         f"Any upcoming reminders might be ignored!*"
 
-            # Create the message, and include all the data necessary to reschedule the reminder in org.bytemarx.reminder
+            menus = await self.bot.get_markdown_menus(user=self.creator,
+                                                      facilities_filter=self.message)
+
+            if not menus:
+                menus = "No results"
+
+            body += f"\n\n{menus}"
+
+            # Create the message, and include all the data necessary to reschedule the reminder
             content = TextMessageEventContent(
-                msgtype=MessageType.TEXT, body=body, format=Format.HTML, formatted_body=markdown.render(body))
-            content["org.bytemarx.reminder"] = {"id": self.event_id,
-                                              "message": self.message,
-                                              "reply_to": self.reply_to}
+                msgtype=MessageType.TEXT,
+                body=body,
+                format=Format.HTML,
+                formatted_body=markdown.render(body))
+
+            content["ch.ethz.phys.lunch"] = {"id": self.event_id,
+                                             "message": self.message,
+                                             "reply_to": self.reply_to}
 
             # Add subscribed users to MSC3952 mentions
             content["m.mentions"] = {"room": True} if "@room" in targets else {"user_ids": targets}
@@ -163,7 +185,6 @@ class Reminder(object):
             # We set cancel_alarm to False here else the associated alarms wouldn't even fire
             await self.cancel(redact_confirmation=False)
 
-
     async def cancel(self, redact_confirmation: bool = False):
         """Cancels a reminder and all recurring instances
 
@@ -192,7 +213,6 @@ class Reminder(object):
             await self.bot.db.remove_subscriber(subscribing_event=subscribing_event)
             del self.subscribed_users[subscribing_event]
 
-
     def formatted_time(self, user_info: UserInfo):
         """
         Format the next run time. as
@@ -203,21 +223,31 @@ class Reminder(object):
 
         """
         if self.is_agenda:
-            return format_time(self.start_time, user_info=user_info, time_format=self.bot.config['time_format'])
+            return format_time(self.start_time,
+                               user_info=user_info,
+                               time_format=self.bot.config['time_format'])
         else:
-            next_run = format_time(self.job.next_run_time, user_info=user_info, time_format=self.bot.config['time_format'])
+            next_run = format_time(self.job.next_run_time,
+                                   user_info=user_info,
+                                   time_format=self.bot.config['time_format'])
             if self.cron_tab:
                 # TODO add languages
                 if USE_CRON_DESCRIPTOR:
-                    return f"{ExpressionDescriptor(self.cron_tab, casing_type=CasingTypeEnum.LowerCase)} (`{self.cron_tab}`), next run {next_run}"
+                    ed = ExpressionDescriptor(self.cron_tab,
+                                              casing_type=CasingTypeEnum.LowerCase,
+                                              use_24hour_time_format=True)
+                    return f"{ed}"
+                    # return f"{ed} (`{self.cron_tab}`), next run {next_run}"
                 else:
-                    return f"`{self.cron_tab}`, next run at {next_run}"
+                    return f"`{self.cron_tab}`"
+                    # return f"`{self.cron_tab}`, next run at {next_run}"
             elif self.recur_every:
                 return f"every {self.recur_every}, next run at {next_run}"
-            else: # once-off reminders
+            else:  # once-off reminders
                 return next_run
 
     async def set_confirmation(self, confirmation_event: EventID):
         """ Set the confirmation message so that it can be redacted if the message is deleted"""
         self.confirmation_event = confirmation_event
-        await self.bot.db.set_confirmation_event(event_id=self.event_id, confirmation_event=confirmation_event)
+        await self.bot.db.set_confirmation_event(event_id=self.event_id,
+                                                 confirmation_event=confirmation_event)
diff --git a/reminder/util.py b/reminder/util.py
index 50a8101..ac410eb 100644
--- a/reminder/util.py
+++ b/reminder/util.py
@@ -19,7 +19,7 @@ import re
 from itertools import islice
 from collections import deque
 
-from typing import Optional, Dict, List, Tuple, TYPE_CHECKING
+from typing import Tuple
 from datetime import datetime, timedelta
 from attr import dataclass
 from dateparser.search import search_dates
@@ -29,97 +29,22 @@ import pytz
 from enum import Enum
 
 from maubot.client import MaubotMatrixClient
-from mautrix.types import UserID, RoomID, EventID
-from maubot.handlers.command import  ArgumentSyntaxError
-
-if TYPE_CHECKING:
-    from .reminder import Reminder
+from mautrix.types import UserID
 
 logger = logging.getLogger(__name__)
 
 
 class CommandSyntax(Enum):
-    REMINDER_CREATE = """
-`!{base_aliases} <date> <message>` Adds a reminder
-* `!{base_command} 8 hours buy more pumpkins`
-* `!{base_command} 2023-11-30 15:00 befriend rats`
-* `!{base_command} abolish closed-access journals at 3pm tomorrow`
-* `July 2`, `tuesday at 2pm`, `8pm`, `20 days`, `4d`, `2wk`, ...
-* Dates doesn't need to be at the beginning of the string, but parsing works better if they are.
-
-`!{base_command} [room] [every] ...`
-* `[room]` pings the whole room
-* `[every]` create recurring reminders `!{base_command} every friday 3pm take out the trash`
-
-`!{base_command} [room] <cron> <message>` Schedules a reminder using a crontab syntax
-* `!{base_command} cron 30 9 * * mon-fri do something` sets reminders for 9:30am, Monday through Friday.
-* `!{base_command} cron` lists more examples
-
-You can also reply to any message with `!{base_command} ...` to get reminded about that message.\\
-To get pinged by someone else's reminder, react to their message with 👍.
-"""
-
-    AGENDA_CREATE = """
-`!{agenda_command} [room] <message>` creates an agenda item. Agenda items are like reminders but don't have a time, for things like to-do lists.
-    """
-
-    REMINDER_LIST = """
-`!{base_command} list [all] [my] [subscribed]` lists all reminders in a room 
-* `all` lists all reminders from every room
-* `my` lists only reminders you created
-* `subscribed` lists only reminders you are subscribed to
-    """
-
-    REMINDER_CANCEL = """
-Cancel reminders by removing the message creating it, unsubscribe by removing your upvote.\\
-Cancel recurring reminders by replying with `!{base_command} {cancel_aliases}` 
-* `!{base_command} {cancel_aliases} <ID>` deletes a reminder matching the 4 letter ID shown by `list`
-* `!{base_command} {cancel_aliases} <message>` deletes a reminder **beginning with** <message>
-    * e.g. `!remind {cancel_command} buy more` would delete the reminder `buy more pumpkins`
-"""
-
-    REMINDER_RESCHEDULE = """
-Reminders can be rescheduled by replying to the ping with `!{base_command} <new_date>`
-"""
-
-    REMINDER_SETTINGS = """
-Dates are parsed using your [timezone](https://en.wikipedia.org/wiki/List_of_tz_database_time_zone) and [locale](https://dateparser.readthedocs.io/en/latest/supported_locales.html).
-Defaults are `{default_tz}` and `{default_locale}`
-* `!{base_command} tz|timezone [new-timezone]` view or set your timezone
-* `!{base_command} locale [new-locale]` view or set your locale
-"""
-
     PARSE_DATE_EXAMPLES = "Examples: `Tuesday at noon`, `2023-11-30 10:15 pm`, `July 2`, `6 hours`, `8pm`, `4d`, `2wk`"
-
-    CRON_EXAMPLE = """
-```
-*	any value
-,	value list separator
--	range of values
-/	step 
-
-┌─────── minute (0 - 59)
-│ ┌─────── hour (0 - 23)
-│ │ ┌─────── day of the month (1 - 31)
-│ │ │ ┌─────── month (1 - 12)
-│ │ │ │ ┌─────── weekday (0 - 6) (Sunday to Saturday)                             
-│ │ │ │ │
-* * * * * <message>
-```
-
-```
-30 9 * * *              Every day at 9:30am
-0/30 9-17 * * mon-fri   Every 30 minutes from 9am to 5pm, Monday through Friday
-0 14 1,16 * *           2:00pm on the 1st and 16th day of the month
-0 0 1-7 * mon           First Monday of the month at midnight
-```
- """
+    CRON_EXAMPLE = "Valid weekday examples: `mon-fri`, `mon,tue,thu`, `mon-wed,fri`"
 
 
 @dataclass
 class UserInfo:
     locale: str = None
     timezone: str = None
+    price: str = None
+    facilities: str = None
     last_reminders: deque = deque()
 
     def check_rate_limit(self, max_calls=5, time_window=60) -> int:
@@ -138,6 +63,7 @@ class UserInfo:
             self.last_reminders.append(now)
         return len(self.last_reminders)
 
+
 class CommandSyntaxError(ValueError):
     def __init__(self, message: str, command: CommandSyntax | None = None):
         """ Format error messages with examples """
@@ -147,19 +73,30 @@ class CommandSyntaxError(ValueError):
             message += "\n\n" + command.value
         self.message = message
 
+
 def validate_timezone(tz: str) -> bool | str:
     try:
         return dateparser.utils.get_timezone_from_tz_string(tz).tzname(None)
     except pytz.UnknownTimeZoneError:
         return False
 
+
 def validate_locale(locale: str):
     try:
         return dateparser.languages.loader.LocaleDataLoader().get_locale(locale)
     except ValueError:
         return False
 
-def parse_date(str_with_time: str, user_info: UserInfo, search_text: bool=False) -> Tuple[datetime, str]:
+
+def validate_price(price: str) -> bool:
+    return price.lower() in ["int", "ext", "stud", "off"]
+
+
+def validate_facilities(facilities: str) -> bool:
+    return isinstance(facilities, str)
+
+
+def parse_date(str_with_time: str, user_info: UserInfo, search_text: bool = False) -> Tuple[datetime, str]:
     """
     Extract the date from a string.
 
@@ -217,11 +154,13 @@ def parse_date(str_with_time: str, user_info: UserInfo, search_text: bool=False)
 
     return date, date_str
 
+
 def pluralize(val: int, unit: str) -> str:
     if val == 1:
         return f"{val} {unit}"
     return f"{val} {unit}s"
 
+
 def format_time(time: datetime, user_info: UserInfo, time_format: str = "%-I:%M%P %Z on %A, %B %-d %Y") -> str:
     """
     Format time as something readable by humans.
@@ -237,23 +176,23 @@ def format_time(time: datetime, user_info: UserInfo, time_format: str = "%-I:%M%
 
     # If the date is coming up in less than a week, print the two most significant figures of the duration
     if abs(delta) <= timedelta(days=7):
-            parts = []
-            if delta.days > 0:
-                parts.append(pluralize(delta.days, "day"))
-            hours, seconds = divmod(delta.seconds, 60)
-            hours, minutes = divmod(hours, 60)
-            if hours > 0:
-                parts.append(pluralize(hours, "hour"))
-            if minutes > 0:
-                parts.append(pluralize(minutes, "minute"))
-            if seconds > 0:
-                parts.append(pluralize(seconds, "second"))
-
-            formatted_time = " and ".join(parts[0:2])
-            if time > now:
-                formatted_time = "in " + formatted_time
-            else:
-                formatted_time = formatted_time + " ago"
+        parts = []
+        if delta.days > 0:
+            parts.append(pluralize(delta.days, "day"))
+        hours, seconds = divmod(delta.seconds, 60)
+        hours, minutes = divmod(hours, 60)
+        if hours > 0:
+            parts.append(pluralize(hours, "hour"))
+        if minutes > 0:
+            parts.append(pluralize(minutes, "minute"))
+        if seconds > 0:
+            parts.append(pluralize(seconds, "second"))
+
+        formatted_time = " and ".join(parts[0:2])
+        if time > now:
+            formatted_time = "in " + formatted_time
+        else:
+            formatted_time = formatted_time + " ago"
     else:
         formatted_time = time.astimezone(
             dateparser.utils.get_timezone_from_tz_string(user_info.timezone)).strftime(time_format)
@@ -282,4 +221,3 @@ async def make_pill(user_id: UserID, display_name: str = None, client: MaubotMat
 
     # return f'<a href="https://matrix.to/#/{user_id}">{display_name}</a>'
     return f'[{display_name}](https://matrix.to/#/{user_id})'
-
diff --git a/screenshot.png b/screenshot.png
deleted file mode 100644
index 844341b41c443dcc6b2cf441e20c5fb18c73836e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 110492
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

-- 
GitLab