#!/bin/bash
# ─────────────────────────────────────────────────────────────────────────────
# register_webhook.sh — Registrar / verificar / eliminar webhook de Telegram
#
# Uso:
#   ./register_webhook.sh set      → registrar webhook
#   ./register_webhook.sh info     → ver estado actual
#   ./register_webhook.sh delete   → eliminar webhook (para pruebas locales)
# ─────────────────────────────────────────────────────────────────────────────

BOT_TOKEN="${TELEGRAM_BOT_TOKEN:-}"
WEBHOOK_SECRET="${TELEGRAM_WEBHOOK_SECRET:-}"
DOMAIN="codi.iaprosystems.com"
WEBHOOK_PATH="/webhook"
WEBHOOK_URL="https://${DOMAIN}${WEBHOOK_PATH}"

[[ -z "$BOT_TOKEN" ]] && { echo "ERROR: Exporta TELEGRAM_BOT_TOKEN antes de ejecutar"; exit 1; }

ACTION="${1:-info}"
API="https://api.telegram.org/bot${BOT_TOKEN}"

pretty() { python3 -m json.tool 2>/dev/null || cat; }

case "$ACTION" in
  set)
    echo "→ Registrando webhook: ${WEBHOOK_URL}"
    curl -s -X POST "${API}/setWebhook" \
      -H "Content-Type: application/json" \
      -d "$(python3 -c "
import json
print(json.dumps({
  'url': '${WEBHOOK_URL}',
  'secret_token': '${WEBHOOK_SECRET}',
  'allowed_updates': ['message','callback_query','inline_query','edited_message'],
  'drop_pending_updates': True,
  'max_connections': 40
}))
")" | pretty
    ;;
  info)
    echo "→ Estado del webhook actual:"
    curl -s "${API}/getWebhookInfo" | pretty
    ;;
  delete)
    echo "→ Eliminando webhook..."
    curl -s "${API}/deleteWebhook?drop_pending_updates=true" | pretty
    ;;
  *)
    echo "Uso: $0 {set|info|delete}"
    exit 1
    ;;
esac
