# [SCRIPT] Poster automatiquement sur livejournal

## Trevoke

Tout d'abord, commencons par le soft qu'on va utiliser : 

```
$ eix jlj

* net-misc/jlj

     Available versions:  2.5 2.7

     Installed:           2.7

     Homepage:            http://www.cis.rit.edu/~sdlpci/Software/perl/#jlj

     Description:         A simple console LiveJournal entry system.
```

Je vous laisse le soin de le configurer, c'est vraiment pas sorcier (on est loin d'un sendmail).

Le script va poster un chapitre du Tao (de 1 a 81 avec iteration, et retour au premier chapitre, etc) dans la communaute daily_tao.

Copier le script dans /etc/cron.daily/ (j'utilise fcron) me suffit pour qu'il poste a 3h10 du matin automatiquement  :Wink: .

```
/home/alg/scripts/tao

root@Gen2Al: pts/4: 5 files 84Kb -> ls -lah

total 84K

drwxr-xr-x  4 alg users   9 2005-09-29 08:30 .

drwxr-xr-x  4 alg users  10 2005-11-21 09:06 ..

-rw-r--r--  1 alg users 40K 2005-09-29 08:29 beatricetao.txt

-rw-r--r--  1 alg users 504 2005-11-22 03:10 .body

-rw-r--r--  1 alg users 38K 2005-09-23 11:19 tao

-rw-r--r--  1 alg users   2 2005-11-22 03:10 .taocounter

-rwxr-xr-x  1 alg users 444 2005-11-22 08:55 Taoscript.sh

```

beatricetao.txt et tao sont mes deux fichiers sources. Ils sont formates comme des fichiers pour fortune, c'est-a-dire : 

 *Quote:*   

> The Tao that can be told is not the eternal Tao.
> 
> The name that can be named is not the eternal name.
> 
> The nameless is the beginning of heaven and Earth.
> ...

 

Il y a une ligne mais pas de % a la fin du fichier.

.body contient le corps du message, et .taocounter contient le numero du chapitre du Tao.

```
$ cat Taoscript.sh

#!/bin/bash

cd /home/alg/scripts/tao         #Le repertoire dans lequel il y a toutes les variables

TAO_COUNTER=`cat .taocounter`

if [[ $TAO_COUNTER > 80 ]]

   then TAO_COUNTER=0

fi

awk '/^%$/{nr++} nr==sec,/^%$/{if(!/^%$/)print}' sec=$TAO_COUNTER tao > .body

echo '%' >> .body

echo '%' >> .body

awk '/^%$/{nr++} nr==sec,/^%$/{if(!/^%$/)print}' sec=$TAO_COUNTER beatricetao.txt >> .body

let "TAO_COUNTER += 1"

echo $TAO_COUNTER > .taocounter

jlj -bf .body -ec daily_tao -es `cat .taocounter` -ne -s
```

La ligne de jlj, a la fin, nous indique : 

-bf  : utilise ceci pour le corps du message

-ec : poste dans cette communaute/journal

-es : utilise ceci comme sujet du message

-ne : on n'edite pas le message, on l'envoie tel quel

-s : on envoie le message!

Ce script n'est pas parfait; il ne devrait pas dependre du nombre de chapitres dans le Tao, mais je ne suis pas sur de quel genre de verification je devrais faire a la place, quelque chose du genre "si le corps est vide, alors on retourne a 0" peut-etre...

----------

