> ## Documentation Index
> Fetch the complete documentation index at: https://wiki.petto.sbs/llms.txt
> Use this file to discover all available pages before exploring further.

# Tickets

> Panel-based support tickets with full transcripts.

## Overview

Tickets route support requests through a panel instead of a flood of DMs. Everything below requires the **Manage Guild** permission unless it's a per-ticket action any member can use.

## Panels

The message members click to open a ticket.

<CodeGroup>
  ```javascript Syntax theme={null}
  !ticket panel create <channel> [title] [description] [embed_template] [style]
  !ticket panel delete <panel_id>
  !ticket panel list
  ```

  ```javascript Example theme={null}
  !ticket panel create #support "Need help?" "Click a button below" --style button
  ```

  ```text Result theme={null}
  ✅ Panel #1 posted in #support. Add categories with !ticket category add 1.
  ```
</CodeGroup>

`style` is `button` (max 5 categories) or `select` (dropdown, max 25 categories).

## Categories

What a panel's button or dropdown option actually opens.

<CodeGroup>
  ```javascript Syntax theme={null}
  !ticket category add <panel_id> <key> <label> <parent> <support_role> [emoji] [style] [description] [welcome_embed] [max_open] [naming]
  !ticket category edit <key> [label] [parent] [emoji] [style] [description] [welcome_embed] [max_open] [naming]
  !ticket category remove <key>
  !ticket category list
  ```

  ```javascript Example theme={null}
  !ticket category add 1 support Support #Tickets @Staff
  ```
</CodeGroup>

`naming` supports `{number}` and `{username}`, defaults to `ticket-{number}`. `max_open` is the cap per user for that category, defaults to 1.

### Support roles & ping roles

Beyond the one required at creation, add more roles that can see a category's tickets, or roles pinged when one opens.

<CodeGroup>
  ```javascript Syntax theme={null}
  !ticket support-role add <key> <role>
  !ticket support-role remove <key> <role>
  !ticket support-role list <key>
  !ticket ping-role add <key> <role>
  !ticket ping-role remove <key> <role>
  !ticket ping-role list <key>
  ```

  ```javascript Example theme={null}
  !ticket support-role add support @Senior-Staff
  !ticket ping-role add support @on-call
  ```
</CodeGroup>

## Using a ticket

<CodeGroup>
  ```javascript Syntax theme={null}
  !ticket open <category>
  !ticket close [reason]
  !ticket reopen
  !ticket delete
  !ticket claim
  !ticket unclaim
  !ticket add <user>
  !ticket remove <user>
  !ticket rename <name>
  !ticket transcript
  !ticket info
  ```

  ```javascript Example theme={null}
  !ticket open support
  !ticket close "Resolved, thanks!"
  ```
</CodeGroup>

`open` works without a panel at all. `close` generates a shareable transcript link automatically, `transcript` posts one without closing. `claim`/`unclaim`, `reopen`, `delete`, and `rename` are staff-only.
