Files
dev-notes/assets/files/gitea/forge-alert.sh

26 lines
741 B
Bash

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