WhatsApp-Nachrichten über Kommandozeile verschicken

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.

Einmal Apple – und zurück!

Heute habe ich mal das neue Mac OS X (Codename: Leopard) ausprobiert. Was soll ich sagen? Es ist in meine Augen der gigantischste Schritt rückwärts seit Windows Vista von Microsoft! Ich frage mich ernsthaft, ob ich so langsam zum absoluten Kritik-Mensch mit keiner Freude am Leben verkomme, aber was ich mir heute auf meinem Macbook angucken musste, war schon irgendwie heftig.

Nachdem ich mich echt in 10.4 Tiger verliebt habe und es auch echt gerne genutzt habe, läuft mir bei Leopard einfach nur ein Schauer über den Rücken. Ich zähle jetzt einmal ein paar Punkte auf, wie ich über Leopard denke:

weiterlesenEinmal Apple – und zurück!

Nachtrag: Das Problem der Linux-Community

Heute stand auf pro-linux.de, dass HP jetzt wohl, genau wie Dell, Rechner mit vorinstalliertem Ubuntu-Linux ausliefern will. An sich keine schlechte Idee, da die Rechner auch bei Dell weggehen wie geschnitten Brot. Mir ist das Ganze eigentlich egal, da ich meine nächsten Linux-Ausflug frühstens im Oktober mit Ubuntu „Gutsy Gibbon“ machen werde.

Wenn ihr euch erinnert: Ich habe vor einiger Zeit mal über das Problem der Linux-Community berichtet, indem ich geschrieben habe, dass sich die Linux-Lager untereinander ebenfalls bekriegen. Heute hab ich in den Kommentaren zu besagtem pro-linux.de-Artikel mal wieder ein interessantes Beispiel dazu gefunden..

weiterlesenNachtrag: Das Problem der Linux-Community

Wieso nur Linux-User auf meinem Blog?

Als ich heute die SlimStats durchgeschaut habe, ist mir mal aufgefallen, dass eigentlich nur Linux-User auf meinem Blog unterwegs sind. Woher kommt das denn? Ich schreibe doch über Linux eigentlich nie etwas gutes?! Sehr merkwürdig, finde ich. Vielleicht sind das auch alles Linux-Anfänger die ich durch meine Blogeinträge wieder so demotiviere und sie nie wieder Linux anfassen, wer weiß.

Erstaunlich ist auch, wie wenig Windows Vista-Nutzer hier unterwegs sind. So lob ich mir das 😉

Umdenken..

Eigentlich bin ich ja ganz zufrieden mit meinem Kubuntu-Linux, was jetzt schon länger auf meinem Rechner zu Hause läuft. Allerdings fühle ich mich mit dem Betriebssystem noch nicht ganz so „verbunden“, wie es unter Windows immer war.

Klar, Linux ist toll. Linux ist kostenlos, es ist inzwischen einfacher zu bedienen als Windows, es ist stabil, es sorgt dafür, dass nie Langeweile aufkommt – und doch muss man sagen: Linux hat große Schattenseiten.

Heute wollte ich z.B. mal wieder Half-Life 2 zocken (das meiner Meinung nach genialste Spiel was es je gab). Ich habs mit Wine versucht, mit Cedega und sogar diesem Crossover Linux – so richtig „rund“ lief es nie. Linux ist zwar nicht zum Zocken gemacht, aber ich hab eigentlich gedacht, dass ich über Umwege doch noch dazu komme – da hab ich mich wohl geirrt. HL2 läuft unter Linux einfach „unbrauchbar“. Wo ich unter Windows mit meinem Rechner stolze 60FPS+ sehen konnte, habe ich unter Linux mal gerade so 20-30FPS. Naja, nachdem ich Half-Life 2 dann auf meiner XBox gespielt habe, wollte ich allerdings noch schnell(!) ’ne DVD umwandeln, da ’n Kumpel sich den Film abholen wollte – schnell? Fehlanzeige. Ich habe K9Copy, dvd::rip und xDVDShrink ausprobiert: Für eine DVD9 brauchten alle Programme so ~40 Minuten – wie geht das? DVDShrink unter Windows braucht komischerweise nur etwas unter 20 Minuten für eine konvertierung von DVD9 auf DVD5. Was macht Linux mit meiner Leistung? Ich meine, die Power meines X2 4200+ mit seinen 2GB RAM im Dual-Channel kann ja nicht einfach so „weg“ sein?

Da kam sie mir, die Frage aller Fragen: Warum habe ich vor ca. einem Jahr eigentlich so viel Kohle in meinen Rechner investiert, wenn ich darauf jetzt ein – wenn auch kostenloses – Betriebssystem laufen lasse, welches die Leistung des Rechner praktisch nicht ausnutzt? Ich habe zu wenig Hardware/Linux-Wissen um jetzt sagen zu können, wo der Flaschenhals sitzt, aber ich war ehrlich gesagt schon etwas enttäuscht. In den letzten 2 Tagen bin ich relativ hart auf den Boden der Realität zurück geholt worden, sodass ich mich jetzt ehrlich Frage, ob der Umstieg auf Linux so die richtige Entscheidung war. Es sind Kleinigkeiten, die mich stören. So z.B. auch vorhin, als ich einem Kumpel eine Datei per ICQ schicken wollte -> Fehlanzeige. Kopete unterstützt keinen File-Transfer von ICQ zu ICQ. Dann war da noch die Sache mit dem Drucker: Ich habe einen Canon PiXMA IP5000 – Top Teil, muss ich sagen – doch unter Linux unbenutzbar. Weder Treiber, noch Software gibt es, damit ich alle Funktionen nutzen kann. „Turbo Print!“, werden jetzt einige rufen, aber: „Are you kidding me?!“ – ich setze doch nicht auf ein kostenloses Betriebssystem, um mir dann Druckertreiber(!) zu kaufen(!) die dazu noch properitäre(!) Software sind.

Ganz ehrlich? Im Moment bin ich am überlegen, ob ich wieder Windows einsetzen sollte. Für das, was ich mache ist Linux wohl nicht geeignet. Die oben genannten Punkte sind natürlich noch nicht alle, doch alle anderen habe ich weitgehend immer lösen können. Die Frage die sich mir stellt ist halt einfach: Wenn ich mir einen Rechner kaufe, nach langer Recherche, damit alles perfekt aufeinander abgestimmt ist – Will ich diese Power dann nicht auf einsetzen? Mir ist mein Rechner ehrlichgesagt zu schade für Linux – so traurig es auch klingt.

Mal sehen was das Wochenende bringt – Windows Vista wirds wohl nicht, aber ich kann mir gut vorstellen ab Sonntag Nachmittag wieder von Windows XP aus zu bloggen.

Das Problem der Linux-Community

Nachdem ich ja erfolgreich auf Linux bzw. Ubuntu umgestiegen bin, treibe ich mich auch in diversen Linux-Foren rum. Wenn man erstmal Linux-Nutzer ist, wird man sogar erstaunlich freundlich von der Community (egal welcher) empfangen und kann an Diskussionen teilnehmen. Anders sieht es da aus, wenn beispielsweise SuSE-Nutzer das Feld betreten. Ich weiß nicht, was die Linux-Nutzer dazu bringt, so zu handeln, aber komischerweise schaffen sie’s immer wieder. Egal, in welchem Forum ich bis jetzt unterwegs war – überall ist es gleich. Da kommt ein SuSE-Nutzer und fragt „Wie bekomme ich Software X/Y zum laufen?“ – Was macht die klassische Linux-Community? 1-2 Leute versuchen vielleicht noch zu Helfen, mit Vorschlägen wie „Ja, installier einfach Modul Z nach“ oder „Deine Grafikkarte ist das Problem“, doch was dann so in manchen Foren abgeht ist echt erstaunlich. Da geht das Bashing der Nutzer los mit Sprüchen wie: „Selbst Schuld, wenn du SuSE benutzt“ usw. – Ich weiß ja nicht, was sowas soll 😉

Mir soll es egal sein, ich bin fit genug in Linux. Aber es ist immer wieder erstaunlich, wie Schwachsinnig dieser ganze „Gemeinschafts“-Gedanke in der Linux-Community doch ist. Da gibt es die jeweiligen Fan-Lager, die sich untereinander bekriegen. Ich habe echt das Gefühl, die meisten Linux-Nutzer haben solch einen angestauten Frust mit ihrem Frickel-Betriebssystem (was Linux nunmal ist), dass sie selbst Leute aus den „eigenen Reihen“ runtermachen müssen. Ich mein, welchen Sinn hat sowas? Auf der einen Seite wird immer gegen Microsoft geschossen und auf der anderen Seite sind die Nutzer, die von Microsoft auf eine Linux-Distribution gewechselt sind auch wieder schlecht? Nur weil sie vielleicht beim google’n von „Einsteiger-Linux“ auf SuSE gestoßen sind?

Sorry, Linux-Community – So wird das nix. Ich habe bis jetzt auch in keinen anderen Themenbereichen solche sticheleien gesehen, wie bei Linux. Ich glaube, die klassischen Linux-Kellerkinder die heute noch versuchen ihre eigene Distribution „from scratch“ zu erschaffen, sind sozial einfach die absoluten Nullnummern. Anders kann ich mir das schwachsinnige Verhalten der Linux-Community nicht erklären.

Ich bin ja schon recht froh, mit Ubuntuusers.de eine Community gefunden zu haben, die wenigsten Hilfsbereit und freundlich handeln und es den Einsteigern echt leicht machen. Schade, dass die Ubuntu-Community da wohl eine krasse Ausnahme ist.

DVD-Ripping unter Linux – Wie Durchfall

Linux ist ja an sich eine tolle Sache. Läuft stabil, sieht schick aus und ist eigentlich recht einfach zu bedienen. Irgendwie scheitert es aber immer wieder an Kleinigkeiten:

So wollte ich z.B. einfach nur eine DVD kopieren und dabei Menü und unnötige Tonspuren weglassen. Software dafür gibt es viel: dvd::rip, xDVDShrink, k9copy – doch das ist alles irgendwie Schrott. Entweder, man hat zu viele Optionen, die alles unübersichtlich machen, oder die konvertierung dauert ewig lang. „Da muss es doch einen Weg geben“, dacht ich mir. Und den Weg habe ich auch gefunden!

Da ich ja eine VM von Windows XP aufgesetzt habe, habe ich kurzerhand dort DVDShrink installiert, das DVD-Laufwerk als virtuelles DVD-Laufwerk gemapped und dann die DVD per VMWare im Windows konvertiert. Ist das nicht krank?! Nur weil es noch kein Linux-Tool für sowas gibt? Ich sitze also jetzt da, konvertiere die DVD in einer VM und schicke die ISO-Datei dann per Samba-Share auf meine reale Linux-Kiste. Abgefahren, oder?

Wenn das nicht mal ein Umweg ist. Aber immerhin funktioniert das Ganze – sogar schneller als mit den Linux-Lösungen.

Linux, wie eine Droge..

Irgendwie kann man meinen Blog-Einträgen über Windows und Linux schon gar keinen Glauben mehr schenken, so oft wie ich meine Meinung über die beiden Betriebssysteme wechsel 😉
Mitlerweile hat mich der Ubuntu-Virus wieder infiziert. Da Alternate mir endlich mein Ersatz-Mainboard geschickt hat, musste ich mir ja irgendwas überlegen, um wieder vernünftig arbeiten zu können. Meine Windows-Installation kam irgendwie mit dem neu eingebauten Mainboard nicht mehr zurecht, sodass ich so oder so eine Neuinstallation machen musste. Also hab ich mal wieder zur Ubuntu-CD gegriffen und diesmal die Gnome-Version installiert, da ich mit KDE letztes mal ziemlich aufs Maul gefallen bin.

Naja, was soll ich sagen. Bis jetzt läuft wie immer alles. Erstaunlicher Weise habe ich es sogar geschafft, alle Codecs zu installieren sodass ich echt jede Film-Datei abspielen kann. Sogar eine DVD hab ich erfolgreich rippen können. Was mich eigentlich noch stört ist definitiv dieser Schrotthaufen weniger gute Messenger-Client „Gaim„. Irgendie kann ich mich mit dem Ding nicht anfreunden. Das Teil ist mir einfach zu „groß“. Ich will doch eigentlich nur Miranda zurück. Ich werde nachher mal gucken, ob ich nicht doch Kopete benutze. Das ist zwar eigentlich ´ne KDE-Anwendung, aber was solls. Der Client gefällt mir jedenfalls um einiges besser.

Mal sehen, wie lange mein Linux-Abenteuer diesmal hällt. Eins muss ich Linux aber definitiv lassen: Das Streamen von Filmen per Samba auf meine XBox geht im Vergleich zu Windows viel schneller, ich bin echt begeistert!