- Created chatwoot-agent-bot/ with Node.js webhook server - Bot detects intent (greeting, billing, technical, features, account) - Auto-responds from FAQ knowledge base or escalates to human - FAQ-KB.md: Living knowledge base that grows with customer questions - CHATWOOT-SETUP.md: Complete deployment and configuration guide - Supports Telegram notifications on escalation - Bot runs on port 3001, ready for Chatwoot webhook integration
50 lines
1.1 KiB
Bash
50 lines
1.1 KiB
Bash
#!/bin/bash
|
|
# Sales Prospector Runner with Auto-Restart
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
LOG_FILE="$SCRIPT_DIR/logs/runner.log"
|
|
PID_FILE="$SCRIPT_DIR/run.pid"
|
|
|
|
log() {
|
|
echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" | tee -a "$LOG_FILE"
|
|
}
|
|
|
|
# Kill existing
|
|
if [[ -f "$PID_FILE" ]]; then
|
|
OLD_PID=$(cat "$PID_FILE")
|
|
if ps -p "$OLD_PID" > /dev/null 2>&1; then
|
|
log "Killing old process $OLD_PID"
|
|
kill "$OLD_PID" 2>/dev/null
|
|
sleep 2
|
|
fi
|
|
fi
|
|
|
|
log "=== Sales Prospector Runner Started ==="
|
|
|
|
while true; do
|
|
log "Starting prospector..."
|
|
|
|
bash "$SCRIPT_DIR/prospector-fixed.sh" >> "$LOG_FILE" 2>&1 &
|
|
CURRENT_PID=$!
|
|
echo $CURRENT_PID > "$PID_FILE"
|
|
|
|
log "PID: $CURRENT_PID"
|
|
|
|
# Wait for it to finish
|
|
wait $CURRENT_PID
|
|
EXIT_CODE=$?
|
|
|
|
log "Prospector exited with code $EXIT_CODE"
|
|
|
|
# Determine restart delay
|
|
if [[ $EXIT_CODE -eq 0 ]]; then
|
|
DELAY=10
|
|
log "Clean exit, restarting in ${DELAY}s"
|
|
else
|
|
DELAY=30
|
|
log "Crash detected, restarting in ${DELAY}s"
|
|
fi
|
|
|
|
sleep $DELAY
|
|
done
|