Moderation
Ban, kick, timeout, gulag and forgive members with hierarchy checks — plus the management commands that keep the bot tidy.
Moderation is a prefix module. Every command checks the caller's Discord permissions and the role hierarchy before acting.
Punishment commands#
| Command | Permission | What it does |
|---|---|---|
,ban @member | Ban Members | Bans the mentioned member |
,kick @member | Kick Members | Kicks the mentioned member |
,timeout @member 10m [reason] | Moderate Members | Times the member out |
,unmute @member | Moderate Members | Removes an active timeout |
,gulag @member | Manage Roles | Assigns the configured gulag role |
,forgive @member | Manage Roles | Removes the gulag role |
Details that matter#
- Targets are mention-only.
,banand,kickact on the mentioned member and ignore any extra text — there is no reason argument and no message-deletion window on ban. - Timeout durations use
<number><unit>with unitss/sec/seconds,m/min/minutes,h/hour/hours,d/day/days. The remaining words become the reason (default "No reason provided"). Discord caps timeouts at 28 days; Kharat rejects longer durations with a clear message. - Hierarchy guard. Ban, kick and timeout refuse to act when the target's highest role is at or above the caller's — self and bot targets are refused too.
- No warn, no purge, no case history. Those commands do not exist; actions are logged as Discord embeds (see below), not stored in a case database.
Gulag#
The gulag is a role-based timeout: ,gulag @member assigns the role configured on the dashboard (or with ,gulagrole), and ,forgive @member removes it. ,gulagchannelid sets the log channel for these actions. Both configuration commands require Administrator.
Management commands#
| Command | Permission | Purpose |
|---|---|---|
,enable / ,disable | Administrator | Toggle the server, a module, a submodule or a command |
,prefix | — | Show the current prefix (read-only) |
,cgprefix <prefix> | Administrator | Change the prefix (1–5 chars, no spaces) |
,enable/,disable take a target word: server, module, submodule, command or commands (everything). The management commands keep working even when the server itself is disabled — that is the recovery hatch. See Module toggles.
Council audit#
,councilaudit [case#] (owner, Administrator, Manage Guild or the configured admin role) is a read-only verifier for disciplinary workflows built with KAL: it re-checks a recorded case against live Discord state — was the jail role actually removed, is the kicked member actually gone, does the ban exist — and posts an attestation embed when reality disagrees with the record. It reads its case data from the automation state those workflows maintain; it stores nothing itself.
Logging#
Every moderation action posts an embed to the logging channel under the moderation action event (bans red, kicks/timeout yellow, unmutes/forgive green). Configure it on the Logging page.