You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

81 lines
3.4 KiB
Bash

# .env.example
# Evolution API (requerido)
EVOLUTION_API_URL="https://example-url.com"
EVOLUTION_API_KEY="example-api-key"
EVOLUTION_API_INSTANCE="example-instance"
# WhatsApp (requerido)
WHATSAPP_COMMUNITY_ID="example-community-id@g.us" # Comunidad principal para sincronizar grupos
CHATBOT_PHONE_NUMBER="1234567890" # Número normalizado del bot; evita auto-respuestas
# Webhook de este servicio (requerido)
WEBHOOK_URL="http://your-service-internal-url:3007" # URL (idealmente interna) a la que Evolution API enviará webhooks
PORT=3007
# Entorno
NODE_ENV="production" # production | development | test
TZ="Europe/Madrid" # Zona horaria usada para "hoy/mañana" y render de fechas
# Sincronización de grupos (opcional)
# Intervalo en milisegundos; por defecto 86400000 (24h). En desarrollo puede bajarse (mínimo recomendable 10000ms).
# GROUP_SYNC_INTERVAL_MS=86400000
# Membresías (opcional)
# Edad máxima (ms) para considerar "fresca" la snapshot de miembros de un grupo. Por defecto 86400000 (24h).
# MAX_MEMBERS_SNAPSHOT_AGE_MS=86400000
# Si "true", se aplica validación estricta de membresía (solo con snapshot fresca). Por defecto false.
# GROUP_MEMBERS_ENFORCE=false
# Si "true", los recordatorios incluirán una sección de "sin responsable" filtrada por tus grupos con membresía activa (snapshot fresca). Por defecto false.
# REMINDERS_INCLUDE_UNASSIGNED_FROM_MEMBERSHIP=false
# Notificaciones (opcional)
# Si se pone a "true", el bot enviará un breve resumen al grupo al crear una tarea (por defecto false).
# NOTIFY_GROUP_ON_CREATE=false
# Rate limiting por usuario (opcional; desactivado en tests)
# Número de comandos por minuto por usuario (refill rate). Por defecto 15.
# RATE_LIMIT_PER_MIN=15
# Capacidad del bucket (por defecto igual a RATE_LIMIT_PER_MIN).
# RATE_LIMIT_BURST=15
# Cola de respuestas (opcional — avanzado)
# Intentos máximos antes de marcar como failed (por defecto 6).
# RQ_MAX_ATTEMPTS=6
# Backoff base en milisegundos para reintentos (por defecto 5000).
# RQ_BASE_BACKOFF_MS=5000
# Backoff máximo en milisegundos (por defecto 3600000 = 1h).
# RQ_MAX_BACKOFF_MS=3600000
# Limpieza y mantenimiento de la cola (opcional — avanzado)
# Habilitar/deshabilitar limpieza automática (por defecto true).
# RQ_CLEANUP_ENABLED=true
# Días de retención para enviados (por defecto 14).
# RQ_RETENTION_DAYS_SENT=14
# Días de retención para fallidos (por defecto 30).
# RQ_RETENTION_DAYS_FAILED=30
# Intervalo del scheduler de limpieza en ms (por defecto 86400000 = 24h).
# RQ_CLEANUP_INTERVAL_MS=86400000
# Tamaño de lote para borrar elementos en limpieza (por defecto 1000).
# RQ_CLEANUP_BATCH=1000
# Ejecutar PRAGMA optimize tras limpieza (por defecto true).
# RQ_OPTIMIZE_ENABLED=true
# Ejecutar VACUUM cada N ejecuciones de limpieza (por defecto desactivado).
# RQ_VACUUM_ENABLED=false
# Frecuencia de VACUUM (solo si está habilitado).
# RQ_VACUUM_EVERY_N_RUNS=28
# Métricas (opcional)
# METRICS_ENABLED=true
# METRICS_FORMAT=prom # prom|json
# Control de acceso por grupos (multicomunidad)
# Modo: off|discover|enforce (por defecto off)
# GROUP_GATING_MODE=discover
# Lista de administradores (IDs/JIDs; se normalizan a dígitos)
# ADMIN_USERS="34600123456, 5554443333"
# Lista de grupos permitidos inicial (JIDs @g.us)
# ALLOWED_GROUPS="12345-67890@g.us, 11111-22222@g.us"
# Notificar a ADMIN_USERS cuando se descubra un grupo en modo discover
# NOTIFY_ADMINS_ON_DISCOVERY=true