1.2.8 • Published 4 months ago

@smartuy/builderbot-provider-waha v1.2.8

Weekly downloads
-
License
MIT
Repository
github
Last release
4 months ago

@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-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

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

Soporte

Para soporte, contacta a SmartUY o abre un issue en el repositorio. Desarrollado con ❤️ por Juan Pablo (BigJuanPa) de SmartUY.

Licencia

MIT

1.2.8

4 months ago

1.2.7

4 months ago

1.2.6

4 months ago

1.2.5

4 months ago

1.2.4

4 months ago

1.2.3

4 months ago

1.2.2

4 months ago

1.2.1

4 months ago

1.2.0

4 months ago

1.1.10

4 months ago

1.1.9

4 months ago

1.1.8

4 months ago

1.1.7

4 months ago

1.1.6

4 months ago

1.1.5

4 months ago

1.1.4

4 months ago

1.1.3

4 months ago

1.1.2

4 months ago

1.1.1

4 months ago

1.1.0

4 months ago

1.0.0

4 months ago