Discord
Connetta il Suo agente Triggerfish a Discord affinché possa rispondere nei canali del server e nei messaggi diretti. L'adattatore utilizza discord.js per connettersi al Gateway Discord.
Classificazione Predefinita
Discord è predefinito a classificazione PUBLIC. I server Discord spesso includono un mix di membri fidati e visitatori pubblici, quindi PUBLIC è il valore predefinito sicuro. Può alzarlo se il Suo server è privato e fidato.
Configurazione
Passaggio 1: Crei un'Applicazione Discord
- Vada al Portale Sviluppatori Discord
- Clicchi New Application
- Nomini la Sua applicazione (es. "Triggerfish")
- Clicchi Create
Passaggio 2: Crei un Utente Bot
- Nella Sua applicazione, navighi su Bot nella barra laterale
- Clicchi Add Bot (se non già creato)
- Sotto lo username del bot, clicchi Reset Token per generare un nuovo token
- Copi il token bot
Mantenga il Suo Token Segreto Il token bot concede il pieno
controllo del Suo bot. Non lo commetta mai nel controllo versione e non lo condivida pubblicamente. :::
Passaggio 3: Configuri i Privileged Intent
Sempre nella pagina Bot, abiliti questi privileged gateway intent:
- Message Content Intent -- Necessario per leggere il contenuto dei messaggi
- Server Members Intent -- Opzionale, per la ricerca dei membri
Passaggio 4: Ottenga il Suo ID Utente Discord
- Apra Discord
- Vada su Impostazioni > Avanzate e abiliti la Modalità Sviluppatore
- Clicchi sul Suo username ovunque in Discord
- Clicchi Copia ID Utente
Questo è l'ID snowflake che Triggerfish usa per verificare l'identità del proprietario.
Passaggio 5: Generi un Link di Invito
- Nel Portale Sviluppatori, navighi su OAuth2 > URL Generator
- Sotto Scopes, selezioni
bot - Sotto Bot Permissions, selezioni:
- Send Messages
- Read Message History
- View Channels
- Copi l'URL generato e lo apra nel browser
- Selezioni il server a cui aggiungere il bot e clicchi Authorize
Passaggio 6: Configuri Triggerfish
Aggiunga il canale Discord al Suo triggerfish.yaml:
yaml
channels:
discord:
# botToken archiviato nel portachiavi del SO
ownerId: "123456789012345678"| Opzione | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
botToken | string | Sì | Token bot Discord |
ownerId | string | Consigliato | Il Suo ID utente Discord (snowflake) per la verifica proprietario |
classification | string | No | Livello di classificazione (default: PUBLIC) |
Passaggio 7: Avvii Triggerfish
bash
triggerfish stop && triggerfish startInvii un messaggio in un canale dove il bot è presente, o gli scriva direttamente, per confermare la connessione.
Identità del Proprietario
Triggerfish determina lo stato di proprietario confrontando l'ID utente Discord del mittente con il ownerId configurato. Questo controllo avviene nel codice prima che l'LLM veda il messaggio:
- Corrispondenza -- Il messaggio è un comando del proprietario
- Nessuna corrispondenza -- Il messaggio è input esterno con taint
PUBLIC
Se nessun ownerId è configurato, tutti i messaggi sono trattati come provenienti dal proprietario.
Imposti Sempre l'Owner ID Se il Suo bot è in un server con altri
membri, configuri sempre ownerId. Senza di esso, qualsiasi membro del server può impartire comandi al Suo agente. :::
Suddivisione Messaggi
Discord ha un limite di 2.000 caratteri per messaggio. Quando l'agente genera una risposta più lunga, Triggerfish la divide automaticamente in più messaggi. Il suddivisore divide su newline o spazi per preservare la leggibilità.
Comportamento del Bot
L'adattatore Discord:
- Ignora i propri messaggi -- Il bot non risponde ai messaggi che invia
- Ascolta in tutti i canali accessibili -- Canali del server, DM di gruppo e messaggi diretti
- Richiede Message Content Intent -- Senza questo, il bot riceve eventi messaggio vuoti
Indicatori di Digitazione
Triggerfish invia indicatori di digitazione a Discord quando l'agente sta elaborando una richiesta. Discord non espone gli eventi di digitazione dagli utenti ai bot in modo affidabile, quindi è solo in invio.
Chat di Gruppo
Il bot può partecipare ai canali del server. Configuri il comportamento di gruppo:
yaml
groups:
default_behavior: "mentioned-only"
overrides:
- channel: discord
behavior: "always"| Comportamento | Descrizione |
|---|---|
mentioned-only | Risponde solo quando il bot è @menzionato |
always | Risponde a tutti i messaggi nel canale |
Cambiare la Classificazione
yaml
channels:
discord:
# botToken archiviato nel portachiavi del SO
ownerId: "123456789012345678"
classification: INTERNALLivelli validi: PUBLIC, INTERNAL, CONFIDENTIAL, RESTRICTED.
