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

enviar mensajes autoticos desde python 1
Índice de Contenido
  1. Requisitos previos
  2. Instalación de Python en Windows
  3. Instalación de Python en Mac
  4. Prepara WhatsApp Web
  5. Instalar PyWhatKit
  6. Enviar mensajes con PyWhatKit en Python
    1. Ejemplo mínimo:
    2. Ejemplo robusto con manejo de errores y cierre automático
  7. Variantes útiles de PyWhatKit
  8. Buenas prácticas y solución de problemas
  9. Consideraciones legales y alternativas oficiales
  10. Ejemplo de flujo completo
  11. Lecturas recomendadas
    1. Conclusión

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 pywhatkit instalada vía pip.

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).
Instalador de Python para Windows con la opción Add Python to PATH
Imagen 1. Marca “Add Python 3.x to PATH” antes de instalar.

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

python --version

Comprobar versión de Python en Windows
Imagen 2. Verificando la instalación de Python en Windows.

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).

Instalando Python en macOS
Imagen 3. Instalación de Python en macOS.

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.

Iniciar sesión en WhatsApp Web
Imagen 4. Asegúrate de tener sesión activa en WhatsApp Web.

Instalar PyWhatKit

Instala la biblioteca con pip (en Windows puede ser py en lugar de python):

pip install pywhatkit

Esta 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. 15 para 3 p. m.).
  • Minutos: 0–59 (ej. 30 para 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}")
Mensaje enviado desde WhatsApp Web
Imagen 5. Vista del mensaje enviado desde WhatsApp Web.

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

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!

Subir

Las cookies de este sitio web se usan para personalizar el contenido y los anuncios, ofrecer funciones de redes sociales y analizar el tráfico. Más información