diff --git a/languages/custom.json b/languages/custom.json index 1f9aad5..ce7acda 100644 --- a/languages/custom.json +++ b/languages/custom.json @@ -205,13 +205,13 @@ "transfer":"The ticket ownership has been transferred from {0} to {1} by {2}." }, "modal":{ - "closePlaceholder":"Why did you close this ticket?", - "deletePlaceholder":"Why did you delete this ticket?", - "reopenPlaceholder":"Why did you reopen this ticket?", - "claimPlaceholder":"Why did you claim this ticket?", - "unclaimPlaceholder":"Why did you unclaim this ticket?", - "pinPlaceholder":"Why did you pin this ticket?", - "unpinPlaceholder":"Why did you unpin this ticket?" + "closePlaceholder":"Why would you like to close this ticket?", + "deletePlaceholder":"Why would you like to delete this ticket?", + "reopenPlaceholder":"Why would you like to reopen this ticket?", + "claimPlaceholder":"Why would you like to claim this ticket?", + "unclaimPlaceholder":"Why would you like to unclaim this ticket?", + "pinPlaceholder":"Why would you like to pin this ticket?", + "unpinPlaceholder":"Why would you like to unpin this ticket?" }, "logs":{ "createLog":"A new ticket got created by {0}.", diff --git a/languages/english.json b/languages/english.json index 85d2108..ed96bb2 100644 --- a/languages/english.json +++ b/languages/english.json @@ -205,13 +205,13 @@ "transfer":"The ticket ownership has been transferred from {0} to {1} by {2}." }, "modal":{ - "closePlaceholder":"Why whould you like to close this ticket?", - "deletePlaceholder":"Why whould you like to delete this ticket?", - "reopenPlaceholder":"Why whould you like to reopen this ticket?", - "claimPlaceholder":"Why whould you like to claim this ticket?", - "unclaimPlaceholder":"Why whould you like to unclaim this ticket?", - "pinPlaceholder":"Why whould you like to pin this ticket?", - "unpinPlaceholder":"Why whould you like to unpin this ticket?" + "closePlaceholder":"Why would you like to close this ticket?", + "deletePlaceholder":"Why would you like to delete this ticket?", + "reopenPlaceholder":"Why would you like to reopen this ticket?", + "claimPlaceholder":"Why would you like to claim this ticket?", + "unclaimPlaceholder":"Why would you like to unclaim this ticket?", + "pinPlaceholder":"Why would you like to pin this ticket?", + "unpinPlaceholder":"Why would you like to unpin this ticket?" }, "logs":{ "createLog":"A new ticket got created by {0}.", diff --git a/package.json b/package.json index ab7ab68..cb0e027 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "license": "GPL-3.0-only", "dependencies": { "@discordjs/rest": "^2.6.1", - "@open-discord-bots/framework": "^0.3.15", + "@open-discord-bots/framework": "^0.3.17", "@types/node": "^22.5.0", "@types/terminal-kit": "^2.5.7", "ansis": "^4.2.0", diff --git a/src/builders/buttons.ts b/src/builders/buttons.ts index 64272a8..db6d4ae 100644 --- a/src/builders/buttons.ts +++ b/src/builders/buttons.ts @@ -17,8 +17,11 @@ export async function registerAllButtons(){ 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 == "✅") ? "✅" : "❌" + //TODO TRANSLATION!!! + const defaultLabel = (params.defaultButtonType == "✅") ? "Accept" : "Cancel" + const defaultEmoji = (params.defaultButtonType == "✅") ? "✅" : "❌" + + const label = ("customLabel" in params && params.customLabel) ? params.customLabel : (params.useDefaultLabels ? defaultLabel : null) const emoji = ("customEmoji" in params && params.customEmoji) ? params.customEmoji : defaultEmoji instance.setCustomId("od:verifybar|"+verifybar.id.value+"|"+verifyButtonId) diff --git a/src/components/verifybarModifiers.ts b/src/components/verifybarModifiers.ts index be67f9c..67c9115 100644 --- a/src/components/verifybarModifiers.ts +++ b/src/components/verifybarModifiers.ts @@ -8,13 +8,13 @@ const modifiers = opendiscord.components.modifiers const lang = opendiscord.languages const generalConfig = opendiscord.configs.get("opendiscord:general") -export async function addVerifyButton(instance:api.ODMessageInstance|api.ODComponentFactoryInstance,params:{guild:discord.Guild|null,channel:discord.TextBasedChannel,user:discord.User,verifybar:api.ODVerifyBar},buttonStyle:"✅"|"❌",verifyButtonId:string,customLabel?:string,customColor?:api.ODValidButtonColor,customEmoji?:string){ +export async function addVerifyButton(instance:api.ODMessageInstance|api.ODComponentFactoryInstance,params:{guild:discord.Guild|null,channel:discord.TextBasedChannel,user:discord.User,verifybar:api.ODVerifyBar},defaultButtonType:"✅"|"❌",useDefaultLabels:boolean,verifyButtonId:string,customLabel?:string,customColor?:api.ODValidButtonColor,customEmoji?:string){ const {guild,channel,user,verifybar} = params if (instance instanceof api.ODMessageInstance){ //message builders instance.addComponent(await opendiscord.builders.buttons.getSafe("opendiscord:verifybar-button").build("verifybar",{ guild,channel,user,verifybar, - buttonStyle,customColor,customEmoji,customLabel, + defaultButtonType,useDefaultLabels,customColor,customEmoji,customLabel, verifyButtonId })) }else{ @@ -40,9 +40,9 @@ export async function registerAllVerifyBarModifiers(){ } //cancel, accept or close with reason - await addVerifyButton(instance,params,"❌",api.ODVerifyButtonId.Cancel) - await addVerifyButton(instance,params,"✅",api.ODVerifyButtonId.Accept) - if (generalConfig.data.system.enableTicketActionWithReason) await addVerifyButton(instance,params,"✅",api.ODVerifyButtonId.AcceptWithReason,lang.getTranslation("actions.buttons.withReason"),"blue","✏️") + await addVerifyButton(instance,params,"❌",true,api.ODVerifyButtonId.Cancel) + await addVerifyButton(instance,params,"✅",true,api.ODVerifyButtonId.Accept,lang.getTranslation("actions.buttons.close")) + if (generalConfig.data.system.enableTicketActionWithReason) await addVerifyButton(instance,params,"✅",false,api.ODVerifyButtonId.AcceptWithReason,lang.getTranslation("actions.buttons.withReason"),"blue","✏️") })) //REOPEN TICKET VERIFYBAR @@ -55,9 +55,9 @@ export async function registerAllVerifyBarModifiers(){ } //cancel, accept or reopen with reason - await addVerifyButton(instance,params,"❌",api.ODVerifyButtonId.Cancel) - await addVerifyButton(instance,params,"✅",api.ODVerifyButtonId.Accept) - if (generalConfig.data.system.enableTicketActionWithReason) await addVerifyButton(instance,params,"✅",api.ODVerifyButtonId.AcceptWithReason,lang.getTranslation("actions.buttons.withReason"),"blue","✏️") + await addVerifyButton(instance,params,"❌",true,api.ODVerifyButtonId.Cancel) + await addVerifyButton(instance,params,"✅",true,api.ODVerifyButtonId.Accept,lang.getTranslation("actions.buttons.reopen")) + if (generalConfig.data.system.enableTicketActionWithReason) await addVerifyButton(instance,params,"✅",false,api.ODVerifyButtonId.AcceptWithReason,lang.getTranslation("actions.buttons.withReason"),"blue","✏️") })) //DELETE TICKET VERIFYBAR @@ -70,10 +70,10 @@ export async function registerAllVerifyBarModifiers(){ } //cancel, accept or delete with reason or without transcript - await addVerifyButton(instance,params,"❌",api.ODVerifyButtonId.Cancel) - await addVerifyButton(instance,params,"✅",api.ODVerifyButtonId.Accept) - if (generalConfig.data.system.enableTicketActionWithReason) await addVerifyButton(instance,params,"✅",api.ODVerifyButtonId.AcceptWithReason,lang.getTranslation("actions.buttons.withReason"),"blue","✏️") - if (generalConfig.data.system.enableDeleteWithoutTranscript) await addVerifyButton(instance,params,"✅",api.ODVerifyButtonId.AcceptWithoutTranscript,lang.getTranslation("actions.buttons.withoutTranscript"),"red","📄") + await addVerifyButton(instance,params,"❌",true,api.ODVerifyButtonId.Cancel) + await addVerifyButton(instance,params,"✅",true,api.ODVerifyButtonId.Accept,lang.getTranslation("actions.buttons.delete")) + if (generalConfig.data.system.enableTicketActionWithReason) await addVerifyButton(instance,params,"✅",false,api.ODVerifyButtonId.AcceptWithReason,lang.getTranslation("actions.buttons.withReason"),"blue","✏️") + if (generalConfig.data.system.enableDeleteWithoutTranscript) await addVerifyButton(instance,params,"✅",false,api.ODVerifyButtonId.AcceptWithoutTranscript,lang.getTranslation("actions.buttons.withoutTranscript"),"red","📄") })) //CLAIM TICKET VERIFYBAR @@ -86,9 +86,9 @@ export async function registerAllVerifyBarModifiers(){ } //cancel, accept or claim with reason - await addVerifyButton(instance,params,"❌",api.ODVerifyButtonId.Cancel) - await addVerifyButton(instance,params,"✅",api.ODVerifyButtonId.Accept) - if (generalConfig.data.system.enableTicketActionWithReason) await addVerifyButton(instance,params,"✅",api.ODVerifyButtonId.AcceptWithReason,lang.getTranslation("actions.buttons.withReason"),"blue","✏️") + await addVerifyButton(instance,params,"❌",true,api.ODVerifyButtonId.Cancel) + await addVerifyButton(instance,params,"✅",true,api.ODVerifyButtonId.Accept,lang.getTranslation("actions.buttons.claim")) + if (generalConfig.data.system.enableTicketActionWithReason) await addVerifyButton(instance,params,"✅",false,api.ODVerifyButtonId.AcceptWithReason,lang.getTranslation("actions.buttons.withReason"),"blue","✏️") })) //UNCLAIM TICKET VERIFYBAR @@ -101,9 +101,9 @@ export async function registerAllVerifyBarModifiers(){ } //cancel, accept or unclaim with reason - await addVerifyButton(instance,params,"❌",api.ODVerifyButtonId.Cancel) - await addVerifyButton(instance,params,"✅",api.ODVerifyButtonId.Accept) - if (generalConfig.data.system.enableTicketActionWithReason) await addVerifyButton(instance,params,"✅",api.ODVerifyButtonId.AcceptWithReason,lang.getTranslation("actions.buttons.withReason"),"blue","✏️") + await addVerifyButton(instance,params,"❌",true,api.ODVerifyButtonId.Cancel) + await addVerifyButton(instance,params,"✅",true,api.ODVerifyButtonId.Accept,lang.getTranslation("actions.buttons.unclaim")) + if (generalConfig.data.system.enableTicketActionWithReason) await addVerifyButton(instance,params,"✅",false,api.ODVerifyButtonId.AcceptWithReason,lang.getTranslation("actions.buttons.withReason"),"blue","✏️") })) //PIN TICKET VERIFYBAR @@ -116,9 +116,9 @@ export async function registerAllVerifyBarModifiers(){ } //cancel, accept or pin with reason - await addVerifyButton(instance,params,"❌",api.ODVerifyButtonId.Cancel) - await addVerifyButton(instance,params,"✅",api.ODVerifyButtonId.Accept) - if (generalConfig.data.system.enableTicketActionWithReason) await addVerifyButton(instance,params,"✅",api.ODVerifyButtonId.AcceptWithReason,lang.getTranslation("actions.buttons.withReason"),"blue","✏️") + await addVerifyButton(instance,params,"❌",true,api.ODVerifyButtonId.Cancel) + await addVerifyButton(instance,params,"✅",true,api.ODVerifyButtonId.Accept,lang.getTranslation("actions.buttons.pin")) + if (generalConfig.data.system.enableTicketActionWithReason) await addVerifyButton(instance,params,"✅",false,api.ODVerifyButtonId.AcceptWithReason,lang.getTranslation("actions.buttons.withReason"),"blue","✏️") })) //UNPIN TICKET VERIFYBAR @@ -131,8 +131,8 @@ export async function registerAllVerifyBarModifiers(){ } //cancel, accept or unpin with reason - await addVerifyButton(instance,params,"❌",api.ODVerifyButtonId.Cancel) - await addVerifyButton(instance,params,"✅",api.ODVerifyButtonId.Accept) - if (generalConfig.data.system.enableTicketActionWithReason) await addVerifyButton(instance,params,"✅",api.ODVerifyButtonId.AcceptWithReason,lang.getTranslation("actions.buttons.withReason"),"blue","✏️") + await addVerifyButton(instance,params,"❌",true,api.ODVerifyButtonId.Cancel) + await addVerifyButton(instance,params,"✅",true,api.ODVerifyButtonId.Accept,lang.getTranslation("actions.buttons.unpin")) + if (generalConfig.data.system.enableTicketActionWithReason) await addVerifyButton(instance,params,"✅",false,api.ODVerifyButtonId.AcceptWithReason,lang.getTranslation("actions.buttons.withReason"),"blue","✏️") })) } \ No newline at end of file diff --git a/src/core/mappings/builder.ts b/src/core/mappings/builder.ts index 7905161..7ad2d97 100644 --- a/src/core/mappings/builder.ts +++ b/src/core/mappings/builder.ts @@ -16,7 +16,7 @@ import * as discord from "discord.js" * It's used to generate typescript declarations for this class. */ export interface ODButtonManagerIdMappings extends api.ODButtonManagerIdConstraint { - "opendiscord:verifybar-button":{origin:"verifybar"|"other",params:{guild:discord.Guild|null,channel:discord.TextBasedChannel,user:discord.User,verifybar:api.ODVerifyBar,verifyButtonId:string,buttonStyle:"✅"|"❌",customLabel?:string,customColor?:api.ODValidButtonColor,customEmoji?:string},workers:"opendiscord:verifybar-button"}, + "opendiscord:verifybar-button":{origin:"verifybar"|"other",params:{guild:discord.Guild|null,channel:discord.TextBasedChannel,user:discord.User,verifybar:api.ODVerifyBar,verifyButtonId:string,defaultButtonType:"✅"|"❌",useDefaultLabels:boolean,customLabel?:string,customColor?:api.ODValidButtonColor,customEmoji?:string},workers:"opendiscord:verifybar-button"}, "opendiscord:error-ticket-deprecated-transcript":{origin:"slash"|"text"|"button"|"dropdown"|"modal"|"other",params:{},workers:"opendiscord:error-ticket-deprecated-transcript"},