Zalo Personal (غير رسمي)
الحالة: تجريبي. يقوم هذا التكامل بأتمتة حساب Zalo شخصي عبرzca-js الأصلي داخل OpenClaw.
تحذير: هذا تكامل غير رسمي وقد يؤدي إلى تعليق الحساب أو حظره. استخدمه على مسؤوليتك الخاصة.
plugin المضمّن
يأتي Zalo Personal كـ plugin مضمّن في إصدارات OpenClaw الحالية، لذلك لا تحتاج البنيات المعبأة العادية إلى تثبيت منفصل. إذا كنت تستخدم إصدارًا أقدم أو تثبيتًا مخصصًا يستبعد Zalo Personal، فثبّته يدويًا:- ثبّت عبر CLI:
openclaw plugins install @openclaw/zalouser - أو من نسخة checkout للمصدر:
openclaw plugins install ./path/to/local/zalouser-plugin - التفاصيل: Plugins
zca/openzca.
إعداد سريع (للمبتدئين)
- تأكد من أن plugin الخاص بـ Zalo Personal متاح.
- تتضمنه إصدارات OpenClaw المعبأة الحالية بالفعل.
- يمكن لعمليات التثبيت الأقدم/المخصصة إضافته يدويًا باستخدام الأوامر أعلاه.
- سجّل الدخول (QR، على جهاز Gateway):
openclaw channels login --channel zalouser- امسح رمز QR باستخدام تطبيق Zalo على الهاتف المحمول.
- فعّل القناة:
- أعد تشغيل Gateway (أو أكمل الإعداد).
- يكون الوصول إلى الرسائل المباشرة مضبوطًا افتراضيًا على الاقتران؛ وافق على رمز الاقتران عند أول تواصل.
ما هو
- يعمل بالكامل داخل العملية عبر
zca-js. - يستخدم مستمعي أحداث أصليين لاستقبال الرسائل الواردة.
- يرسل الردود مباشرة عبر JS API (نص/وسائط/رابط).
- مصمم لحالات استخدام “الحساب الشخصي” حيث لا تكون Zalo Bot API متاحة.
التسمية
معرّف القناة هوzalouser لتوضيح أن هذا التكامل يؤتمت حساب مستخدم Zalo شخصي (غير رسمي). ونحتفظ بالاسم zalo لتكامل رسمي محتمل مستقبلاً مع Zalo API.
العثور على المعرّفات (الدليل)
استخدم CLI الخاص بالدليل لاكتشاف الجهات النظيرة/المجموعات ومعرّفاتها:الحدود
- يُقسَّم النص الصادر إلى أجزاء بحوالي 2000 حرف (حدود عميل Zalo).
- يكون البث المتدفق محظورًا افتراضيًا.
التحكم في الوصول (الرسائل المباشرة)
يدعمchannels.zalouser.dmPolicy القيم التالية: pairing | allowlist | open | disabled (الافتراضي: pairing).
يقبل channels.zalouser.allowFrom معرّفات المستخدمين أو الأسماء. أثناء الإعداد، تُحوَّل الأسماء إلى معرّفات باستخدام البحث عن جهات الاتصال داخل العملية في plugin.
للموافقة:
openclaw pairing list zalouseropenclaw pairing approve zalouser <code>
الوصول إلى المجموعات (اختياري)
- الافتراضي:
channels.zalouser.groupPolicy = "open"(المجموعات مسموح بها). استخدمchannels.defaults.groupPolicyلتجاوز القيمة الافتراضية عند عدم ضبطها. - للتقييد إلى قائمة سماح:
channels.zalouser.groupPolicy = "allowlist"channels.zalouser.groups(يجب أن تكون المفاتيح معرّفات مجموعات مستقرة؛ وتُحوَّل الأسماء إلى معرّفات عند بدء التشغيل عندما يكون ذلك ممكنًا)channels.zalouser.groupAllowFrom(يتحكم في المرسلين داخل المجموعات المسموح بها الذين يمكنهم تشغيل البوت)
- لحظر جميع المجموعات:
channels.zalouser.groupPolicy = "disabled". - يمكن لمعالج الإعداد المطالبة بقوائم سماح المجموعات.
- عند بدء التشغيل، يحوّل OpenClaw أسماء المجموعات/المستخدمين في قوائم السماح إلى معرّفات ويسجل هذا الربط.
- تكون مطابقة قائمة سماح المجموعات بحسب المعرّف فقط افتراضيًا. ويتم تجاهل الأسماء التي لم يتم حلها لأغراض التخويل ما لم يتم تمكين
channels.zalouser.dangerouslyAllowNameMatching: true. - يُعد
channels.zalouser.dangerouslyAllowNameMatching: trueوضع توافق احتياطي يعيد تمكين المطابقة باستخدام أسماء المجموعات القابلة للتغيير. - إذا لم يتم ضبط
groupAllowFrom، فإن وقت التشغيل يعود إلىallowFromلفحوصات مرسلي المجموعات. - تنطبق فحوصات المرسل على كل من رسائل المجموعات العادية وأوامر التحكم (على سبيل المثال
/newو/reset).
بوابة الإشارات في المجموعات
- يتحكم
channels.zalouser.groups.<group>.requireMentionفيما إذا كانت الردود في المجموعات تتطلب إشارة. - ترتيب الحل: معرّف/اسم المجموعة المطابق تمامًا -> slug المجموعة المطبع ->
*-> الافتراضي (true). - ينطبق هذا على كل من المجموعات المدرجة في قائمة السماح ووضع المجموعات المفتوح.
- يمكن لأوامر التحكم المصرّح بها (على سبيل المثال
/new) تجاوز بوابة الإشارات. - عندما يتم تخطي رسالة مجموعة لأن الإشارة مطلوبة، يخزنها OpenClaw كسجل مجموعة معلّق ويضمّنها في رسالة المجموعة التالية التي تتم معالجتها.
- يكون حد سجل المجموعات افتراضيًا هو
messages.groupChat.historyLimit(مع تراجع إلى50). ويمكنك تجاوزه لكل حساب عبرchannels.zalouser.historyLimit.
حسابات متعددة
ترتبط الحسابات بملفاتzalouser الشخصية في حالة OpenClaw. مثال:
الكتابة والتفاعلات وإقرارات التسليم
- يرسل OpenClaw حدث كتابة قبل إرسال الرد (بأفضل جهد ممكن).
- الإجراء
reactلتفاعلات الرسائل مدعوم لـzalouserفي إجراءات القنوات.- استخدم
remove: trueلإزالة رمز emoji تفاعلي محدد من رسالة. - دلالات التفاعلات: Reactions
- استخدم
- بالنسبة إلى الرسائل الواردة التي تتضمن بيانات تعريف الحدث، يرسل OpenClaw إقرارات بالتسليم والرؤية (بأفضل جهد ممكن).
استكشاف الأخطاء وإصلاحها
تسجيل الدخول لا يستمر:openclaw channels status --probe- أعد تسجيل الدخول:
openclaw channels logout --channel zalouser && openclaw channels login --channel zalouser
- استخدم المعرفات الرقمية في
allowFrom/groupAllowFrom/groups، أو أسماء الأصدقاء/المجموعات المطابقة تمامًا.
- أزل أي افتراضات قديمة عن عملية
zcaخارجية. - تعمل القناة الآن بالكامل داخل OpenClaw من دون ملفات CLI تنفيذية خارجية.
ذو صلة
- نظرة عامة على القنوات — جميع القنوات المدعومة
- الاقتران — مصادقة الرسائل المباشرة وتدفق الاقتران
- المجموعات — سلوك الدردشة الجماعية وبوابة الإشارات
- توجيه القنوات — توجيه الجلسات للرسائل
- الأمان — نموذج الوصول والتقوية