Cómo Construir un CEO-IA Bot con Telegram, n8n y Gemini 2.0
Share
Cómo Construir un CEO-IA Bot con Telegram, n8n y Gemini 2.0
Introducción
La gestión efectiva del tiempo y el tracking de objetivos son desafíos constantes para cualquier emprendedor. ¿Qué pasaría si pudieras tener un asistente ejecutivo disponible 24/7 que te haga check-ins diarios, analice transferencias bancarias mediante visión artificial, y gestione tus tareas automáticamente? En este artículo, desgloso la arquitectura completa de un bot de Telegram que hace exactamente eso, usando n8n como orquestador y Gemini 2.0 Flash como motor de IA.
Arquitectura del Sistema
La arquitectura del bot sigue un flujo de comunicación multi-capa que garantiza confiabilidad y escalabilidad:
Telegram Bot
↓
n8n Workflow (VPS2)
↓
Deploy API (:3000) → Proxy Layer (:3010)
↓
Gemini 2.0 Flash API
↓
Respuesta con Inline Buttons → Telegram
Componentes Clave
1. Script Principal (`ceo_ia_interactive.py`)El cerebro del bot reside en este script Python que maneja:
- Lógica de check-ins programados (8:00 AM, 12:00 PM, 9:00 PM)
- Sistema de botones inline con callbacks prefijados `av_`
- Parser de documentos TRACKING_200K.md para extraer MRR y tareas
- Integración con Gemini 2.0 Flash para procesamiento de lenguaje natural
Un diseño de doble proxy (`claude_proxy.py` + Deploy API) permite:
- Separación de ambientes (desarrollo vs producción)
- Rate limiting y control de acceso
- Routing hacia diferentes modelos de IA según necesidad
El bot mantiene contexto mediante tres archivos JSON:
- `memory.json`: daily tracker e interacciones
- `chat_memory/av0004_*.json`: historial completo de conversaciones
- `ceo_context.json`: datos de MRR, tareas prioritarias y contexto ejecutivo
Funcionalidades Implementadas
Check-ins Automatizados
Matutino (8:00 AM):- Saludo personalizado
- MRR actual extraído de TRACKING_200K.md
- Top 3 tareas prioritarias del día
- Botones de acción rápida
- Recordatorio mid-day
- Score de productividad (0-100)
- Re-enfoque en objetivos
- Resumen de logros del día
- Preparación para siguiente jornada
Análisis de Imágenes con Gemini Vision
Una de las características más poderosas es la capacidad de procesar capturas de pantalla de transferencias bancarias. El bot:
- Recibe la imagen vía Telegram
- Envía a Gemini 2.0 Flash (modelo multimodal)
- Extrae: monto, fecha, concepto, banco
- Genera registro estructurado para tracking financiero
Botones Interactivos
Sistema de callbacks con prefijo `av_` para:
- `av_task_done`: Marcar tarea completada
- `av_show_tasks`: Listar tareas activas
- `av_add_revenue`: Registrar ingreso
- `av_weekly_summary`: Reporte semanal
TRACKING_200K.md: Single Source of Truth
El bot implementa un patrón crítico de sincronización:
Pull desde Google Drive (maestro)
rclone copyto myGdrive:00-MASTER/TRACKING_200K.md /local/path/
Lectura/procesamiento
python ceo_ia_interactive.py
Push de vuelta (si hubiera ediciones)
rclone copyto /local/path/TRACKING_200K.md myGdrive:00-MASTER/
Backups (READ-ONLY): Tres copias locales en diferentes servers, pero el maestro siempre reside en Google Drive.
Migración de Claude CLI a Gemini 2.0 Flash
El 29 de enero de 2026 se migró el backend de Claude CLI a Gemini 2.0 Flash por:
- Costo: Gemini 2.0 Flash es ~80% más económico para alto volumen
- Multimodal nativo: Análisis de imágenes sin cambio de modelo
- Latencia: Respuestas más rápidas (<1.5s promedio)
- Rate limits: Mayor cuota para aplicaciones empresariales
Archivo de Configuración Gemini
{
"av0004": "AIzaSy...",
"rotation_enabled": false,
"last_used": "av0004"
}
Bugs Resueltos y Lecciones Aprendidas
Bug #1: Spam de 5 Mensajes Duplicados
Síntoma: El noon blocker (12:00 PM) enviaba 5 mensajes idénticos. Causa: Múltiples invocaciones del workflow n8n sin deduplicación. Fix v3: Implementación de lock por modo + día mediante flag file:lock_file = f"/tmp/ceo_ia_{mode}_{date.today()}.lock"
if os.path.exists(lock_file):
return # Ya ejecutado hoy
open(lock_file, 'w').close()
Bug #2: Hallucination LLM
Síntoma: Bot afirma "actualicé TRACKING_200K" cuando no tiene permisos de escritura. Causa: Alucinación típica de LLMs cuando se les pide confirmación. Mitigación: System prompt explícito: "NO tienes permisos de escritura. NUNCA digas que modificaste archivos."Bug #3: MRR Vacío en Check-in
Síntoma: Check-in matutino mostraba "MRR: [No disponible]". Causa: Parser regex no adaptado al formato markdown de TRACKING_200K.md. Fix v2: Reescritura completa del parser usando lookbehind/lookahead:import re
pattern = r'\\MRR:\\\s*\$?([\d,]+(?:\.\d{2})?)?'
match = re.search(pattern, content)
mrr = match.group(1) if match else "0"
Conclusión
Construir un CEO-IA bot efectivo requiere tres pilares fundamentales:
- Arquitectura robusta multi-capa que separe orquestación (n8n), lógica de negocio (Python) y modelo de IA (Gemini).
- Sistema de memoria persistente con un único source of truth sincronizado (TRACKING_200K.md en Google Drive).
- Iteración continua basada en bugs reales - todos los bugs documentados en este artículo fueron descubiertos en producción y corregidos mediante versiones incrementales.
El resultado es un asistente ejecutivo que opera 24/7, reduce carga cognitiva mediante check-ins automatizados, y proporciona insights accionables mediante análisis de imágenes con IA. La combinación de Telegram como interfaz, n8n como orquestador, y Gemini 2.0 como motor de IA demuestra cómo herramientas low-code/no-code pueden crear soluciones empresariales sofisticadas sin requerir infraestructura compleja.