Artikel-Schlagworte: „Jabber“

Ein Anrufmonitor für die Fritzbox

So, es wird mal wieder Zeit für einen weiteren Teil in der Reihe um den eigenen Jabberbot.

Diesmal ein Shell-Script das einen einfachen Anrufmonitor für die Fritzbox bereitstellt. Als Vorraussetzung muss man einmal #96*5* wählen, den erweiterten Anrufmonitor von Freetz benötigt man hingegen nicht. Das Script macht eine einfache Rückwärtssuche und sollte für jeden, der ein bischen Shell-Scripten kann, selbsterklärend sein.

Web-Feedreader auf der Shell

Auch wenn es der Titel nicht hergibt, dies ist der zweite Teil zu Der eigene Jabberbot. Ich denke aber das man Teile hiervon bestimmt auch an anderen Stellen gut einsetzen kann, daher der fehlende Bezug im Titel.

Den Anfang machen Web-Feedreader wie Bloglines und der Google News-Reader.

Wer zum Beispiel wissen möchte wieviele Nachrichten bei Bloglines noch ungelesen sind:

curl -f -s http://rpc.bloglines.com/update?user=joern@aumund.org\&ver=1 \
| awk -F \| '{ printf "Bloglines: " $2 " ungelesene Nachrichten\n"}' >

Viel mehr gibt die API auch nicht her.

Das ganze geht natürlich auch mit dem Google-Reader, es ist nur etwas aufwendiger:

#!/bin/bash
googlemail_login="DEIN_GOOGLELOGIN"
googlemail_password="DEIN_PASSWORT"

SID=$(curl --silent -d service=reader -d "Email=$googlemail_login"
-d Passwd="$googlemail_password" -d source="lens" -d
continue="http://www.google.com/" https://www.google.com/accounts/ClientLogin |
grep ^SID= | sed -e 's/SID=//')
NUMBERS=$(curl --silent --cookie "SID=$SID;domain=.google.com;path=/;expires=1600000000"
"http://www.google.de/reader/view/user/-/state/com.google/fresh" | grep -e ^.*reading-list\",\"count\":
 |  sed -e s/^.*reading-list\",\"count\"://g -e s/,\"newestItemTimestampUsec\".*//g)

if [ -z $NUMBERS ]; then
        NUMBERS=0
fi

echo "Google Reader: " $NUMBERS " ungelesene Nachrichten\n"

Wichtig: die Zeilen 4-10 sind eine Zeile

Hier kann die API wesentlich mehr, ob das aber alles Sinn macht muss jeder für sich selbst entscheiden.

Der nächste Teil dreht sich dann um Mail.

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.

Links for 2009-02-05

Archiv