Telegram Bot – Chat mit Raspberry

Mittelfristiges Ziel ist, die ganzen Projekte zusammen zu schließen und auch von außen sicher zu nutzen. Dazu ist ein kleiner Versuch zur Anbindung von Telegram an einen Raspberry gestartet worden. Am Ende ist ein funktionierender Telegram Bot in Python auf einem Raspberry rausgekommen, mit dem vom Handy aus gequatscht wird.

Projekt: Telegram Bot

Kontakt: Boris Dirnfeldner

Link: – eigenes Projekt –

Nach einiger Suche zu Lösungen zur benutzerfreundlichen Anbindung an die eigenen Lösungen bin ich über die API von Telegram gestolpert und die wirklich mächtige Funktionalität der Bots.

Als Einstieg zu dem Thema hat Telegram selbst eine recht ordentliche Seite.

Grob gilt es folgende Schritte zu tun:

  • Erzeuge einen neuen Telegram-Bot über einige Messages mit dem Telegram-Bot „Botfather“. Nach erfolgreicher Erzeugung ist der Bot aktiv und man hat einen exklusiven Schlüssel für den Zugriff
  • Danach geht es daran, den Bot an sich zu entwickeln. Die Telegram-Server funktionieren als Vermittler zwischen den Clients (der App auf den Smartphone) und dem Server (der Python Anwendung auf dem Raspberry). Alle Seiten müssen sich auf den Servern anmelden, damit die Kette funktioniert. Der Bot ist immer aktiv, wenn also nur der Client angemeldet ist antwortet halt keiner. Ohne Client hört halt keiner zu.
    Die Bot-Applikation autorisiert sich gegenüber Telegram über den Schlüssel.

Für Python gibt es einen sehr guten Wrapper um die Telegram-API, zu finden hier.
Da sind auch die erforderlichen Dokumentationen und ein Tutorial zu finden.

Ich habe für meinen Bot ein Paar Kommandos eingerichtet und eine Sicherheitsschicht über User IDs. Die muss ich einmal rausfinden (durch eine Nachricht an meinen Bot). Da ich einen Bot nicht privat schalten kann, muss ich zwischen „autorisierten“ Benutzern und Besuchern unterscheiden. Ebenso kann ich Nachrichten auch nur an bestimmte Benutzer „privat“ schicken und so die Benutzer komplett von der Infrastruktur isolieren.

Wenn keine Kommandos kommen, könnte ich mich z.B. auch mit einer Instanz von ChatterBot unterhalten. Das habe ich mir dann aber gespart, zumal es keinen zusätzlichen Nutzen für mich hat. Aktuell liefet ein Standard-Handler einfach einen Satz zurück. Der Spieltrieb ist manchmal schon übel.
Die Unterhaltungen der einzelnen Clients mit dem Bot sind getrennt voneinander. Wenn also zwei verschiedene Personen verbunden sind, können diese sich nicht untereinander belauschen. Eine Gruppe ist mit Bots nicht möglich.

Die Telegram-Infrastruktur ist in Bezug auf die Nachrichten sehr mächtig und erlaubt eigentlich alle relevanten Medien zu empfangen und zu übertragen.
Ich werde später damit auf Anforderung z.B. Grafiken mit Temperaturverläufen vom Pool anfordern können oder auch nur Alarme von Geräten aufs Handy geschickt bekommen.

Probleme:

Primär mit der API, um nach dem supereinfachen Einstieg das Thema Security voran zu bekommen. Nach etwas rumprobieren und Recherche der Dokumentation ist aber alles lösbar gewesen und eigentlich ohne echte „Klippen“.

Fazit:

Die vorhandene Lösung ist bereits gut einsetzbar und leicht zu erweitern. Sobald das Thema Home Automation weiter getrieben wird und die entsprechenden Projekte eine ausreichende Reife erhalten, wird der Bot auch (zumindest für Teile der Funktion) eingebunden.

„Dif-tor heh smusma“

Komponenten:
Rechner: Raspberry PI 3B+
Language: Python
Runtime: Raspbian
Smartphone mit Telegram App

Überlegungen:
Telegram: Ein recht sicherer Messaging-Dienst, kostenlos und nicht der Google Datenkrake zugehörig. Außerdem eine sehr mächtige API zur Anbindung von Applikationen.

Schäden:
– mal zur Abwechslung keine –

Intelligenter Chatbot mit Lernschwäche – Erste Schritte mit Rasa

Nach einigen anderen Arbeiten war es an der Zeit das Thema Chatbot wieder aufzunehmen. Die letzten Versuche mit Chatterbot und Telegram waren ja ganz nett, aber von "intelligent" waren wir doch weit weg. Nun geht es an das Thema Satzverständnis ...

Telegram Bot – Hirn ist aus

In einem früheren Post hatte ich ja schon über den Telegram Bot als Interface für die Heimautomatisierung geschrieben und die Idee, nicht-Kommandos über einen ChatBot zu bearbeiten. Die Idee ist inzwischen etwas weiter gedacht und erheblich komplexer geworden.Projekt: Telegram Bot ...

Telegram Bot – Chat mit Raspberry

Mittelfristiges Ziel ist, die ganzen Projekte zusammen zu schließen und auch von außen sicher zu nutzen. Dazu ist ein kleiner Versuch zur Anbindung von Telegram an einen Raspberry gestartet worden. Am Ende ist ein funktionierender Telegram Bot in Python auf ...
Wir benutzen Cookies und Logs mit personenbezogenen Daten ausschließlich für essentielle Funktionen wie z.B. bei der Benutzeranmeldung oder der Fehlersuche. Für Videos werden weitere Cookies von Drittanbietern benötigt. Details finden sie unter dem Link "Weitere Informationen".