Commands
Chat & broadcast
Command | Aliases | Permission | Description |
|---|---|---|---|
| — |
| Network-wide broadcast using the |
| — |
| Reload |
chat.command is declared on the /chat command class, so it gates every present and future /chat subcommand.
Private messages
Command | Aliases | Permission | Description |
|---|---|---|---|
|
| — | Send a network-wide private message. |
|
| — | Reply to the last conversation partner. |
|
| — | Toggle whether you receive private messages. |
| — | — | With a player: ignore them. Without: open the ignore-list menu. |
| — | — | Remove a player from your ignore list. |
|
|
| Toggle social-spy mode. |
/msg and /ignore tab-complete against @networkPlayers — the whole network, not just this server. /ignore refuses to target anyone holding astralchat.ignore.bypass; see Private Messages § Ignoring.
The /socialspy node is hard-coded, not read from config.yml. The social-spy.permission key in config.yml is not consumed by the current code — only social-spy.bypass-permission and social-spy.format are. See Private Messages for the full flow.
Channels
Command | Aliases | Permission | Description |
|---|---|---|---|
|
|
| Pause the channel. Default duration |
|
|
| Resume a paused channel. |
|
|
| One-off broadcast into a channel, skipping cooldown and filters. |
|
|
| List every configured channel. |
|
|
| Reload AstralChat configuration. |
| — | (channel permission, if any) | Subscribe to a channel. |
| — | — | Unsubscribe. |
astralchat.channel is declared on the command class and therefore required on top of each subcommand node.
Channel definitions can also register a custom command per channel — e.g. command: "chatstaff" exposes /chatstaff <message>. Those per-channel commands are the only place a LiteBans mute is checked. They are not registered at all when disable-all-chat-channels is on. See Channels.
Player
Command | Permission | Description |
|---|---|---|
|
| Clear your nickname and restore your real name. |
|
| Set your nickname. |
|
| Staff form — clear another online player's nickname. |
A nickname must be at most 16 characters, must not contain an emoji placeholder in :name: form, and may only contain letters (accented ones included), digits, underscores and spaces. The three rules map to nickname-too-long, nickname-contains-emoji and nickname-invalid; success sends nickname-set or nickname-reset.
chat.nick is declared on the command class, so /nick reset needs both nodes. The staff form replies with a plain, non-configurable confirmation.
Moderation
Command | Aliases | Permission | Description |
|---|---|---|---|
|
|
| Dataset counters: recorded decisions, flagged, clean samples, per-source counts, reviewed, labelled toxic/clean, pending review. |
|
|
| Flagged messages waiting for a human label. Limit defaults to |
|
|
| Recorded decisions for one player, by UUID. Same limit rules. |
|
|
| Label a recorded decision. |
pending and history print one clickable line per row — the score, the sender, the reason and the content — hovering shows the row id, source and action, and clicking suggests the matching /chatmod review <id> TOXIC. review takes the row id from flagged_messages, not a message id, and reports back when no row matches. See Auto Moderation.
Duration syntax
Time arguments accept the standard AstralCore duration format: 30s, 5m, 2h, 1d, 1w, or combinations like 1h30m. Used by /channel pause, filter ttl/delay, and channel cooldown.