Twitch
دعم دردشة Twitch عبر اتصال IRC. يتصل OpenClaw كمستخدم Twitch (حساب روبوت) لاستقبال الرسائل وإرسالها في القنوات.Plugin مضمّن
يأتي Twitch كـ plugin مضمّن في إصدارات OpenClaw الحالية، لذا فإن النسخ المجمعة العادية لا تحتاج إلى تثبيت منفصل. إذا كنت تستخدم إصدارًا أقدم أو تثبيتًا مخصصًا لا يتضمن Twitch، فقم بتثبيته يدويًا: التثبيت عبر CLI (سجل npm):إعداد سريع (للمبتدئين)
- تأكد من أن plugin الخاص بـ Twitch متاح.
- تتضمنه إصدارات OpenClaw المجمعة الحالية بالفعل.
- يمكن لعمليات التثبيت الأقدم/المخصصة إضافته يدويًا بالأوامر أعلاه.
- أنشئ حساب Twitch مخصصًا للروبوت (أو استخدم حسابًا موجودًا).
- أنشئ بيانات الاعتماد: Twitch Token Generator
- اختر Bot Token
- تحقق من تحديد النطاقين
chat:readوchat:write - انسخ Client ID وAccess Token
- اعثر على معرّف مستخدم Twitch الخاص بك: https://www.streamweasels.com/tools/convert-twitch-username-to-user-id/
- اضبط الرمز المميز:
- متغير البيئة:
OPENCLAW_TWITCH_ACCESS_TOKEN=...(للحساب الافتراضي فقط) - أو التكوين:
channels.twitch.accessToken - إذا تم تعيين الاثنين، تكون أولوية التكوين أعلى (والرجوع إلى env للحساب الافتراضي فقط).
- متغير البيئة:
- ابدأ gateway.
allowFrom أو allowedRoles) لمنع المستخدمين غير المصرح لهم من تشغيل الروبوت. تكون requireMention مضبوطة افتراضيًا على true.
الحد الأدنى من التكوين:
ما هو
- قناة Twitch مملوكة لـ Gateway.
- توجيه حتمي: تعود الردود دائمًا إلى Twitch.
- يُطابق كل حساب مفتاح جلسة معزولًا
agent:<agentId>:twitch:<accountName>. usernameهو حساب الروبوت (الذي يصادق)، بينماchannelهي غرفة الدردشة المطلوب الانضمام إليها.
الإعداد (تفصيلي)
إنشاء بيانات الاعتماد
استخدم Twitch Token Generator:- اختر Bot Token
- تحقق من تحديد النطاقين
chat:readوchat:write - انسخ Client ID وAccess Token
ضبط الروبوت
متغير البيئة (للحساب الافتراضي فقط):التحكم في الوصول (موصى به)
allowFrom للحصول على قائمة سماح صارمة. استخدم allowedRoles بدلًا من ذلك إذا كنت تريد وصولًا قائمًا على الأدوار.
الأدوار المتاحة: "moderator" و"owner" و"vip" و"subscriber" و"all".
لماذا معرّفات المستخدمين؟ يمكن أن تتغير أسماء المستخدمين، مما يسمح بانتحال الهوية. أما معرّفات المستخدمين فهي دائمة.
اعثر على معرّف مستخدم Twitch الخاص بك: https://www.streamweasels.com/tools/convert-twitch-username-to-user-id/ (تحويل اسم مستخدم Twitch إلى معرّف)
تحديث الرمز المميز (اختياري)
لا يمكن تحديث الرموز المميزة من Twitch Token Generator تلقائيًا — أعد إنشاءها عند انتهاء صلاحيتها. للحصول على تحديث تلقائي للرمز المميز، أنشئ تطبيق Twitch خاصًا بك في Twitch Developer Console وأضف إلى التكوين:دعم الحسابات المتعددة
استخدمchannels.twitch.accounts مع رموز مميزة لكل حساب. راجع gateway/configuration للنمط المشترك.
مثال (حساب روبوت واحد في قناتين):
التحكم في الوصول
قيود قائمة على الأدوار
قائمة سماح حسب معرّف المستخدم (الأكثر أمانًا)
وصول قائم على الأدوار (بديل)
allowFrom هي قائمة سماح صارمة. عند تعيينها، يُسمح فقط لمعرّفات المستخدمين تلك.
إذا كنت تريد وصولًا قائمًا على الأدوار، فاترك allowFrom غير معيّنة واضبط allowedRoles بدلًا من ذلك:
تعطيل شرط @mention
افتراضيًا، تكونrequireMention هي true. لتعطيلها والرد على جميع الرسائل:
استكشاف الأخطاء وإصلاحها
أولًا، شغّل أوامر التشخيص:الروبوت لا يرد على الرسائل
تحقق من التحكم في الوصول: تأكد من أن معرّف المستخدم الخاص بك موجود فيallowFrom، أو أزل
allowFrom مؤقتًا واضبط allowedRoles: ["all"] للاختبار.
تحقق من وجود الروبوت في القناة: يجب أن ينضم الروبوت إلى القناة المحددة في channel.
مشكلات الرمز المميز
“Failed to connect” أو أخطاء المصادقة:- تحقق من أن
accessTokenهو قيمة OAuth access token (ويبدأ عادةً بالبادئةoauth:) - تحقق من أن الرمز المميز يملك النطاقين
chat:readوchat:write - إذا كنت تستخدم تحديث الرمز المميز، فتأكد من تعيين
clientSecretوrefreshToken
تحديث الرمز المميز لا يعمل
تحقق من السجلات بحثًا عن أحداث التحديث:- تأكد من توفير
clientSecret - تأكد من توفير
refreshToken
التكوين
تكوين الحساب:username- اسم مستخدم الروبوتaccessToken- OAuth access token معchat:readوchat:writeclientId- Twitch Client ID (من Token Generator أو من تطبيقك)channel- القناة المطلوب الانضمام إليها (مطلوب)enabled- تمكين هذا الحساب (الافتراضي:true)clientSecret- اختياري: لتحديث الرمز المميز تلقائيًاrefreshToken- اختياري: لتحديث الرمز المميز تلقائيًاexpiresIn- انتهاء صلاحية الرمز المميز بالثوانيobtainmentTimestamp- الطابع الزمني للحصول على الرمز المميزallowFrom- قائمة سماح معرّفات المستخدمينallowedRoles- التحكم في الوصول القائم على الأدوار ("moderator" | "owner" | "vip" | "subscriber" | "all")requireMention- طلب @mention (الافتراضي:true)
channels.twitch.enabled- تمكين/تعطيل بدء تشغيل القناةchannels.twitch.username- اسم مستخدم الروبوت (تكوين مبسط لحساب واحد)channels.twitch.accessToken- OAuth access token (تكوين مبسط لحساب واحد)channels.twitch.clientId- Twitch Client ID (تكوين مبسط لحساب واحد)channels.twitch.channel- القناة المطلوب الانضمام إليها (تكوين مبسط لحساب واحد)channels.twitch.accounts.<accountName>- تكوين متعدد الحسابات (جميع حقول الحساب أعلاه)
إجراءات الأداة
يمكن للوكيل استدعاءtwitch مع الإجراء:
send- إرسال رسالة إلى قناة
السلامة والعمليات
- تعامل مع الرموز المميزة كأنها كلمات مرور - لا تُدرج الرموز المميزة في git أبدًا
- استخدم تحديث الرمز المميز التلقائي للروبوتات طويلة التشغيل
- استخدم قوائم سماح معرّفات المستخدمين بدلًا من أسماء المستخدمين للتحكم في الوصول
- راقب السجلات لأحداث تحديث الرموز المميزة وحالة الاتصال
- قلّل نطاقات الرموز المميزة لأدنى حد - اطلب فقط
chat:readوchat:write - إذا علقت: أعد تشغيل gateway بعد التأكد من عدم وجود عملية أخرى تملك الجلسة
الحدود
- 500 حرف لكل رسالة (مع تجزئة تلقائية عند حدود الكلمات)
- تتم إزالة Markdown قبل التجزئة
- لا يوجد تحديد لمعدل الطلبات (يستخدم حدود المعدل المضمنة في Twitch)
ذو صلة
- نظرة عامة على القنوات — جميع القنوات المدعومة
- Pairing — مصادقة الرسائل المباشرة وتدفق pairing
- المجموعات — سلوك الدردشة الجماعية وتقييد الإشارات
- توجيه القنوات — توجيه الجلسات للرسائل
- الأمان — نموذج الوصول والتقوية