import requests
import logging
from config import TELEGRAM_SETTINGS

def send_telegram_msg(message):
    """
    Envía un mensaje a Telegram de forma aislada.
    """
    if not TELEGRAM_SETTINGS.get("enabled", False):
        return

    token = TELEGRAM_SETTINGS.get("bot_token")
    chat_id = TELEGRAM_SETTINGS.get("chat_id")
    
    if not token or not chat_id:
        logging.warning("⚠️ Telegram habilitado pero falta Token o Chat ID en config.")
        return

    url = f"https://api.telegram.org/bot{token}/sendMessage"
    payload = {
        "chat_id": chat_id,
        "text": message,
        "parse_mode": "Markdown" # Permite usar negritas y emojis
    }

    try:
        response = requests.post(url, data=payload, timeout=10)
        if response.status_code != 200:
            # El Markdown falla con nombres que llevan '_' o '*'. Reintenta en
            # texto plano antes de darse por vencido.
            payload.pop("parse_mode", None)
            response = requests.post(url, data=payload, timeout=10)
        if response.status_code != 200:
            logging.error(f"❌ Error API Telegram: {response.text}")
    except Exception as e:
        logging.error(f"❌ Fallo de conexión con Telegram: {e}")