@smartuy/builderbot-provider-waha
v1.2.8
Published
WAHA (WhatsApp HTTP API) provider for BuilderBot desarrollado por SmartUY
Maintainers
Readme
@smartuy/builderbot-provider-waha
Versión 1.2.7
Desarrollado por SmartUY
Este paquete fue creado y es mantenido por SmartUY, 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-botPara un proyecto existente:
npm install @smartuy/builderbot-provider-waha@latestIMPORTANTE: 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=defaultUso
Flujo simple
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:
- Actualizar a la última versión con
npm install @smartuy/builderbot-provider-waha@latest - Ejecutar
npm installpara actualizar todas las dependencias - Usar las nuevas funciones de validación con fallBack()
- Configurar correctamente las variables de entorno
Recursos
Soporte
Para soporte, contacta a SmartUY o abre un issue en el repositorio. Desarrollado con ❤️ por Juan Pablo (BigJuanPa) de SmartUY.
Licencia
MIT
