Il bot megafono prende linea per linea da un file che può essere configurato settando DATA_FILE
in megafono_bot.sh
.
Ogni linea del file è evalutata con eval ./toot.sh $line
quindi ATTENZIONE:
bisogna eseguire il bot dalla directory in cui si trova perchè usa il path relativo, se vi da fastidio questo settate i path assoluti modificando lo script
siccome viene usato un eval è importante che i permessi su DATA_FILE
siano settati bene, faccio un esempio di come NON devono essere settati: mettiamo io sia l'utente pippo
e che l'utente megafono
sia quello che esegue il file, nel caso in cui DATA_FILE
sia scrivibile da utenti che non siano esclusivamente megafono
, pippo
puo' aggiungere a DATA_FILE
la linea lol ; echo Ora sono l'utente megafono
eseguendo l'echo come utente megafono
. Questo non è un problema grave salvo malconfigurazione dei permessi. Quindi se settate bene i permessi su DATA_FILE
(i.e. chmod 660 $DATA_FILE
) non ci saranno problemi (e ovviamente non eseguite il bot come root
, ma sembrava ovvio).
per lo stesso motivo sopra è necessario che caratteri speciali come ;
&
\n
"
e tutti quelli che potrebbero creare problemi a bash
siano URL encoded (ad esempio \n
diventa %0A
oppure "
diventa %22
).
ogni linea dovrà essere quindi strutturata così --eventuali="parametri da dare" -a="toot.sh" "TESTO DEL TOOT"
, guardate l'help di toot.sh
per i parametri.