Enviar mensajes automáticos en WhatsApp con Python (PyWhatKit)

- Requisitos previos
- Instalación de Python en Windows
- Instalación de Python en Mac
- Prepara WhatsApp Web
- Instalar PyWhatKit
- Enviar mensajes con PyWhatKit en Python
- Variantes útiles de PyWhatKit
- Buenas prácticas y solución de problemas
- Consideraciones legales y alternativas oficiales
- Ejemplo de flujo completo
- Lecturas recomendadas
WhatsApp es uno de los canales de mensajería más usados del mundo para conversaciones personales y también para avisos de negocio: recordatorios, notificaciones de pedidos, confirmaciones de citas, etc. En muchos casos conviene automatizar el envío para ahorrar tiempo y reducir errores. En esta guía aprenderás, paso a paso, cómo enviar mensajes automáticos de WhatsApp desde Python con la biblioteca PyWhatKit, además de buenas prácticas para programarlos, resolver errores comunes y hacerlo de forma responsable.
El objetivo es que, al terminar, puedas programar un mensaje para una hora y minuto concretos sin intervención manual, usando tu navegador y WhatsApp Web. También verás cuándo te conviene dar el salto a la API oficial de WhatsApp Business si necesitas escalabilidad o cumplimiento estricto de políticas.
Requisitos previos
- Una cuenta de WhatsApp activa en tu teléfono, con sesión iniciada en WhatsApp Web.
- Python 3 instalado en tu equipo (Windows, macOS o Linux).
- Navegador Google Chrome, Edge o similar (PyWhatKit automatiza el navegador).
- Biblioteca
pywhatkitinstalada víapip.
Instalación de Python en Windows
Instala la última versión de Python 3. Si ya tienes 3.4 o superior, puedes continuar; no obstante, se recomienda la versión estable más reciente para evitar incompatibilidades.
Descargar Python: ve a la página oficial de descargas de Windows y elige el instalador acorde a tu arquitectura.
- Descargar Python para Windows (elige Windows x86-64 executable installer si tu sistema es de 64 bits; para 32 bits usa Windows x86 executable installer).

Tras instalar, abre la consola (cmd) para verificar:
python --version

Instalación de Python en Mac
En macOS también puedes instalar la versión oficial de Python. Si tu sistema bloquea instaladores de terceros, primero permite apps de “desarrolladores identificados”.
Descargar Python: entra a la página oficial y descarga el instalador para tu versión de macOS.
https://www.python.org/downloads/release/python-361/ (usa la versión estable más reciente; este enlace es de referencia).

Prepara WhatsApp Web
Para que la automatización funcione, es imprescindible tener sesión iniciada en WhatsApp Web en el navegador por defecto. Abre web.whatsapp.com y escanea el código QR desde el teléfono.

Instalar PyWhatKit
Instala la biblioteca con pip (en Windows puede ser py en lugar de python):
pip install pywhatkitEsta librería abre el navegador, navega a WhatsApp Web y rellena el chat indicado a la hora programada. Recuerda que el equipo debe estar encendido, con Internet y la sesión de WhatsApp Web activa en ese momento.
Enviar mensajes con PyWhatKit en Python
La función básica para enviar mensajes programados es:
pywhatkit.sendmsg("número de móvil del receptor", "mensaje", horas, minutos)Parámetros:
- Número de móvil del receptor: cadena con código de país. Ejemplo España:
"+34 612345678". - Mensaje: texto a enviar, como
"¡Hola, este es un mensaje automatizado!". - Horas: formato 24 h (ej.
15para 3 p. m.). - Minutos: 0–59 (ej.
30para 3:30 p. m.).
Ejemplo mínimo:
import pywhatkit
pywhatkit.sendmsg("+34 612345678", "¡Buenos días! Este es un mensaje automatizado.", 10, 15)Consejo: programa con unos minutos de margen respecto a la hora actual para que el navegador pueda abrir correctamente la sesión antes del envío.
Ejemplo robusto con manejo de errores y cierre automático
Este ejemplo añade try/except, un pequeño delay para evitar falsos negativos y cierra la pestaña tras el envío:
import time
import pywhatkit
phone = "+52XXXXXXXXXX"
message = "Mensaje de prueba automatizado"
hour = 15
minute = 34
try:
# Enviar (PyWhatKit abrirá el navegador por defecto)
pywhatkit.sendmsg(phone, message, hour, minute)
# Espera breve para permitir el envío y cierre
time.sleep(10)
# Cerrar pestaña (si procede)
pywhatkit.close_tab()
print("Mensaje enviado correctamente")
except Exception as e:
print(f"Ocurrió un error: {e}")
Variantes útiles de PyWhatKit
sendwhatmsg_instantly("<número>", "<mensaje>"): intenta enviar “al instante” (abre navegador y envía en segundos). Útil para pruebas.sendwhatmsg_to_group("<id_grupo>", "<mensaje>", h, m): para grupos (necesitas el ID del grupo).sendwhats_image("<número>", "<ruta_imagen>", "<caption>"): envía una imagen con pie de foto.
Nota: algunas funciones pueden variar entre versiones; revisa la documentación en PyPI o GitHub para confirmar nombres y parámetros en tu versión instalada.
Buenas prácticas y solución de problemas
- Sesión activa: confirma que WhatsApp Web está abierto y con sesión iniciada. Si el teléfono pierde conexión o batería, el envío fallará.
- Zona horaria: el horario usa la zona del sistema. Ajusta la hora local correctamente.
- Antivirus / Pop-ups: desactiva bloqueadores que impidan abrir nuevas pestañas.
- Formato del número: siempre con código de país. Evita espacios y caracteres raros si recibes errores.
- Margen de tiempo: programa con 1–2 minutos de antelación para que el navegador se abra antes de la hora de envío.
- Estabilidad: si el envío falla de forma intermitente, prueba con
sendmsg(programado) en lugar de “instantly”, o viceversa. - 2FA/Verificación: si WhatsApp solicita verificación, complétala manualmente y vuelve a ejecutar el script.
Consideraciones legales y alternativas oficiales
Automatizar WhatsApp a través del navegador es válido para pruebas y casos personales, pero no es la vía oficial para envíos masivos. Si tu proyecto es empresarial, cumple con las políticas de la plataforma y considera usar la API oficial de WhatsApp Business, que ofrece mayor confiabilidad, plantillas aprobadas y métricas.
Ejemplo de flujo completo
1) Instala Python y comprueba versión → 2) Abre sesión en WhatsApp Web → 3) pip install pywhatkit → 4) Ejecuta el script de envío programado → 5) Verifica que el mensaje llegue en el horario previsto. Si piensas usarlo de forma recurrente, considera envolverlo en una tarea programada (Task Scheduler en Windows o cron en Linux/macOS) con márgenes de tiempo adecuados.
Lecturas recomendadas
- En tu sitio: Generar Texto con Inteligencia Artificial GPT-2 en Google Colab (Python)
- En tu sitio: Cómo crear un blog exitoso (si quieres documentar el proyecto).
- PyPI: PyWhatKit — documentación y ejemplos.
- Python: Documentación oficial de Python.
Conclusión
Con Python y PyWhatKit puedes programar mensajes de WhatsApp en minutos y ganar eficiencia en recordatorios y notificaciones. Para usos personales o pilotos, la automatización vía navegador es suficiente; para proyectos en producción, valora migrar a la API oficial para lograr escalabilidad, métricas y cumplimiento estricto de políticas. Empieza con los ejemplos de este tutorial, añade manejo de errores y agenda tus scripts: verás cómo tu flujo de trabajo se vuelve más rápido y confiable.

Deja tu cometario!