Moderation
Ban, kick, time out and warn members through Obelisk. Every action needs a reason, gets a numbered case and is posted to your moderation log channel.
What it is
Obelisk’s moderation commands replace right-clicking a member and using Discord’s own Ban, Kick or Timeout buttons. The result is the same Discord action, but Obelisk also records who did it, to whom, when and why.
/banand/unban— permanent, temporary and soft bans./kick— remove a member from the server./timeoutand/untimeout— Discord’s native timeout, up to 28 days./warn,/warningsand/warnings_clear— warnings and warning history./caseand/case_reason— look up a case or fix its reason.
Why moderate through Obelisk
- A reason every time. Reasons are required, so nobody can ban or kick without explaining it.
- A case for every action. Each action gets a case number you can look up later with
/case. - One public record. Replies are private to the moderator; the moderation log channel is where everyone on the team sees what happened.
- Proof stays with the case. Attach a screenshot with
proofor paste a link withproof_url. - Less risk from a compromised account. Your mods don’t need Discord’s Ban, Kick or Moderate Members permissions, so a stolen mod account can’t mass-ban from the member list.
Permits setup
Moderation permits let a role or a specific member use the matching commands through Obelisk without Discord’s native permissions. Every permit is off by default; the server owner or an admin grants them to roles or members.
| Permit | Commands |
|---|---|
mod_ban | /ban, /unban |
mod_kick | /kick |
mod_timeout | /timeout, /untimeout |
mod_warn | /warn, /warnings, /warnings_clear |
mod_cases | /case, /case_reason (also allowed for anyone with another moderation permit or the matching native Discord permission) |
The server owner, Administrator and Manage Server can use every moderation command. Members with Discord’s native Ban Members, Kick Members or Moderate Members permission can still use the matching commands.
Recommended setup
- Grant your mod role the permits it needs (for example
mod_ban,mod_kick,mod_timeoutandmod_warn). - In Server Settings → Roles, remove Ban Members, Kick Members and Timeout Members (Moderate Members) from that role.
- Your mods now moderate only through Obelisk, so every action has a reason and a case.
Cases
Every ban, unban, kick, timeout, untimeout, warning and warning clear creates a numbered case. A case stores the member, the moderator, the action, the reason, any proof and the time. Automatic unbans when a temporary ban expires get their own case too.
View a case with /case. If a reason was wrong or too short, fix it with /case_reason; the edit is logged as well.
Moderation log channel
Each case is posted to the moderation log channel with the reason and proof. Command replies are private (only the moderator sees them), so the log channel is the public record for your staff team. See Logging for how log channels are set up.
DMs and proof
- Turn on
dmto message the member about the action first, with the reason. If their DMs are closed, the action still happens. prooftakes a file (such as a screenshot).proof_urltakes a link that starts withhttp://orhttps://.
Safety rules
Obelisk refuses an action when the target is:
- the server owner,
- yourself,
- Obelisk itself,
- anyone whose highest role is equal to or higher than yours (the server owner skips this check), or
- anyone whose highest role is equal to or higher than Obelisk’s.
When you ban by user ID and that person isn’t in the server, there are no roles to compare, so the role check is skipped.
Checking it with /selftest
/selftest (owner or Administrator) is a dry run that changes nothing. It now also checks moderation:
- the moderation commands are registered,
- Obelisk’s permissions and role position, including a list of roles it can’t act on,
- the moderation log channel can receive posts,
- case storage works (without creating a case),
- the temporary-ban timer is running, and how many temporary bans are pending,
- which roles hold each moderation permit.