NinthDOCS

Features / Tickets

Tickets

Tickets give a member a private channel with your staff. This page covers the whole life of a ticket, for admins setting it up, staff handling it, and members opening one.

Panels and categories

A ticket category is a type of ticket, such as "General support" or "Partnerships". Each category has:

  • A name (up to 50 characters), and optionally an emoji and a description (up to 100 characters) shown in the panel menu.
  • A Discord category that new ticket channels are created under.
  • Optional category staff roles, who can see and handle tickets in that category on top of your server-wide ticket staff.
  • Up to 5 form questions (up to 45 characters each).
  • A cooldown and a limit on open tickets, described below.

A panel is a message with a menu listing some or all of your categories. Admins send panels from /setup or from the dashboard. A server can have up to 25 categories. See Setting up the bot.

Opening a ticket

  1. Pick a category from the panel menu.
  2. If the category has form questions, fill in the form. Every question needs an answer, up to 1000 characters each.
  3. The bot replies privately with a link to your new ticket channel.

Limits and cooldowns

SettingRangeDefault
Max open tickets per member, per category1 to 101
Cooldown after a ticket closes, per category0 to 10,080 minutes (7 days)0 (off)

If you hit a limit the bot tells you why, for example "You already have 1 open ticket(s) in General (max 1)." or "Please wait before opening another General ticket." with the time you can try again.

The ticket channel

The channel is named like ticket-12-username and is private. Only these can see it:

  • The member who opened it.
  • Your ticket staff and ticket admin roles, and the category's staff roles.
  • Anyone staff add with Add user.
  • Members with Administrator.

The first message pings the opener and the category's staff roles (or your server-wide ticket staff roles if the category has none). A role is only pinged if it is mentionable, or the bot has Mention Everyone in that channel. Below that is a card with the ticket number, category, opener and form answers, and the ticket controls.

Staff controls

ControlWhat it does
Claim / UnclaimMarks you as handling the ticket, or releases it. You get a private confirmation and the ticket log gets a line. The button label doesn't change on its own.
CloseStarts closing the ticket. See Closing a ticket.
Add userPick a member to give access to the channel. They can read the history, send messages and attach files.
Remove userPick a member to take access away. You can't remove the opener: the bot says "Could not remove that user."
Request closePosts a close request. Members can use this too.
Priority menuLow, Normal, High or Urgent. Low adds 🔵 to the channel name, High 🟠 and Urgent 🔴.

Everything except Request close is staff-only. Other members get a message such as "Only staff can claim tickets."

Once a ticket is claimed, only the staff member who claimed it can unclaim or close it. Ticket admins and Administrators can take it over, unclaim it or close it. Anyone else sees "This ticket is claimed by @name. Only they or a ticket admin can do that."

Remove user only takes away access that was given to that person directly, such as with Add user. Someone with a ticket staff role, or Administrator, can still see the ticket through that role.

Request close

The opener or a staff member presses Request close. The bot posts "Close requested. Staff can close this ticket when ready." with a Close ticket button. Staff use that button to go straight to the close form. Members who press it get a permission message. The button is turned off once the ticket closes.

Closing a ticket

  1. Press Close (or Close ticket on a close request).
  2. Enter a reason, up to 500 characters.
  3. Press Confirm close, or Cancel to keep the ticket open.

The bot then:

  1. Saves a transcript of the whole channel, including embeds.
  2. Posts the transcript file in your transcript channel, if one is set.
  3. Sends the opener one DM with the reason, who closed it, the transcript file and the rating buttons.
  4. Posts a line in the ticket log.
  5. Deletes the channel about five seconds later.

Transcripts

A transcript is an HTML file you can open in any browser. It is posted in the transcript channel with the opener, who closed it, the category, the message count and the reason. If posting there fails, the file is attached to the ticket log line instead.

Staff can also open or download transcripts from the dashboard's ticket page.

The rating DM

The close DM asks "How would you rate the support you got? (1–5)" with buttons 1 to 5. Only the opener can rate, and only once per ticket. Anyone else who presses a button sees "You cannot rate this ticket.", and a second rating gets "This ticket was already rated." If the transcript can't be attached, the DM still goes out with a note. If the opener has DMs turned off, nothing is sent and nothing else is affected.

Inactivity auto-close

Any message from a person in the ticket counts as activity. Bot messages don't.

SettingRangeDefault
Close after1 to 720 hours48 hours
Warn before close0 up to the close time12 hours

With the defaults, a ticket with no activity for 36 hours gets a warning in the channel: "This ticket has been inactive. It will auto-close in about 12 hour(s) unless there is new activity." After 48 hours without activity it closes with the reason "Auto-closed after 48h of inactivity." A warn time of 0 sends no warning.

The bot checks for inactive tickets every 15 minutes, so a close can come up to 15 minutes late. Auto-closed tickets get a transcript and rating DM like any other, marked as inactive. Their line in the ticket log reads "closed (inactive)".

The bot can't create a ticket if it is missing a permission on the Discord category. It tells the member which permission is missing, so pass that on to an admin. See the FAQ.