-
Notifications
You must be signed in to change notification settings - Fork 0
Commands and Permissions
The label /ticket and its aliases /support//sos are all configurable via
commands.main/commands.aliases - the table below uses the defaults.
| Command | Effect |
|---|---|
/ticket |
Show your active ticket's id, status, and priority (same as /ticket status) |
/ticket <reason> |
Create a ticket in one step, in the first configured category |
/ticket new |
Open the category/preset creation panel (free text falls back to a chat prompt) |
/ticket new <category> |
Create a ticket directly in that category, with no opening message |
/ticket status |
Same as bare /ticket
|
/ticket list |
List every ticket you've ever opened, with its id, category, and status |
/ticket close [reason] |
Close your active ticket; the reason is recorded on the transcript |
/ticket cancel |
Close your active ticket with a generic reason, no text needed |
None of these require a permission node by default - anyone can open and manage their own
tickets. sosstaff.bypass.antispam lifts the open-ticket cap and post-close cooldown for whoever
holds it (see Configuration).
| Command | Effect | Permission |
|---|---|---|
/sostaff panel |
Open the paginated, filterable admin ticket list | sosstaff.admin.panel |
/sostaff reload |
Reload config.yml, every lang/*.yml, and reconnect to Discord if the token changed |
sosstaff.admin.reload |
/sostaff gdpr erase <player> |
Permanently delete all of a player's tickets and messages | sosstaff.admin.gdpr |
Clicking a ticket in the admin panel teleports you to its player (if online) and attaches your in-game chat to that ticket - whatever you type next relays into its Discord channel, the same as if you were the reporter, until you attach to a different ticket or disconnect.
Claiming a ticket is a pure Discord action - it records the Discord user who clicked "Claim" and has nothing to do with being online in Minecraft or having a matching username.
Every entry under discord.action-buttons in config.yml defines its own permission node
(convention: sosstaff.action.<button-id>). If the clicker's Discord display name matches an
online Minecraft player, that permission is checked normally against their account; otherwise
the action runs anyway, trusting that anyone with access to the ticket channel
(discord.permissions.staff-roles) is allowed to use it - there is no way to check a Bukkit
permission for a Discord account with no online session and no account-linking system (see
Configuration). The one exception is
TELEPORT_TO_PLAYER/TELEPORT_PLAYER_TO_STAFF, which move an actual Minecraft character and so
still require an online, name-matched account.
If PlaceholderAPI is installed, SOS-Staff registers no new permissions of its own but exposes:
| Placeholder | Value |
|---|---|
%sosstaff_active_id% |
The requesting player's active ticket id, or empty |
%sosstaff_active_status% |
Its status (OPEN, CLAIMED, ...), or empty |
%sosstaff_active_priority% |
Its priority, or empty |
%sosstaff_ticket_count% |
How many tickets the player has in their history |
These read from an in-memory cache and never touch the database, so they're safe to use in scoreboards, tab lists, or anywhere else resolved frequently.