Bonjour,
Si vous voulez simplement voir les fortunes, c'est là :
Ceci est la maison page de DaFortuneBashBot, le super greffon pour le génialissime wmcoincoin, qui permet d'archiver les trésors d'inventivité et de génie que débitent les moules< à longueur de journée sur divers bouchots.
Changement à partir de la version 0.10 : DaFortuneBashBot n'est plus un greffon de wmcoincoin, il est maintenant indépendant, comme un grand garçon.
Pour l'instant, ce bot n'est à l'écoute que de la tribune de DLFP, et du bouchot de LLG< : batavie. Mais comme il est par bidouillageconstruction très flexible, il peut très facilement se mettre à l'écoute de toute autre bouchot un tant soit peu standard (il suffit en théorie de modifier le fichier de configuration fortunes.options).
La version actuelle est la 0.10
Comment invoquer le bot?
Très simple : vous envoyez #fortune # horloge1 # horloge2 sur un bouchot que DaFortuneBashBot espionne, et c'est tout : toutes les interventions situées entre ces deux horloges seront gravées dans le marbre pour l'éternité.
Les horlogesi doivent être 2 (sinon elle sont tristes), dans l'ordre (ce n'est pas un bug, c'est une feature, que j'aurai peut-être le courage de supprimer dans une version future, s'il y en a). Elles peuvent être dans n'importe quelle format compréhensible par date, mais le plus simple reste le classique hh:mm:ss.
La date n'a pas besoin d'être précisée si l'horloge est du jour, ou de la veille jusque 00:59:59 (ceci n'est pas une feature volontaire, c'est parce que je suis en Angleterre). En contre-partie, si vous donnez une horloge d'avant 01:00:00, vous devrez préciser la date.
La date peut être sous la forme "yesterday", "2 days ago", "14 june", "MM/DD[/YY]" (voir date(1)).
Si DaFortuneBashBot ne comprend pas votre requête (ie horloges ne correspondant pas à des messages de cette tribune, ou autre), il vous répondra gentiment "lapin compris".
Pour l'instant, tout le monde peut fortuner, mais en cas d'abus, je blacklisterai...
Comment faire fonctionner le bouzin chez soi?
C'est simple : (mais est-ce vraiment utile?)
ajoutez ces lignes à votre ~/.wmcoincoin/options :
tribune.post_cmd: ~/.wmcoincoin/wmcc_new_msg "$l" "$m" "$u" "$i" "$t" "$s" "$r" "$h" "$m" &
tribune.post_cmd2: echo -e "$t\t$i\t`date '+%H:%M:%S' -d "Jan 1, 1970 00:00:00 +0000 +$t seconds"`\t$l\t$m" >> ~/.wmcoincoin/history.$h
mettez ce fichier wmcc_new_msg dans ~/.wmcoincoin et rendez-le exécutable
modifiez le fichier fortunes.options
rechargez la configuration de votre coincoin.
- copiez ces trois fichiers dans un répertoire : fortunes.options process.sh write.sh.
- rendez process.sh et write.sh exécutables.
- lancez process.sh.
Voila, je vous avais dit que c'était simple!
Je sais, le code est crade, gruiik, pas optimisé, mais j'ai fait ça parce que je n'avais rien d'autre à faire sur le moment, pour m'amuser.
Si vous avez déjà un wmcc_new_msg (pour gérer votre bigornophone par exemple), je vous laisse deviner comment fusionner les deux fichiers... Un indice : j'ai honteusement copié la moitié du bigornophone de Shift (grand merci au passage).
Bien entendu, ce script est sous GPL, même si je trouve un peu absurde de donner une licence à dix stupides lignes de code.
Si vous avez des remarques/critiques/questions/suggestions/lettres d'amour/autre à m'envoyer, je pense que vous pourrez assez facilement trouver mon adresse email (un indice : regardez l'URL de cette page).
Pour les chocolats, fleurs, bières, ou autre, vous pouvez me demander mon adresse postale par mail.
Pour les insultes, remarques désobligeantes, et autres, c'est par là : /dev/null
Changelog
0.10
- DaFortuneBashBot est indépendant de wmcoincoin (c'est cool ça, ça évite les plantages, les caractères d'échappement que wmcoincoin met partout, ...)
- Récupère tous les messages depuis le dernier présent dans l'historique (à condition que le remote.xml du bouchot soit assez complet et/ou que DaFortuneBashBot n'ait pas été août trop longtemps).
- Pour les maso qui auraient installé DaFortuneBashBot chez eux : les fichiers d'historiques ne sont pas compatibles.
À faire
- Ajouter des ancres dans la pages des fortunes, pour pouvoir faire un lien vers une fortune donnée (je pense à un truc du genre login_numerodefortune comme identifiant unique, mais le plus simple serait de donner le nombre de secondes écoulées entre le 01/01/1970 00h00, et le moment ou la fortune est demandée).
- Vider les fichiers d'historique au fur et à mesure (mais à quel rythme?)
- Pour les bouchots anonymes, remplacer le login par l'ua (via une option useua_tribune valant 0 ou 1, et changer le cut de la ligne 52, et enregistrer l'ua dans l'historique), mais cela est-il utile?
- Ajouter les ua en "acronym"?
- Vérifier que le message de confirmation ou d'erreur a bien été posté (voir la ligne #while [[`curl... ligne 59).
- Peut-être un jour : essayer de mettre un place un système de gestion/affichage des fortunes du type de celui de bashfr (ça semble mieux que la première proposition).
- Inclure une {white,black}list
- Nettoyer le code de mon pseudo-parseur en bash, ou à défaut le documenter un peu.
- Si vous avez des suggestions...
Si vous voulez envoyer un patch/suggestion, n'hésitez pas!
