Un bot de WhatsApp de alto rendimiento con panel de control web admin, métricas en vivo, distintos modos de respuesta y soporte para MongoDB.
- ⚡ Ultra Rápido (Baileys): Utiliza la librería
@whiskeysockets/baileyspara una conexión super rápida y directa mediante WebSockets. - 🌐 Panel de Control Web: Servidor web integrado (con Express.js) para controlar el bot remotamente, visualizar códigos QR de conexión, leer logs y métricas, y editar configuración de grupos.
- 🎛️ Diferentes Modos de Operación:
- 👀 Modo Watch: Solo observa y registra mensajes de grupos (silencioso).
- ⚡ Modo Flash: Responde a todos los mensajes de forma ultra-rápida (fire-and-forget).
- 🧠 Modo Normal: Filtra por palabras clave específicas, responde de acuerdo a configuraciones de grupo y registra métricas detalladas.
- 🗄️ Persistencia con MongoDB: Registro histórico, métricas de actividad (conteo de órdenes y grupos), y guardado persistente de la configuración de los grupos atendidos.
- ⏱️ Auto-Eliminación (Mensajes Efímeros): Opción para que las respuestas enviadas por el bot desaparezcan tras una duración configurable.
- 🔐 Grupos Independientes: Permite lock de grupos con límites de envíos predefinidos.
git clone https://github.com/TuUsuario/bot_whatsap_yo.git
cd bot_whatsap_yonpm installCrea un archivo llamado .env en la raíz del proyecto (puedes basarte en .env.example) y configura tu conexión de Base de Datos y el puerto:
# Ejemplo del .env
PORT=4310
MONGODB_URI=mongodb://localhost:27017/mi_bot_whatsappnpm start- Una vez ejecutado, abre la consola o dirígete al Panel de Control Web (
http://localhost:4310). - Ve a tu aplicación de WhatsApp en tu teléfono -> Dispositivos Vinculados -> Vincular Dispositivo.
- Escanea el código QR que se muestra para conectar el bot.
- Node.js: Entorno de ejecución en el servidor.
- Express.js: Framework para servir el panel administrativo web y gestionar rutas HTTP y APIs.
- @whiskeysockets/baileys: Librería esencial para manipular la conexión con la app web de WhatsApp.
- MongoDB & Mongoose: Base de datos para guardar todo el estado y registros.
- qrcode-terminal & qrcode: Renderización de códigos QR para el login (vía consola o web).
- ws: Manejo de WebSockets.
server.js: Punto de entrada del servidor. Conecta DB, inicia web server y carga rutas.src/bot/: Cúmulo del core del chatbot.connection.js: Gestión y ciclo de vida de la sesión de WhatsApp/Baileys.modes.js: Lógica de comportamiento, respuesta e intercepción según los modos.filters.js: Lógicas de filtrado de palabras clave.
src/routes/: Rutas de la API (panel web - backend).public/: Interfaz Front-End (Dashboard, panel.html,.css, y.js).
Este proyecto está bajo la licencia ISC.