Tithiwa
Automate Web WhatsApp with selenium in python.
Install / Use
/learn @Tithibots/TithiwaREADME
tithiwa - Web WhatsApp bot
Automate Web WhatsApp with selenium.
Check Headless tithiwa challenge
Full explained Videos on that project are coming soon. Stay tune with our youtube channel Noobie Techs
Table of contents
Contribution and creativity points
Selenium automation creativity points
- Debugging Example<br> We can create breakpoints to pause execution at any time then we can try to run some python code in the console to find a way to do something. That helps to develop efficiently.
- CTRL + Left mouse click Example<br> We can see the definitions or references or usages of any function or variable in our IDE like PyCharm. That helps to understand the existing code base efficiently.
- Inspect elements and console Example<br> In chrome, we can inspect HTML elements and run javascript code inside console. That helps up to find better selectors and automations steps efficiently.
NOTE: By pressing UP key we can see the history about what codes we had run during Python debugging and inside Chrome's console.<br> NOTE: If you are running javascript code inside selenium chromedriver console then it will NOT keep history.<br> Good luck :)
Automation ideas
- [ ] Todo: Clear chats of all groups
- [ ] Todo: Clear chats of all contacts
- [ ] Todo: Clear all chats both groups and contacts
- [ ] Todo: Auto-reply given messages to some given messages
- [ ] Todo: Scrap chat as text
- [ ] Todo: Track online status of given number
- [ ] Todo: Send a given message to given contacts at some given time i.e schedule messages
- [ ] Todo: Join group by invite link
- [ ] Todo: Change Web WhatsApp's settings
- [ ] Todo: Scape all contacts and send a message containing URL to their own chatroom
- [ ] Todo: Get currently opened Web WhatsApp's mobile number
- [ ] Todo: Open chat to the same number as currently opened Web WhatsApp's number
- [ ] Todo: Join multiple groups by invite links
- [ ] Todo: Delete chats of all exited groups
- [ ] Todo: Delete chats of all contacts
- [ ] Todo: Get number from contact name
- [ ] Todo: Get number of views to my status
from tithiwa import Tithiwa
# Create bot
tithiwabot = Tithiwa()
## Generate sessions and open sessions
tithiwabot.generate_session("filename")
tithiwabot.open_session("filename")
## Get currently opened Web-WhatsApp's details
print(tithiwabot.get_my_number())
print(tithiwabot.get_my_name())
print(tithiwabot.get_my_about())
## Open chatroom and send message
tithiwabot.open_chat_to("919592140593")
tithiwabot.open_chat_to_number_using_url("919592140593") # wa.me/919592140593
tithiwabot.send_message_to("919592140593", "Hello, from Tithiwa")
## Get number from contact name
print(tithiwabot.get_mobile_number_of("Contact1"))
## Send a message to multiple chats
tithiwabot.send_message_to_multiple_chats("hello", ["contact1", "contact2", "Group1"])
## Send a message to multiple chats at given time
tithiwabot.send_message_at_time_to(["contact1", "contact2", "Group1"],
"hi, from tithiwa at 9:36PM",
"21:36:00")
## Create new WhatsApp group
tithiwabot.create_group("GroupName", ["contact1", "contact2", "contact2"])
## Scrape members list from group
print(tithiwabot.scrape_members_from_group("GroupName")) # ["contact1", "contact2", "contact2"]
## Make given contacts as group admins of given group
tithiwabot.make_group_admins("GroupName", ["contact1", "contact2"])
## Remove given contacts from given group
tithiwabot.remove_members_from_group("GroupName", ["contact1", "contact2"])
## Send a message to a group with mentioning all group members
tithiwabot.send_message_with_mention_all_to_group("GroupName", "Hello All")
## Exit from group ✔
tithiwabot.exit_from_group("GroupName1")
## Exit from all groups ✔
tithiwabot.exit_from_all_groups()
## Exit from given groups ✔
tithiwabot.exit_from_groups(["GroupName1", "GroupName2"])
Installation
NOTE - pip contains older version i.e clone repo to use
pip install tithiwa
Related Skills
imsg
350.8kiMessage/SMS CLI for listing chats, history, and sending messages via Messages.app.
node-connect
350.8kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
oracle
350.8kBest practices for using the oracle CLI (prompt + file bundling, engines, sessions, and file attachment patterns).
lobster
350.8kLobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (s
