Skip to content

Discord

חברו את סוכן ה-Triggerfish שלכם ל-Discord כדי שיוכל להגיב בערוצי שרת ובהודעות ישירות. המתאם משתמש ב-discord.js לחיבור ל-Discord Gateway.

סיווג ברירת מחדל

Discord מוגדר כברירת מחדל לסיווג PUBLIC. שרתי Discord כוללים לעיתים קרובות תערובת של חברים מהימנים ומבקרים ציבוריים, כך ש-PUBLIC הוא ברירת המחדל הבטוחה. ניתן להעלות זאת אם השרת שלכם פרטי ומהימן.

הגדרה

שלב 1: יצירת אפליקציית Discord

  1. גשו ל- Discord Developer Portal
  2. לחצו New Application
  3. תנו שם לאפליקציה (למשל, "Triggerfish")
  4. לחצו Create

שלב 2: יצירת משתמש בוט

  1. באפליקציה, נווטו ל-Bot בסרגל הצד
  2. לחצו Add Bot (אם לא נוצר כבר)
  3. תחת שם המשתמש של הבוט, לחצו Reset Token ליצירת טוקן חדש
  4. העתיקו את טוקן הבוט

שמרו על הטוקן בסוד טוקן הבוט מעניק שליטה מלאה על הבוט.

לעולם אל תכניסו אותו לניהול גרסאות או תשתפו אותו בפומבי. :::

שלב 3: הגדרת Intents מיוחסים

עדיין בעמוד Bot, הפעילו את gateway intents המיוחסים הבאים:

  • 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. ב-Developer Portal, נווטו ל-OAuth2 > URL Generator
  2. תחת Scopes, בחרו bot
  3. תחת Bot Permissions, בחרו:
    • Send Messages
    • Read Message History
    • View Channels
  4. העתיקו את ה-URL שנוצר ופתחו אותו בדפדפן
  5. בחרו את השרת שאליו אתם רוצים להוסיף את הבוט ולחצו Authorize

שלב 6: הגדרת Triggerfish

הוסיפו את ערוץ ה-Discord ל-triggerfish.yaml:

yaml
channels:
  discord:
    # botToken מאוחסן ב-OS keychain
    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 מאוחסן ב-OS keychain
    ownerId: "123456789012345678"
    classification: INTERNAL

רמות תקפות: PUBLIC, INTERNAL, CONFIDENTIAL, RESTRICTED.