Files
stormbot/triggers/greet/greet.sh
2025-11-04 18:33:42 -05:00

35 lines
963 B
Bash
Executable File

#!/usr/bin/env bash
[ -f functions.sh ] && source functions.sh
greetingsFile="triggers/greet/greetings.txt"
# All names to match are completely lowercase.
case "${1,,}" in
storm_dragon)
msg "$2" "my lord, $1: how may I serve you?"
;;
*)
# Read greetings from file into array
if [[ -f "$greetingsFile" ]]; then
mapfile -t greeting < "$greetingsFile"
else
# Fallback if file doesn't exist
greeting=("Greetings" "Welcome!")
fi
# Replace placeholders with actual values
selectedGreeting="${greeting[$((RANDOM % ${#greeting[@]}))]}"
selectedGreeting="${selectedGreeting//\{channel\}/$2}"
# Check if greeting contains {name} placeholder
if [[ "$selectedGreeting" == *"{name}"* ]]; then
# Replace {name} with actual name, don't add prefix
selectedGreeting="${selectedGreeting//\{name\}/$1}"
msg "$2" "$selectedGreeting"
else
# No {name} placeholder, use traditional "name: greeting" format
msg "$2" "$1: $selectedGreeting"
fi
;;
esac