Cómo crear un bot para WhatsApp con Node.js
Vamos a crear un bot utilizando la librería whatsapp-web.js, lo cual te permitirá interactuar con WhatsApp a través de un cliente de WhatsApp Web automatizado.
Para este proyecto, utilizaremos una librería open source con la que crearemos nuestro bot para WhatsApp. Dicha librería robusta ayudará a manejar gran parte de las funcionalidades del api de WhatsApp, con la excepción del uso de botones y listas.
Anteriormente, estaban liberadas estas funcionalidades, pero Meta los restringe solo para uso comercial, aunque lei en los comentarios de la comunidad que pronto estarían disponibles de vuelta. Con esta librería podemos enviar y recibir mensajes de texto, audios, fotos y videos, incluso ver el historial de chat con los usuarios conectados al bot. Existen otras librerías que también nos conectan a WhatsApp como baileys-bot, que también es buena, pero me pareció mas práctica y sencilla de usar la librería que elegí.
Ahora, ¿para qué sirve un bot?
Un bot para WhatsApp es una aplicación automatizada diseñada para interactuar con los usuarios a través de la plataforma de mensajería WhatsApp. Estos bots pueden desempeñar una variedad de funciones y ofrecer diferentes servicios.
Puede ayudar a automatizar tareas, mejorar la experiencia del cliente, agilizar la comunicación y brindar servicios rápidos y eficientes a través de la popular plataforma de mensajería.
Algunas de las ventajas de tener un bot
- Atención al cliente: Los bots de WhatsApp pueden proporcionar respuestas automáticas y soluciones a consultas comunes de los clientes, lo que ayuda a agilizar y mejorar el servicio de atención al cliente.
- Automatización de tareas: Los bots pueden realizar tareas repetitivas y automatizadas, como enviar recordatorios, confirmaciones de citas, actualizaciones de estado de pedidos, entre otros, sin la intervención humana.
- Información y consultas: Los bots pueden proporcionar información sobre productos, servicios, horarios, ubicaciones o promociones. También pueden responder preguntas específicas de los usuarios, como el estado de un pedido o realizar un tracking.
- Generación de leads y ventas y KPI: Los bots pueden capturar información de los usuarios, como nombres, correos electrónicos o números de teléfono, y enviarla automáticamente a un sistema de gestión de relaciones con los clientes CRM.
- Recopilación de información: Los bots pueden recopilar y organizar datos de manera automática. Pueden extraer información de fuentes en línea, recopilar respuestas de encuestas, realizar análisis y generar informes.
¿Hay una sola forma de hacerlo?
No, existen varias formas de crear bots para WhatsApp. En nuestro caso, utilizamos una librería whatsapp-web.js que nos conecta de forma libre y que no genera costos. Asimismo, WhatsApp tiene sus apis pagas para crear bots con más funcionalidades a través de sdk o utilizando las apis de Meta. Esto requerirá tener una cuenta verificada para utilizar las apis de WhatsApp y crear bots.
También existen empresas que ofrecen servicios de bot que ya incluyen una serie de funcionalidades de WhatsApp bot, más para generar leads de ventas, manejar equipos de vendedores y atención al cliente.
Errores comunes al crear un bot
- Exigir demasiado texto: Siempre que sea posible, el chatbot debe diseñarse de forma que no requiera introducir texto. Los usuarios prefieren pulsar botones sencillos a escribir. Siempre que sea posible, deben utilizarse widgets gráficos en lugar de texto. En el peor de los casos, las opciones numeradas pueden presentarse en el texto que los usuarios pueden elegir, aunque en nuestro ejemplo, la librería que utilizamos no tiene disponible las listas y botones que ofrecen las apis de WhatsApp, ya que solo las versiones pagadas trae estas funcionalidades.
- Pasos innecesarios en el proceso: Una gran experiencia del cliente se basa en la sencillez y la comodidad. El esfuerzo que debe realizar el cliente para llevar a cabo una determinada tarea debe reducirse al mínimo en todos los sentidos, incluido el número de pasos que debe completar. Por ejemplo, si un cliente pide siempre el mismo tipo de café, debe ofrecérsele una opción de pedido rápido de este tipo de café al principio del proceso.
- Sacrificar la flexibilidad por el control: Esta regla general del desarrollo de software es igualmente aplicable a los bots. Permitir al usuario flexibilidad en la forma de interactuar con el bot es importante, incluso si da lugar a más errores de entrada. Mientras el cliente pueda deshacer lo que ha hecho si comete un error, la experiencia del usuario será mucho mejor si es menos rígida y controlada.
Configuraciones y codificaciones del proyecto
1. Configuración inicial
- Asegúrate de tener instalado Node.js en tu sistema.
- Crea un nuevo directorio para tu proyecto y navega hasta él en tu terminal.
- Ejecuta el siguiente comando para inicializar un proyecto de Node.js:
- Instala la librería whatsapp-web.js con el siguiente comando:
- Instala la librería qrcode-terminal mediante el siguiente comando:
2. Código de ejemplo
- Crea un archivo JavaScript (por ejemplo, index.js) en tu directorio de proyecto.
- Abre el archivo index.js en tu editor de código y agrega el siguiente código de ejemplo:
3. Iniciar sesión y ejecutar el bot
- Guarda los cambios en el archivo index.js.
- Ejecuta el siguiente comando en tu terminal para iniciar el bot:
- Se generará un código QR en la terminal. Escanea el código con la aplicación de WhatsApp en tu teléfono para iniciar sesión en tu bot.
- Una vez que el bot esté listo y conectado, responderá automáticamente con ¡Hola! ¿Cómo puedo ayudarte? cuando reciba un mensaje que contenga Hola.
¡Y eso es todo! Ahora has creado un bot básico utilizando la librería whatsapp-web.js. Puedes explorar la documentación de la librería para aprender sobre otras funcionalidades y realizar acciones más avanzadas con tu bot.
- Fuente de la información: https://wwebjs.dev/
- Código fuente del proyecto: https://github.com/faviocabral/wp-bot
Listopro Community da la bienvenida a todas las razas, etnias, nacionalidades, credos, géneros, orientaciones, puntos de vista e ideologías, siempre y cuando promuevan la diversidad, la equidad, la inclusión y el crecimiento profesional de los profesionales en tecnología.