Advanced Ticketing System
Thank you for adding me! This app is similar to the Ticketing Tool Bot. We use some of the same commands as the Dm Ticketing app.
But this app is much different as it has ticketing panels that you can customize!
The app comes with 4 different panels that you can choose from. You have a panel for Giveaways, Claiming rewards, General Help, and Reporting members! Along with one with all 4 of the different ones together.
After installing the app there is no setup required and you are all set to go!
IMPORTAND
YOUR BOT REQUIRES THE: Create Privet Threads, Send Messages In Threads, Manage Threads, Read Message History
Please do not DM me asking for help if you have not tried to re-invite your bot with the correct permissions!
App Updates
Whats new?
There are a whole ton of new features. Starting off we fixed tons of bugs with the old system and compleatly changed the way the
ticket creation works! Also there is a new WEB DASHBOARD that you can manage all your tickets from!
Updated/New Functions
The web dashboard can be found in the www
file.
- Removed Ticket creativing using Channels (Using threads now)
- Adding in webhook support (For web dashboard)
- Re-worked commands:
- Removed Ticketing panels for:
giveaways
reporting
claiming
- Changed the Auto Install panel to a simpler design
- Removed other ticket type for:
giveaways
reporting
claiming
- Added in new commands for the web dashbord
Adding in Custom Code
With this new update that are even more functions to worry about when trying to add in custom code and functions.
It is advisted that you try your best to avoid changing code that may cause unwanted changes to the functions of this app!
If you plan on making ADD-ONS please follow ADDONS.md
for more information!
Web Dashboard
There is a New web Dashbaord you can manage your tickets from, When you first go on you will need to put in the GUILD ID
of the GUILD you want to see the tickets for (The guild you linked durring the setup!) From there it will list all the tickets on the side.
By clicking on the ticket name it will bring up all the messages in that channel and will also make it so that you can send messages in
that channel using the linked discord bot.
Along with that the dashbaord has a few built in commands:
$help
~ brings up the DASHBAORD COMMAND LIST
$close [reason]
close the ticket
-
$del
delete the ticket
You can always add in new commands but make sure you do it correctly (See Below)
Adding in NEW DASHBORD Commands
When adding in new dashboard commands you should update the script in the www/scripts/index.js
file!
ONLY CHANGE THIS CODE
document.addEventListener('keydown', (event) => {
var code = event.code;
var text = document.getElementById("textInput")
if (code == 'Enter' && text.value.length > 0 ) {
if (text.value == '$help') {
createNewCommandMessage('$help ~ brings up this message<br>$close [!reason] - closes the current ticket<br>$del - deletes the ticket<br><b>!</b> means required');
} else if (text.value.startsWith(`$close`)) {
let reason = text.value.split(' ').slice(1).join(' ') || 'No reason provided.';
closeTicket(reason)
return
} else if (text.value == '$del') {
delTicket()
} else {
createNewMessage(text.value)
}
}
})
This is the command handler for the dashbaord commands. When adding in new commands you can do so by doing something like:
} else if (text.value == '$command name') {
//does something here
}
We take the text input at and get the value (So the text inside of it) and test it to see if it is equal to the statment provided.
I suggest that you use a prefix like $
at it will not get confused with other random text you might type by mistake.
If you command has arguments after the command use something like this:
} else if (text.value.startsWith(`$NAME`)) {
let arg = text.value.split(' ').slice(1).join(' ');
//does something here
}
If you want to make the argument required add this to the trigger code:
if (!arg) {
sendErrorMessage('Please Fill out all Required Arguments!')
} else {
//does something
}
Adding in commands are super simple
When adding in the command to the trigger file MAKE SURE you add the } else if () {}
BEFORE the last else
statment!
Built in Command Handlers
There are quite a few built in command handlers that will send 3 types of messages in the main body.
createNewCommandMessage(TEXT)
, sendErrorMessage(TEXT)
and createNewMessage(TEXT)
Lets look at what each on does:
createNewCommandMessage(TEXT)
~ This will create an AUTHOR ONLY message with the text provied
Will not be sent in the ticket but only the person who did the command will be able to see the message
sendErrorMessage(TEXT)
~ Will Send an ERROR Message to the user who triggered the command
Will not be sent in the ticket but only the person who did the command will be able to see the message
createNewMessage(TEXT)
~ Will Send a message in the ticket as the bot with the text provied
THIS WILL SEND A MESSAGE IN THE TICKET CHANNEL!
Of course you can always make your own responce but I strongly suggest you use one of the built in handlers as they will be the ones
getting updates and changes!
How do you use it?
After pressing Install above, When a member of your server clicks one of the ticketing buttons then it will make a new channle
with that member and the support role. From there you can claim the ticket, useing /claim
and you can rename the ticket useing /rename
and you can close the ticket useing /close
You must also provide the id of a channel category that the generated channels
will be created under. This category should already be set up with permissions preventing
non-moderators from viewing channels inside.
Features
With this app you will get the ability to solve app your ticketing needs! With a panle that gets posted when you first install the app with buttons
that the user can click to create a ticket with them and the members of the support role that you set. It also comes with a few other ticketing
pannles that you can use too! After installing the app you are all set to go! with a few commands that can help make your ticketing experience much better!
New Update
Update 1.0.0: Fixed some bugs added in a new command to add people to tickets!
Commands
The bot will have these commands:
/claim
This command allows mods to claim the ticket and will notify the user that you're
helping them. It will also prevent other support members from using the channel.
/close
This command closes the ticket and deletes the channel. The bot will ask you to confirm by pressing a button, and allows you to provide a reason.
/rename
This will have you select a channle to rename and you can put the new name of the channle too!
/add
Add's a new member to a ticket channel
/remove
removes a member from the ticketing channel
$help
This will give you a list of commands and what they do
Setup
When you install this app, you'll have to set up the environment variables. This allows you to have a quick and easy setup. Let's go through all of them:
ServerName
The name/nickname of your server. This is used for customization and will be used like: SERVER Support Team
in sent messages.
Everyone
This is the role ID of your @everyone
role in the server. Used for restricting
permissions using /claim
. To find this, open your Server Settings
, then go to
the Roles
tab. Press Default Permissions
and right click the @everyone
role
in the list.
SupportRole
The Role ID of your "support" role — this grants access to certain channels, etc.
Logs
This is where all the ticket events will get logged
Ticket
This is where once you finish installing the app the Ticket Pannle gets posted to for everyone to see!
API KEY
This is a very importand step, you will need to be super creative and create your very own API key!
This can be anything.
NOTE If you change this key after the app has been installed you will reset all the apps data!
Slash Commands
All of the slash commands for this project should have been created during the app installation.
If you see one of them missing, you can run the functions/CommandCreator.js
file to recreate them.
You can also use the Discord slash command builder
to view or edit the commands.
Important pointers
This app stores data in the created channels. This means that you should avoid changing the name and topic of the generated channel, as it will break the system.
Try to ONLY use the commands that the bot has made to change anything that is the only way to keep it from breaking the app!!!
STAFF members CAN NOT see tickets! It was made like this for a REASON! ONLY People with the Support Team role you have set will be able to see tickets!
Enjoy!
Thanks for downloading, enjoy this great app!
Have any questions or concerns?
DM me @rr41 or head to the support server
If something does not look like it is working the way you want it please DM me and I will work to help you solve the problem!
Thanks to:
lols for makeing the other ticketing app!!
Also Thanks to The Autocode team For helping Me work out all the errors in the project :)