#!/usr/bin/env bash set -euo pipefail level="${1:-INFO}" # e.g., INFO, WARN, ERROR event="${2:-general}" # e.g., backup, restore-test message="${3:-}" # Telegram config via environment BOT_TOKEN="${TELEGRAM_BOT_TOKEN:-}" CHAT_ID="${TELEGRAM_CHAT_ID:-}" # Log to syslog logger -t soloforge "[$level][$event] $message" # Send to Telegram if configured if [[ -n "$BOT_TOKEN" && -n "$CHAT_ID" ]]; then # Keep the message simple to avoid escaping headaches safe_msg=$(echo "$message" | tr '"' "'" ) curl -sS -X POST \ "https://api.telegram.org/bot${BOT_TOKEN}/sendMessage" \ -d "chat_id=${CHAT_ID}" \ --data-urlencode "text=[SoloForge][$level][$event] $safe_msg" \ >/dev/null 2>&1 || true fi