1057 lines
62 KiB
TypeScript
1057 lines
62 KiB
TypeScript
///////////////////////////////////////
|
|
//MESSAGE BUILDERS
|
|
///////////////////////////////////////
|
|
import {openticket, api, utilities} from "../index"
|
|
import * as discord from "discord.js"
|
|
|
|
const messages = openticket.builders.messages
|
|
const buttons = openticket.builders.buttons
|
|
const dropdowns = openticket.builders.dropdowns
|
|
const files = openticket.builders.files
|
|
const embeds = openticket.builders.embeds
|
|
const lang = openticket.languages
|
|
const generalConfig = openticket.configs.get("openticket:general")
|
|
|
|
export const registerAllMessages = async () => {
|
|
verifyBarMessages()
|
|
errorMessages()
|
|
helpMenuMessages()
|
|
statsMessages()
|
|
panelMessages()
|
|
ticketMessages()
|
|
blacklistMessages()
|
|
transcriptMessages()
|
|
roleMessages()
|
|
clearMessages()
|
|
autoMessages()
|
|
}
|
|
|
|
const verifyBarMessages = () => {
|
|
//VERIFYBAR TICKET MESSAGE
|
|
messages.add(new api.ODMessage("openticket:verifybar-ticket-message"))
|
|
messages.get("openticket:verifybar-ticket-message").workers.add(
|
|
new api.ODWorker("openticket:verifybar-ticket-message",0,async (instance,params,source) => {
|
|
const {guild,channel,user,verifybar} = params
|
|
if (!guild){
|
|
instance.setContent("ODError: Not In Guild => `openticket:verifybar-ticket-message`")
|
|
return
|
|
}
|
|
const ticket = openticket.tickets.get(channel.id)
|
|
if (!ticket){
|
|
instance.setContent("ODError: Unknown Ticket => `openticket:verifybar-ticket-message`")
|
|
return
|
|
}
|
|
const option = ticket.option
|
|
|
|
//add pings
|
|
const pingOptions = option.get("openticket:ticket-message-ping").value
|
|
const pings: string[] = []
|
|
const creator = ticket.get("openticket:opened-by").value
|
|
if (creator) pings.push(discord.userMention(creator))
|
|
if (pingOptions["@everyone"]) pings.push("@everyone")
|
|
if (pingOptions["@here"]) pings.push("@here")
|
|
pingOptions.custom.forEach((ping) => pings.push(discord.roleMention(ping)))
|
|
const pingText = (pings.length > 0) ? pings.join(" ")+"\n" : ""
|
|
|
|
//add text
|
|
const text = option.get("openticket:ticket-message-text").value
|
|
if (text !== "") instance.setContent(pingText+text)
|
|
else instance.setContent(pingText)
|
|
|
|
//add embed
|
|
if (option.get("openticket:ticket-message-embed").value.enabled) instance.addEmbed(await embeds.getSafe("openticket:ticket-message").build("other",{guild,channel,user,ticket}))
|
|
|
|
//add verifybar components
|
|
if (verifybar.id.value == "openticket:claim-ticket-ticket-message"){
|
|
instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar}))
|
|
instance.addComponent(await buttons.getSafe("openticket:verifybar-failure").build("verifybar",{guild,channel,user,verifybar}))
|
|
if (generalConfig.data.system.enableTicketActionWithReason) instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar,customData:"reason",customEmoji:"✏️",customLabel:lang.getTranslation("actions.buttons.withReason"),customColor:"blue"}))
|
|
|
|
}else if (verifybar.id.value == "openticket:unclaim-ticket-ticket-message"){
|
|
instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar}))
|
|
instance.addComponent(await buttons.getSafe("openticket:verifybar-failure").build("verifybar",{guild,channel,user,verifybar}))
|
|
if (generalConfig.data.system.enableTicketActionWithReason) instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar,customData:"reason",customEmoji:"✏️",customLabel:lang.getTranslation("actions.buttons.withReason"),customColor:"blue"}))
|
|
|
|
}else if (verifybar.id.value == "openticket:pin-ticket-ticket-message"){
|
|
instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar}))
|
|
instance.addComponent(await buttons.getSafe("openticket:verifybar-failure").build("verifybar",{guild,channel,user,verifybar}))
|
|
if (generalConfig.data.system.enableTicketActionWithReason) instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar,customData:"reason",customEmoji:"✏️",customLabel:lang.getTranslation("actions.buttons.withReason"),customColor:"blue"}))
|
|
|
|
}else if (verifybar.id.value == "openticket:unpin-ticket-ticket-message"){
|
|
instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar}))
|
|
instance.addComponent(await buttons.getSafe("openticket:verifybar-failure").build("verifybar",{guild,channel,user,verifybar}))
|
|
if (generalConfig.data.system.enableTicketActionWithReason) instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar,customData:"reason",customEmoji:"✏️",customLabel:lang.getTranslation("actions.buttons.withReason"),customColor:"blue"}))
|
|
|
|
}else if (verifybar.id.value == "openticket:close-ticket-ticket-message"){
|
|
instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar}))
|
|
instance.addComponent(await buttons.getSafe("openticket:verifybar-failure").build("verifybar",{guild,channel,user,verifybar}))
|
|
if (generalConfig.data.system.enableTicketActionWithReason) instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar,customData:"reason",customEmoji:"✏️",customLabel:lang.getTranslation("actions.buttons.withReason"),customColor:"blue"}))
|
|
|
|
}else if (verifybar.id.value == "openticket:reopen-ticket-ticket-message"){
|
|
instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar}))
|
|
instance.addComponent(await buttons.getSafe("openticket:verifybar-failure").build("verifybar",{guild,channel,user,verifybar}))
|
|
if (generalConfig.data.system.enableTicketActionWithReason) instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar,customData:"reason",customEmoji:"✏️",customLabel:lang.getTranslation("actions.buttons.withReason"),customColor:"blue"}))
|
|
|
|
}else if (verifybar.id.value == "openticket:delete-ticket-ticket-message"){
|
|
instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar}))
|
|
instance.addComponent(await buttons.getSafe("openticket:verifybar-failure").build("verifybar",{guild,channel,user,verifybar}))
|
|
if (generalConfig.data.system.enableTicketActionWithReason) instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar,customData:"reason",customEmoji:"✏️",customLabel:lang.getTranslation("actions.buttons.withReason"),customColor:"blue"}))
|
|
if (generalConfig.data.system.enableDeleteWithoutTranscript) instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar,customData:"no-transcript",customEmoji:"📄",customLabel:lang.getTranslation("actions.buttons.withoutTranscript"),customColor:"red"}))
|
|
}
|
|
})
|
|
)
|
|
|
|
//TICKET CLOSED
|
|
messages.add(new api.ODMessage("openticket:verifybar-close-message"))
|
|
messages.get("openticket:verifybar-close-message").workers.add(
|
|
new api.ODWorker("openticket:verifybar-close-message",0,async (instance,params,source) => {
|
|
const {guild,channel,user,verifybar,originalMessage} = params
|
|
if (!guild){
|
|
instance.setContent("ODError: Not In Guild => `openticket:verifybar-close-message`")
|
|
return
|
|
}
|
|
const ticket = openticket.tickets.get(channel.id)
|
|
if (!ticket){
|
|
instance.setContent("ODError: Unknown Ticket => `openticket:verifybar-close-message`")
|
|
return
|
|
}
|
|
|
|
const rawReason = (originalMessage.embeds[0] && originalMessage.embeds[0].fields[0]) ? originalMessage.embeds[0].fields[0].value : null
|
|
const reason = (rawReason == null) ? null : rawReason.substring(3,rawReason.length-3)
|
|
|
|
//add embed
|
|
instance.addEmbed(await embeds.getSafe("openticket:close-message").build("other",{guild,channel,user,ticket,reason}))
|
|
|
|
//add verifybar components
|
|
if (verifybar.id.value == "openticket:reopen-ticket-close-message"){
|
|
instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar}))
|
|
instance.addComponent(await buttons.getSafe("openticket:verifybar-failure").build("verifybar",{guild,channel,user,verifybar}))
|
|
if (generalConfig.data.system.enableTicketActionWithReason) instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar,customData:"reason",customEmoji:"✏️",customLabel:lang.getTranslation("actions.buttons.withReason"),customColor:"blue"}))
|
|
|
|
}else if (verifybar.id.value == "openticket:delete-ticket-close-message"){
|
|
instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar}))
|
|
instance.addComponent(await buttons.getSafe("openticket:verifybar-failure").build("verifybar",{guild,channel,user,verifybar}))
|
|
if (generalConfig.data.system.enableTicketActionWithReason) instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar,customData:"reason",customEmoji:"✏️",customLabel:lang.getTranslation("actions.buttons.withReason"),customColor:"blue"}))
|
|
if (generalConfig.data.system.enableDeleteWithoutTranscript) instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar,customData:"no-transcript",customEmoji:"📄",customLabel:lang.getTranslation("actions.buttons.withoutTranscript"),customColor:"red"}))
|
|
}
|
|
})
|
|
)
|
|
|
|
//TICKET REOPENED
|
|
messages.add(new api.ODMessage("openticket:verifybar-reopen-message"))
|
|
messages.get("openticket:verifybar-reopen-message").workers.add(
|
|
new api.ODWorker("openticket:verifybar-reopen-message",0,async (instance,params,source) => {
|
|
const {guild,channel,user,verifybar,originalMessage} = params
|
|
if (!guild){
|
|
instance.setContent("ODError: Not In Guild => `openticket:verifybar-reopen-message`")
|
|
return
|
|
}
|
|
const ticket = openticket.tickets.get(channel.id)
|
|
if (!ticket){
|
|
instance.setContent("ODError: Unknown Ticket => `openticket:verifybar-reopen-message`")
|
|
return
|
|
}
|
|
|
|
const rawReason = (originalMessage.embeds[0] && originalMessage.embeds[0].fields[0]) ? originalMessage.embeds[0].fields[0].value : null
|
|
const reason = (rawReason == null) ? null : rawReason.substring(3,rawReason.length-3)
|
|
|
|
//add embed
|
|
instance.addEmbed(await embeds.getSafe("openticket:reopen-message").build("other",{guild,channel,user,ticket,reason}))
|
|
|
|
//add verifybar components
|
|
if (verifybar.id.value == "openticket:close-ticket-reopen-message"){
|
|
instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar}))
|
|
instance.addComponent(await buttons.getSafe("openticket:verifybar-failure").build("verifybar",{guild,channel,user,verifybar}))
|
|
if (generalConfig.data.system.enableTicketActionWithReason) instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar,customData:"reason",customEmoji:"✏️",customLabel:lang.getTranslation("actions.buttons.withReason"),customColor:"blue"}))
|
|
|
|
}else if (verifybar.id.value == "openticket:delete-ticket-reopen-message"){
|
|
instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar}))
|
|
instance.addComponent(await buttons.getSafe("openticket:verifybar-failure").build("verifybar",{guild,channel,user,verifybar}))
|
|
if (generalConfig.data.system.enableTicketActionWithReason) instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar,customData:"reason",customEmoji:"✏️",customLabel:lang.getTranslation("actions.buttons.withReason"),customColor:"blue"}))
|
|
if (generalConfig.data.system.enableDeleteWithoutTranscript) instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar,customData:"no-transcript",customEmoji:"📄",customLabel:lang.getTranslation("actions.buttons.withoutTranscript"),customColor:"red"}))
|
|
}
|
|
})
|
|
)
|
|
|
|
//TICKET CLAIM
|
|
messages.add(new api.ODMessage("openticket:verifybar-claim-message"))
|
|
messages.get("openticket:verifybar-claim-message").workers.add(
|
|
new api.ODWorker("openticket:verifybar-claim-message",0,async (instance,params,source) => {
|
|
const {guild,channel,user,verifybar,originalMessage} = params
|
|
if (!guild){
|
|
instance.setContent("ODError: Not In Guild => `openticket:verifybar-claim-message`")
|
|
return
|
|
}
|
|
const ticket = openticket.tickets.get(channel.id)
|
|
if (!ticket){
|
|
instance.setContent("ODError: Unknown Ticket => `openticket:verifybar-claim-message`")
|
|
return
|
|
}
|
|
|
|
const rawReason = (originalMessage.embeds[0] && originalMessage.embeds[0].fields[0]) ? originalMessage.embeds[0].fields[0].value : null
|
|
const reason = (rawReason == null) ? null : rawReason.substring(3,rawReason.length-3)
|
|
|
|
//add embed
|
|
instance.addEmbed(await embeds.getSafe("openticket:claim-message").build("other",{guild,channel,user,ticket,reason}))
|
|
|
|
//add verifybar components
|
|
if (verifybar.id.value == "openticket:unclaim-ticket-claim-message"){
|
|
instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar}))
|
|
instance.addComponent(await buttons.getSafe("openticket:verifybar-failure").build("verifybar",{guild,channel,user,verifybar}))
|
|
if (generalConfig.data.system.enableTicketActionWithReason) instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar,customData:"reason",customEmoji:"✏️",customLabel:lang.getTranslation("actions.buttons.withReason"),customColor:"blue"}))
|
|
}
|
|
})
|
|
)
|
|
|
|
//TICKET UNCLAIM
|
|
messages.add(new api.ODMessage("openticket:verifybar-unclaim-message"))
|
|
messages.get("openticket:verifybar-unclaim-message").workers.add(
|
|
new api.ODWorker("openticket:verifybar-unclaim-message",0,async (instance,params,source) => {
|
|
const {guild,channel,user,verifybar,originalMessage} = params
|
|
if (!guild){
|
|
instance.setContent("ODError: Not In Guild => `openticket:verifybar-unclaim-message`")
|
|
return
|
|
}
|
|
const ticket = openticket.tickets.get(channel.id)
|
|
if (!ticket){
|
|
instance.setContent("ODError: Unknown Ticket => `openticket:verifybar-unclaim-message`")
|
|
return
|
|
}
|
|
|
|
const rawReason = (originalMessage.embeds[0] && originalMessage.embeds[0].fields[0]) ? originalMessage.embeds[0].fields[0].value : null
|
|
const reason = (rawReason == null) ? null : rawReason.substring(3,rawReason.length-3)
|
|
|
|
//add embed
|
|
instance.addEmbed(await embeds.getSafe("openticket:unclaim-message").build("other",{guild,channel,user,ticket,reason}))
|
|
|
|
//add verifybar components
|
|
if (verifybar.id.value == "openticket:claim-ticket-unclaim-message"){
|
|
instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar}))
|
|
instance.addComponent(await buttons.getSafe("openticket:verifybar-failure").build("verifybar",{guild,channel,user,verifybar}))
|
|
if (generalConfig.data.system.enableTicketActionWithReason) instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar,customData:"reason",customEmoji:"✏️",customLabel:lang.getTranslation("actions.buttons.withReason"),customColor:"blue"}))
|
|
}
|
|
})
|
|
)
|
|
|
|
//TICKET PIN
|
|
messages.add(new api.ODMessage("openticket:verifybar-pin-message"))
|
|
messages.get("openticket:verifybar-pin-message").workers.add(
|
|
new api.ODWorker("openticket:verifybar-pin-message",0,async (instance,params,source) => {
|
|
const {guild,channel,user,verifybar,originalMessage} = params
|
|
if (!guild){
|
|
instance.setContent("ODError: Not In Guild => `openticket:verifybar-pin-message`")
|
|
return
|
|
}
|
|
const ticket = openticket.tickets.get(channel.id)
|
|
if (!ticket){
|
|
instance.setContent("ODError: Unknown Ticket => `openticket:verifybar-pin-message`")
|
|
return
|
|
}
|
|
|
|
const rawReason = (originalMessage.embeds[0] && originalMessage.embeds[0].fields[0]) ? originalMessage.embeds[0].fields[0].value : null
|
|
const reason = (rawReason == null) ? null : rawReason.substring(3,rawReason.length-3)
|
|
|
|
//add embed
|
|
instance.addEmbed(await embeds.getSafe("openticket:pin-message").build("other",{guild,channel,user,ticket,reason}))
|
|
|
|
//add verifybar components
|
|
if (verifybar.id.value == "openticket:unpin-ticket-pin-message"){
|
|
instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar}))
|
|
instance.addComponent(await buttons.getSafe("openticket:verifybar-failure").build("verifybar",{guild,channel,user,verifybar}))
|
|
if (generalConfig.data.system.enableTicketActionWithReason) instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar,customData:"reason",customEmoji:"✏️",customLabel:lang.getTranslation("actions.buttons.withReason"),customColor:"blue"}))
|
|
}
|
|
})
|
|
)
|
|
|
|
//TICKET UNPIN
|
|
messages.add(new api.ODMessage("openticket:verifybar-unpin-message"))
|
|
messages.get("openticket:verifybar-unpin-message").workers.add(
|
|
new api.ODWorker("openticket:verifybar-unpin-message",0,async (instance,params,source) => {
|
|
const {guild,channel,user,verifybar,originalMessage} = params
|
|
if (!guild){
|
|
instance.setContent("ODError: Not In Guild => `openticket:verifybar-unpin-message`")
|
|
return
|
|
}
|
|
const ticket = openticket.tickets.get(channel.id)
|
|
if (!ticket){
|
|
instance.setContent("ODError: Unknown Ticket => `openticket:verifybar-unpin-message`")
|
|
return
|
|
}
|
|
|
|
const rawReason = (originalMessage.embeds[0] && originalMessage.embeds[0].fields[0]) ? originalMessage.embeds[0].fields[0].value : null
|
|
const reason = (rawReason == null) ? null : rawReason.substring(3,rawReason.length-3)
|
|
|
|
//add embed
|
|
instance.addEmbed(await embeds.getSafe("openticket:unpin-message").build("other",{guild,channel,user,ticket,reason}))
|
|
|
|
//add verifybar components
|
|
if (verifybar.id.value == "openticket:pin-ticket-unpin-message"){
|
|
instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar}))
|
|
instance.addComponent(await buttons.getSafe("openticket:verifybar-failure").build("verifybar",{guild,channel,user,verifybar}))
|
|
if (generalConfig.data.system.enableTicketActionWithReason) instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar,customData:"reason",customEmoji:"✏️",customLabel:lang.getTranslation("actions.buttons.withReason"),customColor:"blue"}))
|
|
}
|
|
})
|
|
)
|
|
|
|
//TICKET AUTOCLOSED
|
|
messages.add(new api.ODMessage("openticket:verifybar-autoclose-message"))
|
|
messages.get("openticket:verifybar-autoclose-message").workers.add(
|
|
new api.ODWorker("openticket:verifybar-autoclose-message",0,async (instance,params,source) => {
|
|
const {guild,channel,user,verifybar,originalMessage} = params
|
|
if (!guild || channel.isDMBased()){
|
|
instance.setContent("ODError: Not In Guild => `openticket:verifybar-autoclose-message`")
|
|
return
|
|
}
|
|
const ticket = openticket.tickets.get(channel.id)
|
|
if (!ticket){
|
|
instance.setContent("ODError: Unknown Ticket => `openticket:verifybar-autoclose-message`")
|
|
return
|
|
}
|
|
|
|
//add embed
|
|
instance.addEmbed(await embeds.getSafe("openticket:autoclose-message").build("other",{guild,channel,user,ticket}))
|
|
|
|
//add verifybar components
|
|
if (verifybar.id.value == "openticket:reopen-ticket-autoclose-message"){
|
|
instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar}))
|
|
instance.addComponent(await buttons.getSafe("openticket:verifybar-failure").build("verifybar",{guild,channel,user,verifybar}))
|
|
if (generalConfig.data.system.enableTicketActionWithReason) instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar,customData:"reason",customEmoji:"✏️",customLabel:lang.getTranslation("actions.buttons.withReason"),customColor:"blue"}))
|
|
|
|
}else if (verifybar.id.value == "openticket:delete-ticket-autoclose-message"){
|
|
instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar}))
|
|
instance.addComponent(await buttons.getSafe("openticket:verifybar-failure").build("verifybar",{guild,channel,user,verifybar}))
|
|
if (generalConfig.data.system.enableTicketActionWithReason) instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar,customData:"reason",customEmoji:"✏️",customLabel:lang.getTranslation("actions.buttons.withReason"),customColor:"blue"}))
|
|
if (generalConfig.data.system.enableDeleteWithoutTranscript) instance.addComponent(await buttons.getSafe("openticket:verifybar-success").build("verifybar",{guild,channel,user,verifybar,customData:"no-transcript",customEmoji:"📄",customLabel:lang.getTranslation("actions.buttons.withoutTranscript"),customColor:"red"}))
|
|
}
|
|
})
|
|
)
|
|
}
|
|
|
|
const errorMessages = () => {
|
|
//ERROR
|
|
messages.add(new api.ODMessage("openticket:error"))
|
|
messages.get("openticket:error").workers.add(
|
|
new api.ODWorker("openticket:error",0,async (instance,params,source) => {
|
|
const {guild,channel,user,error,layout} = params
|
|
instance.addEmbed(await embeds.getSafe("openticket:error").build(source,{guild,channel,user,error,layout}))
|
|
instance.setEphemeral(true)
|
|
})
|
|
)
|
|
|
|
//ERROR OPTION MISSING
|
|
messages.add(new api.ODMessage("openticket:error-option-missing"))
|
|
messages.get("openticket:error-option-missing").workers.add(
|
|
new api.ODWorker("openticket:error-option-missing",0,async (instance,params,source) => {
|
|
const {guild,channel,user,error} = params
|
|
instance.addEmbed(await embeds.getSafe("openticket:error-option-missing").build(source,{guild,channel,user,error}))
|
|
instance.setEphemeral(true)
|
|
})
|
|
)
|
|
|
|
//ERROR OPTION INVALID
|
|
messages.add(new api.ODMessage("openticket:error-option-invalid"))
|
|
messages.get("openticket:error-option-invalid").workers.add(
|
|
new api.ODWorker("openticket:error-option-invalid",0,async (instance,params,source) => {
|
|
const {guild,channel,user,error} = params
|
|
instance.addEmbed(await embeds.getSafe("openticket:error-option-invalid").build(source,{guild,channel,user,error}))
|
|
instance.setEphemeral(true)
|
|
})
|
|
)
|
|
|
|
//ERROR UNKNOWN COMMAND
|
|
messages.add(new api.ODMessage("openticket:error-unknown-command"))
|
|
messages.get("openticket:error-unknown-command").workers.add(
|
|
new api.ODWorker("openticket:error-unknown-command",0,async (instance,params,source) => {
|
|
const {guild,channel,user,error} = params
|
|
instance.addEmbed(await embeds.getSafe("openticket:error-unknown-command").build(source,{guild,channel,user,error}))
|
|
instance.setEphemeral(true)
|
|
})
|
|
)
|
|
|
|
//ERROR NO PERMISSIONS
|
|
messages.add(new api.ODMessage("openticket:error-no-permissions"))
|
|
messages.get("openticket:error-no-permissions").workers.add(
|
|
new api.ODWorker("openticket:error-no-permissions",0,async (instance,params,source) => {
|
|
const {guild,channel,user,permissions} = params
|
|
instance.addEmbed(await embeds.getSafe("openticket:error-no-permissions").build(source,{guild,channel,user,permissions}))
|
|
instance.setEphemeral(true)
|
|
})
|
|
)
|
|
|
|
//ERROR NO PERMISSIONS COOLDOWN
|
|
messages.add(new api.ODMessage("openticket:error-no-permissions-cooldown"))
|
|
messages.get("openticket:error-no-permissions-cooldown").workers.add(
|
|
new api.ODWorker("openticket:error-no-permissions-cooldown",0,async (instance,params,source) => {
|
|
const {guild,channel,user,until} = params
|
|
instance.addEmbed(await embeds.getSafe("openticket:error-no-permissions-cooldown").build(source,{guild,channel,user,until}))
|
|
instance.setEphemeral(true)
|
|
})
|
|
)
|
|
|
|
//ERROR NO PERMISSIONS BLACKLISTED
|
|
messages.add(new api.ODMessage("openticket:error-no-permissions-blacklisted"))
|
|
messages.get("openticket:error-no-permissions-blacklisted").workers.add(
|
|
new api.ODWorker("openticket:error-no-permissions-blacklisted",0,async (instance,params,source) => {
|
|
const {guild,channel,user} = params
|
|
instance.addEmbed(await embeds.getSafe("openticket:error-no-permissions-blacklisted").build(source,{guild,channel,user}))
|
|
instance.setEphemeral(true)
|
|
})
|
|
)
|
|
|
|
//ERROR NO PERMISSIONS LIMITS
|
|
messages.add(new api.ODMessage("openticket:error-no-permissions-limits"))
|
|
messages.get("openticket:error-no-permissions-limits").workers.add(
|
|
new api.ODWorker("openticket:error-no-permissions-limits",0,async (instance,params,source) => {
|
|
const {guild,channel,user,limit} = params
|
|
instance.addEmbed(await embeds.getSafe("openticket:error-no-permissions-limits").build(source,{guild,channel,user,limit}))
|
|
instance.setEphemeral(true)
|
|
})
|
|
)
|
|
|
|
//ERROR RESPONDER TIMEOUT
|
|
messages.add(new api.ODMessage("openticket:error-responder-timeout"))
|
|
messages.get("openticket:error-responder-timeout").workers.add(
|
|
new api.ODWorker("openticket:error-responder-timeout",0,async (instance,params,source) => {
|
|
const {guild,channel,user} = params
|
|
instance.addEmbed(await embeds.getSafe("openticket:error-responder-timeout").build(source,{guild,channel,user}))
|
|
instance.setEphemeral(true)
|
|
})
|
|
)
|
|
|
|
//ERROR TICKET UNKNOWN
|
|
messages.add(new api.ODMessage("openticket:error-ticket-unknown"))
|
|
messages.get("openticket:error-ticket-unknown").workers.add(
|
|
new api.ODWorker("openticket:error-ticket-unknown",0,async (instance,params,source) => {
|
|
const {guild,channel,user} = params
|
|
instance.addEmbed(await embeds.getSafe("openticket:error-ticket-unknown").build(source,{guild,channel,user}))
|
|
instance.setEphemeral(true)
|
|
})
|
|
)
|
|
|
|
//ERROR TICKET DEPRECATED
|
|
messages.add(new api.ODMessage("openticket:error-ticket-deprecated"))
|
|
messages.get("openticket:error-ticket-deprecated").workers.add(
|
|
new api.ODWorker("openticket:error-ticket-deprecated",0,async (instance,params,source) => {
|
|
const {guild,channel,user} = params
|
|
instance.addEmbed(await embeds.getSafe("openticket:error-ticket-deprecated").build(source,{guild,channel,user}))
|
|
instance.addComponent(await buttons.getSafe("openticket:error-ticket-deprecated-transcript").build(source,{}))
|
|
instance.setEphemeral(true)
|
|
})
|
|
)
|
|
|
|
//ERROR OPTION UNKNOWN
|
|
messages.add(new api.ODMessage("openticket:error-option-unknown"))
|
|
messages.get("openticket:error-option-unknown").workers.add(
|
|
new api.ODWorker("openticket:error-option-unknown",0,async (instance,params,source) => {
|
|
const {guild,channel,user} = params
|
|
instance.addEmbed(await embeds.getSafe("openticket:error-option-unknown").build(source,{guild,channel,user}))
|
|
instance.setEphemeral(true)
|
|
})
|
|
)
|
|
|
|
//ERROR PANEL UNKNOWN
|
|
messages.add(new api.ODMessage("openticket:error-panel-unknown"))
|
|
messages.get("openticket:error-panel-unknown").workers.add(
|
|
new api.ODWorker("openticket:error-panel-unknown",0,async (instance,params,source) => {
|
|
const {guild,channel,user} = params
|
|
instance.addEmbed(await embeds.getSafe("openticket:error-panel-unknown").build(source,{guild,channel,user}))
|
|
instance.setEphemeral(true)
|
|
})
|
|
)
|
|
|
|
//ERROR NOD IN GUILD
|
|
messages.add(new api.ODMessage("openticket:error-not-in-guild"))
|
|
messages.get("openticket:error-not-in-guild").workers.add(
|
|
new api.ODWorker("openticket:error-not-in-guild",0,async (instance,params,source) => {
|
|
const {channel,user} = params
|
|
instance.addEmbed(await embeds.getSafe("openticket:error-not-in-guild").build(source,{channel,user}))
|
|
instance.setEphemeral(true)
|
|
})
|
|
)
|
|
|
|
//ERROR CHANNEL RENAME
|
|
messages.add(new api.ODMessage("openticket:error-channel-rename"))
|
|
messages.get("openticket:error-channel-rename").workers.add(
|
|
new api.ODWorker("openticket:error-channel-rename",0,async (instance,params,source) => {
|
|
const {guild,channel,user,originalName,newName} = params
|
|
instance.addEmbed(await embeds.getSafe("openticket:error-channel-rename").build(source,{guild,channel,user,originalName,newName}))
|
|
instance.setEphemeral(true)
|
|
})
|
|
)
|
|
|
|
//ERROR TICKET BUSY
|
|
messages.add(new api.ODMessage("openticket:error-ticket-busy"))
|
|
messages.get("openticket:error-ticket-busy").workers.add(
|
|
new api.ODWorker("openticket:error-ticket-busy",0,async (instance,params,source) => {
|
|
const {guild,channel,user} = params
|
|
instance.addEmbed(await embeds.getSafe("openticket:error-ticket-busy").build(source,{guild,channel,user}))
|
|
instance.setEphemeral(true)
|
|
})
|
|
)
|
|
}
|
|
|
|
const helpMenuMessages = () => {
|
|
//HELP MENU
|
|
messages.add(new api.ODMessage("openticket:help-menu"))
|
|
messages.get("openticket:help-menu").workers.add(
|
|
new api.ODWorker("openticket:help-menu",0,async (instance,params,source) => {
|
|
const {mode,page} = params
|
|
const totalPages = (await openticket.helpmenu.render(mode)).length
|
|
|
|
const embed = await embeds.getSafe("openticket:help-menu").build(source,{mode,page})
|
|
instance.addEmbed(embed)
|
|
if (totalPages > 1){
|
|
//when more than 1 page
|
|
instance.addComponent(await buttons.getSafe("openticket:help-menu-previous").build(source,{mode,page}))
|
|
instance.addComponent(await buttons.getSafe("openticket:help-menu-page").build(source,{mode,page}))
|
|
instance.addComponent(await buttons.getSafe("openticket:help-menu-next").build(source,{mode,page}))
|
|
instance.addComponent(buttons.getNewLine("openticket:help-menu-divider"))
|
|
}
|
|
if (generalConfig.data.textCommands && generalConfig.data.slashCommands) instance.addComponent(await buttons.get("openticket:help-menu-switch").build(source,{mode,page}))
|
|
})
|
|
)
|
|
}
|
|
|
|
const statsMessages = () => {
|
|
//STATS GLOBAL
|
|
messages.add(new api.ODMessage("openticket:stats-global"))
|
|
messages.get("openticket:stats-global").workers.add(
|
|
new api.ODWorker("openticket:stats-global",0,async (instance,params,source) => {
|
|
const {guild,channel,user} = params
|
|
instance.addEmbed(await embeds.getSafe("openticket:stats-global").build(source,{guild,channel,user}))
|
|
})
|
|
)
|
|
|
|
//STATS TICKET
|
|
messages.add(new api.ODMessage("openticket:stats-ticket"))
|
|
messages.get("openticket:stats-ticket").workers.add(
|
|
new api.ODWorker("openticket:stats-ticket",0,async (instance,params,source) => {
|
|
const {guild,channel,user,scopeData} = params
|
|
instance.addEmbed(await embeds.getSafe("openticket:stats-ticket").build(source,{guild,channel,user,scopeData}))
|
|
})
|
|
)
|
|
|
|
//STATS USER
|
|
messages.add(new api.ODMessage("openticket:stats-user"))
|
|
messages.get("openticket:stats-user").workers.add(
|
|
new api.ODWorker("openticket:stats-user",0,async (instance,params,source) => {
|
|
const {guild,channel,user,scopeData} = params
|
|
instance.addEmbed(await embeds.getSafe("openticket:stats-user").build(source,{guild,channel,user,scopeData}))
|
|
})
|
|
)
|
|
|
|
//STATS RESET
|
|
messages.add(new api.ODMessage("openticket:stats-reset"))
|
|
messages.get("openticket:stats-reset").workers.add(
|
|
new api.ODWorker("openticket:stats-reset",0,async (instance,params,source) => {
|
|
const {guild,channel,user,reason} = params
|
|
instance.addEmbed(await embeds.getSafe("openticket:stats-reset").build(source,{guild,channel,user,reason}))
|
|
})
|
|
)
|
|
|
|
//STATS TICKET UNKNOWN
|
|
messages.add(new api.ODMessage("openticket:stats-ticket-unknown"))
|
|
messages.get("openticket:stats-ticket-unknown").workers.add(
|
|
new api.ODWorker("openticket:stats-ticket-unknown",0,async (instance,params,source) => {
|
|
const {guild,channel,user,id} = params
|
|
instance.addEmbed(await embeds.getSafe("openticket:stats-ticket-unknown").build(source,{guild,channel,user,id}))
|
|
instance.setEphemeral(true)
|
|
})
|
|
)
|
|
}
|
|
|
|
const panelMessages = () => {
|
|
//PANEL
|
|
messages.add(new api.ODMessage("openticket:panel"))
|
|
messages.get("openticket:panel").workers.add([
|
|
new api.ODWorker("openticket:panel-layout",1,async (instance,params,source) => {
|
|
const {guild,channel,user,panel} = params
|
|
|
|
//add text
|
|
const text = panel.get("openticket:text").value
|
|
if (panel.get("openticket:describe-options-in-text").value){
|
|
//describe options in text
|
|
const describeText = (await import("../data/openticket/panelLoader.js")).describePanelOptions("text",panel)
|
|
instance.setContent(text+"\n\n"+describeText)
|
|
}else if (text){
|
|
instance.setContent(text)
|
|
}
|
|
|
|
if (panel.get("openticket:enable-max-tickets-warning-text").value && generalConfig.data.system.limits.enabled){
|
|
instance.setContent(instance.data.content+"\n\n*"+lang.getTranslationWithParams("actions.descriptions.ticketMessageLimit",[generalConfig.data.system.limits.userMaximum.toString()])+"*")
|
|
}
|
|
|
|
//add embed
|
|
const embedOptions = panel.get("openticket:embed").value
|
|
if (embedOptions.enabled) instance.addEmbed(await embeds.getSafe("openticket:panel").build(source,{guild,channel,user,panel}))
|
|
}),
|
|
new api.ODWorker("openticket:panel-components",0,async (instance,params,source) => {
|
|
const {guild,channel,user,panel} = params
|
|
const options: api.ODOption[] = []
|
|
panel.get("openticket:options").value.forEach((id) => {
|
|
const opt = openticket.options.get(id)
|
|
if (opt) options.push(opt)
|
|
})
|
|
|
|
if (panel.get("openticket:dropdown").value){
|
|
//dropdown
|
|
const ticketOptions: api.ODTicketOption[] = []
|
|
options.forEach((option) => {
|
|
if (option instanceof api.ODTicketOption) ticketOptions.push(option)
|
|
})
|
|
instance.addComponent(await dropdowns.getSafe("openticket:panel-dropdown-tickets").build(source,{guild,channel,user,panel,options:ticketOptions}))
|
|
}else{
|
|
//buttons
|
|
for (const option of options){
|
|
if (option instanceof api.ODTicketOption) instance.addComponent(await buttons.getSafe("openticket:ticket-option").build(source,{guild,channel,user,panel,option}))
|
|
else if (option instanceof api.ODWebsiteOption) instance.addComponent(await buttons.getSafe("openticket:website-option").build(source,{guild,channel,user,panel,option}))
|
|
else if (option instanceof api.ODRoleOption) instance.addComponent(await buttons.getSafe("openticket:role-option").build(source,{guild,channel,user,panel,option}))
|
|
}
|
|
}
|
|
})
|
|
])
|
|
|
|
//PANEL READY
|
|
messages.add(new api.ODMessage("openticket:panel-ready"))
|
|
messages.get("openticket:panel-ready").workers.add(
|
|
new api.ODWorker("openticket:panel-ready",0,async (instance,params,source) => {
|
|
instance.setContent("## "+lang.getTranslation("actions.descriptions.panelReady"))
|
|
instance.setEphemeral(true)
|
|
})
|
|
)
|
|
}
|
|
|
|
const ticketMessages = () => {
|
|
//TICKET CREATED
|
|
messages.add(new api.ODMessage("openticket:ticket-created"))
|
|
messages.get("openticket:ticket-created").workers.add(
|
|
new api.ODWorker("openticket:ticket-created",0,async (instance,params,source) => {
|
|
const {guild,channel,user,ticket} = params
|
|
|
|
instance.addEmbed(await embeds.getSafe("openticket:ticket-created").build(source,{guild,channel,user,ticket}))
|
|
instance.addComponent(await buttons.getSafe("openticket:visit-ticket").build("ticket-created",{guild,channel,user,ticket}))
|
|
instance.setEphemeral(true)
|
|
})
|
|
)
|
|
|
|
//TICKET CREATED DM
|
|
messages.add(new api.ODMessage("openticket:ticket-created-dm"))
|
|
messages.get("openticket:ticket-created-dm").workers.add(
|
|
new api.ODWorker("openticket:ticket-created-dm",0,async (instance,params,source) => {
|
|
const {guild,channel,user,ticket} = params
|
|
|
|
//add text
|
|
const text = ticket.option.get("openticket:dm-message-text").value
|
|
if (text !== "") instance.setContent(text)
|
|
|
|
//add embed
|
|
if (ticket.option.get("openticket:dm-message-embed").value.enabled) instance.addEmbed(await embeds.getSafe("openticket:ticket-created-dm").build(source,{guild,channel,user,ticket}))
|
|
|
|
//add components
|
|
instance.addComponent(await buttons.getSafe("openticket:visit-ticket").build("ticket-created",{guild,channel,user,ticket}))
|
|
})
|
|
)
|
|
|
|
//TICKET CREATED LOGS
|
|
messages.add(new api.ODMessage("openticket:ticket-created-logs"))
|
|
messages.get("openticket:ticket-created-logs").workers.add(
|
|
new api.ODWorker("openticket:ticket-created-logs",0,async (instance,params,source) => {
|
|
const {guild,channel,user,ticket} = params
|
|
|
|
instance.addEmbed(await embeds.getSafe("openticket:ticket-created-logs").build(source,{guild,channel,user,ticket}))
|
|
instance.addComponent(await buttons.getSafe("openticket:visit-ticket").build("ticket-created",{guild,channel,user,ticket}))
|
|
})
|
|
)
|
|
|
|
//TICKET MESSAGE
|
|
messages.add(new api.ODMessage("openticket:ticket-message"))
|
|
messages.get("openticket:ticket-message").workers.add([
|
|
new api.ODWorker("openticket:ticket-message-layout",0,async (instance,params,source) => {
|
|
const {guild,channel,user,ticket} = params
|
|
|
|
//add pings
|
|
const pingOptions = ticket.option.get("openticket:ticket-message-ping").value
|
|
const pings: string[] = []
|
|
const creator = ticket.get("openticket:opened-by").value
|
|
if (creator) pings.push(discord.userMention(creator))
|
|
if (pingOptions["@everyone"]) pings.push("@everyone")
|
|
if (pingOptions["@here"]) pings.push("@here")
|
|
pingOptions.custom.forEach((ping) => pings.push(discord.roleMention(ping)))
|
|
const pingText = (pings.length > 0) ? pings.join(" ")+"\n" : ""
|
|
|
|
//add text
|
|
const text = ticket.option.get("openticket:ticket-message-text").value
|
|
if (text !== "") instance.setContent(pingText+text)
|
|
else instance.setContent(pingText)
|
|
|
|
//add embed
|
|
if (ticket.option.get("openticket:ticket-message-embed").value.enabled) instance.addEmbed(await embeds.getSafe("openticket:ticket-message").build(source,{guild,channel,user,ticket}))
|
|
}),
|
|
new api.ODWorker("openticket:ticket-message-components",1,async (instance,params,source) => {
|
|
const {guild,channel,user,ticket} = params
|
|
//add components
|
|
if (generalConfig.data.system.enableTicketClaimButtons && !ticket.get("openticket:closed").value){
|
|
//enable ticket claiming
|
|
if (ticket.get("openticket:claimed").value){
|
|
instance.addComponent(await buttons.getSafe("openticket:unclaim-ticket").build("ticket-message",{guild,channel,user,ticket}))
|
|
}else{
|
|
instance.addComponent(await buttons.getSafe("openticket:claim-ticket").build("ticket-message",{guild,channel,user,ticket}))
|
|
}
|
|
}
|
|
if (generalConfig.data.system.enableTicketPinButtons && !ticket.get("openticket:closed").value){
|
|
//enable ticket pinning
|
|
if (ticket.get("openticket:pinned").value){
|
|
instance.addComponent(await buttons.getSafe("openticket:unpin-ticket").build("ticket-message",{guild,channel,user,ticket}))
|
|
}else{
|
|
instance.addComponent(await buttons.getSafe("openticket:pin-ticket").build("ticket-message",{guild,channel,user,ticket}))
|
|
}
|
|
}
|
|
if (generalConfig.data.system.enableTicketCloseButtons){
|
|
//enable ticket closing
|
|
if (ticket.get("openticket:closed").value){
|
|
instance.addComponent(await buttons.getSafe("openticket:reopen-ticket").build("ticket-message",{guild,channel,user,ticket}))
|
|
}else{
|
|
instance.addComponent(await buttons.getSafe("openticket:close-ticket").build("ticket-message",{guild,channel,user,ticket}))
|
|
}
|
|
}
|
|
//enable ticket deletion
|
|
if (generalConfig.data.system.enableTicketDeleteButtons) instance.addComponent(await buttons.getSafe("openticket:delete-ticket").build("ticket-message",{guild,channel,user,ticket}))
|
|
}),
|
|
new api.ODWorker("openticket:ticket-message-disable-components",2,async (instance,params,source) => {
|
|
const {ticket} = params
|
|
if (ticket.get("openticket:for-deletion").value){
|
|
//disable all buttons when ticket is being prepared for deletion
|
|
instance.data.components.forEach((component) => {
|
|
if ((component.component instanceof discord.ButtonBuilder) || (component.component instanceof discord.BaseSelectMenuBuilder)){
|
|
component.component.setDisabled(true)
|
|
}
|
|
})
|
|
}
|
|
})
|
|
])
|
|
|
|
//TICKET CLOSED
|
|
messages.add(new api.ODMessage("openticket:close-message"))
|
|
messages.get("openticket:close-message").workers.add(
|
|
new api.ODWorker("openticket:close-message",0,async (instance,params,source) => {
|
|
const {guild,channel,user,ticket,reason} = params
|
|
instance.addEmbed(await embeds.getSafe("openticket:close-message").build(source,{guild,channel,user,ticket,reason}))
|
|
if (generalConfig.data.system.enableTicketCloseButtons) instance.addComponent(await buttons.getSafe("openticket:reopen-ticket").build("close-message",{guild,channel,user,ticket}))
|
|
if (generalConfig.data.system.enableTicketDeleteButtons) instance.addComponent(await buttons.getSafe("openticket:delete-ticket").build("close-message",{guild,channel,user,ticket}))
|
|
})
|
|
)
|
|
|
|
//TICKET REOPENED
|
|
messages.add(new api.ODMessage("openticket:reopen-message"))
|
|
messages.get("openticket:reopen-message").workers.add(
|
|
new api.ODWorker("openticket:reopen-message",0,async (instance,params,source) => {
|
|
const {guild,channel,user,ticket,reason} = params
|
|
instance.addEmbed(await embeds.getSafe("openticket:reopen-message").build(source,{guild,channel,user,ticket,reason}))
|
|
if (generalConfig.data.system.enableTicketCloseButtons) instance.addComponent(await buttons.getSafe("openticket:close-ticket").build("reopen-message",{guild,channel,user,ticket}))
|
|
if (generalConfig.data.system.enableTicketDeleteButtons) instance.addComponent(await buttons.getSafe("openticket:delete-ticket").build("reopen-message",{guild,channel,user,ticket}))
|
|
})
|
|
)
|
|
|
|
//TICKET DELETED
|
|
messages.add(new api.ODMessage("openticket:delete-message"))
|
|
messages.get("openticket:delete-message").workers.add(
|
|
new api.ODWorker("openticket:delete-message",0,async (instance,params,source) => {
|
|
const {guild,channel,user,ticket,reason} = params
|
|
instance.addEmbed(await embeds.getSafe("openticket:delete-message").build(source,{guild,channel,user,ticket,reason}))
|
|
})
|
|
)
|
|
|
|
//TICKET CLAIMED
|
|
messages.add(new api.ODMessage("openticket:claim-message"))
|
|
messages.get("openticket:claim-message").workers.add(
|
|
new api.ODWorker("openticket:claim-message",0,async (instance,params,source) => {
|
|
const {guild,channel,user,ticket,reason} = params
|
|
instance.addEmbed(await embeds.getSafe("openticket:claim-message").build(source,{guild,channel,user,ticket,reason}))
|
|
if (generalConfig.data.system.enableTicketClaimButtons) instance.addComponent(await buttons.getSafe("openticket:unclaim-ticket").build("claim-message",{guild,channel,user,ticket}))
|
|
})
|
|
)
|
|
|
|
//TICKET UNCLAIMED
|
|
messages.add(new api.ODMessage("openticket:unclaim-message"))
|
|
messages.get("openticket:unclaim-message").workers.add(
|
|
new api.ODWorker("openticket:unclaim-message",0,async (instance,params,source) => {
|
|
const {guild,channel,user,ticket,reason} = params
|
|
instance.addEmbed(await embeds.getSafe("openticket:unclaim-message").build(source,{guild,channel,user,ticket,reason}))
|
|
if (generalConfig.data.system.enableTicketClaimButtons) instance.addComponent(await buttons.getSafe("openticket:claim-ticket").build("unclaim-message",{guild,channel,user,ticket}))
|
|
})
|
|
)
|
|
|
|
//TICKET PINNED
|
|
messages.add(new api.ODMessage("openticket:pin-message"))
|
|
messages.get("openticket:pin-message").workers.add(
|
|
new api.ODWorker("openticket:pin-message",0,async (instance,params,source) => {
|
|
const {guild,channel,user,ticket,reason} = params
|
|
instance.addEmbed(await embeds.getSafe("openticket:pin-message").build(source,{guild,channel,user,ticket,reason}))
|
|
if (generalConfig.data.system.enableTicketPinButtons) instance.addComponent(await buttons.getSafe("openticket:unpin-ticket").build("pin-message",{guild,channel,user,ticket}))
|
|
})
|
|
)
|
|
|
|
//TICKET UNPINNED
|
|
messages.add(new api.ODMessage("openticket:unpin-message"))
|
|
messages.get("openticket:unpin-message").workers.add(
|
|
new api.ODWorker("openticket:unpin-message",0,async (instance,params,source) => {
|
|
const {guild,channel,user,ticket,reason} = params
|
|
instance.addEmbed(await embeds.getSafe("openticket:unpin-message").build(source,{guild,channel,user,ticket,reason}))
|
|
if (generalConfig.data.system.enableTicketPinButtons) instance.addComponent(await buttons.getSafe("openticket:pin-ticket").build("unpin-message",{guild,channel,user,ticket}))
|
|
})
|
|
)
|
|
|
|
//TICKET RENAMED
|
|
messages.add(new api.ODMessage("openticket:rename-message"))
|
|
messages.get("openticket:rename-message").workers.add(
|
|
new api.ODWorker("openticket:rename-message",0,async (instance,params,source) => {
|
|
const {guild,channel,user,ticket,reason,data} = params
|
|
instance.addEmbed(await embeds.getSafe("openticket:rename-message").build(source,{guild,channel,user,ticket,reason,data}))
|
|
})
|
|
)
|
|
|
|
//TICKET MOVED
|
|
messages.add(new api.ODMessage("openticket:move-message"))
|
|
messages.get("openticket:move-message").workers.add(
|
|
new api.ODWorker("openticket:move-message",0,async (instance,params,source) => {
|
|
const {guild,channel,user,ticket,reason,data} = params
|
|
instance.addEmbed(await embeds.getSafe("openticket:move-message").build(source,{guild,channel,user,ticket,reason,data}))
|
|
})
|
|
)
|
|
|
|
//TICKET USER ADDED
|
|
messages.add(new api.ODMessage("openticket:add-message"))
|
|
messages.get("openticket:add-message").workers.add(
|
|
new api.ODWorker("openticket:add-message",0,async (instance,params,source) => {
|
|
const {guild,channel,user,ticket,reason,data} = params
|
|
instance.addEmbed(await embeds.getSafe("openticket:add-message").build(source,{guild,channel,user,ticket,reason,data}))
|
|
})
|
|
)
|
|
|
|
//TICKET USER REMOVED
|
|
messages.add(new api.ODMessage("openticket:remove-message"))
|
|
messages.get("openticket:remove-message").workers.add(
|
|
new api.ODWorker("openticket:remove-message",0,async (instance,params,source) => {
|
|
const {guild,channel,user,ticket,reason,data} = params
|
|
instance.addEmbed(await embeds.getSafe("openticket:remove-message").build(source,{guild,channel,user,ticket,reason,data}))
|
|
})
|
|
)
|
|
|
|
//TICKET ACTION DM
|
|
messages.add(new api.ODMessage("openticket:ticket-action-dm"))
|
|
messages.get("openticket:ticket-action-dm").workers.add(
|
|
new api.ODWorker("openticket:ticket-action-dm",0,async (instance,params,source) => {
|
|
const {guild,channel,user,mode,ticket,reason,additionalData} = params
|
|
instance.addEmbed(await embeds.getSafe("openticket:ticket-action-dm").build(source,{guild,channel,user,mode,ticket,reason,additionalData}))
|
|
})
|
|
)
|
|
|
|
//TICKET ACTION LOGS
|
|
messages.add(new api.ODMessage("openticket:ticket-action-logs"))
|
|
messages.get("openticket:ticket-action-logs").workers.add(
|
|
new api.ODWorker("openticket:ticket-action-logs",0,async (instance,params,source) => {
|
|
const {guild,channel,user,mode,ticket,reason,additionalData} = params
|
|
instance.addEmbed(await embeds.getSafe("openticket:ticket-action-logs").build(source,{guild,channel,user,mode,ticket,reason,additionalData}))
|
|
})
|
|
)
|
|
}
|
|
|
|
const blacklistMessages = () => {
|
|
//BLACKLIST VIEW
|
|
messages.add(new api.ODMessage("openticket:blacklist-view"))
|
|
messages.get("openticket:blacklist-view").workers.add(
|
|
new api.ODWorker("openticket:blacklist-view",0,async (instance,params,source) => {
|
|
const {guild,channel,user} = params
|
|
instance.addEmbed(await embeds.getSafe("openticket:blacklist-view").build(source,{guild,channel,user}))
|
|
})
|
|
)
|
|
|
|
//BLACKLIST GET
|
|
messages.add(new api.ODMessage("openticket:blacklist-get"))
|
|
messages.get("openticket:blacklist-get").workers.add(
|
|
new api.ODWorker("openticket:blacklist-get",0,async (instance,params,source) => {
|
|
const {guild,channel,user,data} = params
|
|
instance.addEmbed(await embeds.getSafe("openticket:blacklist-get").build(source,{guild,channel,user,data}))
|
|
})
|
|
)
|
|
|
|
//BLACKLIST ADD
|
|
messages.add(new api.ODMessage("openticket:blacklist-add"))
|
|
messages.get("openticket:blacklist-add").workers.add(
|
|
new api.ODWorker("openticket:blacklist-add",0,async (instance,params,source) => {
|
|
const {guild,channel,user,data,reason} = params
|
|
instance.addEmbed(await embeds.getSafe("openticket:blacklist-add").build(source,{guild,channel,user,data,reason}))
|
|
})
|
|
)
|
|
|
|
//BLACKLIST REMOVE
|
|
messages.add(new api.ODMessage("openticket:blacklist-remove"))
|
|
messages.get("openticket:blacklist-remove").workers.add(
|
|
new api.ODWorker("openticket:blacklist-remove",0,async (instance,params,source) => {
|
|
const {guild,channel,user,data,reason} = params
|
|
instance.addEmbed(await embeds.getSafe("openticket:blacklist-remove").build(source,{guild,channel,user,data,reason}))
|
|
})
|
|
)
|
|
|
|
//BLACKLIST DM
|
|
messages.add(new api.ODMessage("openticket:blacklist-dm"))
|
|
messages.get("openticket:blacklist-dm").workers.add(
|
|
new api.ODWorker("openticket:blacklist-dm",0,async (instance,params,source) => {
|
|
const {guild,channel,user,mode,data,reason} = params
|
|
instance.addEmbed(await embeds.getSafe("openticket:blacklist-dm").build(source,{guild,channel,user,mode,data,reason}))
|
|
})
|
|
)
|
|
|
|
//BLACKLIST LOGS
|
|
messages.add(new api.ODMessage("openticket:blacklist-logs"))
|
|
messages.get("openticket:blacklist-logs").workers.add(
|
|
new api.ODWorker("openticket:blacklist-logs",0,async (instance,params,source) => {
|
|
const {guild,channel,user,mode,data,reason} = params
|
|
instance.addEmbed(await embeds.getSafe("openticket:blacklist-logs").build(source,{guild,channel,user,mode,data,reason}))
|
|
})
|
|
)
|
|
}
|
|
|
|
const transcriptMessages = () => {
|
|
//TRANSCRIPT TEXT READY
|
|
messages.add(new api.ODMessage("openticket:transcript-text-ready"))
|
|
messages.get("openticket:transcript-text-ready").workers.add(
|
|
new api.ODWorker("openticket:transcript-text-ready",0,async (instance,params,source) => {
|
|
const {guild,channel,user,ticket,compiler,result} = params
|
|
instance.addEmbed(await embeds.getSafe("openticket:transcript-text-ready").build(source,{guild,channel,user,ticket,compiler,result}))
|
|
instance.addFile(await files.getSafe("openticket:text-transcript").build(source,{guild,channel,user,ticket,compiler,result}))
|
|
})
|
|
)
|
|
|
|
//TRANSCRIPT HTML READY
|
|
messages.add(new api.ODMessage("openticket:transcript-html-ready"))
|
|
messages.get("openticket:transcript-html-ready").workers.add(
|
|
new api.ODWorker("openticket:transcript-html-ready",0,async (instance,params,source) => {
|
|
const {guild,channel,user,ticket,compiler,result} = params
|
|
instance.addEmbed(await embeds.getSafe("openticket:transcript-html-ready").build(source,{guild,channel,user,ticket,compiler,result}))
|
|
instance.addComponent(await buttons.getSafe("openticket:transcript-html-visit").build(source,{guild,channel,user,ticket,compiler,result}))
|
|
})
|
|
)
|
|
|
|
//TRANSCRIPT HTML PROGRESS
|
|
messages.add(new api.ODMessage("openticket:transcript-html-progress"))
|
|
messages.get("openticket:transcript-html-progress").workers.add(
|
|
new api.ODWorker("openticket:transcript-html-progress",0,async (instance,params,source) => {
|
|
const {guild,channel,user,ticket,compiler,remaining} = params
|
|
instance.addEmbed(await embeds.getSafe("openticket:transcript-html-progress").build(source,{guild,channel,user,ticket,compiler,remaining}))
|
|
})
|
|
)
|
|
|
|
//TRANSCRIPT ERROR
|
|
messages.add(new api.ODMessage("openticket:transcript-error"))
|
|
messages.get("openticket:transcript-error").workers.add(
|
|
new api.ODWorker("openticket:transcript-error",0,async (instance,params,source) => {
|
|
const {guild,channel,user,ticket,compiler,reason} = params
|
|
instance.addEmbed(await embeds.getSafe("openticket:transcript-error").build(source,{guild,channel,user,ticket,compiler,reason}))
|
|
instance.addComponent(await buttons.getSafe("openticket:transcript-error-retry").build(source,{guild,channel,user,ticket,compiler,reason}))
|
|
instance.addComponent(await buttons.getSafe("openticket:transcript-error-continue").build(source,{guild,channel,user,ticket,compiler,reason}))
|
|
})
|
|
)
|
|
}
|
|
|
|
const roleMessages = () => {
|
|
//REACTION ROLE
|
|
messages.add(new api.ODMessage("openticket:reaction-role"))
|
|
messages.get("openticket:reaction-role").workers.add(
|
|
new api.ODWorker("openticket:reaction-role",0,async (instance,params,source) => {
|
|
const {guild,user,role,result} = params
|
|
instance.addEmbed(await embeds.getSafe("openticket:reaction-role").build(source,{guild,user,role,result}))
|
|
instance.setEphemeral(true)
|
|
})
|
|
)
|
|
}
|
|
|
|
const clearMessages = () => {
|
|
//CLEAR VERIFY MESSAGE
|
|
messages.add(new api.ODMessage("openticket:clear-verify-message"))
|
|
messages.get("openticket:clear-verify-message").workers.add(
|
|
new api.ODWorker("openticket:clear-verify-message",0,async (instance,params,source) => {
|
|
const {guild,channel,user,filter,list} = params
|
|
instance.addEmbed(await embeds.getSafe("openticket:clear-verify-message").build(source,{guild,channel,user,filter,list}))
|
|
instance.addComponent(await buttons.getSafe("openticket:clear-continue").build(source,{guild,channel,user,filter,list}))
|
|
instance.setEphemeral(true)
|
|
})
|
|
)
|
|
|
|
//CLEAR MESSAGE
|
|
messages.add(new api.ODMessage("openticket:clear-message"))
|
|
messages.get("openticket:clear-message").workers.add(
|
|
new api.ODWorker("openticket:clear-message",0,async (instance,params,source) => {
|
|
const {guild,channel,user,filter,list} = params
|
|
instance.addEmbed(await embeds.getSafe("openticket:clear-message").build(source,{guild,channel,user,filter,list}))
|
|
instance.setEphemeral(true)
|
|
})
|
|
)
|
|
|
|
//CLEAR LOGS
|
|
messages.add(new api.ODMessage("openticket:clear-logs"))
|
|
messages.get("openticket:clear-logs").workers.add(
|
|
new api.ODWorker("openticket:clear-logs",0,async (instance,params,source) => {
|
|
const {guild,channel,user,filter,list} = params
|
|
instance.addEmbed(await embeds.getSafe("openticket:clear-logs").build(source,{guild,channel,user,filter,list}))
|
|
})
|
|
)
|
|
}
|
|
|
|
const autoMessages = () => {
|
|
//AUTOCLOSE MESSAGE
|
|
messages.add(new api.ODMessage("openticket:autoclose-message"))
|
|
messages.get("openticket:autoclose-message").workers.add(
|
|
new api.ODWorker("openticket:autoclose-message",0,async (instance,params,source) => {
|
|
const {guild,channel,user,ticket} = params
|
|
instance.addEmbed(await embeds.getSafe("openticket:autoclose-message").build(source,{guild,channel,user,ticket}))
|
|
if (generalConfig.data.system.enableTicketCloseButtons) instance.addComponent(await buttons.getSafe("openticket:reopen-ticket").build("autoclose-message",{guild,channel,user,ticket}))
|
|
if (generalConfig.data.system.enableTicketDeleteButtons) instance.addComponent(await buttons.getSafe("openticket:delete-ticket").build("autoclose-message",{guild,channel,user,ticket}))
|
|
})
|
|
)
|
|
|
|
//AUTODELETE MESSAGE
|
|
messages.add(new api.ODMessage("openticket:autodelete-message"))
|
|
messages.get("openticket:autodelete-message").workers.add(
|
|
new api.ODWorker("openticket:autodelete-message",0,async (instance,params,source) => {
|
|
const {guild,channel,user,ticket} = params
|
|
instance.addEmbed(await embeds.getSafe("openticket:autodelete-message").build(source,{guild,channel,user,ticket}))
|
|
})
|
|
)
|
|
|
|
//AUTOCLOSE ENABLE
|
|
messages.add(new api.ODMessage("openticket:autoclose-enable"))
|
|
messages.get("openticket:autoclose-enable").workers.add(
|
|
new api.ODWorker("openticket:autoclose-enable",0,async (instance,params,source) => {
|
|
const {guild,channel,user,ticket,reason,time} = params
|
|
instance.addEmbed(await embeds.getSafe("openticket:autoclose-enable").build(source,{guild,channel,user,ticket,reason,time}))
|
|
})
|
|
)
|
|
|
|
//AUTODELETE ENABLE
|
|
messages.add(new api.ODMessage("openticket:autodelete-enable"))
|
|
messages.get("openticket:autodelete-enable").workers.add(
|
|
new api.ODWorker("openticket:autodelete-enable",0,async (instance,params,source) => {
|
|
const {guild,channel,user,ticket,reason,time} = params
|
|
instance.addEmbed(await embeds.getSafe("openticket:autodelete-enable").build(source,{guild,channel,user,ticket,reason,time}))
|
|
})
|
|
)
|
|
|
|
//AUTOCLOSE DISABLE
|
|
messages.add(new api.ODMessage("openticket:autoclose-disable"))
|
|
messages.get("openticket:autoclose-disable").workers.add(
|
|
new api.ODWorker("openticket:autoclose-disable",0,async (instance,params,source) => {
|
|
const {guild,channel,user,ticket,reason} = params
|
|
instance.addEmbed(await embeds.getSafe("openticket:autoclose-disable").build(source,{guild,channel,user,ticket,reason}))
|
|
})
|
|
)
|
|
|
|
//AUTODELETE DISABLE
|
|
messages.add(new api.ODMessage("openticket:autodelete-disable"))
|
|
messages.get("openticket:autodelete-disable").workers.add(
|
|
new api.ODWorker("openticket:autodelete-disable",0,async (instance,params,source) => {
|
|
const {guild,channel,user,ticket,reason} = params
|
|
instance.addEmbed(await embeds.getSafe("openticket:autodelete-disable").build(source,{guild,channel,user,ticket,reason}))
|
|
})
|
|
)
|
|
} |