stormbot/triggers/keywords/keywords.sh

22 lines
971 B
Bash
Raw Normal View History

2016-09-06 14:25:46 -04:00
[ -f functions.sh ] && source functions.sh
who="$1"
shift
2016-09-06 14:25:46 -04:00
chan="$1"
shift
# each word is stored in an associative array, with the actions to be taken as the array's contents.
# the variable $chan contains the channel that caused the trigger.
# the variable $who contains the nick that caused the trigger.
2016-09-06 14:25:46 -04:00
declare -A keywords
2016-09-08 12:16:59 -04:00
keywords[linux]="msg \"$chan\" \"Linux is $(shuf -n1 -e awesome God great wonderful)!\""
keywords[chicken]="msg \"$chan\" \"$who, I'm gonna grab me $(shuf -n1 -e "a case of beer" "a weed eater" "a 5 gallon jug of vaseline") and a $(shuf -n1 -e dead frozen live young) chicken, and $(shuf -n1 -e "have fun" "make chicks" "lay it like an egg" "put my beak where it don't belong") ALL NIGHT LONG!!!\""
keywords[dragonforce]="msg \"$chan\" \"$who: I love DragonForce!!!\""
2016-09-06 14:25:46 -04:00
wordList="$(echo "${@,,}" | tr '[:space:]' $'\n' | sort -u)"
2016-09-06 14:25:46 -04:00
for w in ${wordList//[[:punct:]]/} ; do
if [[ -n "${keywords[${w,,}]}" ]]; then
eval ${keywords[${w,,}]}
fi
done