The most secure Discord bot for your community. Enterprise-grade security with military-grade encryption, intelligent threat detection, and comprehensive moderation tools built for servers that take safety seriously.
Wraith prioritizes your server's security above all else. While other bots focus on features, we focus on protection. Every line of code is written with security in mind.
Run one bot instance across unlimited Discord servers! Each server gets its own isolated configuration:
- Per-Guild Settings - Independent configurations for each server
- Automatic Migration - Existing configs seamlessly upgrade to multi-server format
- Isolated Security - Each server's threat scores, whitelists, and logs stay separate
- Zero Downtime - Add the bot to new servers without affecting existing ones
- Automatic Config Creation - New servers get default settings on first interaction
The most comprehensive Discord security system available - 12 layers of protection:
- AES-256-GCM Encryption - Authenticated encryption used by governments and banks
- PBKDF2 Key Derivation - 100,000 iterations with SHA-512 for unbreakable keys
- Secure Token Generation - Cryptographically secure random tokens
- Hash Verification - Tamper-proof data integrity checks
- Dynamic Threat Scoring - Real-time threat assessment with automatic decay
- Threat Levels - NONE → LOW → MEDIUM → HIGH → CRITICAL
- Auto-Actions - Automatic kick at HIGH, ban at CRITICAL threat levels
- Behavior Analysis - Tracks message patterns, spam, and suspicious activity
- Anti-Raid Detection - Automatically locks server during mass join attacks
- Alt Account Detection - Avatar matching, profile analysis, join time correlation
- Link Scanner - 30+ malicious domains blocked (grabify, IP loggers, phishing)
- Anti-Spam Engine - Mention spam, duplicate detection, caps lock abuse
- Rate Limiting - 6 messages/5s, 5 commands/10s automatic enforcement
- Suspicious Pattern Detection - Regex-based phishing and scam detection
- Malware Extension Blocking - Blocks dangerous file types automatically
- Security Whitelist - Trusted users bypass all security checks
- Threat Assessment Command - View any user's threat score instantly
- Security Logs - Persistent file-based incident logging
- Audit Trail - Complete tracking of all security events
- Quarantine System - Isolate suspicious users automatically
- Account Age Filter - Block accounts younger than X days
Advanced member verification with multiple entry requirements:
- Private Verification Channels - Text + voice channels auto-created for each new member
- Female Entry - Free entry with voice verification (admin approval required)
- Invite Tracking - Gain access by inviting 3 verified female members with full invite link tracking
- Proof of Funds - Live verification via camera/screen share (€10,000+ requirement)
- Voice/Video Support - Dedicated voice channels for verification calls
- Admin Controls - Approve, deny, and track all verifications
- Automatic Cleanup - All verification channels auto-delete after processing
Complete voice channel management system with ownership controls:
- Lock/Unlock - Control who can join your channel
- Hide/Show - Toggle channel visibility
- Rename - Customize your channel name
- User Limit - Set maximum capacity
- Claim System - Transfer ownership when original owner leaves
- Permit/Reject - Whitelist or blacklist specific users
- Ghost Mode - Hide yourself from the channel's member list
- Drag Users - Move users between voice channels
- Text Channel Locking - Only VC owners can write in linked text channels
Modern SvelteKit-based administration dashboard with real-time updates:
- Real-Time Stats - Live bot status, uptime, ping, memory usage via WebSocket
- Multi-Server Management - Switch between all your Discord servers
- Security Dashboard - Monitor threat levels, lockdowns, anti-raid status
- Verification Control - Approve/deny verification requests from the web
- Moderation Tools - View history, manage warnings, bans, and jails
- Ticket Management - Browse, respond to, and close support tickets
- Voice Channel Overview - See all active temp VCs and their owners
- User Management - Search users, view profiles, take actions
- Activity Logs - Real-time log streaming with filtering
- Configuration - Edit all bot settings from a user-friendly interface
- Secure Authentication - PBKDF2 password hashing, session-based auth
- Dark Theme - Sleek purple/dark interface matching Wraith branding
Comprehensive moderation toolkit:
- Ban/Unban - Permanent and temporary bans with duration support
- Kick - Remove problematic users
- Jail/Unjail - Temporary restriction role with duration support
- Mute/Unmute - Text-only restriction with duration
- Timeout/Untimeout - Full server timeout (Discord's native timeout)
- Warn - Warning system with DM notifications and history
- StripStaff - Remove all staff roles from a user
- MoveAll - Move all users to another voice channel
- Pic Permissions - Role-based media posting control
- Clear Messages - Bulk delete or completely reset channels
Complete case management system:
- Case Logging - Automatic logging of all moderation actions
- History View - View moderation history per user
- Moderator Stats - Track moderator activity and statistics
- Warning System - Full warning management with history
- Case Updates - Update case reasons after the fact
- Bulk Removal - Remove all cases for a user
Advanced channel lockdown capabilities:
- Single Channel - Lock/unlock individual channels
- Server-wide - Lock all channels at once during raids
- Ignore List - Exclude channels from unlock all
- Custom Lock Role - Configure which role is affected by lockdowns
Complete thread and forum post control:
- Lock/Unlock Threads - Control thread activity
- Add/Remove Members - Manage thread membership
- Rename Threads - Change thread names
- Watch Threads - Auto-unarchive important threads
Personal reminder system:
- Set Reminders - Create reminders for any duration
- List Reminders - View all active reminders
- Remove Reminders - Cancel pending reminders
- DM Notifications - Receive reminders via DM
- Lock/Unlock Channels - Control message permissions
- Bulk Message Deletion - Clear specific amounts
- Channel Reset - Recreate channels to wipe history
- Permission Management - Fine-tuned access control
Professional support ticket management:
- Category Panels - Create ticket panels with category buttons
- Priority Levels - Low, medium, high, urgent priorities
- Claim System - Staff can claim tickets
- Transcript Generation - Save ticket transcripts
- Giveaways - Reaction-based giveaways with automatic winner selection
- Polls - Create polls with up to 10 options and automatic vote counting
- Welcome Messages - Customizable welcome messages for new members
- Leave Messages - Farewell messages when users leave
- Booster Messages - Special announcements for server boosters
- Avatar Display - View user avatars in high resolution (4096px)
- Banner Display - Show user profile banners
- Context-Aware Help - Dynamic help system based on channel type and permissions
- Multi-Format User Resolution - Target users by mention, ID, or username
| Command | Description | Permission |
|---|---|---|
,ban @user [reason] |
Ban a user | Ban Members |
,tempban @user <duration> [reason] |
Temporarily ban | Ban Members |
,kick @user [reason] |
Kick a user | Kick Members |
,jail @user [duration] [reason] |
Jail a user | Manage Messages |
,warn @user <reason> |
Warn a user | Manage Messages |
,timeout @user [duration] [reason] |
Timeout a user | Moderate Members |
,stripstaff @user |
Remove staff roles | Administrator |
,moveall #channel |
Move all to channel | Administrator |
| Command | Description | Permission |
|---|---|---|
,history @user |
View user's punishments | Manage Messages |
,history view <case_id> |
View specific case | Manage Messages |
,moderationhistory @mod |
View mod's actions | Manage Messages |
,modstats [@mod] |
View mod statistics | Manage Messages |
,warnings @user |
View user's warnings | Manage Messages |
,reason <case_id> <reason> |
Update case reason | Manage Messages |
,jaillist |
View jailed members | Manage Messages |
,timeout list |
View timed out members | Moderate Members |
| Command | Description | Permission |
|---|---|---|
,lockdown [#channel] [reason] |
Lock a channel | Manage Channels |
,lockdown all [reason] |
Lock all channels | Manage Channels |
,lockdown ignore add/remove/list |
Manage ignored channels | Manage Guild |
,lockdown role @role |
Set lock role | Manage Guild |
,unlock [#channel] [reason] |
Unlock a channel | Manage Channels |
| Command | Description | Permission |
|---|---|---|
,thread lock [thread] |
Lock a thread | Manage Threads |
,thread unlock [thread] |
Unlock a thread | Manage Threads |
,thread add @user |
Add user to thread | Manage Threads |
,thread remove @user |
Remove from thread | Manage Threads |
,thread watch [thread] |
Toggle auto-unarchive | Manage Channels |
| Command | Description | Permission |
|---|---|---|
,remind <duration> <text> |
Set a reminder | Everyone |
,reminders |
View your reminders | Everyone |
,remind remove <id> |
Remove a reminder | Everyone |
- Node.js v16 or higher
- A Discord Bot Token (Discord Developer Portal)
-
Clone the repository
git clone https://github.com/8ivq/wraith.git cd wraith -
Install dependencies
npm run install:all
This installs dependencies for both the bot and the SvelteKit panel.
-
Configure the bot
Create your configuration files from the examples:
cp .env.example .env cp config.json.example config.json cp data/panel_credentials.json.example data/panel_credentials.json
Then edit
.envand add your Discord bot token:DISCORD_TOKEN=your_discord_bot_token_here
Edit
config.jsonwith your server details (or run the setup wizard):node setup.js
-
Start the bot and panel
npm run dev
Or use the convenient batch file:
start.bat
This will start:
- The Discord bot
- Backend API server on http://localhost:3000
- SvelteKit panel on http://localhost:3001
-
Access the web panel
Navigate to http://localhost:3001 in your browser.
The admin credentials are displayed in the console when the bot starts. Password rotates on each bot restart for security.
After inviting the bot, configure your server:
,setup # Interactive setup wizard
,setwelcome #channel # Set welcome message channel
,setleave #channel # Set leave message channel
,setbooster #channel # Set booster announcement channel
,setauditlog #channel # Set security audit log channel
Enable security features as needed:
,antiraid enable # Enable anti-raid protection
,accountfilter enable 7 # Flag accounts younger than 7 days
,linkscanner enable # Enable malicious link detection
,quarantine enable # Auto-quarantine new members
,altdetection enable log # Enable alt detection (log/kick/quarantine)
,verify enable # Enable smart verification system
,securityconfig # View all security settings
| Command | Description |
|---|---|
,verify approve @user <female|invites|funds> |
Approve verification request |
,verify deny @user [reason] |
Deny verification and kick user |
,verify list |
List all pending verifications |
,verify invites @user |
Check user's female invite count |
,verify enable |
Enable verification system |
,verify disable |
Disable verification system |
,verify status |
View verification system status |
| Command | Description |
|---|---|
,antiraid enable/disable |
Toggle anti-raid protection |
,accountfilter enable/disable [days] |
Filter suspicious accounts |
,linkscanner enable/disable |
Toggle malicious link scanning |
,quarantine enable/disable |
Toggle auto-quarantine for new users |
,altdetection enable <action> |
Enable alt detection (log, kick, or quarantine) |
,threat @user |
View user's threat score and assessment |
,whitelist add/remove/check @user |
Manage security whitelist |
,securitylogs [count] |
View recent security incidents |
,resetthreat @user |
Reset user's threat score |
,setauditlog #channel |
Set security audit channel |
,securityconfig |
View all security settings |
,verify @user |
Remove user from quarantine |
,unlock all |
Unlock all channels after a raid |
| Command | Description |
|---|---|
,ban @user [reason] |
Ban a user |
,tempban @user <duration> [reason] |
Temporarily ban (e.g., 7d, 24h, 30m) |
,unban @user/all |
Unban user or all users |
,kick @user [reason] |
Kick a user |
,jail @user [reason] |
Assign jail role |
,unjail @user/all |
Remove jail role |
,mute @user [reason] |
Mute in text channels only |
,unmute @user |
Unmute user |
,timeout @user <duration> [reason] |
Full server timeout |
,untimeout @user |
Remove timeout |
,pic @role |
Set role for media permissions |
,unpic @user/all |
Remove pic permissions |
| Command | Description |
|---|---|
,vc lock |
Lock your voice channel |
,vc unlock |
Unlock your voice channel |
,vc hide |
Hide your channel |
,vc show |
Show your channel |
,vc rename <name> |
Rename your channel |
,vc limit <number> |
Set user limit (0 = unlimited) |
,vc claim |
Claim ownership of abandoned channel |
,vc permit @user |
Whitelist a user |
,vc reject @user |
Blacklist a user |
,vc ghost |
Toggle ghost mode |
,vc drag @user |
Move user to your voice channel |
| Command | Description |
|---|---|
,text lock |
Lock text channel |
,text unlock |
Unlock text channel |
,clear <amount> |
Delete last X messages |
,clear all |
Recreate channel (wipes all messages) |
| Command | Description |
|---|---|
,giveaway <duration> <prize> |
Start a giveaway (e.g., 1d, 12h) |
,poll <question> | <option1> | <option2> ... |
Create a poll (max 10 options) |
| Command | Description |
|---|---|
,av @user or ,avatar @user |
Display user avatar |
,banner @user or ,bnr @user |
Display user banner |
,help |
Show context-aware help menu |
Three-tier verification for controlled access:
- Female Members - Free entry with voice verification (admin approval)
- Invite System - Track and reward member invitations (3 verified females required)
- Financial Verification - Live proof of funds via camera/screen share (€10,000+ requirement)
- Private Channels - Each member gets text + voice channels for verification
- Voice/Video Calls - Admins verify females via voice, funds via video
- Auto-Cleanup - All verification channels delete after approval/denial
Uses advanced algorithms to identify coordinated alt accounts:
- String Similarity Analysis - Bigram-based username comparison
- Temporal Analysis - Tracks join timing patterns
- Metadata Checks - Account age and discriminator patterns
- Confidence Scoring - High/Medium confidence levels
- Configurable Actions - Log only, auto-kick, or auto-quarantine
- Detects mass joins (5+ users in 10 seconds)
- Automatically locks all text channels
- Sends alerts to audit log
- Use
,unlock allto restore after raid ends
Blocks known malicious domains:
- IP loggers (grabify, iplogger)
- URL shorteners used for phishing
- Suspicious redirect services
- Customizable domain blacklist
wraith/
├── bot.js # Main bot entry point
├── config.js # Configuration manager
├── setup.js # Interactive setup wizard
├── start.bat # Windows startup script
├── commands/
│ ├── moderation.js # Ban, kick, jail, mute, timeout
│ ├── voiceChannel.js # VC management commands
│ ├── textChannel.js # Text channel controls
│ ├── security.js # Security configuration
│ ├── verification.js # Verification system commands
│ ├── ticket.js # Support ticket system
│ └── ...more commands
├── utils/
│ ├── verification.js # Verification system logic
│ ├── security.js # Security event handlers
│ ├── userResolver.js # Multi-format user resolution
│ ├── ticketManager.js # Ticket state management
│ ├── vcManager.js # Voice channel state management
│ └── logger.js # File-based logging system
├── panel/
│ ├── server.js # HTTP server for panel API
│ ├── auth.js # Authentication manager
│ ├── websocket.js # WebSocket manager (live updates)
│ └── api/
│ └── index.js # REST API endpoints
├── panel-svelte/ # Modern SvelteKit web panel
│ ├── src/
│ │ ├── routes/ # Dashboard pages
│ │ ├── lib/
│ │ │ ├── components/ # Reusable UI components
│ │ │ ├── stores/ # Svelte stores for state
│ │ │ └── utils/ # API client, WebSocket
│ │ └── app.html
│ └── package.json
├── data/
│ ├── panel_credentials.json # Panel user credentials (NEVER COMMIT)
│ └── guilds/ # Per-guild config files (NEVER COMMIT)
├── logs/ # Application logs (auto-created)
└── config.json # Bot configuration (NEVER COMMIT)
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Built with Discord.js
- Inspired by the need for comprehensive server security
- Thanks to all contributors
Made with ❤️ by 8ivq
⭐ Star this repository if you find it useful!