CHATBOTS

Discord Real-Time Offense Classifier and Offender Ledger

Classifies each flagged Discord message for rule violations with an LLM and records the offense against the author in a Postgres offender ledger, returning a running strike count.

CategoryChatbots
Enginesim
Difficultyintermediate
Triggerevent
Steps6
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerMessage posted in watched Discord channelDiscordDiscord
  • ActionClassify violation type and severity with OpenAIOpenAI
  • LogicSkip if classified as no violation
  • ActionInsert offense into Postgres offender ledgerPostgreSQLPostgres
  • ActionCount user's strikes in rolling windowPostgreSQLPostgres
  • OutputReply in-channel with category and strike countDiscordDiscord

What it does

Every message routed to a moderation channel (or caught by a content filter) is scored by an LLM against your server rules, then written to a per-user offender ledger in Postgres. The bot replies in-thread with the violation type and the author's current strike total so moderators see history at a glance.

When to use it

Run this as the foundation of any escalation system. You want a durable, queryable record of who violated which rule and when — not just ephemeral auto-mod deletions that vanish. It powers downstream pattern detection, reporting, and ban review.

How it works

  1. 1A Discord message event fires when a post lands in a watched channel.
  2. 2An OpenAI call classifies the message: violation category (spam, harassment, NSFW, none), severity 1-5, and a one-line reason.
  3. 3A logic step drops anything classified as "none" so clean messages are not stored.
  4. 4A Postgres insert appends the offense to the offender_ledger table keyed by Discord user ID.
  5. 5A Postgres query counts that user's total strikes in a rolling window.
  6. 6The bot posts a moderator-only reply in the channel with the category, severity, and running strike count.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect DiscordCommunity channels + voice + bots.
  2. 2
    Connect OpenAIModels, embeddings, files.
  3. 3
    Connect PostgresAny Postgres URL — query, write, migrate.
  4. 4
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  5. 5
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  6. 6
    Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.

Run this workflow in your colony.

14-day trial. No DevOps. No Sales call. Provisioned in under a minute.