Jabbermeldungen von der Konsole schicken

Normalerweise geht man davon aus, daß Jabber/XMPP-Clienten von Menschen bedient werden. IM macht ja nur sinn, wenn jemand anderen was schicken will. Dieser Andere muß aber nicht notwendigerweise ein Mensch sein, ein Server tut es natürlich auch.

„SendXMPP“ heißt der Befehl. Das in Perl geschriebene Script ist nicht ganz fehlerfrei, aber dafür kommt es mit TLS Unterstützung, was es sympathisch macht, da so die Verbindung zum eigentlichen Jabberserver brav verschlüsselt wird.

echo "Das sieht aus, wie eine normale Nachricht auch aussieht." | sendxmpp -n -t  -u "Shell.Bot" -j xmpp.server.de -p 02332dfs09329324jfd  Ziel@xmpp.server.de

Da die Eingaben von STDIN angenommen werden oder von einer Datei stammen dürfen, kann man das Script praktisch an so alles ranstöpseln, was Statusinformationen loswerden will. Das geht soweit, daß man es über Webseiten z.b. zum Senden von Kundennachrichten an den Support benutzen kann.

Jetzt fehlt eigentlich nur noch eine Shelllösung zum Abchecken, ob das Ziel überhaupt online ist. Damit könnte man dann den Livechat auf der Webseite ausgrauen, wenn niemand erreichbar ist. Da Jabberclienten i.d.R. beliebig viele JabberAccounts verwalten können, hat man natürlich richtig viele gute Möglichkeiten hierarchisch strukturiert Kundensupport zu leisten und auch verschiedene Quellen bei Personen zusammen zu führen.

Anmerkung: Die Config von sendxmpp liest die „derzeit“ aktuelle Version leider nicht sauber ein, deswegen die Parameter. Im Prinzip kann man die aber an einen Linux-Useraccount binden und muß die dann nicht mehr eingeben.

Fehlermeldungen:

„Use of uninitialized value in string eq at /usr/bin/sendxmpp line 515
Error ‚AuthSend‘: [?]“

Wer die findet, sollte die Parameter für Usernamen/Server/Passwort in die Kommandozeile verlagern.