Telegram Bot

Der letzte Blogeintrag ist bereits ein paar Wochen her. Warum? Zur Zeit arbeite ich an zwei sehr großen Projekten, die ich, sobald ich sie abgeschlossen habe, hier vorstellen werde. Das eine Projekt hat wieder mit einer Kamera zu tun (nein, diesmal keine Tropfenfotografie). Das andere, welches ich gemeinsam mit ralph mache, hat wieder mit dem ESP-Controller zu tun. Stay tuned.

So viel sei gesagt, hier folgt ein Lückenfüller. Es kommt nichts sonderlich neues, aber wem fad ist, der darf gerne bleiben. Der Titel verrät es schon, es geht um den Raspberry Pi und um Telegram. Das Vorhaben ist, dass man Statusnachrichten vom Pi direkt aufs Smartphone bekommt. Ich finde das immer recht praktisch, weil ich dann nicht erst meinen PC starten muss um dann via Terminal mit dem Pi kommunizieren zu können.

Get Telegram

Das Prozedere, um einen Bot aufzusetzen, habe ich hier schon gezeigt. Folgt einfach den Anweisungen des BotFathers, dann kann nichts mehr schief gehen.

Der Code

Diesmal nicht auf GitHub, sondern auf meiner Website. Es sind nicht einmal 100 Zeilen Code, das geht sich also dort gut aus.

Das Python-Script lege ich am Raspberry im Verzeichnis ~/Python/Telegram_Bot/Telegram_Bot.py ab. Wie ihr das macht bleibt euch überlassen, aber das Verzeichnis ist später noch wichtig.

Das Script sollte für all‘ jene, die Python verstehen nachvollziehbar sein, auch wenn ich mich nicht immer an die Community-Konventionen halte. Alle, die es (noch) nicht können: Ihr könnt mich gerne dazu fragen!

Was macht das Script? Sobald der Bot läuft bekommt ihr eine Nachricht von ihm. So wisst ihr, dass der Raspberry Pi online ist, sofern ihr das Script im Autostart ausführen lässt. Danach kann eine Konversation so aussehen:

conversation.jpg

Das tolle „neue“ Feature des BotFathers ist es, dass ihr jetzt eure Commands definieren könnt. So fällt das lästige Eintippen weg. Die Commands werden einfach per Klick gesetzt.

Autostart

Startet am Pi den nano-Editor im Verzeichnis

sudo nano /etc/rc.local

und ergänzt ihn um die Zeile

/home/pi/startup.sh

rc_local.jpg

Speichert und schließt die rc.local und erstellt oder öffnet die startup.sh mit

sudo nano /home/pi/startup.sh

und ergänzt sie mit dem Eintrag

/bin/sleep 15 && cd /home/pi/Python/Telegram_Bot/ && sudo python Telegram_Bot.py

startup_sh.jpg

Speichern. Schließen. Schon liegt das Script im Autostart. Die 15 Sekunden Wartezeit sind natürlich keine saubere Art das zu machen, aber ich habe auch nach (kurzer) Suche im Web keine andere, saubere Lösung gefunden.

Bei Fragen (oder der Lösung zum 15 sec Problem) schreibt mir einfach einen Kommentar!

Advertisements

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s