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 29 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 opens one panel with every setting and what it holds, what is still needed before the feature can run, and a live warning if the bot is missing a permission that feature needs. Every setting is changed from that panel. Changing one never switches anything on: Turn on does, and the same button is Turn off afterwards. Most modules stay off until somebody presses it; the handful that start on are named below.
59 modules
Each one is set up from the command on its card. Most stay off until somebody presses Turn on on its panel; the exceptions, on from the moment the bot arrives, are Activity, AFK, Created channels, Giveaways, Language, Listening, Music sources, Premium, Quotes, Text commands, Transcribe, 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
Activity ping
A role for everyone, pinged when chat goes quiet
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 new members once they are through verification and screening
Birthdays
Members share a birthday and the server celebrates it on the day
Bump reminder
Reminds the server to bump on Disboard when the cooldown ends
Command channels
Keep commands to the channels meant for them
Counting
A channel where members count upwards together, and the bot keeps the number
Created channels
One category for every channel I make for you, made the first time I need it
Custom commands
Commands the server writes itself, and replies to what people say
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
Levels
Earn XP for chatting and in voice, level up, with role rewards and level-up announcements
Listening
Who knows an artist, crowns and server lists from /fm
Live stat channels
Locked voice channels whose names show live counts
Modmail
Members message the bot; staff answer in a private channel
Music
A voice player with a queue, a panel, a DJ role and votes
Music sources
Which sites and link kinds the music player may play from
Partnerships
Partner applications, verification, renewals and how announcements go out
Polls
Ask the server something, and say what it answered
Premium
The paid tier: a supporter role for whoever activates it, and unlocked limits
Quotes
Who may turn a message into a quote card with /quote, and how often
Reviews
Ratings out of five with the whole review, posted where you choose
Rotating status
A few short lines that take turns as the bot’s status, or as a channel’s name
Social alerts
Post when a YouTube channel uploads or a Twitch streamer goes live
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
Sticky messages
Keep one message at the bottom of a channel, posted again as people talk
Suggestions
Members suggest, the server votes, staff answer
Text commands
Run commands with a prefix as well as with slash
Tickets
Private support channels members open from a panel
Transcribe
Whether /transcribe may write out a voice message as text
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-delete
Remove a channel’s messages on their own: after so many newer ones, after an age, or both
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
Temporary roles
Lend a role for a while; the bot takes it back when the time is up
Term lists
Named lists of words with their own action: block, alert, time out, relay or nuke
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
26 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:05Birthday
{birthday}The date of the birthday, without the year14 March{age}The age they are turning. Empty when they gave no year or the server hides ages25Counting
{number}The number the channel is at1,234{number.next}The number that comes next1,235{number.high}The highest the channel has ever got5,000Chance
{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.