Skip to main content
Nivel: Principiante · Etiquetas: IA, WhatsApp, Telegram, Límites Funcionalidades: autoresponder de IA · persona acotada al negocio · triggers de texto y de función · comandos slash · /reset del historial de IA · coste y latencia · simulador de terminal

Requisitos

  • Node.js 22.12 o superior.
  • Una API key de Anthropic en la variable de entorno ANTHROPIC_API_KEY (u otro proveedor de modelos, ver más abajo). Nunca escribas la key en el código.

El bot

Cómo funciona

  • Orden de los handlers. Los comandos, los triggers de bot.when() y los flujos siempre corren antes que la IA. aiPlugin registra un autoresponder catch-all que solo ve los mensajes de texto que nadie más atendió, así que “horario” y “asesor” los responde tu código, no el modelo.
  • La persona es el límite. Nombra un negocio, enumera de qué puede hablar el bot y dice cómo rechazar lo demás. Desde enero de 2026 WhatsApp solo permite IA al servicio de un negocio, nunca como asistente de propósito general (ver Política de IA de WhatsApp).
  • Un límite determinista. Un trigger de función responde él mismo a los mensajes de más de 500 caracteres, así un texto pegado nunca se convierte en una llamada de pago al modelo. Cualquier regla que puedas comprobar en código se añade igual.
  • Coste y latencia. model, maxTokens y context.maxMessages mantienen pequeña cada respuesta. timeoutMs (60 s por defecto) acota cada llamada; si una llamada falla, el bot responde el texto integrado “⚠️ No puedo responder en este momento…” en lugar de caerse.
  • /reset. aiPlugin añade su propio /reset, que borra el historial de IA del chat. Se instala después de slashCommandsPlugin, así que su /reset gana.

Pruébalo

Esta es una ejecución del código de arriba en el simulador de terminal. Las respuestas de la IA vienen de un modelo con guion en el test que ejecuta esta página (packages/ai/tests/docs-examples-ai.test.ts); un modelo real las redacta de otra forma.

Otros proveedores de modelos

Instala el SDK del proveedor y cambia las opciones de aiPlugin; el resto del bot queda igual.OpenAI (npm install openai, key en OPENAI_API_KEY):
Gemini (npm install @google/genai, key en GEMINI_API_KEY):
Ollama en tu máquina (sin paquete ni key; antes ejecuta ollama pull llama3.1):
La lista completa (y los presets compatibles con OpenAI) está en Elegir proveedor.

Ejecutarlo en WhatsApp o Telegram

node bot.js muestra un código QR: escanéalo con WhatsApp (Dispositivos vinculados) y escribe a ese número desde otro teléfono. Para Telegram, instala @botmesh/telegram y arranca la fábrica con new TelegramProvider({ token: process.env.TELEGRAM_TOKEN ?? '' }) (ver O conectar Telegram).

Siguientes pasos