Skip to main content

A powerful Multi-Platform automation SDK using Playwright and Camoufox. Currently supporting for whatsapp

Project description

🚀 Tweakio-Whatsapp Library

The Developer-First WhatsApp Automation Toolkit
Built on Playwright, Camoufox & BrowserForge for maximum reliability and undetectability.


This repository provides a powerful, modular toolkit for WhatsApp automation. Unlike standard libraries, Tweakio is designed for modern, human-like interactions, ensuring safety and longevity for your automation pipelines.

Whether you are building a smart chatbot, an automated alert system, or a workflow for your business, Tweakio gives you the granular control you need.


✨ Features

  • 🛡️ Anti-Detection First: Built on Playwright + Camoufox to mimic real browser fingerprints.
  • 🧩 Modular Architecture: Components like ChatRoller, MessageLoader, and BrowserManager work together or standalone.
  • 🤖 Human-Like Behavior: Simulates natural typing speeds, mouse movements, and pauses.
  • 📡 SQLite Integration: Built-in persistence for message history and state management.
  • ⚡ Dynamic Selectors: Smart element detection that adapts to WhatsApp Web UI changes.

📦 Installation

pip install tweakio-SDK

Note: Requires Python 3.8+

Currently we are supporting Whatsapp Web but in future we will add more support to different platforms

⚡ Quick Start

Here is a complete, working example to login and start listening for messages:

import asyncio
from tweakio_whatsapp import BrowserManager, WhatsappLogin, MessageLoader, ChatLoader

async def main():
    # 1️⃣ Initialize Browser with Anti-Detect capabilities
    browser_manager = BrowserManager(headless=False)
    page = await browser_manager.getPage()

    # 2️⃣ Perform Login (Scan QR Code if needed)
    wp_login = WhatsappLogin(page=page)
    await wp_login.login()

    # 3️⃣ Start Message Loader & Chat Loader
    loader = MessageLoader(page=page)
    chat_loader = ChatLoader(page=page)

    print("🚀 Listening for messages...")

    # 4️⃣ Iterate through chats and fetch messages
    async for chat, name in chat_loader.ChatRoller(cycle=1, MaxChat=3):
        print(f"📂 Checking Chat: {name}")
        
        async for msg, text, success, data in loader.LiveMessages(
            chat_id=chat, 
            cycle=3  # Check for 3 cycles of live updates
        ):
            print(f"   📩 New Message: {text}")

if __name__ == "__main__":
    asyncio.run(main())

💡 Pro Tip: Check test/play.py in the repository for a more advanced example including chat navigation!


🛠️ Modules Overview

Module Description
BrowserManager Handles browser creation, fingerprinting, and proxy management.
WhastappLogin Manages QR scanning, session saving, and login verification.
MessageLoader Fetches historical and live messages with duplicate protection.
Storage SQLite wrapper for efficient message storage and retrieval.
ChatRoller Automates scrolling and loading old chats.

🤝 Contributing

We welcome contributions! If you have ideas for new features or bug fixes:

  1. Fork the repo 🍴
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request 🚀

📄 License

Distributed under the MIT License. See LICENSE for more information.


Made with passion by the Tweakio Team

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tweakio_sdk-0.1.0.tar.gz (28.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tweakio_sdk-0.1.0-py3-none-any.whl (32.1 kB view details)

Uploaded Python 3

File details

Details for the file tweakio_sdk-0.1.0.tar.gz.

File metadata

  • Download URL: tweakio_sdk-0.1.0.tar.gz
  • Upload date:
  • Size: 28.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for tweakio_sdk-0.1.0.tar.gz
Algorithm Hash digest
SHA256 6200d6f0a116e6ba3b1b644021a87f274895c944a37661ea6573c24053621807
MD5 ccda595b2d9c7ffb0ef4400bc019f3fb
BLAKE2b-256 b92614f6417f6dfe73da2f4decf0bea3aef1c20fbcea1644651f203832489674

See more details on using hashes here.

File details

Details for the file tweakio_sdk-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: tweakio_sdk-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 32.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for tweakio_sdk-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 425d7fca7a53d7f0af40bb1f917be91823249d900d28a8010d44f49720ebb8ea
MD5 8e21e781ad135880ad97aaf930d3175a
BLAKE2b-256 4136c4cc010aaa4141e713c73faa5d16818b75fa34004ece06cc8b710d677e63

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page