Discord
قم بتوصيل وكيل Triggerfish الخاص بك بـ Discord حتى يتمكن من الرد في قنوات الخادم والرسائل المباشرة. يستخدم المحوّل discord.js للاتصال بـ Discord Gateway.
التصنيف الافتراضي
يتم تصنيف Discord افتراضياً كـ PUBLIC. غالباً ما تشمل خوادم Discord مزيجاً من الأعضاء الموثوقين والزوار العامين، لذا PUBLIC هو الافتراضي الآمن. يمكنك رفعه إذا كان خادمك خاصاً وموثوقاً.
الإعداد
الخطوة 1: إنشاء تطبيق Discord
- اذهب إلى بوابة مطوري Discord
- انقر New Application
- سمِّ تطبيقك (مثل "Triggerfish")
- انقر Create
الخطوة 2: إنشاء مستخدم بوت
- في تطبيقك، انتقل إلى Bot في الشريط الجانبي
- انقر Add Bot (إذا لم يكن مُنشأً بالفعل)
- تحت اسم البوت، انقر Reset Token لتوليد رمز جديد
- انسخ رمز البوت
حافظ على سرية الرمز رمز البوت يمنح تحكماً كاملاً في
بوتك. لا تقم أبداً بإيداعه في التحكم بالمصادر أو مشاركته علنياً. :::
الخطوة 3: تكوين النوايا المميزة
لا تزال في صفحة Bot، فعّل نوايا Gateway المميزة هذه:
- Message Content Intent -- مطلوبة لقراءة محتوى الرسائل
- Server Members Intent -- اختيارية، للبحث عن الأعضاء
الخطوة 4: الحصول على معرّف مستخدم Discord
- افتح Discord
- اذهب إلى Settings > Advanced وفعّل Developer Mode
- انقر اسم المستخدم الخاص بك في أي مكان في Discord
- انقر Copy User ID
هذا هو معرّف snowflake الذي يستخدمه Triggerfish للتحقق من هوية المالك.
الخطوة 5: إنشاء رابط دعوة
- في بوابة المطورين، انتقل إلى OAuth2 > URL Generator
- تحت Scopes، اختر
bot - تحت Bot Permissions، اختر:
- Send Messages
- Read Message History
- View Channels
- انسخ الرابط المُولّد وافتحه في متصفحك
- اختر الخادم الذي تريد إضافة البوت إليه وانقر Authorize
الخطوة 6: تكوين Triggerfish
أضف قناة Discord إلى triggerfish.yaml:
yaml
channels:
discord:
# botToken مخزّن في سلسلة مفاتيح نظام التشغيل
ownerId: "123456789012345678"| الخيار | النوع | مطلوب | الوصف |
|---|---|---|---|
botToken | string | نعم | رمز بوت Discord |
ownerId | string | موصى به | معرّف مستخدم Discord (snowflake) للتحقق من المالك |
classification | string | لا | مستوى التصنيف (الافتراضي: 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.
