@smartuy/builderbot-provider-waha
Version:
WAHA (WhatsApp HTTP API) provider for BuilderBot desarrollado por SmartUY
96 lines (77 loc) • 3.15 kB
text/typescript
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();