add markov-chain-based french safety generator - annna - Annna the nice friendly bot. HTML git clone git://bitreich.org/annna/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/annna/ DIR Log DIR Files DIR Refs DIR Tags DIR README --- DIR commit 722e5beba2c9d565b6590b237c3631bfab7dac5e DIR parent 8a94a9d1188d3cb91251ef2bbe2f73a2df0f680b HTML Author: Josuah Demangeon <me@josuah.net> Date: Sat, 10 Aug 2024 11:37:21 +0200 add markov-chain-based french safety generator Signed-off-by: Josuah Demangeon <me@josuah.net> Signed-off-by: Annna Robert-Houdin <annna@bitreich.org> Diffstat: M annna-message-common | 4 ++++ A french-hype | 4 ++++ A modules/markov_french/README | 4 ++++ A modules/markov_french/adjectives | 48 +++++++++++++++++++++++++++++++ A modules/markov_french/markov | 39 +++++++++++++++++++++++++++++++ A modules/markov_french/nouns | 63 +++++++++++++++++++++++++++++++ A modules/markov_french/verbs | 38 +++++++++++++++++++++++++++++++ 7 files changed, 200 insertions(+), 0 deletions(-) --- DIR diff --git a/annna-message-common b/annna-message-common @@ -834,6 +834,10 @@ case "${text}" in techstr="$(tech-hype)" annna-say -s "${server}" -c "${channel}" "${techstr}" ;; +"${ircuser}, please french hype me.") + frenchstr="$(french-hype)" + annna-say -s "${server}" -c "${channel}" "${frenchstr}" + ;; "${ircuser}, please coffee read "*) readtarget="$(printf "%s\n" "${text}" | cut -c 27-)" horostr="$($HOME/scm/bullshit/horoscope)" DIR diff --git a/french-hype b/french-hype @@ -0,0 +1,4 @@ +#!/bin/sh + +hypebase="/home/annna/bin/modules/markov_french" +${hypebase}/markov DIR diff --git a/modules/markov_french/README b/modules/markov_french/README @@ -0,0 +1,4 @@ +A simple shell script that implements a generator of technologies +using an unbiased Markov chain. + +See markov_tech for more instructions. DIR diff --git a/modules/markov_french/adjectives b/modules/markov_french/adjectives @@ -0,0 +1,48 @@ +fissa +vite-fait +doucement +avec Ctrl-C +dans l'oeil du voisin +à côté +dans le président +avec brio +patiemment +avec appétit +plus grand +en faisant du bruit +complêtement à l'envers +en secouant le bas des reins +en faisant "coin-coin" +pour la gloire +parce-que c'est bon +parce-qu'on a faim +après tout pourquoi pas +oh et puis débrouillez-vous +goulue +hon, hon, hon, hon, hon, hon! +dans la fente +derrière les faggots +le dimanche +plus fort +beaucoup moins +beaucoup plus +pas comme ça +n'importe comment +tant que ça éclate pas +jusqu'à ce que ça chauffe +à chaque fois que ça marche +dans chaque étagère +dans la voiture +sous le tapis +dans le gosier +par terre +partout +à côté du plat +près du comissaire +dans l'office de police +sous la porte +à la radio +en tête à tête +tant qu'il est encore temps +en duel +plus cher DIR diff --git a/modules/markov_french/markov b/modules/markov_french/markov @@ -0,0 +1,39 @@ +#!/bin/sh + +BASE="$HOME/bin/modules/markov_safety_fr" + +VERB="${BASE}/verbs" +NOUN="${BASE}/nouns" +ADJ="${BASE}/adjectives" + +## function +rand(){ + max="$1" + if [ -z "$max" ] || [ "$max" -lt 1 ]; then + max=2; + fi + r=$(echo "$(od -An -N2 -i /dev/urandom) % $max" | bc) + echo "$r" +} + +verb1="$(shuf "${VERB}" | head -1)" +verb2="$(shuf "${VERB}" | head -1)" +while [ "$verb1" = "$verb2" ]; do + verb2="$(shuf "${VERB}" | head -1)" +done + +noun1="$(shuf "${NOUN}" | head -1)" +noun2="$(shuf "${NOUN}" | head -1)" +while [ "$noun1" = "$noun2" ]; do + noun2="$(shuf "${NOUN}" | head -1)" +done + +adj1="$(shuf "${ADJ}" | head -1)" +adj2="$(shuf "${ADJ}" | head -1)" +while [ "$adj1" = "$adj2" ]; do + adj2="$(shuf "${ADJ}" | head -1)" +done + +res="$verb1 $noun1 $adj1 et $verb2 $noun2 $adj2" + +echo "Pour votre sécurité, $res" DIR diff --git a/modules/markov_french/nouns b/modules/markov_french/nouns @@ -0,0 +1,63 @@ +votre cerveau +la porte +le trou +l'ordinateur +votre président +votre téléphone +la poutre +coupé-décalé +un peu d'argent +du vin +une baguette +le temps +le téléphone +le dindon +des histoires drôles +la part du pauvre +la langue Française +une pièce +la lune +une boîte d'UNOX +tout les oiseaux du ciel +assez de bois pour faire un feux +assez d'or pour fair rougir Muskito +un moustique +les clés de Zucc +un iPhone 1 +le marsupilami +votre père +la messe +le Mont Saint Michel +l'accordéon +la ratatouille +la fin du monde +les câbles sous la mer +le Kraken +vos amis +Bitreich +toutes les centrales nucléaires du continent +l'espace +les étoiles +le plus chauve d'entre vous +le cours de la bourse +le logiciel libre +la France, haha! Oui la France +le pain quotidien +les rats à plumes +le papier maché +un tigre +un puma +l'éditeur Vim +l'éditeur Emacs +absolument tout +rien du tout +Gnome Shell +le fou, le roi, et la dame +ce pion +la police +les pompiers +le paillasson +plus de taxes +moins de taxes +plus d'impôts +le péage DIR diff --git a/modules/markov_french/verbs b/modules/markov_french/verbs @@ -0,0 +1,38 @@ +débranchez +éteignez +tombez dans +prenez +attrapez +glissez +ralentissez +accélérez +décalez +secouez +redémarrez +beepez +mangez +marchez +payez +versez +dansez +buvez +parlez +insérez +regardez +brûlez +achetez +vendez +demandez +tenez +dormez +attendez +trainez +balancez +trébuchez sur +redémarrez +tappez +protégez +attaquez +oubliez +payez et re-payez et re-payez +payez et payez encore