Startseite>Mobiles Instant Messaging mit dem RasPi
Aus Raspberry Pi Geek 04/2014

Mobiles Instant Messaging mit dem RasPi

© Norbert Sobolewski, 123RF

Kurz und gut

Paul Brown

Die Messaging-App Telegram ist mehr als nur ein Whatsapp-Klon: Mit ihr senden und empfangen Sie nicht nur Nachrichten am RasPi, sondern funktionieren ihn auch zum Autoresponder um.

README

Ein für Smartphones gedachtes Messaging-System auf der Kommandozeile eines RasPis laufen zu lassen, erscheint auf den ersten Blick etwas seltsam. Da er jedoch über simple Lua-Skripte auf nahezu beliebige Ereignisse reagieren kann, eröffnet der Telegram-Kommandozeilenclient Tg auf dem Mini-Rechner vielfältige Möglichkeiten.

Bislang werden wohl die wenigsten Ihrer Bekannten Telegram [1] schon verwenden, doch der Instant Messenger nimmt derzeit die Techie-Community im Sturm: Er bietet mehr als genug coole Features, um ihn für Anwender interessant zu machen, die gerne ein wenig herumschrauben.

Neben den üblichen Funktionen wie Chatten, Gruppen und dem Audio- und Video-Versand beherrscht Telegram auch per End-to-End-Verschlüsselung gesicherte Chats (die NSA muss draußen bleiben), arbeitet über in der Cloud verteilte Server (verlässlichere Verbindungen) und kann selbstvernichtende Nachrichten versenden. Dazu geben Sie ein Zeitlimit an – sagen wir, eine Minute – und nach dessen Ablauf verschwindet die Nachricht von den Geräten aller Kommunikationsteilnehmer.

Erfreulicherweise handelt es sich bei Telegram um quelloffene Software, die ein offengelegtes Protokoll verwendet und eine ebensolche API aufweist. Daher können Entwickler jederzeit neue Clients für beliebige Plattformen schreiben. Offizielle Clients gibt es bislang nur für iOS und Android, aber es existieren schon inoffizielle Portierungen auf Windows, Windows Phone, als Webclient sowie – unter dem Namen Tg – für die RasPi-Kommandozeile. Um Letztere geht es im Folgenden.

Installation

Die Telegram-Clients für iPhones und Android-Smartphones erhalten Sie via Apple App Store respektive Google Play. Installieren Sie vorab einen davon auf Ihrem Mobiltelefon und richten Sie erst einmal einen Telegram-Account ein. Anschließend bereiten Sie den RasPi zur Installation vor, indem Sie dort die von Tg benötigten Abhängigkeiten einspielen (Listing 1, Zeile 1).

Anschließend gilt es, Tg aus dem Quellcode zu übersetzen. Dazu gibt es zwei Möglichkeiten: Zum einen können Sie einen Schnappschuss des Quellcodes als ZIP-Archiv von der Github-Seite [2] des Programms herunterladen und entpacken. Dieses ZIP finden Sie auch auf der DVD zu diesem Heft. Auf der Webseite erreichen Sie es über den Schalter mit dem kleinen Wölkchen und der Aufschrift Download ZIP unten in der Spalte ganz rechts. Besser klonen Sie aber das Git-Repo der Software (Listing 1, Zeile 2).

Nun wechseln Sie in das neu entstandene Verzeichnis mit den Quellen. Haben Sie es aus Github geklont, heißt es tg (Listing 1, Zeile 3), das ZIP entpackt dagegen in den Ordner tg-master. In jedem Fall bereiten Sie im nächsten Schritt das Makefile für den Compilerlauf vor (Zeile 4) und werfen dann die Übersetzung an (Zeile 5). Nach dem erfolgreichen Abschluss des Vorgangs finden Sie im Verzeichnis das ausführbare Programm telegram.

Listing 1

$ sudo apt-get install libreadline-dev libconfig-dev libssl-dev lua5.2 liblua5.2-dev
$ git clone https://github.com/vysheng/tg.git
$ cd tg
$ ./configure
$ make

Setup

Bevor Sie jetzt beginnen können, Nachrichten von der Kommandozeile aus zu versenden, müssen Sie den RasPi erst einmal mit Ihrem Telegram-Konto verbinden, das Sie vorab über das Smartphone angelegt haben. Dazu starten Sie den Messenger mit der Option -k und übergeben dieser den im Verzeichnis tg hinterlegten öffentlichen Schlüssel des Servers:

$ ./telegram -k tg-server.pub

Daraufhin fragt Tg nach einem Code für den Account. Den erhalten Sie via SMS einige Sekunden später auf Ihrem Mobiltelefon (Abbildung 1). Sobald Sie die erhaltene Ziffernfolge eingegeben haben, erscheinen (sofern bereits vorhanden) Ihre Telegram-Kontakte auf dem Bildschirm (Abbildung 3). Bei dem Zeichen > unterhalb davon handelt es sich um den Eingabeprompt.

Abbildung 1: Beim ersten Start müssen Sie den Telegram-Client auch auf der Kommandozeile über einen per SMS von Telegram gelieferten Code freischalten.

Abbildung 1: Beim ersten Start müssen Sie den Telegram-Client auch auf der Kommandozeile über einen per SMS von Telegram gelieferten Code freischalten.

Abbildung 2: Die verfügbaren Kontakte erscheinen in Rot, sobald Sie sich mit Ihrem Account verbinden.

Abbildung 2: Die verfügbaren Kontakte erscheinen in Rot, sobald Sie sich mit Ihrem Account verbinden.

Nachrichten und Chats

Jetzt können Sie damit beginnen, mit Ihren Kontakten zu kommunizieren. Um einem davon eine Nachricht zu senden, tippen Sie Folgendes ein:

> msg Kontakt Nachricht

Wissen Sie die Benutzernamen Ihrer Kontakte nicht auswendig, dann lassen Sie Tg mit dem Befehl contact_list eine entsprechende Aufstellung ausgeben. Übrigens beherrscht die Anwendung Autovervollständigung, sodass Sie Befehle nicht immer komplett eingeben müssen. Statt contact_list genügt also auch con+[Tab], das Tg zu contact ergänzt, und dann ein Unterstrich, wiederum gefolgt von [Tab], was das Kommando komplettiert.

Wenn Sie in der Kontaktliste einen näheren Blick auf die in Grün aufgeführten Namen werfen, dann stellen Sie fest, dass Telegram in Benutzernamen alle Leer- und Sonderzeichen durch Unterstriche ersetzt. Möchten Sie dem Kontakt Jörg Luther eine Nachricht senden, dann tippen Sie dazu also msg Jörg_Luther Hallo!. Einen Chat beginnen Sie mit dem folgenden Befehl:

> chat_with_peer Jörg_Luther

Der Unterschied zu einer Nachricht besteht darin, dass Sie beim Chatten nicht nach jeder eingegebenen Nachricht wieder auf den Tg-Prompt zurückfallen: Stattdessen behandelt das Programm alle Ihre Eingaben als Nachrichtentext. Um den Chat wieder zu verlassen, verwenden Sie eines der beiden Kommandos /exit oder /quit.

Dateien

Mit Telegram lassen sich auch Dateien versenden, wobei Sie sich nicht auf schlichte Texte (send_text) zu beschränken brauchen. Sie dürfen Ihren Kontakten auch Bilder (send_photo) und Videos (send_video) zuschicken. Die allgemeine Syntax dazu lautet:

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 4 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
€0,99 – Kaufen
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS
Deutschland