happybot/happybot/frog.sh

36 lines
1.2 KiB
Bash

#!/usr/bin/env ash
. /home/zgrep/offtopiabday/happybot/common.sh
irc | while read -r n m; do
# if reg '^¡(([RrFf]|[Ss][Pp])[Rr][Oo][Gg]|[Gg][Oo][Rr]([Pp][Ss]|[RrFf]))$' "$m"; then
if reg '^!(([RrFf]|[Ss][Pp])[Rr][Oo][Gg]|[Gg][Oo][Rr]([Pp][Ss]|[RrFf]))$' "$m"; then
l=$(var "$(m 1)" | tr 'A-Z' 'a-z');
s=$(var "$(m 1)" | sed 's/[A-Z]/\\U\\#/g' | sed 's/[a-z]/\\L\\#/g');
s=$(printf '%s' "$s" | tr '#' '\n' | awk '{print$0 NR}' | tr -d '\n');
p=$(var "$(m 1)" | sed 's/./\\(\.\\)/g'); w=$(var "$(m 1)" | sed 's/./ /g');
f=$(curl -s 'https://frog.tips/api/1/tips/' | jq -r '.tips[0].tip');
if [ "$l" == "sprog" ] || [ "$l" == "gorps" ]; then
f=$(var "$f" | sed 's/FROG/TADPOLE/g');
fi;
rainbow='5 4 7 8 9 3 11 10 12 2 6 13';
if [ "$l" == "gorf" ] || [ "$l" == "gorr" ] || [ "$l" == "gorps" ]; then
rainbow='13 6 2 12 10 11 3 9 8 7 4 5';
f=$(var "$f" | rev);
fi;
f=$(var "$f$w" | sed 's/'"$p"'/'"$s"'/g' | sed 's/ *$//');
if [ "$l" == "rrog" ] || [ "$l" == "gorr" ]; then
f=$(var "$f" | awk -v FS="" '{split("'"$rainbow"'",color," ");for (i=1;i<=NF;i++) print "\x03" color[(1+(i-1)%length(color))] $i}' | tr -d '\n');
fi;
var "$f" | zwsp | say;
fi;
done;