discord-server-ctrl

Verified·Scanned 2/18/2026

Complete A-Z Discord server administration. Channel/role/member management, AutoMod, webhooks, templates, audit logs, scheduled events, threads, and full server control via CLI.

from clawhub.ai·vc512490·41.3 KB·0 installs
Scanned from 1.0.0 at c512490 · Transparency log ↗
$ vett add clawhub.ai/thebigbrainchad/discord-server-ctrl

Discord Server Admin (Pro)

A complete, enterprise-grade Discord server management skill. Everything a real server admin needs — from basic moderation to AutoMod, webhooks, templates, audit logs, and beyond.


🚀 Quick Start

# Set your bot token
export DISCORD_BOT_TOKEN="your-bot-token"

# Make script executable
chmod +x discord-admin.sh

# View all commands
./discord-admin.sh --help

📋 Command Reference

1. Server Intelligence

# Full server overview
./discord-admin.sh server-info <guildId>

# Server vanity URL (if enabled)
./discord-admin.sh vanity-get <guildId>

# Set vanity URL (requires DISCOVERABLE + boosts)
./discord-admin.sh vanity-set <guildId> <code>

# Server template operations
./discord-admin.sh template-list <guildId>         # List templates
./discord-admin.sh template-create <guildId> <name>  # Create template
./discord-admin.sh template-use <code>             # Create server from template

2. Channel Management (All Types)

# List ALL channels (organized by category)
./discord-admin.sh channel-list <guildId>

# Create channels
./discord-admin.sh channel-create <guildId> <name> text                    # Text
./discord-admin.sh channel-create <guildId> <name> voice                    # Voice
./discord-admin.sh channel-create <guildId> <name> category                # Category
./discord-admin.sh channel-create <guildId> <name> forum                   # Forum
./discord-admin.sh channel-create <guildId> <name> stage                   # Stage
./discord-admin.sh channel-create <guildId> <name> announcements           # Announcement

# Edit channel (all settings)
./discord-admin.sh channel-edit <guildId> <channelId> name:<newName> topic:<topic>
./discord-admin.sh channel-edit <guildId> <channelId> nsfw:true rateLimit:60

# Channel permissions
./discord-admin.sh channel-perms <guildId> <channelId>                      # View perms
./discord-admin.sh channel-perms-set <guildId> <channelId> <roleId> allow:<perms> deny:<perms>
./discord-admin.sh channel-perms-overwrite <guildId> <channelId> <targetId> <type:role|user> allow:<perms> deny:<perms>

# Delete channel
./discord-admin.sh channel-delete <guildId> <channelId>

# Bulk operations
./discord-admin.sh channel-prune <guildId> <days:7>                         # Delete unused channels

3. Role Management (Advanced)

# List all roles with hierarchy
./discord-admin.sh role-list <guildId>

# Create role with full permissions
./discord-admin.sh role-create <guildId> <name> color:#FF5500 permissions:ADMINISTRATOR
./discord-admin.sh role-create <guildId> <name> permissions:MANAGE_CHANNELS,KICK_MEMBERS,BAN_MEMBERS

# Edit role
./discord-admin.sh role-edit <guildId> <roleId> name:<name> color:<hex>
./discord-admin.sh role-edit <guildId> <roleId> hoist:true mentionable:true
./discord-admin.sh role-edit <guildId> <roleId> permissions:+MANAGE_MESSAGES,-ADMINISTRATOR

# Position management (hierarchy matters!)
./discord-admin.sh role-position <guildId> <roleId> <newPosition>

# Delete role
./discord-admin.sh role-delete <guildId> <roleId>

# Bulk role operations
./discord-admin.sh role-assign-bulk <guildId> <roleId> <userId1,userId2,...>
./discord-admin.sh role-remove-bulk <guildId> <roleId> <userId1,userId2,...>

# Role permission constants (comma-separated):
# ADMINISTRATOR, VIEW_AUDIT_LOG, VIEW_GUILD_INSIGHTS, MANAGE_GUILD, MANAGE_ROLES, MANAGE_CHANNELS, KICK_MEMBERS, BAN_MEMBERS, CREATE_INSTANT_INVITE, CHANGE_NICKNAME, MANAGE_NICKNAMES, MANAGE_EMOJIS, MANAGE_WEBHOOKS, MANAGE_GUILD_EXPRESSIONS, USE_APPLICATION_COMMANDS, MANAGE_EVENTS, MODERATE_MEMBERS

4. Member Management

# Member info
./discord-admin.sh member-info <guildId> <userId>

# Nickname management
./discord-admin.sh member-nick <guildId> <userId> <nickname>
./discord-admin.sh member-nick-reset <guildId> <userId>

# Timeout (mute) - Discord native
./discord-admin.sh member-timeout <guildId> <userId> <duration:60s|1h|1d|7d>
./discord-admin.sh member-untimeout <guildId> <userId>

# Kick
./discord-admin.sh member-kick <guildId> <userId> [reason]

# Ban (with options)
./discord-admin.sh member-ban <guildId> <userId> [reason] [deleteMessageDays:0-7]
./discord-admin.sh member-ban-temp <guildId> <userId> <duration:7d> [reason]

# Unban
./discord-admin.sh member-unban <guildId> <userId> [reason]

# Bulk moderation
./discord-admin.sh ban-list <guildId>                                   # List all bans
./discord-admin.sh kick-bulk <guildId> <userId1,userId2,...> [reason]
./discord-admin.sh ban-bulk <guildId> <userId1,userId2,...> [reason]

# Avatar management
./discord-admin.sh member-avatar-set <guildId> <userId> <imageUrl>

5. AutoMod (Pro Feature)

# List AutoMod rules
./discord-admin.sh automod-list <guildId>

# Create AutoMod rule
./discord-admin.sh automod-create <guildId> <name> \
    keyword:badword,spam,scam \
    presets:SLUR,SEXUAL,PROFANITY \
    actions:BLOCK_MESSAGE,ALERT, timeout:60s

# Keyword filters
./discord-admin.sh automod-keyword <guildId> <ruleName> add:badword,offensive
./discord-admin.sh automod-keyword <guildId> <ruleName> remove:badword
./discord-admin.sh automod-keyword <guildId> <ruleName> clear:true

# Preset filters (Discord-provided)
./discord-admin.sh automod-preset <guildId> <ruleName> SLUR,SEXUAL,PROFANITY,VIOLENCE

# Regex patterns
./discord-admin.sh automod-regex <guildId> <ruleName> pattern:'(?i)(https?://\S+)'

# Block lists
./discord-admin.sh automod-blocklist <guildId> <ruleName> add:custom_blocklist_name

# Actions configuration
./discord-admin.sh automod-actions <guildId> <ruleName> \
    ALERT \
    BLOCK_MESSAGE \
    timeout:60s \
    timeoutDuration:300 \
    channelId:123456789

# Edit/delete rules
./discord-admin.sh automod-edit <guildId> <ruleId> enabled:false
./discord-admin.sh automod-delete <guildId> <ruleId>

6. Message Management

# Send messages
./discord-admin.sh msg-send <channelId> <content>
./discord-admin.sh msg-embed <channelId> '{"title":"Hello","description":"World","color":65280}'

# Send with attachments
./discord-admin.sh msg-send-file <channelId> <filePath> [message]

# Edit messages
./discord-admin.sh msg-edit <channelId> <messageId> <newContent>

# Delete messages
./discord-admin.sh msg-delete <channelId> <messageId>
./discord-admin.sh msg-delete-bulk <channelId> <messageId1,messageId2,...>
./discord-admin.sh msg-delete-range <channelId> <beforeMessageId> [limit:100]

# Bulk delete (14-day limit)
./discord-admin.sh msg-prune <channelId> [days:7]

# Search messages
./discord-admin.sh msg-search <guildId> <query> [channelId]
./discord-admin.sh msg-search-user <guildId> <userId> [limit:100]

# Pin/Unpin
./discord-admin.sh msg-pin <channelId> <messageId>
./discord-admin.sh msg-unpin <channelId> <messageId>
./discord-admin.sh msg-pins <channelId>

# Get message history
./discord-admin.sh msg-history <channelId> [limit:100]

7. Webhooks (Advanced)

# List webhooks
./discord-admin.sh webhook-list <guildId> [channelId]
./discord-admin.sh webhook-list <guildId> <channelId>

# Create webhook
./discord-admin.sh webhook-create <channelId> <name> [avatarUrl]

# Get webhook info
./discord-admin.sh webhook-info <webhookId>

# Edit webhook
./discord-admin.sh webhook-edit <webhookId> name:<name> channel:<channelId>
./discord-admin.sh webhook-edit <webhookId> avatar:<imageUrl>

# Execute webhook (send as webhook)
./discord-admin.sh webhook-execute <webhookId> <content>
./discord-admin.sh webhook-execute <webhookId> <content> username:<customName> avatar:<customAvatar>
./discord-admin.sh webhook-execute <webhookId> <content> tts:true
./discord-admin.sh webhook-execute <webhookId> embed:'{"title":"Embed","description":"内容"}'

# Delete webhook
./discord-admin.sh webhook-delete <webhookId>

8. Emojis & Stickers

# List emojis
./discord-admin.sh emoji-list <guildId>

# Create emoji (from URL or base64)
./discord-admin.sh emoji-create <guildId> <name> <imageUrl>
./discord-admin.sh emoji-create <guildId> <name> <base64Data>

# Delete emoji
./discord-admin.sh emoji-delete <guildId> <emojiId>

# Modify emoji
./discord-admin.sh emoji-edit <guildId> <emojiId> <newName>

# List stickers
./discord-admin.sh sticker-list <guildId>

# Create sticker
./discord-admin.sh sticker-create <guildId> <name> <tag> <imageUrl>

# Edit sticker
./discord-admin.sh sticker-edit <guildId> <stickerId> name:<name> tags:<tags>

# Delete sticker
./discord-admin.sh sticker-delete <guildId> <stickerId>

9. Soundboard (Beta)

# List soundboard sounds
./discord-admin.sh soundboard-list <guildId>

# Play sound (triggers in voice channel)
./discord-admin.sh soundboard-play <guildId> <soundId> [volume:100]

# Default sounds
./discord-admin.sh soundboard-defaults <guildId>

10. Scheduled Events

# List events
./discord-admin.sh event-list <guildId>

# Create event
./discord-admin.sh event-create <guildId> <name> <description> <startTime> endTime:<endTime> channel:<channelId>
./discord-admin.sh event-create <guildId> "Gaming Night" "Join us!" 2024-12-31T20:00:00Z channel:123456789 entityType:VOICE

# Event types: VOICE, STAGE_INSTANCE, EXTERNAL

# Edit event
./discord-admin.sh event-edit <guildId> <eventId> name:<name> description:<desc>
./discord-admin.sh event-edit <guildId> <eventId> status:SCHEDULED|ACTIVE|COMPLETED|CANCELED

# Delete event
./discord-admin.sh event-delete <guildId> <eventId>

11. Invites

# List invites
./discord-admin.sh invite-list <guildId>

# Create invite
./discord-admin.sh invite-create <channelId> [maxUses:0] [maxAge:86400] [temporary:true]
./discord-admin.sh invite-create <channelId> maxUses:100 maxAge:3600 unique:true

# Get invite info
./discord-admin.sh invite-info <inviteCode>

# Delete invite
./discord-admin.sh invite-delete <guildId> <inviteCode>

# Vanity URL (server setting)
./discord-admin.sh vanity-get <guildId>
./discord-admin.sh vanity-set <guildId> <code>

12. Audit Logs

# Get audit logs
./discord-admin.sh audit-logs <guildId> [limit:100]
./discord-admin.sh audit-logs <guildId> user:<userId>
./discord-admin.sh audit-logs <guildId> action:CHANNEL_CREATE,BAN,KICK

# Audit action types:
# GUILD_UPDATE, CHANNEL_CREATE, CHANNEL_UPDATE, CHANNEL_DELETE, CHANNEL_OVERWRITE_CREATE, CHANNEL_OVERWRITE_UPDATE, CHANNEL_OVERWRITE_DELETE, MEMBER_KICK, MEMBER_PRUNE, BAN_ADD, BAN_REMOVE, MEMBER_UPDATE, MEMBER_ROLE_UPDATE, ROLE_CREATE, ROLE_UPDATE, ROLE_DELETE, INVITE_CREATE, INVITE_UPDATE, INVITE_DELETE, WEBHOOK_CREATE, WEBHOOK_UPDATE, WEBHOOK_DELETE, EMOJI_CREATE, EMOJI_UPDATE, EMOJI_DELETE, MESSAGE_DELETE, MESSAGE_BULK_DELETE, MESSAGE_PIN, MESSAGE_UNPIN, STAGE_INSTANCE_CREATE, STAGE_INSTANCE_UPDATE, STAGE_INSTANCE_DELETE, THREAD_CREATE, THREAD_UPDATE, THREAD_DELETE

13. Thread Management

# List threads
./discord-admin.sh thread-list <guildId>
./discord-admin.sh thread-list <channelId>

# Create thread
./discord-admin.sh thread-create <channelId> <name> <messageId> [autoArchive:1440]
./discord-admin.sh thread-create <channelId> <name> autoArchive:4320

# Edit thread
./discord-admin.sh thread-edit <threadId> name:<name> archived:true
./discord-admin.sh thread-edit <threadId> locked:true autoArchive:10080

# Delete thread
./discord-admin.sh thread-delete <threadId>

# Join/Leave thread
./discord-admin.sh thread-join <threadId>
./discord-admin.sh thread-leave <threadId>

14. Stage Channels

# Create stage instance
./discord-admin.sh stage-create <channelId> [topic:"Open Mic"]

# Edit stage
./discord-admin.sh stage-edit <channelId> topic:<topic> privacyLevel:GUILD_ONLY
./discord-admin.sh stage-edit <channelId> scheduledStart:<ISO8601>

# Close stage
./discord-admin.sh stage-close <channelId>

15. Integration Management

# List integrations (bots, apps)
./discord-admin.sh integration-list <guildId>

# Integration operations
./discord-admin.sh integration-sync <guildId> <integrationId>
./discord-admin.sh integration-delete <guildId> <integrationId>

16. Guild Settings

# Edit server settings
./discord-admin.sh guild-edit <guildId> name:<newName>
./discord-admin.sh guild-edit <guildId> icon:<imageUrl>
./discord-admin.sh guild-edit <guildId> splash:<imageUrl>
./discord-admin.sh guild-edit <guildId> region:<voiceRegion>
./discord-admin.sh guild-edit <guildId> afkChannel:<channelId> afkTimeout:900
./discord-admin.sh guild-edit <guildId> systemChannel:<channelId> notifications:ALL_MESSAGES
./discord-admin.sh guild-edit <guildId> explicitContentFilter:ALL_MEMBERS
./discord-admin.sh guild-edit <guildId> mfaLevel:ELEVATED
./discord-admin.sh guild-edit <guildId> verificationLevel:HIGH
./discord-admin.sh guild-edit <guildId> defaultNotifications:ALL_MESSAGES

# Community features
./discord-admin.sh guild-enable-community <guildId>
./discord-admin.sh guild-disable-community <guildId>

# Server merge/transfer
./discord-admin.sh guild-transfer <guildId> <newOwnerId>

17. Widget Management

# Widget settings
./discord-admin.sh widget-get <guildId>
./discord-admin.sh widget-edit <guildId> enabled:true channel:<channelId>

18. Moderation Logging

# Setup moderation log
./discord-admin.sh modlog-set <guildId> <channelId>
./discord-admin.sh modlog-get <guildId>
./discord-admin.sh modlog-disable <guildId>

# Configuration
./discord-admin.sh modlog-config <guildId> \
    kicks:true \
    bans:true \
    messages:true \
    nickname:true \
    roles:true \
    invites:true

19. Bulk/Mass Operations

# Mass ban
./discord-admin.sh mass-ban <guildId> <userIdsFileOrComma> [reason]

# Mass kick
./discord-admin.sh mass-kick <guildId> <userIdsFileOrComma> [reason]

# Mass role assignment
./discord-admin.sh mass-role <guildId> <roleId> <userIdsFileOrComma>

# Channel sync (copy permissions)
./discord-admin.sh channel-sync-perms <sourceChannelId> <targetChannelId>

# Role sync (copy all settings)
./discord-admin.sh role-clone <guildId> <roleId> <newName>

20. Template Operations

# Templates
./discord-admin.sh template-list <guildId>
./discord-admin.sh template-create <guildId> <name> [description]
./discord-admin.sh template-sync <guildId> <templateCode>
./discord-admin.sh template-delete <guildId> <templateId>

# Create server from template
./discord-admin.sh template-use <templateCode> <newServerName>

⚙️ Configuration

Environment Variables

export DISCORD_BOT_TOKEN="your-bot-token"
export DISCORD_GUILD_ID="default-guild-id"
export DISCORD_DEFAULT_TIMEOUT=60        # API timeout in seconds
export DISCORD_MAX_RETRIES=3             # Retry on rate limit
export DISCORD_OUTPUT_FORMAT="json"      # json, pretty, minimal

Required Permissions

Option A: Administrator (easiest)

  • Requires: ADMINISTRATOR permission

Option B: Granular permissions

MANAGE_CHANNELS
MANAGE_ROLES
KICK_MEMBERS
BAN_MEMBERS
MANAGE_MESSAGES
MANAGE_GUILD
VIEW_AUDIT_LOG
MANAGE_EMOJIS
MANAGE_WEBHOOKS
MANAGE_GUILD_EXPRESSIONS
MANAGE_EVENTS
MODERATE_MEMBERS

Rate Limiting

The script handles Discord's rate limits automatically:

  • 1 req/1s per channel for message sends
  • 50 req/10s for other operations
  • Exponential backoff on 429 errors
  • Global rate limit detection

📊 Examples

Complete Server Setup

#!/bin/bash
# Setup a new community server from scratch

GUILD="123456789"
TOKEN="your-token"

# 1. Create roles
./discord-admin.sh role-create $GUILD "Admin" color:#FF0000 permissions:ADMINISTRATOR
./discord-admin.sh role-create $GUILD "Moderator" color:#FFA500 permissions:KICK_MEMBERS,BAN_MEMBERS,MANAGE_MESSAGES
./discord-admin.sh role-create $GUILD "Member" color:#00FF00 permissions:CREATE_INSTANT_INVITE

# 2. Create channels
./discord-admin.sh channel-create $GUILD "general" text
./discord-admin.sh channel-create $GUILD "announcements" announcements
./discord-admin.sh channel-create $GUILD "Voice Channels" category

# 3. Setup AutoMod
./discord-admin.sh automod-create $GUILD "Anti-Spam" keyword:scam,free,nitro actions:BLOCK_MESSAGE,ALERT

# 4. Create invite
INVITE=$(./discord-admin.sh invite-create 123456789 maxUses:100 unique:true | jq -r '.code')
echo "Server invite: discord.gg/$INVITE"

# 5. Setup mod log
./discord-admin.sh modlog-set $GUILD 987654321

Daily Moderation Routine

#!/bin/bash
# Daily server maintenance

GUILD="123456789"
TOKEN="your-token"

# Check audit logs for suspicious activity
./discord-admin.sh audit-logs $GUILD action:BAN_ADD --format pretty

# Check mod log
./discord-admin.sh audit-logs $GUILD user:BOT_USER_ID --format pretty

# List recent bans
./discord-admin.sh audit-logs $GUILD action:BAN_ADD limit:50 --format pretty

# Prune old inactive members
./discord-admin.sh member-prune $GUILD 30

# Check for spammers
./discord-admin.sh automod-list $GUILD

🔧 Troubleshooting

Common Errors

ErrorSolution
401: UnauthorizedCheck your bot token
403: ForbiddenBot lacks permissions
404: Not FoundInvalid channel/guild/role ID
429: Too Many RequestsWait, script handles this
50013: Missing PermissionsBot role is below target role
50001: Missing AccessBot can't see the channel

Debug Mode

./discord-admin.sh --debug <command>

📝 Notes

  • 14-day limit: Bulk delete only works on messages from the last 14 days
  • Role hierarchy: Bot role must be higher than target roles
  • Ownership: Some operations require server owner
  • Vanity URLs: Require DISCOVERABLE feature and boosts
  • Templates: Only available to users with MANAGE_GUILD
  • Audit logs: Only viewable by bots with VIEW_AUDIT_LOG, retention is 90 days

🤖 Supported API Endpoints

  • Guilds & Guild Members
  • Channels & Threads
  • Roles & Permissions
  • Messages & Reactions
  • AutoModeration Rules
  • Webhooks
  • Invites & Vanity URLs
  • Guild Templates
  • Emojis & Stickers
  • Guild Scheduled Events
  • Stage Instances
  • Soundboard Sounds
  • Audit Logs
  • Integrations
  • Guild Widgets
  • Application Commands (partial)