π‘οΈ Moderator Bot
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 Uses OpenAI models to moderate messages based on rules. Supports autonomous mode, batch scanning, and context-aware enforcement. Default: AI moderation runs in
report
mode when users @mention the bot. -
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, models, and more.
-
Private API Pool Users can contribute OpenAI keys (encrypted) to increase moderation capacity.
πΊ Strike System
Automatically issues escalating punishments based on a userβs strike count:
- 1st Strike β 1d timeout
- 2nd Strike β 7d timeout
- 3rd Strike β Ban
βοΈ Commands:
/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.
π§ 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
βοΈ Actions:
/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
π§ Configuration:
/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
π Inspection:
/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
π§ Configuration:
/scam add_message
β Add scam message patterns/scam add_url
β Add scam URL substrings/scam delete
β Toggle auto-deletion of flagged messages/scam check_links
β Enable or disable link safety checks/scam ai_detection
β Enable or disable AI-based scam detection/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
βοΈ Actions:
/scam add_action
β Add moderation actions (e.g.,timeout
,ban
)/scam remove_action
β Remove configured actions/scam settings
β Manage detection settings
π Logs & Lists:
/scam list_patterns
β View custom scam message patterns/scam list_urls
β View added scam URLs/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
π Inspection:
/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
π§ Configuration:
/monitor set
β Set log output channel/monitor remove
β Disable monitoring/monitor show
β View current log channel
βοΈ Settings Snapshot
Name | Type | Description |
---|---|---|
api-key | str (encrypted) | OpenAI key for AI/NSFW moderation |
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 |
banned-words-action | list[str] | Action on banned words |
exclude-channels | list[TextChannel] | Channels excluded from checks |
delete-scam-messages | bool | Auto-delete scam messages |
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-model | str | Model used for AI mod |
aimod-check-interval | TimeString | How often to run AI moderation |
no-forward-from-role | list[Role] | Roles that can't forward messages |