Discord
חברו את סוכן ה-Triggerfish שלכם ל-Discord כדי שיוכל להגיב בערוצי שרת ובהודעות ישירות. המתאם משתמש ב-discord.js לחיבור ל-Discord Gateway.
סיווג ברירת מחדל
Discord מוגדר כברירת מחדל לסיווג PUBLIC. שרתי Discord כוללים לעיתים קרובות תערובת של חברים מהימנים ומבקרים ציבוריים, כך ש-PUBLIC הוא ברירת המחדל הבטוחה. ניתן להעלות זאת אם השרת שלכם פרטי ומהימן.
הגדרה
שלב 1: יצירת אפליקציית Discord
- גשו ל- Discord Developer Portal
- לחצו New Application
- תנו שם לאפליקציה (למשל, "Triggerfish")
- לחצו Create
שלב 2: יצירת משתמש בוט
- באפליקציה, נווטו ל-Bot בסרגל הצד
- לחצו Add Bot (אם לא נוצר כבר)
- תחת שם המשתמש של הבוט, לחצו Reset Token ליצירת טוקן חדש
- העתיקו את טוקן הבוט
שמרו על הטוקן בסוד טוקן הבוט מעניק שליטה מלאה על הבוט.
לעולם אל תכניסו אותו לניהול גרסאות או תשתפו אותו בפומבי. :::
שלב 3: הגדרת Intents מיוחסים
עדיין בעמוד Bot, הפעילו את gateway intents המיוחסים הבאים:
- Message Content Intent -- נדרש לקריאת תוכן הודעות
- Server Members Intent -- אופציונלי, לחיפוש חברים
שלב 4: קבלת מזהה המשתמש שלכם ב-Discord
- פתחו את Discord
- גשו ל-Settings > Advanced והפעילו Developer Mode
- לחצו על שם המשתמש שלכם בכל מקום ב-Discord
- לחצו Copy User ID
זהו מזהה ה-snowflake ש-Triggerfish משתמש בו לאימות זהות הבעלים.
שלב 5: יצירת קישור הזמנה
- ב-Developer Portal, נווטו ל-OAuth2 > URL Generator
- תחת Scopes, בחרו
bot - תחת Bot Permissions, בחרו:
- Send Messages
- Read Message History
- View Channels
- העתיקו את ה-URL שנוצר ופתחו אותו בדפדפן
- בחרו את השרת שאליו אתם רוצים להוסיף את הבוט ולחצו Authorize
שלב 6: הגדרת Triggerfish
הוסיפו את ערוץ ה-Discord ל-triggerfish.yaml:
yaml
channels:
discord:
# botToken מאוחסן ב-OS keychain
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 מאוחסן ב-OS keychain
ownerId: "123456789012345678"
classification: INTERNALרמות תקפות: PUBLIC, INTERNAL, CONFIDENTIAL, RESTRICTED.
