Getting Started
Introduction
Welcome to the SX2 Nexus documentation. SX2 Nexus is a multi-purpose Discord bot built for communities that want powerful moderation, a smart welcome system, verification, role menus, giveaways, polls, and real-time notifications — all in one place.
All data is stored per-server in a PostgreSQL database. Your settings never affect other servers.
💡
The default command prefix is !. You can change it per server with !setprefix. Slash commands are also supported where available.
Getting Started
Invite the Bot
Click below to add SX2 Nexus to your server. Grant all requested permissions so every feature works correctly.
Add SX2 Nexus to Discord ↗
⚠️
After inviting, move the SX2 Nexus role above all other roles it needs to manage in Server Settings → Roles. Otherwise ban, kick, and role commands may fail silently.
Getting Started
First Setup
The fastest way to get everything running is with the interactive setup wizard. It auto-detects your channels and roles so you don't have to type them manually.
| # | Command | What it does |
| 1 |
!serversetup |
Interactive wizard — auto-detects roles & channels, one-click save |
| 2 |
!welcomesetup |
Fine-tune welcome messages, DMs, and member count display |
| 3 |
!verify setup |
Configure the member verification system step-by-step |
| 4 |
!postrules |
Post the full rules embed with the agree button |
| 5 |
!roles setup |
Create a self-assign role menu with dropdown |
| 6 |
!config |
Verify everything is saved correctly |
✨
!serversetup auto-detects your channels and roles by name — it will find your #welcome, #rules, #mod-log and admin/mod roles automatically. Just confirm and save.
Getting Started
Permission Levels
SX2 Nexus uses four permission levels to control who can run each command.
Everyone
All server members — no role required
Mod
Members with the configured mod role or higher
Admin
Members with the configured admin role or Administrator permission
Premium
Premium-flagged features/commands require an active subscription
💎
Commands marked Premium require an active SX2 Nexus Premium subscription. Learn more →
Commands
🔧 Setup
Core setup/config commands for onboarding and server configuration.
Run the setup wizard and review your current saved configuration.
!serversetup | !config
Configure admin/mod access roles and reset all server configuration if needed.
!setadminrole @role | !setmodrole @role | !resetconfig
Post and manage server rules onboarding messages.
!postrules | !setuprules
Manage welcome channel/message, DM settings, tests, and reset for joins.
!welcomesetup, !welcomesetup channel, message, dm, dmmessage, membercount, test, reset, help
Configure and deploy your verification flow, then view current verification status.
!verify setup | !verify send | !verify
Create, delete, and list self-assign role menus.
!roles setup | !roles delete [menu_id] | !roles
Commands
⚜️ Admin
Server administration and role management commands. Requires the configured Admin role or Discord's Administrator permission.
List all roles currently configured as Admin or Moderator, including member counts.
!adminroles | !modroles
Assign or remove a role from a specific member.
!addrole @user @role | !removerole @user @role
Create a new role with optional hex colour, delete an existing role, or list all server roles with member counts.
!createrole [name] [#hexcolor] | !deleterole @role | !listroles
Send a formatted announcement embed to any channel.
!announce #channel Your announcement text here
Reset admin and mod role settings, or wipe all server configuration for this guild.
!resetroles | !resetconfig
Commands
🛡️ Moderation
All mod actions are logged to your configured mod log channel and saved to the database per server.
Permanently ban or unban a member. Unban requires the user's Discord ID.
!ban @user [reason] | !unban [user_id] [reason]
Temporarily ban a member. They are automatically unbanned after the duration expires.
!tempban @user 7d Spamming
Kick a member from the server. They can rejoin with an invite.
!kick @user [reason]
Timeout a member — they cannot send messages for the duration. Use !untimeout to remove early.
!timeout @user 30m Breaking rules | !untimeout @user
Issue a warning, view all warnings, delete a specific warning by ID, or clear all warnings for a member.
!warn @user [reason] | !warnings @user | !delwarn [id] | !clearwarnings @user
Bulk delete messages from the current channel. Optionally target a specific user's messages.
!clear [amount 1–100] (@user)
Lock or unlock a channel so members cannot send messages. Set slowmode delay in seconds (0 to disable).
!lock [#channel] | !unlock [#channel] | !slowmode [seconds]
Delete ALL messages in the current channel by cloning it. Use with caution — this is irreversible.
!nukechannel | !channel_clear | !clearchannel
Commands
👋 Welcome System
Automatically greet new members with a rich embed in your welcome channel, with optional DMs and member count.
Show the current welcome configuration. Use subcommands below to change individual settings.
!welcomesetup
Set the channel where welcome messages are posted when new members join.
!welcomesetup channel #welcome
Set the welcome message text. Supports variables: {user} {server} {member_count} {username}
!welcomesetup message Welcome {user} to {server}! 🎉
Toggle DM on join on or off. Set a custom DM message with the same variables as the channel message.
!welcomesetup dm on | !welcomesetup dmmessage Welcome {user}!
Send a test welcome message, reset all settings to default, or view placeholder help.
!welcomesetup test | !welcomesetup reset | !welcomesetup help
💎
Premium: Custom welcome embed with your server's banner image. Upgrade →
Commands
✅ Verification
Button-based verification with account age check and a rules agreement modal. The button works permanently — even after bot restarts.
Run the 6-step interactive setup wizard. Configures verified role, unverified role, verify channel, log channel, minimum account age, and the agreement word.
!verify setup
Post the verification embed with the Verify Me button to the configured verify channel.
!verify send
Show current verification configuration — roles, channels, account age requirement, and total verified/rejected counts.
!verify
Commands
🎭 Role Menus
Beautiful self-assign role menus with dropdowns, member counts, and confirmation messages. Each server manages its own menus independently.
Interactive wizard to create a role menu. You'll be asked for a title, description, colour, channel, and the roles to include (with emojis and descriptions).
!roles setup
Delete an existing role menu by its ID. Use !roles to see all active menu IDs.
!roles delete [menu_id]
List all active role menus in this server with their IDs and channels.
!roles
Commands
🎉 Giveaways
Start a timed giveaway with automatic winner selection. Duration format: 1d 2h 30m. Winners format: 1w 2w etc.
!giveaway start 1d 1w Discord Nitro
End a giveaway early and pick winners, reroll a new winner, or list all active giveaways.
!giveaway end [id] | !giveaway reroll [id] | !giveaway list
Commands
📊 Polls
Create a yes/no or multi-choice poll. Use | to separate options. No options = yes/no poll automatically.
!poll Best game? | Valorant | CS2 | Apex
End a poll and display final results with a percentage bar for each option.
!endpoll [message_id]
Commands
🔔 Notifications
💎
Twitch and YouTube notifications are Premium only. Get Premium →
Set up live Twitch notifications. The bot checks every 3 minutes and posts a rich embed when the channel goes live.
!twitchset #channel twitchusername
Set up YouTube notifications. Alerts on new videos and live streams. Requires the YouTube Channel ID (not the name).
!youtubeset #channel YouTubeChannelID
View current Twitch notification setup or remove it for this server.
!twitchstatus | !twitchremove
View current YouTube notification setup or remove it for this server.
!youtubestatus | !youtuberemove
Commands
⌨️ Custom Commands
💎
Free servers get up to 10 custom commands. Premium = unlimited. Upgrade →
Create a custom bot response. When a member types the trigger, the bot replies. Use | to separate trigger from response. Supports {user} {server} {username} variables.
!addcmd discord | Join our server at discord.gg/sx2
Edit an existing custom command's response, delete one, or list all custom commands for this server.
!editcmd trigger | New response | !delcmd trigger | !listcmds
Commands
🛠️ Utilities
View detailed info about a member — account age, join date, roles, status, and activity.
!userinfo [@user]
View detailed server info — member count, channels, roles, boost level, and verification level.
!serverinfo
Get a full-size version of any member's avatar with PNG/JPG/WEBP download links.
!avatar [@user]
View SX2 Nexus stats — uptime, server count, latency, Python version, and system info.
!botinfo
Get the bot invite link to add SX2 Nexus to another server, plus support server link.
!invite
Commands
⚙️ Settings
Change the command prefix for this server. Max 5 characters, no spaces. Takes effect immediately.
!setprefix .
Set the channel where goodbye messages are posted when members leave the server.
!setgoodbyechannel #goodbye
Commands
👑 Owner
Bot owner–only commands for maintenance, cog management, and premium administration. These commands reject everyone except the bot owner.
Show an overview of all maintenance commands available to the bot owner.
!maintenance
Shut down or restart the bot process. Restart requires the host (Render) to auto-restart the process.
!shutdown | !restart
Show live bot stats — server count, total members, latency, and discord.py version.
!status
Load, unload, or reload a cog by its module path without restarting the bot.
!load cogs.moderation.ban | !unload cogs.moderation.ban | !reload cogs.moderation.ban
Sync slash commands. Guild sync is instant (use during development). Global sync propagates to all servers within up to 1 hour.
!sync guild | !sync global
Evaluate arbitrary Python code in the bot's context. Has access to bot, ctx, and discord. Use with caution.
!eval len(bot.guilds)
Manage the bot's rotating status messages. Add custom entries, list them, clear all, or set the online/idle/dnd presence state.
!setstatus Playing Valorant | !liststatus | !clearstatus | !setbotstatus dnd
Show current cached stats for this server, or force an immediate stats update cycle.
!statsnow | !forceupdate
Manage premium status across servers. Check status, manually activate or deactivate premium on a guild, or list all active premium servers.
!premium check [guild_id] | !premium activate [guild_id] | !premium deactivate [guild_id] | !premium list
Commands
✴️ Slash Commands
SX2 Nexus supports Discord's native slash commands for the most common actions. Type / in any channel to see available commands with autocomplete and inline descriptions.
💡
Slash commands need to be synced before they appear. If you don't see them, ask the server owner to run !sync guild (instant) or wait up to an hour after !sync global.
Permanently ban a member from the server. Discord shows a confirmation UI before the bot acts. Sends a DM to the banned member if possible and logs to the mod log channel.
/ban user:@member reason:Spamming
Kick a member from the server. They can rejoin with a valid invite. Sends a DM notice and logs to the mod log channel.
/kick user:@member reason:Rule violation
Issue a warning to a member. Warning is stored in the database and the member receives a DM. Use !warnings @member to view all warnings and !delwarn ID to remove one.
/warn member:@user reason:Inappropriate language
Display detailed server information — member count, bots, channels, roles, boost level, verification level, and creation date.
/serverinfo
Browse all bot commands organised by category. Run /help to see the category overview, or pass a category name directly to jump straight to its commands.
/help | /help category:Moderation