Skip to content
تم إنشاء هذه الصفحة وترجمتها بمساعدة الذكاء الاصطناعي. إذا لاحظت أي أخطاء، لا تتردد في المساهمة في تحسينها. تعديل على GitHub

واتساب Web

اربط PRX بـ WhatsApp باستخدام عميل Web أصلي مكتوب بـ Rust (wa-rs) مع تشفير طرفي، وربط عبر QR code أو pair code، ودعم كامل للوسائط.

المتطلبات المسبقة

  • حساب WhatsApp برقم هاتف نشط
  • بناء PRX مع علم الميزة whatsapp-web
  • لا حاجة إلى حساب Meta Business API

الإعداد السريع

1. تفعيل علم الميزة

ابنِ PRX مع دعم WhatsApp Web:

bash
cargo build --release --features whatsapp-web

2. التهيئة

toml
[channels_config.whatsapp]
session_path = "~/.config/openprx/whatsapp-session.db"
allowed_numbers = ["+1234567890", "*"]

لربط pair code (بدل QR code):

toml
[channels_config.whatsapp]
session_path = "~/.config/openprx/whatsapp-session.db"
pair_phone = "15551234567"
allowed_numbers = ["*"]

3. ربط الحساب

شغّل PRX. في أول تشغيل سيعرض أحد الخيارين:

  • QR code في الطرفية لمسحه بتطبيق WhatsApp على الهاتف، أو
  • pair code إذا تم ضبط pair_phone (أدخل الرمز في WhatsApp > Linked Devices)

4. التحقق

bash
prx channel doctor whatsapp

مرجع الإعدادات

الحقلالنوعالافتراضيالوصف
session_pathStringrequiredمسار قاعدة بيانات جلسة SQLite. وجود هذا الحقل يحدد وضع Web
pair_phoneStringnullرقم الهاتف لربط pair code (الصيغة: رمز الدولة + الرقم، مثل "15551234567"). إذا لم يُضبط، يتم استخدام QR code
pair_codeStringnullPair code مخصص للربط. اتركه فارغًا ليُنشئه WhatsApp تلقائيًا
allowed_numbers[String][]أرقام الهواتف المسموح بها بصيغة E.164 (مثل "+1234567890"). القيمة "*" = السماح للجميع

الميزات

  • لا حاجة إلى Meta Business API -- اتصال مباشر كجهاز مرتبط عبر بروتوكول WhatsApp Web
  • تشفير طرفي (End-to-end) -- الرسائل مشفرة عبر Signal Protocol مثل عملاء WhatsApp الرسميين
  • ربط عبر QR code وpair code -- طريقتان لربط حساب WhatsApp
  • جلسات مستمرة -- حالة الجلسة محفوظة في SQLite محلي وتستمر بعد إعادة التشغيل
  • مجموعات ورسائل مباشرة -- يدعم المحادثات الخاصة ومحادثات المجموعات
  • رسائل الوسائط -- يتعامل مع الصور والمستندات وأنواع الوسائط الأخرى
  • دعم الرسائل الصوتية -- يفرّغ الرسائل الصوتية الواردة (عند تهيئة STT) ويمكنه الرد بصوت (عند تهيئة TTS)
  • الحضور والتفاعلات -- يدعم مؤشرات الكتابة وتفاعلات الرسائل

القيود

  • يتطلب علم الميزة whatsapp-web وقت البناء
  • يدعم جلسة جهاز مرتبط واحدة فقط لكل رقم هاتف (قيد من WhatsApp)
  • قد تنتهي الجلسة عند عدم الاستخدام لفترة طويلة؛ يتطلب إعادة ربط
  • يعمل على macOS وLinux وWindows WSL2 فقط (مثل PRX)
  • قد يطلب WhatsApp إعادة المصادقة أحيانًا

استكشاف الأخطاء وإصلاحها

لا يظهر QR code

  • تأكد من ضبط session_path وأن المجلد قابل للكتابة
  • تحقق أن PRX بُني باستخدام --features whatsapp-web
  • احذف قاعدة بيانات الجلسة وأعد التشغيل لفرض عملية ربط جديدة

انتهت الجلسة أو انقطع الاتصال

  • احذف قاعدة بيانات الجلسة في session_path المهيأ
  • أعد تشغيل PRX لبدء تدفق QR code أو pair code جديد

لا يتم تفريغ الرسائل الصوتية

  • هيّئ قسم [transcription] في إعداد PRX لتفعيل STT
  • مزودات STT المدعومة: OpenAI Whisper وDeepgram وAssemblyAI وGoogle STT

وضع Cloud API

إذا كان لديك حساب Meta Business وتفضّل المراسلة المعتمدة على webhook، راجع WhatsApp (Cloud API).

Released under the Apache-2.0 License.