Posts Tagged ‘ twitter

IMDB + twitter + bash = WIN

Plop,

Il y a quelques semaines, un ami m’a donné une idée, et maintenant que je suis en vacances, j’ai pu la réaliser :D
L’idée, la voici : vu que je note sur IMDB chaque flim que je mate, pourquoi ne pas faire un fil twitter avec les notes des flims vus ?
Alors voilà, un peu de tapotage sous vim et PAF ! ça fait des chocapics \o/

C’est un script qui récupère le fichier .csv de mon compte IMDB, en extrait une ligne au hasard, et affiche le titre, le réalisateur, l’année et la note que j’ai donné.
Je tiens à préciser que je ne suis que peu objectif avec mes notes, donc merci de ne pas s’affoler si j’ai noté 8 un flim de merde.

Voici le script :

#!/bin/sh
# File : imdb-twit.sh
# URL : twitter.com/floodfr
# Author : kooothor
# Version : 0.2

# get latest file
wget "http://www.imdb.com/list/export?list_id=ratings&author_id=ur5851952" -O /tmp/imdbfull.csv -q
# remove first line
sed -i '1d' /tmp/imdbfull.csv
# extract random line
shuf -n 1 /tmp/imdbfull.csv > /tmp/imdb1line.txt

# get infos
title=`awk < /tmp/imdb1line.txt -F \" '{print $12}'`
real=`awk < /tmp/imdb1line.txt -F \" '{print $16}'`
note=`awk < /tmp/imdb1line.txt -F \" '{print $18}'`
year=`awk < /tmp/imdb1line.txt -F \" '{print $24}'`
url=`awk < /tmp/imdb1line.txt -F \" '{print $24}'`

# display and twit
echo "'$title' par $real ($year), noté $note/10. $url"|perl /home/kooothor/.scripts/ttytter.pl -script

# clean
rm /tmp/imdbfull.csv
rm /tmp/imdb1line.txt

On met tout ça en cron toutes les heures et voilà !
Sachant qu’il y a au jour d’aujourd’hui 1596 titres de films, j’me suis pas emmerdé à checker si le titre a déjà été display oopah… => osef

Follow @flood.fr

@+
~ktr

PS: ce que j’utilise pour twitter depuis la ligne de commande : ttytter

Et si le serveur se mettait à twitter ?

Yop,
Je vais vous parler de comment faire twitter votre ordi :D

twitter-bird

Twitter, gazouiller en français :)

J’voulais tâter un client twitter en ligne de commande. Je suis tombé sur ttytter et je le trouve plutôt réussi.
Avec Archlinux, vous pouvez l’installez avec un petit :
$ yaourt -S ttytter
Sinon pour Ubuntu (le serveur flood.fr est sous Ubuntu), on télécharge le script perl du site officiel et on le range dans son dossier .bin, .scripts ou ce qu’on veut qui est dans le path.

Lors du démarrage de l’application, y’a un petit peu de config à faire, rien de bien méchant, lisez ce qui est marqué. La deuxième fois que vous lancez l’application, la timeline s’affiche, et vous pouvez twittez très simplement. C’est cool, mais nous ce qu’on veut, c’est twitter depuis un script, donc depuis la ligne de commande. Pour cela, il suffit d’ajouter l’option -script et PAF ! ça fait des chocapics \o/

$ echo 'test from cmd line' | ttytter -script

Du coup, j’me suis dit : «Bon qu’est-ce qu’il pourrait bien tweeter le serveur flood.fr….»
Au départ, je suis parti sur une citation au hasard du Grand Détournement mais j’ai pas réussi à faire ce que je voulais (noob inside).

Du coup, j’ai testé un truc en rapport avec les visiteurs du site, et donc le fichier /var/log/apache2/access.log.
Et si on twitte dès que quelqu’un se bouffe une 404 ?
ok
et si on rajoute son user-agent ?
ok

Et donc me voici avec ce script :

#!/bin/sh
# Sends a twitter status each time someone encounters a 404.
# Requires ttytter : http://www.floodgap.com/software/ttytter/
# Script made by kooothor for the flood.fr server.

test=`tail -n1 /var/log/apache2/access.log|grep "404.html" |wc -m`
# We store the user agent 
user=`tail -n1 /var/log/apache2/access.log|awk -F \" '{print $6}'`
# Test if the hit last is 404
if [ $test != "0" ] ; then
# Send the tweet
echo $user 'vient de se manger une page 404.' | perl /home/kooothor/.scripts/ttytter.pl -script
else
exit 0
fi

Facile, non ?

A chaque fois que le script est lancé, il check le dernier accès sur apache, et si c’est une page 404, il envoie un status twitter avec le user-agent \o/
Bon c’est pas nickel, on pourrait imaginer qu’il lise le fichier en continu par exemple (tail -f), mais bon, là c’est un premier jet just for fun. Les améliorations seront sur le github : ici.

A vous d’imaginer d’autres trucs pour votre serveur (et de les poster en commentaires !!) :D