


Un bot de NodeJS simple para WhatsApp Web
Vista previa • Características • Descargas • ¿Cómo hacerlo? • Tecnologías utilizadas • ¿Por qué? • Objetivos • Implementar • Preguntas frecuentes

| macosa | Windows | Linux |
|---|---|---|
| Descargar el último lanzamiento | Descargar el último lanzamiento | Descargar el último lanzamiento |
Las siguientes plataformas son compatibles con WBOT:
MacOS: La versión mínima compatible es MacOS 10.9.
Windows: Windows 7 y más tarde son compatibles.
Linux:
Después de descargar, extraiga el archivo ZIP y abra el archivo Bot.json y en la tercera línea cambie el valor de "sin cabeza" de verdadero a falso. Ahora, navegue a la ubicación de la carpeta WBOT en su terminal. Habrá un archivo llamado wbot-* . Ejecute y deberías estar listo para ir.
Para Linux, debe proporcionar permiso ejecutable antes de ejecutar el binario. Ejecute el comando -
chmod +x wbot-linux && wbot-linux
Nota: En Linux necesita un servidor de pantalla en ejecución (X11 o Wayland). Si ejecuta Linux en un servidor sin cabeza o desea ejecutar Chmomium sin visible, pruebe xvfb-run wbot-linux .
No he probado los binarios de Mac y Linux. Si encuentra algún problema para usarlos, no dude en plantear uno desde aquí
La configuración básica está en el archivo bot.json como responder a Hi, hello and happy birthday . Puede cambiar este archivo de configuración según su necesidad. Tenga en cuenta que necesita reiniciar el WBOT para ver los efectos de sus cambios. Asegúrese de que el JSON sea válido. Use VScode o JSONLint para validar el JSON.
appConfig
Aquí es donde permanecerá toda la configuración relacionada con la aplicación (comportamiento de la aplicación de nodo y tales cosas). Agregará más en el futuro.
Sin cabeza: si comenzar a Chrome como sin cabeza o no. Esto se trata de #4. Aparentemente, WhatsApp no permite instancias sin cabeza.
IsGroupry: si enviar respuestas en grupo o no. Si se establece en falso, Bot no responderá si el mensaje recibido en el chat grupal.
Webhook: una URL que se solicitará para cada mensaje con datos de carga útil. Esto puede ser útil si desea realizar otra operación sobre mensajes en su servidor. Por ejemplo: el código del servidor eche un vistazo aquí
downloadMedia: si se debe descargar medios de mensajes entrantes o no.
ResponderUnreadmsg: Si hay mensajes pendientes no leídos a los que Bot no ha respondido entonces haciendo que este indicador sea verdadero, Bot responderá a esos mensajes. Tenga en cuenta que Bot no podrá marcar esos mensajes como leídos/vistos. Abra el chat manualmente en el teléfono para marcar ese chat como leído de otra manera, lo contrario, Bot lo responderá en cada inicio.
CustomInjectionFolder Ruta relativa de la carpeta desde el directorio actual que tiene un archivo JS que debe inyectarse en el navegador. Por ejemplo, si tienes algo como seguir
└── WBOT /
├── bot.json
├── github-two.png
├── github.png
├── wbot-win.exe
└── injection/
├── index.js
└── utils.js
entonces debe establecer el valor de esta propiedad como ./injection
bot
Una matriz de objetos. Las propiedades del objeto se explican por sí mismos.
Contiene: si el mensaje tiene una de esa palabra en cualquier parte del mensaje
Exacto: si el mensaje es exactamente como uno de los mensajes de la matriz de formulario
Respuesta: Si alguna de las condiciones anteriores se hace verdadera, entonces la cadena de respuesta correspondiente o Spintax se enviará como mensaje al usuario o grupo. Hay dos variables: name y phoneNumber que puede usar para crear un mensaje personalizado para el remitente. El mensaje de muestra con variable está en bot.json .
Archivo: Nombre del archivo (del directorio actual) que desea enviar junto con la respuesta.
Afterseconds: Número de segundos Bot debe esperar antes de enviar una respuesta.
Webhook: también puede llamar a su webhook en ciertas palabras clave en lugar de llamarlo en cada mensaje.
ResponseCaption: esto se aplicará en caso de que desee responder con la imagen. Si es verdadero, entonces el bloque de respuesta se enviará como un subtítulo de la imagen. Si False, entonces el bloque de respuesta se compartirá como mensaje de texto separado.
Obstruido
Mango de números con código del condado al que este bot no responderá.
Permitido
Si no está vacío, solo se responderán los mensajes de los números en esta lista.
nomattar
Mensaje de respuesta predeterminado o spintax cuando no se encuentra ninguna coincidencia exacta en WBOT
Smartreply (esta característica está bajo mantenimiento en este momento).
Un objeto que contiene sugerencias y sus configuraciones.
Así es como eso se ve

Esto solo se recomienda para usuarios avanzados de 'Node.js' o para fines de desarrollo.
Abra un terminal y cree un nuevo directorio en su directorio de inicio, por ejemplo, 'nodo' y gote allí. Ahora descargue y ejecute el último código de GitHub por:
git clone https://github.com/vasani-arpit/WBOT.git
cd WBOT
npm install
node src/index.js
Si ejecuta Linux en un servidor sin cabeza o desea ejecutar Chromium sin pantalla visible, pruebe xvfb-run wbot-linux .
A veces, cerrar el servidor node directamente no borra el caché del navegador. La próxima vez que se inicie el bot, se ejecuta en errores debido a los cuales la respuesta inteligente no está configurada correctamente. Una solución temporal para esto es borrar el caché node .
npm cache clean
La razón principal por la que decidí construir esto es que necesitaba una herramienta simple para responder a mis mensajes de "feliz cumpleaños". Sé que es un poco contundente y grosero, pero me tomaría 2-3 días responder a todos y para ese momento ese momento se habría ido. Necesitaba una buena solución a este problema. Realmente no necesito un bot o bot de IA completo con NLU (o algún otro acrónimo). Creo que hay muchas personas que también tienen esas necesidades.
Con eso en mente, sé que WBOT necesitaría satisfacer estos criterios:
Si crees que WBOT los entrega, avísame poniendo una estrella en este proyecto
Si desea ejecutar WBOT 24x7, entonces ejecutar su computadora en 24x7 no es una buena idea. Puede alojarlo en Linux Cloud. Puedes usar algo como el océano digital. Las instrucciones sobre cómo hacerlo son avalibles en el enlace de imagen a continuación.
¿Está esta aplicación construida con NodeJS?
Sí, está construido con NodeJs. Consulte la sección Tecnologías para obtener más información.
¿Qué calderla usaste?
Ninguno. La idea era comprender mejor cómo funcionan las cosas juntas, pero tomo un ejemplo de otros proyectos.
¿Qué módulos NPM usaste?
Aparte del desarrollo, ¿qué más haces?
Hago diseño de movimiento y desarrollo de UI/UX.
¿Estás disponible para alquiler?
Tengo un trabajo de tiempo completo como desarrollador de software en Technobrains.net y en MindtechConsultancy.com. Estoy disponible como consultor independiente durante mi tiempo libre, por favor avíseme lo que tiene en mente.
¿Cómo te contacto?
Si encuentra un problema, infórmelo aquí. Para todo lo demás, por favor envíeme una línea en [email protected]
¿Tienes otros proyectos?
Pensé que nunca preguntarías. Sí. SMA es uno de ellos.
Este código no está afiliado de ninguna manera, autorizado, mantenido, patrocinado o respaldado por WhatsApp o cualquiera de sus afiliadas o subsidiarias. Este es un software independiente y no oficial. Use bajo su propio riesgo. El uso comercial de este código/repo está estrictamente prohibido.


