Fixed the exit command to actually exit instead of trying to reconnect.

This commit is contained in:
Storm Dragon
2025-10-25 17:02:55 -04:00
parent 259195b021
commit b61d6c673c
2 changed files with 11 additions and 0 deletions

10
bot.sh
View File

@@ -76,6 +76,7 @@ export input
export ignoreList export ignoreList
export nick export nick
export quitMessage export quitMessage
export intentionalExit
# Check for critical dependencies needed by the bot core # Check for critical dependencies needed by the bot core
coreDependencies=("socat" "tail" "shuf" "grep" "sed" "tr" "cut" "date") coreDependencies=("socat" "tail" "shuf" "grep" "sed" "tr" "cut" "date")
@@ -129,6 +130,9 @@ trim_log() {
# Trap exiting ffrom the program to remove the temporary input file. # Trap exiting ffrom the program to remove the temporary input file.
trap rm_input EXIT trap rm_input EXIT
# Flag to track intentional shutdown (set by exit module)
intentionalExit=false
# Reconnection loop - keeps bot connected even if connection drops # Reconnection loop - keeps bot connected even if connection drops
reconnectDelay=10 reconnectDelay=10
while true; do while true; do
@@ -334,6 +338,12 @@ while true; do
done done
# If we reach here, the connection was dropped # If we reach here, the connection was dropped
# Check if this was an intentional exit
if [[ "$intentionalExit" == "true" ]]; then
echo "Bot shutdown requested. Exiting. [$(date "+$dateFormat")]" | tee -a "$log"
break
fi
echo "Connection lost. Reconnecting in $reconnectDelay seconds... [$(date "+$dateFormat")]" | tee -a "$log" echo "Connection lost. Reconnecting in $reconnectDelay seconds... [$(date "+$dateFormat")]" | tee -a "$log"
sleep "$reconnectDelay" sleep "$reconnectDelay"
done done

View File

@@ -24,6 +24,7 @@ check_dependencies() {
} }
close_bot() { close_bot() {
intentionalExit=true
echo -en "QUIT :${quitMessage}\r\n" >> "$input" echo -en "QUIT :${quitMessage}\r\n" >> "$input"
} }