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

iMessage (آي مسج)

اربط PRX بـ iMessage باستخدام قاعدة بيانات Messages في macOS وجسر AppleScript لتكامل iMessage أصلي.

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

  • macOS فقط -- تكامل iMessage يتطلب macOS (يُوصى بـ Monterey 12.0 أو أحدث)
  • حساب iMessage نشط ومسجل الدخول في تطبيق Messages
  • منح Full Disk Access لعملية PRX (لقراءة قاعدة بيانات Messages)

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

1. منح Full Disk Access

  1. افتح System Settings > Privacy & Security > Full Disk Access
  2. أضف تطبيق الطرفية أو ملف PRX التنفيذي إلى القائمة
  3. أعد تشغيل الطرفية أو عملية PRX

2. التهيئة

toml
[channels_config.imessage]
allowed_contacts = ["+1234567890", "[email protected]"]

3. التحقق

bash
prx channel doctor imessage

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

الحقلالنوعالافتراضيالوصف
allowed_contacts[String]requiredجهات iMessage المسموح بها: أرقام هواتف (E.164) أو عناوين بريد إلكتروني. القائمة الفارغة = رفض الجميع

الميزات

  • تكامل macOS أصلي -- قراءة مباشرة من قاعدة بيانات Messages SQLite
  • جسر AppleScript -- إرسال الردود عبر osascript لتسليم موثوق
  • جهات هاتف وبريد إلكتروني -- التصفية حسب أرقام الهواتف أو بريد Apple ID
  • دعم macOS الحديث -- التعامل مع صيغة attributedBody typedstream في macOS Ventura وما بعده
  • يعتمد على polling -- فحص دوري لقاعدة بيانات Messages لاكتشاف الرسائل الجديدة

القيود

  • macOS فقط -- غير متاح على Linux أو Windows
  • يتطلب Full Disk Access لقراءة ~/Library/Messages/chat.db
  • يجب أن يكون تطبيق Messages قيد التشغيل (أو على الأقل مسجل الدخول)
  • لا يمكن بدء محادثات مع جهات جديدة؛ يجب وجود محادثة سابقة مع الجهة
  • لا يوجد دعم حالي لمحادثات iMessage الجماعية
  • فاصل polling يضيف تأخيرًا بسيطًا مقارنة بالقنوات المبنية على push
  • قد لا يعمل الإرسال عبر AppleScript في بيئات macOS بدون واجهة رسومية (SSH فقط)

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

"Permission denied" عند قراءة قاعدة بيانات Messages

  • تأكد من منح Full Disk Access لعملية PRX أو الطرفية الأب
  • على macOS Ventura+ تحقق من System Settings > Privacy & Security > Full Disk Access
  • أعد تشغيل الطرفية بعد منح الصلاحيات

لا يتم اكتشاف الرسائل

  • تحقق أن تطبيق Messages مسجل الدخول باستخدام Apple ID
  • تأكد أن جهة الاتصال موجودة في allowed_contacts (رقم E.164 أو بريد إلكتروني)
  • قد تتطلب الرسائل الجديدة دورة polling واحدة لاكتشافها

لا يتم إرسال الردود

  • تأكد أن تطبيق Messages قيد التشغيل (وليس تسجيل دخول فقط)
  • إرسال AppleScript يتطلب وصول GUI؛ جلسات SSH فقط قد تفشل
  • راجع macOS Console.app لأخطاء AppleScript

Released under the Apache-2.0 License.