fancyLVBot

Telegram-Chat-Bot, den man unter dem Namen “fancyLVBot” als Kontakt hinzufügen und nach der aktuellen Abfahrtzeiten fragen kann.

Unsere Zielgruppe sind Einheimische, die Streckenverbindung kennen und nur schnell und unkompliziert die nächsten Abfahrten ihrer Straßenbahn sehen wollen. Ein klassischer Anwendungsfall wäre, nach durchzechtem Abend die Abfahrt der letzten Bahn angezeigt zu bekommen.

Die Projekt-Idee wurde von Maria an uns herangetragen, die einen ähnlichen ChatBot bereits in Dresden gesehen hatte.

Funktionen

  • Haltestellen-Suche nach Name
  • Nächste 10 Abfahrten für eine gewählte Haltestelle (Name der Linie, Abfahrt in Minuten ab jetzt, inklusive eventuell bekannter Verspätung)
  • Aktuellen Standort über Telegram mit Bot teilen, um die 5 nächstliegenden Haltestellen angeboten zu bekommen
  • Haltestellen als Schnellwahl in Favoritenliste speichern
  • Tages- und Nachtlinienplan Leipzigs als PDF herunterladen
  • Haltestellensuche auf Leipzig einschränkt oder auf gesamtes MDV-Gebiet

Technische Umsetzung

  • NodeJS Anwendung, die das Framework node-telegram-bot-api nutzt, um einen ChatBot für den Telegram-Messenger zu registrieren, der dann als Kontakt von jedem hinzugefügt werden kann
  • Nutzer-Eingaben werden über Reguläre Ausdrücke gematcht und in entsprechende Kommandos umgesetzt
  • mit den aktuellen MDV-Daten im GTFS-Format gtfs_mdv.zip hosten wir hier in einer OpenTripPlanner Anwendung und stehen somit auch als REST-API zur Verfügung
  • des Weiteren nutzen wir das npm Package lvb für die Live-Abfahrten-Abfrage

Erweiterungsideen

  • Haltestellen zusammenfassen, die geografisch sehr nah beieinander liegen und logisch als ein Haltestellenpunkt betrachtet werden können
  • Unscharfe Suche (Fuzzy Search), um auch Haltestelle zu finden, wenn man sich verschrieben hat, bzw. nicht genauen Wortlaut der Haltestelle trifft
  • ChatBot aus anderen Chats heraus nutzen können
  • EasyGo API nutzen, da GTFS API nur statische Daten liefert und das lvb npm Package noch auf eine veraltete API geht, die nicht alle neuen Haltestellen enthält (deren Abfahrten werden aktuell noch aus den statischen GTFS Daten aufgefüllt, dort bekommt man dann aber keine aktuellen Verspätungen)
  • Abstraktion der API / eigene Server-Anwendung, um die Programm-Logik neben Telegram auch in anderen Chat-Anwendungen nutzen zu können
  • Weitere Aufgaben und Ideen finden sich hier

Status des Projektes fancyLVBot: laufend

Screenshot fancyLVBot

Mitwirkende

  • Maria Arndt Link zum GitHub Account von Maria Arndt
  • Jörg Reichert Link zum GitHub Account von Jörg Reichert
  • Robert Schmidt Link zum GitHub Account von Robert Schmidt
  • Max Brauer Link zum GitHub Account von Max Brauer