Moderation
Command list
In short
Type / in Discord and pick a Bastion command, or run /help to see the list. Nine more are under Apps when you right-click a member or a message. Most settings live in the dashboard, not in commands.
Discord shows each command's options as you type, so you don't need to memorise them. The examples below show a typical use. Every reply from Bastion is private, so only you see it. Who can use each command is listed at the bottom of this page.
Getting set up
/setup
Creates the Quarantined role and a private bastion-logs channel, then checks Bastion's role position and permissions. Safe to run again at any time: it hides every channel from the Quarantined role again. Needs the owner, a trusted person or an Administrator. See the setup guide.
Example
/setup/help
Lists the commands with a short description of each.
Example
/help/privacy
Tells you, privately, what Bastion stores about you and how to see it or have it erased. Anyone can use it. See privacy and data.
Example
/privacyPunishing and forgiving
/warn
Gives a member a formal warning. A reason is required. Enough warnings trigger your warn steps. Add points, from 1 to 20, to make a serious warning count for more. Left out, it's worth your server's default, which is 1. Bots can't be warned. See moderation.
Example
/warn user:@Sam reason:Spamming memes in general/warnings list
Shows how many of a member's warnings still count, what they add up to in points if that's different, and their 10 most recent. Closed and expired warnings are marked.
Example
/warnings list user:@Sam/warnings clear
Closes every open warning a member has, after you press the button to confirm. The warnings stay on record but stop counting towards warn steps. A moderator can't close warnings that Bastion, the owner or a trusted person gave, and nobody can clear their own.
Example
/warnings clear user:@Sam/timeout
Stops a member sending messages or joining voice for a set time. Write the length like 10m, 2h or 7d. A plain number means minutes. Leave it out and your server's default is used, which is 60 minutes unless you changed it. Discord allows up to 28 days. Each moderator can time out 10 people a minute, explained below.
Example
/timeout user:@Sam duration:1h reason:Arguing after a warning/untimeout
Ends a timeout early. A moderator can't end a timeout that Bastion, the owner or a trusted person placed. That includes Automod timeouts. Only the owner and trusted people can end those.
Example
/untimeout user:@Sam/kick
Removes a member from the server. They can join again with an invite. If your server has Ask before banning or kicking on, you press Confirm first. Counts towards the moderator's kick limit, explained below.
Example
/kick user:@Sam reason:Ignored three warnings/ban
Removes a member and stops them rejoining. It also works on someone who has already left. Add delete_days to delete their messages from the last 0 to 7 days. Left out, your server's default is used, which is 0 unless you changed it. If your server has Ask before banning or kicking on, you press Confirm first. Counts towards the moderator's ban limit, explained below.
Example
/ban user:@Sam reason:Scam links delete_days:1/ban with a length
Add duration to make the ban temporary, from 1 minute to 365 days. Write it like 12h, 7d or 2w. Bastion lifts the ban by itself when the time is up and files the unban as a case. The end time is saved, so a restart doesn't lose it, and it's shown to the member in their message. To ban someone who isn't in the server, paste their user ID into user. A temporary ban can't be placed on someone who is already banned: unban them first. Running /unban cancels the timer, and so does banning them again without a length.
Example
/ban user:@Sam duration:7d reason:Cooling off/softban
Bans a member and unbans them straight away, which removes them and deletes their messages from the last 1 to 7 days. They can join again with an invite. Counts towards the moderator's kick limit.
Example
/softban user:@Sam reason:Spam delete_days:1/alts
Shows who else verified from the same device or connection as a member in the last 90 days. Only you can see the answer. It names the matched members and why, never an address. Needs the same permission as /kick, and Pro with second account detection on. See web check, alts and VPNs.
Example
/alts user:@Sam/unban
Lifts a ban. Use the person's user ID, since they're no longer in the server. A moderator can't lift a ban that Bastion, the owner or a trusted person placed. Only the owner and trusted people can lift those.
Example
/unban user_id:123456789012345678Cleaning up
/purge
Deletes up to 1000 recent messages in the current channel, 100 at a time, and tells you how far it has got. Above 100 it asks you to confirm first. Pinned messages are always kept. Discord doesn't let bots bulk delete messages more than 14 days old, so those are left and Bastion tells you how many there were. Each moderator can run it 5 times a minute and delete 2000 messages in 10 minutes.
Example
/purge amount:300/purge with filters
Narrow it down with any of these, and only messages that pass all of them are deleted. user and role pick whose messages. from picks bots only or people only. links, attachments, embeds and mentions pick messages that have one. contains and starts_with look for text. before and after take a message ID or message link from the same channel.
Example
/purge amount:200 from:Bots only links:True/nick clean
Swaps a name nobody can read or mention for a readable one. Fancy fonts become ordinary letters, stacked marks and invisible characters go, and so does punctuation put at the front to top the member list. If nothing readable is left, the member becomes Member and four digits. Bastion needs the Manage Nicknames permission and a role above theirs.
Example
/nick clean user:@Sam/slowmode
Sets how long members must wait between messages in the current channel, from 0 to 21600 seconds. Set it to 0 to switch slowmode off.
Example
/slowmode seconds:10Right-click commands
These have no slash. On a computer, right-click a member or a message and choose Apps. On a phone, open the member's profile or press and hold the message, then tap Apps. The five on a member open a short form first. See right-click actions.
| Command | Right-click on | What it does |
|---|---|---|
| Warn | A member | Gives a formal warning, the same as /warn. A reason is required. |
| Timeout | A member | Times the member out for the length you type, the same as /timeout. The form starts at 1 hour. |
| Kick | A member | Removes the member, the same as /kick. |
| Ban | A member | Bans the person, the same as /ban, without deleting any of their messages. |
| Quarantine | A member | Takes away all their roles, the same as /quarantine add. |
| Report to moderators | A message | Sends the message to your staff channel with an optional reason. Anyone can use it. See member reports. |
| Delete newer messages | A message | Deletes up to 100 messages sent after the one you chose, once you confirm. Counts as one use of /purge. |
| Check for alts | A message | Privately shows who else verified from the same device or connection as whoever wrote the message, the same as /alts. Pro. See right-click actions. |
| Clean nickname | A message | Cleans the name of whoever wrote the message, the same as /nick clean. It sits on messages because Discord only allows five right-click commands on a person. |
Quarantine
/quarantine add
Removes all of a member's roles and gives them the Quarantined role, which sees nothing. Their roles are saved. A bot is kicked instead. Counts towards the moderator's kick limit. See quarantine.
Example
/quarantine add user:@Sam reason:Account looks hacked/quarantine remove
Releases a member and gives their saved roles back.
Example
/quarantine remove user:@SamCases and notes
/case view
Shows one case by its number, with whether it's closed and what its reason said before any edits.
Example
/case view number:42/case edit
Changes a case's reason. The old reason is kept in the case's history with who changed it and when. A moderator can't edit a case about themselves, or one filed by Bastion, the owner or a trusted person.
Example
/case edit number:42 reason:Spamming invite links/case close
Closes a case. A closed warning stays on record but no longer counts towards warn steps. /case reopen undoes it.
Example
/case close number:42/info user
Shows when a member joined and made their account, how many roles they have, the warnings that count, their number of cases, whether they're quarantined, and anything Bastion has flagged such as a temporary ban, an appeal block or a very new account.
Example
/info user user:@Sam/info server
Shows the member count and a short summary of what Bastion is doing: your plan, what's switched on, what's locked, and how many people are quarantined or temporarily banned.
Example
/info server/premium
Shows whether this server has Bastion Pro. On a free server it shows what Pro adds, the price, and buttons to get it or earn it by voting. On a Pro server it shows how long it runs. Only you see the answer.
Example
/premium/cases
Shows a member's 10 most recent cases, including things Bastion did automatically.
Example
/cases user:@Sam/note add
Adds a private staff note about a member, up to 500 characters. The member isn't told. Each member can have up to 50 notes.
Example
/note add user:@Sam text:Apologised, seems fine/note list
Shows the 10 newest staff notes for a member, each with a six character ID.
Example
/note list user:@Sam/note edit
Changes one of your own notes. Give the ID from /note list. The owner and trusted people can change anyone's.
Example
/note edit user:@Sam id:a1b2c3 text:Apologised twice/note delete
Deletes one of your own notes. The owner and trusted people can delete anyone's.
Example
/note delete user:@Sam id:a1b2c3Mass cleanup
For the aftermath of a raid. Only the server owner and trusted people can run these. Administrators and moderators can't. Bastion always shows the exact number and the first 20 names and waits for you to press the button. It then removes people a few at a time, files one case for the whole run and posts it in your security log, pinging your alert roles.
/cleanup quarantined
Kicks or bans everyone who is quarantined. A ban also covers people who left while quarantined.
Example
/cleanup quarantined action:Kick them/cleanup recent
Kicks or bans everyone who joined in the last few minutes, up to 60. Anyone with a role beyond your verified role is left alone, and so are bots, the owner and trusted people. At most 500 at a time.
Example
/cleanup recent minutes:10 action:Ban themRaids and joins
/raid last
Shows the most recent raid report from the last 30 days, with its ID and a link to the full report on the dashboard.
Example
/raid last/raid cleanup
Kicks, bans or unbans the accounts Bastion flagged in one raid, after you press the button to confirm. Give the raid's ID from /raid last. Owner and trusted people only. Set scope to everyone who joined during the raid to cover accounts Bastion did not flag as well: only the server's owner on Discord can, and Bastion says how many of them it did not flag before you confirm. It won't run while the raid is still going.
Example
/raid cleanup id:66f0c1a2b3c4d5e6f7a8b9c0 action:ban/allow
Lets one account past the Join Gate and the raid action the next time it joins. Give the account's user ID. The pass works once and runs out after 24 hours.
Example
/allow user_id:123456789012345678/honeypot create
Makes a do-not-post-here channel and switches the honeypot on. An account that posts there is treated as hacked or a spam bot.
Example
/honeypot createStaff PIN and recovery key
/pin reset
Clears a moderator's PIN and any lockout, so they can set a new one. For the owner and trusted people. Nobody can reset their own.
Example
/pin reset user:@Sam/pin approve
Makes a moderator's new PIN work now. Without it, a first PIN starts working 24 hours after it is set. For the owner and trusted people. Nobody can approve their own.
Example
/pin approve user:@Sam/recovery status
Says whether a recovery key is set, whether anyone is waiting to use it, and who the recovery owner is. It never shows the key. For the owner, the recovery owner and trusted people.
Example
/recovery status/recovery remove
Removes the recovery owner, so only the server's owner on Discord counts as the owner in Bastion again. Only the real Discord owner can run it.
Example
/recovery removeAppeals
/appeals unblock
Undoes Deny and block, so the person can send an appeal to your server again. Give their user ID. It doesn't lift their ban or timeout. Needs the owner, a trusted person or an Administrator. See appeals.
Example
/appeals unblock user_id:123456789012345678Lockdown
/lockdown start
Stops everyone sending messages in every channel Bastion can edit. The reason is optional. Needs the owner, a trusted person or an Administrator. See lockdown.
Example
/lockdown start reason:Spam wave/lockdown update
Posts a short update in the server-locked channel during a lockdown that has one. Links, mentions and formatting are taken out. One update every 10 seconds.
Example
/lockdown update message:Back in ten minutes/lockdown end
Ends everything at once: channels are put back the way they were, roles get their permissions back and people can join again. While a server-wide lockdown is running it needs the owner, a trusted person or an Administrator. If only single channels are locked, Manage Server is enough.
Example
/lockdown end/lockdown channel
Locks the channel you run it in and leaves the others alone. Run it there again to unlock. It takes no options. Manage Server is enough.
Example
/lockdown channel/lockdown joins
Turns away everyone who joins. Choose kick or ban, or off to let people in again. Bots that are added are kicked too, unless the owner or a trusted person added them. Needs the owner, a trusted person or an Administrator.
Example
/lockdown joins action:kick/lockdown roles
Pro. Staff power lockdown. Takes dangerous permissions off every ordinary role below Bastion until you run /lockdown end. Needs the owner, a trusted person or an Administrator.
Example
/lockdown rolesVerification
/verification setup
Posts the Verify button in a channel, sets the role members get when they pass, and switches Verification on. You can leave an option out if it's already chosen in the dashboard. The role must be a plain member role: Bastion refuses @everyone, a bot's role, a role with powerful permissions and a role above its own. Needs the owner, a trusted person or an Administrator. See verification.
Example
/verification setup channel:#verify role:@MemberBackups (Pro)
/backup create
Saves a copy of your roles, channels and permissions now. It takes no options. You can keep up to 10 manual backups. See backups.
Example
/backup create/backup list
Shows your saved backups, newest first, each with a number.
Example
/backup list/backup restore
Recreates roles and channels that are missing compared with a backup. Nothing you have now is deleted or changed. Give the number from /backup list, or leave it empty for the newest. You confirm with a button.
Example
/backup restore number:2/backup delete
Removes a saved backup for good. Give the number from /backup list.
Example
/backup delete number:3Who can use what
| Commands | Who can use them |
|---|---|
/help | Everyone. |
/setup, /verification setup, /appeals unblock | The owner, trusted people and anyone with Administrator. Manage Server isn't enough. |
/privacy | Everyone. |
/pin set | Anyone on your staff. /pin reset and /pin approve are for the owner and trusted people, never for your own PIN. A recovery owner can't use them in their first 7 days. |
/recovery status | The owner, the recovery owner and trusted people. /recovery remove is for the server's owner on Discord only. |
/raid last | The owner, trusted people, and anyone with Administrator or Manage Server. /raid cleanup is for the owner and trusted people only, and its everyone scope for the server's owner on Discord alone. |
/allow | The same people as /kick. |
/honeypot create | The owner, trusted people and anyone with Administrator. |
/lockdown start, /lockdown update, /lockdown roles, /lockdown joins | The owner, trusted people and anyone with Administrator. Manage Server isn't enough. |
/lockdown end | The same three while a server-wide lockdown is running: all channels, staff powers or the join lock. Anyone with Manage Server if only single channels are locked. |
/lockdown channel | The owner, trusted people, and anyone with Administrator or Manage Server. |
/status | The owner, trusted people, and anyone with Administrator or Manage Server. |
/backup | The owner, trusted people and anyone with Administrator. |
/ban, /unban | Moderators, or anyone with Ban Members. For /unban, only the owner and trusted people if Bastion, the owner or a trusted person placed the ban. |
/softban | Moderators, anyone with Ban Members, or a staff tier with Softban ticked. |
/nick clean and right-click Clean nickname | Moderators, anyone with Manage Nicknames, or a staff tier with Clean nicknames ticked. |
/case edit, /case close, /case reopen, /warnings clear | Moderators, anyone with Timeout Members, or a staff tier with Edit, close and reopen cases ticked. Only the owner and trusted people for a case Bastion, the owner or a trusted person filed. |
/info | The same people as /cases. |
/cleanup | The server owner and trusted people only. |
/kick | Moderators, or anyone with Kick Members. |
/timeout, /untimeout, /warn, /warnings, /case, /cases, /note | Moderators, or anyone with Timeout Members. For /untimeout, only the owner and trusted people if Bastion, the owner or a trusted person placed the timeout. |
/purge | Moderators, or anyone with Manage Messages. |
/slowmode | Moderators, or anyone with Manage Channels. |
/quarantine | Moderators, or anyone with Manage Roles. |
| Right-click Warn, Timeout, Kick, Ban and Quarantine | The same people as the slash command of the same name. |
| Right-click Delete newer messages | Moderators, or anyone with Manage Messages in that channel. |
| Right-click Report to moderators | Everyone who has been in the server for at least 10 minutes. Not on their own message, and up to 3 reports in 10 minutes. |
Moderators means the owner, trusted people, anyone with Administrator, and anyone holding one of your moderator roles. A staff tier also lets its roles use the commands you ticked for it, and nothing else.
While panic mode is running, the moderation commands can be paused for everyone except the owner and trusted people.
Moderation commands show up in everyone's command list. Bastion checks who you are when you use one, and refuses privately if you aren't allowed. /setup, /status, /lockdown, /verification and /appeals are hidden from people without Manage Server, and /backup from people without Administrator. Someone with Manage Server can see /setup and still be refused when they run it.
Rank matters too. You can only act on a member whose top role is below your own, and below Bastion's. Nobody can act on the owner, on Bastion or on themselves.
Limits on moderators
Bans, kicks and quarantines made with Bastion's commands count against the moderator who ran them, using the same Anti-Nuke limits as bans and kicks done by hand. The two are added together. Each limit has a number for a minute and a number for an hour, and reaching either one counts. Timeouts have a separate limit of their own. Right-click commands count exactly like their slash commands.
| Command | Counts as | Balanced limit |
|---|---|---|
/ban, and a warn step that bans | A ban | 5 a minute, 16 an hour |
/kick, /softban, /quarantine add, and a warn step that kicks | A kick | 5 a minute, 16 an hour |
/timeout, and a warn step that times out | A timeout. Its own limit, not part of anti-nuke | 10 a minute, fixed |
/purge | Its own limit, not part of anti-nuke | 5 a minute and 2000 messages in 10 minutes, fixed |
/cleanup | Nothing. Only the owner and trusted people can run it, and every run is posted in the security log | 500 members a run |
When a moderator reaches a ban or kick limit, Bastion refuses the action, tells them so, applies the anti-nuke punishment to them (quarantine by default) and reports it in the security log. The message names the limit that was hit, a minute or an hour. /purge and timeouts over their limits are only refused. Nobody is punished and nothing is reported. The moderator waits a minute and tries again.
The owner and trusted people are never limited. A quarantine counts as a kick, so kicks and quarantines share one counter. Timeouts never count towards the kick limit and never get a moderator punished. Warnings on their own, /untimeout and /unban aren't counted. The ban and kick limits follow your Anti-Nuke settings, so they don't apply if Anti-Nuke or that one limit is switched off. The timeout limit is always 10 a minute, with no hourly cap.
TipCan't use a command? Ask the owner to add your role under Moderators on the People page of the dashboard, or to a staff tier on the Moderation page.
No commands show up at all.
Discord may not have caught up yet. Restart Discord. If that doesn't work, see troubleshooting.
Is there a prefix like an exclamation mark?
No. Bastion only uses slash commands and right-click commands.
The right-click commands are missing.
They're inside the Apps submenu, not in the main right-click list. After Bastion is added or updated they can take a few minutes to appear. Restart Discord. See troubleshooting.
Where is the command to change a setting?
There isn't one. Settings are changed in the dashboard, where you can see them all at once.
A command says I have reached this server's limit.
You ran too many bans, or too many kicks and quarantines, in a minute or in an hour. The message says which. Bastion refused the last one and reported it. See Limits on moderators above.
It says I have timed out 10 people in the last minute.
Each moderator can time out 10 people a minute. The timeout was refused and nothing else happened. Wait a minute and try again.
/unban or /untimeout says only the server owner or a trusted person can undo this one.
Bastion, the owner or a trusted person placed that ban or timeout. A moderator can't undo it. Ask the owner or a trusted person.
A command says Bastion cannot do that.
The member's top role is level with or above Bastion's role, or Bastion is missing a permission. Run /status.
Last updated