UNPKG

@smartuy/builderbot-provider-waha

Version:

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

96 lines (77 loc) 3.15 kB
import express from 'express'; import { createBot, createFlow, MemoryDB, addKeyword } from '@builderbot/bot'; import { WahaProvider } from '../src/WahaProvider'; import dotenv from 'dotenv'; // Cargar variables de entorno dotenv.config(); // Crear aplicación Express const app = express(); app.use(express.json()); /** * Ejemplo de uso del provider Waha para BuilderBot * Desarrollado por Juan Pablo (BigJuanPa) de SmartUY * * Este ejemplo muestra cómo configurar un bot simple con flujos básicos * utilizando el provider de Waha para WhatsApp. */ // Flujo de bienvenida const bienvenidaFlow = addKeyword(['hola', 'buenas', 'saludos']) .addAnswer('¡Hola! Bienvenido al bot de ejemplo de SmartUY.') .addAnswer('Este provider para Waha fue desarrollado por Juan Pablo (BigJuanPa) de SmartUY.') .addAnswer('Escribe *ayuda* para ver los comandos disponibles.'); // Flujo de ayuda const ayudaFlow = addKeyword(['ayuda', 'help', 'comandos']) .addAnswer('*Comandos disponibles:*') .addAnswer('1. *hola* - Mensaje de bienvenida') .addAnswer('2. *ayuda* - Ver esta lista de comandos') .addAnswer('3. *info* - Información sobre SmartUY') .addAnswer('Desarrollado por Juan Pablo (BigJuanPa) de SmartUY'); // Flujo de información const infoFlow = addKeyword(['info', 'información', 'empresa']) .addAnswer('*Sobre SmartUY*') .addAnswer('SmartUY es una empresa líder en soluciones tecnológicas en Uruguay.') .addAnswer('Nos especializamos en desarrollo de software, inteligencia artificial y automatización de procesos.') .addAnswer('Para más información, visita [smartuy.com](https://smartuy.com)'); // Función principal const main = async () => { try { console.log('Iniciando bot de ejemplo de SmartUY...'); // Configuración de Waha const wahaConfig = { url: process.env.WAHA_API_URL || 'https://tu-servidor-waha.com', token: process.env.WAHA_API_KEY || 'tu-api-key', session: process.env.WAHA_SESSION || 'default' }; console.log('Usando configuración de Waha:', wahaConfig); // Crear provider const adapterProvider = new WahaProvider(wahaConfig); // Inicializar webhook adapterProvider.initWebhook(app); // Crear flows const adapterFlow = createFlow([ bienvenidaFlow, ayudaFlow, infoFlow ]); // Crear base de datos const adapterDB = new MemoryDB(); // Crear bot const bot = await createBot({ flow: adapterFlow, provider: adapterProvider, database: adapterDB, }); console.log('Bot creado exitosamente, ahora listo para recibir mensajes'); // Iniciar servidor const PORT = process.env.PORT || 3000; app.listen(PORT, () => { console.log(`Servidor escuchando en puerto ${PORT}`); console.log(`URL del Webhook: /webhook/waha`); console.log('Bot de ejemplo de SmartUY desarrollado por BigJuanPa'); }); } catch (error) { console.error('Error al inicializar el bot:', error); } }; // Iniciar bot main();