Slack - قناة دردشة

دمج OpenClaw مع Slack workspace للعمل الجماعي الذكي. يدعم Socket Mode (افتراضي) أو Events API للمؤسسات الكبيرة.

Socket Mode (الموصى به):

  • لا يتطلب عنوان URL عام - يعمل خلف جدار الحماية
  • مثالي للتطوير والاستخدام الداخلي
  • إعداد أسرع وأبسط

الإعداد السريع (Socket Mode)

1. إنشاء Slack App

اذهب إلى api.slack.com/apps وأنشئ تطبيقاً جديداً:

  • انقر على "Create New App"
  • اختر "From scratch"
  • أدخل اسم التطبيق واختر workspace

2. تفعيل Socket Mode

في إعدادات التطبيق:

  • اذهب إلى Socket Mode من القائمة الجانبية
  • فعّل Socket Mode
  • اذهب إلى Basic Information → App-Level Tokens
  • أنشئ token جديد بـ scope: connections:write
  • انسخ App Token (يبدأ بـ xapp-)

3. إضافة Bot Token

في OAuth & Permissions:

  • أضف Bot Token Scopes المطلوبة:
    • chat:write - لإرسال الرسائل
    • app_mentions:read - لقراءة الإشارات
    • channels:history - لقراءة القنوات العامة
    • groups:history - لقراءة القنوات الخاصة
    • im:history - لقراءة الرسائل المباشرة
  • انقر "Install to Workspace"
  • انسخ Bot Token (يبدأ بـ xoxb-)

4. تفعيل Event Subscriptions

  • اذهب إلى Event Subscriptions
  • فعّل Events
  • أضف events:
    • app_mention
    • message.channels
    • message.groups
    • message.im

5. إعداد OpenClaw

في ~/.openclaw/openclaw.json:

{
  "channels": {
    "slack": {
      "enabled": true,
      "appToken": "xapp-...",
      "botToken": "xoxb-..."
    }
  }
}

6. إعادة تشغيل Gateway

openclaw gateway restart

الميزات المتاحة

  • 💬 الرسائل في القنوات العامة والخاصة
  • 🔔 الردود على الإشارات (@bot)
  • 📝 الرسائل المباشرة (DMs)
  • 🧵 الردود في Threads
  • ⚡ Slash Commands
  • 🎨 Rich formatting (Blocks & Attachments)
  • 📎 مشاركة الملفات
  • ⚙️ Interactive components (Buttons, Menus)

ملاحظة للمؤسسات:

  • Socket Mode مثالي للأغراض الداخلية والتطوير
  • للتوزيع العام أو المؤسسات الكبيرة، استخدم Events API + OAuth
  • Events API يتطلب URL عام قابل للوصول (استخدم ngrok أو deploy على سحابة)

الإعدادات المتقدمة

{
  "channels": {
    "slack": {
      "enabled": true,
      "appToken": "xapp-...",
      "botToken": "xoxb-...",
      "socketMode": true,           // افتراضي
      "logLevel": "info",
      "autoReconnect": true,
      "dmPolicy": "allow"            // allow | pairing | deny
    }
  }
}

استكشاف الأخطاء

  • البوت لا يستجيب: تحقق من Scopes و Event Subscriptions
  • Socket connection failed: تحقق من صحة App Token
  • Unauthorized: تحقق من Bot Token وأعد تثبيت التطبيق
  • لا يرى الرسائل: تأكد من إضافة البوت إلى القناة (/invite @bot)

الخطوات التالية