Finished Message States & Overhauled Verifybars

This commit is contained in:
DJj123dj
2026-05-14 21:39:50 +02:00
parent 67f4417ee6
commit 1a530aae4c
30 changed files with 1917 additions and 2549 deletions
+30 -54
View File
@@ -8,8 +8,27 @@ const buttons = opendiscord.builders.buttons
const lang = opendiscord.languages
const generalConfig = opendiscord.configs.get("opendiscord:general")
export const registerAllButtons = async () => {
verifybarButtons()
export async function registerAllButtons(){
//VERIFYBAR BUTTON
buttons.add(new api.ODButton("opendiscord:verifybar-button"))
buttons.get("opendiscord:verifybar-button").workers.add(
new api.ODWorker("opendiscord:verifybar-button",0,async (instance,params) => {
const {verifybar,verifyButtonId} = params
if (params.verifyButtonId.length > 40) throw new api.ODSystemError("ODButton:opendiscord:verifybar-button => verifyButtonId '"+verifyButtonId+"' exceeds 40 characters limit!")
const color = ("customColor" in params && params.customColor) ? params.customColor : "gray"
const label = ("customLabel" in params && params.customLabel) ? params.customLabel : null
const defaultEmoji = ("buttonStyle" in params && params.buttonStyle && params.buttonStyle == "✅") ? "✅" : "❌"
const emoji = ("customEmoji" in params && params.customEmoji) ? params.customEmoji : defaultEmoji
instance.setCustomId("od:verifybar|"+verifybar.id.value+"|"+verifyButtonId)
instance.setMode("button")
instance.setColor(color)
if (label) instance.setLabel(label)
if (emoji) instance.setEmoji(emoji)
})
)
errorButtons()
helpMenuButtons()
panelButtons()
@@ -18,50 +37,6 @@ export const registerAllButtons = async () => {
clearButtons()
}
const verifybarButtons = () => {
//VERIFYBAR SUCCESS
buttons.add(new api.ODButton("opendiscord:verifybar-success"))
buttons.get("opendiscord:verifybar-success").workers.add(
new api.ODWorker("opendiscord:verifybar-success",0,async (instance,params) => {
const {verifybar,customData,customColor,customLabel,customEmoji} = params
if (customData && customData.length > 40) throw new api.ODSystemError("ODButton:opendiscord:verifybar-success => customData exceeds 40 characters limit!")
const newData = (customData) ? "_"+customData : ""
const newColor = customColor ?? "gray"
const newLabel = customLabel ?? ""
const newEmoji = customEmoji ?? "✅"
instance.setCustomId("od:verifybar-success_"+verifybar.id.value+newData)
instance.setMode("button")
instance.setColor(newColor)
if (newLabel) instance.setLabel(newLabel)
if (newEmoji) instance.setEmoji(newEmoji)
})
)
//VERIFYBAR FAILURE
buttons.add(new api.ODButton("opendiscord:verifybar-failure"))
buttons.get("opendiscord:verifybar-failure").workers.add(
new api.ODWorker("opendiscord:verifybar-failure",0,async (instance,params) => {
const {verifybar,customData,customColor,customLabel,customEmoji} = params
if (customData && customData.length > 40) throw new api.ODSystemError("ODButton:opendiscord:verifybar-success => customData exceeds 40 characters limit!")
const newData = (customData) ? "_"+customData : ""
const newColor = customColor ?? "gray"
const newLabel = customLabel ?? ""
const newEmoji = customEmoji ?? "❌"
instance.setCustomId("od:verifybar-failure_"+verifybar.id.value+newData)
instance.setMode("button")
instance.setColor(newColor)
if (newLabel) instance.setLabel(newLabel)
if (newEmoji) instance.setEmoji(newEmoji)
})
)
}
const errorButtons = () => {
//ERROR TICKET DEPRECATED TRANSCRIPT
buttons.add(new api.ODButton("opendiscord:error-ticket-deprecated-transcript"))
@@ -205,7 +180,7 @@ const ticketButtons = () => {
const {guild,channel,ticket} = params
instance.setMode("button")
instance.setCustomId("od:close-ticket_"+origin)
instance.setCustomId("od:close-ticket")
instance.setColor("gray")
instance.setEmoji("🔒")
instance.setLabel(lang.getTranslation("actions.buttons.close"))
@@ -219,7 +194,7 @@ const ticketButtons = () => {
const {guild,channel,ticket} = params
instance.setMode("button")
instance.setCustomId("od:delete-ticket_"+origin)
instance.setCustomId("od:delete-ticket")
instance.setColor("red")
instance.setEmoji("✖")
instance.setLabel(lang.getTranslation("actions.buttons.delete"))
@@ -233,7 +208,7 @@ const ticketButtons = () => {
const {guild,channel,ticket} = params
instance.setMode("button")
instance.setCustomId("od:reopen-ticket_"+origin)
instance.setCustomId("od:reopen-ticket")
instance.setColor("green")
instance.setEmoji("🔓")
instance.setLabel(lang.getTranslation("actions.buttons.reopen"))
@@ -247,7 +222,7 @@ const ticketButtons = () => {
const {guild,channel,ticket} = params
instance.setMode("button")
instance.setCustomId("od:claim-ticket_"+origin)
instance.setCustomId("od:claim-ticket")
instance.setColor("green")
instance.setEmoji("👋")
instance.setLabel(lang.getTranslation("actions.buttons.claim"))
@@ -261,7 +236,7 @@ const ticketButtons = () => {
const {guild,channel,ticket} = params
instance.setMode("button")
instance.setCustomId("od:unclaim-ticket_"+origin)
instance.setCustomId("od:unclaim-ticket")
instance.setColor("green")
instance.setEmoji("↩️")
instance.setLabel(lang.getTranslation("actions.buttons.unclaim"))
@@ -275,7 +250,7 @@ const ticketButtons = () => {
const {guild,channel,ticket} = params
instance.setMode("button")
instance.setCustomId("od:pin-ticket_"+origin)
instance.setCustomId("od:pin-ticket")
instance.setColor("gray")
instance.setEmoji(generalConfig.data.system.pinEmoji)
instance.setLabel(lang.getTranslation("actions.buttons.pin"))
@@ -289,7 +264,7 @@ const ticketButtons = () => {
const {guild,channel,ticket} = params
instance.setMode("button")
instance.setCustomId("od:unpin-ticket_"+origin)
instance.setCustomId("od:unpin-ticket")
instance.setColor("gray")
instance.setEmoji(generalConfig.data.system.pinEmoji)
instance.setLabel(lang.getTranslation("actions.buttons.unpin"))
@@ -342,10 +317,11 @@ const clearButtons = () => {
buttons.get("opendiscord:clear-continue").workers.add(
new api.ODWorker("opendiscord:clear-continue",0,async (instance,params,origin) => {
instance.setMode("button")
instance.setCustomId("od:clear-continue_"+origin+"_"+params.filter)
instance.setCustomId("od:clear-continue")
instance.setColor("red")
instance.setEmoji("✖")
instance.setLabel(lang.getTranslation("actions.buttons.clear"))
instance.setDisabled(params.inProgress)
})
)
}
+3 -305
View File
@@ -13,7 +13,6 @@ const lang = opendiscord.languages
const generalConfig = opendiscord.configs.get("opendiscord:general")
export async function registerAllMessages(){
verifyBarMessages()
errorMessages()
helpMenuMessages()
statsMessages()
@@ -27,307 +26,6 @@ export async function registerAllMessages(){
extraMessages()
}
const verifyBarMessages = () => {
//VERIFYBAR TICKET MESSAGE
messages.add(new api.ODMessage("opendiscord:verifybar-ticket-message"))
messages.get("opendiscord:verifybar-ticket-message").workers.add(
new api.ODWorker("opendiscord:verifybar-ticket-message",0,async (instance,params,origin) => {
const {guild,channel,user,verifybar} = params
if (!guild){
instance.setContent("ODError: Not In Guild => `opendiscord:verifybar-ticket-message`")
return
}
const ticket = opendiscord.tickets.get(channel.id)
if (!ticket){
instance.setContent("ODError: Unknown Ticket => `opendiscord:verifybar-ticket-message`")
return
}
const option = ticket.option
//add pings
const pingOptions = option.get("opendiscord:ticket-message-ping").value
const pings: string[] = []
const creator = ticket.get("opendiscord: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("opendiscord:ticket-message-text").value
if (text !== "") instance.setContent(pingText+text)
else instance.setContent(pingText)
//add embed
if (option.get("opendiscord:ticket-message-embed").value.enabled) instance.addEmbed(await embeds.getSafe("opendiscord:ticket-message").build("other",{guild,channel,user,ticket}))
//add verifybar components
if (verifybar.id.value == "opendiscord:claim-ticket-ticket-message"){
instance.addComponent(await buttons.getSafe("opendiscord:verifybar-success").build("verifybar",{guild,channel,user,verifybar}))
instance.addComponent(await buttons.getSafe("opendiscord:verifybar-failure").build("verifybar",{guild,channel,user,verifybar}))
if (generalConfig.data.system.enableTicketActionWithReason) instance.addComponent(await buttons.getSafe("opendiscord:verifybar-success").build("verifybar",{guild,channel,user,verifybar,customData:"reason",customEmoji:"✏️",customLabel:lang.getTranslation("actions.buttons.withReason"),customColor:"blue"}))
}else if (verifybar.id.value == "opendiscord:unclaim-ticket-ticket-message"){
instance.addComponent(await buttons.getSafe("opendiscord:verifybar-success").build("verifybar",{guild,channel,user,verifybar}))
instance.addComponent(await buttons.getSafe("opendiscord:verifybar-failure").build("verifybar",{guild,channel,user,verifybar}))
if (generalConfig.data.system.enableTicketActionWithReason) instance.addComponent(await buttons.getSafe("opendiscord:verifybar-success").build("verifybar",{guild,channel,user,verifybar,customData:"reason",customEmoji:"✏️",customLabel:lang.getTranslation("actions.buttons.withReason"),customColor:"blue"}))
}else if (verifybar.id.value == "opendiscord:pin-ticket-ticket-message"){
instance.addComponent(await buttons.getSafe("opendiscord:verifybar-success").build("verifybar",{guild,channel,user,verifybar}))
instance.addComponent(await buttons.getSafe("opendiscord:verifybar-failure").build("verifybar",{guild,channel,user,verifybar}))
if (generalConfig.data.system.enableTicketActionWithReason) instance.addComponent(await buttons.getSafe("opendiscord:verifybar-success").build("verifybar",{guild,channel,user,verifybar,customData:"reason",customEmoji:"✏️",customLabel:lang.getTranslation("actions.buttons.withReason"),customColor:"blue"}))
}else if (verifybar.id.value == "opendiscord:unpin-ticket-ticket-message"){
instance.addComponent(await buttons.getSafe("opendiscord:verifybar-success").build("verifybar",{guild,channel,user,verifybar}))
instance.addComponent(await buttons.getSafe("opendiscord:verifybar-failure").build("verifybar",{guild,channel,user,verifybar}))
if (generalConfig.data.system.enableTicketActionWithReason) instance.addComponent(await buttons.getSafe("opendiscord:verifybar-success").build("verifybar",{guild,channel,user,verifybar,customData:"reason",customEmoji:"✏️",customLabel:lang.getTranslation("actions.buttons.withReason"),customColor:"blue"}))
}else if (verifybar.id.value == "opendiscord:close-ticket-ticket-message"){
instance.addComponent(await buttons.getSafe("opendiscord:verifybar-success").build("verifybar",{guild,channel,user,verifybar}))
instance.addComponent(await buttons.getSafe("opendiscord:verifybar-failure").build("verifybar",{guild,channel,user,verifybar}))
if (generalConfig.data.system.enableTicketActionWithReason) instance.addComponent(await buttons.getSafe("opendiscord:verifybar-success").build("verifybar",{guild,channel,user,verifybar,customData:"reason",customEmoji:"✏️",customLabel:lang.getTranslation("actions.buttons.withReason"),customColor:"blue"}))
}else if (verifybar.id.value == "opendiscord:reopen-ticket-ticket-message"){
instance.addComponent(await buttons.getSafe("opendiscord:verifybar-success").build("verifybar",{guild,channel,user,verifybar}))
instance.addComponent(await buttons.getSafe("opendiscord:verifybar-failure").build("verifybar",{guild,channel,user,verifybar}))
if (generalConfig.data.system.enableTicketActionWithReason) instance.addComponent(await buttons.getSafe("opendiscord:verifybar-success").build("verifybar",{guild,channel,user,verifybar,customData:"reason",customEmoji:"✏️",customLabel:lang.getTranslation("actions.buttons.withReason"),customColor:"blue"}))
}else if (verifybar.id.value == "opendiscord:delete-ticket-ticket-message"){
instance.addComponent(await buttons.getSafe("opendiscord:verifybar-success").build("verifybar",{guild,channel,user,verifybar}))
instance.addComponent(await buttons.getSafe("opendiscord:verifybar-failure").build("verifybar",{guild,channel,user,verifybar}))
if (generalConfig.data.system.enableTicketActionWithReason) instance.addComponent(await buttons.getSafe("opendiscord: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("opendiscord: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("opendiscord:verifybar-close-message"))
messages.get("opendiscord:verifybar-close-message").workers.add(
new api.ODWorker("opendiscord:verifybar-close-message",0,async (instance,params,origin) => {
const {guild,channel,user,verifybar,originalMessage} = params
if (!guild){
instance.setContent("ODError: Not In Guild => `opendiscord:verifybar-close-message`")
return
}
const ticket = opendiscord.tickets.get(channel.id)
if (!ticket){
instance.setContent("ODError: Unknown Ticket => `opendiscord: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("opendiscord:close-message").build("other",{guild,channel,user,ticket,reason}))
//add verifybar components
if (verifybar.id.value == "opendiscord:reopen-ticket-close-message"){
instance.addComponent(await buttons.getSafe("opendiscord:verifybar-success").build("verifybar",{guild,channel,user,verifybar}))
instance.addComponent(await buttons.getSafe("opendiscord:verifybar-failure").build("verifybar",{guild,channel,user,verifybar}))
if (generalConfig.data.system.enableTicketActionWithReason) instance.addComponent(await buttons.getSafe("opendiscord:verifybar-success").build("verifybar",{guild,channel,user,verifybar,customData:"reason",customEmoji:"✏️",customLabel:lang.getTranslation("actions.buttons.withReason"),customColor:"blue"}))
}else if (verifybar.id.value == "opendiscord:delete-ticket-close-message"){
instance.addComponent(await buttons.getSafe("opendiscord:verifybar-success").build("verifybar",{guild,channel,user,verifybar}))
instance.addComponent(await buttons.getSafe("opendiscord:verifybar-failure").build("verifybar",{guild,channel,user,verifybar}))
if (generalConfig.data.system.enableTicketActionWithReason) instance.addComponent(await buttons.getSafe("opendiscord: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("opendiscord: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("opendiscord:verifybar-reopen-message"))
messages.get("opendiscord:verifybar-reopen-message").workers.add(
new api.ODWorker("opendiscord:verifybar-reopen-message",0,async (instance,params,origin) => {
const {guild,channel,user,verifybar,originalMessage} = params
if (!guild){
instance.setContent("ODError: Not In Guild => `opendiscord:verifybar-reopen-message`")
return
}
const ticket = opendiscord.tickets.get(channel.id)
if (!ticket){
instance.setContent("ODError: Unknown Ticket => `opendiscord: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("opendiscord:reopen-message").build("other",{guild,channel,user,ticket,reason}))
//add verifybar components
if (verifybar.id.value == "opendiscord:close-ticket-reopen-message"){
instance.addComponent(await buttons.getSafe("opendiscord:verifybar-success").build("verifybar",{guild,channel,user,verifybar}))
instance.addComponent(await buttons.getSafe("opendiscord:verifybar-failure").build("verifybar",{guild,channel,user,verifybar}))
if (generalConfig.data.system.enableTicketActionWithReason) instance.addComponent(await buttons.getSafe("opendiscord:verifybar-success").build("verifybar",{guild,channel,user,verifybar,customData:"reason",customEmoji:"✏️",customLabel:lang.getTranslation("actions.buttons.withReason"),customColor:"blue"}))
}else if (verifybar.id.value == "opendiscord:delete-ticket-reopen-message"){
instance.addComponent(await buttons.getSafe("opendiscord:verifybar-success").build("verifybar",{guild,channel,user,verifybar}))
instance.addComponent(await buttons.getSafe("opendiscord:verifybar-failure").build("verifybar",{guild,channel,user,verifybar}))
if (generalConfig.data.system.enableTicketActionWithReason) instance.addComponent(await buttons.getSafe("opendiscord: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("opendiscord: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("opendiscord:verifybar-claim-message"))
messages.get("opendiscord:verifybar-claim-message").workers.add(
new api.ODWorker("opendiscord:verifybar-claim-message",0,async (instance,params,origin) => {
const {guild,channel,user,verifybar,originalMessage} = params
if (!guild){
instance.setContent("ODError: Not In Guild => `opendiscord:verifybar-claim-message`")
return
}
const ticket = opendiscord.tickets.get(channel.id)
if (!ticket){
instance.setContent("ODError: Unknown Ticket => `opendiscord: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("opendiscord:claim-message").build("other",{guild,channel,user,ticket,reason}))
//add verifybar components
if (verifybar.id.value == "opendiscord:unclaim-ticket-claim-message"){
instance.addComponent(await buttons.getSafe("opendiscord:verifybar-success").build("verifybar",{guild,channel,user,verifybar}))
instance.addComponent(await buttons.getSafe("opendiscord:verifybar-failure").build("verifybar",{guild,channel,user,verifybar}))
if (generalConfig.data.system.enableTicketActionWithReason) instance.addComponent(await buttons.getSafe("opendiscord: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("opendiscord:verifybar-unclaim-message"))
messages.get("opendiscord:verifybar-unclaim-message").workers.add(
new api.ODWorker("opendiscord:verifybar-unclaim-message",0,async (instance,params,origin) => {
const {guild,channel,user,verifybar,originalMessage} = params
if (!guild){
instance.setContent("ODError: Not In Guild => `opendiscord:verifybar-unclaim-message`")
return
}
const ticket = opendiscord.tickets.get(channel.id)
if (!ticket){
instance.setContent("ODError: Unknown Ticket => `opendiscord: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("opendiscord:unclaim-message").build("other",{guild,channel,user,ticket,reason}))
//add verifybar components
if (verifybar.id.value == "opendiscord:claim-ticket-unclaim-message"){
instance.addComponent(await buttons.getSafe("opendiscord:verifybar-success").build("verifybar",{guild,channel,user,verifybar}))
instance.addComponent(await buttons.getSafe("opendiscord:verifybar-failure").build("verifybar",{guild,channel,user,verifybar}))
if (generalConfig.data.system.enableTicketActionWithReason) instance.addComponent(await buttons.getSafe("opendiscord: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("opendiscord:verifybar-pin-message"))
messages.get("opendiscord:verifybar-pin-message").workers.add(
new api.ODWorker("opendiscord:verifybar-pin-message",0,async (instance,params,origin) => {
const {guild,channel,user,verifybar,originalMessage} = params
if (!guild){
instance.setContent("ODError: Not In Guild => `opendiscord:verifybar-pin-message`")
return
}
const ticket = opendiscord.tickets.get(channel.id)
if (!ticket){
instance.setContent("ODError: Unknown Ticket => `opendiscord: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("opendiscord:pin-message").build("other",{guild,channel,user,ticket,reason}))
//add verifybar components
if (verifybar.id.value == "opendiscord:unpin-ticket-pin-message"){
instance.addComponent(await buttons.getSafe("opendiscord:verifybar-success").build("verifybar",{guild,channel,user,verifybar}))
instance.addComponent(await buttons.getSafe("opendiscord:verifybar-failure").build("verifybar",{guild,channel,user,verifybar}))
if (generalConfig.data.system.enableTicketActionWithReason) instance.addComponent(await buttons.getSafe("opendiscord: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("opendiscord:verifybar-unpin-message"))
messages.get("opendiscord:verifybar-unpin-message").workers.add(
new api.ODWorker("opendiscord:verifybar-unpin-message",0,async (instance,params,origin) => {
const {guild,channel,user,verifybar,originalMessage} = params
if (!guild){
instance.setContent("ODError: Not In Guild => `opendiscord:verifybar-unpin-message`")
return
}
const ticket = opendiscord.tickets.get(channel.id)
if (!ticket){
instance.setContent("ODError: Unknown Ticket => `opendiscord: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("opendiscord:unpin-message").build("other",{guild,channel,user,ticket,reason}))
//add verifybar components
if (verifybar.id.value == "opendiscord:pin-ticket-unpin-message"){
instance.addComponent(await buttons.getSafe("opendiscord:verifybar-success").build("verifybar",{guild,channel,user,verifybar}))
instance.addComponent(await buttons.getSafe("opendiscord:verifybar-failure").build("verifybar",{guild,channel,user,verifybar}))
if (generalConfig.data.system.enableTicketActionWithReason) instance.addComponent(await buttons.getSafe("opendiscord: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("opendiscord:verifybar-autoclose-message"))
messages.get("opendiscord:verifybar-autoclose-message").workers.add(
new api.ODWorker("opendiscord:verifybar-autoclose-message",0,async (instance,params,origin) => {
const {guild,channel,user,verifybar,originalMessage} = params
if (!guild || channel.isDMBased()){
instance.setContent("ODError: Not In Guild => `opendiscord:verifybar-autoclose-message`")
return
}
const ticket = opendiscord.tickets.get(channel.id)
if (!ticket){
instance.setContent("ODError: Unknown Ticket => `opendiscord:verifybar-autoclose-message`")
return
}
//add embed
instance.addEmbed(await embeds.getSafe("opendiscord:autoclose-message").build("other",{guild,channel,user,ticket}))
//add verifybar components
if (verifybar.id.value == "opendiscord:reopen-ticket-autoclose-message"){
instance.addComponent(await buttons.getSafe("opendiscord:verifybar-success").build("verifybar",{guild,channel,user,verifybar}))
instance.addComponent(await buttons.getSafe("opendiscord:verifybar-failure").build("verifybar",{guild,channel,user,verifybar}))
if (generalConfig.data.system.enableTicketActionWithReason) instance.addComponent(await buttons.getSafe("opendiscord:verifybar-success").build("verifybar",{guild,channel,user,verifybar,customData:"reason",customEmoji:"✏️",customLabel:lang.getTranslation("actions.buttons.withReason"),customColor:"blue"}))
}else if (verifybar.id.value == "opendiscord:delete-ticket-autoclose-message"){
instance.addComponent(await buttons.getSafe("opendiscord:verifybar-success").build("verifybar",{guild,channel,user,verifybar}))
instance.addComponent(await buttons.getSafe("opendiscord:verifybar-failure").build("verifybar",{guild,channel,user,verifybar}))
if (generalConfig.data.system.enableTicketActionWithReason) instance.addComponent(await buttons.getSafe("opendiscord: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("opendiscord: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("opendiscord:error"))
@@ -990,9 +688,9 @@ const clearMessages = () => {
messages.add(new api.ODMessage("opendiscord:clear-verify-message"))
messages.get("opendiscord:clear-verify-message").workers.add(
new api.ODWorker("opendiscord:clear-verify-message",0,async (instance,params,origin) => {
const {guild,channel,user,filter,list} = params
instance.addEmbed(await embeds.getSafe("opendiscord:clear-verify-message").build(origin,{guild,channel,user,filter,list}))
instance.addComponent(await buttons.getSafe("opendiscord:clear-continue").build(origin,{guild,channel,user,filter,list}))
const {guild,channel,user,filter,list,inProgress} = params
instance.addEmbed(await embeds.getSafe("opendiscord:clear-verify-message").build(origin,{guild,channel,user,filter,list,inProgress}))
instance.addComponent(await buttons.getSafe("opendiscord:clear-continue").build(origin,{guild,channel,user,filter,list,inProgress}))
instance.setEphemeral(true)
})
)
+14 -14
View File
@@ -49,9 +49,9 @@ const ticketModals = () => {
modals.add(new api.ODModal("opendiscord:close-ticket-reason"))
modals.get("opendiscord:close-ticket-reason").workers.add(
new api.ODWorker("opendiscord:close-ticket-reason",0,async (instance,params,origin) => {
const {ticket} = params
const {channel,message} = params
instance.setCustomId("od:close-ticket-reason_"+ticket.id.value+"_"+origin)
instance.setCustomId("od:close-ticket-reason|"+channel.id+"|"+message.id)
instance.setTitle(lang.getTranslation("actions.buttons.close"))
instance.addQuestion({
customId:"reason",
@@ -67,9 +67,9 @@ const ticketModals = () => {
modals.add(new api.ODModal("opendiscord:reopen-ticket-reason"))
modals.get("opendiscord:reopen-ticket-reason").workers.add(
new api.ODWorker("opendiscord:reopen-ticket-reason",0,async (instance,params,origin) => {
const {ticket} = params
const {channel,message} = params
instance.setCustomId("od:reopen-ticket-reason_"+ticket.id.value+"_"+origin)
instance.setCustomId("od:reopen-ticket-reason|"+channel.id+"|"+message.id)
instance.setTitle(lang.getTranslation("actions.buttons.reopen"))
instance.addQuestion({
customId:"reason",
@@ -85,9 +85,9 @@ const ticketModals = () => {
modals.add(new api.ODModal("opendiscord:delete-ticket-reason"))
modals.get("opendiscord:delete-ticket-reason").workers.add(
new api.ODWorker("opendiscord:delete-ticket-reason",0,async (instance,params,origin) => {
const {ticket} = params
const {channel,message} = params
instance.setCustomId("od:delete-ticket-reason_"+ticket.id.value+"_"+origin)
instance.setCustomId("od:delete-ticket-reason|"+channel.id+"|"+message.id)
instance.setTitle(lang.getTranslation("actions.buttons.delete"))
instance.addQuestion({
customId:"reason",
@@ -103,9 +103,9 @@ const ticketModals = () => {
modals.add(new api.ODModal("opendiscord:claim-ticket-reason"))
modals.get("opendiscord:claim-ticket-reason").workers.add(
new api.ODWorker("opendiscord:claim-ticket-reason",0,async (instance,params,origin) => {
const {ticket} = params
const {channel,message} = params
instance.setCustomId("od:claim-ticket-reason_"+ticket.id.value+"_"+origin)
instance.setCustomId("od:claim-ticket-reason|"+channel.id+"|"+message.id)
instance.setTitle(lang.getTranslation("actions.buttons.claim"))
instance.addQuestion({
customId:"reason",
@@ -121,9 +121,9 @@ const ticketModals = () => {
modals.add(new api.ODModal("opendiscord:unclaim-ticket-reason"))
modals.get("opendiscord:unclaim-ticket-reason").workers.add(
new api.ODWorker("opendiscord:unclaim-ticket-reason",0,async (instance,params,origin) => {
const {ticket} = params
const {channel,message} = params
instance.setCustomId("od:unclaim-ticket-reason_"+ticket.id.value+"_"+origin)
instance.setCustomId("od:unclaim-ticket-reason|"+channel.id+"|"+message.id)
instance.setTitle(lang.getTranslation("actions.buttons.unclaim"))
instance.addQuestion({
customId:"reason",
@@ -139,9 +139,9 @@ const ticketModals = () => {
modals.add(new api.ODModal("opendiscord:pin-ticket-reason"))
modals.get("opendiscord:pin-ticket-reason").workers.add(
new api.ODWorker("opendiscord:pin-ticket-reason",0,async (instance,params,origin) => {
const {ticket} = params
const {channel,message} = params
instance.setCustomId("od:pin-ticket-reason_"+ticket.id.value+"_"+origin)
instance.setCustomId("od:pin-ticket-reason|"+channel.id+"|"+message.id)
instance.setTitle(lang.getTranslation("actions.buttons.pin"))
instance.addQuestion({
customId:"reason",
@@ -157,9 +157,9 @@ const ticketModals = () => {
modals.add(new api.ODModal("opendiscord:unpin-ticket-reason"))
modals.get("opendiscord:unpin-ticket-reason").workers.add(
new api.ODWorker("opendiscord:unpin-ticket-reason",0,async (instance,params,origin) => {
const {ticket} = params
const {channel,message} = params
instance.setCustomId("od:unpin-ticket-reason_"+ticket.id.value+"_"+origin)
instance.setCustomId("od:unpin-ticket-reason|"+channel.id+"|"+message.id)
instance.setTitle(lang.getTranslation("actions.buttons.unpin"))
instance.addQuestion({
customId:"reason",