"""
Configuración del bot. Todos los valores sensibles se cargan desde
variables de entorno (nunca hardcodeados en el código).
"""
import os
from dotenv import load_dotenv

load_dotenv()  # en local, lee el archivo .env

# --- Telegram ---
TELEGRAM_BOT_TOKEN = os.environ.get("TELEGRAM_BOT_TOKEN", "")
TELEGRAM_WEBHOOK_SECRET = os.environ.get("TELEGRAM_WEBHOOK_SECRET", "")
TELEGRAM_CANAL_ID = os.environ.get("TELEGRAM_CANAL_ID", "")

# --- Mercado Libre (verificación automática de precios/disponibilidad) ---
MELI_APP_ID = os.environ.get("MELI_APP_ID", "")
MELI_SECRET_KEY = os.environ.get("MELI_SECRET_KEY", "")

# --- Mini App (catálogo visual dentro de Telegram) ---
MINI_APP_URL = os.environ.get("MINI_APP_URL", "")

# --- Base de datos (MySQL) ---
MYSQL_HOST = os.environ.get("MYSQL_HOST", "localhost")
MYSQL_USER = os.environ.get("MYSQL_USER", "")
MYSQL_PASSWORD = os.environ.get("MYSQL_PASSWORD", "")
MYSQL_DATABASE = os.environ.get("MYSQL_DATABASE", "")

# --- Validación básica al arrancar ---
def validar_config():
    faltantes = []
    if not TELEGRAM_BOT_TOKEN:
        faltantes.append("TELEGRAM_BOT_TOKEN")
    if not MYSQL_USER:
        faltantes.append("MYSQL_USER")
    if not MYSQL_PASSWORD:
        faltantes.append("MYSQL_PASSWORD")
    if not MYSQL_DATABASE:
        faltantes.append("MYSQL_DATABASE")
    if faltantes:
        raise RuntimeError(
            f"Faltan variables de entorno obligatorias: {', '.join(faltantes)}. "
            "Revisá tu archivo .env"
        )
