#!/bin/bash tribune="$8" #le nom de la tribune reponse="$7" # type de message (1: posté par soi-même, 2: réponse à un message) troll="$6" # niveau du trollomètre timestamp="$5" # timestamp du message id="$4" # id du message ua="$3" # useragent du posteur message="$2" # contenu du message login="$1" # login du posteur source ~/.wmcoincoin/fortunes.options for i in `seq 0 ${#liste_tribunes[@]}` ; do [[ "$tribune" == "${liste_tribunes[i]}" ]] && goon="1" ; done [[ "$goon" == "1" ]] || exit 0 [[ `echo $message | sed -n "/^#fortune/p"` ]] || exit 0 cd ~/.wmcoincoin while [[ -e fortunes.lock ]] ; do sleep 2 ; done touch fortunes.lock start=`echo $message | cut -d "#" -f 3` start=${start//\\/} stop=`echo $message | cut -d "#" -f 4` stop=${stop//\\/} start_s=`date +%s -d "${start}"` stop_s=`date +%s -d "${stop}"` if [ "$(($start_s - $stop_s))" -ge "0" ] then output="il faut deux horloges différentes, et dans l'ordre (ceci n'est pas un bug, c'est une feature)" fi if [[ ! `grep $start_s history.$tribune` ]] || [[ ! `grep $stop_s history.$tribune` ]] then output="lapin compris" fi quand=`date +%H:%M:%S -d "1 jan 1970 $timestamp seconds +1 hour"` if [[ "$output" == "" ]] then sed -n "/$start_s/,/$stop_s/p" history.$tribune | sed -e 's#\\##g' | cut -f 3,4,5 > fortunes.$tribune.txt echo "

Proposée par $login le `date +%D` à $quand

" >> fortunes.$tribune.body awk -F "\t" '{ print "["$1"] "$2" "$3"
"}' fortunes.$tribune.txt >> fortunes.$tribune.body cat fortunes.$tribune.header fortunes.$tribune.body fortunes.$tribune.footer > fortunes.$tribune.html curl $cible -u $userpass -T fortunes.$tribune.html output="fait: $page/fortunes.$tribune.html" fi sleep 10 #je ne sais pas trop pourquoi, mais le développement des "variables dynamiques" #ne passe pas du tout quand elles sont dans une commande (entre ``) #Du coup je n'ai plus de moyen de réessayer de poster en cas d'échec (mais bon, #le sleep 10 devrait suffir) #while [[ `curl -e $(eval echo \$$(echo url_${tribune})) -b "$(eval echo \$$(echo cookie_${tribune}))" -A "$user_agent" -d "message=$quand $output" -d "section=1" $(eval echo \$$(echo posturl_${tribune})) && echo $?` !=0 ]] ; do sleep 10 ; done curl -e $(eval echo \$$(echo url_${tribune})) -b "$(eval echo \$$(echo cookie_${tribune}))" -A "$user_agent" -d "message=$quand $output" -d "section=1" $(eval echo \$$(echo posturl_${tribune})) rm fortunes.lock