Commands

Tickets

Commands for managing the support ticket system. Tickets create private channels for users to communicate with staff.

Commands

/ticket close

Closes the current ticket channel.

ParameterTypeRequiredDescription
reasonstringNoClose reason

Permissions: Ticket creator, support roles, or Administrator

Example: /ticket close reason:Issue resolved

Success:

If close_confirmation is enabled — shows a confirmation button

Generates a transcript (if configured)

Sends close notification to the user

Deletes the ticket channel (or archives, based on config)

Logs the action

Errors:

  • Not a ticket channel
  • Missing permissions

/ticket add

Adds a user to the current ticket, granting them view and send permissions.

ParameterTypeRequiredDescription
userMemberYesUser to add to the ticket

Permissions: Must be used inside a ticket channel

Example: /ticket add user:@moderator

Success: User gets view_channel and send_messages permissions + confirmation message
Errors:

  • Not a ticket channel

/ticket remove

Removes a user from the current ticket, revoking their permissions.

ParameterTypeRequiredDescription
userMemberYesUser to remove from the ticket

Permissions: Must be used inside a ticket channel

Example: /ticket remove user:@user

Success: User's permission overwrite removed + confirmation message
Errors:

  • Not a ticket channel

/ticket panel

Deploys the ticket panel embed with an "Open Ticket" button (or category dropdown if categories are configured). Users click the button to create a new ticket.

ParameterTypeRequiredDescription
(none)

Permissions: Administrator only

Example: /ticket panel

Success:

Sends an embed with "Support Tickets" title

Adds a button or category select menu

Saves panel message and channel ID to configuration

Panel types:

  • Without categories — single "Open Ticket" button
  • With categories — dropdown menu with up to 25 category options (name + description + emoji)

Errors:

  • Not an administrator

Ticket Creation Flow

User clicks "Open Ticket" button on the panel

Bot checks if user hasn't exceeded max_tickets_per_user limit

Creates a private channel: ticket-{number} (incrementing)

Sets permissions: user + support roles can see, everyone else can't

Sends a welcome message in the channel

Logs the creation

Auto-Close

The cog runs a background task that checks for inactive tickets:

  • Configurable inactivity timeout
  • Warns before closing (if configured)
  • Automatically closes stale tickets

Configuration

OptionDescriptionDefault
support_rolesRoles that can see all tickets[]
ticket_category_idDiscord category for ticket channelsnone
max_tickets_per_userMax open tickets per user3
close_confirmationRequire confirmation before closingtrue
ticket_categoriesNamed categories with descriptions[]
auto_close_hoursHours of inactivity before auto-close (0 = disabled)0

Tip

Configure ticket_categories in the dashboard to offer a category dropdown instead of a plain button. Each category can have a name, description, and emoji.