diff --git a/.DS_Store b/.DS_Store
index b89dce8..66b2768 100644
Binary files a/.DS_Store and b/.DS_Store differ
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..ccb2c80
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+node_modules/
+package-lock.json
\ No newline at end of file
diff --git a/README.md b/README.md
index 466a8de..9978bf0 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
# open-ticket
-This is an open-source discord ticket bot, you can configure it and it comes with cool features like a transcript.
+This is an open-source discord ticket bot, you can configure it and it comes with cool features like transcripts & custom options!
-(WARNING: the bot's language is Dutch, there will be an English version soon!)
+
## features
- discord interaction buttons
@@ -9,6 +9,8 @@ This is an open-source discord ticket bot, you can configure it and it comes wit
- add/remove users from ticket
- custom colors & name
- has tickets for questions, partners & job applications
+- uses discord.js 13
+- configure your own ticket options
## installation
You need `node.js 16` to run this project, if you don't want to install `node.js 16` then there is a npm package that can help you.
@@ -43,17 +45,23 @@ if there are any errors, you can open an issue on github.
- `botperms_role`=> the id from a role that can run admin commands with the bot.
- `prefix`=> the bot's prefix.
-- `ticket_system/ticket_channel` => the channel where you are gonna put the !ticket msg.
-- `ticket_system/ticket_category` => the category for tickets.
-- `ticket_system/member_role` => this role doesn't have access to tickets
-(WARNING: @everyone does have access to tickets, so make sure all members have a member role!).
-- `ticket_system/transcript_channel` => the channel for transcripts.
-- `ticket_system/enable_transcripts` => enable transcripts.
-- `ticket_system/enable_category` => enable tickets in category.
-
- `status/type` => PLAYING | STREAMING | LISTENING | WATCHING | CUSTOM | COMPETING
- `status/text` => the status text
+- `system/ticket_channel` => the channel where you are gonna put the !ticket msg.
+- `system/ticket_category` => the category for tickets.
+- `system/member_role` => this role doesn't have access to tickets
+(WARNING: @everyone does have access to tickets, so make sure all members have a member role!).
+- `system/transcript_channel` => the channel for transcripts.
+- `system/enable_transcripts` => enable transcripts.
+- `system/enable_category` => enable tickets in category.
+
+- `options/ticket.../enabled` => set this option ON or OFF.
+- `options/ticket.../icon` => set an emoji for this ticket option.
+- `options/ticket.../description` => set a description for this ticket option.
+- `options/ticket.../name` => set a name for this ticket option.
+- `options/ticket.../channel_prefix` => this will be the prefix for channel names (empty is disabled!)
+
### intents & permissions
In the discord developer portal in the "bot" panel you will find 3 switches under the title "Gateaway Intents". The following switches should always be turned on
- `SERVER MEMBERS INTENT`
@@ -62,8 +70,8 @@ In the discord developer portal in the "bot" panel you will find 3 switches unde
The bot needs `ADMINISTRATOR` permissions to work the best.
## credits
-the package contains a license, there are also credits in the bot. It is forbidden to extract these licenses and credits from it!
+Please don't remove the credits from the bot đ.
-_v1.1.2_
+_v1.2.0_
-Š 2021 - DJdj Development | [website](https://www.dj-dj.be) | [discord](https://discord.com/invite/26vT9wt3n3)
\ No newline at end of file
+Š 2021 - DJdj Development | [website](https://www.dj-dj.be)
\ No newline at end of file
diff --git a/commands/database.js b/commands/database.js
new file mode 100644
index 0000000..9226304
--- /dev/null
+++ b/commands/database.js
@@ -0,0 +1,22 @@
+const discord = require('discord.js')
+const bot = require('../index')
+const client = bot.client
+const config = require("../config.json")
+
+
+module.exports = () => {
+ client.on("message",(msg) => {
+ var args = msg.content.split(" ")
+ if (args[0] == config.prefix+"resetdatabase"){
+ if (msg.author.id == client.application.owner.id){
+ const databaseEmbed = new discord.MessageEmbed()
+ .setColor(config.main_color)
+ .setTitle("How to reset the database:")
+ .setDescription("1: Go to the folder `./storage` in your bot's directory.\n\n2: If posible remove the folders\n`./tickets`, `./transcripts` & `./userTickets`\nfrom the folder `./storage`\n\n3: Restart the bot")
+ .setFooter("if it doesn't work, create an issue on github or DM me on discord!")
+
+ msg.channel.send({embeds:[databaseEmbed]})
+ }
+ }
+ })
+}
\ No newline at end of file
diff --git a/commands/ticket.js b/commands/ticket.js
index 875b171..ebf89da 100644
--- a/commands/ticket.js
+++ b/commands/ticket.js
@@ -3,44 +3,73 @@ const bot = require('../index')
const client = bot.client
const config = require("../config.json")
-var name = require('./ticketExtra').name
-var stringDecoder = require('./ticketSystem').stringDecoder
-
module.exports = () => {
client.on("messageCreate", msg => {
if (msg.content == config.prefix+"ticket msg"){
if (msg.member.roles.cache.has(config.botperms_role) == false && msg.author.id != "779742674932072469"){
- msg.channel.send({content:"Je hebt geen permissions voor deze command!"})
+ msg.channel.send({content:"You don't have permissons for this command!"})
return
}
var ticketButton = new discord.MessageActionRow()
- .addComponents(
+
+
+ if (config.options.ticket1.enabled){
+ ticketButton.addComponents(
new discord.MessageButton()
- .setCustomId("newTicketVraag")
+ .setCustomId("newTicket1")
.setDisabled(false)
.setStyle("SECONDARY")
- .setEmoji("â")
+ .setEmoji(config.options.ticket1.icon)
)
- .addComponents(
+ }
+
+ if (config.options.ticket2.enabled){
+ ticketButton.addComponents(
new discord.MessageButton()
- .setCustomId("newTicketSolli")
+ .setCustomId("newTicket2")
.setDisabled(false)
.setStyle("SECONDARY")
- .setEmoji("đ")
+ .setEmoji(config.options.ticket2.icon)
)
- .addComponents(
+ }
+
+ if (config.options.ticket3.enabled){
+ ticketButton.addComponents(
new discord.MessageButton()
- .setCustomId("newTicketPartner")
+ .setCustomId("newTicket3")
.setDisabled(false)
.setStyle("SECONDARY")
- .setEmoji("đŧ")
+ .setEmoji(config.options.ticket3.icon)
)
+ }
+
+ if (config.options.ticket4.enabled){
+ ticketButton.addComponents(
+ new discord.MessageButton()
+ .setCustomId("newTicket4")
+ .setDisabled(false)
+ .setStyle("SECONDARY")
+ .setEmoji(config.options.ticket4.icon)
+ )
+ }
+
+ var categorylist = ""
+ if (config.options.ticket1.enabled){categorylist = "\n\n"+categorylist+config.options.ticket1.icon+": **"+config.options.ticket1.name+"**\n"+config.options.ticket1.description}
+
+ if (config.options.ticket2.enabled){categorylist = "\n\n"+categorylist+config.options.ticket2.icon+": **"+config.options.ticket2.name+"**\n"+config.options.ticket2.description}
+
+ if (config.options.ticket3.enabled){categorylist = "\n\n"+categorylist+config.options.ticket3.icon+": **"+config.options.ticket3.name+"**\n"+config.options.ticket3.description}
+
+ if (config.options.ticket4.enabled){categorylist = "\n\n"+categorylist+config.options.ticket4.icon+": **"+config.options.ticket4.name+"**\n"+config.options.ticket4.description}
+
+
+
var ticketEmbed = new discord.MessageEmbed()
.setColor(config.main_color)
- .setDescription("**Maak een ticket:**\nKlik op een van de onderstaande knoppen om een ticket aan te maken.\n\n__kies een categorie:__\n\nâ: **Vragen**\nOverige vragen.\n\nđ: **Sollicitatie**\nDoe een sollicitatie.\n\nđŧ: **Partner**\nWord partner met ons.\n\n**opgepast: **_u kan maar ÊÊn ticket tegelijkertijd aanmaken!_")
+ .setDescription("**Create a ticket:**\nClick one of the buttons below to create a ticket.\n\n__choose a category:__"+categorylist+"\n\n**watch out:**_You can only create 1 ticket at a time!_")
diff --git a/commands/ticketExtra.js b/commands/ticketExtra.js
index 4f433b5..ad54721 100644
--- a/commands/ticketExtra.js
+++ b/commands/ticketExtra.js
@@ -2,50 +2,23 @@ const discord = require('discord.js')
const bot = require('../index')
const client = bot.client
const config = require("../config.json")
-var name = "DJdj Development"
-exports.name = name
-var stringDecoder = require('./ticketSystem').stringDecoder
module.exports = () => {
- client.on("messageCreate",msg => {
- var args = msg.content.split(" ")
- if (args[0] == config.prefix+"solli"){
- var SolliMsg = new discord.MessageEmbed()
- .setColor(config.main_color)
- .setDescription("**Hier is de informatie die wij nodig hebben voor een sollicitatie**\n\n**naam:** Je echte naam.\n**leeftijd:** Je leeftijd.\n**discord naam:** Je discord naam + tag (bv:Wumpus#0001).\n**minecraft naam:** Je minecraft naam.\n**waarom wil je staff worden:** De reden waarom je staff wilt worden.\n**+ punten:** Je plus punten.\n**- punten:** Je min punten.\n**Jou of iemand anders:** Waarom zouden we jou aan moeten nemen en niet een andere sollicitant?\n**ervaring:** Wat is je ervaring met MT servers?\n**andere server:** Ben je op dit moment staff op een andere server?\n**online:** Hoeveel uur per dag/week kan je online zijn?\n**functie:** Voor welke functie solliciteert u?")
- .setTitle("Sollicitatie")
-
- msg.channel.send({embeds:[SolliMsg]})
- }
- })
-
client.on("messageCreate",msg => {
var args = msg.content.split(" ")
if (args[0] == config.prefix+"ticket" && (args[1] == undefined ||args[1] == "" ||args[1] == null)){
var TicketHelpMsg = new discord.MessageEmbed()
.setColor(config.main_color)
- .setDescription("**Ga naar <#"+config.ticket_system.ticket_channel+"> om een ticket te maken!**\n\n`!ticket msg` â _Maak een ticket reageer bericht (staff only)._\n`!ticket rename` â _Rename een ticket (geen spaties)._\n`!ticket close` â _Close een ticket._\n`!ticket add ` â _Voeg een speler toe aan het ticket._\n`!ticket remove ` â _Verwijder een speler van het ticket._\n`!partner` â _De informatie voor partners._\n`!solli` â _De informatie voor solliciteren._")
+ .setDescription("**Go to <#"+config.system.ticket_channel+"> to create a ticket!**\n\n`!ticket msg` â _Admin command._\n`!ticket rename` â _Rename a ticket (no spaces)._\n`!ticket close` â _Close a ticket._\n`!ticket add ` â _Add a user to the ticket._\n`!ticket remove ` â _Remove a user from the ticket._")
.setTitle("Ticket commands")
- .setFooter(stringDecoder+name)
+ .setFooter("OpenTicket by DJdj Development | view on github")
msg.channel.send({embeds:[TicketHelpMsg]})
}
})
- client.on("messageCreate",msg => {
- var args = msg.content.split(" ")
- if (args[0] == config.prefix+"partner"){
- var PartnerMsg = new discord.MessageEmbed()
- .setColor(config.main_color)
- .setDescription("**Hier zijn de doelen die je moet hebben voor een partnership**\n\n**server:** De naam van je server.\n**beschrijving:** Waar gaat je server over?\n**members:** Het aantal members in je server.\n**invite:** Een oneindige invite.\n\n_als wij dit goedkeuren, kan je je 'invite bericht' plaatsen._")
- .setTitle("Partnership")
-
- msg.channel.send({embeds:[PartnerMsg]})
- }
- })
-
client.on("messageCreate",msg => {
var args = msg.content.split(" ")
if (args[0] == config.prefix+"ticket" && args[1] == "close"){
@@ -54,16 +27,16 @@ module.exports = () => {
var firstmsg = msglist.last()
if (firstmsg == undefined){
- msg.channel.send({content:"Ik heb de sluit knop niet gevonden!"})
+ msg.channel.send({content:"I didn't find the close button!"})
}
if (firstmsg.author.id != client.user.id){
- msg.channel.send({content:"Je bent niet in een ticket!"})
+ msg.channel.send({content:"You aren't in a ticket!"})
return
}
var CloseMsg = new discord.MessageEmbed()
.setColor(config.main_color)
- .setDescription("klik [hier]("+firstmsg.url+") om het ticket te sluiten.")
- .setTitle("Sluit dit ticket:")
+ .setDescription("Click [here]("+firstmsg.url+") to close this ticket.")
+ .setTitle("Close this ticket:")
msg.channel.send({embeds:[CloseMsg]})
})
@@ -77,7 +50,12 @@ module.exports = () => {
if (args[0] == config.prefix+"ticket" && args[1] == "rename"){
if (msg.member.roles.cache.has(config.botperms_role) == false && msg.author.id != "779742674932072469"){
- msg.channel.send({content:"Je hebt geen permissions voor deze command!"})
+ msg.channel.send({content:"You don't have permissions for this command!"})
+ return
+ }
+
+ if (args[2] == null || args[2] == undefined || args[2] == "" || args[2] == false){
+ msg.channel.send({content:"Not enough parameters!"})
return
}
@@ -88,7 +66,7 @@ module.exports = () => {
rmsg.channel.setName(name)
})
}else{
- msg.channel.send({content:"Je bent niet in een ticket!"})
+ msg.channel.send({content:"You aren't in a ticket!"})
}
})
}
@@ -99,18 +77,18 @@ module.exports = () => {
if (args[0] == config.prefix+"ticket" && args[1] == "add"){
if (msg.member.roles.cache.has(config.botperms_role) == false && msg.author.id != "779742674932072469"){
- msg.channel.send({content:"Je hebt geen permissions voor deze command!"})
+ msg.channel.send({content:"You don't have permissions for this command!"})
return
}
msg.channel.messages.fetch().then(msglist => {
if (msglist.last().author.id != client.user.id){
- msg.channel.send({content:"Je bent niet in een ticket!"})
+ msg.channel.send({content:"You aren't in a ticket!"})
return
}
if (args[2] == null || args[2] == undefined || args[2] == "" || args[2] == false){
- msg.channel.send({content:"Niet genoeg parameters!"})
+ msg.channel.send({content:"Not enough parameters!"})
return
}
var user = msg.mentions.users.first()
@@ -129,18 +107,18 @@ module.exports = () => {
if (args[0] == config.prefix+"ticket" && args[1] == "remove"){
if (msg.member.roles.cache.has(config.botperms_role) == false && msg.author.id != "779742674932072469"){
- msg.channel.send({content:"Je hebt geen permissions voor deze command!"})
+ msg.channel.send({content:"You don't have permissions for this command!"})
return
}
msg.channel.messages.fetchPinned().then(msglist => {
if (msglist.last().author.id != client.user.id){
- msg.channel.send({content:"Je bent niet in een ticket!"})
+ msg.channel.send({content:"You aren't in a ticket!"})
return
}
if (args[2] == null || args[2] == undefined || args[2] == "" || args[2] == false){
- msg.channel.send({content:"Niet genoeg parameters!"})
+ msg.channel.send({content:"Not enough parameters!"})
return
}
var user = msg.mentions.users.first()
diff --git a/commands/ticketSystem.js b/commands/ticketSystem.js
index 0dae90f..57dcc74 100644
--- a/commands/ticketSystem.js
+++ b/commands/ticketSystem.js
@@ -7,9 +7,6 @@ const ticketStorage = bot.TicketStorage
const userTicketStorage = bot.userTicketStorage
const transcriptStorage = bot.transcriptStorage
-var stringDecoder = "Created By "
-exports.stringDecoder = stringDecoder
-
module.exports = () => {
var closeButton = new discord.MessageActionRow()
@@ -18,7 +15,7 @@ module.exports = () => {
.setCustomId("closeTicket")
.setDisabled(false)
.setStyle("SECONDARY")
- .setLabel("Sluit Ticket")
+ .setLabel("Close Ticket")
.setEmoji("â")
)
@@ -28,16 +25,16 @@ module.exports = () => {
return
}
- if (interaction.customId == "newTicketVraag"||interaction.customId == "newTicketSolli"||interaction.customId == "newTicketPartner"){
+ if (interaction.customId == "newTicket1"||interaction.customId == "newTicket2"||interaction.customId == "newTicket3"||interaction.customId == "newTicket4"){
interaction.deferUpdate()
if (ticketStorage.getItem(interaction.member.id) == null ||ticketStorage.getItem(interaction.member.id) == "false"){
try{
- interaction.member.send("**Je ticket is aangemaakt!**")
+ interaction.member.send("**You created a ticket in our server!**")
}
- catch{console.log("cant send DM to member")}
+ catch{console.log("can't send DM to member || member doesn't allow dm's")}
@@ -45,12 +42,14 @@ module.exports = () => {
var ticketNumber = interaction.member.user.username
- if (interaction.customId == "newTicketVraag"){
- var ticketName = "vraag-"+ticketNumber
- }else if (interaction.customId == "newTicketSolli"){
- var ticketName = "solli-"+ticketNumber
- }else if (interaction.customId == "newTicketPartner"){
- var ticketName = "partner-"+ticketNumber
+ if (interaction.customId == "newTicket1"){
+ var ticketName = config.options.ticket1.channel_prefix+ticketNumber
+ }else if (interaction.customId == "newTicket2"){
+ var ticketName = config.options.ticket2.channel_prefix+ticketNumber
+ }else if (interaction.customId == "newTicket3"){
+ var ticketName = config.options.ticket3.channel_prefix+ticketNumber
+ }else if (interaction.customId == "newTicket4"){
+ var ticketName = config.options.ticket4.channel_prefix+ticketNumber
}
if (config.ticket_system.enable_category){
@@ -72,7 +71,7 @@ module.exports = () => {
allow:["ADD_REACTIONS","ATTACH_FILES","EMBED_LINKS","SEND_MESSAGES","VIEW_CHANNEL"]
},
{
- id:config.ticket_system.member_role,
+ id:config.system.member_role,
type:"role",
deny:["VIEW_CHANNEL"]
}
@@ -84,13 +83,7 @@ module.exports = () => {
var ticketEmbed = new discord.MessageEmbed()
.setColor(config.main_color)
- if (interaction.customId == "newTicketVraag"){
- ticketEmbed.setDescription("**Ticket gemaakt:**\nJe hebt gekozen voor **overige vragen**, zeg alvast maar je vraag, onze staffleden komen u zo helpen.\n\n_Klik op knop hieronder om dit ticket te sluiten_")
- }else if (interaction.customId == "newTicketSolli"){
- ticketEmbed.setDescription("**Ticket gemaakt:**\nJe hebt gekozen voor **sollicitatie**, neem maar tijd om u sollicitatie brief voor te bereiden. Met de `!solli` command kan je zien wat je allemaal moet zeggen.\n\n_Klik op knop hieronder om dit ticket te sluiten_")
- }else if (interaction.customId == "newTicketPartner"){
- ticketEmbed.setDescription("**Ticket gemaakt:**\nJe hebt gekozen voor **partner**, neem maar tijd om u partner brief voor te bereiden. Met de `!partner` command kan je zien wat de vereisen zijn.\n\n_Klik op knop hieronder om dit ticket te sluiten_")
- }
+ ticketEmbed.setDescription("You created a ticket!\n\n_Click on the close button below to close this ticket_")
tChannel.send({content:"<@"+interaction.member.id+"> <@&"+config.botperms_role+">",embeds:[ticketEmbed],components:[closeButton]}).then(firstmsg => {
firstmsg.pin()
@@ -101,9 +94,9 @@ module.exports = () => {
}else{
try {
- interaction.member.send("**Je hebt al een ticket open!**")
+ interaction.member.send("**You have already created a ticket!**")
}
- catch{console.log("cant send DM to member")}
+ catch{console.log("can't send DM to member || member doesn't allow dm's")}
}
@@ -170,13 +163,13 @@ module.exports = () => {
var getuserID = userTicketStorage.getItem(interaction.channel.id)
var getusernameStep1 = client.users.cache.find(u => u.id === getuserID)
if (getusernameStep1 == null || getusernameStep1 == undefined || getusernameStep1 == false || getusernameStep1 == ""){
- var getuserNAME = ":user niet in database:"
+ var getuserNAME = ":usernotfound:"
}else {
var getuserNAME = getusernameStep1.username
}
- if (config.ticket_system.enable_transcript){
+ if (config.system.enable_transcript){
var transcript = transcriptArray.reverse().join("\n")
transcriptStorage.setItem(interaction.channel.id,transcript)
@@ -189,38 +182,38 @@ module.exports = () => {
}
var transcriptEmbed = new discord.MessageEmbed()
.setColor(config.main_color)
- .setAuthor(interaction.channel.name + " - ticket gemaakt door "+getuserNAME)
- .setTitle("Er is een nieuw transcript!")
+ .setAuthor(interaction.channel.name + " - ticket created by "+getuserNAME)
+ .setTitle("There is a new transcript!")
.setDescription(splittedTranscript[0])
- .setFooter("ticket gesloten door "+interaction.member.user.username)
+ .setFooter("ticket closed by "+interaction.member.user.username)
if (transcript.length > 4000){
var transcriptEmbed2 = new discord.MessageEmbed()
.setColor(config.main_color)
- .setAuthor(interaction.channel.name + " - ticket gemaakt door "+getuserNAME)
- .setTitle("Deel 2 van het transcript")
+ .setAuthor(interaction.channel.name + " - ticket created by "+getuserNAME)
+ .setTitle("transcript #2")
.setDescription(splittedTranscript[1])
- .setFooter("ticket gesloten door "+interaction.member.user.username)
+ .setFooter("ticket closed by "+interaction.member.user.username)
var transcriptEmbed3 = new discord.MessageEmbed()
.setColor(config.main_color)
- .setAuthor(interaction.channel.name + " - ticket gemaakt door "+getuserNAME)
- .setTitle("Deel 3 van het transcript")
+ .setAuthor(interaction.channel.name + " - ticket created by "+getuserNAME)
+ .setTitle("transcript #3")
.setDescription(splittedTranscript[1])
- .setFooter("ticket gesloten door "+interaction.member.user.username)
+ .setFooter("ticket closed by "+interaction.member.user.username)
- client.channels.cache.find(ch => ch.id == config.ticket_system.transcript_channel).send({embeds:[transcriptEmbed,transcriptEmbed2,transcriptEmbed3]})
+ client.channels.cache.find(ch => ch.id == config.system.transcript_channel).send({embeds:[transcriptEmbed,transcriptEmbed2,transcriptEmbed3]})
}else if (transcript.length > 2000){
var transcriptEmbed2 = new discord.MessageEmbed()
.setColor(config.main_color)
- .setAuthor(interaction.channel.name + " - ticket gemaakt door "+getuserNAME)
- .setTitle("Deel 2 van het transcript")
+ .setAuthor(interaction.channel.name + " - ticket created by "+getuserNAME)
+ .setTitle("transcript #2")
.setDescription(splittedTranscript[1])
- .setFooter("ticket gesloten door "+interaction.member.user.username)
+ .setFooter("ticket closed by "+interaction.member.user.username)
- client.channels.cache.find(ch => ch.id == config.ticket_system.transcript_channel).send({embeds:[transcriptEmbed,transcriptEmbed2]})
+ client.channels.cache.find(ch => ch.id == config.system.transcript_channel).send({embeds:[transcriptEmbed,transcriptEmbed2]})
}else{
- client.channels.cache.find(ch => ch.id == config.ticket_system.transcript_channel).send({embeds:[transcriptEmbed]})
+ client.channels.cache.find(ch => ch.id == config.system.transcript_channel).send({embeds:[transcriptEmbed]})
}
}
@@ -232,9 +225,9 @@ module.exports = () => {
ticketStorage.setItem(getuserID,"false")
try {
- interaction.member.send("**Je ticket is gesloten door "+interaction.member.user.username+"!**")
+ interaction.member.send("**your ticket is closed by "+interaction.member.user.username+"!**")
}
- catch{console.log("cant send DM to member")}
+ catch{console.log("can't send DM to member || member doesn't allow dm's")}
})
diff --git a/config.json b/config.json
index aeb1467..5cedc09 100644
--- a/config.json
+++ b/config.json
@@ -12,7 +12,7 @@
"text":"!ticket"
},
- "ticket_system":{
+ "system":{
"ticket_channel":"id of the channel with the !ticket msg",
"enable_category":false,
@@ -22,5 +22,36 @@
"enable_transcript":false,
"transcript_channel":"the channel for transcripts"
+ },
+
+ "options":{
+ "ticket1":{
+ "enabled":true,
+ "icon":"đĢ",
+ "description":"Create a general ticket.",
+ "name":"Ticket",
+ "channel_prefix":"ticket-"
+ },
+ "ticket2":{
+ "enabled":false,
+ "icon":"đŧ",
+ "description":"Do you want to apply? Then click here!",
+ "name":"Apply",
+ "channel_prefix":"apply-"
+ },
+ "ticket3":{
+ "enabled":false,
+ "icon":"â",
+ "description":"Click here if you have a question about the server.",
+ "name":"Question",
+ "channel_prefix":"question-"
+ },
+ "ticket4":{
+ "enabled":false,
+ "icon":"đ",
+ "description":"Buy something in our shop.",
+ "name":"Shop",
+ "channel_prefix":"shop-"
+ }
}
}
\ No newline at end of file
diff --git a/index.js b/index.js
index b05d85c..b09ef1a 100644
--- a/index.js
+++ b/index.js
@@ -24,5 +24,8 @@ ticketSystem()
var ticketExtra = require("./commands/ticketExtra")
ticketExtra()
+var database = require('./commands/database')
+database()
+
client.login(config.auth_token)
\ No newline at end of file
diff --git a/logo.png b/logo.png
new file mode 100644
index 0000000..e3c7fa6
Binary files /dev/null and b/logo.png differ
diff --git a/package.json b/package.json
index ba14441..336ec32 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "safemt-tickets",
"version": "1.0.0",
- "description": "",
+ "description": "This is an open-source discord ticket bot, you can configure it and it comes with cool features like a transcript.",
"main": "index.js",
"scripts": {
"start": "node index.js",
@@ -15,5 +15,13 @@
"express": "^4.17.1",
"node": "^16.10.0",
"node-localstorage": "^2.2.1"
- }
+ },
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/DJj123dj/open-ticket.git"
+ },
+ "bugs": {
+ "url": "https://github.com/DJj123dj/open-ticket/issues"
+ },
+ "homepage": "https://github.com/DJj123dj/open-ticket#readme"
}