v1.3.0
Changes in changelog
This commit is contained in:
+96
-44
@@ -18,30 +18,33 @@ module.exports = () => {
|
||||
.setLabel("Close Ticket")
|
||||
.setEmoji("❌")
|
||||
)
|
||||
|
||||
|
||||
//ticket button click / create ticket
|
||||
client.on("interactionCreate",interaction => {
|
||||
|
||||
if (interaction.isButton() == false){
|
||||
return
|
||||
}
|
||||
|
||||
if (interaction.customId == "newTicket1"||interaction.customId == "newTicket2"||interaction.customId == "newTicket3"||interaction.customId == "newTicket4"){
|
||||
if (interaction.customId == "newTicket1"||interaction.customId == "newTicket2"||interaction.customId == "newTicket3"||interaction.customId == "newTicket4"||interaction.customId == "newTicket5"||interaction.customId == "newTicket6"){
|
||||
|
||||
interaction.deferUpdate()
|
||||
|
||||
if (ticketStorage.getItem(interaction.member.id) == null ||ticketStorage.getItem(interaction.member.id) == "false"){
|
||||
if (ticketStorage.getItem(interaction.member.id) == null ||ticketStorage.getItem(interaction.member.id) == "false"|| Number(ticketStorage.getItem(interaction.member.id)) < config.system.max_allowed_tickets){
|
||||
|
||||
try{
|
||||
interaction.member.send("**You created a ticket in our server!**")
|
||||
if (config.system.enable_DM_Messages){
|
||||
interaction.member.send(config.messages.dm.newTicket)
|
||||
}
|
||||
}
|
||||
catch{console.log("can't send DM to member || member doesn't allow dm's")}
|
||||
|
||||
|
||||
|
||||
ticketStorage.setItem(interaction.member.id,"true")
|
||||
|
||||
//update storage
|
||||
ticketStorage.setItem(interaction.member.id,Number(ticketStorage.getItem(interaction.member.id))+1)
|
||||
var ticketNumber = interaction.member.user.username
|
||||
|
||||
//set ticketName
|
||||
if (interaction.customId == "newTicket1"){
|
||||
var ticketName = config.options.ticket1.channel_prefix+ticketNumber
|
||||
}else if (interaction.customId == "newTicket2"){
|
||||
@@ -50,51 +53,83 @@ module.exports = () => {
|
||||
var ticketName = config.options.ticket3.channel_prefix+ticketNumber
|
||||
}else if (interaction.customId == "newTicket4"){
|
||||
var ticketName = config.options.ticket4.channel_prefix+ticketNumber
|
||||
}else if (interaction.customId == "newTicket5"){
|
||||
var ticketName = config.options.ticket5.channel_prefix+ticketNumber
|
||||
}else if (interaction.customId == "newTicket6"){
|
||||
var ticketName = config.options.ticket6.channel_prefix+ticketNumber
|
||||
}
|
||||
|
||||
//set category
|
||||
if (config.system.enable_category){
|
||||
var Category = config.system.ticket_category
|
||||
}else{var Category = null}
|
||||
|
||||
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"]
|
||||
}
|
||||
]
|
||||
}).then(tChannel => {
|
||||
userTicketStorage.setItem(tChannel.id,interaction.member.id)
|
||||
|
||||
|
||||
var ticketEmbed = new discord.MessageEmbed()
|
||||
.setColor(config.main_color)
|
||||
//set everyone allowed
|
||||
if (config.system['has@everyoneaccess']){
|
||||
var everyoneAllowPerms = ["ADD_REACTIONS","ATTACH_FILES","EMBED_LINKS","SEND_MESSAGES","VIEW_CHANNEL"]
|
||||
var everyoneDenyPerms = []
|
||||
}else{
|
||||
var everyoneAllowPerms = []
|
||||
var everyoneDenyPerms = ["VIEW_CHANNEL"]
|
||||
}
|
||||
|
||||
ticketEmbed.setDescription("You created a ticket!\n\n_Click on the close button below to close this ticket_")
|
||||
//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
|
||||
}
|
||||
]
|
||||
}).then(tChannel => {
|
||||
userTicketStorage.setItem(tChannel.id,interaction.member.id)
|
||||
|
||||
tChannel.send({content:"<@"+interaction.member.id+"> <@&"+config.botperms_role+">",embeds:[ticketEmbed],components:[closeButton]}).then(firstmsg => {
|
||||
firstmsg.pin()
|
||||
})
|
||||
|
||||
var ticketEmbed = new discord.MessageEmbed()
|
||||
if (config.layout.ticketEmbed.customColorEnabled){
|
||||
ticketEmbed.setColor(config.layout.ticketEmbed.customColor)
|
||||
}else{ticketEmbed.setColor(config.main_color)}
|
||||
|
||||
if (config.layout.ticketEmbed.footerEnabled){
|
||||
ticketEmbed.setFooter(config.layout.ticketEmbed.footer)
|
||||
}
|
||||
if (config.layout.ticketEmbed.thumbnailEnabled){
|
||||
ticketEmbed.setThumbnail(config.layout.ticketEmbed.thumbnailURL)
|
||||
}
|
||||
ticketEmbed.setTitle("You created a ticket!")
|
||||
ticketEmbed.setDescription(config.messages.ticket.newTicketEmbed)
|
||||
|
||||
tChannel.send({content:"<@"+interaction.member.id+"> <@&"+config.botperms_role+">",embeds:[ticketEmbed],components:[closeButton]}).then(firstmsg => {
|
||||
firstmsg.pin()
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
|
||||
}else{
|
||||
try {
|
||||
interaction.member.send("**You have already created a ticket!**")
|
||||
if (config.system.enable_DM_Messages){
|
||||
interaction.member.send(config.messages.dm.alreadyCreated)
|
||||
}
|
||||
}
|
||||
catch{console.log("can't send DM to member || member doesn't allow dm's")}
|
||||
|
||||
@@ -106,6 +141,7 @@ module.exports = () => {
|
||||
|
||||
})
|
||||
|
||||
//closeBAR
|
||||
var closeBar = new discord.MessageActionRow()
|
||||
.addComponents(
|
||||
new discord.MessageButton()
|
||||
@@ -173,6 +209,15 @@ module.exports = () => {
|
||||
var transcript = transcriptArray.reverse().join("\n")
|
||||
transcriptStorage.setItem(interaction.channel.id,transcript)
|
||||
|
||||
//transcript color & thumbnail
|
||||
if (config.layout.transcripts.customColorEnabled){
|
||||
var transcriptColor = config.layout.transcripts.customColor
|
||||
}else{var transcriptColor = config.main_color}
|
||||
|
||||
if (config.layout.transcripts.thumbnailEnabled){
|
||||
var transcriptThumbnail = config.layout.transcripts.thumbnailURL
|
||||
}else{var transcriptThumbnail = ""}
|
||||
|
||||
var splittedTranscript = [transcript.slice(0,2000)]
|
||||
if (transcript.length > 4000){
|
||||
splittedTranscript.push(transcript.slice(2000,4000))
|
||||
@@ -181,35 +226,40 @@ module.exports = () => {
|
||||
splittedTranscript.push(transcript.slice(2000))
|
||||
}
|
||||
var transcriptEmbed = new discord.MessageEmbed()
|
||||
.setColor(config.main_color)
|
||||
.setColor(transcriptColor)
|
||||
.setAuthor(interaction.channel.name + " - ticket created by "+getuserNAME)
|
||||
.setTitle("There is a new transcript!")
|
||||
.setDescription(splittedTranscript[0])
|
||||
.setFooter("ticket closed by "+interaction.member.user.username)
|
||||
.setThumbnail(transcriptThumbnail)
|
||||
|
||||
if (transcript.length > 4000){
|
||||
var transcriptEmbed2 = new discord.MessageEmbed()
|
||||
.setColor(config.main_color)
|
||||
.setColor(transcriptColor)
|
||||
.setAuthor(interaction.channel.name + " - ticket created by "+getuserNAME)
|
||||
.setTitle("transcript #2")
|
||||
.setDescription(splittedTranscript[1])
|
||||
.setFooter("ticket closed by "+interaction.member.user.username)
|
||||
.setThumbnail(transcriptThumbnail)
|
||||
|
||||
var transcriptEmbed3 = new discord.MessageEmbed()
|
||||
.setColor(config.main_color)
|
||||
.setColor(transcriptColor)
|
||||
.setAuthor(interaction.channel.name + " - ticket created by "+getuserNAME)
|
||||
.setTitle("transcript #3")
|
||||
.setDescription(splittedTranscript[1])
|
||||
.setFooter("ticket closed by "+interaction.member.user.username)
|
||||
.setThumbnail(transcriptThumbnail)
|
||||
|
||||
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)
|
||||
.setColor(transcriptColor)
|
||||
.setAuthor(interaction.channel.name + " - ticket created by "+getuserNAME)
|
||||
.setTitle("transcript #2")
|
||||
.setDescription(splittedTranscript[1])
|
||||
.setFooter("ticket closed by "+interaction.member.user.username)
|
||||
.setThumbnail(transcriptThumbnail)
|
||||
|
||||
client.channels.cache.find(ch => ch.id == config.system.transcript_channel).send({embeds:[transcriptEmbed,transcriptEmbed2]})
|
||||
}else{
|
||||
@@ -222,10 +272,12 @@ module.exports = () => {
|
||||
interaction.channel.delete()
|
||||
|
||||
|
||||
ticketStorage.setItem(getuserID,"false")
|
||||
ticketStorage.setItem(getuserID,Number(ticketStorage.getItem(getuserID)) - 1)
|
||||
|
||||
try {
|
||||
interaction.member.send("**your ticket is closed by "+interaction.member.user.username+"!**")
|
||||
if (config.system.enable_DM_Messages){
|
||||
interaction.member.send(config.messages.dm.closeTicket)
|
||||
}
|
||||
}
|
||||
catch{console.log("can't send DM to member || member doesn't allow dm's")}
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user