IRC
استخدم IRC عندما تريد OpenClaw في القنوات التقليدية (#room) والرسائل الخاصة.
يُشحن IRC كإضافة plugin، لكنه يُكوَّن في التكوين الرئيسي ضمن channels.irc.
البدء السريع
- فعّل تكوين IRC في
~/.openclaw/openclaw.json. - اضبط على الأقل:
- ابدأ/أعد تشغيل البوابة:
الإعدادات الأمنية الافتراضية
- القيمة الافتراضية لـ
channels.irc.dmPolicyهي"pairing". - القيمة الافتراضية لـ
channels.irc.groupPolicyهي"allowlist". - عند استخدام
groupPolicy="allowlist"، اضبطchannels.irc.groupsلتعريف القنوات المسموح بها. - استخدم TLS (
channels.irc.tls=true) ما لم تكن تقبل عمدًا النقل بنص واضح.
التحكم في الوصول
هناك “بوابتان” منفصلتان لقنوات IRC:- الوصول إلى القناة (
groupPolicy+groups): ما إذا كان البوت يقبل الرسائل من القناة أصلًا. - وصول المرسل (
groupAllowFrom/groups["#channel"].allowFromلكل قناة): من المسموح له بتشغيل البوت داخل تلك القناة.
- قائمة السماح للرسائل الخاصة (وصول مرسل الرسائل الخاصة):
channels.irc.allowFrom - قائمة السماح لمرسلي المجموعات (وصول مرسل القناة):
channels.irc.groupAllowFrom - عناصر التحكم لكل قناة (القناة + المرسل + قواعد الإشارة):
channels.irc.groups["#channel"] - يتيح
channels.irc.groupPolicy="open"القنوات غير المكوّنة (مع استمرار تقييدها بالإشارات افتراضيًا)
nick!user@host).
مطابقة الاسم المستعار المجرد قابلة للتغيير ولا يتم تمكينها إلا عند channels.irc.dangerouslyAllowNameMatching: true.
مشكلة شائعة: allowFrom مخصص للرسائل الخاصة، وليس للقنوات
إذا رأيت سجلات مثل:
irc: drop group sender alice!ident@host (policy=allowlist)
- ضبط
channels.irc.groupAllowFrom(عام لكل القنوات)، أو - ضبط قوائم السماح للمرسلين لكل قناة:
channels.irc.groups["#channel"].allowFrom
#tuirc-dev بالتحدث إلى البوت):
تشغيل الردود (الإشارات)
حتى إذا كانت القناة مسموحًا بها (عبرgroupPolicy + groups) وكان المرسل مسموحًا به، فإن OpenClaw يطبّق افتراضيًا تقييدًا بالإشارات في سياقات المجموعات.
هذا يعني أنك قد ترى سجلات مثل drop channel … (missing-mention) ما لم تتضمن الرسالة نمط إشارة يطابق البوت.
لجعل البوت يرد في قناة IRC من دون الحاجة إلى إشارة، عطّل تقييد الإشارات لتلك القناة:
ملاحظة أمنية (موصى بها للقنوات العامة)
إذا سمحت بـallowFrom: ["*"] في قناة عامة، يمكن لأي شخص إرسال مطالبات إلى البوت.
لتقليل المخاطر، قيّد الأدوات لتلك القناة.
الأدوات نفسها للجميع في القناة
أدوات مختلفة لكل مرسل (المالك يحصل على صلاحيات أكبر)
استخدمtoolsBySender لتطبيق سياسة أكثر صرامة على "*" وسياسة أقل صرامة على اسمك المستعار:
- يجب أن تستخدم مفاتيح
toolsBySenderالبادئةid:لقيم هوية مرسل IRC:id:eigenأوid:eigen!~eigen@174.127.248.171لمطابقة أقوى. - لا تزال المفاتيح القديمة غير المسبوقة ببادئة مقبولة وتُطابَق على أنها
id:فقط. - تفوز أول سياسة مرسل مطابقة؛ و
"*"هي البديل العام.
NickServ
للتعريف باستخدام NickServ بعد الاتصال:register بعد تسجيل الاسم المستعار لتجنب محاولات REGISTER المتكررة.
متغيرات البيئة
يدعم الحساب الافتراضي ما يلي:IRC_HOSTIRC_PORTIRC_TLSIRC_NICKIRC_USERNAMEIRC_REALNAMEIRC_PASSWORDIRC_CHANNELS(مفصولة بفواصل)IRC_NICKSERV_PASSWORDIRC_NICKSERV_REGISTER_EMAIL
استكشاف الأخطاء وإصلاحها
- إذا اتصل البوت لكنه لا يرد أبدًا في القنوات، فتحقق من
channels.irc.groupsوأيضًا مما إذا كان تقييد الإشارات يسقط الرسائل (missing-mention). إذا كنت تريده أن يرد من دون تنبيهات، فاضبطrequireMention:falseللقناة. - إذا فشل تسجيل الدخول، فتحقق من توفر الاسم المستعار وكلمة مرور الخادم.
- إذا فشل TLS على شبكة مخصصة، فتحقق من إعدادات المضيف/المنفذ والشهادة.
ذو صلة
- نظرة عامة على القنوات — جميع القنوات المدعومة
- الإقران — مصادقة الرسائل الخاصة وتدفق الإقران
- المجموعات — سلوك دردشة المجموعات وتقييد الإشارات
- توجيه القنوات — توجيه الجلسات للرسائل
- الأمان — نموذج الوصول والتقوية