Ticket System

The ticket system provides a structured way for members to request support or assistance from moderators and staff. It creates private channels for each request, ensuring organized communication.

Quick Start (5 Minutes)

  1. Run ;ticket setup

  2. Set category: ;ticket category #TICKETS

  3. Set support role: ;ticket role @Staff

  4. Create panel: ;ticket panel

You're done! Read full setup below for advanced options.

Setup

  1. Initialize the ticket system: ;ticket setup

  2. Set a category for new ticket channels: ;ticket category #your-ticket-category

  3. Set a support role that can manage tickets: ;ticket role @SupportTeam

  4. Create a ticket creation panel in a public channel: ;ticket panel

Configuration

  • enabled: Toggles the entire ticket system on or off.

  • category: The ID of the channel category where new ticket channels will be created.

  • supportRole: The ID of the role that will have permissions to view and manage all tickets.

  • ticketCount: An internal counter for ticket numbering.

  • maxTickets: The maximum number of open tickets a single user can have at one time (1-10).

  • transcriptChannel: The ID of the channel where ticket transcripts are sent upon closure.

  • welcomeMessage: The message sent when a new ticket is created. Supports variables.

  • closeMessage: The message sent when a ticket is about to be closed.

  • ticketNameFormat: The naming convention for new ticket channels. Supports {count} and {user}.

  • buttonColor: The color style of the "Create Ticket" button.

  • buttonEmoji: The emoji displayed on the "Create Ticket" button.

  • buttonLabel: The text label on the "Create Ticket" button.

  • embedColor: The color of embeds used by the ticket system.

  • transcripts: Toggles whether a transcript is generated and sent to the transcriptChannel when a ticket is closed.

  • autoClose: (Not implemented in provided code, but implied by name) Automatically closes inactive tickets.

  • autoCloseTime: (Not implemented in provided code, but implied by name) Duration after which inactive tickets are auto-closed.

  • requireReason: (Not implemented in provided code, but implied by name) Requires users to provide a reason when creating a ticket.

  • pingSupport: Toggles whether the supportRole is mentioned when a new ticket is created.

  • logTickets: (Not implemented in provided code, but implied by name) Logs ticket creation/closure events.

Available Variables (for messages and name format):

  • {mention} - Mentions the ticket creator.

  • {user} - The ticket creator's username.

  • {server} - The name of the server.

  • {reason} - The reason provided for the ticket.

  • {count} - The sequential ticket number.

Common Issues:

  • Tickets are not created → Ensure the bot has Manage Channels permission in the server and the category is correctly set.

  • Support staff cannot see tickets → Verify that the supportRole is correctly set and the bot's role is above the support role.

  • Transcripts are not sent → Check that the transcriptChannel is set and the bot has Send Messages and Attach Files permissions there.

  • User cannot create a ticket → Check if the user has reached the maxTickets limit.

Usage

After setup, users can click the "Create Ticket" button on the panel. This will create a private channel visible only to them and members with the supportRole. Users can then communicate with staff within this channel. Staff can close the ticket using the "Close Ticket" button within the ticket channel.

  • ;ticket - Main command for managing the ticket system.

Last updated

Was this helpful?