Skip to main content
دعم دردشة Twitch عبر واجهة الدردشة (IRC) الخاصة بـ Twitch باستخدام عميل Twurple. يسجّل OpenClaw الدخول بحساب روبوت Twitch، وينضم إلى قناة واحدة لكل حساب مُعدّ، ويرد في تلك القناة.

التثبيت

يُوزَّع Twitch بصفته Plugin رسميًا؛ وهو ليس جزءًا من التثبيت الأساسي.
يسجّل 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

أضف تحكمًا في الوصول (allowFrom أو allowedRoles) لمنع المستخدمين غير المصرّح لهم من تشغيل الروبوت. القيمة الافتراضية لـ requireMention هي true.
الحد الأدنى للإعداد:

ماهيته

  • قناة Twitch يملكها Gateway.
  • توجيه حتمي: تعود الردود دائمًا إلى قناة Twitch التي وردت منها الرسالة.
  • ترتبط كل قناة منضم إليها بمفتاح جلسة مجموعة معزول agent:<agentId>:twitch:group:<channel>.
  • يمثّل username حساب الروبوت (الذي يجري المصادقة)، بينما يحدد channel غرفة الدردشة المطلوب الانضمام إليها. ينضم كل إدخال حساب إلى قناة واحدة بالضبط.
  • تعمل الرموز مع البادئة oauth: أو من دونها؛ يطبّع OpenClaw الصيغتين (ويتوقع معالج الإعداد الصيغة التي تتضمن oauth:).

تحديث الرمز (اختياري)

لا يستطيع OpenClaw تحديث الرموز الصادرة من مولّد رموز Twitch؛ أنشئها مجددًا عند انتهاء صلاحيتها (تدوم بضع ساعات، ولا يلزم تسجيل تطبيق). للتحديث التلقائي، أنشئ تطبيقك الخاص في لوحة مطوري Twitch وأضف:
عند ضبط القيمتين، يستخدم الـ Plugin موفّر مصادقة قابلًا للتحديث، يجدّد الرموز قبل انتهاء صلاحيتها ويسجّل كل عملية تحديث. من دون 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.

ذو صلة