Loading repository data…
Loading repository data…
SagarBiswas-MultiHAT / repository
Automates chat replies for Messenger and WhatsApp using PyAutoGUI for UI actions, Pyperclip for clipboard capture, and Groq for AI responses. Cycles configured chat positions, skips replying to your own messages, supports dry-run and logging, and includes cursor tools and easy config for fast testing and demos. Ideal for portfolio demos & research.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
Video demo(old-version): https://www.facebook.com/share/v/1PCci8RnYD/
This project automates chat replies (e.g., Messenger, WhatsApp) using screen automation with PyAutoGUI, clipboard handling via Pyperclip, and AI-generated responses powered by Groq. After starting, the program automatically clicks the chat icon at a predefined screen position, then continuously cycles through multiple chat slots by clicking different coordinates one by one, triggering chat automation scans for each conversation. It scans each chat for new incoming messages, generates and sends appropriate replies, skips responding if the last message was sent by the chatBot, and then moves on to the next chat. Once all configured chat positions are scanned, the process loops back to the first chat, enabling continuous, hands-free monitoring and automated replying across multiple conversations.
This project includes a dry-run mode and logging to support safe testing and debugging.
Together, these features help ensure reliable automation, safer testing, and clearer insight into how the bot operates.
Clone the repo
git clone https://github.com/SagarBiswas-MultiHAT/ChatAutomation-AI-Assistant.git
cd Chat-Automation-Bot
Create & activate a virtual environment
python -m venv .venv
# Windows
.\.venv\Scripts\activate
# macOS/Linux
source .venv/bin/activate
Install dependencies
pip install -r requirements.txt
Set your Groq API key
PowerShell:
$env:GROQ_API_KEY = "your_groq_key_here"
$env:GROQ_MODEL = "llama-3.1-8b-instant" # optional
Create config.json
copy config.example.json config.json
Run the bot
python 03_bot.py
Every loop it:
These settings are also embedded in 03_bot.py, but using config.json is recommended.
Important fields
coords.chat_icon — opens the chat list (clicked once at startup).coords.chat_list — list of chat positions to cycle through.coords.select_start / coords.select_end — selection box for chat text.coords.input_box — where responses are typed.timing.poll_interval — pause between scans.my_name — used to recognize your own messages.Example (trimmed):
{
"coords": {
"chat_icon": [617, 1050],
"chat_list": [
[245, 248],
[245, 314],
[230, 373]
],
"select_start": [523, 183],
"select_end": [1397, 1013],
"input_box": [600, 1006]
},
"timing": {
"poll_interval": 2.0
},
"my_name": "You sent"
}
Use the cursor helper:
python 01_get_cursor.py
Move your mouse to the target UI point and copy the coordinates it prints.
python 03_bot.py --dry-run
This runs the detection logic without clicking or typing.
Bot replies when it shouldn’t:
select_start / select_end). It must include the “You sent” marker and recent messages.my_name matches how your UI labels your messages.Bot does nothing:
Clicks are off:
MIT License. See LICENSE.
For questions or suggestions, email: eng.sagar.aiub@gmail.com