Skip to content

Inv-Wolve/Server-Nuke-Bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

6 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Server Nuke Bot

⚠️ For educational purposes only.

I, (HypedZykro / Zykro), am not held responsible by how this is used.

This shall not be used for any purpose besides educational purposes.

The user should be aware that this is against Discord's TOS.


πŸ“‹ Contents

This repository contains two Discord bot scripts:

  1. main.py - Server nuke bot (kicks members, deletes roles and channels)
  2. massdm.py - Mass DM bot with advanced features

πŸš€ Setup

Prerequisites

  • Python 3.8 or higher
  • Discord bot token (Get one here)
  • Required Python packages

Installation

  1. Clone the repository

    git clone https://github.com/Inv-Wolve/Server-Nuke-Bot.git
    cd Server-Nuke-Bot
  2. Install dependencies

    pip install -r requirements.txt
  3. Configure environment variables

    Copy .env.example to .env:

    copy .env.example .env

    Edit .env and add your bot token:

    DISCORD_TOKEN=your_actual_bot_token_here
    
  4. Configure mass DM settings

    Copy config.example.json to config.json:

    copy config.example.json config.json

    Edit config.json with your settings (see Configuration section below).

  5. Configure server nuke settings

    Copy nuke_config.example.json to nuke_config.json:

    copy nuke_config.example.json nuke_config.json

    Edit nuke_config.json with your settings (see Configuration section below).


πŸ”§ Configuration

Mass DM Bot (massdm.py)

The config.json file contains all settings:

{
    "guild_id": 123456789,              // Your Discord server ID
    "opt_in_role": null,                // Role name to target (null = all members)
    "exclude_ids": [123, 456],          // User IDs to exclude
    "message": {
        "content": "Hello {display_name}!",  // Message content
        "use_embed": false,             // Use embed instead of plain text
        "embed": {                      // Embed configuration (if use_embed = true)
            "title": "Announcement",
            "description": "Hello {display_name}!",
            "color": 5793266,
            "footer": "Server Team"
        }
    },
    "rate_limiting": {
        "sleep_between_dms": 2.5,       // Seconds between each DM
        "max_retries": 6,               // Max retry attempts per user
        "daily_limit": 200,             // Max DMs per run
        "batch_size": 50                // Batch size for processing
    },
    "safety": {
        "dry_run": false,               // Test mode (doesn't send DMs)
        "require_confirmation": true,   // Ask for confirmation before sending
        "enable_checkpoints": true      // Save progress periodically
    },
    "logging": {
        "level": "INFO",                // Log level (DEBUG, INFO, WARNING, ERROR)
        "save_to_file": true,           // Save logs to file
        "log_file": "massdm.log"        // Log file name
    }
}

Message Variables

You can use these variables in your message content:

  • {display_name} - User's display name
  • {username} - User's username
  • {mention} - User mention (@user)
  • {id} - User ID
  • {discriminator} - User discriminator (legacy)

Server Nuke Bot (main.py)

The nuke_config.json file contains all settings:

{
    "guild_id": 123456789,              // Your Discord server ID
    "operations": {
        "kick_members": true,           // Kick all non-exempt members
        "delete_roles": true,           // Delete all non-exempt roles
        "delete_channels": true,        // Delete all non-exempt channels
        "delete_emojis": false,         // Delete all emojis
        "ban_instead_of_kick": false    // Ban instead of kick
    },
    "exempt": {
        "user_ids": [123, 456],         // User IDs to protect
        "role_names": ["@everyone"],    // Role names to protect
        "channel_names": []             // Channel names to protect
    },
    "rate_limiting": {
        "kick_delay": 0.5,              // Seconds between kicks
        "role_delete_delay": 0.3,       // Seconds between role deletions
        "channel_delete_delay": 0.3,    // Seconds between channel deletions
        "batch_size": 10,               // Operations per batch
        "batch_delay": 2.0              // Delay between batches
    },
    "safety": {
        "dry_run": false,               // Test mode (doesn't perform operations)
        "require_confirmation": true,   // Multi-step confirmation
        "require_server_name": true,    // Require typing server name
        "cooldown_seconds": 10,         // Cooldown before execution
        "create_backup": true           // Create server structure backup
    },
    "logging": {
        "level": "INFO",                // Log level
        "save_to_file": true,           // Save logs to file
        "log_file": "nuke.log"          // Log filename
    }
}

πŸ“– Usage

Mass DM Bot

  1. Configure your settings in config.json

  2. Test with dry run (recommended first time):

    "safety": {
        "dry_run": true,
        ...
    }
  3. Run the bot:

    python massdm.py
  4. Confirm the operation when prompted (unless disabled)

  5. Monitor progress in console and log file

  6. Check results in results/ directory

Server Nuke Bot

⚠️ EXTREME CAUTION: This will destroy your server!

  1. Configure your settings in nuke_config.json

  2. Choose operations to perform:

    "operations": {
        "kick_members": true,
        "delete_roles": true,
        "delete_channels": true,
        "delete_emojis": false,
        "ban_instead_of_kick": false
    }
  3. Set exempt lists to protect specific users/roles/channels:

    "exempt": {
        "user_ids": [123456789],
        "role_names": ["@everyone", "Admin"],
        "channel_names": ["important-channel"]
    }
  4. Test with dry run (HIGHLY recommended):

    "safety": {
        "dry_run": true,
        ...
    }
  5. Run the bot:

    python main.py
  6. Follow multi-step confirmation:

    • Type "I UNDERSTAND THE RISKS"
    • Type the exact server name
    • Wait through cooldown period
  7. Monitor progress in console and log file

  8. Check results in nuke_results/ directory

  9. Review backup in backups/ directory (if enabled)


✨ Features

Mass DM Bot Features

  • βœ… Environment variable support - Secure token storage
  • βœ… JSON configuration - Flexible settings management
  • βœ… Progress tracking - Real-time progress bar and statistics
  • βœ… Error handling - Comprehensive retry logic with exponential backoff
  • βœ… Rate limiting - Configurable delays and daily limits
  • βœ… Dry run mode - Test without sending actual DMs
  • βœ… Confirmation prompts - Prevent accidental mass DMs
  • βœ… Checkpoint system - Resume from last position on failure
  • βœ… Result exports - Detailed JSON reports with success/failure data
  • βœ… Embed support - Send rich embedded messages
  • βœ… Message personalization - Multiple variable substitutions
  • βœ… Comprehensive logging - File and console logging with levels
  • βœ… Role-based targeting - Target specific roles or all members
  • βœ… User exclusion - Exclude specific user IDs

Server Nuke Bot Features

  • βœ… Environment variable support - Secure token storage
  • βœ… JSON configuration - Flexible settings management
  • βœ… Selective operations - Choose what to nuke (members/roles/channels/emojis)
  • βœ… Exempt lists - Protect specific users, roles, and channels
  • βœ… Multi-step confirmation - Prevent accidental destruction
  • βœ… Server name verification - Must type exact server name to confirm
  • βœ… Cooldown period - Time to cancel before execution
  • βœ… Dry-run mode - Test without performing actual operations
  • βœ… Automatic backups - Save server structure before nuking
  • βœ… Progress tracking - Real-time progress bars for each operation type
  • βœ… Error handling - Comprehensive retry logic and detailed logging
  • βœ… Rate limiting - Configurable delays between operations
  • βœ… Result exports - Detailed JSON reports with success/failure data
  • βœ… Ban option - Choose to ban instead of kick
  • βœ… Batch processing - Process operations in configurable batches
  • βœ… Comprehensive logging - File and console logging with levels

πŸ“Š Output

Console Output

==================================================
Discord Mass DM Bot
==================================================
⚠️  WARNING: For educational purposes only!
⚠️  Mass DMing may violate Discord's Terms of Service.
==================================================

[2025-12-04 20:00:00] INFO: Configuration validated successfully
[2025-12-04 20:00:01] INFO: Bot ready as BotName#1234
[2025-12-04 20:00:01] INFO: Connected to guild: ServerName (id=123456789)
[2025-12-04 20:00:01] INFO: Total targets: 150

Progress: 10/150 [β–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘] 6.7% | Sent: 9, Failed: 1, Success Rate: 90.0%
Progress: 20/150 [β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘] 13.3% | Sent: 19, Failed: 1, Success Rate: 95.0%
...

Results File

Results are saved to results/massdm_results_TIMESTAMP.json:

{
    "summary": {
        "total_targets": 150,
        "sent": 145,
        "failed": 5,
        "skipped": 0,
        "success_rate": "96.67%",
        "total_time": "375.50s",
        "avg_time_per_dm": "2.50s"
    },
    "failed_users": [
        {
            "user_id": 123456789,
            "username": "User#1234",
            "reason": "DMs disabled or bot blocked",
            "timestamp": "2025-12-04T20:06:15"
        }
    ],
    "timestamp": "2025-12-04T20:06:15"
}

⚠️ Important Warnings

  1. Discord ToS Violation: Mass DMing and server nuking violate Discord's Terms of Service
  2. Account Risk: Your bot account may be banned
  3. Legal Responsibility: Use at your own risk
  4. Educational Only: This is for learning purposes only
  5. Rate Limits: Discord has strict rate limits - respect them
  6. User Privacy: Always respect user privacy and consent

πŸ›‘οΈ Safety Features

The mass DM bot includes several safety features:

  • Confirmation prompts before sending
  • Dry run mode for testing
  • Daily limits to prevent abuse
  • Rate limiting to avoid API bans
  • Checkpoint system to resume on failure
  • Detailed logging for audit trails

πŸ› Troubleshooting

"DISCORD_TOKEN not found"

  • Make sure you created .env file
  • Check that the token is correctly set
  • No quotes needed around the token

"Configuration validation failed"

  • Check config.json syntax (valid JSON)
  • Ensure guild_id is a number, not a string
  • Verify all required fields are present

"Could not fetch guild"

  • Verify the guild ID is correct
  • Ensure the bot is in the server
  • Check bot has proper permissions

"Forbidden: cannot DM"

  • User has DMs disabled
  • User has blocked the bot
  • This is normal and tracked in failed_users

πŸ“ License

This project is provided as-is for educational purposes only. No warranty or support is provided.


πŸ‘€ Author

HypedZykro / Zykro


πŸ™ Disclaimer

By using this software, you acknowledge that:

  1. This is for educational purposes only
  2. You understand the risks involved
  3. You take full responsibility for your actions
  4. The author is not liable for any consequences
  5. You will not use this maliciously

Use responsibly and ethically.

About

Discord server nuker. For educational purposes only.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages