#!/bin/sh
# Control General — manda un texto al bot de Telegram de la casa.
#   cg-telegram "texto"      (HTML permitido)
#   echo texto | cg-telegram (sin argumento: lee stdin; lo usa smartd con -M exec)
# Credenciales en /etc/cg-telegram.env (TG_TOKEN=… TG_CHAT=…), lo deja autorizar-maquina.sh.
set -u
ENV_FILE=/etc/cg-telegram.env
[ -r "$ENV_FILE" ] || { echo "cg-telegram: no hay $ENV_FILE" >&2; exit 1; }
. "$ENV_FILE"
if [ $# -ge 1 ]; then TEXTO="$1"; else TEXTO="$(cat)"; fi
# smartd llama con SMARTD_* en el entorno: formato de la casa
if [ -n "${SMARTD_FAILTYPE:-}" ]; then
  TEXTO="❌ <b>Control General</b> — $(hostname): smartd avisa de ${SMARTD_DEVICE:-?}
Máquina: $(hostname)
Qué: ${SMARTD_MESSAGE:-$SMARTD_FAILTYPE}
Gravedad: CRÍTICA
Qué hacer: mirar el disco en el panel de Control General"
fi
curl -s --max-time 20 --retry 2 -o /dev/null -w '%{http_code}\n' \
  --data-urlencode "chat_id=$TG_CHAT" --data-urlencode "parse_mode=HTML" \
  --data-urlencode "text=$TEXTO" "https://api.telegram.org/bot$TG_TOKEN/sendMessage"
