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.
Tabla de contenidos
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.
Enviar el mensaje de forma inmediata a un contacto
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")
Enviar una imagen a un contacto
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
Ovidio Carlos Molina Chapa dice
Hola!
Gracias por el artículo Daniel.
Hice unas pruebas y solo logro que
en mi computador inicie whatsapp, abra el
chat del contacto y ponga el texto del mensaje
pero debo dar enter en la app de whatsapp en
la pc.
Que instrucción me falta …?
Gracias.
Daniel Rodríguez dice
Parece que deben haber introducido algún cambio en la aplicación de WhatsApp ya que ha dejado de funcionar hace unos días. Esperemos que el problema se pueda solucionar con una actualización de la librería.
CECILIA dice
hola!! pudo solucionar el presionar enter?
Daniel Rodríguez dice
A mí me sigue sin funcionar. No sé si será una limitación en el cliente de WhatsApp.
Erick dice
Buen dia.
Esto pasa cuando esta conectado otro monitor.
Una duda para enviar un archivo como se lograria hacer?
Daniel Rodríguez dice
Por lo que sé la librería solamente tiene una función para enviar mensajes, no hay función para enviar archivos como tal.
Plutarco Pérez dice
Excelente librería!!
Me funcionó sin problemas!!
andres dice
¿es posible que del comando pywhatkit.sendwhatmsg(“+34XXXXXXXXX”, “Hola”, 12, 00) el numero (“+34XXXXXXXXX”) sea tomado de un archivo CSV o excel, al igual que algunos elementos del texto?
Daniel Rodríguez dice
La función no, pero para solucionar el problema simplemente usar un bucle para llamar a la función con todos los números necesarios
Gustavo Romero dice
Gracias por el aporte, Aca les dejo unas lineas que envia el mensaje y cierra la app de whatsapp, porque sino la deja abierta y no termina de enviar el mensaje:
import pywhatkit
mensaje = pywhatkit.sendwhatmsg_instantly(“+54911xxxxxx”, “Hola mundo”, tab_close = True, close_time = 1)
Sarabande dice
Que bueno
posicionamiento web dice
Me gusta las formas y comentarios. Son top 10.