Regional platforms
Zalo الشخصي
الحالة: تجريبية. يتيح هذا التكامل أتمتة حساب Zalo شخصي عبر zca-js الأصلي داخل OmeniaClaw.
Plugin المضمّن
يُشحن Zalo Personal كـ Plugin مضمّن في إصدارات OmeniaClaw الحالية، لذلك لا تحتاج الحِزم المبنية العادية إلى تثبيت منفصل.
إذا كنت تستخدم بنية أقدم أو تثبيتًا مخصصًا يستثني Zalo Personal، فثبّت حزمة npm مباشرة:
- التثبيت عبر CLI:
OmeniaClaw plugins install @OmeniaClaw/zalouser - إصدار مثبّت:
OmeniaClaw plugins install @OmeniaClaw/[email protected] - أو من نسخة مصدرية:
OmeniaClaw plugins install ./path/to/local/zalouser-plugin - التفاصيل: Plugins
لا يلزم وجود ملف تنفيذي خارجي لـ CLI باسم zca/openzca.
إعداد سريع (للمبتدئين)
- تأكد من توفر Plugin الخاص بـ Zalo Personal.
- تتضمنه إصدارات OmeniaClaw المعبأة الحالية بالفعل.
- يمكن للتثبيتات الأقدم/المخصصة إضافته يدويًا باستخدام الأوامر أعلاه.
- سجّل الدخول (QR، على جهاز Gateway):
OmeniaClaw channels login --channel zalouser- امسح رمز QR باستخدام تطبيق Zalo للهاتف المحمول.
- فعّل القناة:
{ channels: { zalouser: { enabled: true, dmPolicy: "pairing", }, },}- أعد تشغيل Gateway (أو أنهِ الإعداد).
- يكون وصول الرسائل المباشرة افتراضيًا عبر الاقتران؛ وافق على رمز الاقتران عند أول تواصل.
ما هو
- يعمل بالكامل داخل العملية عبر
zca-js. - يستخدم مستمعي أحداث أصليين لاستقبال الرسائل الواردة.
- يرسل الردود مباشرة عبر JS API (نص/وسائط/رابط).
- مصمم لحالات استخدام "الحساب الشخصي" حيث لا تتوفر Zalo Bot API.
التسمية
معرّف القناة هو zalouser لتوضيح أن هذا يؤتمت حساب مستخدم Zalo شخصي (غير رسمي). نُبقي zalo محجوزًا لاحتمال تكامل رسمي مستقبلي مع Zalo API.
العثور على المعرّفات (الدليل)
استخدم CLI الخاص بالدليل لاكتشاف الأقران/المجموعات ومعرّفاتهم:
OmeniaClaw directory self --channel zalouserOmeniaClaw directory peers list --channel zalouser --query "name"OmeniaClaw directory groups list --channel zalouser --query "work"الحدود
- يُجزّأ النص الصادر إلى نحو 2000 حرف (حدود عميل Zalo).
- البث محظور افتراضيًا.
التحكم في الوصول (الرسائل المباشرة)
يدعم channels.zalouser.dmPolicy: pairing | allowlist | open | disabled (الافتراضي: pairing).
يجب أن يستخدم channels.zalouser.allowFrom معرّفات مستخدمي Zalo مستقرة. ويمكنه أيضًا الإشارة إلى مجموعات وصول مرسلين ثابتة (accessGroup:<name>). أثناء الإعداد التفاعلي، يمكن حل الأسماء المُدخلة إلى معرّفات باستخدام بحث جهات الاتصال داخل العملية الخاص بالـ Plugin.
إذا بقي اسم خام في الإعدادات، فسيتم حله عند بدء التشغيل فقط عند تمكين channels.zalouser.dangerouslyAllowNameMatching: true. من دون هذا الاشتراك الصريح، تكون فحوصات المرسلين وقت التشغيل بالمعرّفات فقط، ويتم تجاهل الأسماء الخام للتخويل.
اعتمد عبر:
OmeniaClaw pairing list zalouserOmeniaClaw pairing approve zalouser <code>
وصول المجموعات (اختياري)
- الافتراضي:
channels.zalouser.groupPolicy = "open"(المجموعات مسموحة). استخدمchannels.defaults.groupPolicyلتجاوز الافتراضي عند عدم تعيينه. - قيّد الوصول إلى قائمة سماح باستخدام:
channels.zalouser.groupPolicy = "allowlist"channels.zalouser.groups(يجب أن تكون المفاتيح معرّفات مجموعات مستقرة؛ تُحل الأسماء إلى معرّفات عند بدء التشغيل فقط عند تمكينchannels.zalouser.dangerouslyAllowNameMatching: true)channels.zalouser.groupAllowFrom(يتحكم في المرسلين داخل المجموعات المسموح بها الذين يمكنهم تشغيل الروبوت؛ يمكن الإشارة إلى مجموعات وصول المرسلين الثابتة باستخدامaccessGroup:<name>)
- احظر كل المجموعات:
channels.zalouser.groupPolicy = "disabled". - يمكن لمعالج الإعداد المطالبة بقوائم سماح المجموعات.
- عند بدء التشغيل، يحل OmeniaClaw أسماء المجموعات/المستخدمين في قوائم السماح إلى معرّفات ويسجل الربط فقط عند تمكين
channels.zalouser.dangerouslyAllowNameMatching: true. - مطابقة قائمة سماح المجموعات تكون بالمعرّفات فقط افتراضيًا. تُتجاهل الأسماء غير المحلولة للمصادقة ما لم يتم تمكين
channels.zalouser.dangerouslyAllowNameMatching: true. channels.zalouser.dangerouslyAllowNameMatching: trueهو وضع توافق لكسر القيود يعيد تمكين حل الأسماء القابلة للتغيير عند بدء التشغيل ومطابقة أسماء المجموعات وقت التشغيل.- إذا لم يتم تعيين
groupAllowFrom، يعود وقت التشغيل إلىallowFromلفحوصات مرسلي المجموعات. - تنطبق فحوصات المرسلين على رسائل المجموعات العادية وأوامر التحكم على حد سواء (مثل
/newو/reset).
مثال:
{ channels: { zalouser: { groupPolicy: "allowlist", groupAllowFrom: ["1471383327500481391"], groups: { "123456789": { allow: true }, "Work Chat": { allow: true }, }, }, },}بوابة الإشارات في المجموعات
- يتحكم
channels.zalouser.groups.<group>.requireMentionفيما إذا كانت ردود المجموعات تتطلب إشارة. - ترتيب الحل: معرّف/اسم المجموعة المطابق تمامًا -> slug المجموعة المطبّع ->
*-> الافتراضي (true). - ينطبق هذا على المجموعات الموجودة في قائمة السماح وعلى وضع المجموعات المفتوحة.
- يُحسب اقتباس رسالة الروبوت كإشارة ضمنية لتفعيل المجموعة.
- يمكن لأوامر التحكم المصرح بها (مثل
/new) تجاوز بوابة الإشارات. - عندما يتم تخطي رسالة مجموعة لأن الإشارة مطلوبة، يخزنها OmeniaClaw كسجل مجموعة معلّق ويدرجها في رسالة المجموعة التالية التي تتم معالجتها.
- الحد الافتراضي لسجل المجموعات هو
messages.groupChat.historyLimit(احتياطيًا50). يمكنك تجاوزه لكل حساب باستخدامchannels.zalouser.historyLimit.
مثال:
{ channels: { zalouser: { groupPolicy: "allowlist", groups: { "*": { allow: true, requireMention: true }, "Work Chat": { allow: true, requireMention: false }, }, }, },}حسابات متعددة
تُربط الحسابات بملفات تعريف zalouser في حالة OmeniaClaw. مثال:
{ channels: { zalouser: { enabled: true, defaultAccount: "default", accounts: { work: { enabled: true, profile: "work" }, }, }, },}الكتابة، والتفاعلات، وإقرارات التسليم
- يرسل OmeniaClaw حدث كتابة قبل إرسال الرد (بأفضل جهد).
- إجراء تفاعل الرسالة
reactمدعوم لـzalouserفي إجراءات القنوات.- استخدم
remove: trueلإزالة رمز تعبيري محدد للتفاعل من رسالة. - دلالات التفاعل: التفاعلات
- استخدم
- للرسائل الواردة التي تتضمن بيانات وصفية للأحداث، يرسل OmeniaClaw إقرارات التسليم + المشاهدة (بأفضل جهد).
استكشاف الأخطاء وإصلاحها
تسجيل الدخول لا يثبت:
OmeniaClaw channels status --probe- إعادة تسجيل الدخول:
OmeniaClaw channels logout --channel zalouser && OmeniaClaw channels login --channel zalouser
لم يتم حل اسم قائمة السماح/المجموعة:
- استخدم المعرّفات الرقمية في
allowFrom/groupAllowFromومعرّفات المجموعات المستقرة فيgroups. إذا كنت تحتاج عمدًا إلى أسماء الأصدقاء/المجموعات الدقيقة، فمكّنchannels.zalouser.dangerouslyAllowNameMatching: true.
الترقية من إعداد قديم قائم على CLI:
- أزل أي افتراضات قديمة حول عملية
zcaخارجية. - تعمل القناة الآن بالكامل داخل OmeniaClaw من دون ملفات CLI تنفيذية خارجية.
ذات صلة
- نظرة عامة على القنوات — كل القنوات المدعومة
- الاقتران — مصادقة الرسائل المباشرة وتدفق الاقتران
- المجموعات — سلوك دردشة المجموعات وبوابة الإشارات
- توجيه القنوات — توجيه الجلسات للرسائل
- الأمان — نموذج الوصول والتقوية