Finished Message States & Overhauled Verifybars
This commit is contained in:
+30
-54
@@ -8,8 +8,27 @@ const buttons = opendiscord.builders.buttons
|
||||
const lang = opendiscord.languages
|
||||
const generalConfig = opendiscord.configs.get("opendiscord:general")
|
||||
|
||||
export const registerAllButtons = async () => {
|
||||
verifybarButtons()
|
||||
export async function registerAllButtons(){
|
||||
//VERIFYBAR BUTTON
|
||||
buttons.add(new api.ODButton("opendiscord:verifybar-button"))
|
||||
buttons.get("opendiscord:verifybar-button").workers.add(
|
||||
new api.ODWorker("opendiscord:verifybar-button",0,async (instance,params) => {
|
||||
const {verifybar,verifyButtonId} = params
|
||||
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 == "✅") ? "✅" : "❌"
|
||||
const emoji = ("customEmoji" in params && params.customEmoji) ? params.customEmoji : defaultEmoji
|
||||
|
||||
instance.setCustomId("od:verifybar|"+verifybar.id.value+"|"+verifyButtonId)
|
||||
instance.setMode("button")
|
||||
instance.setColor(color)
|
||||
if (label) instance.setLabel(label)
|
||||
if (emoji) instance.setEmoji(emoji)
|
||||
})
|
||||
)
|
||||
|
||||
errorButtons()
|
||||
helpMenuButtons()
|
||||
panelButtons()
|
||||
@@ -18,50 +37,6 @@ export const registerAllButtons = async () => {
|
||||
clearButtons()
|
||||
}
|
||||
|
||||
const verifybarButtons = () => {
|
||||
//VERIFYBAR SUCCESS
|
||||
buttons.add(new api.ODButton("opendiscord:verifybar-success"))
|
||||
buttons.get("opendiscord:verifybar-success").workers.add(
|
||||
new api.ODWorker("opendiscord:verifybar-success",0,async (instance,params) => {
|
||||
const {verifybar,customData,customColor,customLabel,customEmoji} = params
|
||||
|
||||
if (customData && customData.length > 40) throw new api.ODSystemError("ODButton:opendiscord:verifybar-success => customData exceeds 40 characters limit!")
|
||||
|
||||
const newData = (customData) ? "_"+customData : ""
|
||||
const newColor = customColor ?? "gray"
|
||||
const newLabel = customLabel ?? ""
|
||||
const newEmoji = customEmoji ?? "✅"
|
||||
|
||||
instance.setCustomId("od:verifybar-success_"+verifybar.id.value+newData)
|
||||
instance.setMode("button")
|
||||
instance.setColor(newColor)
|
||||
if (newLabel) instance.setLabel(newLabel)
|
||||
if (newEmoji) instance.setEmoji(newEmoji)
|
||||
})
|
||||
)
|
||||
|
||||
//VERIFYBAR FAILURE
|
||||
buttons.add(new api.ODButton("opendiscord:verifybar-failure"))
|
||||
buttons.get("opendiscord:verifybar-failure").workers.add(
|
||||
new api.ODWorker("opendiscord:verifybar-failure",0,async (instance,params) => {
|
||||
const {verifybar,customData,customColor,customLabel,customEmoji} = params
|
||||
|
||||
if (customData && customData.length > 40) throw new api.ODSystemError("ODButton:opendiscord:verifybar-success => customData exceeds 40 characters limit!")
|
||||
|
||||
const newData = (customData) ? "_"+customData : ""
|
||||
const newColor = customColor ?? "gray"
|
||||
const newLabel = customLabel ?? ""
|
||||
const newEmoji = customEmoji ?? "❌"
|
||||
|
||||
instance.setCustomId("od:verifybar-failure_"+verifybar.id.value+newData)
|
||||
instance.setMode("button")
|
||||
instance.setColor(newColor)
|
||||
if (newLabel) instance.setLabel(newLabel)
|
||||
if (newEmoji) instance.setEmoji(newEmoji)
|
||||
})
|
||||
)
|
||||
}
|
||||
|
||||
const errorButtons = () => {
|
||||
//ERROR TICKET DEPRECATED TRANSCRIPT
|
||||
buttons.add(new api.ODButton("opendiscord:error-ticket-deprecated-transcript"))
|
||||
@@ -205,7 +180,7 @@ const ticketButtons = () => {
|
||||
const {guild,channel,ticket} = params
|
||||
|
||||
instance.setMode("button")
|
||||
instance.setCustomId("od:close-ticket_"+origin)
|
||||
instance.setCustomId("od:close-ticket")
|
||||
instance.setColor("gray")
|
||||
instance.setEmoji("🔒")
|
||||
instance.setLabel(lang.getTranslation("actions.buttons.close"))
|
||||
@@ -219,7 +194,7 @@ const ticketButtons = () => {
|
||||
const {guild,channel,ticket} = params
|
||||
|
||||
instance.setMode("button")
|
||||
instance.setCustomId("od:delete-ticket_"+origin)
|
||||
instance.setCustomId("od:delete-ticket")
|
||||
instance.setColor("red")
|
||||
instance.setEmoji("✖")
|
||||
instance.setLabel(lang.getTranslation("actions.buttons.delete"))
|
||||
@@ -233,7 +208,7 @@ const ticketButtons = () => {
|
||||
const {guild,channel,ticket} = params
|
||||
|
||||
instance.setMode("button")
|
||||
instance.setCustomId("od:reopen-ticket_"+origin)
|
||||
instance.setCustomId("od:reopen-ticket")
|
||||
instance.setColor("green")
|
||||
instance.setEmoji("🔓")
|
||||
instance.setLabel(lang.getTranslation("actions.buttons.reopen"))
|
||||
@@ -247,7 +222,7 @@ const ticketButtons = () => {
|
||||
const {guild,channel,ticket} = params
|
||||
|
||||
instance.setMode("button")
|
||||
instance.setCustomId("od:claim-ticket_"+origin)
|
||||
instance.setCustomId("od:claim-ticket")
|
||||
instance.setColor("green")
|
||||
instance.setEmoji("👋")
|
||||
instance.setLabel(lang.getTranslation("actions.buttons.claim"))
|
||||
@@ -261,7 +236,7 @@ const ticketButtons = () => {
|
||||
const {guild,channel,ticket} = params
|
||||
|
||||
instance.setMode("button")
|
||||
instance.setCustomId("od:unclaim-ticket_"+origin)
|
||||
instance.setCustomId("od:unclaim-ticket")
|
||||
instance.setColor("green")
|
||||
instance.setEmoji("↩️")
|
||||
instance.setLabel(lang.getTranslation("actions.buttons.unclaim"))
|
||||
@@ -275,7 +250,7 @@ const ticketButtons = () => {
|
||||
const {guild,channel,ticket} = params
|
||||
|
||||
instance.setMode("button")
|
||||
instance.setCustomId("od:pin-ticket_"+origin)
|
||||
instance.setCustomId("od:pin-ticket")
|
||||
instance.setColor("gray")
|
||||
instance.setEmoji(generalConfig.data.system.pinEmoji)
|
||||
instance.setLabel(lang.getTranslation("actions.buttons.pin"))
|
||||
@@ -289,7 +264,7 @@ const ticketButtons = () => {
|
||||
const {guild,channel,ticket} = params
|
||||
|
||||
instance.setMode("button")
|
||||
instance.setCustomId("od:unpin-ticket_"+origin)
|
||||
instance.setCustomId("od:unpin-ticket")
|
||||
instance.setColor("gray")
|
||||
instance.setEmoji(generalConfig.data.system.pinEmoji)
|
||||
instance.setLabel(lang.getTranslation("actions.buttons.unpin"))
|
||||
@@ -342,10 +317,11 @@ const clearButtons = () => {
|
||||
buttons.get("opendiscord:clear-continue").workers.add(
|
||||
new api.ODWorker("opendiscord:clear-continue",0,async (instance,params,origin) => {
|
||||
instance.setMode("button")
|
||||
instance.setCustomId("od:clear-continue_"+origin+"_"+params.filter)
|
||||
instance.setCustomId("od:clear-continue")
|
||||
instance.setColor("red")
|
||||
instance.setEmoji("✖")
|
||||
instance.setLabel(lang.getTranslation("actions.buttons.clear"))
|
||||
instance.setDisabled(params.inProgress)
|
||||
})
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user