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
+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)
})
)