Aus Raspberry Pi Geek 12/2017

Per Telegram mit dem RasPi chatten (Seite 3)

Abbildung 5: Die Ja/Nein-Tastatur für Rückfragen an den Benutzer.

Abbildung 5: Die Ja/Nein-Tastatur für Rückfragen an den Benutzer.

Dabei sind hinter jeder Taste (fast) beliebige Daten als String hinterlegt (Listing 5, Zeilen 27 bis 36 im Parameter callback_data). Telegram schickt diese bei jedem Tastendruck in einem speziellen Nachrichtentyp an den Bot. Der verzweigt dann nicht in den normalen Message-Handler, sondern in ein Pendant für Tastatureingaben. Das sehen Sie im Vergleich von Zeile 17 aus Listing 1 (nur Textnachrichten) mit den Zeilen ab 105 aus Listing 5. Das Telepot-API nimmt Ihnen also die Analyse des Typs ab, Sie geben dem MessageLoop lediglich die entsprechenden Handler mit.

Wie bei allen aus dem Internet kommenden Daten ist auch bei den Callback-Daten Vorsicht geboten: Sie könnten manipuliert sein und entsprechen nicht notwendigerweise denen, die ursprünglich mit den Tasten verknüpft waren.

Die Callbacks beschränken sich nicht auf einzelne Ja/Nein-Abfragen, sondern ermöglichen selbst komplexe Tastaturen. Allerdings fallen die Dialoge dann entsprechend kompliziert aus. Der in diesem Heft in der Rubrik “Hacks” beschriebene Nerd-Wecker etwa nutzt einen Telegram-Bot zum Konfigurieren der Zeiten (Abbildung 6). Hier gibt es eine Top-Level-Tastatur für die Auswahl der Attribute (Zeit, Wecktage) und untergeordnete Tastaturen für die Eingabe der Werte.

Abbildung 6: Für eine Software wie den Nerd-Wecker (siehe Artikel in dieser Ausgabe) benötigen Sie komplexere Dialoge mit verschiedenen Tastaturen, um alle gewünschten Funktionen abzudecken.

Abbildung 6: Für eine Software wie den Nerd-Wecker (siehe Artikel in dieser Ausgabe) benötigen Sie komplexere Dialoge mit verschiedenen Tastaturen, um alle gewünschten Funktionen abzudecken.

Fazit

Eigene Bots auf den heimischen RasPis bieten vielfältige Möglichkeiten der Kontrolle von außen. Dazu brauchen Sie weder ein Loch in die Firewall zu bohren, noch fällt Aufwand in Form von VPNs oder Zertifikaten für den eigenen Server an. Ein sehr komplexes Beispiel für einen Bot finden Sie auf der Github-Seite zum Nerd-Wecker des Autors [4].

Möchten Sie Bots als Service für viele Teilnehmer anbieten, fällt noch mehr Aufwand beim Programmieren und Konfigurieren an. Details dazu gibt es im Netz an vielen Stellen. In Sachen Performance reicht ein RasPi 3 für mittlere Chat-Gruppen aus – die meiste Zeit verbringt er sowieso mit Warten.

Außerdem bietet es sich an, die Sicherheit über zusätzliche Maßnahmen zu erhöhen: Ein geklautes Telefon ohne Sperre erlaubt Angreifern die Kommunikation unter Ihrer Identität. Auf der sicheren Seite bewegen Sie sich, solange Sie keine kritischen Eingriffe in Ihre Infrastruktur erlauben. 

Der Autor

Bernhard Bablok arbeitet bei der Allianz Technology SE als SAP-HR-Entwickler. Hört er nicht Musik oder ist mit dem Rad oder zu Fuß unterwegs, beschäftigt er sich mit Themen rund um Linux, Programmierung und Kleincomputer. Sie erreichen ihn unter mailto:[email protected].

Infos

  1. Telegram-Homepage: https://telegram.org
  2. Telepot: http://telepot.readthedocs.io/en/latest/
  3. Infos zu Telegram-Bots: https://core.telegram.org/bots
  4. Github-Projekt zum Nerd-Wecker: https://github.com/bablokb/nerd-alarmclock
DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 6 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Raspberry Pi Geek bei Google Play Readly Logo
Nach oben