diff --git a/src/actions/handleTranscriptErrors.ts b/src/actions/handleTranscriptErrors.ts index 5c83ab1..bc0cf9a 100644 --- a/src/actions/handleTranscriptErrors.ts +++ b/src/actions/handleTranscriptErrors.ts @@ -44,8 +44,7 @@ export const registerButtonResponders = async () => { }), new api.ODWorker("opendiscord:delete-ticket",0,async (instance,params,source,cancel) => { const {guild,channel,user} = instance - const originalSource = instance.interaction.customId.split("_")[1] - if (originalSource != "slash" && originalSource != "text" && originalSource != "ticket-message" && originalSource != "reopen-message" && originalSource != "close-message" && originalSource != "other") return + const originalSource = instance.interaction.customId.split("_")[1] as api.ODActionManagerIds_Default["opendiscord:delete-ticket"]["source"] if (!guild){ instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user})) @@ -122,8 +121,7 @@ export const registerButtonResponders = async () => { }), new api.ODWorker("opendiscord:delete-ticket",0,async (instance,params,source,cancel) => { const {guild,channel,user} = instance - const originalSource = instance.interaction.customId.split("_")[1] - if (originalSource != "slash" && originalSource != "text" && originalSource != "ticket-message" && originalSource != "reopen-message" && originalSource != "close-message" && originalSource != "other") return + const originalSource = instance.interaction.customId.split("_")[1] as api.ODActionManagerIds_Default["opendiscord:delete-ticket"]["source"] if (!guild){ instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user})) diff --git a/src/commands/claim.ts b/src/commands/claim.ts index 50981e1..d47aedb 100644 --- a/src/commands/claim.ts +++ b/src/commands/claim.ts @@ -89,11 +89,11 @@ export const registerButtonResponders = async () => { opendiscord.responders.buttons.add(new api.ODButtonResponder("opendiscord:claim-ticket",/^od:claim-ticket/)) opendiscord.responders.buttons.get("opendiscord:claim-ticket").workers.add( new api.ODWorker("opendiscord:claim-ticket",0,async (instance,params,source,cancel) => { - const originalSource = instance.interaction.customId.split("_")[1] - if (originalSource != "ticket-message" && originalSource != "unclaim-message") return + const originalSource = instance.interaction.customId.split("_")[1] as Exclude if (originalSource == "ticket-message") await opendiscord.verifybars.get("opendiscord:claim-ticket-ticket-message").activate(instance) - else await opendiscord.verifybars.get("opendiscord:claim-ticket-unclaim-message").activate(instance) + else if (originalSource == "unclaim-message") await opendiscord.verifybars.get("opendiscord:claim-ticket-unclaim-message").activate(instance) + else await instance.defer("update",false) }) ) } @@ -116,7 +116,7 @@ export const registerModalResponders = async () => { return } - const originalSource = instance.interaction.customId.split("_")[2] as ("ticket-message"|"unclaim-message"|"other") + const originalSource = instance.interaction.customId.split("_")[2] as Exclude const reason = instance.values.getTextField("reason",true) //claim with reason @@ -128,7 +128,7 @@ export const registerModalResponders = async () => { await instance.defer("update",false) await opendiscord.actions.get("opendiscord:claim-ticket").run(originalSource,{guild,channel,user,ticket,reason,sendMessage:false}) await instance.update(await opendiscord.builders.messages.getSafe("opendiscord:claim-message").build("other",{guild,channel,user,ticket,reason})) - }else if (originalSource == "other"){ + }else{ await instance.defer("update",false) await opendiscord.actions.get("opendiscord:claim-ticket").run(originalSource,{guild,channel,user,ticket,reason,sendMessage:true}) } diff --git a/src/commands/clear.ts b/src/commands/clear.ts index 8541903..3eb7b66 100644 --- a/src/commands/clear.ts +++ b/src/commands/clear.ts @@ -92,12 +92,11 @@ export const registerButtonResponders = async () => { new api.ODWorker("opendiscord:clear-continue",0,async (instance,params,source,cancel) => { const {guild,channel,user} = instance if (!guild || channel.isDMBased()) return - const originalSource = instance.interaction.customId.split("_")[1] - if (originalSource != "slash" && originalSource != "text" && originalSource != "other") return + const originalSource = instance.interaction.customId.split("_")[1] as api.ODActionManagerIds_Default["opendiscord:clear-tickets"]["source"] const filter = instance.interaction.customId.split("_")[2] as api.ODTicketClearFilter //start ticket clear - instance.defer("update",true) + await instance.defer("update",true) const list: string[] = [] const ticketList = opendiscord.tickets.getAll().filter((ticket) => { if (filter == "all") return true diff --git a/src/commands/close.ts b/src/commands/close.ts index 75cc683..ebb4616 100644 --- a/src/commands/close.ts +++ b/src/commands/close.ts @@ -88,11 +88,11 @@ export const registerButtonResponders = async () => { opendiscord.responders.buttons.add(new api.ODButtonResponder("opendiscord:close-ticket",/^od:close-ticket_/)) opendiscord.responders.buttons.get("opendiscord:close-ticket").workers.add( new api.ODWorker("opendiscord:close-ticket",0,async (instance,params,source,cancel) => { - const originalSource = instance.interaction.customId.split("_")[1] - if (originalSource != "ticket-message" && originalSource != "reopen-message") return + const originalSource = instance.interaction.customId.split("_")[1] as Exclude if (originalSource == "ticket-message") await opendiscord.verifybars.get("opendiscord:close-ticket-ticket-message").activate(instance) - else await opendiscord.verifybars.get("opendiscord:close-ticket-reopen-message").activate(instance) + else if (originalSource == "reopen-message") await opendiscord.verifybars.get("opendiscord:close-ticket-reopen-message").activate(instance) + else await instance.defer("update",false) }) ) } @@ -115,7 +115,7 @@ export const registerModalResponders = async () => { return } - const originalSource = instance.interaction.customId.split("_")[2] as ("ticket-message"|"reopen-message"|"other") + const originalSource = instance.interaction.customId.split("_")[2] as Exclude const reason = instance.values.getTextField("reason",true) //close with reason @@ -127,7 +127,7 @@ export const registerModalResponders = async () => { await instance.defer("update",false) await opendiscord.actions.get("opendiscord:close-ticket").run(originalSource,{guild,channel,user,ticket,reason,sendMessage:false}) await instance.update(await opendiscord.builders.messages.getSafe("opendiscord:close-message").build("other",{guild,channel,user,ticket,reason})) - }else if (originalSource == "other"){ + }else{ await instance.defer("update",false) await opendiscord.actions.get("opendiscord:close-ticket").run(originalSource,{guild,channel,user,ticket,reason,sendMessage:true}) } diff --git a/src/commands/delete.ts b/src/commands/delete.ts index 3a36efe..11d315f 100644 --- a/src/commands/delete.ts +++ b/src/commands/delete.ts @@ -84,13 +84,13 @@ export const registerButtonResponders = async () => { opendiscord.responders.buttons.add(new api.ODButtonResponder("opendiscord:delete-ticket",/^od:delete-ticket/)) opendiscord.responders.buttons.get("opendiscord:delete-ticket").workers.add( new api.ODWorker("opendiscord:delete-ticket",0,async (instance,params,source,cancel) => { - const originalSource = instance.interaction.customId.split("_")[1] - if (originalSource != "ticket-message" && originalSource != "reopen-message" && originalSource != "close-message" && originalSource != "autoclose-message") return + const originalSource = instance.interaction.customId.split("_")[1] as Exclude if (originalSource == "ticket-message") await opendiscord.verifybars.get("opendiscord:delete-ticket-ticket-message").activate(instance) else if (originalSource == "close-message") await opendiscord.verifybars.get("opendiscord:delete-ticket-close-message").activate(instance) else if (originalSource == "reopen-message") await opendiscord.verifybars.get("opendiscord:delete-ticket-reopen-message").activate(instance) else if (originalSource == "autoclose-message") await opendiscord.verifybars.get("opendiscord:delete-ticket-autoclose-message").activate(instance) + else await instance.defer("update",false) }) ) } @@ -113,7 +113,7 @@ export const registerModalResponders = async () => { return } - const originalSource = instance.interaction.customId.split("_")[2] as ("ticket-message"|"reopen-message"|"close-message"|"autoclose-message"|"other") + const originalSource = instance.interaction.customId.split("_")[2] as Exclude const reason = instance.values.getTextField("reason",true) //delete with reason @@ -139,7 +139,7 @@ export const registerModalResponders = async () => { //don't await DELETE action => else it will update the message after the channel has been deleted opendiscord.actions.get("opendiscord:delete-ticket").run(originalSource,{guild,channel,user,ticket,reason,sendMessage:false,withoutTranscript:false}) await instance.update(await opendiscord.builders.messages.getSafe("opendiscord:delete-message").build("other",{guild,channel,user,ticket,reason})) - }else if (originalSource == "other"){ + }else{ await instance.defer("update",false) //don't await DELETE action => else it will update the message after the channel has been deleted opendiscord.actions.get("opendiscord:delete-ticket").run(originalSource,{guild,channel,user,ticket,reason,sendMessage:true,withoutTranscript:false}) diff --git a/src/commands/pin.ts b/src/commands/pin.ts index ac63a59..e58858f 100644 --- a/src/commands/pin.ts +++ b/src/commands/pin.ts @@ -88,11 +88,11 @@ export const registerButtonResponders = async () => { opendiscord.responders.buttons.add(new api.ODButtonResponder("opendiscord:pin-ticket",/^od:pin-ticket/)) opendiscord.responders.buttons.get("opendiscord:pin-ticket").workers.add( new api.ODWorker("opendiscord:pin-ticket",0,async (instance,params,source,cancel) => { - const originalSource = instance.interaction.customId.split("_")[1] - if (originalSource != "ticket-message" && originalSource != "unpin-message") return - + const originalSource = instance.interaction.customId.split("_")[1] as Exclude + if (originalSource == "ticket-message") await opendiscord.verifybars.get("opendiscord:pin-ticket-ticket-message").activate(instance) - else await opendiscord.verifybars.get("opendiscord:pin-ticket-unpin-message").activate(instance) + else if (originalSource == "unpin-message") await opendiscord.verifybars.get("opendiscord:pin-ticket-unpin-message").activate(instance) + else await instance.defer("update",false) }) ) } @@ -115,7 +115,7 @@ export const registerModalResponders = async () => { return } - const originalSource = instance.interaction.customId.split("_")[2] as ("ticket-message"|"unpin-message"|"other") + const originalSource = instance.interaction.customId.split("_")[2] as Exclude const reason = instance.values.getTextField("reason",true) //pin with reason @@ -127,7 +127,7 @@ export const registerModalResponders = async () => { await instance.defer("update",false) await opendiscord.actions.get("opendiscord:pin-ticket").run(originalSource,{guild,channel,user,ticket,reason,sendMessage:false}) await instance.update(await opendiscord.builders.messages.getSafe("opendiscord:pin-message").build("other",{guild,channel,user,ticket,reason})) - }else if (originalSource == "other"){ + }else{ await instance.defer("update",false) await opendiscord.actions.get("opendiscord:pin-ticket").run(originalSource,{guild,channel,user,ticket,reason,sendMessage:true}) } diff --git a/src/commands/reopen.ts b/src/commands/reopen.ts index 6fe30c9..f398aec 100644 --- a/src/commands/reopen.ts +++ b/src/commands/reopen.ts @@ -88,12 +88,12 @@ export const registerButtonResponders = async () => { opendiscord.responders.buttons.add(new api.ODButtonResponder("opendiscord:reopen-ticket",/^od:reopen-ticket/)) opendiscord.responders.buttons.get("opendiscord:reopen-ticket").workers.add( new api.ODWorker("opendiscord:reopen-ticket",0,async (instance,params,source,cancel) => { - const originalSource = instance.interaction.customId.split("_")[1] - if (originalSource != "ticket-message" && originalSource != "close-message" && originalSource != "autoclose-message") return + const originalSource = instance.interaction.customId.split("_")[1] as Exclude if (originalSource == "ticket-message") await opendiscord.verifybars.get("opendiscord:reopen-ticket-ticket-message").activate(instance) else if (originalSource == "close-message") await opendiscord.verifybars.get("opendiscord:reopen-ticket-close-message").activate(instance) - else await opendiscord.verifybars.get("opendiscord:reopen-ticket-autoclose-message").activate(instance) + else if (originalSource == "autoclose-message") await opendiscord.verifybars.get("opendiscord:reopen-ticket-autoclose-message").activate(instance) + else await instance.defer("update",false) }) ) } @@ -116,7 +116,7 @@ export const registerModalResponders = async () => { return } - const originalSource = instance.interaction.customId.split("_")[2] as ("ticket-message"|"close-message"|"autoclose-message"|"other") + const originalSource = instance.interaction.customId.split("_")[2] as Exclude const reason = instance.values.getTextField("reason",true) //reopen with reason @@ -132,7 +132,7 @@ export const registerModalResponders = async () => { await instance.defer("update",false) await opendiscord.actions.get("opendiscord:reopen-ticket").run(originalSource,{guild,channel,user,ticket,reason,sendMessage:false}) await instance.update(await opendiscord.builders.messages.getSafe("opendiscord:reopen-message").build("other",{guild,channel,user,ticket,reason})) - }else if (originalSource == "other"){ + }else{ await instance.defer("update",false) await opendiscord.actions.get("opendiscord:reopen-ticket").run(originalSource,{guild,channel,user,ticket,reason,sendMessage:true}) } diff --git a/src/commands/unclaim.ts b/src/commands/unclaim.ts index 37692f3..0cdec44 100644 --- a/src/commands/unclaim.ts +++ b/src/commands/unclaim.ts @@ -88,11 +88,11 @@ export const registerButtonResponders = async () => { opendiscord.responders.buttons.add(new api.ODButtonResponder("opendiscord:unclaim-ticket",/^od:unclaim-ticket/)) opendiscord.responders.buttons.get("opendiscord:unclaim-ticket").workers.add( new api.ODWorker("opendiscord:unclaim-ticket",0,async (instance,params,source,cancel) => { - const originalSource = instance.interaction.customId.split("_")[1] - if (originalSource != "ticket-message" && originalSource != "claim-message") return + const originalSource = instance.interaction.customId.split("_")[1] as Exclude if (originalSource == "ticket-message") await opendiscord.verifybars.get("opendiscord:unclaim-ticket-ticket-message").activate(instance) - else await opendiscord.verifybars.get("opendiscord:unclaim-ticket-claim-message").activate(instance) + else if (originalSource == "claim-message") await opendiscord.verifybars.get("opendiscord:unclaim-ticket-claim-message").activate(instance) + else await instance.defer("update",false) }) ) } @@ -115,7 +115,7 @@ export const registerModalResponders = async () => { return } - const originalSource = instance.interaction.customId.split("_")[2] as ("ticket-message"|"claim-message"|"other") + const originalSource = instance.interaction.customId.split("_")[2] as Exclude const reason = instance.values.getTextField("reason",true) //unclaim with reason @@ -127,7 +127,7 @@ export const registerModalResponders = async () => { await instance.defer("update",false) await opendiscord.actions.get("opendiscord:unclaim-ticket").run(originalSource,{guild,channel,user,ticket,reason,sendMessage:false}) await instance.update(await opendiscord.builders.messages.getSafe("opendiscord:unclaim-message").build("other",{guild,channel,user,ticket,reason})) - }else if (originalSource == "other"){ + }else{ await instance.defer("update",false) await opendiscord.actions.get("opendiscord:unclaim-ticket").run(originalSource,{guild,channel,user,ticket,reason,sendMessage:true}) } diff --git a/src/commands/unpin.ts b/src/commands/unpin.ts index 9160d8a..06095ca 100644 --- a/src/commands/unpin.ts +++ b/src/commands/unpin.ts @@ -88,11 +88,11 @@ export const registerButtonResponders = async () => { opendiscord.responders.buttons.add(new api.ODButtonResponder("opendiscord:unpin-ticket",/^od:unpin-ticket/)) opendiscord.responders.buttons.get("opendiscord:unpin-ticket").workers.add( new api.ODWorker("opendiscord:unpin-ticket",0,async (instance,params,source,cancel) => { - const originalSource = instance.interaction.customId.split("_")[1] - if (originalSource != "ticket-message" && originalSource != "pin-message") return + const originalSource = instance.interaction.customId.split("_")[1] as Exclude if (originalSource == "ticket-message") await opendiscord.verifybars.get("opendiscord:unpin-ticket-ticket-message").activate(instance) - else await opendiscord.verifybars.get("opendiscord:unpin-ticket-pin-message").activate(instance) + else if (originalSource == "pin-message") await opendiscord.verifybars.get("opendiscord:unpin-ticket-pin-message").activate(instance) + else await instance.defer("update",false) }) ) } @@ -115,7 +115,7 @@ export const registerModalResponders = async () => { return } - const originalSource = instance.interaction.customId.split("_")[2] as ("ticket-message"|"pin-message"|"other") + const originalSource = instance.interaction.customId.split("_")[2] as Exclude const reason = instance.values.getTextField("reason",true) //unpin with reason @@ -127,7 +127,7 @@ export const registerModalResponders = async () => { await instance.defer("update",false) await opendiscord.actions.get("opendiscord:unpin-ticket").run(originalSource,{guild,channel,user,ticket,reason,sendMessage:false}) await instance.update(await opendiscord.builders.messages.getSafe("opendiscord:unpin-message").build("other",{guild,channel,user,ticket,reason})) - }else if (originalSource == "other"){ + }else{ await instance.defer("update",false) await opendiscord.actions.get("opendiscord:unpin-ticket").run(originalSource,{guild,channel,user,ticket,reason,sendMessage:true}) }