Con este pequeño script llamado Spam Bot, podras enviar la cantidad de mensajes que desees a traves de WhatsApp sin necesidad de escribir mucho codigo. Utilizaremos el paquete pyautogui, un modulo de Python que permite automatizar tareas en multiples sistemas operativos.
Que es un Bot?#
Un bot es un software o programa informatico diseñado para realizar tareas repetitivas a traves de Internet como si fuera una persona real. Los bots estan programados con ciertas instrucciones y pueden llevar a cabo acciones con un nivel de inteligencia predefinido en cada guion u orden asignado. Ejemplos comunes de bots incluyen los chatbots de atencion al cliente, bots de redes sociales que publican automaticamente, y bots de web scraping que recogen datos de sitios web.
Nota: flores amarillas
Que es Python?#
En resumen, Python es un lenguaje de programacion multiparadigma, lo que significa que soporta diversos estilos de programacion, como la orientacion a objetos, la programacion imperativa y, en menor medida, la programacion funcional. Es un lenguaje interpretado, dinamico y multiplataforma, lo que permite su ejecucion en diversos sistemas operativos sin necesidad de compilacion previa.
Ahora que ya esta todo explicado, continuaremos con el paso mas importante: la instalacion de los programas necesarios y la creacion del codigo que dara vida a este script llamado SPAM BOT.
Advertencia importante#
Este script se proporciona con fines educativos y de demostracion. El uso de scripts para enviar mensajes masivos puede violar los terminos de servicio de WhatsApp y puede considerarse spam. Usalo de manera responsable y asegurate de obtener el consentimiento de las personas antes de enviarles mensajes automatizados.
Pasos para Configurar y Ejecutar el Spam Bot#
1. Descargar un Editor de Codigo#
Descarga un editor de codigo de tu preferencia. En este caso, usaremos el popular editor de codigo Visual Studio Code.
Descargar Visual Studio Code:
- Ve al sitio oficial de Visual Studio Code y descarga la version adecuada para tu sistema operativo.
- Marca la opcion Add Python to PATH (Agregar Python al PATH). Esto es crucial para asegurarte de que Python y pip esten disponibles desde la linea de comandos.
- Haz clic en Install Now para iniciar la instalacion.
- Sigue las instrucciones de instalacion para completar el proceso.
2. Crear un Nuevo Archivo y Configurar el Entorno#
Crear un Nuevo Archivo:
- Abre Visual Studio Code.
- Crea un nuevo archivo y guardalo con la extension
.py, por ejemplo,spambot.py.
Instalar PyAutoGUI:
- Abre la terminal integrada en Visual Studio Code. Puedes hacerlo yendo a Ver > Terminal o usando el atajo `Ctrl + “ (comillas invertidas).
- Instala el paquete
pyautoguiejecutando el siguiente comando en la terminal:
pip install pyautogui3. Copiar el Codigo en el Editor#
Copia el siguiente codigo en el editor. Dejo dos ejemplos para que puedan hacer pruebas. Recuerden que despues de send?phone= va el numero al que se enviara el mensaje automatico.
Codigo 1 - Mensaje simple#
import pyautogui, webbrowserfrom time import sleep
webbrowser.open("https://web.whatsapp.com/send?phone=+55123456789")sleep(10)pyautogui.typewrite("Hola esto es un mensaje automatico")pyautogui.press("enter")Codigo 2 - Mensajes desde archivo de texto#
import pyautogui, webbrowserfrom time import sleep
webbrowser.open("https://web.whatsapp.com/send?phone=+55123456789")sleep(10)
with open("spam.txt", "r") as file: for line in file: pyautogui.typewrite(line) pyautogui.press("enter")4. Crear un Archivo de Texto#
Crea un nuevo archivo con la extension .txt. El nombre del archivo puede ser cualquiera, ya que esto es opcional. En este ejemplo, lo llamaremos spam.txt.
5. Llenar el Archivo de Texto#
Llena el archivo .txt con el contenido que desees, como letras, numeros, oraciones, canciones, piropos, etc. Te recomiendo eliminar acentos o caracteres especiales, ya que estos podrian no enviarse correctamente. Finalmente, guarda el archivo utilizando Ctrl + S.
6. Ejecutar el Codigo#
Ahora solo queda ejecutar el codigo. Puedes hacerlo de las siguientes maneras:
Usar la Opcion de Play:
- En Visual Studio Code, haz clic en el boton de play (marcado en forma circular y de color azul) en la esquina superior derecha del editor.
Usar el Menu Contextual:
- Haz clic derecho en cualquier parte del archivo de codigo.
- Selecciona la opcion Run Python File in Terminal.
Esto ejecutara el script y comenzara a enviar los mensajes automaticamente segun la configuracion que hayas especificado.
Codigo Mejorado#
A continuacion, te presento una version mejorada del script con mensajes programados y tiempos de espera personalizados:
import pyautoguiimport webbrowserfrom time import sleep
# Definir el numero de telefononumero = "+55123456789" # Reemplaza con el numero de telefono al que quieres enviar los mensajes
# Definir los mensajes y sus intervalos de tiempo# Los numeros son los segundos de espera entre cada mensajemensajes = [ {"texto": "holaa", "tiempo_espera": 1}, {"texto": "¿Como estas?", "tiempo_espera": 2}, {"texto": "Que bien! Espero que tengas una buena noche.", "tiempo_espera": 3}, {"texto": "Hasta mas tarde", "tiempo_espera": 4}]
# Abrir WhatsApp Web y esperar a que se carguewebbrowser.open(f"https://web.whatsapp.com/send?phone={numero}")sleep(10) # Esperar a que se cargue WhatsApp Web
# Enviar los mensajes con sus respectivos intervalos de tiempofor mensaje in mensajes: pyautogui.typewrite(mensaje["texto"]) pyautogui.press("enter") sleep(mensaje["tiempo_espera"]) # Esperar el tiempo definido antes de enviar el siguiente mensajeExplicacion del codigo mejorado#
1. Importacion de librerias:
import pyautoguiimport webbrowserfrom time import sleeppyautogui: Permite controlar el teclado y el mouse para automatizar acciones.webbrowser: Abre enlaces en el navegador predeterminado.sleep: Pausa la ejecucion del script durante el tiempo especificado.
2. Definicion del numero de telefono:
numero = "+55123456789"- Reemplaza este numero con el destinatario real. El formato debe incluir el codigo de pais.
3. Lista de mensajes programados:
mensajes = [ {"texto": "holaa", "tiempo_espera": 1}, {"texto": "¿Como estas?", "tiempo_espera": 2}, ...]- Cada mensaje tiene un texto y un tiempo de espera en segundos antes de enviar el siguiente.
4. Apertura de WhatsApp Web:
webbrowser.open(f"https://web.whatsapp.com/send?phone={numero}")sleep(10)- Abre el chat de WhatsApp Web con el numero especificado.
- Espera 10 segundos para que la pagina cargue completamente. Ajusta este tiempo segun tu conexion.
5. Bucle de envio de mensajes:
for mensaje in mensajes: pyautogui.typewrite(mensaje["texto"]) pyautogui.press("enter") sleep(mensaje["tiempo_espera"])- Itera sobre cada mensaje en la lista.
- Escribe el texto usando
pyautogui.typewrite(). - Simula la tecla Enter con
pyautogui.press("enter"). - Espera el tiempo definido antes del siguiente mensaje.
Explicacion de las funciones principales#
pyautogui.typewrite()#
Esta funcion escribe texto como si lo hiciera un usuario real. Es util para llenar formularios o enviar mensajes.
pyautogui.typewrite("Hola mundo")pyautogui.press()#
Simula la presion de una tecla especifica. En este caso, usamos “enter” para enviar el mensaje en WhatsApp.
pyautogui.press("enter")pyautogui.hotkey()#
Permite simular combinaciones de teclas como Ctrl + C o Ctrl + V.
pyautogui.hotkey("ctrl", "c")webbrowser.open()#
Abre una URL en el navegador predeterminado.
webbrowser.open("https://web.whatsapp.com/send?phone=+55123456789")Posibles problemas y soluciones#
El mensaje no se escribe correctamente#
Solucion: Asegurate de que la ventana de WhatsApp Web este activa y en primer plano. El script necesita que la ventana este enfocada para escribir.
Los caracteres especiales no se envian#
Solucion: Evita usar acentos, enes o caracteres especiales en el archivo de texto. Python puede tener problemas al escribirlos.
El script no encuentra el archivo de texto#
Solucion: Asegurate de que el archivo spam.txt este en el mismo directorio que el script de Python.
WhatsApp Web no carga#
Solucion: Aumenta el tiempo de espera en sleep() o espera manualmente a que cargue antes de ejecutar el script.
El bot no se conecta#
Solucion: Verifica que tengas conexion a Internet y que el numero de telefono sea correcto.
Recomendaciones de uso#
Uso etico y responsable#
- Solo para fines educativos: Este script esta diseñado para aprendizaje y demostracion.
- Consentimiento: Obtén el permiso de las personas antes de enviarles mensajes automatizados.
- No para spam: El uso masivo de mensajes puede resultar en la suspension de tu cuenta de WhatsApp.
Mejoras sugeridas#
- Agregar control de tiempo: Limita el numero de mensajes para evitar bloqueos.
- Usar archivo de configuracion: Carga mensajes desde un archivo externo.
- Agregar logs: Registra los mensajes enviados y los errores.
- Interfaz grafica: Crea una interfaz simple para facilitar el uso.
Ejemplo con archivo de texto#
import pyautoguiimport webbrowserfrom time import sleep
# Definir el numero de telefononumero = "+55123456789"
# Abrir WhatsApp Webwebbrowser.open(f"https://web.whatsapp.com/send?phone={numero}")sleep(10)
# Leer mensajes desde un archivotry: with open("spam.txt", "r", encoding="utf-8") as file: mensajes = file.readlines()
for mensaje in mensajes: mensaje = mensaje.strip() # Eliminar espacios y saltos de linea if mensaje: # Solo enviar si no esta vacio pyautogui.typewrite(mensaje) pyautogui.press("enter") sleep(1) # Esperar 1 segundo entre mensajes
except FileNotFoundError: print("Error: No se encontro el archivo spam.txt")except Exception as e: print(f"Error: {e}")Conclusion#
Este script de Spam Bot para WhatsApp con Python es una excelente demostracion de como automatizar tareas repetitivas utilizando herramientas simples como pyautogui y webbrowser. Con solo unas pocas lineas de codigo, puedes enviar mensajes automaticos a cualquier numero de telefono a traves de WhatsApp Web.
Recomendaciones finales#
- Usa el script con responsabilidad: Las herramientas de automatizacion pueden ser poderosas, pero tambien pueden ser mal utilizadas.
- Experimenta con el codigo: Modifica el script para agregar nuevas funcionalidades.
- Aprende Python: Este proyecto es un excelente punto de partida para aprender automatizacion con Python.
- Actualiza el tiempo de espera: Ajusta el
sleep()segun la velocidad de tu conexion.
Reflexion final#
La automatizacion de tareas con Python abre un mundo de posibilidades. Desde enviar mensajes hasta controlar aplicaciones completas, el limite esta en tu imaginacion y conocimiento. Recuerda siempre usar estas herramientas de manera etica y responsable.
Nota: Este script es una herramienta educativa. No uses este conocimiento para actividades maliciosas o que violen los terminos de servicio de las plataformas.
