Open Ticket v4.2: Config Update (JSONC)

This commit is contained in:
DJj123dj
2026-05-17 22:28:23 +02:00
parent afd7f80b8d
commit dd8d5a12d6
106 changed files with 2199 additions and 1198 deletions
+3 -3
View File
@@ -14,7 +14,7 @@ export async function registerCommandResponders(){
const {guild,channel,user,member} = instance
//check permissions
const permsResult = await opendiscord.permissions.checkCommandPerms(generalConfig.data.system.permissions.blacklist,"support",user,member,channel,guild)
const permsResult = await opendiscord.permissions.checkCommandPerms(generalConfig.data.permissions.blacklist,"support",user,member,channel,guild)
if (!permsResult.hasPerms){
if (permsResult.reason == "not-in-server") await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-not-in-guild").build("button",{channel,user}))
else await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build(origin,{guild,channel,user,permissions:["support"]}))
@@ -83,13 +83,13 @@ export async function registerCommandResponders(){
const reason = instance.options.getString("reason",false)
//to logs
if (generalConfig.data.system.logs.enabled && generalConfig.data.system.messages.blacklisting.logs){
if (generalConfig.data.logs.enabled && generalConfig.data.logs.logMessages.blacklisting.logs){
const logChannel = opendiscord.posts.get("opendiscord:logs")
if (logChannel) logChannel.send(await opendiscord.builders.messages.getSafe("opendiscord:blacklist-logs").build(origin,{guild,channel,user,mode:scope,data,reason}))
}
//to dm
if (generalConfig.data.system.messages.blacklisting.dm) await opendiscord.client.sendUserDm(user,await opendiscord.builders.messages.getSafe("opendiscord:blacklist-dm").build(origin,{guild,channel,user,mode:scope,data,reason}))
if (generalConfig.data.logs.logMessages.blacklisting.dm) await opendiscord.client.sendUserDm(user,await opendiscord.builders.messages.getSafe("opendiscord:blacklist-dm").build(origin,{guild,channel,user,mode:scope,data,reason}))
}),
new api.ODWorker("opendiscord:logs",-1,(instance,params,origin,cancel) => {
const scope = instance.options.getSubCommand()
+1 -1
View File
@@ -90,7 +90,7 @@ export async function registerButtonResponders(){
const originalMsgType = state.data.messageType
//send verifybar
if (generalConfig.data.system.disableVerifyBars){
if (generalConfig.data.ticketSystem.disableVerifyBars){
//verifybar disabled, directly run response
await verifybar.activate(instance,"accept")
+1 -1
View File
@@ -95,7 +95,7 @@ export async function registerButtonResponders(){
const originalMsgType = state.data.messageType
//send verifybar
if (generalConfig.data.system.disableVerifyBars){
if (generalConfig.data.ticketSystem.disableVerifyBars){
//verifybar disabled, directly run response
await verifybar.activate(instance,"accept")
+3 -3
View File
@@ -36,7 +36,7 @@ export async function registerCommandResponders(){
//don't allow deleteWithoutTranscript to non-global-admins when enabled
const withoutTranscript = instance.options.getBoolean("notranscript",false) ?? false
if (withoutTranscript && generalConfig.data.system.adminOnlyDeleteWithoutTranscript){
if (withoutTranscript && generalConfig.data.ticketSystem.adminOnlyDeleteWithoutTranscript){
if (!opendiscord.permissions.hasPermissions("support",await opendiscord.permissions.getPermissions(instance.user,instance.channel,instance.guild,{allowChannelRoleScope:false,allowChannelUserScope:false,allowGlobalRoleScope:true,allowGlobalUserScope:true}))){
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build("button",{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:["support"]}))
return cancel()
@@ -93,7 +93,7 @@ export async function registerButtonResponders(){
const originalMsgType = state.data.messageType
//send verifybar
if (generalConfig.data.system.disableVerifyBars){
if (generalConfig.data.ticketSystem.disableVerifyBars){
//verifybar disabled, directly run response
await verifybar.activate(instance,"accept")
@@ -146,7 +146,7 @@ export async function registerVerifyBars(){
//don't allow deleteWithoutTranscript to non-global-admins when enabled
const withoutTranscript = (params.selectedButtonId == "accept-without-transcript")
if (withoutTranscript && generalConfig.data.system.adminOnlyDeleteWithoutTranscript){
if (withoutTranscript && generalConfig.data.ticketSystem.adminOnlyDeleteWithoutTranscript){
if (!opendiscord.permissions.hasPermissions("support",await opendiscord.permissions.getPermissions(instance.user,instance.channel,instance.guild,{allowChannelRoleScope:false,allowChannelUserScope:false,allowGlobalRoleScope:true,allowGlobalUserScope:true}))){
instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error-no-permissions").build("button",{guild:instance.guild,channel:instance.channel,user:instance.user,permissions:["support"]}))
return cancel()
+1 -1
View File
@@ -19,7 +19,7 @@ export async function registerCommandResponders(){
//calculate slash/text mode for help menu
let mode: "slash"|"text"
if (generalConfig.data.slashCommands && generalConfig.data.textCommands) mode = (generalConfig.data.system.preferSlashOverText) ? "slash" : "text"
if (generalConfig.data.slashCommands && generalConfig.data.textCommands) mode = (generalConfig.data.ticketSystem.preferSlashOverText) ? "slash" : "text"
else if (!generalConfig.data.slashCommands) mode = "text"
else mode = "slash"
+1 -1
View File
@@ -89,7 +89,7 @@ export async function registerButtonResponders(){
const originalMsgType = state.data.messageType
//send verifybar
if (generalConfig.data.system.disableVerifyBars){
if (generalConfig.data.ticketSystem.disableVerifyBars){
//verifybar disabled, directly run response
await verifybar.activate(instance,"accept")
+1 -1
View File
@@ -89,7 +89,7 @@ export async function registerButtonResponders(){
const originalMsgType = state.data.messageType
//send verifybar
if (generalConfig.data.system.disableVerifyBars){
if (generalConfig.data.ticketSystem.disableVerifyBars){
//verifybar disabled, directly run response
await verifybar.activate(instance,"accept")
+1 -1
View File
@@ -34,7 +34,7 @@ export async function registerButtonResponders(){
await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build(origin,{guild,channel:instance.channel,user,error:"Unable to receive role update data from worker!",layout:"advanced"}))
return cancel()
}
if (generalConfig.data.system.replyOnReactionRole) await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:reaction-role").build("panel-button",{guild,user,role:res.role,result:res.result}))
if (generalConfig.data.ticketSystem.replyOnReactionRole) await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:reaction-role").build("panel-button",{guild,user,role:res.role,result:res.result}))
})
)
}
+6 -6
View File
@@ -105,7 +105,7 @@ export async function registerButtonResponders(){
if (!(await checkTicketCreationPerms(instance,"panel-button",guild,user,option))) return cancel()
//CREATE TICKET
await instance.defer((generalConfig.data.system.replyOnTicketCreation) ? "reply" : "update",true)
await instance.defer((generalConfig.data.ticketSystem.replyOnTicketCreation) ? "reply" : "update",true)
const res = await opendiscord.actions.get("opendiscord:create-ticket").run("panel-button",{guild,user,answers:[],option})
if (!res.channel || !res.ticket){
@@ -113,7 +113,7 @@ export async function registerButtonResponders(){
await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build(origin,{guild,channel:instance.channel,user,error:"Unable to receive ticket or channel from callback! #1",layout:"advanced"}))
return cancel()
}
if (generalConfig.data.system.replyOnTicketCreation) await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:ticket-created").build("panel-button",{guild,channel:res.channel,user,ticket:res.ticket}))
if (generalConfig.data.ticketSystem.replyOnTicketCreation) await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:ticket-created").build("panel-button",{guild,channel:res.channel,user,ticket:res.ticket}))
}
})
)
@@ -147,7 +147,7 @@ export async function registerDropdownResponders(){
if (!(await checkTicketCreationPerms(instance,"panel-dropdown",guild,user,option))) return cancel()
//CREATE TICKET
await instance.defer((generalConfig.data.system.replyOnTicketCreation) ? "reply" : "update",true)
await instance.defer((generalConfig.data.ticketSystem.replyOnTicketCreation) ? "reply" : "update",true)
const res = await opendiscord.actions.get("opendiscord:create-ticket").run("panel-dropdown",{guild,user,answers:[],option})
if (!res.channel || !res.ticket){
@@ -155,7 +155,7 @@ export async function registerDropdownResponders(){
await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build(origin,{guild,channel:instance.channel,user,error:"Unable to receive ticket or channel from callback! #1",layout:"advanced"}))
return cancel()
}
if (generalConfig.data.system.replyOnTicketCreation) await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:ticket-created").build("panel-dropdown",{guild,channel:res.channel,user,ticket:res.ticket}))
if (generalConfig.data.ticketSystem.replyOnTicketCreation) await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:ticket-created").build("panel-dropdown",{guild,channel:res.channel,user,ticket:res.ticket}))
}
//update panel after dropdown usage (reset panel choice)
@@ -214,7 +214,7 @@ export async function registerModalResponders(){
}
})
await instance.defer((generalConfig.data.system.replyOnTicketCreation) ? "reply" : "update",true)
await instance.defer((generalConfig.data.ticketSystem.replyOnTicketCreation) ? "reply" : "update",true)
//CREATE TICKET
const res = await opendiscord.actions.get("opendiscord:create-ticket").run(originalOrigin,{guild,user,answers,option})
@@ -223,7 +223,7 @@ export async function registerModalResponders(){
await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:error").build(origin,{guild,channel,user,error:"Unable to receive ticket or channel from callback! #2",layout:"advanced"}))
return cancel()
}
if (generalConfig.data.system.replyOnTicketCreation) await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:ticket-created").build(originalOrigin,{guild,channel:res.channel,user,ticket:res.ticket}))
if (generalConfig.data.ticketSystem.replyOnTicketCreation) await instance.reply(await opendiscord.builders.messages.getSafe("opendiscord:ticket-created").build(originalOrigin,{guild,channel:res.channel,user,ticket:res.ticket}))
})
])
}
+1 -1
View File
@@ -89,7 +89,7 @@ export async function registerButtonResponders(){
const originalMsgType = state.data.messageType
//send verifybar
if (generalConfig.data.system.disableVerifyBars){
if (generalConfig.data.ticketSystem.disableVerifyBars){
//verifybar disabled, directly run response
await verifybar.activate(instance,"accept")
+1 -1
View File
@@ -89,7 +89,7 @@ export async function registerButtonResponders(){
const originalMsgType = state.data.messageType
//send verifybar
if (generalConfig.data.system.disableVerifyBars){
if (generalConfig.data.ticketSystem.disableVerifyBars){
//verifybar disabled, directly run response
await verifybar.activate(instance,"accept")