Ticketing
| PLEASE NOTE: Ticketing functions are permission locked to Admins and Mods, with some of the advanced config only changable by Admin users |
|---|
Ticketing is built on the Tickets cog from VRT-Cogs which has a number of useful functions that made it ideal for our use case.
- Multiple Categories (it uses the term 'Panels' to refer to these)
- Dynamic, in discord forms for the member to fill out (no needing to remember commands or visit external websites)
- Custom Questions on Forms
- Native in-discord management of ticket requests (no external web interface or DM's needed)
- History Retention and Accountability (You'd be shocked but most bots ask for payment for that function!)
- Custom Responses on Ticket Opening, and Reason Tracking on Closure
- Nice friendly Welcome Messages with users only needing to click a button to submit a ticket.
- Minimal Disruption to regular channel structure (everthing is in a thread in our set up, and they self hide as well as disappear once closed)
| Note that you will need channel and message ID's to perform some of the commands here, and thus your Discord client needs to be in Developer Mode. Documentation on how to do that is here |
|---|
Creating a Channel for a Ticket Panel
In order to add another panel to the server, we need to create a channel for the tickets to nest under.
We have a few rules to follow though;
- Users cannot message the Top Level Channel, but can view it's Messages and Message History.
- Bots must be given permissions to create and delete both threads and private threads.
- Admins and Mods must be able to message and view private threads (Should already be active)
Conventions I have established for the server include as well that these channels should sit under Server Contacts in the sidebar, Embeds should have a thumbnail, and one panel per channel.
Before you start, send a square icon in PNG format (preferrably with a transparent background, ask Under for help if you need that) to the bot spam channel. This is going to be your thumbnail. Copy the Media Link for the picture (Right Click or Press and Hold) and store it somewhere safe for later.
Create the channel we want in the Server Contacts category, give it a nice simple name.
Permissions are đ« Deny, / Inherit, and â Allow
Permissions for Everyone
| Permission Name | Setting |
|---|---|
| View Channel | Allow |
| Manage Channel | Deny |
| Manage Permissions | Deny |
| Manage Webhooks | Deny |
| Create Invite | Deny |
| Send Messages | Deny |
| Send Messages In Threads | Allow |
| Create Public Threads | Deny |
| Create Private Threads | Deny |
| Embed Links | Allow |
| Attach Files | Allow |
| Add Reactions | Allow |
| Use External Emoji | Allow |
| Use External Stickers | Allow |
| Mention @everyone etc etc. | Deny |
| Manage Messages | Deny |
| Pin Messages | Deny |
| Manage Threads | Deny |
| Read Message History | Allow |
| Send Text to Speech Messages | Deny |
| Send Voice Messages | Deny |
| Create Polls | Deny |
| Use Application Commands | Allow |
| Use Activities | Deny |
| Use External Apps | Deny |
Permissions for Bots
We're giving the bots a ton of power here, but only for these threads, I don't fully understand all the permissions but this is the combo that makes it run
| Permission Name | Setting |
|---|---|
| View Channel | Allow |
| Manage Channel | Allow |
| Manage Permissions | Allow |
| Manage Webhooks | Allow |
| Create Invite | Allow |
| Send Messages | Allow |
| Send Messages In Threads | Allow |
| Create Public Threads SUPER IMPORTANT | Allow |
| Create Private Threads SUPER IMPORTANT | Allow |
| Embed Links | Allow |
| Attach Files | Allow |
| Add Reactions | Allow |
| Use External Emoji | Allow |
| Use External Stickers | Allow |
| Mention @everyone etc etc. | Allow |
| Manage Messages | Allow |
| Pin Messages | Allow |
| Manage Threads SUPER IMPORTANT | Allow |
| Read Message History SUPER IMPORTANT | Allow |
| Send Text to Speech Messages | Inherit |
| Send Voice Messages | Inherit |
| Create Polls | Inherit |
| Use Application Commands | Allow |
| Use Activities | Inherit |
| Use External Apps | Inherit |
Permissions for Moderators
Basically the same as the bots.
| Permission Name | Setting |
|---|---|
| View Channel | Allow |
| Manage Channel | Allow |
| Manage Permissions | Allow |
| Manage Webhooks | Allow |
| Create Invite | Allow |
| Send Messages | Allow |
| Send Messages In Threads | Allow |
| Create Public Threads SUPER IMPORTANT | Allow |
| Create Private Threads SUPER IMPORTANT | Allow |
| Embed Links | Allow |
| Attach Files | Allow |
| Add Reactions | Allow |
| Use External Emoji | Allow |
| Use External Stickers | Allow |
| Mention @everyone etc etc. | Allow |
| Manage Messages | Allow |
| Pin Messages | Allow |
| Manage Threads SUPER IMPORTANT | Allow |
| Read Message History SUPER IMPORTANT | Allow |
| Send Text to Speech Messages | Inherit |
| Send Voice Messages | Inherit |
| Create Polls | Inherit |
| Use Application Commands | Allow |
| Use Activities | Inherit |
| Use External Apps | Inherit |
Now once this is all set up, you'll want to write a nice welcome message. but it needs to be sent in an embed by the bot, Pop up to #bot-spam and issue a command.!tickets embed [colour] [channel] <title> <description> Bot Command Formatting Guide
This has a couple parts
| Section | What to enter | Required? |
|---|---|---|
| Colour | Name of a colour | No, and I'd recommend not using it |
| Channel | The ID of the channel you created (remember you get this from discord developer mode being on, and you right clicking the channel, and selecting Copy ID) | No, but for this case, YES |
| Title | Now this needs to be formatted specifically, Put the title between Double Quotes "like so" or part of it will shift over to the main message and make a mess | YES |
| Description |
The Message you want to show, in this DO NOT use double quotes for the text or it will put those in the message. The description can be Multi-Line |
YES |
Once you have completed and submitted the command, you will be asked a few questions by the bot.
- Firstly it will ask you if you want a footer, press No
- Then it will ask if you want a thumbnail, press Yes
- It will ask for a URL, paste the link you copied waaaay back at the start of this process into the message box and hit enter (or send)
- It will then ask you if you want to include an image, press No
- And finally it will ask if you want to include a field, Press No
It'll have a think for a minute, then it will generate the embed and send it to the right channel, and you'll have your channel all set up to be fully integrated into a ticket panel!