التثبيت
يُوزَّع Twitch بصفته Plugin رسميًا؛ وهو ليس جزءًا من التثبيت الأساسي.- سجل npm
- نسخة محلية
plugins install الـ Plugin ويفعّله. يؤدي اختيار Twitch أثناء openclaw onboard أو openclaw channels add إلى تثبيته عند الطلب. استخدم اسم الحزمة المجرّد لمتابعة الإصدار الحالي؛ ولا تثبّت إصدارًا محددًا بدقة إلا لعمليات التثبيت القابلة لإعادة الإنتاج. يتطلب OpenClaw 2026.4.10 أو إصدارًا أحدث.
التفاصيل: Plugins
الإعداد السريع
1
ثبّت الـ Plugin
راجع قسم التثبيت أعلاه.
2
أنشئ حساب روبوت Twitch
أنشئ حساب Twitch مخصصًا للروبوت (أو استخدم حسابًا موجودًا).
3
أنشئ بيانات الاعتماد
استخدم مولّد رموز Twitch:
- حدّد Bot Token
- تحقّق من تحديد النطاقين
chat:readوchat:write - انسخ Client ID وAccess Token
4
اعثر على معرّف مستخدم Twitch الخاص بك
استخدم https://www.streamweasels.com/tools/convert-twitch-username-to-user-id/ لتحويل اسم مستخدم إلى معرّف مستخدم Twitch.
5
اضبط الرمز
- متغير البيئة:
OPENCLAW_TWITCH_ACCESS_TOKEN=...(للحساب الافتراضي فقط) - أو الإعداد:
channels.twitch.accessToken
6
شغّل Gateway
ماهيته
- قناة Twitch يملكها Gateway.
- توجيه حتمي: تعود الردود دائمًا إلى قناة Twitch التي وردت منها الرسالة.
- ترتبط كل قناة منضم إليها بمفتاح جلسة مجموعة معزول
agent:<agentId>:twitch:group:<channel>. - يمثّل
usernameحساب الروبوت (الذي يجري المصادقة)، بينما يحددchannelغرفة الدردشة المطلوب الانضمام إليها. ينضم كل إدخال حساب إلى قناة واحدة بالضبط. - تعمل الرموز مع البادئة
oauth:أو من دونها؛ يطبّع OpenClaw الصيغتين (ويتوقع معالج الإعداد الصيغة التي تتضمنoauth:).
تحديث الرمز (اختياري)
لا يستطيع OpenClaw تحديث الرموز الصادرة من مولّد رموز Twitch؛ أنشئها مجددًا عند انتهاء صلاحيتها (تدوم بضع ساعات، ولا يلزم تسجيل تطبيق). للتحديث التلقائي، أنشئ تطبيقك الخاص في لوحة مطوري Twitch وأضف:refreshToken يسجّل token refresh disabled (no refresh token)؛ ومن دون clientSecret يعود إلى استخدام رمز ثابت (غير قابل للتحديث).
دعم الحسابات المتعددة
استخدمchannels.twitch.accounts مع بيانات اعتماد خاصة بكل حساب. راجع الإعداد لمعرفة النمط المشترك.
مثال (حساب روبوت واحد في قناتين):
يحتاج كل إدخال حساب إلى
accessToken خاص به (لا يغطي متغير البيئة سوى الحساب الافتراضي). ينضم كل حساب إلى قناة واحدة بالضبط، لذا يتطلب الانضمام إلى قناتين حسابين. يحدد channels.twitch.defaultAccount الحساب الافتراضي.التحكم في الوصول
يمثّلallowFrom قائمة سماح صارمة لمعرّفات مستخدمي Twitch. عند ضبطه، يُتجاهل allowedRoles؛ اترك allowFrom من دون ضبط لاستخدام الوصول المستند إلى الأدوار بدلًا منه.
الأدوار المتاحة: "moderator"، و"owner"، و"vip"، و"subscriber"، و"all".
- قائمة سماح بمعرّفات المستخدمين (الأكثر أمانًا)
- مستند إلى الأدوار
- تعطيل اشتراط الإشارة بـ @
لماذا معرّفات المستخدمين؟ يمكن تغيير أسماء المستخدمين، مما يتيح انتحال الهوية. أما معرّفات المستخدمين فهي دائمة.اعثر على معرّفك باستخدام محوّل اسم المستخدم إلى معرّف.
استكشاف الأخطاء وإصلاحها
شغّل أولًا أوامر التشخيص:الروبوت لا يستجيب للرسائل
الروبوت لا يستجيب للرسائل
- تحقّق من التحكم في الوصول: تأكد من وجود معرّف المستخدم الخاص بك في
allowFrom، أو أزلallowFromمؤقتًا واضبطallowedRoles: ["all"]للاختبار. - تحقّق من بوابة الإشارة: عند ضبط
requireMention: true(القيمة الافتراضية)، يجب أن تشير الرسائل إلى اسم مستخدم الروبوت باستخدام @. - تحقّق من وجود الروبوت في القناة: لا ينضم الروبوت إلا إلى القناة المذكورة في
channel.
مشكلات الرمز
مشكلات الرمز
أخطاء “فشل الاتصال” أو أخطاء المصادقة:
- تحقّق من أن
accessTokenهو قيمة رمز وصول OAuth (البادئةoauth:اختيارية) - تحقّق من أن الرمز يتضمن النطاقين
chat:readوchat:write - إذا كنت تستخدم تحديث الرمز، فتحقّق من ضبط
clientSecretوrefreshToken
تحديث الرمز لا يعمل
تحديث الرمز لا يعمل
افحص السجلات بحثًا عن أحداث التحديث:إذا ظهر
token refresh disabled (no refresh token):- تأكد من توفير
clientSecret - تأكد من توفير
refreshToken
الإعداد
إعداد الحساب
string
مطلوب
اسم مستخدم الروبوت (الحساب الذي يجري المصادقة).
string
مطلوب
رمز وصول OAuth يتضمن
chat:read وchat:write (عبر الإعداد أو متغير البيئة للحساب الافتراضي).string
مطلوب
معرّف عميل Twitch (من مولّد الرموز أو تطبيقك). اختياري في المخطط، لكنه مطلوب للاتصال.
string
مطلوب
القناة المطلوب الانضمام إليها.
boolean
افتراضي:"true"
فعّل هذا الحساب.
string
اختياري: للتحديث التلقائي للرمز.
string
اختياري: للتحديث التلقائي للرمز.
number
مدة صلاحية الرمز بالثواني (لتتبّع التحديث).
number
الطابع الزمني لوقت الحصول على الرمز (لتتبّع التحديث).
string[]
قائمة سماح لمعرّفات المستخدمين. عند ضبطها، تُتجاهل الأدوار.
Array<"moderator" | "owner" | "vip" | "subscriber" | "all">
تحكم في الوصول مستند إلى الأدوار.
boolean
افتراضي:"true"
اشترط الإشارة بـ @ لتشغيل الروبوت.
string
تجاوز بادئة الردود الصادرة لهذا الحساب.
خيارات الموفّر
channels.twitch.enabled- تفعيل/تعطيل بدء تشغيل القناةchannels.twitch.username/accessToken/clientId/channel- إعداد مبسّط لحساب واحد (حسابdefaultضمني؛ وتكون له الأولوية علىaccounts.default)channels.twitch.accounts.<accountName>- إعداد حسابات متعددة (جميع حقول الحساب المذكورة أعلاه)channels.twitch.defaultAccount- اسم الحساب الافتراضيchannels.twitch.markdown.tables- وضع عرض جداول Markdown (off|bullets|code|block)
إجراءات الأداة
يمكن للوكيل إرسال رسائل Twitch عبر الإجراءsend لأداة الرسائل:
to اختياري، وتكون قيمته الافتراضية channel المضبوطة للحساب.
الأمان والتشغيل
- تعامل مع الرموز مثل كلمات المرور - لا تُثبّت الرموز أبدًا في git.
- استخدم التحديث التلقائي للرمز للروبوتات التي تعمل لفترات طويلة.
- استخدم قوائم السماح لمعرّفات المستخدمين بدلًا من أسماء المستخدمين للتحكم في الوصول.
- راقب السجلات لمتابعة أحداث تحديث الرمز وحالة الاتصال.
- قلّل نطاقات الرموز إلى الحد الأدنى - لا تطلب سوى
chat:readوchat:write. - إذا تعذّر عليك المتابعة: أعد تشغيل Gateway بعد التأكد من عدم امتلاك أي عملية أخرى للجلسة.
الحدود
- 500 حرف لكل رسالة؛ تُقسّم الردود الأطول عند حدود الكلمات.
- تُزال صياغة Markdown قبل الإرسال (دردشة Twitch نص عادي؛ وتتحول الأسطر الجديدة إلى مسافات).
- لا يضيف OpenClaw أي تقييد لمعدل الطلبات من جانبه؛ يتولى عميل دردشة Twurple معالجة حدود معدل Twitch.
ذو صلة
- توجيه القنوات — توجيه جلسات الرسائل
- نظرة عامة على القنوات — جميع القنوات المدعومة
- المجموعات — سلوك دردشة المجموعات وبوابة الإشارة
- الاقتران — مصادقة الرسائل المباشرة وتدفق الاقتران
- الأمان — نموذج الوصول والتعزيز الأمني