Discord: bot i din server

Registrera en Discord-app, koppla till din server med rätt intents och låt agent-loopen svara på meddelanden.

6 minBygg din AI-assistent
Illustration för lektionen Discord: bot i din server

Vad du bygger

En Discord-bot som lever i din community-server, lyssnar på meddelanden eller slash-kommandon och svarar med samma agent-logik som du redan byggt — perfekt för hobby-communities eller kundsupport.

Innan du börjar

  • Discord-konto med en server du är admin på
  • Din agent-endpoint från "Agent-loopen"
  • Node/Deno-miljö för att köra interactions endpoint (samma stack som Byggloftet)

Steg för steg

  1. Skapa appen — Gå till discord.com/developers/applications → New Application → namnge den "Bygge".
  2. Lägg till en Bot — Under fliken Bot → Add Bot. Kopiera token och spara som secret DISCORD_BOT_TOKEN.
  3. Sätt Message Content Intent — Slå på "Message Content Intent" (krävs för att läsa meddelanden i vanliga kanaler).
  4. Bjud in botten — Under OAuth2 → URL Generator, välj scopes bot + applications.commands och permissions Send Messages + Read Message History. Öppna länken och lägg till botten i servern.
  5. Interactions endpoint — Peka Discord på https://…/api/public/discord/interactions. Verifiera signatur med Ed25519 mot DISCORD_PUBLIC_KEY och svara på PING med { type: 1 }.
  6. Registrera slash-kommando — POST /applications/{app_id}/commands med t.ex. /fraga <text>. Returnera { type: 4, data: { content: "..." } } från din endpoint.

Byggloftets tips

  • För långa svar, returnera först { type: 5 } (deferred) och följ upp med PATCH /webhooks/{app_id}/{token}/messages/@original.
  • Slash-kommandon är enklare att moderera än fri text — börja där.

Vanliga fel

  • Signature verification failed: Discord verifierar ALLA requests, även challenge — signaturen måste beräknas över raw body, inte JSON-parsad.
  • Botten syns offline: Slash-kommandon fungerar utan gateway-anslutning, men klassisk on_message kräver en aktiv WebSocket.

Du är klar när…

Du skriver /fraga vad är Byggloftet? i din Discord-server och Bygge svarar i kanalen inom 3 sekunder.

Steg för steg i bild

Skapa appen
1. Skapa appen
Lägg till en Bot
2. Lägg till en Bot
Sätt Message Content Intent
3. Sätt Message Content Intent