Skip to content

Discord

Koble Triggerfish-agenten din til Discord slik at den kan svare i serverkanaler og direktemeldinger. Adapteren bruker discord.js til å koble til Discord Gateway.

Standard klassifisering

Discord er som standard PUBLIC-klassifisert. Discord-servere inkluderer ofte en blanding av betrodde medlemmer og offentlige besøkende, så PUBLIC er den trygge standarden. Du kan heve dette hvis serveren din er privat og betrodd.

Oppsett

Trinn 1: Opprett en Discord-applikasjon

  1. Gå til Discord Developer Portal
  2. Klikk New Application
  3. Navngi applikasjonen din (f.eks. «Triggerfish»)
  4. Klikk Create

Trinn 2: Opprett en botbruker

  1. I applikasjonen din, naviger til Bot i sidefeltet
  2. Klikk Add Bot (hvis ikke allerede opprettet)
  3. Under botens brukernavn, klikk Reset Token for å generere et nytt token
  4. Kopier bot-tokenet

Hold tokenet ditt hemmelig Bot-tokenet ditt gir full kontroll over boten din. Commit det aldri til kildekontroll eller del det offentlig. :::

Trinn 3: Konfigurer privilegerte hensikter

Fortsatt på Bot-siden, aktiver disse privilegerte gateway-hensiktene:

  • Message Content Intent — Påkrevd for å lese meldingsinnhold
  • Server Members Intent — Valgfritt, for medlemsoppslag

Trinn 4: Finn din Discord bruker-ID

  1. Åpne Discord
  2. Gå til Settings > Advanced og aktiver Developer Mode
  3. Klikk brukernavnet ditt hvor som helst i Discord
  4. Klikk Copy User ID

Dette er snowflake-ID-en som Triggerfish bruker for å verifisere eieridentitet.

Trinn 5: Generer en invitasjonslenke

  1. I Developer Portal, naviger til OAuth2 > URL Generator
  2. Under Scopes, velg bot
  3. Under Bot Permissions, velg:
    • Send Messages
    • Read Message History
    • View Channels
  4. Kopier den genererte URL-en og åpne den i nettleseren din
  5. Velg serveren du vil legge boten til og klikk Authorize

Trinn 6: Konfigurer Triggerfish

Legg til Discord-kanalen i din triggerfish.yaml:

yaml
channels:
  discord:
    # botToken lagret i OS-nøkkelringen
    ownerId: "123456789012345678"
AlternativTypePåkrevdBeskrivelse
botTokenstringJaDiscord bot-token
ownerIdstringAnbefaltDin Discord bruker-ID (snowflake) for eierverifisering
classificationstringNeiKlassifiseringsnivå (standard: PUBLIC)

Trinn 7: Start Triggerfish

bash
triggerfish stop && triggerfish start

Send en melding i en kanal der boten er til stede, eller DM den direkte, for å bekrefte tilkoblingen.

Eieridentitet

Triggerfish bestemmer eierstatus ved å sammenligne avsenderens Discord bruker-ID mot den konfigurerte ownerId. Denne sjekken skjer i kode før LLM-en ser meldingen:

  • Samsvar — Meldingen er en eierkommando
  • Ingen samsvar — Meldingen er ekstern inndata med PUBLIC-taint

Hvis ingen ownerId er konfigurert, behandles alle meldinger som om de kommer fra eieren.

Angi alltid eier-ID Hvis boten din er på en server med andre medlemmer, konfigurer alltid ownerId. Uten den kan ethvert servermedlem gi kommandoer til agenten din. :::

Meldingsdeling

Discord har en 2 000-tegns meldingsgrense. Når agenten genererer et svar som er lengre enn dette, deler Triggerfish det automatisk i flere meldinger. Deleren deler ved linjeskift eller mellomrom for å bevare lesbarhet.

Botanferd

Discord-adapteren:

  • Ignorerer egne meldinger — Boten svarer ikke på meldinger den sender
  • Lytter i alle tilgjengelige kanaler — Guild-kanaler, gruppe-DM-er og direktemeldinger
  • Krever Message Content Intent — Uten dette mottar boten tomme meldingshendelser

Skriveindikatorer

Triggerfish sender skriveindikatorer til Discord når agenten behandler en forespørsel. Discord eksponerer ikke skrivebegivenheter fra brukere til bots på en pålitelig måte, så dette er bare-send.

Gruppechat

Boten kan delta i serverkanaler. Konfigurer gruppeatferd:

yaml
groups:
  default_behavior: "mentioned-only"
  overrides:
    - channel: discord
      behavior: "always"
AtferdBeskrivelse
mentioned-onlySvar bare når boten @nevnes
alwaysSvar på alle meldinger i kanalen

Endre klassifisering

yaml
channels:
  discord:
    # botToken lagret i OS-nøkkelringen
    ownerId: "123456789012345678"
    classification: INTERNAL

Gyldige nivåer: PUBLIC, INTERNAL, CONFIDENTIAL, RESTRICTED.