Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

WAsock

wasock (WhatsApp Socket) — مكتبة بايثون بسيطة للتعامل مع واتساب، مبنية فوق Baileys عن طريق عملية Node.js فرعية بتتواصل مع بايثون عبر TCP socket.

صُنعت بواسطة مطور مصري 🇪🇬 — Ahmed Mohmmed-AM.

الحالة: 0.5.0-Beta — لسه تحت التطوير، ممكن يحصل تغييرات في الـ API قبل النسخة المستقرة.


نظرة عامة (Overview)

wasock بتديك واجهة بايثونية سهلة للتعامل مع واتساب: استقبال رسايل، الرد عليها، بعت رسايل جديدة، حذف رسايل، وعرض QR Code لتسجيل الدخول — من غير ما تحتاج تكتب سطر JavaScript واحد.

wasock is a lightweight Python wrapper around Baileys. It spawns a Node.js subprocess and talks to it over a local TCP socket, so you can send, receive, reply to, and delete WhatsApp messages entirely from Python.


المتطلبات (Requirements)

  • Python >= 3.8
  • Node.js (>= 18 موصى بيه)
  • اتصال بالإنترنت لتثبيت اعتماديات npm الأولى

التثبيت (Installation)

pip install wasock

بعد التثبيت، لازم تثبت اعتماديات Node مرة واحدة (Baileys وpino) جوه فولدر المكتبة:

After installing, you need to install the Node.js dependencies once:

cd $(python -c "import wasock, os; print(os.path.join(os.path.dirname(wasock.__file__), 'node'))")
npm install

استخدام سريع (Quick Start)

from wasock import WhatsAppSocket, Message, QRCode, Connection

bot = WhatsAppSocket(authName="auth", loggerLevel="silent")

def onQr(data):
    qr = QRCode(data["qr"], size="mid", type="img")
    img = qr.render()
    img.save("qr.png")
    print("امسح qr.png من واتساب على موبايلك")

def onConnection(data):
    conn = Connection(data)
    if conn.connected:
        print("الاتصال فتح!")
    else:
        print(f"الاتصال اتقفل: {conn.reason}")

def onMessage(data):
    message = Message(data, bot.nodeJS)
    if message.fromBot:
        return

    if message.text == "!ping":
        message.reply("pong")

bot.on("qr", onQr)
bot.on("connection", onConnection)
bot.on("message", onMessage)

bot.start()

try:
    input("البوت شغال، دوس Enter للخروج...\n")
finally:
    bot.end()

الـ API

WhatsAppSocket(authName="auth", loggerLevel="silent")

بيبدأ الاتصال بسيرفر Node ويجهز الجلسة.

  • .start() — يبدأ الاتصال الفعلي بواتساب.
  • .on(event, callback) — يسجل event listener ("qr", "connection", "message").
  • .end() — يقفل الاتصال ويوقف عملية Node.

Message

بيتبني تلقائيًا لكل رسالة واردة. من أهم الخصائص:

الخاصية الوصف
.text نص الرسالة
.chat الـ JID بتاع المحادثة
.fromBot True لو الرسالة من البوت نفسه
.quoted / .quotedText / .quotedSender بيانات الرسالة المقتبسة (لو الرسالة ريبلاي)

Methods:

  • .reply(msg, chat=None, quoted=None) — يرد على الرسالة.
  • .send(msg, chat=None) — يبعت رسالة جديدة (من غير quote).
  • .delete() — يمسح الرسالة (Delete for Everyone).

QRCode(data, size="mid", type="terminal")

  • size: "small", "mid", "big"
  • type: "terminal" (يطبع في التيرمينال) أو "img" (يرجع صورة تقدر تعمله .save())

Connection

  • .connectedTrue/False
  • .statusCode — كود الإغلاق (لو موجود)
  • .reason — سبب الإغلاق (لو موجود)
  • .isAuthFailure()True لو السبب كان 401 (محتاج QR جديد)

ملاحظات مهمة (Important Notes)

  • فولدر auth/ بيحتوي على بيانات جلسة واتساب الحساسة — متعملوش commit على GitHub أبدًا.
  • مكان auth/ بيتحدد نسبيًا لمكان تشغيل السكريبت (working directory)، مش لمكان المكتبة.

الترخيص (License)

MIT License — تفاصيل أكتر في ملف LICENSE.


المطور (Author)

Ahmed Mohmmed-AM — مطور مصري 🇪🇬 GitHub: @Ahmed-Mohmmed-AM

Download files

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

Source Distribution

wasock-0.5.0b1.tar.gz (13.5 MB view details)

Uploaded Source

Built Distribution

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

wasock-0.5.0b1-py3-none-any.whl (14.7 MB view details)

Uploaded Python 3

File details

Details for the file wasock-0.5.0b1.tar.gz.

File metadata

  • Download URL: wasock-0.5.0b1.tar.gz
  • Upload date:
  • Size: 13.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.6

File hashes

Hashes for wasock-0.5.0b1.tar.gz
Algorithm Hash digest
SHA256 e7c7ad63f8e57732f7c396b76f938276baee96ee400972cb9f566514d0f7be73
MD5 a0002398731e1efd6481ea188066d75e
BLAKE2b-256 3a334b8d2c98ef051dc27dddb98979f38412489bc7c0530e491037dd827c184e

See more details on using hashes here.

File details

Details for the file wasock-0.5.0b1-py3-none-any.whl.

File metadata

  • Download URL: wasock-0.5.0b1-py3-none-any.whl
  • Upload date:
  • Size: 14.7 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.6

File hashes

Hashes for wasock-0.5.0b1-py3-none-any.whl
Algorithm Hash digest
SHA256 4bccbd6f8b928b8e8fa25a13d85769055a5871c9c51c328824e5db2b7f4c6b1f
MD5 f5448ed36f4c197f1a42a32bd006a5d8
BLAKE2b-256 43657585dc19e038bed7154e392d90deca531a0533661221b5978b9ce47a2a2e

See more details on using hashes here.

Release history Release notifications | RSS feed

0.5.1

2 files

This release

0.5.0b1 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page