schedule tweets

Fans de Twitter: vous voulez de programmer l'heure d'envoie de vos Tweets ! Il existe de nombreux services payants d'envoie automatique de Tweets, je vous propose un script gratuit pour le faire.

J'utilise ce script pour tweeter les informations de mon site NodeJS News.

Il vous faut le script bash ci-dessous, un crontab et un fichier dans lequel vous stockez vos futurs tweets. Le script bash utilise la gem ruby t, dont j'ai déjà parlé pour envoyer les tweets : Twitter en ligne de commande.

Le fichier tweet-to-schedule.txt où les tweets sont stockés est allégé d'un tweet à chaque appel du script, ce tweet est alors rangé dans le fichier tweeted.txt.

#!/bin/bash

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

if [ `find ~/projets/schedule-tweet/tweet-to-schedule.txt -size +0` ];then
        tw=`head -n1 ~/projets/schedule-tweet/tweet-to-schedule.txt`
        sed -si 1d ~/projets/schedule-tweet/tweet-to-schedule.txt
        echo $tw >> ~/projets/schedule-tweet/tweeted.txt
        t update "$tw"
fi

Maintenant, passons au crontab: comme j'utilise ce script pour envoyer sur Twitter mes message, en fin de journée, pour que mon compte @NewsNodeJS soit visible aux USA, je l'ai réglé pour poster un tweet toutes les 8 min. entre 17h et 23h:

*/8 17-23 * * * /home/vrh/projets/schedule-tweet/tweet-scheduler.sh

Et voilà !