Integración con Telegram — configuración y uso

Un bot por proyecto. Cada AI worker recibe su propio topic en una Supergroup de Telegram — los mensajes se enrutan automáticamente al worker correcto y la respuesta vuelve al mismo topic.


Cómo se ve en la práctica

Supergroup "My Project"
├── 📌 General          ← chat general (sin vinculación)
├── 🔵 Developer        ← mensajes → worker Developer
└── 🟢 Consultant       ← mensajes → worker Consultant

Escribes en el topic Developer → Arc OS lo procesa con Claude → la respuesta aparece en el mismo topic.

Telegram y el CRM Dashboard son dos canales hacia el mismo worker. Puedes empezar el diálogo en Telegram y continuarlo en el CRM — el contexto se conserva.


Configuración

Paso 1 — Crear el bot en BotFather

  1. Abre @BotFather en Telegram
  2. Envía /newbot
  3. Introduce el nombre del bot (por ejemplo: My Project)
  4. Introduce el username — debe terminar en bot (por ejemplo: my_project_arc_bot)
  5. BotFather devolverá un token con el formato 123456789:AABBccDDee...

⚠️ Guarda el token — lo necesitarás al configurar el CRM.


Paso 2 — Crear una Supergroup con Topics

2.1 Crear el grupo

Telegram Desktop / Mobile:

  1. Pulsa el icono del lápiz → New Group
  2. Añade a cualquier participante (puedes eliminarlo después)
  3. Da un nombre al grupo → Create

2.2 Activar los Topics

  1. Abre la configuración del grupo (pulsa el nombre arriba)
  2. Edit → busca la sección Topics
  3. Activa el interruptor — Telegram convertirá automáticamente el grupo en una Supergroup

2.3 Averiguar el Supergroup ID

El Supergroup ID siempre empieza por -100.

Opción A — vía @userinfobot:

  1. Reenvía cualquier mensaje del grupo al bot @userinfobot
  2. El bot devolverá el ID con el formato -1001234567890

Opción B — vía Telegram Web:

  1. Abre el grupo en web.telegram.org
  2. En la barra de direcciones verás una URL del tipo #-1001234567890
  3. Copia el número junto con el signo menos

Paso 3 — Añadir el bot como administrador

  1. Abre la configuración del grupo → Administrators
  2. Add Admin → en el buscador escribe @username_de_tu_bot (el username completo con @)
  3. Elige el bot de la lista → OK
  4. Los permisos por defecto son suficientes — déjalos como están

⚠️ El bot no aparecerá en la búsqueda si escribes un username incompleto o sin @. Introduce el @username exacto.


Paso 4 — Crear topics para los workers

En el grupo pulsa +New Topic:


Paso 5 — Conectar en el CRM

  1. Abre arc-os.co → elige el proyecto → Project Settings
  2. Busca la sección Channels → pulsa Connect Telegram

5.1 Introducir los datos del bot

Campo Qué introducir
Bot Token El token de BotFather (123456789:AABBcc...)
Supergroup ID El ID del grupo (-1001234567890)

Pulsa Verify & get topics.

5.2 Verificación

El CRM comprobará:

5.3 Vincular topics a workers

Para cada topic elige un worker del desplegable:

Developer  →  [developer     ▾]
Consultant →  [consultant    ▾]
General    →  [(sin vincular)]

Pulsa Save bindings.


Paso 6 — Prueba

  1. Escribe cualquier mensaje en el topic Developer
  2. El bot responderá en el mismo topic desde el worker Developer
  3. Repite con Consultant

Uso diario

Trabajar mediante topics (recomendado)

Simplemente escribe el texto de la tarea en el topic adecuado — no hacen falta prefijos:

[Topic Developer]
Corrige el bug del formulario de login — el campo email no se valida

[Topic Consultant]
Analiza la arquitectura del módulo auth, ¿qué se puede mejorar?

Si un topic no está vinculado a un worker — responde el worker por defecto.


Comandos en el chat privado con el bot

En el chat privado con el bot está disponible el cambio manual de workers mediante prefijos:

Prefijo Worker Propósito
/c <texto> Consultant Análisis, estrategia, solo lectura
/d <texto> Developer Código, archivos, terminal
/w:<worker_id> <texto> Personalizado Cualquier worker del registry
(sin prefijo) Activo El último utilizado

Ejemplos:

/c Analiza la arquitectura del módulo auth
/d Corrige el bug en el formulario de login
/w:sentinel Realiza una auditoría de seguridad de los últimos cambios

Un mensaje sin prefijo va al worker activo actual — después de /d Corrige el bug, los mensajes siguientes sin prefijo también irán al Developer.


Botones inline bajo la respuesta

Después de cada respuesta del AI worker aparecen botones de control:

Control del proceso:

Botón Acción
🛑 STOP Detener Claude (si se desvió o se quedó colgado)
⏸️ PAUSE Pausar — útil para esperar algo antes de continuar
▶️ RESUME Reanudar el proceso pausado

Contexto y feedback:

Botón Acción
💡 BTW Añadir contexto — el siguiente mensaje se añadirá como contexto a la próxima petición
🛠️ Fix It Repetir la tarea con correcciones automáticas
👍 Feedback positivo — se registra en las métricas
👎 Feedback negativo — crea automáticamente una regla de corrección que se tendrá en cuenta en las próximas peticiones

Navegación:

Botón Acción
🏷️ Skills Mostrar los skills que se usaron para la respuesta
📊 View Log Abrir el log de la sesión en el CRM

Contexto y memoria


Comandos de control del bot

Comando Descripción
/ping Comprobar si el bot está vivo + uptime
/thread Tamaño del contexto actual (número de mensajes)
/quality Métricas de calidad: llamadas, feedback, tiempo medio de respuesta
/issue list Lista de issues abiertos del proyecto
/issue create <título> Crear una nueva tarea
/issue switch <id> Cambiar la tarea activa
/continue Continuar la sesión en el contenedor Cloud
/specs Lista de especificaciones (draft / review / approved)
/approve <id> Aprobar una especificación
/reject <id> [motivo] Rechazar una especificación

Conexión con el CRM Dashboard

Topic de Telegram ──┐
                    ├──► Child Bot ──► Claude ──► Respuesta
CRM Dashboard     ──┘                              │
                                                   ▼
                                          Telegram + CRM (a la vez)

Desconectar el bot

CRM → Project Settings → Channels → Disconnect.

Esto eliminará el token y todas las vinculaciones de topics. El bot permanecerá en el grupo — elimínalo de los administradores manualmente si es necesario.


Solución de problemas

Problema Solución
El bot no responde en un topic Comprueba que el bot sea administrador del grupo. Revisa la vinculación del topic en CRM → Channels. En el chat privado → /ping
Tiempo de respuesta largo Developer (Opus) es más lento que Consultant (Sonnet). Para análisis y preguntas usa Consultant
La respuesta se corta Límite de Telegram de 4096 caracteres — el bot divide automáticamente en [1/3], [2/3], etc.
El bot no aparece al añadirlo al grupo Escribe el username completo con @: @arc_os_project_bot
"Invalid bot token" en la verificación Revisa el token — formato digits:letters, sin espacios
"Bot is not admin" en la verificación Añade el bot vía Administrators → Add Admin → @username_del_bot
"supergroup_id must start with -100" El ID debe ser -1001234567890. Activa los Topics para convertir el grupo en Supergroup
👎 no crea una regla de corrección Pulsa 👎 justo bajo la respuesta del worker, no bajo un mensaje del sistema