Enviar mensajes de WhatsApp con Python

Publicado el 07 marzo 2022 por Daniel Rodríguez @analyticslane

Poder enviar una notificación cuando finaliza una tarea pesada, por ejemplo, una simulación de Montecarlo, es clave para mejorar la productividad. Así el usuario puede analizar los resultados a la finalización del proceso. Para lo que se pueden usar notificaciones o sonidos. Pero, en los casos en los que el usuario no tiene porque estar trabajando en el ordenador puede ser más eficaz enviar un mensaje instantáneo, algo que por ejemplo se puede hacer con WhatsApp. Veamos a continuación cómo se pueden enviar mensajes de WhatsApp con Python gracias a la librería pywhatkit.

Instalación

Como siempre, antes de poder usar una librería de Python, es necesario instalarla en nuestro sistema. Al igual que la mayoría de las veces la forma más sencilla de hacer esto es mediante el comando pip, para lo que solamente se debe ejecutar el siguiente comando en una terminal.

pip install pywhatkit

Requisitos para el uso de pywhatkit

Además de la instalación de pywhatkit es necesario haber iniciado sesión en la versión de web de WhatsApp, debido a que el programa enviará el mensaje a través de esta. Por lo que será necesario que el teléfono asociado se mantenga en la misma red que el ordenador. Algo que en algunos casos puede ser una limitación de cara a usar el programa.

Enviar mensajes a un número

Posiblemente el uso más habitual de pywhatkit es enviar un mensaje a un número de teléfono. Para lo que se puede usar la función sendwhatmsg(), una función que necesita el número de teléfono, incluyendo el código internacional, el mensaje a enviar y la hora a la que este se enviará. Por ejemplo, para enviar el mensaje hola a 12:00 se debería usar la siguiente línea de código

import pywhatkit

pywhatkit.sendwhatmsg("+34XXXXXXXXX", "Hola", 12, 00)

Una vez ejecutada esta función a las 12:00 el programa abrirá la aplicación web de WhatsApp y enviará el mensaje al número indicado.

En el caso de que se desee enviar el mensaje de forma inmediata es necesario usar la función sendwhatmsg_instantly(). Una función que solamente tiene dos parámetros obligatorios, el número de teléfono del contacto, con el código internacional, y el mensaje a enviar.

pywhatkit.sendwhatmsg_instantly("+34XXXXXXXXX", "Hola")

Otra opción que puede ser de interés es el envío de imágenes, por ejemplo, una gráfica que se ha obtenido en el proceso. Para lo que existe la función sendwhats_image(). Función que necesita dos parámetros para funcionar: el número del contacto o de un grupo y la ruta a la imagen. Opcionalmente, el tercer parámetro de la función puede recibir el mensaje para adjuntar con la imagen.

En este caso la imagen se enviará de forma inmediata, si se desea esperar se puede indicar el tiempo con un cuarto parámetro.

Enviar mensajes a un grupo

Otra opción que tenemos disponible es la de enviar un mensaje de WhatsApp con Python a un grupo. Procedimiento que es similar al envío de mensajes a contactos simplemente reemplazando la función sendwhatmsg() por sendwhatmsg_to_group() e indicando el nombre del grupo como primer parámetros de la función. Pero si se desea enviar el mensaje de forma instantánea será necesario reemplazar la función sendwhatmsg_instantly() por sendwhatmsg_to_group_instantly()

Conclusiones

Hoy se ha visto como se puede automatizar el envío de mensajes de WhatsApp con Python gracias al uso de la librería pywahtkit. Aunque el uso de la librería es limitado, requiere tener iniciada una sesión de WhatsApp en el navegador con sus limitaciones, puede ser una buena opción para notificarnos a nosotros mismos o a nuestro grupo de trabajo cuando finaliza una tarea.

Imagen de Thomas Ulrich en Pixabay