This project is a WhatsApp automation bot developed using Selenium WebDriver. The bot provides various functionalities such as logging in, sending messages, sending media, and checking for new messages on WhatsApp Web.
Features
Login Automation: Automatically logs into WhatsApp Web and persists session data.
Message Sending: Send text messages and media (images/videos) to specific contacts.
Chat Management: Open chats by contact name and navigate through chats.
QR Code Generation: Generates QR codes for WhatsApp Web login.
Message Retrieval: Retrieve the last message from a chat.
New Message Notifications: Check for new messages and handle notifications.
Installation
To use this bot, follow these steps:
Clone the Repository:
git clone https://github.com/marco0antonio0/py-connector-whatsapp-unofficial
cd py-connector-whatsapp-unofficial
Install Dependencies:
Ensure you have Python installed. Then install the required Python packages:
pip install selenium webdriver-manager pillow
Generate QR Code Module:
Create a generateQRcode.py file with a function createQRCODE to generate QR codes.
Configure WebDriver:
Ensure you have the Chrome browser installed. The webdriver-manager package will handle the WebDriver installation.
Usage
Initialize the Bot:
from bot import botWhatsapp
# with interface = true
#without interface = false // terminal acess
bot = botWhatsapp(gui=False)
Start the Bot:
bot.start()
Send a Message:
bot.openChatByContact(“Contact Name“)
bot.sendMensage(“Hello, this is a test message!“)
Send an Image with Text:
bot.sendImageWithText(“path/to/image.jpg“, “Here is an image with a caption!“)
Check for New Messages:
new_message = bot.VerificarNovaMensagem()
if new_message:
print(“New message from:“, new_message)
Retrieve Last Message:
last_message = bot.pegar_ultima_mensagem()
print(“Last message:“, last_message)
Exit the Bot:
bot.exit()
Project Structure
│
├── bot.py # Main bot class and functionalities
├── generateQRcode.py # QR code generation module
├── requirements.txt # List of dependencies
├── README.md # Project documentation
└── dados/ # Directory to store session data
Contributing
Fork the repository.
Create a new branch (git checkout -b feature-branch).
Commit your changes (git commit -m ‘Add new feature’).
Push to the branch (git push origin feature-branch).
Open a Pull Request.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Acknowledgements
Selenium – WebDriver for browser automation.
webdriver-manager – For managing WebDriver binaries.
Pillow – Python Imaging Library for handling images.
Contact
For any questions or suggestions, feel free to open an issue or contact me at marcomesquitajr@hotmail.com.