Es gibt mittlerweile eine ziemlich einfache Möglichkeit, per Kommandozeile Nachrichten per WhatsApp zu verschicken. Möglich ist das Ganze über die ein kleines Python-Tool namens „Yowsup„. Mit diesem Tool ist es möglich, die WhatsApp-Registrierung durchzuführen und anschließend Nachrichten zu versenden und zu empfangen. Da ich dem Empfang noch nicht getestet habe, beschreibe ich hier erst einmal, wie der Versand von Nachrichten funktioniert.
Voraussetzungen
- eine gültige Handynummer
- Python
- python-dateutil
- argparse for python < 2.7
- libxml2
- Yowsup
Yowsup downloaden und entpacken
Zuerst einfach das git Repository von Yowsup auf den lokalen Rechner/Server klonen. Das erledigt man über folgenden Befehl:
git clone https://github.com/tgalal/yowsup |
Anschließend in den Unterordner „src“ von „yoswum“ wechseln, da dort die Kommandozeilen-Tools (yowsup-cli) liegen, die nun benötigt werden:
cd yowsup/src/ |
Registrierung
Bevor man Nachrichten versenden kann, muss die eigene Handynummer bei WhatsApp registriert werden. Als erstes muss die Handynummer, die zum versenden von Nachrichten genutzt werden soll, in der Config-Datei angegeben werde. Ich habe dazu einfach, weil Nerds wie ich ja tendenziell eher faul sind, einfach die Beispiel-Datei (config.example) geöffnet und angepasst:
vi config.example |
cc=49 #if not specified it will be autodetected phone=491751234321 id= password= |
Wichtig sind hier im ersten Schritt nur die Parameter „cc“ und „phone“. Unter „cc“ muss die Landeskennung angegeben werden. Für Deutschland wäre dies die „49“. Unter „phone“ muss die Handynummer angegeben werden, die für WhatsApp registriert werden soll. Das Format lautet in meinem Fall: 491751234321.
Anschließend die Datei speichern und folgenden Befehl ausführen (wir befinden uns immer noch im Ordner yowsup/src/):
python yowsup-cli -c config.example -r sms |
Die Antwort könnte wie folgt aussehen:
status: sent retry_after: 25205 length: 6 method: sms |
Auf dem angegeben Handy sollte nun eine SMS mit einem Freischaltcode für WhatsApp angekommen sein. Als Beispiel dient hier mal der Code „123-987“.
Abgeschlossen wird die Registrierung mit dem Befehl:
python yowsup-cli -c config.example -R 123-987 |
Das Ergebnis sollte wie folgt aussehen:
Detected cc: 49 status: ok kind: free pw: 74beaae5d1af0c04c57c37ff0045573603ff34dd= price: 0,89 € price_expiration: 1389688778 currency: EUR cost: 0.89 expiration: 1418553624 login: 491751234321 type: existing |
Wichtig ist nun das Attribut „pw“. Dort steht das Passwort, mit dem der Login auf den WhatsApp-Servern durchgeführt wird. Dieses Passwort muss nun in der Config-Datei angegeben werden. Also wieder die Datei öffnen und anpassen:
vi config.example |
cc=49 #if not specified it will be autodetected phone=491751234321 id= password=74beaae5d1af0c04c57c37ff0045573603ff34dd= |
Die Registrierung und Konfiguration ist abgeschlossen. Jetzt kommt der lustige Teil.
Nachricht versenden
Nachdem die Konfiguration abgeschlossen ist, kann nun eine Nachricht versendet werden. Hierzu gibt es zwei Möglichkeiten: Zum einen kann man eine Nachricht stumpf versenden, ohne auf Antworten zu warten („Fire-and-forget“) und zum anderen kann man den interaktiven Modus starten, über welchen man im klassischen Chat-Stil Nachrichten empfangen und versenden kann.
Der Befehl für ein einfaches verschicken lautet:
python yowsup-cli -c config.example -s 4915777818466 'Hallo Welt' |
Das Ergebnis dürfte in etwa so aussehen:
Detected cc: 49 Authed 491751234321 Sent message |
Es wurde somit eine Nachricht vom Absender 491751234321 (der registrierten Nummer) mit dem Inhalt „Hallo Welt“ an die Nummer 4915777818466 geschickt.
Wenn der interaktive „Chat-Modus“ gestartet werden soll, genügt der Befehl:
python yowsup-cli -c config.example -i 4915777818466 |
Jetzt wird ein Chat-ähnlicher Dialog gestartet, über den nicht nur Nachrichten abgeschickt, sondern auch empfangen werden können.
Diese Spielerei kann nun für alle möglichen Schweinereien genutzt werden. Der Fantasie sind keine Grenzen gesetzt. Ich selbst spiele gerade mit dem Gedanken, Nagios/Icinga Notifications aus meinem Monitoring-System über WhatsApp zu verschicken.
Fragen oder Feedback zu der Anleitung bitte jederzeit gerne als Kommentar, Tweet oder Mail hinterlassen.