Commit inicial: Sales Bot - Sistema de Automatización de Ventas

- Stack completo con Mattermost, NocoDB y Sales Bot
- Procesamiento OCR de tickets con Tesseract
- Sistema de comisiones por tubos de tinte
- Comandos slash /metas y /ranking
- Documentación completa del proyecto

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-18 02:41:53 +00:00
commit 5d9cbd4812
21 changed files with 4625 additions and 0 deletions

85
sales-bot/compose.yaml Normal file
View File

@@ -0,0 +1,85 @@
version: '3.8'
# ============================================================================
# SALES BOT - Docker Compose
# ============================================================================
#
# Servicio: Sales Bot (Bot de ventas con OCR)
# Requiere: Mattermost y NocoDB corriendo
# Puerto: 5000
#
# Uso:
# 1. Editar archivo .env con tus credenciales
# 2. docker-compose build
# 3. docker-compose up -d
# Acceder: http://your-server-ip:5000/health
#
services:
sales-bot:
build:
context: .
dockerfile: Dockerfile
container_name: sales-bot
restart: unless-stopped
ports:
- "5000:5000"
environment:
# === MATTERMOST ===
MATTERMOST_URL: ${MATTERMOST_URL:-http://host.docker.internal:8065}
MATTERMOST_BOT_TOKEN: ${MATTERMOST_BOT_TOKEN}
MATTERMOST_TEAM_NAME: ${MATTERMOST_TEAM_NAME:-sales}
MATTERMOST_WEBHOOK_SECRET: ${MATTERMOST_WEBHOOK_SECRET}
MATTERMOST_WEBHOOK_URL: ${MATTERMOST_WEBHOOK_URL}
# === NOCODB ===
NOCODB_URL: ${NOCODB_URL:-http://host.docker.internal:8080}
NOCODB_TOKEN: ${NOCODB_TOKEN}
NOCODB_TABLE_VENDEDORES: ${NOCODB_TABLE_VENDEDORES}
NOCODB_TABLE_VENTAS: ${NOCODB_TABLE_VENTAS}
NOCODB_TABLE_VENTAS_DETALLE: ${NOCODB_TABLE_VENTAS_DETALLE}
NOCODB_TABLE_METAS: ${NOCODB_TABLE_METAS}
# === FLASK ===
FLASK_PORT: 5000
FLASK_DEBUG: "False"
# === LOGGING ===
LOG_LEVEL: INFO
LOG_FILE: /app/logs/sales-bot.log
# === ZONA HORARIA ===
TZ: America/Mexico_City
TZ_OFFSET: "-6"
volumes:
# Montar logs para persistencia
- ./logs:/app/logs
# Si quieres desarrollo en caliente, descomentar:
# - ./app.py:/app/app.py
# - ./nocodb_client.py:/app/nocodb_client.py
# - ./mattermost_client.py:/app/mattermost_client.py
# - ./ocr_processor.py:/app/ocr_processor.py
# - ./handlers.py:/app/handlers.py
networks:
- sales-bot-network
# Extra hosts para conectar con servicios del host
extra_hosts:
- "host.docker.internal:host-gateway"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:5000/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 60s
networks:
sales-bot-network:
driver: bridge
volumes:
logs: