Telegram WG-Bot

Telegram WG-Bot

Um die Aufgaben in unserer Studenten-WG managen zu können, eine gemeinsame Einkaufsliste zu führen und die Finanzen besser im Blick zu behalten, habe ich 2019 einen Telegram-Bot programmiert. Dieser ist Mitglied in unserer WG-Gruppe und kann sowohl in der Gruppe, als auch im Privatchat Nachrichten entgegennehmen. Nach und nach kamen immer mehr Funktionen hinzu. Programmiert ist der Bot in Python mithilfe der “telepot” library. Ein kleines Frontend zeigt zudem in der Küche auf einem Monitor die wichtigsten Informationen an.

Die folgenden Abschnitte geben einen Überblick über die implementierten Funktionen.

Einkaufsliste

Die Einkaufsliste ermöglicht es, Artikel auf die Liste zu setzen, die Liste anzuzeigen sowie Artikel wieder von der Liste zu entfernen. Wird ein Artikel im Privatchat mit dem Bot hinzugefügt oder entfernt, erfolgt eine Benachrichtigung in die WG-Gruppe. Die Liste wird außerdem auf dem Infoscreen in der Küche angezeigt.

Putzplan

Die wohl wichtigste Funktion in unserer WG – der Putzplan. Der WG-Bot schickt regelmäßig Erinnerungen in die Gruppe, wenn Aufgaben fällig sind. Der Putzplan kann mit dem Command “/putzplan” angezeigt werden, und Aufgaben können von allen Usern abgehakt werden. Der Putzplan wird auf dem Infoboard angezeigt, mit farblicher Markierung je nach Fälligkeit einzelner Aufgaben.

Müllabfuhr-Reminder

Am Abend vor einem Abfuhrtermin sendet der WG-Bot eine Erinnerung in unsere Gruppe. Was zuvor öfter mal vergessen wurde, haben wir nun immer im Blick 😉

Finanzen

Die Finanz-Funktion erlaubt es, Einkäufe einzutragen und die Kontostände der WG-Mitglieder zu verwalten. Um den Verlauf der Transaktionen besser nachzuvollziehen, werden die Einträge vom Bot in einem Google Spreadsheet abgelegt, wo sie für alle leicht einzusehen sind.

Mit dem Command “/geld” können unter anderem neue Einträge angelegt werden und die aktuellen Kontostände angezeigt werden. Beim Anlegen eines neuen Eintrags zieht sich der Bot die aktuellen Kontostände aus dem Google Spreadsheet, berechnet die neuen Kontostände und schreibt sowohl den Eintrag als auch die neuen Kontostände zurück ins Spreadsheet.

Beim Anlegen von Finanzeinträgen kann ausgewählt werden, für wen der Einkauf getätigt wurde. So können nicht nur Einkäufe für die ganze WG eingetragen werden, sondern auch Einträge zwischen einzelnen Mitbewohnern verrechnet werden. Wird ein Kontostand durch eine Überweisung ausgeglichen, kann diese Überweisung ebenfalls eingetragen werden.

Wetter

Die Wetter-Funktion erlaubt es, aktuelle Wetterdaten für jede beliebige Stadt in Deutschland im Chat abzurufen. Die Suche erfolt mit Stichworten, und es können pro Benutzer zwei Favoriten eingespeichert werden. Im Hintergrund werden die Städte anhand von Postleitzahlen gespeichert. Um die Einstellung der Favoriten zu speichern, wird vom WG-Bot eine Cookie-Datei im JSON-Format angelegt. In dieser Datei werden die benutzerspezifischen Favoriten hinterlegt. Auch für weitere Funktionen werden die Metadaten in dieser Datei gespeichert.

Nahverkehr

Die Nahverkehrsfunktion ist mehr ein Gimmick als tatsächlich im Alltag nützlich, da es natürlich Apps gibt, mit denen das selbe Ergebnis deutlicher intuitiver erreicht werden kann. Programmiert wurde sie ursprünglich, um die Abfahrtszeiten der aktuellen Straßenbahnverbindungen auf unserem Infoboard in der Küche anzuzeigen. Fahrtdaten können jedoch auch im Telegram-Chat abgerufen werden. Auch hier bietet sich die Funktion, Haltestellen als Favoriten zu speichern. Die Daten werden von der RMV-API gezogen, somit können alle Haltestellen im RMV-Gebiet abgefragt werden.

Mensa Speiseplan

Die Mensa-Funktion ermöglicht es, den aktuellen Speiseplan von Mensen in Deutschland abzurufen. Da die Daten von OpenMensa abgerufen werden, werden nur Mensen unterstützt, deren Daten dort verfügbar sind. Da mittlerweile keine Daten mehr zur TU Darmstadt verfügbar sind, wird diese Funktion von uns nicht mehr aktiv benutzt.

Comments are closed.