Free AI-powered moderation for Discord. Detects nudity, gore, scams, and other violations in messages, media, and avatars. Fully configurable via slash commands.
π Features Overview
-
Anti-NSFW
Detects explicit or harmful content in uploaded media (images, GIFs, Lottie, APNG), Tenor GIFs, and user avatars. Categories include nudity, sexual content, graphic violence, gore, and self-harm-related material. -
Strikes
Escalating punishment system with custom durations, action cycling, and optional DM notifications. Fully configurable. -
π€ AI Moderation (Accelerated only)
Uses OpenAI models to moderate messages based on rules. Supports autonomous mode, batch scanning, and context-aware enforcement.
Default: AI moderation runs inreport
mode when users @mention the bot. -
Voice Chat Moderation (Accelerated only)
Transcribes and scans live voice channels for violations (e.g., hate speech, self-harm encouragement, harassment). Supports configurable actions and monthly budget controls. -
Scam Detection
Detects scam/phishing messages using patterns, Google Safe Browsing, PhishTank, and link unshortening. -
Banned Words
Blocks slurs or custom words. Supports layered punishment and integrates with strikes. -
Logging
Tracks joins, leaves, bans, deletions, edits, timeouts, and invite usage. -
Custom Settings
Slash-command-driven configuration for rules, thresholds, exclusions, and more. -
Private API Pool
Users can contribute OpenAI keys (encrypted) to a shared pool to increase moderation capacity. Guild-level keys are not used.
πΊ Strike System
Automatically issues escalating punishments based on a userβs strike count:
- 1st Strike β 1d timeout
- 2nd Strike β 7d timeout
- 3rd Strike β Ban
/strikes strike
β Manually give a strike to a user/strikes get
β View a userβs current strikes/strikes clear
β Remove all active strikes from a user/strikes remove
β Remove a specific strike by ID/strikes add_action
β Add an action for a strike level/strikes remove_action
β Remove a strike action/strikes view_actions
β View configured strike actions/intimidate
β Issue a serious warning (DM or channel)
π€ AI Moderation
Uses OpenAI to detect violations in user messages.
Budget: AI moderation is capped at $2 per billing cycle. Pricing is $0.45 per 1M tokens; once the cycle budget is reached, autonomous moderation pauses until the next cycle.
Note: Enable higher-accuracy AI moderation with gpt-5-mini (approx. 2.25 USD per 1M tokens) via the aimod-high-accuracy
setting. This consumes the monthly budget faster than the default gpt-5-nano (0.45 USD per 1M tokens).
Real-time moderation for Discord voice channels. Audio is transcribed, analyzed by AI, and checked against your configured rules.
π§ Configuration:/ai_mod rules_set
β Define custom server rules/ai_mod set_mode
β Choose betweenreport
orinterval
scanning/ai_mod toggle
β Enable/disable autonomous moderation/ai_mod add_adaptive_event
β Add adaptive triggers/ai_mod remove_adaptive_event
β Remove adaptive triggers
/ai_mod add_action
β Define what happens on violations/ai_mod remove_action
β Remove an AI action/ai_mod view_actions
β Show all AI-triggered actions/ai_mod clear_adaptive_events
β Clear all adaptive triggers/ai_mod view_adaptive_events
β List active adaptive triggers
πΌ NSFW Filtering
Detects nudity, graphic violence, and explicit content in:
- Uploaded media (images, GIFs, stickers, emojis, videos)
- Tenor GIFs
- Profile pictures
- Lottie / APNG animations
/nsfw set_threshold
β Set detection confidence/nsfw add_category
β Add custom categories to detect/nsfw add_action
β Action to take when NSFW is detected/nsfw remove_action
β Remove NSFW actions
/nsfw view_actions
β View active actions/nsfw view_threshold
β Check the current threshold
β Scam & Link Protection
Detects and removes scam/phishing messages using:
- Pattern and URL matching
- Google Safe Browsing & PhishTank integration
- Smart link unshortening with scam checks
/scam check_links
β Enable or disable link safety checks/scam exclude_channel_add
β Exclude a channel from scam detection/scam exclude_channel_remove
β Remove a channel from the exclusion list/scam view
β Show current scam detection settings
/scam add_action
β Add moderation actions (e.g.,timeout
,ban
)/scam remove_action
β Remove configured actions/scam settings
β Manage detection settings
/scam exclude_channel_list
β View excluded channels
π¬ Banned Words System
Blocks slurs and custom word lists.
π§ Configuration:/bannedwords add
β Add a custom banned word/bannedwords remove
β Remove a word from the list/bannedwords defaults
β Enable default slur list/bannedwords clear
β Clear all custom banned words/bannedwords add_action
β Set action when banned words are triggered/bannedwords remove_action
β Remove a word action
/bannedwords view_actions
β View all punishment actions
π Monitoring & Logging
Tracks and logs key server events:
- Joins, leaves, bans, kicks
- Edits, deletions, timeouts
- Message deletions and audit logs
- Invite usage tracking
/monitor set
β Set log output channel/monitor remove
β Disable monitoring/monitor show
β View current log channel
βοΈ Settings Snapshot
Name | Type | Description |
---|---|---|
strike-expiry |
TimeString | Duration before strikes expire |
cycle-strike-actions |
bool | Loop fallback strike actions |
dm-on-strike |
bool | DM users when they receive a strike |
check-pfp |
bool | Scan avatars for NSFW |
nsfw-pfp-action |
list[str] | Action on NSFW avatars |
nsfw-pfp-message |
str | Message on NSFW avatar detection |
unmute-on-safe-pfp |
bool | Auto-unmute on safe avatar change |
check-tenor-gifs |
bool | Scan Tenor GIFs for NSFW |
nsfw-high-accuracy |
bool (Accelerated) | High-accuracy NSFW scans |
banned-words-action |
list[str] | Action on banned words |
exclude-channels |
list[TextChannel] | Channels excluded from checks |
scam-detection-action |
list[str] | Actions for scam messages |
check-links |
bool | Enable URL safety checks |
exclude-scam-channels |
list[TextChannel] | Skip scam checks in these channels |
aimod-check-interval |
TimeString | How often to run AI moderation |
no-forward-from-role |
list[Role] | Roles that canβt forward messages |