Getting started
Three things, in this order. The second one is the step people skip, and it is the reason a bot appears to do nothing.
Add the bot to your server
Use the invite link. It requests the 21 permissions the code actually uses and nothing else. You can untick any of them — a feature’s own command tells you later if it is missing one, rather than failing silently.
Move its role above the roles it manages
Server Settings → Roles, and drag sick above them. Discord refuses to let any bot ban, kick, timeout or assign a role to someone whose highest role sits above the bot's own. This is a Discord rule, not ours, and no permission can override it.
Type a feature’s name
/welcome,/logs,/antinuke— each shows every setting, what is configured, what is still required with the line that fills it, and a live warning if the bot is missing a permission that feature needs. Setting something up switches the feature on;offswitches it back off. Most modules do nothing until you set them up; the handful that start on are named below.
35 modules
Each one is set up from the command on its card. Most wait until you set them up; the exceptions, on from the moment the bot arrives, are Activity, AFK, Giveaways, Language, Text commands, Moderation log, Punishment ladder and Snipe. Every card below says which it is.
Activity
Count messages, voice time and channel usage, so the server can be reported on
AFK
Members can say they are away; anyone who mentions them is told
Applications
Openings people apply for, reviewed and voted on by staff
Automatic roles
Give roles to members the moment they join
Events
Sign-ups, reminders, attendance and what happened afterwards
Giveaways
Who can run a giveaway, and what the bot does when one ends
Goodbye messages
Say goodbye when a member leaves, with an optional card
Guild Management
Ranks, rosters, contributions, promotions, and who is due one
Join to create
A voice channel that makes members their own, with a control panel
Language
The language the bot answers in, in this server
Partnerships
Partner applications, verification, renewals and how announcements go out
Reviews
Ratings out of five with the whole review, posted where you choose
Starboard
Pin the messages a server reacts to onto a board of their own
Status rewards
Give a role to members who put something in their custom status
Text commands
Run commands with a prefix as well as with slash
Tickets
Private support channels members open from a panel
Welcome messages
Greet members when they join, with an optional card and DM
AI image scan
Send images to OpenAI’s model, and do what you choose with the bad ones
Anti-nuke
Catch mass channel, role and webhook destruction
Anti-raid
Catch coordinated floods of new accounts joining
Anti-spam
Catch message floods, repeated text and mass mentions
Appeals
Let banned and muted members appeal, with a staff vote
Auto-nuke
Wipe channels on a schedule, on a phrase, or when the server is under attack
Jail
Hold a member in one channel, and give their roles back after
Link filter
Block invites, phishing, and content that breaks Discord’s own rules
Moderation log
Record every moderation action to a channel
Moderator watch
Alert when one moderator takes an unusual number of actions
Pic perms
Images off for everyone, on for one role
Punishment ladder
Escalate automatically: what happens on a member’s 1st offence, 2nd, 3rd…
Server logs
Record edited and deleted messages, so nothing is lost
Snipe
Who can read back a deleted or edited message with /snipe
Webhook relay
Post a blocked message back through a webhook under its author’s name
Word blacklist
Block words before they are ever posted, using Discord AutoMod
Member screening
A risk profile for every account that joins, and why
Verification
Make new members prove they are a person before they can talk
21 variables for your messages
Type one in curly brackets in a message you write for the bot — the welcome, or anything you build with /message — and it is filled in when the message is sent. One a feature cannot fill (the welcome has no channel) is left exactly as you typed it. Names people choose are escaped, so nobody can break your formatting with theirs.
The member
{user}Mentions the member · also {mention} and {user.mention}@alice{user.name}Their username, without a ping · also {username}alice{user.display}The name they show in this serverAlice{user.id}Their user ID123456789012345678{user.avatar}Link to their profile picture — works as an image or thumbnailhttps://cdn.discordapp.com/avatars/…{user.created}How long ago their account was made3 years ago{user.joined}How long ago they joined this server2 minutes agoThe server
{server}The server’s name · also {server.name} and {guild}My Server{server.members}How many members the server has · also {count} and {membercount}1,234{server.members.ordinal}The member count as a place — welcome your 1,234th member1,234th{server.id}The server’s ID123456789012345678{server.icon}Link to the server icon — works as an image or thumbnailhttps://cdn.discordapp.com/icons/…{server.boosts}How many boosts the server has14{server.level}The server’s boost level, 0 to 32{server.owner}Mentions the server owner@ownerThe channel
{channel}Links the channel · also {channel.mention}#general{channel.name}The channel’s name, without the linkgeneral{channel.id}The channel’s ID123456789012345678Time
{date}Today’s date, in each reader’s own format1 October 2026{time}The time now, in each reader’s own time zone14:05Chance
{choose}One of several options at random — {choose:hi|hello|hey}helloWhat the invite asks for
This list is generated from the permissions the modules and commands declare, so it is exactly the set the code can use — not a padded request.
Kick Members Ban Members Manage Channels Manage Server View Audit Log View Channels Send Messages Manage Messages Embed Links Attach Files Read Message History Move Members Manage Nicknames Manage Roles Manage Webhooks Manage Emojis and Stickers Manage Expressions Manage Events Create Private Threads Send Messages in Threads Timeout Members