UNPKG

@smartuy/builderbot-provider-waha

Version:

WAHA (WhatsApp HTTP API) provider for BuilderBot desarrollado por SmartUY

148 lines (106 loc) 4.1 kB
# @smartuy/builderbot-provider-waha ## Versión 1.2.7 ### Desarrollado por SmartUY Este paquete fue creado y es mantenido por [SmartUY](https://smartuy.com), empresa líder en soluciones tecnológicas. Desarrollado por Juan Pablo (BigJuanPa) de SmartUY. ### Nuevas características - Manejo mejorado de eventos de sesión y mensajes - Soporte para estados de conexión - Mejor manejo de errores y logging - Integración completa con BuilderBot - Validación de emails y entradas con fallBack() - Configuración segura con variables de entorno ### Instalación Para un nuevo proyecto: ``` npx @smartuy/builderbot-provider-waha init mi-bot ``` Para un proyecto existente: ``` npm install @smartuy/builderbot-provider-waha@latest ``` **IMPORTANTE**: Después de instalar, ejecuta `npm install` para instalar todas las dependencias necesarias. ## Configuración Crea un archivo `.env` con las siguientes variables: ``` WAHA_API_URL=https://tu-servidor-waha.com WAHA_API_KEY=tu-api-key WAHA_SESSION=default ``` ## Uso ### Flujo simple ```typescript import { createBot, createFlow, MemoryDB, addKeyword } from '@builderbot/bot'; import { WahaProvider } from '@smartuy/builderbot-provider-waha'; import express from 'express'; import dotenv from 'dotenv'; // Cargar variables de entorno dotenv.config(); // Crear app Express para webhook const app = express(); app.use(express.json()); // Definir un flujo simple const bienvenidaFlow = addKeyword(['hola', 'buenas', 'saludos']) .addAnswer('¡Hola! Bienvenido al bot de SmartUY. ¿En qué podemos ayudarte hoy?'); // Inicializar el bot const main = async () => { // Configurar el provider const wahaConfig = { url: process.env.WAHA_API_URL, token: process.env.WAHA_API_KEY, session: process.env.WAHA_SESSION }; // Crear provider const adapterProvider = new WahaProvider(wahaConfig); // Inicializar webhook adapterProvider.initWebhook(app); // Crear flow const adapterFlow = createFlow([bienvenidaFlow]); // Crear base de datos const adapterDB = new MemoryDB(); // Crear bot const bot = await createBot({ flow: adapterFlow, provider: adapterProvider, database: adapterDB, }); // Iniciar servidor app.listen(3000, () => { console.log('¡Servidor webhook de SmartUY ejecutándose en puerto 3000!'); }); }; main(); ``` ### Verificar estado de conexión El provider verifica automáticamente el estado de la sesión de WhatsApp y la inicia si es necesario. ## Eventos El provider maneja los siguientes eventos: ### 1. Estado de Sesión - Verifica si la sesión está activa - Inicia la sesión automáticamente si está detenida - Maneja errores de conexión ### 2. Mensajes - Recibe mensajes a través del webhook - Procesa y formatea los mensajes para BuilderBot - Emite los mensajes al flujo del bot ## Características - **Webhook integrado**: Recibe mensajes de WhatsApp automáticamente - **Manejo de estado**: Almacena información del usuario entre mensajes - **Validación de entradas**: Utiliza fallBack() para validar emails y otras entradas - **Flujos de conversación**: Implementa flujos de bienvenida, registro y ayuda - **Seguridad**: Usa variables de entorno para datos sensibles - **CLI**: Herramienta para crear proyectos rápidamente ## Migración Si vienes de una versión anterior, asegúrate de: 1. Actualizar a la última versión con `npm install @smartuy/builderbot-provider-waha@latest` 2. Ejecutar `npm install` para actualizar todas las dependencias 3. Usar las nuevas funciones de validación con fallBack() 4. Configurar correctamente las variables de entorno ## Recursos - [Documentación de BuilderBot](https://builderbot.dev) - [API de WAHA](https://github.com/waha-api/waha) - [SmartUY](https://smartuy.com) ## Soporte Para soporte, contacta a SmartUY o abre un issue en el repositorio. Desarrollado con ❤️ por Juan Pablo (BigJuanPa) de SmartUY. ## Licencia MIT