HomeUse casesDocsChangelogStatusFAQDashboardAdd to Discord

Documentation

Everything you need to configure and run Argus on your Discord server.

Getting Started

Inviting Argus

Click Add to Discord in the navigation bar. You'll be asked to authorize Argus with the permissions it needs to protect your server. The default invite grants all required permissions — do not deselect any or filters may silently fail.

Required Permissions

Manage Messages — delete flagged content
Moderate Members — timeout offenders
Kick/Ban Members — auto-escalation enforcement
View Channels + Send Messages — terminal and log delivery
Manage Channels — setup command creates private channels
View Audit Log — raid detection context

Initial Setup

Run /setup in any channel Argus can see. This creates two private channels visible only to users with the Manage Server permission:

  • #argus-terminal — send commands, view detection logs in real-time
  • #argus-logs — structured incident log with user, reason, action, and timestamp

Once set up, open the Dashboard (/Argus/selector) to configure filters per server.

After Setup

Filters are off by default. You must open the dashboard and enable each filter you want active. Argus will not moderate anything until you turn features on.

Core Filters

Core filters handle content-based moderation. Each filter scans every message sent in your server and can be configured independently with its own action set.

Profanity Filter

Detects profanity across 29 languages, including CJK (Chinese, Japanese, Korean) and Thai — languages that don't use spaces between words. Built on leo-profanity and naughty-words with custom dictionaries.

Available actions: Delete, Warn, Timeout, DM User.

NSFW Text

Detects sexually explicit text content using pattern matching across all supported languages. More aggressive than the profanity filter — flags suggestive and explicit content, not just swear words.

NSFW Media

Runs every image and video attachment through a local, hardware-accelerated ML model (TensorFlow / NSFWJS). Nothing is sent to external servers — all inference happens on your machine. Detects drawings, hentai, porn, and suggestive imagery.

Hate Speech

Detects hate speech, slurs, and extremist language across all 29 supported languages. Updated regularly to catch evolving dog whistles and coded language.

Configuring Actions

Each core filter has four independent action toggles in the dashboard. You can, for example, Delete + Warn on profanity but only Delete on NSFW text. Actions stack — enable multiple for layered enforcement.

AI Filter

Every other filter answers "does this message contain a banned word?" The Context-Aware filter answers a harder question: how hostile is this message, who is it aimed at, and did the author try to hide it? It returns a score from 0 to 100, and you decide what score is worth acting on.

It is off by default — a graded filter wants tuning before it enforces anything.

What It Understands

  • Direction. "this game is stupid" and "you are stupid" contain the same word and score very differently. A message aimed at a person — via a second-person pronoun, a mention, or a reply — is amplified; undirected venting, self-directed remarks, negation, quoted speech, joking markers, and affectionate framing all pull the score down.
  • Evasion. Zero-width characters, Cyrillic and Greek lookalikes, zalgo marks, fullwidth text, leetspeak, elongation, and letter-by-letter spacing are all undone before scoring — and the attempt itself raises the score, because hiding something is evidence of intent.
  • Escalation. Repeat hits from the same author within a few minutes compound, so a sustained pile-on outweighs a single slip.
  • 28 languages. The language of each message is detected automatically, and each language ships with its own weighted terms and its own words for "you", negation and joking. Severity is curated per language, not machine-translated.

Categories

Six categories can be toggled independently: Toxicity, Harassment, Hate, Threats, Self-Harm, and Sexual Harassment. Slurs, threats and self-harm encouragement are never softened by context modifiers — no amount of "just joking" reduces them.

False Positives

Three guards run before scoring: safe containers (the Scunthorpe problem — classic, assassin, Dickens), praise collocations ("fucking brilliant"), and benign idioms ("holy shit", "killing it"). Your server's allowed words list overrides everything.

Try Before You Enforce

Turn on Dry Run and Argus posts what it would have flagged — with the score and every signal that produced it — to your log channel, taking no action. The dashboard's AI Filter tab also has a live tester: paste any message and see the exact score the bot would compute. Enable enforcement once the numbers look right for your community.

Nothing Leaves Your Bot

Despite the name, there is no AI provider involved. The engine is local, deterministic, and makes no network calls — roughly 0.07 ms per message. No message content is ever sent to a third party.

Advanced Rules

Advanced rules are rate-based and threshold-driven. Instead of scanning message content, they watch for behavioral patterns — how fast messages arrive, how many mentions they contain, how much text is SHOUTING.

Available Rules

RuleThresholdWindowWhat It Catches
Anti-Spam5 messages5 secondsRapid-fire message flooding, copypasta spam
Mass Mentions5 mentionsper message@everyone/@here abuse, mention raids
Mass Caps70% capsper messageSHOUTING, rage text, visual spam
Mass Emojis10 emojisper messageEmoji wall spam, reaction floods
Mass Lines15 linesper messageWall-of-text flooding, log dumps
Mass Attachments3 filesper messageFile dump raids, malware seeding
Discord Invites1 inviteper messageServer advertisement spam
Block All Links1 URLper messageTotal link blackout (override mode)
Polls1 pollper messagePoll spam / raid coordination

Threshold Tuning

Every threshold is per-guild configurable from the dashboard. Tighten them for sensitive channels (announcements, rules), loosen them for casual chat. Actions (Delete, Warn, Timeout, DM User) are set independently per rule.

Auto-Thresholds

The auto-threshold system escalates punishment severity as a user accumulates warnings. You define the progression — Argus enforces it automatically.

Escalation Chain

The default progression: Warn → Timeout → Kick → Ban

You configure how many warnings trigger each step. Example configuration:

Warning CountActionDuration
3 warnsTimeout1 hour
5 warnsTimeout24 hours
7 warnsKick—
10 warnsBan—

Warning Decay

By default a warning counts forever. Turn on warning decay and only warnings issued within a rolling window you choose — say the last 90 days — count toward the thresholds above. A member warned twice eight months ago starts clean instead of sitting one message away from a ban.

  • Nothing is deleted. Decay changes what counts, not what is recorded — /history still shows every warning ever issued.
  • Thresholds still fire once. A threshold that has already been served is not re-triggered when an old warning ages out and a new one lands.
  • The dashboard shows both numbers — the count that counts, and the lifetime total beside it.

Off by default. Configure it at the bottom of the dashboard's Punishments page.

Exemptions

You can exempt specific roles and channels from auto-threshold enforcement. Moderators, admins, and bot channels are common exemptions. Configure these per-guild in the dashboard.

Raid Protection

Argus monitors message velocity across your entire server. When a coordinated flood is detected, it locks down the server automatically — no manual intervention needed.

Detection Parameters

ParameterDefaultWhat It Means
messageThreshold30 messagesHow many messages must arrive before the window expires to trigger lockdown
messageWindow10 secondsThe sliding time window for counting messages
channelThreshold3 channel eventsHow many channels created/deleted in the window to trigger lockdown
channelWindow5 secondsThe sliding window for channel creation/deletion detection
lockdownDuration5 minutesHow long the server stays locked before auto-recovery

What Happens During Lockdown

  • All public channels are locked — only roles with Administrator or a designated bypass role can send messages
  • An alert is sent to the #argus-terminal channel (if set up) with raid details
  • After the configured duration, channels automatically unlock
  • If the bot restarts mid-lockdown, it recovers lock state and re-applies any active lockdown

Fine-Tuning Required

Default thresholds work for medium-sized servers (~500-5k members). Large servers should raise thresholds to avoid false positives from normal chat velocity. Small servers may want lower thresholds for faster response.

Server Backups

Argus can capture a complete snapshot of your server's structure and restore it later — a built-in safety net against accidental deletions, nukes, or botched reorganizations. Backups are stored per-server and managed from the dashboard or the /backup command.

What's Captured

  • Roles — names, colors, permissions, hoist, mentionable, and ordering
  • Channels & categories — topics, slowmode, NSFW flags, and every permission overwrite
  • Server settings — name, icon, banner, verification level, content filter, AFK & system channels
  • Emojis & stickers — re-uploaded on restore
  • Bans — the full ban list
  • Member roles & nicknames — re-applied to members still in the server

Creating & Restoring

Open the Backups tab in the dashboard to create a backup, browse saved ones, and restore or delete them — or use the /backup command directly in Discord. Dashboard restores stream live progress as they run.

Restoring Is Destructive & Owner-Only

Restoring deletes all current roles and channels and rebuilds the server from the backup. Only the server owner can trigger a restore, and it always requires an explicit confirmation. It cannot be undone.

Automatic Backups

Enable scheduled backups to snapshot your server automatically every few hours (minimum 24h). Argus keeps the most recent backups per server and prunes older ones beyond your configured limit. Configure it in the dashboard's Backups tab or with /backup interval <hours> (use 0 to disable).

Permissions for Restore

A full restore needs Argus to have Manage Roles, Manage Channels, Manage Server, Manage Expressions, and Ban Members, and Argus's own role must sit above the roles it recreates. Anything it can't recreate (such as roles above its own) is skipped and reported.

Commands

All commands use Discord's slash-command system. Type / in any channel Argus can see.

CommandDescriptionWho Can Use
/setupCreates private #argus-terminal and #argus-logs channels. Must be run first before filters will work.Manage Server
/unsetupDeletes the terminal and log channels and clears all guild configuration.Manage Server
/moderate <user> [reason]Manually open a moderation case against a user. Records the infraction and applies configured escalation.Moderate Members
/history <user>Show a user's full moderation record — warnings, actions, notes, and appeals — including warnings that have decayed.Moderate Members
/note add|list|removeManage private moderator notes attached to a user. Notes are staff-only and never shown to the member.Moderate Members
/debugShows Argus's moderation status for the current channel — active filters, thresholds, exemptions.Manage Server
/backup create [name]Save a snapshot of the current server (roles, channels, settings, emojis, bans, member roles).Manage Server
/backup listList the backups saved for this server.Manage Server
/backup info <id>Show details about a specific backup.Manage Server
/backup load <id>Restore the server from a backup. Destructive — deletes current roles/channels and requires confirmation.Server Owner
/backup delete <id>Delete a saved backup.Manage Server
/backup interval <hours>Configure automatic scheduled backups (0 disables).Manage Server
/pingChecks bot latency to Discord's gateway.Everyone
/aboutShows version info, legal links, and privacy highlights.Everyone
/helpLists all available commands with descriptions.Everyone

FAQ

Does Argus read my messages?

Argus scans message content in real-time to enforce filters, but does not store message text. Warning records include user ID, reason, action taken, and timestamp — not the original message content.

Are images sent to external servers?

No. NSFW media detection runs a local TensorFlow model on your own hardware. Images never leave your machine for content scanning. Only URL hashes (not full URLs) are sent to Google Safe Browsing for link safety checks.

What happens if the bot goes offline?

Filters stop. Argus does not queue messages for retroactive scanning. Raid protection lock state survives restarts — if the bot comes back mid-lockdown, it re-applies the lock. Argus runs on more than one server: if the active one fails, a standby takes over automatically within about a minute. Live per-server uptime is on the status page.

Does the AI filter send my messages to an AI company?

No. The Context-Aware filter is a local scoring engine — no API, no model download, no network calls, nothing stored. See AI Filter.

Can I whitelist specific users, roles, or channels?

Yes. The dashboard lets you exempt roles and channels from all filters. Exempted users can post anything without triggering moderation. This is useful for mod channels, admin roles, and bot-spam channels.

How do I change the bot's prefix?

Argus uses Discord slash commands only (/setup, /moderate, etc.). There is no text prefix — slash commands are more discoverable and cannot conflict with other bots.

Does Argus work on mobile?

Argus runs on your server, not your device. All moderation happens server-side. The web dashboard is responsive and works on mobile browsers.