UNPKG

@smartuy/builderbot-provider-waha

Version:

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

93 lines (92 loc) 4.26 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const express_1 = __importDefault(require("express")); const bot_1 = require("@builderbot/bot"); const WahaProvider_1 = require("../src/WahaProvider"); const dotenv_1 = __importDefault(require("dotenv")); // Cargar variables de entorno dotenv_1.default.config(); // Crear aplicación Express const app = (0, express_1.default)(); app.use(express_1.default.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 = (0, bot_1.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 = (0, bot_1.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 = (0, bot_1.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 = () => __awaiter(void 0, void 0, void 0, function* () { 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_1.WahaProvider(wahaConfig); // Inicializar webhook adapterProvider.initWebhook(app); // Crear flows const adapterFlow = (0, bot_1.createFlow)([ bienvenidaFlow, ayudaFlow, infoFlow ]); // Crear base de datos const adapterDB = new bot_1.MemoryDB(); // Crear bot const bot = yield (0, bot_1.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();