Kharat Bot Docs

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#

CommandPermissionWhat it does
,ban @memberBan MembersBans the mentioned member
,kick @memberKick MembersKicks the mentioned member
,timeout @member 10m [reason]Moderate MembersTimes the member out
,unmute @memberModerate MembersRemoves an active timeout
,gulag @memberManage RolesAssigns the configured gulag role
,forgive @memberManage RolesRemoves the gulag role

Details that matter#

  • Targets are mention-only. ,ban and ,kick act 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 units s/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#

CommandPermissionPurpose
,enable / ,disableAdministratorToggle the server, a module, a submodule or a command
,prefix—Show the current prefix (read-only)
,cgprefix <prefix>AdministratorChange 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.