#!/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