Telegram y WhatsApp
Telegram y WhatsApp
Objetivos
- Emparejar un bot de Telegram con Nod desde la app.
- Vincular WhatsApp por código QR o con Meta Cloud API.
- Usar los comandos del chat.
- Saber qué pasos no se pueden hacer desde un canal.
- Configurar un canal con variables de entorno y registrar un webhook de Telegram.
Una conversación, varios canales
Con Telegram o WhatsApp chateas con el mismo asistente: la misma conversación, memoria y tareas que en la app de Nod. Nod responde en la app desde la que escribiste, y todo aparece también en el chat de la app de Nod.
Con un servidor propio, los canales siguen conectados mientras el servidor está en marcha. Con un asistente local, funcionan mientras Nod está abierto y el equipo despierto.
| Telegram | WhatsApp con código QR | |
|---|---|---|
| Necesitas | Un bot de Telegram, creado con BotFather | Una cuenta de WhatsApp registrada |
| Funciona en un portátil | Sí | Sí |
| Quién puede escribir a Nod | Solo la cuenta de Telegram que emparejas | Tu número personal, o tu propio chat contigo |
| Archivos de Nod | Imágenes, documentos, vídeo y audio | Imágenes, documentos, vídeo y audio |
| Cuándo puede escribir Nod | Mientras Nod corre | Mientras Nod corre y WhatsApp está conectado |
Conectar Telegram
Entra en Channels en la barra lateral y selecciona Connect en Telegram.
sequenceDiagram
actor Tu as Tú
participant Nod
participant BF as BotFather
participant Bot as Tu bot
Tu->>BF: /newbot, nombre y username terminado en bot
BF-->>Tu: Token del bot
Tu->>Nod: Pega el token y Connect bot
Nod-->>Tu: Código de emparejamiento, válido 15 minutos
Tu->>Bot: Start
Bot-->>Nod: Cuenta que pulsó Start
Tu->>Nod: Revisa nombre y username, Connect account
Nod-->>Tu: Solo esa cuenta puede escribir a Nod
- En Create a bot, escanea el código o selecciona Open Telegram para abrir BotFather. Envía
/newbot, elige un nombre y después un username que termine enbot, por ejemplomy_nod_bot. - Selecciona I have my token. Pega la respuesta de BotFather, o solo el token, en Bot token y selecciona Connect bot.
- En Link your account, escanea el código nuevo o selecciona Open Telegram, y después Start en el chat del bot. El código sirve durante 15 minutos. Si Start no conecta, selecciona Copy pairing command y pégalo en el chat del bot.
- En Confirm account, revisa tu nombre y username y selecciona Connect account.
- Abre Manage Telegram. En Chat from Telegram, selecciona Open on this computer o Scan on phone para abrir el chat del bot.
Detalles:
- Si el enlace no funciona, selecciona Enter your user ID instead y escribe el ID que te envía @userinfobot.
- Esta configuración funciona sin URL pública. Si tu bot ya usa un webhook, elimínalo antes de conectar aquí.
- Para desconectar, selecciona Disconnect Telegram.
Conectar WhatsApp por código QR
La conexión por QR usa Baileys, un cliente no oficial. No necesita cuenta de desarrollador de Meta, token de API ni URL pública. La documentación avisa de un riesgo pequeño de restricciones sobre la cuenta y de que una actualización de WhatsApp puede romper la conexión durante un tiempo, y pide revisar los términos de WhatsApp antes de conectarlo.
- Elige Separate bot number o Use my own number.
- Si eliges un número de bot, registra un segundo número en WhatsApp o en WhatsApp Business. Escribe en Nod tu número personal, con código de país y sin
+ni espacios. Solo tu número personal puede iniciar trabajo. - Lee el riesgo de la cuenta y los términos, y selecciona Show QR code.
- En el teléfono de la cuenta que vas a vincular, abre Settings → Linked Devices → Link a Device y escanea el código de Nod. El código caduca en 1 minuto y la configuración en 5 minutos.
- Con un número de bot, escribe al número vinculado desde tu WhatsApp personal. Con tu propio número, abre Message yourself y escribe allí.
| Modo | Dónde escribes | Observación |
|---|---|---|
| Separate bot number | Al número del bot, desde tu WhatsApp personal | Mantiene tus chats propios separados |
| Use my own number | En el chat contigo, Message yourself | Nod ignora sus propias respuestas |
Nod ignora grupos, estados, otros remitentes e historial. Tus otros chats quedan fuera de la conversación de Nod.
Si la configuración no avanza, selecciona Start again. Para borrar las credenciales del dispositivo, selecciona Disconnect, o quita Nod desde Linked Devices en tu teléfono.
WhatsApp con Meta Cloud API
En el panel de configuración, selecciona Use Meta Cloud API instead. Necesitas una app de Meta con WhatsApp, un número emisor de negocio y un callback HTTPS público.
Campos del panel: el ID del número de teléfono de negocio, tu número personal, el token de acceso de negocio, el secreto de la app de Meta y un token de verificación del webhook. Después se usa el mismo callback y el mismo token en Meta y se activa la suscripción a messages.
| Aspecto | Cloud API |
|---|---|
| Dirección pública | Obligatoria. Un servidor propio con HTTPS público, o un proxy que exponga solo /api/webhooks/whatsapp |
| Ventana de respuesta | Solo dentro de las 24 horas desde tu último mensaje |
| Archivos y voz | Acepta solo texto. Para archivos y voz se usa la conexión por QR |
| Documentos y exportaciones | Hay que abrir Nod para obtenerlos |
Comandos del chat
| Envía | Para obtener |
|---|---|
/usage | El gasto del mes y las acciones en apps, con un PDF de extracto |
/memory (o /context) | Un resumen de lo que Nod recuerda, con la exportación completa |
/tasks | La lista de tareas abiertas, con un mensaje por tarea |
/status, respondiendo a un mensaje de tarea | Objetivo, pasos y estado de esa tarea |
/stop, respondiendo a un mensaje de tarea | Detiene solo esa tarea |
/stop, sin responder a nada | Detiene todo el trabajo activo y cierra las tareas abiertas |
Telegram y la conexión por QR reciben el PDF y la exportación como documentos. El resumen de /memory lo escribe tu modelo seleccionado, así que esa llamada cuenta como uso.
Señales mientras Nod trabaja
- Aparece typing… mientras Nod trabaja en algo que pediste en ese chat.
- En Telegram, si el primer mensaje de la tarea es un texto corto, Nod añade una sección de progreso citada que se actualiza en su sitio y se quita al terminar.
- Un mensaje que escribes mientras Nod trabaja recibe una reacción de ojos hasta que Nod lo lee: indica que está en cola.
- Tus reacciones a un mensaje de Nod se toman como feedback. Una reacción nunca responde una pregunta ni aprueba una acción.
Formato
Las respuestas conservan negrita, listas, enlaces, citas y código. Una tabla llega como una lista corta etiquetada por fila, y una respuesta larga llega en varios mensajes.
Archivos y voz
| Límite | Valor |
|---|---|
| Archivo que envía Nod | Hasta 50 MB cada uno |
| Archivo entrante en Telegram | 20 MB |
| Mensaje de voz en Telegram | 25 MB |
| Entrada compartida | 10 archivos y 50 MB |
| Mensajes de archivo que Nod prepara a la vez | 4 |
| Texto del pie y transcripción juntos | 100.000 caracteres |
Las imágenes PNG, JPEG y WebP llegan directamente al modelo si las admite. Un archivo o una nota de voz no aprueban una acción: para aprobar, usa texto.
Voz entrante. Nod reutiliza una cuenta conectada de OpenAI, OpenRouter o ElevenLabs, o las voces locales descargadas. Una suscripción de ChatGPT o Claude sola no incluye voz en la nube. Sin voz configurada, Nod te pide que envíes texto.
Voz saliente. Pide una respuesta de voz para recibir una nota de voz nativa. La voz se elige en Settings → Voice & audio. Las respuestas de voz se detienen al llegar al límite mensual de gasto; transcribir tu propio mensaje de voz no se detiene, así que puedes pedir por voz que se cambie el límite.
Pasos privados fuera del chat
flowchart TD
C["Estás en Telegram o WhatsApp"] --> Q{"¿Qué necesita Nod?"}
Q -- "Contraseña o login guardado" --> A["Abre Nod<br/>formulario privado Sign in"]
Q -- "Aprobar un pago" --> B["Abre Nod<br/>formulario Approve payment"]
Q -- "Conectar una app" --> D["Abre Nod<br/>botón de conexión en el chat"]
Q -- "Tomar el navegador" --> E["Abre Nod<br/>panel Browser"]
Q -- "Código de un solo uso" --> F["Puedes responder en el chat<br/>con el código solo"]
A --> R["La tarea sigue y responde<br/>en el chat original"]
B --> R
D --> R
E --> R
F --> R
- Las contraseñas, los logins guardados, los inicios de sesión en apps y las aprobaciones de pago nunca pasan por la app de chat.
- Un código de inicio de sesión de un solo uso sí se puede responder en el chat donde Nod lo pidió. Nod lo usa solo para ese inicio de sesión y no lo guarda en el historial.
- Los códigos de seguridad de tarjeta solo funcionan en la app de Nod.
Configurar un canal con variables de entorno
En una instalación desde código o en un servidor propio, los canales también se pueden definir en .env con las variables TELEGRAM_* y WHATSAPP_* del capítulo 7.
- Cualquier valor no vacío convierte ese canal en gestionado por el servidor. La página Channels no puede editarlo ni quitarlo, y el emparejamiento de Telegram deja de estar disponible.
- Para volver a configurarlo desde la app, borra todas las variables de ese canal y aplica la configuración de nuevo.
Configuración mínima de Telegram, que usa polling:
TELEGRAM_BOT_TOKEN=<token-de-botfather>
TELEGRAM_ALLOWED_USER_ID=<tu-id-de-usuario>
Webhook de Telegram
-
Define el modo y el secreto, y aplica la configuración:
TELEGRAM_MODE=webhook TELEGRAM_WEBHOOK_SECRET_TOKEN=<secreto-de-16-a-256-caracteres> -
Registra el webhook con el método
setWebhookde Telegram y estos campos:Campo Valor urlTu origen HTTPS público seguido de /api/webhooks/telegramsecret_tokenEl mismo valor que TELEGRAM_WEBHOOK_SECRET_TOKENallowed_updates["message", "message_reaction"]drop_pending_updatesfalse
Nod no registra el webhook por ti. Para comprobar la URL guardada y los errores de entrega se usa getWebhookInfo. Hay que registrarlo de nuevo tras cambiar la URL pública o el secreto.
Para volver a polling, elimina el webhook con deleteWebhook manteniendo drop_pending_updates=false, define TELEGRAM_MODE=polling y aplica la configuración. Telegram no permite polling mientras hay un webhook registrado.
Conexión y entrega
- Las claves del dispositivo de WhatsApp se guardan cifradas en la base de datos del servidor. No entran en el modelo, el sandbox, la analítica ni el chat.
- Tras un reinicio o una pérdida de red, Nod reconecta con el enlace guardado.
- Un envío con resultado incierto no se repite automáticamente, para evitar duplicados. Si una respuesta no llega, revisa Nod.
Actividad
- Crea un bot con BotFather y empareja tu cuenta desde Channels.
- Envía desde Telegram: “Did the supplier reply yet?” y comprueba que el mensaje aparece también en la app.
- Prueba
/tasksy/usage. - Inicia una tarea que requiera un login y observa cómo Nod te pide abrir la app.
- Si usas WhatsApp, decide entre número de bot y número propio antes de mostrar el QR.
Autoevaluación
1. ¿Quién puede escribir a Nod por Telegram?
Solo la cuenta de Telegram que emparejaste y confirmaste en Confirm account.
2. ¿Necesita la conexión de WhatsApp por QR una URL pública?
No. Usa una conexión saliente. La Cloud API de Meta sí necesita un callback HTTPS público.
3. ¿Qué limitaciones tiene WhatsApp Cloud API frente al QR?
Responde solo dentro de las 24 horas desde tu último mensaje, acepta solo texto y los documentos hay que obtenerlos abriendo Nod.
4. ¿Se puede aprobar un pago desde Telegram?
No. Nod pide abrir la misma conversación en la app web o de escritorio, donde espera el formulario Approve payment.
5. ¿Qué hace /stop sin responder a ningún mensaje?
Detiene todo el trabajo activo y cierra las tareas abiertas.
6. ¿Qué pasa al definir TELEGRAM_BOT_TOKEN en .env?
Telegram pasa a estar gestionado por el servidor: la página Channels no puede editarlo ni quitarlo.
Lista de control
- Mi bot de Telegram está emparejado con mi cuenta.
- Sé qué modo de WhatsApp uso y sus límites.
- Conozco los comandos
/tasks,/status,/stop,/usagey/memory. - Sé que logins, pagos y conexiones de apps se terminan en la app de Nod.
- Si uso webhook, lo registré con
setWebhooky el secreto correcto.
Anterior: Aprobaciones, reglas y memoria · Siguiente: Gasto, operación y problemas