Written by hand rather than pasted from commit messages, so every line is something you could actually notice. Newest first.
A second look at everything
Lifts ask your rank, and receipts say when nothing happened. You cannot lift a timeout on somebody above you, end a jail that would hand back a role you could not give by hand, or let yourself out. A command that changed nothing says so instead of ticking, and an audit-log reason is cut to the length Discord documents, however Discord counts it.
The dashboard keeps what you typed. A save that is refused, or that loses a race with another one, gives your version back in the form with the reason above it, while the preview shows what is saved. Adding and deleting a custom command say they did, every refusal offers the page it came from, and the network switch and Log out answer in your language.
The website says what is true. The getting-started guide describes the setup panel as it is; the commands page sets code as code; the store lists every limit premium lifts and nothing it does not; the status page says where to ask whenever the bot is not connected; the verify page names Cloudflare Turnstile when it shows it; and the privacy page says how long the sponsored line’s bookkeeping lasts.
Clearer replies, everywhere at once
Refusals that say what to do. Every refusal puts the plain verdict on its first line and the detail underneath — the permission you lack, the value you typed, the setting to switch on — and that first line no longer shows stray asterisks or backticks.
Receipts that tell the truth. A moderation receipt quotes its case number; closing a ticket says whether the transcript was archived; a lifted lockdown that could not restore anything is a warning, not a tick; /softban asks first, like /ban; and lists say how many they show out of how many there are.
Waits are not refusals. A cooldown is a grey card with a clock and the time left, not a red error. Switches say what pressing them does rather than the state they are in, and nothing routine is red.
On the website. Your dashboard lists what stands in a feature’s way and tells you when a feature skips you; a failed request’s Try again goes back to the page that failed; long names wrap instead of widening the page; a switch press returns you to its card; and the grey small print is readable on every card.
A sponsored line, kept in its place
What it is. The people running this bot may set one short sponsored link. In a server without premium it appears now and then as a small grey footnote under some public replies: at most once every forty-five minutes per server, and only after six other replies there.
Where it never is. Never under a moderation action, a warning, a private reply or a message with buttons, and never in a premium server. The site footer shows it on every public page, and the privacy page’s own section says what is kept about it, and for how long.
Until a sponsor is set, nothing changes. The line exists nowhere until both values are set. While one is, /premium status and the store list “no sponsored line” among premium’s perks.
Voice channels, by command
Your room, as words. Everything the join-to-create panel’s buttons do — lock, unlock, hide, show, limit, rename, permit, reject, claim, transfer — is a /voice subcommand as well, so the owner of a room can type it wherever the panel is a scroll away.
Voice moderation, recorded./voice mute, unmute, deafen, undeafen, disconnect, move and moveall, each checked against the moderator’s permissions in that very channel, and the ones aimed at one member written into the moderation history like a warning or a timeout.
The history filter suggests as you type./history type: offers the action types as you type, instead of a fixed list that had reached Discord’s limit of twenty-five choices.
Write your commands and replies on the site
All of them on one page. Your server dashboard now lists every custom command and auto-response — what each one answers with and how often it has fired — and a three-field form to add another: what kind, what sets it off, and what it says.
The full editor behind each one. The same rich-message editor the welcome message uses: text, embed, fields, buttons, a live preview of exactly what Discord will receive, and the variable list to click into it. Beside it sits every other decision — when it fires, where it answers, which channels and roles, the cooldown, the chance, and whether it deletes what set it off.
One press from the feature itself. The custom commands card on your dashboard used to tell you to go and type /custom add in Discord. It has a Write one here button now.
Commands and replies your server writes itself
Custom commands. Teach the bot a command and anybody can type it: ,rules, ,invite, ,prices. One line writes one — /custom add — and it can answer with plain text, an embed, or both, filling in {user} and {server} as it goes.
Auto-responses. A reply that fires when somebody says something, with five ways to match: as a whole word, anywhere in the message, as the whole message, or at either end. As a whole word is the default, because a response to hi should not answer this.
And exactly where, for whom, and how often. Each one can be allowed or refused per channel, per category and per role, answer in the channel or in a DM, delete what set it off, wait a cooldown between uses for each person, and fire only some of the time. Fifty commands and twenty-five responses, or a hundred and fifty and fifty with premium.
Every channel setting can make its own channel
A Make a channel button beside the picker. On your server’s dashboard and in Discord, every setting that wants a channel now offers to create one for you and point itself at it — the AI scan reports, event summaries, promotions, the guild log, level-ups, reviews, screening and ticket transcripts all needed one and had none.
And categories. The ticket category and the one join-to-create puts new channels in can be made the same way. A category is left with the permissions it was born with, on purpose: everything created inside one inherits them.
It locks each one down as it makes it. A log channel nobody without permission can see; a welcome channel everybody reads and nobody types in, with no threads and no reactions. And a feature’s setup list no longer asks you for things nobody is waiting for.
The welcome message is written on the website now
A page for each greeting. The welcome message, the goodbye message and the welcome DM can be written on your server’s dashboard: the text, the whole embed, ten fields, five link buttons, embed or plain, and the card’s switch, theme and words. Everything /message greet offers, and that still works too.
Every variable, with a button that types it for you. The names are listed on the page with what each one shows, and a button under every box inserts the one you pick where your cursor is — nothing you have already typed moves.
It shows you exactly what will be sent. Not an impression of it: the preview is the message the bot has built, so what is on the page is what Discord gets. Anything that will not be sent is named underneath — a button with a label and no link, a picture address Discord will not load, an embed over its character limit.
Setup steps are on the website now
Every feature’s setup steps are on its page. The dashboard could change settings and nothing else — the steps a feature’s Discord panel offers, like making the channel or posting the panel, were not on the site at all. They are listed now, each with one button where the bot can do it.
The welcome message has somewhere to point at. It is built with /message greet rather than being a setting, so the page never mentioned it. A step only a person can do now names the exact command to type.
Making a channel twice makes one channel. Pressing Make the channel again, or reloading the page after pressing it, used to create a second one and leave the first behind with whatever was in it. It answers with the channel it already made instead.
A channel the bot makes for you is locked down as it makes it. A created #welcome, #goodbye, #partners or #verify is now read-only for members — no posting, no threads, no reactions — instead of opening with whatever its category gave it. Log channels were already hidden; channels another system owns, like the jail, are still left alone.
Cards name things where Discord can draw them
A refusal names the role or channel in its body, not its heading. About forty messages put a mention on the card’s first line, which Discord draws as plain text, so the role or channel never appeared at all.
/guild roster keeps staff notes to staff. A member’s note is staff-facing context and the roster answers in the channel, so it is shown now only to somebody who can promote and credit. Each row names the member as well.
Dates on a case, a warning or an appeal read as dates. They sat where Discord draws text rather than a timestamp, so they showed as raw numbers; they are in the body or on the card’s own timestamp now, in your timezone.
Roles for new members wait for every gate
Autoroles wait until a member is through every gate — Discord’s rules screen, verification and a quarantine — instead of racing them, so somebody still being checked is never handed a role that opens channels.
A returning member’s level rewards come back the moment they are let in — by verifying, a moderator’s bypass or a cleared quarantine — rather than at their next level-up.
Replace-mode level rewards no longer take both roles away. A level-up could remove the new reward along with the old one; it now leaves exactly the new one, and keeps the old one if the new one cannot be given.
“Looks fine” on a quarantine takes the quarantine role off for good — it could come straight back as the other roles were returned. A one-at-a-time reaction-role menu and a strip no longer undo a role somebody else gave a moment before.
The verified role waits for every other gate — nobody jailed, quarantined or still at Discord’s rules screen is handed it, by the button or the website — and a screening card now calls a quarantine a quarantine.
A quarantine can always be decided — /screening check now carries the screening card’s buttons, so a card that was never posted or has been deleted no longer leaves anybody stuck — and a /verify bypass held up by another gate tells the moderator what to do next, rather than the member.
Levels: XP, rank cards, reward roles and a leaderboard on the site
Members earn XP for talking — at most once a minute by default, with a multiplier, and none in the channels or for the roles a server leaves out. /level rank draws a rank card and /level top shows the server’s board.
XP in voice, if a server turns it on. Time in a call counts only while someone else there can hear, so sitting alone, deafened or in the AFK channel earns nothing.
A role at a level with /level addreward, kept alongside the earlier ones or replacing them, and given back to a member who rejoins, the moment they are through the server’s gates. A role that could moderate, or that sits above the bot, is never handed out.
A leaderboard on this site for every server with Levels on: names, pictures, levels, XP and how close each member is to the next level. One switch hides it. Names and pictures are read from Discord when the page is drawn and never written down.
Level-ups can be announced as an embed, as plain text, by direct message, or not at all.
The bot in your language
A server can choose the bot’s language with ,language or /identity language: one of thirty, or Automatic to follow the server’s own Discord setting. It starts in English.
Every command shows in each member’s own Discord language — its name, description, options and choices — and a server that has chosen a language can type its commands in it.
Errors, cooldowns, confirmations, page buttons and /help follow the server’s language. The rest of the bot’s replies and its settings panel follow in later updates.
The site in your language
Every page is translated into all thirty languages: the command list, the docs, the permissions page, this changelog, the status page, the privacy policy and the terms.
What stays in English is what the bot itself says — each command’s, module’s and setting’s own description, and the names of its buttons — because the bot answers in English inside Discord. The pages that show them say so.
The privacy policy and the terms say that their English version is the one that applies, and link to it.
Dates, lists and counts follow your language’s own rules.
Fixed: the permissions page showed backticks around command names instead of setting them as code.
The header keeps Add to Discord clear of the links beside it at every width, and shortens it before anything can touch.
Updates without the bot going offline
An update no longer restarts the bot. The new version starts beside the running one, logs in, and takes over only once it is ready, so there is no stretch in which the bot is offline.
The website does the same: a new copy has to prove it is healthy before it is given a single visitor.
AFK: say you are away
,afk going to sleep sets you away. Anyone who mentions or replies to you is told your reason and how long ago, with nobody pinged, and the note takes itself down after twenty seconds.
Welcome back the next time you talk, with links to the messages that mentioned you while you were gone.
[AFK] on your name while away, put back exactly as it was — unless you renamed yourself in the meantime. A server can turn it off in /afk config.
/afk list shows who is away, everywhere:true sets it in every server you share with the bot, and a moderator can clear somebody’s with /afk remove.
A reason is checked against the server’s word filter and link filter, because the bot repeats it.
The webhook relay, rebuilt the way it was asked for
A blocked message comes back as written. When AutoMod stops one of your own words, the message is posted back through a webhook under the member’s name and picture, unchanged. Hiding the word is still a choice in ,filter repost.
Words that purge and words that time out. Beside Words that nuke, the word blacklist can now delete a member’s recent messages in the channel, or time them out, for the words you list — and those words are never posted back.
It remembers./user shows a moderator how many of someone’s blocked messages have been posted back.
Messages stopped by Discord’s own word lists are never posted back, and an invite or a dangerous link never rides a relay.
Purge cleans up after itself
,purge deletes your command message first, then the messages, then shows a short receipt that removes itself a few seconds later.
The number is how many to delete.,purge 50 @user removes fifty of theirs, reading further back past everybody else’s — up to 1,000 at a time.
A purge that cannot do everything asked says exactly why — too old for Discord to bulk-delete, pinned, or the channel ran out — and that receipt stays up a little longer.
The landing page counts up from zero again
The command and module counts on the landing page could briefly show a negative number while counting up. They now count from zero to the real figure.
Cloudflare no longer adds its bot-check script to the site’s pages, so the site’s own script is the only one a visitor’s browser is sent.
Twelve fixes from the first security scan
Private channels stay private. A message in a channel everyone cannot see no longer reaches a public starboard, and /snipe of such a channel only answers inside it.
Reaction-role menus refuse every role that can moderate, at setup and again on each click — timeout, manage channels, manage webhooks and ping everyone included.
Screening buttons respect your rank, and the moderation log names the moderator who pressed them.
/sync route and /sync channel need Manage Server in the other server too, so one side cannot post into or rename the other’s channels.
A ticket is closed before its channel can be deleted, a moderator who loses the role can no longer edit their old cases, and /user shows warning counts only to moderators.
Spam removed by anti-spam cannot be read back with ,s, and a dashboard save updates AutoMod rules straight away.
/unwarn with a short code two warnings share now clears neither and says so, and a full ID typed without dashes works.
Welcome and goodbye cards, and a real welcome builder
Welcome and goodbye cards. A picture drawn for each member who joins or leaves — their profile picture, a title and a subtitle — on a dark, light or red theme, or on a background you upload. A long name shrinks and then shortens so it always fits, and names in Chinese, Japanese, Korean, Thai, Hindi, Arabic or Hebrew, and emoji, draw as themselves rather than as boxes. Free.
The welcome is built in the message builder now./message greet opens the same panel as /message, with a live preview: text, an embed with every part, link buttons, embed or plain, and the card. Send me a test shows you the real thing, card and all, where only you can see it. Your old welcome text was carried over exactly as it was.
Goodbye messages. A new module, set up with /goodbye and built with /message greet.
A welcome DM, off by default. Turn on DM new members in /welcome to also send each new member a private message you write.
Silent during a raid. No welcomes, DMs, cards or goodbyes while anti-raid is holding the server, so a raid or the ban wave after it does not flood your channels.
Security scanning around the clock. Known vulnerabilities in what the bot depends on are checked every six hours, the live site is probed after every update, and the code itself is reviewed on a schedule.
A message builder, and variables you can look up
New: /message, a message builder inside Discord. Text, an embed or both, with a live preview: title, description, colour, author line, footer, image, thumbnail, up to ten fields and five link buttons. One switch turns the whole thing between an embed card and a plain message.
Post it, schedule it, or save it. Post to any channel you can manage messages in; schedule it for later, once or repeating from hourly to yearly; or save it as one of 25 templates and load it with /message load. /message edit changes a message the builder posted, in place.
A post pings nobody unless you choose a role or @everyone, and then only that one. Pinging @everyone, or a role members cannot mention, needs Mention @everyone — yours and the bot’s. A scheduled post checks again every time it goes out, and pauses with the reason if it can no longer be sent; /message scheduled shows it with Resume beside it.
Every variable is on the docs page, with what it shows and a copy button: {user}, {user.display}, {server.members.ordinal} (“1,234th”), {user.created}, {choose:hi|hello|hey} and more. The welcome message understands all but the channel ones, and its old ones still work.
Your own profile picture on the dashboard, in the bar and at the top of your servers, instead of a letter. Like the server icons, it is fetched by this site, so your browser never contacts Discord’s image servers. Change it in Discord and the dashboard follows within a few minutes.
A Store link in the site’s footer. Until the store opens it takes you to the community server, discord.gg/slob.
Fewer commands to scroll past, the same words to type./serverinfo, /servericon, /serverbanner, /membercount and /boosters are now /server; /userinfo, /avatar and /banner are /user; /editsnipe and /clearsnipe are /snipe edited and /snipe clear. Every prefix word still works — ,av, ,whois, ,si, ,mc, ,es and the rest.
Nuke on violation, and an AI scan setup that reads like a sentence
AI scan’s panel says what it will do, in words. What it looks for, what happens when it finds one, what the member gets, and where and whom it scans — at the top of the panel and on the dashboard. Each kind of image now reads Ignore or Catch, with the punishment beside it.
AI scan can nuke the channel a bad image was posted in. It is a plain switch now, off unless you turn it on.
The word blacklist can nuke too. Set Nuke the channel to the words that nuke, and list them in Words that nuke — so one word nukes the channel while another is only blocked. Or nuke for any word it blocks, Discord’s own lists included.
Any member can set off a nuke by posting, so there are limits: one channel at most once every ten minutes, and three nukes per server an hour across both features. Every nuke is reported. For images, so is one the limits held back; for words, you are told once an hour when the server’s limit is holding nukes back, so a raid cannot fill your mod log.
Clean repost never puts back a message with a word set to nuke the channel.
The word blacklist now says on its panel when a word is left out — longer than Discord’s 60 characters, or past its thousand — instead of quietly not blocking it.
AI scan looks at images only, and blocked messages come back clean
AI scan reads images only. Nothing anybody types is sent to OpenAI any more — the word blacklist handles words, before anyone sees them. Uploads are checked, and so is the picture Discord shows under a link, which you can switch off.
Each kind of image has its own answer. Sexual images, gore, any violence and self-harm each get “Don’t look for this” or a punishment, so gore can cost a timeout while a self-harm image costs nobody anything (switch Delete the message off as well if you only want an alert). On a new server “Any violence” starts off, because it also catches film stills and games; servers that already scanned for violence keep it.
Every step is a switch. Delete the message or leave it up, report it or not, send the report to the moderation log or a channel of its own, and tell the member why in a private message. The one setup refused is the one where a bad image would be found and nothing would happen.
Choose who and where. Scan only some channels, skip others (a thread follows its channel), or scan only members who joined recently.
A gallery of up to ten pictures is checked, not the first four, and one message is never acted on twice.
Servers that were scanning text only have AI scan switched off rather than starting to send images they never agreed to. Everything else keeps doing what it did.
New: clean repost. When AutoMod stops a message for a word, or the link filter removes an invite, the message comes back under the member’s own name and picture with the bad part hidden — so a sentence is not lost over one word. Set it up with ,filter repost. It never reposts phishing, and it stays quiet when it cannot be sure every bad word is hidden.
Clean repost needs Manage Webhooks, which the invite now asks for. Servers that already have the bot can grant it to the bot’s role.
Embed or plain message, and a nuke that takes everything with it
Choose how each feature posts: an embed card or a plain message. The welcome, rank announcements, events, giveaways, auto-nuke warnings, reviews, partner notices and status rewards each have a Message style setting — two buttons on the dashboard, a menu on the panel. The welcome stays plain and the rest stay cards until you choose. A plain message never pings anybody a card would not have.
/nuke now moves everything that pointed at the channel, not only settings. A starboard posting there, a lock, a sync route, the channel an opening is reviewed in, event voice channels and the channel’s activity history all follow it to the replacement. Live giveaways, event cards, application and appeal review cards, ticket panels and role menus are posted again in the new channel, so nothing people could press is lost. The confirmation lists what will follow before you press it, and the receipt says what moved and what was posted again.
An open ticket whose channel was nuked used to be cleared away as abandoned. It stays open, in the new channel.
The dashboard’s channel and role lists keep themselves up to date. A channel you make while the page is open appears within a minute, without reloading and without losing anything you have changed. Refresh lists does it now, straight from Discord.
A setting that points at a channel or role which has since been deleted now says Deleted channel — saving clears it instead of quietly showing “Not set”.
Fixed: the welcome message could not be saved. Changing it — or its message style — was refused with “That channel no longer exists”, on the dashboard and in Discord. Tickets’ Medium and Naming had the same fault. Both save now.
The line under a channel or role setting on the dashboard shows its name, not a long number.
A new dashboard: every server, every switch, and it remembers you
Each server has its own dashboard now. Pick a server and every feature is a card with its own on/off switch, grouped the way /help groups them, with a sidebar to jump between them. A feature that still needs something set shows Set up and names what is missing instead of a switch that would only say no.
Every setting on one page per feature. Channels and roles are pickers — a role list is a row of chips you add to and remove from — short choices are one-tap buttons, and toggles look like toggles. A save bar appears the moment you change something, with Reset to put it back, and asks before you leave with changes unsaved.
It remembers you. Once you have connected Discord, coming back opens your servers straight away for thirty days, and after that Discord’s consent screen is skipped for a browser that has signed in before, so it is one redirect rather than another approval. Log out ends the login at Discord as well, so a copy of the cookie stops working too.
Your servers, as cards. The ones you opened most recently come first, each shows how many features are on and how many still need setting up, and Manage takes you straight in. Servers without sick get a button that adds it to that exact server.
The whole site has a new look to match, and the privacy page now says exactly what the login cookie holds, how long it lasts and how to end it.
On means on — no more “do nothing”
“Take action” is gone. AI scan, anti-nuke, anti-raid, anti-spam and auto-nuke act the moment they are switched on. There is no second switch, and no practice mode that only reports.
No more “Do nothing (report only)”. Anti-nuke, anti-raid and anti-spam always punish when they trip. AI scan and the link filter call their lightest option Just delete the message, because that is what it does. Screening’s is Only post the risk card.
AI scan always deletes what it flags. Its separate “Delete the message” switch is gone — with it off and no punishment, a flagged message was simply left there.
If one of these was on in your server with Take action off, the update switched it off rather than letting it start punishing people you had not chosen to. Press Turn on on its panel when you want it.
Every switch in one tap, and the panel tells you when it will leave you alone
All of a feature’s on/off settings are one menu now. Tick what should be on, untick what should be off, done — AI scan’s ten switches used to be ten separate trips through the setting menu. The card lists what is on and what is off in two lines instead of one line each.
The panel tells you when you won’t be affected. Testing a filter from your own account? If you have Manage Messages and Skip moderators is on — or you hold an exempt role, or you are the server owner for anti-nuke — the panel says so, right under the on/off line, and says how to test.
“Nothing will be reported” when there is nowhere to report. AI scan, anti-nuke, anti-raid, anti-spam, the link filter and moderator watch tell the moderation log what they found and did. With no mod-log channel that went nowhere at all; the panel now says so and links the command that sets it.
If somebody else changes a switch while your panel is open, your next tick is refused and the panel shows you the current state, instead of quietly switching theirs back.
One message sets a feature up, and one button turns it on
Run a feature’s command once and set the whole thing up./welcome, /antinuke, /filter ai — each answers with one message: every setting and what it holds now, a menu to pick one, and the control for it right there — a channel picker, a role picker, a dropdown, an on/off button, or a small box for text and numbers. No typing the command again for every setting.
The on/off switch is a button, for every feature. Changing a setting no longer turns a feature on by itself — Turn on does, and Turn off is the same button afterwards. If something the feature needs is still empty, Turn on says what and takes you to it. AI scanning and Auto-nuke no longer need a special line; they work like everything else.
On the same message: Make a new channel for me, Set it all up (every step I can do myself), Reset (asks first) and Done, which puts the buttons away.
“Never act on these people” uses Discord’s people picker. Anti-nuke, anti-raid, anti-spam, the link filter, moderator watch and screening each kept a box of user IDs to type, comma-separated. Now you pick people, and a menu underneath lists who is on it to take off. Everyone already on those lists is still on them.
Picking a suggestion while typing +@someone into a list used to replace the whole list with that one entry. It adds them now, as the + says.
The quick-set buttons under a command’s reply, and the network dashboard, used to switch a feature on even with something it needs still empty. They ask for it first now, the same as everywhere else.
Under-attack mode is gone for now
/underattack has been taken out, along with anti-nuke’s “Seal the server” setting. It acted on every member of a server at once, and it will come back when it has been thought through properly. /lockserver, /lock, anti-raid and anti-nuke itself are unchanged.
Past “Under attack mode on” and “off” entries stay in /history and /case, because records are permanent.
Under-attack mode takes the dangerous permissions off roles, and anti-nuke can seal the server
Dangerous permissions come off the roles themselves./underattack on now edits each role below mine once — Ban, Kick, Timeout, the Manage permissions, Mention Everyone — so they stop working for everybody at the same moment, instead of waiting for me to reach each member. /underattack off gives back exactly what I took, and keeps anything you changed on a role in the meantime.
I only take permissions I have myself, because Discord only lets me give back what I have. I never touch Administrator, my own roles, or roles above mine. @everyone is trimmed too, and put back the same way.
Anti-nuke can seal the server for you.,antinuke seal on — when Take action catches somebody wrecking the server, I put the whole server into under-attack mode as well, and the alert says so. In reporting mode it only says it would have. Off unless you turn it on.
Role and channel names made of emoji no longer come out with a broken character at the end when a receipt shortens them.
Under-attack mode gets its own announcement channel
The warning has a channel of its own now./underattack on opens #server-locked at the top of the list — everyone can read it, including members whose roles were just taken, and nobody can post in it. The warning used to go wherever the command was typed, which had just been locked.
/underattack update posts news there and adds it to the warning card, newest first. /underattack off removes the channel once everything else is back.
/underattack status used to show the reason as name (id): No reason given — the audit-log header rather than what was typed. It shows what was typed now, and nothing when nothing was.
/health said all three right-click entries were orphaned. It uses the same check as the boot log now, and both notice a command whose options changed but were never re-registered.
No more settings screen — every feature is set up from its own command
/setup and /settings are gone. Every feature is set up by typing its name: ,welcome shows what it is set to and what is left, ,welcome channel #general sets one thing, ,welcome off switches it off. Features that already had a command take the same line under config — ,giveaway config winners 3.
Setting a feature up switches it on. There is no separate “turn it on” step any more; the reply says it is on and gives the line that switches it back off. Two exceptions, on purpose: AI scanning, because it sends messages to OpenAI — it starts only when you say ,filter ai on — and Auto-nuke, which deletes channels and keeps its two switches two separate lines: ,moderation autonuke on, then enforce on when you mean it.
New commands for the features that had none:/welcome, /autorole, /antinuke, /antiraid, /filter (spam, links, words, AI), /logs (server, moderation, snipe, activity), /moderation (the punishment ladder, the jail, moderator watch, auto-nuke) and /prefix.
new makes the channel or role for you — ,logs server channel new — and setup does every step a feature can do on its own, like ,moderation jail setup making the jail role and channel and applying it everywhere. reset puts a feature back to how it shipped, after asking.
Values are read the way you write them: on/off, a choice by the start of its name, 1,000, 30m, a channel or role by mention or name, comma-separated lists with +@role to add and -@role to remove.
Text commands keep apostrophes and line breaks now. ,say we're open, don't be late used to post “were open, dont be late”, and a welcome message typed over three lines arrived as one.
Permission names match what Discord’s own settings screen says — Manage Server and Timeout Members — everywhere, instead of “Manage Guild” and “Moderate Members” in some places.
Auto-nuke keeps its word, and its switches moved to where you are
A channel is never wiped after being told it would not be. The warning Auto-nuke posts goes out up to an hour ahead and says which mode the server is in — including “Take action is off, so nothing will actually be removed”. Switching Take action on inside that window used to wipe the channel anyway, with that assurance as the last thing anybody had read in it. The bot now records what each warning claimed, defers that one occurrence, and warns again correctly before it acts.
The opposite case is no longer silent either: if a wipe you were warned about is called off, the channel is told so, rather than left with an alarm and nothing resolving it.
A repeating rule warned its channel once and then never again. Every cycle after the first re-armed without a warning deadline, and so did any occurrence that came due while Auto-nuke was switched off — so the first wipe after switching it back on arrived with no warning at all.
Switching a feature on no longer means going somewhere else. /nuke channel:#x repeat:1d used to end “turn it on in /settings”; the switches are buttons on the reply now, they show which are already on, and they say who can press them if you cannot. /nuke manage:show carries the same row beside the checklist it fails.
Auto-nuke still takes two deliberate presses rather than one, and that is on purpose — it is the most destructive thing the bot does unattended. Two buttons in front of you is not the same as two commands apart.
One role across a whole rank, and four things that were quietly wrong
/massrole add and /massrole remove change a role on everybody at once — everyone in another role with from:, or only the people, or only the bots. Batched, with a live count, and a Stop button that takes effect on the next member.
It refuses to hand out a role carrying Administrator, Manage Server, Manage Roles, ban, kick or timeout unless you are an administrator yourself — and re-checks that on every member, so a role escalated halfway through a run stops it.
A bare ,backup used to cancel a running restore. Typing the command with no subcommand landed on whatever branch happened to be last, which was cancel. It lists your slots now, and a name it does not recognise is told so rather than acted on.
,massrole remvoe @Member used to grant the role instead of removing it, because the verb was inferred rather than read. A typo now gets a correction naming the real subcommands.
Every command with subcommands answers an unrecognised one the same way, and names the ones that exist rather than saying “unknown subcommand”.
The comment you can leave when you rate a closed ticket is encrypted at rest. It was not, while the answers given when opening the same ticket were — the privacy page said three encrypted fields and there were four. Everything already stored was converted.
Deleting a message in a busy server is much cheaper: rendering the log entry was escaping the whole message before cutting it to the 460 characters shown. A 4,000-character message cost 88ms of the bot’s attention and now costs well under one.
Text commands now enforce the same length limits as their slash equivalents, counted the way the database counts them rather than the way JavaScript does.
What this site was getting wrong
“Every module is off until you turn it on” was not true, and it was written in five places including the privacy policy. Six start on: text commands, the moderation log, the punishment ladder, giveaways, snipe and activity counting. The docs page now lists exactly which, generated from the bot rather than typed out.
“Remove the bot and its records go with it” read as immediate, and there is a thirty-day window. That delay is deliberate — most servers that remove the bot are about to add it straight back with different permissions, and deleting instantly would take every setting and every moderation record with it — but the page did not say so. It does now, and says how to have it done immediately instead.
The privacy page called ticket transcripts “the single exception” to storing message content. There is no exception: a transcript is built from the history Discord itself holds and posted straight back into your server as a file.
It listed three kinds of stored data and left out several, including server backups, which hold your ban list with the reasons written on it.
Every page footer said “no third party between your server and the bot”, which the privacy page’s own section on the VPN check contradicts two clicks away.
“There is no CDN” was said while sitting behind Cloudflare. No page loads anything from another origin, which is the true and narrower claim.
The read-only MCP endpoint at /mcp is removed. It was built so a claim about the deployed site could be checked against the deployed site and it never had a reader, so it was a second credential and an extra route for nothing.
Turning away VPNs, and a dashboard that edits
Verification can refuse connections coming through a VPN, a proxy or a hosting range. Off unless you switch it on, and the privacy page says exactly what is sent and what is kept — which is nothing.
The check happens on a one-time link on this website rather than inside Discord: the bot never sees an address, and the website never learns which member it belongs to.
Optionally that page carries a Cloudflare Turnstile widget, so a script cannot press the button for somebody.
Every setting is now editable from the browser, not just visible. The dashboard writes the same values /settings does, through the same validation.
The network view says which servers a change will reach, by name, before you make it.
Backups you can carry, servers that talk to each other, and a role for repping
/backup export hands you the snapshot as a file, and /backup import reads one back — so a backup can leave the bot, be kept somewhere you control, and be applied to a server this bot has never seen.
A snapshot now carries emoji, stickers and the ban list, so a rebuilt server comes back with the people who were kept out still kept out.
/nuke takes a snapshot before it wipes, so a channel destroyed by accident is not destroyed by accident.
Multi-Server Sync links two servers you administer: announcements posted in one appear in the other, and roles and channels can be kept in step across the link.
Status rewards give a role to members who put your server in their custom status, and take it away when they stop.
Channel and role settings are checked against the server they belong to, so a value from somewhere else cannot be saved.
The audit: clicks that did nothing, and receipts that were not true
Four receipts said something had happened on the strength of having asked for it. They report what actually happened now.
A ticket queue’s fifth question was never asked. The form has five slots and the topic was using one of them, so a queue with five questions silently showed four — and the missing answer was absent from the staff card and the transcript for ever.
A dropdown reaction-role menu offered “up to 25 roles” and could only hold five./reactionrole add is the sixth, and the storage always supported it.
Submitting the wording modal used to destroy the receipt it was opened from. Same shape found and fixed in the ticket panel.
Thirteen documented examples could not be typed as written: a mention now binds to the option that wants it.
Six helpers answered somebody using text commands in slash syntax, telling them to run something they cannot.
A bystander pressing somebody else’s confirmation button is told so, rather than having the click silently dropped.
Four handlers did their work before telling Discord they had heard, which is how a command times out at three seconds while succeeding.
A giveaway requirement that a corrupted row would quietly switch off now refuses the row instead — “0 days old” blocks nobody, which is the unsafe direction.
Ranks, rosters and a server you can rebuild
Guild Management: a ladder of ranks with requirements, a paginated roster, a contribution ledger, promotions and demotions, and /guild advice — who has earned a promotion, who has gone quiet, and who has been waiting longest. Every line names the number behind it.
Ranks can promote automatically when somebody meets their bars, and the role that comes with a rank is refused if it carries moderation power.
Attendance is a requirement bar now — “came to three events in the last thirty days” can gate a giveaway, an application or a rank.
/backup save, list, view and delete: snapshots of your server’s roles, channels, categories and permission overwrites.
/backup apply and /backup restore rebuild a server from one, as a durable job that survives a restart and resumes where it stopped rather than starting again.
,ban @user spamming in general works. The trailing sentence now goes where the command says it goes rather than being spread across three options — the same repair fixed ,jail, ,nick and every other command with a free-text tail.
Giveaways, events, and matching applicants to openings
Giveaways: /giveaway start with a prize, a duration and a number of winners, entry by button, and a roll that cannot be run twice.
Eligibility bars — account age, time in the server, messages sent, voice minutes, invites, roles held — and the host chooses whether people who do not qualify are told.
A fraud detector for the obvious shapes: accounts made for the draw, and members who joined to enter.
Events: sign-ups, reminders before it starts, attendance taken from the voice channel or by check-in, and a write-up posted when it ends.
Recruitment matches applicants to openings automatically, scoring each against the opening’s requirements and telling them which they meet.
The punishment ladder escalates on its own: what happens on a member’s first offence, second, third. Jail is one of the things it can hand out.
Locking a channel no longer silences the bot in the channel it has just locked.
Snipe, opened up and then closed down
/snipe and /editsnipe are available to everybody, not just moderators — which is what they are for.
Opening that meant closing what it opened: the bot checks that you can read the channel at the moment you ask, never shows a message it deleted itself or anything cleared in bulk, and a server can restrict it to moderators or exclude channels outright.
A moderator who has just removed something clears the buffer immediately with /clearsnipe.
AutoMod, and a faster bot
Four more of Discord’s own AutoMod triggers are used, and the bot now sees them fire and logs what happened.
Your AutoMod rules are pushed back into Discord on a slow trickle, so a rule an admin deleted by hand comes back and a rule the bot learned after you last opened /settings arrives at all.
The connection to Discord is kept open between commands, and the acknowledgement now overlaps the work rather than waiting for it. Commands answer noticeably faster.
Analytics that refuse to invent a trend
/stats, /stats member, /stats me, /top, /top channels, /top roles and an analytics panel: who is active, which channels are busy, how the server moves through the day.
Leaderboards over a window you choose, rather than for all time only.
Membership history with invite attribution — who joined, who left, and which invite brought them.
The charts are drawn here, and a chart with one measurement draws one column. A sparkline that spreads a single sample across a week is a confident flat line that means nothing.
The site, in thirty languages
The website now speaks every language Discord itself does — thirty of them — with a picker in the footer of every page.
If your Discord client can be in a language, this site can be too: Bulgarian, Chinese (both scripts), Croatian, Czech, Danish, Dutch, English, Finnish, French, German, Greek, Hindi, Hungarian, Indonesian, Italian, Japanese, Korean, Lithuanian, Norwegian, Polish, Portuguese, Romanian, Russian, Spanish, Swedish, Thai, Turkish, Ukrainian and Vietnamese.
Each language is its own address — /es/faq, /ja/commands — so a link you send somebody opens in the language you were reading.
The command reference, the setup guide and the two policy pages stay in English, and say so in your language at the top: a reference page would disagree with what the bot actually says, and a privacy policy is the text that counts.
The bot itself still answers in English inside Discord. That is written on the picker rather than left to be discovered.
Log in with Discord is now in the header of every page, next to Add to Discord. It worked before; the only link to it was one word in the footer.
The landing page explains the account flow: sign in, see every server where you have Manage Server, and add the bot to the one you picked.
Each Add sick button on your dashboard now adds the bot to that server — Discord opens already pointed at it, instead of a dropdown of every server you are in.
Your servers are grouped into the ones sick is already in and the ones it is not, with a count on each.
A search box on the command reference, filtering all 67 as you type, across every category at once. Press / to jump to it.
The same search appears on your dashboard once you have eight servers or more.
A proper menu button on a phone, instead of the navigation wrapping onto three rows.
A copy button on every command, and on every command permalink.
The site now serves one script, from its own address, pinned to its exact contents. It still loads nothing from any other origin, and every page still works with scripts blocked.
Channels that wipe themselves
Six new commands: /softban, /nick, /role, /say, /info timestamp and /channelperms.
/softban removes a member and deletes their recent messages without keeping them out — the thing every moderation team does by hand as a ban followed by an unban.
/say posts as the bot with every mention disabled, so @everyone in the text pings nobody, and every use is logged naming who asked.
/channelperms lists every overwrite on a channel in the order Discord applies them — the answer to “why can’t they post here”.
/role refuses any role carrying moderation permissions unless you are an administrator, so nobody can use the bot to promote themselves.
/nuke can now keep going: repeat: for a schedule, after: for a message count, phrase: for a trigger word, and risk: for when the server comes under attack.
risk: is graded — lenient, tos, medium or strict — so a channel can react to a nuke attempt without reacting to a busy afternoon.
risk:tos wipes the chat any time Discord’s own rules are broken in it: a link impersonating Discord or Steam, an IP-logging link, or adult content posted outside an age-restricted channel.
The link filter detects those three whether or not you ask it to delete them — a new Block Discord ToS breaches switch decides the deleting, and it is off by default.
Nothing recurring happens until Auto-nuke and Take action are both switched on, and the channel is warned five minutes before each wipe.
A wipe now takes every setting that pointed at the channel with it. Before this, nuking your mod-log channel stopped moderation logging for ever, in silence.
/history can filter for channel wipes, which it could not before — they were recorded as message purges.
A new Permissions page explains every permission the invite asks for and names what uses it.
Log in with Discord
Sign in on the website and see the servers you can configure.
The status page reports real uptime, measured every minute and kept across restarts.
Ban appeals, staff application answers and ticket answers are encrypted at rest with AES-256-GCM.
The site’s own security is checked by a suite of live probes on every release.
Jail, appeals and applications
/jail takes every role and gives it back exactly as it was, including the channel overwrites a role list cannot describe.
Banned members can appeal by DM; staff vote in private, and an approved appeal reverses the punishment itself.
Staff openings people can apply for, reviewed and voted on without leaving Discord.
A starboard, reviews, and join-to-create voice channels.
Verification without a third party
The CAPTCHA is drawn by the bot itself. No verification service ever sees your members, because there is no verification service.
Member screening scores each account as it joins and can act before it says anything.
Anti-raid, anti-nuke and anti-spam, each with a report-only mode so you can watch it work before it acts.