Behöver ert företag hjälp med att implementera AI? Kontakta oss och få prisoffert här →
AI Skolan
januari 22, 2026

Discord + google sheets: bättre mod, tydlig logg

Rickard Andersson Partner, Nodenordic.se

Manuell moderering i Discord faller isär på samma ställe varje gång: volym. En dålig tråd blir till 40 meddelanden, och plötsligt scrollar du, gissar avsikt och hoppas att du inte tar bort fel sak.

Community managers känner av det först. Marknadsansvariga som driver creator-communities hanterar det också. Och om du är en grundare med en ”liten” server som växer snabbt ger den här Discord-modereringsautomationen dig konsekventa beslut utan att du behöver leva i mod-kön.

Det här flödet använder Google Sheets som din levande regelbok, låter OpenAI kontrollera senaste meddelanden för kontext (inte bara nyckelord), tar bort överträdelser försiktigt och postar en strukturerad granskningsnotis till en admin-kanal så att du kan gå tillbaka och granska beslut senare.

Så fungerar automationen

Hela n8n-flödet, från trigger till slutresultat:

n8n Workflow Template: Discord + google sheets: bättre mod, tydlig logg

Problemet: Discord-moderering blir inkonsekvent (snabbt)

De flesta Discord-servrar misslyckas inte med moderering för att ingen bryr sig. De misslyckas för att standarder finns i någons huvud, och beslut ändras beroende på humör, kontext eller vem som är i tjänst. Ett meddelande som ”du är värdelös” är enkelt. De svåra är gränsfallen, intern jargong eller ”på skoj”-trakasserier som fortsätter dyka upp. Till slut tar du antingen bort för aggressivt (communityt reagerar) eller låter för mycket passera (bra medlemmar försvinner tyst). Samtidigt har du inget försvarbart underlag för varför ett meddelande togs bort.

Friktionen byggs på. Inte i ett dramatiskt ögonblick, utan i dussintals små beslut du måste ta varje dag.

  • Moderatorer lägger cirka 1–2 timmar per dag på att läsa trådar som aldrig borde ha eskalerat.
  • Två olika moderatorer kan fatta två olika beslut om samma typ av meddelande, vilket lär communityt att argumentera i stället för att sköta sig.
  • Nyckelordsfilter missar avsikt, så ”korrekt formaterade” giftiga meddelanden slinker igenom medan harmlös slang flaggas.
  • När någon klagar har du ingen tydlig revisionslogg som visar vad som togs bort och varför.

Lösningen: AI-moderering som lär sig av ditt Google Sheet

Det här n8n-flödet övervakar en Discord-kanal enligt schema (varje minut som standard), hämtar sedan dina ”standarder” från ett Google Sheet som innehåller verkliga exempel på vad du tar bort och vad du tillåter, plus anledningen. Det hämtar de senaste meddelandena från den valda kanalen (10 som standard), formaterar allt till en strukturerad prompt och ber en AI-agent som drivs av OpenAI:s GPT-5 Mini-modell att bedöma varje meddelande i kontext. AI:n svarar inte med ett svävande stycke text. Den returnerar en JSON-lista med meddelandeindex som bryter mot dina riktlinjer.

Därefter mappar flödet de flaggade indexen tillbaka till faktiska Discord message IDs, tar bort dem en och en (med inbyggd fördröjning för att undvika rate limits) och postar sedan en detaljerad notis i din admin-kanal med författare, message ID och originalinnehåll. Du får renare kanaler och en försvarbar logg att hänvisa till när någon frågar: ”Varför togs det där bort?”

Det du får: automation vs. resultat

Exempel: så här ser det ut

Säg att din server i snitt får 200 nya meddelanden per timme i en aktiv kanal. En mänsklig moderator som tittar in var 10:e minut kanske lägger cirka 5 minuter på att läsa kontext och besluta vad som ska göras, vilket blir ungefär 1–2 timmar per dag. Med det här flödet som kör varje minut lägger du kanske 20 minuter en gång på att ställa in dina ID:n och dina Google Sheet-exempel, och låter sedan flödet jobba. Varje körning granskar de senaste 10 meddelandena, flaggar bara problemen, tar bort dem med en kort fördröjning och lämnar en notis i din admin-kanal. Du har fortfarande kontroll över besluten, men den konstanta scanningförsvinner.

Det här behöver du

  • n8n-instans (prova n8n Cloud gratis)
  • Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
  • Discord för att läsa, ta bort och posta modereringsloggar.
  • Google Sheets för träningsexempel och modereringsstandarder.
  • OpenAI API-nyckel (hämta den i din OpenAI-dashboard).

Kunskapsnivå: Medel. Du klistrar in kanal-/server-ID:n, kopplar credentials och justerar en prompt utan att bygga en app.

Vill du inte sätta upp det här själv? Prata med en automationsexpert (gratis 15-minuters konsultation).

Så fungerar det

Schemalagd modereringskontroll. Flödet kör enligt schema (varje minut som standard) så att nya problem hanteras snabbt, utan att någon först måste upptäcka dem.

Standarder hämtas från Google Sheets. Varje körning laddar dina exempel och skäl för ”behåll vs ta bort” från ett ark, som blir kunskapsbasen AI:n använder för att bedöma meddelanden i din servers ton.

Kontextmedveten analys och säker parsing. Flödet hämtar de senaste meddelandena från Discord-kanalen, formaterar dem till en strukturerad prompt och ber sedan den OpenAI-drivna AI-agenten att returnera en strikt JSON-lista över vilka meddelanden som bryter mot dina regler. Ett kodsteg validerar outputen och tar bort dubbletter, så att du inte råkar hantera samma sak två gånger.

Borttagning plus en granskningsnotis. Flaggade meddelanden tas bort ett i taget med en kort väntan mellan åtgärderna, och därefter får admin-kanalen författare, message ID och originalinnehåll för granskning.

Du kan enkelt ändra gränsen för hur många meddelanden som hämtas (10 som standard) för att matcha serverns tempo och din budget. Se hela implementationsguiden nedan för anpassningsalternativ.

Steg-för-steg-guide för implementering

Steg 1: Konfigurera triggern Scheduled Run Trigger

Ställ in arbetsflödets körfrekvens så att modereringskontrollerna körs enligt ett pålitligt schema.

  1. Lägg till och öppna Scheduled Run Trigger.
  2. I RuleInterval, ställ in Field till minutes.
  3. Justera intervallvärdet till önskad frekvens (t.ex. varannan minut) för att styra modereringstakten.

Steg 2: Anslut Google Sheets

Ladda in exempelmeddelanden som tränar AI-modellen i vad som ska tas bort eller behållas.

  1. Öppna Fetch Sheet Examples.
  2. Ställ in Document till [YOUR_ID].
  3. Ställ in Sheet Name till gid=0.
  4. Referens krävs: Anslut era googleSheetsOAuth2Api-uppgifter.

⚠️ Vanlig fallgrop: Om Sheet ID eller gid är fel kommer Format Messages for AI att köras utan träningsexempel och modereringsprecisionen kan sjunka.

Steg 3: Konfigurera Moderation AI Agent

Konfigurera AI-resonemangsmotorn och dess anslutning till språkmodellen.

  1. Öppna Moderation AI Agent och bekräfta att Prompt Type är inställd på define.
  2. I Text, behåll den uttrycksbaserade prompten som använder träningsexempel och meddelandelista: =LEARN FROM THESE EXAMPLES: ... {{ $json.messageList }}.
  3. I Moderation AI AgentOptions, behåll systemguidningen som säkerställer community-standarder och returnerar en JSON-array med index.
  4. Säkerställ att Compact GPT Model är ansluten som språkmodell för Moderation AI Agent.
  5. Referens krävs: Anslut era openAiApi-uppgifter i Compact GPT Model (AI-referenser sätts på den överordnade modellnoden, inte på agenten).
  6. I Compact GPT Model, ställ in Model till gpt-5-mini-2025-08-07.

Tips: Ni kan finjustera systemmeddelandet ytterligare för att matcha er communitys ton, men behåll kravet på endast JSON-utdata för att undvika tolkningsfel i Extract Flagged Messages.

Steg 4: Konfigurera Discord-indata och meddelandeformatering

Definiera server-/kanal-ID:n, hämta senaste meddelanden och förbered dem för AI-analys.

  1. Öppna Configure IDs och ställ in tilldelningarna:
  2. Ställ in discord server ID till ="[YOUR_ID]".
  3. Ställ in discord moderated channel ID till [YOUR_ID].
  4. Ställ in =discord admin channel ID till ="[YOUR_ID]" (behåll namnet exakt som det visas).
  5. Öppna Retrieve Channel Messages och ställ in Operation till getAll, Resource till message och Limit till 10.
  6. Ställ in Guild ID till {{ $('Configure IDs').item.json['discord server ID'] }} och Channel ID till {{ $('Configure IDs').item.json['discord moderated channel ID'] }}.
  7. Referens krävs: Anslut era discordOAuth2Api-uppgifter i Retrieve Channel Messages.
  8. Öppna Format Messages for AI och uppdatera CONFIG-platshållarna till era riktiga ID:n i kodblocket: discordServerId, moderatedChannelId och adminChannelId.

⚠️ Vanlig fallgrop: CONFIG-blocket i Format Messages for AI måste matcha era faktiska Discord-ID:n, annars kan efterföljande åtgärder för borttagning och avisering misslyckas utan att det märks.

Steg 5: Konfigurera utdata och modereringsåtgärder

Hantera flaggade meddelanden genom att radera dem, fördröja aviseringar och larma administratörer.

  1. Öppna Extract Flagged Messages för att bekräfta att den tolkar AI-utdata och bygger raderingslistan baserat på Format Messages for AI.
  2. I Iterate Flagged Items, behåll standardinställningarna för batch så att varje flaggat meddelande behandlas ett i taget.
  3. Öppna Remove Violating Messages och ställ in Operation till deleteMessage med Message ID satt till {{ $json.messageId }}.
  4. Ställ in Guild ID till {{ $json.config.discordServerId }} och Channel ID till {{ $json.config.moderatedChannelId }}.
  5. Referens krävs: Anslut era discordOAuth2Api-uppgifter i Remove Violating Messages.
  6. Öppna Delay Before Notify och ställ in Amount till 1.5 för att undvika snabba aviseringskaskader.
  7. Öppna Notify Admin Channel och ställ in Content till uttrycket:
    =It seems that a message was deleted for violating community standards. Author: {{ $('Iterate Flagged Items').item.json.author.username }} Message ID: {{ $('Iterate Flagged Items').item.json.messageId }} Content: {{ $('Iterate Flagged Items').item.json.content }}
  8. Ställ in Guild ID till {{ $('Iterate Flagged Items').item.json.config.discordServerId }} och Channel ID till {{ $('Iterate Flagged Items').item.json.config.adminChannelId }}.
  9. Referens krävs: Anslut era discordOAuth2Api-uppgifter i Notify Admin Channel.

Tips: Exekveringsflödet loopar: Extract Flagged MessagesIterate Flagged ItemsRemove Violating MessagesDelay Before NotifyNotify Admin ChannelIterate Flagged Items. Detta säkerställer att varje flaggat meddelande behandlas och aviseras individuellt.

Steg 6: Testa och aktivera ert arbetsflöde

Validera hela modereringscykeln från start till mål och aktivera därefter schemalagda körningar.

  1. Klicka på Execute Workflow för att köra ett manuellt test från Scheduled Run Trigger.
  2. Verifiera att Retrieve Channel Messages returnerar nyligen publicerade inlägg och att Format Messages for AI bygger en formaterad lista.
  3. Bekräfta att Moderation AI Agent returnerar en JSON-array (t.ex. [] eller [0,2]) och att Extract Flagged Messages skapar rätt raderingslista.
  4. Kontrollera att flaggade meddelanden tas bort av Remove Violating Messages och att admin-aviseringar publiceras i Notify Admin Channel.
  5. När allt är verifierat, växla arbetsflödet till Active för att aktivera schemalagd moderering.
🔒

Lås upp fullständig steg-för-steg-guide

Få den kompletta implementeringsguiden + nedladdningsbar mall

Vanliga fallgropar

  • Discord-credentials kan gå ut eller sakna behörighet att ta bort. Om borttagningar misslyckas, kontrollera först din bots OAuth-scopes och serverrollernas behörigheter.
  • Om du använder Wait-noder eller extern bearbetning varierar tajmingen. Det här flödet innehåller fördröjningar för rate limits, så öka väntetiden om nedströms Discord-åtgärder misslyckas på upptagna servrar.
  • Standardprompter i AI-noder är generiska. Lägg in era communitystandarder och exempel på ”vad som är tillåtet” tidigt och ärligt, annars kommer du att ifrågasätta outputen hela veckan.

Vanliga frågor

Hur lång tid tar det att sätta upp den här Discord-modereringsautomationen?

Cirka 30–60 minuter om din Discord-bot och ditt Google Sheet är redo.

Behöver jag programmeringskunskaper för att automatisera Discord-moderering?

Nej. Du kopplar konton, klistrar in några Discord-ID:n och justerar AI-instruktionerna.

Är n8n gratis att använda för det här flödet för Discord-modereringsautomation?

Ja. n8n har ett gratis alternativ för egen hosting och en gratis provperiod på n8n Cloud. Cloud-planer börjar på 20 USD/månad för högre volymer. Du behöver också räkna in OpenAI API-kostnader på cirka 0,001–0,003 USD per modereringskontroll beroende på meddelandevolym.

Var kan jag hosta n8n för att köra den här automationen?

Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller egen hosting på en VPS. För egen hosting är Hostinger VPS prisvärd och hanterar n8n bra. Egen hosting ger dig obegränsade körningar men kräver grundläggande serveradministration.

Kan jag anpassa det här flödet för Discord-modereringsautomation för flera kanaler?

Ja, men gör det med eftertanke. Duplicera steget ”Retrieve Channel Messages” för varje kanal och återanvänd sedan samma data från ”Fetch Sheet Examples” så att standarderna blir konsekventa. Många team justerar också gränsen för hur många meddelanden som hämtas per kanal (upptagna kanaler kan behöva mer än 10 meddelanden per körning). Om du vill ha separata standarder per kanal kan du peka varje gren mot en egen flik i Google Sheet.

Varför misslyckas min Discord-anslutning i det här flödet?

Oftast handlar det om behörigheter. Din bot behöver åtkomst för att läsa meddelandehistorik, ta bort meddelanden i den modererade kanalen och posta i admin-kanalen, och Discords rollinställningar kan blockera detta även om integrationen är ansluten. Kontrollera också att Server ID och Channel IDs i konfigurationen ”Edit Fields” är korrekta, eftersom en enda fel siffra ser ut som ett auth-problem. Om det plötsligt börjar fallera efter att ha fungerat bra, auktorisera om Discord-credentials i n8n och bekräfta att boten fortfarande finns kvar på servern.

Hur många meddelanden kan den här Discord-modereringsautomationen hantera?

Många.

Är den här Discord-modereringsautomationen bättre än att använda Zapier eller Make?

För moderering är n8n oftast ett säkrare val eftersom du kan styra batchning, lägga till egen parsing och köra egen hosting med obegränsade körningar när volymen växer. Zapier och Make kan fungera, men AI-moderering behöver ofta grenlogik, validering och noggrann hantering av rate limits, och de plattformarna blir klumpiga (och dyra) när du går bortom enkla tvåstegs-zaps. En annan poäng: idén om det här flödets ”lärsystem” bygger på att hämta levande exempel från Google Sheets vid varje körning, vilket är enklare att uttrycka i n8n. Om du är osäker, använd flödet som bas och prata med en automationsexpert för att rimlighetskontrollera upplägg och kostnader. Det är ett kort samtal, och det kan spara dig en vecka av pillande.

Renare kanaler, färre argument om gränsfall och en revisionslogg du faktiskt kan peka på i efterhand. Sätt upp det en gång och låt sedan flödet hantera de repetitiva besluten.

Kontakta oss

Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.

×

Använd mall

Få direkt tillgång till denna n8n-arbetsflödes JSON-fil

Launch login modal Launch register modal