Skip to content

Latest commit

 

History

History
248 lines (219 loc) · 9.83 KB

README.md

File metadata and controls

248 lines (219 loc) · 9.83 KB

Support ticket system with multi-panel functionality

[p]add (Hybrid Command)

Add a user to your ticket

  • Usage: [p]add <user>
  • Slash Usage: /add <user>
  • Checks: server_only

[p]renameticket (Hybrid Command)

Rename your ticket channel

  • Usage: [p]renameticket <new_name>
  • Slash Usage: /renameticket <new_name>
  • Checks: server_only

[p]close (Hybrid Command)

Close your ticket

Examples
[p]close - closes ticket with no reason attached
[p]close thanks for helping! - closes with reason "thanks for helping!"
[p]close 1h - closes in 1 hour with no reason attached
[p]close 1m thanks for helping! - closes in 1 minute with reason "thanks for helping!"

  • Usage: [p]close [reason]
  • Slash Usage: /close [reason]
  • Checks: server_only

[p]tickets

Base support ticket settings

  • Usage: [p]tickets
  • Restricted to: ADMIN
  • Aliases: tset
  • Checks: server_only

[p]tickets panelrole

Add/Remove roles for a specific panel

To remove a role, simply run this command with it again to remove it

Optional: include true for mention to have that role mentioned when a ticket is opened

These roles are a specialized subset of the main support roles.
Use this role type if you want to isolate specific groups to a certain panel.

  • Usage: [p]tickets panelrole <panel_name> <role> [mention=False]

[p]tickets overviewmention

Toggle whether channels are mentioned in the active ticket overview

  • Usage: [p]tickets overviewmention

[p]tickets transcript

(Toggle) Ticket transcripts

Closed tickets will have their transcripts uploaded to the log channel

  • Usage: [p]tickets transcript

[p]tickets ticketname

Set the default ticket channel name for a panel

You can include the following in the name
{num} - Ticket number
{user} - user's name
{displayname} - user's display name
{id} - user's ID
{shortdate} - mm-dd
{longdate} - mm-dd-yyyy
{time} - hh-mm AM/PM according to bot host system time

You can set this to {default} to use default "Ticket-Username

  • Usage: [p]tickets ticketname <panel_name> <ticket_name>

[p]tickets panels

View/Delete currently configured support ticket panels

  • Usage: [p]tickets panels

[p]tickets suspend

Suspend the ticket system
If a suspension message is set, any user that tries to open a ticket will receive this message

  • Usage: [p]tickets suspend [message]

[p]tickets row

Set the row of a panel's button (0 - 4)

  • Usage: [p]tickets row <panel_name> <row>

[p]tickets buttontext

Set the button text for a support ticket panel

  • Usage: [p]tickets buttontext <panel_name> <button_text>

[p]tickets addmodal

Add a modal field a ticket panel

Ticket panels can have up to 5 fields per modal for the user to fill out before opening a ticket.
If modal fields are added and have required fields,
the user will have to fill them out before they can open a ticket.

There is no toggle for modals, if a panel has them it will use them, if they don't then it just opens the ticket
When the ticket is opened, it sends the modal field responses in an embed below the ticket message

Note
field_name is just the name of the field stored in config,
it won't be shown in the modal and should not have spaces in it

Specify an existing field name to delete a modal field (non-case-sensitive)

  • Usage: [p]tickets addmodal <panel_name> <field_name>

[p]tickets maxclaims

Set how many staff members can claim/join a ticket before the join button is disabled (If using threads)

  • Usage: [p]tickets maxclaims <panel_name> <amount>

[p]tickets selfrename

(Toggle) If users can rename their own tickets

  • Usage: [p]tickets selfrename

[p]tickets addpanel

Add a support ticket panel

  • Usage: [p]tickets addpanel <panel_name>

[p]tickets view

View support ticket settings

  • Usage: [p]tickets view

[p]tickets cleanup

Cleanup tickets that no longer exist

  • Usage: [p]tickets cleanup

[p]tickets embed

Create an embed for ticket panel buttons to be added to

  • Usage: [p]tickets embed <color> <channel> <title> <description>

[p]tickets usethreads

Toggle whether a certain panel uses threads or channels

  • Usage: [p]tickets usethreads <panel_name>

[p]tickets blacklist

Add/Remove users or roles from the blacklist

Users and roles in the blacklist will not be able to create a ticket

  • Usage: [p]tickets blacklist <user_or_role>

[p]tickets buttoncolor

Set the button color for a support ticket panel

  • Usage: [p]tickets buttoncolor <panel_name> <button_color>

[p]tickets selfclose

(Toggle) If users can close their own tickets

  • Usage: [p]tickets selfclose

[p]tickets interactivetranscript

(Toggle) Interactive transcripts

Transcripts will be an interactive html file to visualize the conversation from your browser.

  • Usage: [p]tickets interactivetranscript
  • Aliases: intertrans, itrans, and itranscript

[p]tickets viewmodal

View/Delete a ticket message for a support ticket panel

  • Usage: [p]tickets viewmodal <panel_name>

[p]tickets openrole

Add/Remove roles required to open a ticket for a specific panel

Specify the same role to remove it

  • Usage: [p]tickets openrole <panel_name> <role>

[p]tickets closemodal

Throw a modal when the close button is clicked to enter a reason

  • Usage: [p]tickets closemodal <panel_name>

[p]tickets getlink

Refetch the transcript link for a ticket

  • Usage: [p]tickets getlink <message>

[p]tickets category

Set the category ID for a ticket panel

  • Usage: [p]tickets category <panel_name> <category>

[p]tickets maxtickets

Set the max tickets a user can have open at one time of any kind

  • Usage: [p]tickets maxtickets <amount>

[p]tickets updatemessage

Update a message with another message (Target gets updated using the source)

  • Usage: [p]tickets updatemessage <source> <target>

[p]tickets buttonemoji

Set the button emoji for a support ticket panel

  • Usage: [p]tickets buttonemoji <panel_name> <emoji>

[p]tickets noresponse

Auto-close ticket if opener doesn't say anything after X hours of opening

Set to 0 to disable this

If using thread tickets, this translates to the thread's "Hide after inactivity" setting.
Your options are:

  • 1 hour
  • 24 hours (1 day)
  • 72 hours (3 days)
  • 168 hours (1 week)
    Tickets will default to the closest value you select.
  • Usage: [p]tickets noresponse <hours>

[p]tickets selfmanage

(Toggle) If users can manage their own tickets

Users will be able to add/remove others to their support ticket

  • Usage: [p]tickets selfmanage

[p]tickets addmessage

Add a message embed to be sent when a ticket is opened

You can include any of these in the embed to be replaced by their value when the message is sent
{username} - Person's Discord username
{mention} - This will mention the user
{id} - This is the ID of the user that created the ticket

The bot will walk you through a few steps to set up the embed

  • Usage: [p]tickets addmessage <panel_name>

[p]tickets altchannel

Set an alternate channel that tickets will be opened under for a panel

If the panel uses threads, this needs to be a normal text channel.
If the panel uses channels, this needs to be a category.

If the panel is a channel type and a channel is used, the bot will use the category associated with the channel.

To remove the alt channel, specify the existing one

  • Usage: [p]tickets altchannel <panel_name> <channel>

[p]tickets logchannel

Set the logging channel for each panel's tickets

  • Usage: [p]tickets logchannel <panel_name> <channel>

[p]tickets channel

Set the channel ID where a ticket panel is located

  • Usage: [p]tickets channel <panel_name> <channel>

[p]tickets supportrole

Add/Remove ticket support roles (one at a time)

Optional: include true for mention to have that role mentioned when a ticket is opened

To remove a role, simply run this command with it again to remove it

  • Usage: [p]tickets supportrole <role> [mention=False]

[p]tickets dm

(Toggle) The bot sending DM's for ticket alerts

  • Usage: [p]tickets dm

[p]tickets toggle

Toggle a panel on/off

Disabled panels will still show the button but it will be disabled

  • Usage: [p]tickets toggle <panel_name>

[p]tickets overview

Set a channel for the live overview message

The overview message shows all active tickets across all configured panels for a server.

  • Usage: [p]tickets overview [channel]

[p]tickets autoadd

(Toggle) Auto-add support and panel roles to thread tickets

Adding a user to a thread pings them, so this is off by default

  • Usage: [p]tickets autoadd

[p]tickets viewmessages

View/Delete a ticket message for a support ticket panel

  • Usage: [p]tickets viewmessages <panel_name>

[p]tickets setuphelp

Ticket Setup Guide

  • Usage: [p]tickets setuphelp

[p]tickets priority

Set the priority order of a panel's button

  • Usage: [p]tickets priority <panel_name> <priority>

[p]tickets panelmessage

Set the message ID of a ticket panel
Run this command in the same channel as the ticket panel message

  • Usage: [p]tickets panelmessage <panel_name> <message>

[p]tickets modaltitle

Set a title for a ticket panel's modal

  • Usage: [p]tickets modaltitle <panel_name> [title]

[p]tickets threadclose

(Toggle) Thread tickets being closed & archived instead of deleted

  • Usage: [p]tickets threadclose

[p]openfor (Hybrid Command)

Open a ticket for another user

  • Usage: [p]openfor <user> <panel_name>
  • Slash Usage: /openfor <user> <panel_name>
  • Restricted to: MOD