From 59c5f1532175cf2ce5ba2cbdeb86ccd320c612c4 Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Thu, 20 Nov 2025 13:00:01 -0500 Subject: [PATCH] More fixes. Nearly working. --- modules/say/say.sh | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/modules/say/say.sh b/modules/say/say.sh index c08d665..6766234 100755 --- a/modules/say/say.sh +++ b/modules/say/say.sh @@ -28,13 +28,16 @@ if [[ "$channelName" == "$userName" ]]; then firstArg="$1" echo "DEBUG say.sh: PM context detected, firstArg='$firstArg'" >> "$log" - # Note: bot.sh strips "# " from commands, so #channel becomes just channel name + # Note: bot.sh strips "# " (hash-space) from commands, but "#channel" stays intact + # Remove # prefix if present for comparison + firstArgNoHash="${firstArg#\#}" + # Check if first argument looks like a channel name (matches configured channels) isConnected=false targetChannel="" for configuredChannel in "${channels[@]}"; do - if [[ "$firstArg" == "$configuredChannel" ]]; then + if [[ "$firstArgNoHash" == "$configuredChannel" ]]; then isConnected=true targetChannel="$configuredChannel" break @@ -52,9 +55,9 @@ if [[ "$channelName" == "$userName" ]]; then else # Check if first arg looks like it could be a channel name (not in our list) # If it contains no spaces and looks channel-ish, assume user specified wrong channel - if [[ "$firstArg" =~ ^[a-zA-Z0-9_-]+$ ]] && [[ ! "$firstArg" =~ [[:space:]] ]]; then + if [[ "$firstArgNoHash" =~ ^[a-zA-Z0-9_-]+$ ]] && [[ ! "$firstArgNoHash" =~ [[:space:]] ]]; then # Looks like a channel name but we're not connected - msg "$userName" "I am not connected to #$firstArg." + msg "$userName" "I am not connected to #$firstArgNoHash." else # No channel specified, broadcast to all channels for configuredChannel in "${channels[@]}"; do