Rendez-vous sur Arrakis

C'est lorsque nous croyons savoir quelque chose qu'il faut justement réfléchir un peu plus profondément. F. Herbert

Lire ses flux rss avec son client jabber (rss to xmpp)

24/05/13

Les flux RSS, c'est bien. Mais devoir ouvrir son client rss pour y avoir accès, en plus du client jabber/xmpp, du client de messagerie, cela fait beaucoup. Pour cela, j'ai écrit un petit script qui va s'en charger.

Cliquer sur l'image pour voir un exemple :

L'objectif ici est d'avoir dans son client xmpp les nouvelles rss. Pour cela, plusieurs méthodes :

Utilisation

Tout d'abord, assurez-vous d'éditer les variables au début du script afin de préciser le compte qui vous enverra les nouvelles, le mot de passe. Remplissez aussi la liste des flux à consulter.

Enfin, rendez le script exécutable : chmod +x rss2xmpp, puis lancez-le :

./rss2xmpp

Le script est mis automatiquement en arrière plan.

Le script

Vous pouvez télécharger la dernière version du script ici : rss2xmpp

#!/bin/sh
# rss -> xmpp transport like.
# Requires sendxmpp and rsstail

# Intervalles entre les requêtes
INTERVAL=120

# XMPP
ACCOUNT="rssbot"
PASSWD="******"
SERVER="yeuxdelibad.net"
NAME="rssbot"
CHATROOM="rssfeeds@conf.yeuxdelibad.net"

# RSS feeds
FEEDS="http://www.frenchnerd.com/rss-articles.xml
http://linuxfr.org/news.atom
http://planet-fr.debian.net/rss20.xml
http://www.debian.org/News/project/dwn.fr.rdf
http://www.jeuxlinux.fr/backend-breves.php3
http://www.planet-libre.org/feed.php?type=rss
http://feeds2.feedburner.com/Command-line-fu
http://www.premiere.fr/var/premiere/storage/rss/sorties_semaine_dvd.xml
http://rss.nouvelobs.com/c/32581/fe.ed/www.sciencesetavenir.fr/rss.xml
http://www.lemonde.fr/rss/une.xml
http://rss.futura-sciences.com/packfs
https://linuxmanua.wordpress.com/feed/
http://www.microlinux.fr/blog/?feed=rss2
http://sebsauvage.net/rss/updates.xml
http://what-if.xkcd.com/feed.atom
http://feeds2.feedburner.com/KorbensBlog-UpgradeYourMind
http://planet.auto-hebergement.fr/rss.xml
http://yeuxdelibad.net/feed.xml
http://www.miskin.fr/~toutoune25/wikiquote/qotd.xml
https://www.debian-fr.org/rss/digest/rss.xml"

# FIFO
FIFO=/tmp/rss2xmpp.fifo
# PID
PIDS=/tmp/rss2xmpp.pid

#---

touch $FIFO
if [ -e $PIDS ]; then
    while read line; do
        kill $line
    done <$PIDS
    rm $PIDS
fi

for line in $FEEDS; do
    echo "$line"
    rsstail -n 0 -i $INTERVAL -z -P -l -H -u "$line" >> $FIFO &amp;
    echo $! >> $PIDS
done

echo "Start sendxmpp"
tail -f $FIFO | sendxmpp -u $ACCOUNT -j $SERVER -p $PASSWD -r $NAME --message-type=chat -t -i -c $CHATROOM &amp;
echo $! >> $PIDS

exit 0

Inspiration et ressources

ici