Added the duck generation module.
The duck generation module listens to the "duck" command. It will then generate a random duck based on https://github.com/adyxax/hsbot with some additional heads and beaks.
This commit is contained in:
parent
6710f8b056
commit
2f80a68b1f
3 changed files with 33 additions and 1 deletions
|
@ -22,6 +22,8 @@ do
|
|||
./shquote.sh ${ARGS[*]}
|
||||
elif [ "$CMD" = "trains" ]; then
|
||||
./shtrains.sh ${ARGS[*]}
|
||||
elif [ "$CMD" = "duck" ]; then
|
||||
./shduck.sh
|
||||
elif [ "$CMD" = "help" ]; then
|
||||
./shhelp.sh $ARGS
|
||||
else
|
||||
|
|
30
shduck.sh
Executable file
30
shduck.sh
Executable file
|
@ -0,0 +1,30 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Duck generation based on https://github.com/adyxax/hsbot
|
||||
|
||||
RANDOM=$$ #Seed random number generator from script PID
|
||||
export GLOBIGNORE="*" #Do not substitute asterisks (e.g. in $heads) for lists of files!!
|
||||
|
||||
#Body parts (both RTL and LTR where applicable)
|
||||
leftbeaks=(">" "=")
|
||||
rightbeaks=("<" "=")
|
||||
leftbody=("_/" "__/" "_~" "__~")
|
||||
rightbody=("\\\\_" "\\\\__" "~_" "~__")
|
||||
heads=("o" "O" "0" "@" "©" "®" "ð" "*" "ò" "ô" "ó" "ø" "⊕" "Ω" "ꙫ" "ꙩ" "Ꙩ" "ȯ" "◔" "õ" "ȯ" "⁰" "Ö" "Ó" "Ò" "Õ" "Ô" "ö")
|
||||
|
||||
head=${heads[$RANDOM % ${#heads[@]} ]} #Pick a head
|
||||
|
||||
left=$(expr $RANDOM % 2) #Whether it will be a left-to-right duck
|
||||
|
||||
#Generate the duck
|
||||
if [ $left == 1 ]; then
|
||||
beak=${leftbeaks[$RANDOM % ${#leftbeaks[@]} ]}
|
||||
body=${leftbody[$RANDOM % ${#leftbody[@]} ]}
|
||||
duck=$beak$head$body
|
||||
else
|
||||
beak=${rightbeaks[$RANDOM % ${#rightbeaks[@]} ]}
|
||||
body=${rightbody[$RANDOM % ${#rightbody[@]} ]}
|
||||
duck=$body$head$beak
|
||||
fi
|
||||
|
||||
echo $duck
|
|
@ -16,7 +16,7 @@ case "$1" in
|
|||
"trains") echo "trains [STATION] : Prints the next trains that will stop at Courbevoie's station."
|
||||
echo " When provided, only results that concerns STATION are advertised."
|
||||
;;
|
||||
*) echo "The following commands are available : advert help join part quote trains"
|
||||
*) echo "The following commands are available : advert help join part quote trains duck"
|
||||
;;
|
||||
esac
|
||||
|
||||
|
|
Reference in a new issue