Skip to content

Discord

قم بتوصيل وكيل Triggerfish الخاص بك بـ Discord حتى يتمكن من الرد في قنوات الخادم والرسائل المباشرة. يستخدم المحوّل discord.js للاتصال بـ Discord Gateway.

التصنيف الافتراضي

يتم تصنيف Discord افتراضياً كـ PUBLIC. غالباً ما تشمل خوادم Discord مزيجاً من الأعضاء الموثوقين والزوار العامين، لذا PUBLIC هو الافتراضي الآمن. يمكنك رفعه إذا كان خادمك خاصاً وموثوقاً.

الإعداد

الخطوة 1: إنشاء تطبيق Discord

  1. اذهب إلى بوابة مطوري Discord
  2. انقر New Application
  3. سمِّ تطبيقك (مثل "Triggerfish")
  4. انقر Create

الخطوة 2: إنشاء مستخدم بوت

  1. في تطبيقك، انتقل إلى Bot في الشريط الجانبي
  2. انقر Add Bot (إذا لم يكن مُنشأً بالفعل)
  3. تحت اسم البوت، انقر Reset Token لتوليد رمز جديد
  4. انسخ رمز البوت

حافظ على سرية الرمز رمز البوت يمنح تحكماً كاملاً في

بوتك. لا تقم أبداً بإيداعه في التحكم بالمصادر أو مشاركته علنياً. :::

الخطوة 3: تكوين النوايا المميزة

لا تزال في صفحة Bot، فعّل نوايا Gateway المميزة هذه:

  • Message Content Intent -- مطلوبة لقراءة محتوى الرسائل
  • Server Members Intent -- اختيارية، للبحث عن الأعضاء

الخطوة 4: الحصول على معرّف مستخدم Discord

  1. افتح Discord
  2. اذهب إلى Settings > Advanced وفعّل Developer Mode
  3. انقر اسم المستخدم الخاص بك في أي مكان في Discord
  4. انقر Copy User ID

هذا هو معرّف snowflake الذي يستخدمه Triggerfish للتحقق من هوية المالك.

الخطوة 5: إنشاء رابط دعوة

  1. في بوابة المطورين، انتقل إلى OAuth2 > URL Generator
  2. تحت Scopes، اختر bot
  3. تحت Bot Permissions، اختر:
    • Send Messages
    • Read Message History
    • View Channels
  4. انسخ الرابط المُولّد وافتحه في متصفحك
  5. اختر الخادم الذي تريد إضافة البوت إليه وانقر Authorize

الخطوة 6: تكوين Triggerfish

أضف قناة Discord إلى triggerfish.yaml:

yaml
channels:
  discord:
    # botToken مخزّن في سلسلة مفاتيح نظام التشغيل
    ownerId: "123456789012345678"
الخيارالنوعمطلوبالوصف
botTokenstringنعمرمز بوت Discord
ownerIdstringموصى بهمعرّف مستخدم Discord (snowflake) للتحقق من المالك
classificationstringلامستوى التصنيف (الافتراضي: PUBLIC)

الخطوة 7: تشغيل Triggerfish

bash
triggerfish stop && triggerfish start

أرسل رسالة في قناة حيث البوت موجود، أو أرسل له رسالة مباشرة، لتأكيد الاتصال.

هوية المالك

يحدد Triggerfish حالة المالك بمقارنة معرّف مستخدم Discord للمرسل مع ownerId المُعدّ. يتم هذا الفحص في الكود قبل أن يرى LLM الرسالة:

  • تطابق -- الرسالة أمر المالك
  • عدم تطابق -- الرسالة إدخال خارجي بتلوث PUBLIC

إذا لم يتم تكوين ownerId، تُعامل جميع الرسائل كأنها من المالك.

عيّن معرّف المالك دائماً إذا كان البوت في خادم مع أعضاء آخرين،

كوّن ownerId دائماً. بدونه، يمكن لأي عضو في الخادم إصدار أوامر لوكيلك. :::

تقسيم الرسائل

لدى Discord حد 2,000 حرف للرسالة. عندما يولّد الوكيل رداً أطول من هذا، يقسمه Triggerfish تلقائياً إلى رسائل متعددة. يقسم المُقسّم عند أسطر جديدة أو مسافات للحفاظ على سهولة القراءة.

سلوك البوت

محوّل Discord:

  • يتجاهل رسائله الخاصة -- لن يرد البوت على الرسائل التي يرسلها
  • يستمع في جميع القنوات المتاحة -- قنوات الخادم والرسائل المباشرة الجماعية والرسائل المباشرة
  • يتطلب Message Content Intent -- بدونها، يستقبل البوت أحداث رسائل فارغة

مؤشرات الكتابة

يرسل Triggerfish مؤشرات كتابة إلى Discord عندما يعالج الوكيل طلباً. لا يكشف Discord أحداث الكتابة من المستخدمين للبوتات بطريقة موثوقة، لذا هذا إرسال فقط.

دردشة المجموعات

يمكن للبوت المشاركة في قنوات الخادم. كوّن سلوك المجموعة:

yaml
groups:
  default_behavior: "mentioned-only"
  overrides:
    - channel: discord
      behavior: "always"
السلوكالوصف
mentioned-onlyالرد فقط عند ذكر البوت بـ @
alwaysالرد على جميع الرسائل في القناة

تغيير التصنيف

yaml
channels:
  discord:
    # botToken مخزّن في سلسلة مفاتيح نظام التشغيل
    ownerId: "123456789012345678"
    classification: INTERNAL

المستويات الصالحة: PUBLIC، INTERNAL، CONFIDENTIAL، RESTRICTED.