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

# Set Up a Full Support Ticket System with XRYPTON Bot

> Build a professional support ticket system with topic selection, staff roles, transcript logging, and a panel embed — all powered by XRYPTON.

XRYPTON's ticket system gives your server a professional, button-driven support workflow. Staff can be pinged automatically when a ticket opens, topics help members route their requests to the right team, and every closed ticket is saved as a transcript so nothing gets lost. All ticket commands are **prefix-only** and use the `,ticket` group.

***

## Setup Guide

<Steps>
  <Step title="Set the ticket category">
    ```bash theme={null}
    ,ticket category #My-Support-Category
    ```

    **Permission:** Administrator\
    New ticket channels will be created inside this category. Run the command without an argument to remove the category setting.
  </Step>

  <Step title="Set the panel channel">
    ```bash theme={null}
    ,ticket channel #support
    ```

    **Permission:** Administrator\
    This is the channel where the "Create a ticket" button panel will be sent. You must set this before running `,ticket send`.
  </Step>

  <Step title="Add ticket topics (optional)">
    ```bash theme={null}
    ,ticket topics
    ```

    **Permission:** Administrator\
    Opens an interactive menu with **"add topic"** and **"remove topic"** buttons. Click **"add topic"** to enter a topic name and optional description via a modal. Topics appear as dropdown options when a member opens a ticket, letting them categorise their request before the channel is created.
  </Step>

  <Step title="Add staff roles">
    ```bash theme={null}
    ,ticket staff @Support
    ,ticket staff @Moderator
    ```

    **Permission:** Administrator\
    Run the command again with the same role to remove it. Run `,ticket staff` with no argument to clear all staff roles. Staff roles are pinged when a new ticket is opened.
  </Step>

  <Step title="Set the transcript log channel">
    ```bash theme={null}
    ,ticket logs #ticket-logs
    ```

    **Permission:** Administrator\
    When a ticket is closed, a `.txt` transcript of the human-readable messages is uploaded to this channel along with a summary embed. Run the command without an argument to disable logging.
  </Step>

  <Step title="Send the panel">
    ```bash theme={null}
    ,ticket send
    ```

    **Permission:** Administrator\
    Posts the "Create a ticket" embed with a 🎫 button to the channel you set in step 2. Members click this button to open a ticket.
  </Step>
</Steps>

***

## How Members Open Tickets

When a member clicks the 🎫 **Create** button:

1. If topics are configured, a dropdown appears so the member can choose one.
2. XRYPTON creates a private text channel visible only to the member, configured staff roles, and server administrators.
3. A welcome embed is posted and pinned inside the ticket, and staff roles receive a ping.
4. The member sees a confirmation message with a link to their new ticket channel.

<Note>
  Each member can only have one open ticket at a time. Attempting to open a second ticket returns an ephemeral error.
</Note>

***

## Managing Open Tickets

These commands only work inside an active ticket channel.

**Permission:** Manage Channels

```bash theme={null}
,ticket add @User     # grant a member access to the current ticket
,ticket remove @User  # revoke a member's access to the current ticket
```

### Closing a Ticket

Any member with access to the ticket can click the 🗑️ **delete button** inside the ticket channel. A confirmation prompt appears with **Close** and **Cancel** options. When confirmed:

1. A transcript is generated and uploaded to the log channel (if configured).
2. The ticket channel is deleted after a short delay.

***

## Viewing Current Settings

```bash theme={null}
,ticket settings
```

Displays the current ticket configuration for your server, including the panel channel, log channel, and ticket category.

***

## Command Reference

<Accordion title="Full command list">
  | Command                      | Permission      | Description                                     |
  | ---------------------------- | --------------- | ----------------------------------------------- |
  | `,ticket channel #channel`   | Administrator   | Set the channel where the panel is sent         |
  | `,ticket category #category` | Administrator   | Set the category for new ticket channels        |
  | `,ticket topics`             | Administrator   | Interactive menu to add or remove topics        |
  | `,ticket staff @Role`        | Administrator   | Toggle a staff role (run again to remove)       |
  | `,ticket logs #channel`      | Administrator   | Set the transcript log channel                  |
  | `,ticket send`               | Administrator   | Send the ticket panel to the configured channel |
  | `,ticket add @User`          | Manage Channels | Add a member to the current ticket              |
  | `,ticket remove @User`       | Manage Channels | Remove a member from the current ticket         |
  | `,ticket settings`           | —               | View the current ticket configuration           |
</Accordion>

<Tip>
  You can rename ticket channels after they are created without affecting how XRYPTON tracks them. The bot stores the channel ID, not the name.
</Tip>
