diff --git a/src/actions/addTicketUser.ts b/src/actions/addTicketUser.ts index cf3cf0f..d595597 100644 --- a/src/actions/addTicketUser.ts +++ b/src/actions/addTicketUser.ts @@ -54,6 +54,9 @@ export const registerActions = async () => { if (params.sendMessage) await channel.send((await opendiscord.builders.messages.getSafe("opendiscord:add-message").build(source,{guild,channel,user,ticket,reason,data})).message) ticket.get("opendiscord:busy").value = false await opendiscord.events.get("afterTicketUserAdded").emit([ticket,user,data,channel,reason]) + + //update channel topic + await opendiscord.actions.get("opendiscord:update-ticket-topic").run("ticket-action",{guild,channel,user,ticket,sendMessage:false,newTopic:null}) }), new api.ODWorker("opendiscord:discord-logs",1,async (instance,params,source,cancel) => { const {guild,channel,user,ticket,reason,data} = params diff --git a/src/actions/claimTicket.ts b/src/actions/claimTicket.ts index 6729254..502db01 100644 --- a/src/actions/claimTicket.ts +++ b/src/actions/claimTicket.ts @@ -65,6 +65,9 @@ export const registerActions = async () => { if (params.sendMessage) await channel.send((await opendiscord.builders.messages.getSafe("opendiscord:claim-message").build(source,{guild,channel,user,ticket,reason})).message) ticket.get("opendiscord:busy").value = false await opendiscord.events.get("afterTicketClaimed").emit([ticket,user,channel,reason]) + + //update channel topic + await opendiscord.actions.get("opendiscord:update-ticket-topic").run("ticket-action",{guild,channel,user,ticket,sendMessage:false,newTopic:null}) }), new api.ODWorker("opendiscord:discord-logs",1,async (instance,params,source,cancel) => { const {guild,channel,user,ticket,reason} = params diff --git a/src/actions/closeTicket.ts b/src/actions/closeTicket.ts index 4e79f1f..1db612f 100644 --- a/src/actions/closeTicket.ts +++ b/src/actions/closeTicket.ts @@ -128,6 +128,9 @@ export const registerActions = async () => { if (params.sendMessage) await channel.send((await opendiscord.builders.messages.getSafe("opendiscord:close-message").build(source,{guild,channel,user,ticket,reason})).message) ticket.get("opendiscord:busy").value = false await opendiscord.events.get("afterTicketClosed").emit([ticket,user,channel,reason]) + + //update channel topic + await opendiscord.actions.get("opendiscord:update-ticket-topic").run("ticket-action",{guild,channel,user,ticket,sendMessage:false,newTopic:null}) }), new api.ODWorker("opendiscord:discord-logs",1,async (instance,params,source,cancel) => { const {guild,channel,user,ticket,reason} = params diff --git a/src/actions/moveTicket.ts b/src/actions/moveTicket.ts index 5a9ef35..a5d3a64 100644 --- a/src/actions/moveTicket.ts +++ b/src/actions/moveTicket.ts @@ -187,6 +187,9 @@ export const registerActions = async () => { if (params.sendMessage) await channel.send((await opendiscord.builders.messages.getSafe("opendiscord:move-message").build(source,{guild,channel,user,ticket,reason,data})).message) ticket.get("opendiscord:busy").value = false await opendiscord.events.get("afterTicketMoved").emit([ticket,user,channel,reason]) + + //update channel topic + await opendiscord.actions.get("opendiscord:update-ticket-topic").run("ticket-action",{guild,channel,user,ticket,sendMessage:false,newTopic:null}) }), new api.ODWorker("opendiscord:discord-logs",1,async (instance,params,source,cancel) => { const {guild,channel,user,ticket,reason,data} = params diff --git a/src/actions/pinTicket.ts b/src/actions/pinTicket.ts index 0ac9446..ddfea98 100644 --- a/src/actions/pinTicket.ts +++ b/src/actions/pinTicket.ts @@ -61,6 +61,9 @@ export const registerActions = async () => { if (params.sendMessage) await channel.send((await opendiscord.builders.messages.getSafe("opendiscord:pin-message").build(source,{guild,channel,user,ticket,reason})).message) ticket.get("opendiscord:busy").value = false await opendiscord.events.get("afterTicketPinned").emit([ticket,user,channel,reason]) + + //update channel topic + await opendiscord.actions.get("opendiscord:update-ticket-topic").run("ticket-action",{guild,channel,user,ticket,sendMessage:false,newTopic:null}) }), new api.ODWorker("opendiscord:discord-logs",1,async (instance,params,source,cancel) => { const {guild,channel,user,ticket,reason} = params diff --git a/src/actions/removeTicketUser.ts b/src/actions/removeTicketUser.ts index 489ec8b..9a8ef9f 100644 --- a/src/actions/removeTicketUser.ts +++ b/src/actions/removeTicketUser.ts @@ -48,6 +48,9 @@ export const registerActions = async () => { if (params.sendMessage) await channel.send((await opendiscord.builders.messages.getSafe("opendiscord:remove-message").build(source,{guild,channel,user,ticket,reason,data})).message) ticket.get("opendiscord:busy").value = false await opendiscord.events.get("afterTicketUserRemoved").emit([ticket,user,data,channel,reason]) + + //update channel topic + await opendiscord.actions.get("opendiscord:update-ticket-topic").run("ticket-action",{guild,channel,user,ticket,sendMessage:false,newTopic:null}) }), new api.ODWorker("opendiscord:discord-logs",1,async (instance,params,source,cancel) => { const {guild,channel,user,ticket,reason,data} = params diff --git a/src/actions/renameTicket.ts b/src/actions/renameTicket.ts index ee0a722..47cef4c 100644 --- a/src/actions/renameTicket.ts +++ b/src/actions/renameTicket.ts @@ -45,6 +45,9 @@ export const registerActions = async () => { if (params.sendMessage) await channel.send((await opendiscord.builders.messages.getSafe("opendiscord:rename-message").build(source,{guild,channel,user,ticket,reason,data})).message) ticket.get("opendiscord:busy").value = false await opendiscord.events.get("afterTicketRenamed").emit([ticket,user,channel,reason]) + + //update channel topic + await opendiscord.actions.get("opendiscord:update-ticket-topic").run("ticket-action",{guild,channel,user,ticket,sendMessage:false,newTopic:null}) }), new api.ODWorker("opendiscord:discord-logs",1,async (instance,params,source,cancel) => { const {guild,channel,user,ticket,reason,data} = params diff --git a/src/actions/reopenTicket.ts b/src/actions/reopenTicket.ts index ecfe5e9..511eb37 100644 --- a/src/actions/reopenTicket.ts +++ b/src/actions/reopenTicket.ts @@ -154,6 +154,9 @@ export const registerActions = async () => { if (params.sendMessage) await channel.send((await opendiscord.builders.messages.getSafe("opendiscord:reopen-message").build(source,{guild,channel,user,ticket,reason})).message) ticket.get("opendiscord:busy").value = false await opendiscord.events.get("afterTicketReopened").emit([ticket,user,channel,reason]) + + //update channel topic + await opendiscord.actions.get("opendiscord:update-ticket-topic").run("ticket-action",{guild,channel,user,ticket,sendMessage:false,newTopic:null}) }), new api.ODWorker("opendiscord:discord-logs",1,async (instance,params,source,cancel) => { const {guild,channel,user,ticket,reason} = params diff --git a/src/actions/unclaimTicket.ts b/src/actions/unclaimTicket.ts index 0d8d8d8..6a04c1e 100644 --- a/src/actions/unclaimTicket.ts +++ b/src/actions/unclaimTicket.ts @@ -94,6 +94,9 @@ export const registerActions = async () => { if (params.sendMessage) await channel.send((await opendiscord.builders.messages.getSafe("opendiscord:unclaim-message").build(source,{guild,channel,user,ticket,reason})).message) ticket.get("opendiscord:busy").value = false await opendiscord.events.get("afterTicketUnclaimed").emit([ticket,user,channel,reason]) + + //update channel topic + await opendiscord.actions.get("opendiscord:update-ticket-topic").run("ticket-action",{guild,channel,user,ticket,sendMessage:false,newTopic:null}) }), new api.ODWorker("opendiscord:discord-logs",1,async (instance,params,source,cancel) => { const {guild,channel,user,ticket,reason} = params diff --git a/src/actions/unpinTicket.ts b/src/actions/unpinTicket.ts index 4274e05..6c608fb 100644 --- a/src/actions/unpinTicket.ts +++ b/src/actions/unpinTicket.ts @@ -54,6 +54,9 @@ export const registerActions = async () => { if (params.sendMessage) await channel.send((await opendiscord.builders.messages.getSafe("opendiscord:unpin-message").build(source,{guild,channel,user,ticket,reason})).message) ticket.get("opendiscord:busy").value = false await opendiscord.events.get("afterTicketUnpinned").emit([ticket,user,channel,reason]) + + //update channel topic + await opendiscord.actions.get("opendiscord:update-ticket-topic").run("ticket-action",{guild,channel,user,ticket,sendMessage:false,newTopic:null}) }), new api.ODWorker("opendiscord:discord-logs",1,async (instance,params,source,cancel) => { const {guild,channel,user,ticket,reason} = params diff --git a/src/actions/updateTicketTopic.ts b/src/actions/updateTicketTopic.ts index 5a732cd..acc5d06 100644 --- a/src/actions/updateTicketTopic.ts +++ b/src/actions/updateTicketTopic.ts @@ -17,15 +17,20 @@ export const registerActions = async () => { ticket.get("opendiscord:busy").value = true if (newTopic) ticket.get("opendiscord:topic").value = newTopic + //get ticket data + const closed = ticket.get("opendiscord:closed").value + const claimedBy = ticket.get("opendiscord:claimed-by").value + const pinned = ticket.get("opendiscord:pinned").value + //handle channel topic const channelTopics: string[] = [] if (generalConfig.data.system.channelTopic.showOptionName) channelTopics.push(ticket.option.get("opendiscord:name").value) if (generalConfig.data.system.channelTopic.showOptionDescription) channelTopics.push(ticket.option.get("opendiscord:description").value) if (generalConfig.data.system.channelTopic.showOptionTopic) channelTopics.push(ticket.get("opendiscord:topic").value) if (generalConfig.data.system.channelTopic.showPriority) channelTopics.push("**Priority:** "+opendiscord.priorities.get("opendiscord:none").renderDisplayName()) //TODO TRANSLATION!!! - if (generalConfig.data.system.channelTopic.showClosed) channelTopics.push("**Status:** Opened") //TODO TRANSLATION!!! - if (generalConfig.data.system.channelTopic.showClaimed) channelTopics.push("**Claimed By:** No-one") //TODO TRANSLATION!!! - if (generalConfig.data.system.channelTopic.showPinned) channelTopics.push("**Pinned:** No") //TODO TRANSLATION!!! + if (generalConfig.data.system.channelTopic.showClosed) channelTopics.push("**Status:** "+(closed ? "Closed" : "Opened")) //TODO TRANSLATION!!! + if (generalConfig.data.system.channelTopic.showClaimed) channelTopics.push("**Claimed By:** "+(claimedBy ? discord.userMention(claimedBy) : "No-one")) //TODO TRANSLATION!!! + if (generalConfig.data.system.channelTopic.showPinned) channelTopics.push("**Pinned:** "+(pinned ? "Yes" : "No")) //TODO TRANSLATION!!! if (generalConfig.data.system.channelTopic.showCreator) channelTopics.push("**Creator:** "+discord.userMention(user.id)) //TODO TRANSLATION!!! if (generalConfig.data.system.channelTopic.showParticipants) channelTopics.push("**Participants:** "+ticket.get("opendiscord:participants").value.map((p) => (p.type == "user") ? discord.userMention(p.id) : discord.roleMention(p.id)).join(", ")) //TODO TRANSLATION!!!