knuspermagier.de
Er bloggt noch? Krass!

Self-Hosted Telegram-Bot

Wie man im letzten Post gesehen hat, mache ich relativ viel mit Telegram-Bots. Die API ist so schön einfach und so kann man sich alles mögliche in die Chat-App schicken lassen, die man sowieso auch benutzt.

Mein Telegram-Bot ist quasi das Interface für alle meine Automatisierungen. Endlich ein Arzt-Termin frei? Der Bot sagt bescheid. Eine spannende Anzeige? Hallo! Der Herd ist auf? Juchu!

Naaaaja. Wäre da nicht der Beigeschmack, dass alles, was der Bot macht, irgendwie das Land verlässt und über Server läuft, die ich nicht kenne. Bei normalen Chats mit anderen Menschen ist das ja verschmerzbar, aber was, wenn der russische Geheimdienst erfährt, wie oft mein Herd auf und zu geht?


Eine Self-Hosted-Alternative wäre also schön. Klar, ein bisschen nervig, dass man damit wieder eine zusätzliche App hat, aber auf der anderen Seite auch schön, denn dann besteht Telegram nur noch aus echten Chats und enthält keine random Bot-Nachrichten mehr. Separation of concerns!!

Was ich also gerne hätte: ein Backend, dem ich alles mögliche zuschieben kann, und eine App, die mir die Sachen dann ausgibt. Mit Push-Notifications. Zusätzlich aber halt mit diesem Chat-Bot-Twist. Das, was ich dem Backend schicke sind nicht einfach nur Log-Nachrichten, sondern kann auch interaktive Elemente enthalten, wie etwa die Timer-Buttons aus meinem letzten Post. Interaktive Logs!

Davon abgesehen hätte ich natürlich auch gerne in der App die Möglichkeit mit dem Bot zu chatten, also um ihn einfach Dinge zu fragen, oder Befehle zu geben. Modern, so wie man das halt heutzutage macht.

Im Gegensatz zu meiner aktuellen Implementierung könnte es auch verschiedene Channel für unterschiedliche Themen geben. Aktuell landet alles einfach in einem Chat.


Klingt alles gar nicht so schlimm, wahrscheinlich könnte man sicher auch einfach ein paar bestehende Komponenten zusammenkleistern und ein hübsches Frontend bauen. Das einzige blöde ist halt, dass man die App dann halt immer selbst aufs iPhone compilen muss, eine App-Store-App, die nichts tut, wenn man keinen eigenen Server mit dem Backend hat, wird wohl nicht durchs Review kommen.

Ok, will das jetzt mal jemand bauen? Oder gibts das zufällig genau so schon? Ich habe mir in den letzten Monaten zu viele neue Nebenprojekte ausgedacht, die außer mir keiner nutzen wird.

Kommentare, Feedback und andere Anmerkungen?
Schreib mir eine E-Mail 🤓