Der eigene Jabberbot
Es fing damit an, das ich nach einem Anrufmonitor für die Fritzbox suchte. Irgendwie sagte mir nichts zu, entweder war es zu träge oder hatte Abhängigkeiten, die ich nicht installieren wollte.
Ich bastelte mir also ein kleines Script und als es fertig war fragte ich mich wo es denn seine Meldungen hinschicken sollte. Mail ist irgendwie doof und die passende Shell zu Hause ist nicht immer erreichbar. Ich entschied mich für Jabber und experimentierte ein wenig mit sendxmpp herum, was mir allerdings gar nicht zusagte.
Nach ein wenig Suchen bin ich auf XMPPlogger gestoßen. Mit 11KB ist es schön klein und hat kaum Abhängigkeiten. Am besten aber gefällt mir, das es mit einer Fifo, auch named pipe genannt, arbeitet. Durch dieses Konstrukt kann man beliebige Skripte verwenden, die Ausgabe muss nur richtig formatiert auf STDOUT erfolgen. Leitet man nun diese Ausgabe in die Pipe vom XMPPLogger schickt dieser es an den Jabber-Server – fertig ist der Bot.
Ein Beispiel:
# echo "foo" > /tmp/xmpplogger.fifo
Die Installation von XMPPlogger erkläre ich jetzt nicht, die README sollte jeder lesen und umsetzen können. In loser Folger wird es noch ein paar Skripte/Beispiel geben wie man den Bot füttert und zum Schluß noch wie man das mit Twitter macht.
[...] durch einen Artikel im “EDV – Ende der Vernunft“-Blog heute Abend, wo eine Möglichkeit vorgestellt wurde aus einer FIFO (named pipe) [...]
Blockieren die Scripte nicht, wenn der Bot nicht läuft und die Pipe nicht zur Verfügung steht?
@martin
Ja, stimmt, da hatte ich noch gar nicht dran gedacht, sollte man aber mit einen test -p vorher abfangen können.
Super Ding, jetzt brauche ich nur noch eine sinnvolle Anwendung ;-).
Ich möchte mich auch gerne über neue Mails informieren lassen. Aber die Seite vom XMPPlogger geht nicht. ;(
Adresse nicht gefunden
Der Server unter http://www.ahzf.de konnte nicht gefunden werden.
Geht es bei jemandem anders, oder kann ich XMPPlogger auch wo anders herunterladen?
Es geht wieder. Dann werde ich mal versuchen mich über Mails zu benachrichtigen. ;)