Kharat Bot Docs

Glossary

Precise definitions of the terms this documentation uses — modules, submodules, scripts, definitions, packages and more.

Action — a KAL statement that performs an effect (REPLY, TIMEOUT, PURGE, …). Runs are capped at five Discord actions each.

Auto response — a keyword/trigger-and-reply pair managed by the Automation module; the simplest automation Kharat offers.

Bytecode — the compiled form of a KAL program. Scripts are compiled on save and validated before they ever run.

Claim — assigning a staff member as responsible for an open ticket.

Command definition — a creator-owned copy of a command's source in Command Studio, installable on any server you administer and publishable to the marketplace.

CONFIG block — a KAL program's declared settings. The dashboard renders it as a per-server form; values arrive in scripts as config.<field>.

Context variables — the data a trigger provides (member, message, guild, …). Each trigger defines exactly which exist; extras are compile errors.

Custom command — a KAL v2 program installed on one server, managed from its dashboard.

Dashboard fail-closed — the dashboard's rule that nothing is saved while the bot is offline (bot_unavailable, HTTP 503). No half-applied settings.

Department — an optional ticket routing bucket with its own category, support roles and button.

Durable state — per-server, per-script key/value storage that survives restarts; written by STATE statements.

Gulag — the role-based mute: a configured role assigned via ,gulag and removed via ,forgive.

kal (fragment) — the documentation label for a syntax snippet that is shown and highlighted but intentionally not compiled because it is not a complete program.

KAL v2 — the Kharat Automation Language, version 2: compiled, sandboxed, the language of custom commands.

Module — a top-level feature group with a single on/off switch (utility, moderation, tickets, …). Ships disabled except core.

Package — a marketplace listing: a command's published, immutable version plus its documentation and metadata.

Panel — the tickets module's posted message with the button(s) that open tickets.

Permission clause — [permission: "…"] on a KAL WHEN COMMAND trigger, checked against the calling member.

Pinned version — the marketplace package version an installed script was installed from; updates re-pin it, forks detach from it.

Server statistics — the module that maintains live stat channels, activity roles and the ,/stats overview.

Session — your dashboard login; a 7-day, httpOnly cookie session created via Discord OAuth.

Snipe — recovering recently deleted/edited messages per channel (retained 24 hours).

Submodule — a switch nested inside a module (invite tracker inside utility).

Transcript — the exported history Kharat posts to the ticket log channel before deleting a ticket channel.

Trigger — the WHEN … declaration that starts a KAL block: command, event, interaction, or schedule.

Update available — the badge on an installed script when its marketplace package has a newer published version.

Vanity tracking — attributing joins through a server's vanity URL to the invite tracker's statistics.

Wall clock — the 5-second execution budget per KAL run; exceeded runs are stopped with EXECUTION_TIMEOUT.