This is the first stable version of open-ticket 1.3
This commit is contained in:
DJj123dj
2022-04-02 16:38:00 +02:00
parent 8cab4cc686
commit 6df23d84bc
11 changed files with 319 additions and 57 deletions
+8 -9
View File
@@ -7,16 +7,15 @@ const config = require("../config.json")
module.exports = () => {
client.on("messageCreate",(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({text:"if it doesn't work, create an issue on github or DM me on discord!"})
if (args[0] == config.prefix+"resetdatabase" || args[0] == config.prefix+"resetdb"){
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({text:"if it doesn't work, create an issue on github or DM me on discord!"})
msg.channel.send({embeds:[databaseEmbed]})
}
msg.channel.send({embeds:[databaseEmbed]})
if (config.logs){console.log("[command] "+config.prefix+"resetdatabase (user:"+msg.author.username+")")}
}
})
}
+2 -2
View File
@@ -59,7 +59,6 @@ module.exports = () => {
)
}
}
if (config.options.ticket2.enabled){
if (currentTicketButtons < 4){
var localTicketButton = ticketButton
@@ -236,7 +235,8 @@ module.exports = () => {
msg.channel.send({embeds:[ticketEmbed],components:embedComponents})
if (config.logs){console.log("[command] "+config.prefix+"ticket msg (user:"+msg.author.username+")")}
if (config.logs){console.log("[system] created ticket message")}
}
})
}
+14 -2
View File
@@ -14,13 +14,14 @@ module.exports = () => {
.setTitle("Ticket commands")
const prefix = config.prefix
TicketHelpMsg.setDescription("**Go to <#"+config.system.ticket_channel+"> to create a ticket!**\n\n`"+prefix+"ticket msg` ➜ _Admin command._\n`"+prefix+"ticket rename` ➜ _Rename a ticket (no spaces)._\n`"+prefix+"ticket close` ➜ _Close a ticket._\n`"+prefix+"ticket add <user>` ➜ _Add a user to the ticket._\n`"+prefix+"ticket remove <user>` ➜ _Remove a user from the ticket._\n`"+prefix+"resetdatabase` ➜ _Steps to reset the database._")
TicketHelpMsg.setDescription("**Go to <#"+config.system.ticket_channel+"> to create a ticket!**\n\n`"+prefix+"ticket msg` ➜ _Admin command._\n`"+prefix+"ticket rename` ➜ _Rename a ticket (no spaces)._\n`"+prefix+"ticket close` ➜ _Close a ticket._\n`"+prefix+"ticket add <user>` ➜ _Add a user to the ticket._\n`"+prefix+"ticket remove <user>` ➜ _Remove a user from the ticket._\n`"+prefix+"resetdatabase` ➜ _Steps to reset the database._\n`"+prefix+"resetdb` ➜ _Also database stuff._")
if (config.credits){
TicketHelpMsg.setFooter({text:"Open-Ticket by DJdj Development | view on github for source code"})
}
msg.channel.send({embeds:[TicketHelpMsg]})
if (config.logs){console.log("[command] "+config.prefix+"ticket help (user:"+msg.author.username+")")}
}
})
@@ -43,7 +44,8 @@ module.exports = () => {
.setDescription("Click [here]("+firstmsg.url+") to close this ticket.")
.setTitle("Close this ticket:")
msg.channel.send({embeds:[CloseMsg]})
msg.channel.send({embeds:[CloseMsg]})
if (config.logs){console.log("[command] "+config.prefix+"ticket close (user:"+msg.author.username+")")}
})
@@ -65,15 +67,18 @@ module.exports = () => {
}
var name = args[2]
var oldname = msg.channel.name
msg.channel.messages.fetchPinned().then(msglist => {
if (msglist.last().author.id == client.user.id){
msg.channel.send({content:"The name from the ticket is changed!"}).then(rmsg => {
rmsg.channel.setName(name)
if (config.logs){console.log("[system] renamed a ticket (name:"+oldname+",newname:"+name+")")}
})
}else{
msg.channel.send({content:"You are not in a ticket!"})
}
})
if (config.logs){console.log("[command] "+config.prefix+"ticket rename (user:"+msg.author.username+")")}
}
})
@@ -102,8 +107,11 @@ module.exports = () => {
}
msg.channel.permissionOverwrites.create(user.id, { VIEW_CHANNEL:true, ADD_REACTIONS:true,ATTACH_FILES:true, EMBED_LINKS:true, SEND_MESSAGES:true})
if (config.logs){console.log("[system] added user to ticket (name:"+user.username+",ticket:"+msg.channel.name+")")}
})
var loguser = msg.mentions.users.first()
if (config.logs){console.log("[command] "+config.prefix+"ticket add "+loguser.username+" (user:"+msg.author.username+")")}
}
})
@@ -132,8 +140,12 @@ module.exports = () => {
}
msg.channel.permissionOverwrites.delete(user.id)
if (config.logs){console.log("[system] removed user from ticket (name:"+user.username+",ticket:"+msg.channel.name+")")}
})
var loguser = msg.mentions.users.first()
if (config.logs){console.log("[command] "+config.prefix+"ticket remove "+loguser.username+" (user:"+msg.author.username+")")}
}
})
}
+39 -27
View File
@@ -47,16 +47,22 @@ module.exports = () => {
//set ticketName
if (interaction.customId == "newTicket1"){
var ticketName = config.options.ticket1.channel_prefix+ticketNumber
var logsname = config.options.ticket1.name
}else if (interaction.customId == "newTicket2"){
var ticketName = config.options.ticket2.channel_prefix+ticketNumber
var logsname = config.options.ticket2.name
}else if (interaction.customId == "newTicket3"){
var ticketName = config.options.ticket3.channel_prefix+ticketNumber
var logsname = config.options.ticket3.name
}else if (interaction.customId == "newTicket4"){
var ticketName = config.options.ticket4.channel_prefix+ticketNumber
var logsname = config.options.ticket4.name
}else if (interaction.customId == "newTicket5"){
var ticketName = config.options.ticket5.channel_prefix+ticketNumber
var logsname = config.options.ticket5.name
}else if (interaction.customId == "newTicket6"){
var ticketName = config.options.ticket6.channel_prefix+ticketNumber
var logsname = config.options.ticket6.name
}
//set category
@@ -64,6 +70,8 @@ module.exports = () => {
var Category = config.system.ticket_category
}else{var Category = null}
var permissionsArray = []
//set everyone allowed
if (config.system['has@everyoneaccess']){
var everyoneAllowPerms = ["ADD_REACTIONS","ATTACH_FILES","EMBED_LINKS","SEND_MESSAGES","VIEW_CHANNEL"]
@@ -72,34 +80,35 @@ module.exports = () => {
var everyoneAllowPerms = []
var everyoneDenyPerms = ["VIEW_CHANNEL"]
}
permissionsArray.push({
id:interaction.member.id,
type:"member",
allow:["ADD_REACTIONS","ATTACH_FILES","EMBED_LINKS","SEND_MESSAGES","VIEW_CHANNEL"]
})
permissionsArray.push({
id:config.botperms_role,
type:"role",
allow:["ADD_REACTIONS","ATTACH_FILES","EMBED_LINKS","SEND_MESSAGES","VIEW_CHANNEL"]
})
permissionsArray.push({
id:interaction.guild.id,
type:"role",
allow:everyoneAllowPerms,
deny:everyoneDenyPerms
})
if (config.system.member_role == "" || config.system.member_role == " " || config.system.member_role == "false" || config.system.member_role == "null" || config.system.member_role == "0"){
permissionsArray.push({
id:config.system.member_role,
type:"role",
deny:["VIEW_CHANNEL"]
})
}
//create the channel
interaction.guild.channels.create(ticketName,{
type:"GUILD_TEXT",
parent:Category,
permissionOverwrites:[
{
id:interaction.member.id,
type:"member",
allow:["ADD_REACTIONS","ATTACH_FILES","EMBED_LINKS","SEND_MESSAGES","VIEW_CHANNEL"]
},
{
id:config.botperms_role,
type:"role",
allow:["ADD_REACTIONS","ATTACH_FILES","EMBED_LINKS","SEND_MESSAGES","VIEW_CHANNEL"]
},
{
id:config.system.member_role,
type:"role",
deny:["VIEW_CHANNEL"]
},
{
id:interaction.guild.id,
type:"role",
allow:everyoneAllowPerms,
deny:everyoneDenyPerms
}
]
permissionOverwrites:permissionsArray
}).then(tChannel => {
userTicketStorage.setItem(tChannel.id,interaction.member.id)
@@ -121,6 +130,7 @@ module.exports = () => {
tChannel.send({content:"<@"+interaction.member.id+"> <@&"+config.botperms_role+">",embeds:[ticketEmbed],components:[closeButton]}).then(firstmsg => {
firstmsg.pin()
})
if (config.logs){console.log("[system] created a new ticket (name:"+logsname+",user:"+interaction.user.username+")")}
})
@@ -227,7 +237,7 @@ module.exports = () => {
}
var transcriptEmbed = new discord.MessageEmbed()
.setColor(transcriptColor)
.setAuthor({text:interaction.channel.name + " - ticket created by "+getuserNAME})
.setAuthor({name:interaction.channel.name + " - ticket created by "+getuserNAME})
.setTitle("There is a new transcript!")
.setDescription(splittedTranscript[0])
.setFooter({text:"ticket closed by "+interaction.member.user.username})
@@ -236,7 +246,7 @@ module.exports = () => {
if (transcript.length > 4000){
var transcriptEmbed2 = new discord.MessageEmbed()
.setColor(transcriptColor)
.setAuthor({text:interaction.channel.name + " - ticket created by "+getuserNAME})
.setAuthor({name:interaction.channel.name + " - ticket created by "+getuserNAME})
.setTitle("transcript #2")
.setDescription(splittedTranscript[1])
.setFooter("ticket closed by "+interaction.member.user.username)
@@ -244,7 +254,7 @@ module.exports = () => {
var transcriptEmbed3 = new discord.MessageEmbed()
.setColor(transcriptColor)
.setAuthor({text:interaction.channel.name + " - ticket created by "+getuserNAME})
.setAuthor({name:interaction.channel.name + " - ticket created by "+getuserNAME})
.setTitle("transcript #3")
.setDescription(splittedTranscript[1])
.setFooter({text:"ticket closed by "+interaction.member.user.username})
@@ -255,7 +265,7 @@ module.exports = () => {
}else if (transcript.length > 2000){
var transcriptEmbed2 = new discord.MessageEmbed()
.setColor(transcriptColor)
.setAuthor({text:interaction.channel.name + " - ticket created by "+getuserNAME})
.setAuthor({name:interaction.channel.name + " - ticket created by "+getuserNAME})
.setTitle("transcript #2")
.setDescription(splittedTranscript[1])
.setFooter({text:"ticket closed by "+interaction.member.user.username})
@@ -270,6 +280,8 @@ module.exports = () => {
interaction.channel.delete()
if (config.logs){console.log("[system] closed a ticket (name:"+interaction.channel.name+",user:"+interaction.user.username+")")}
ticketStorage.setItem(getuserID,Number(ticketStorage.getItem(getuserID)) - 1)