Files
open-ticket/src/builders/dropdowns.ts
T

39 lines
1.5 KiB
TypeScript

///////////////////////////////////////
//DROPDOWN BUILDERS
///////////////////////////////////////
import {openticket, api, utilities} from "../index"
import * as discord from "discord.js"
const dropdowns = openticket.builders.dropdowns
export const registerAllDropdowns = async () => {
panelDropdowns()
}
const panelDropdowns = () => {
//TICKET OPTION
dropdowns.add(new api.ODDropdown("openticket:panel-dropdown-tickets"))
dropdowns.get("openticket:panel-dropdown-tickets").workers.add(
new api.ODWorker("openticket:panel-dropdown-tickets",0,async (instance,params) => {
const {panel,options} = params
const parsedOptions: api.ODDropdownData["options"] = options.map((option) => {
const desc = option.get("openticket:description").value.substring(0,100)
return {
label:option.get("openticket:button-label").value.substring(0,100),
value:"od:ticket-option_"+panel.id.value+"_"+option.id.value,
emoji:option.get("openticket:button-emoji").value,
description:(desc.length > 0) ? desc : undefined
}
})
instance.setCustomId("od:panel-dropdown_"+panel.id.value)
instance.setType("string")
instance.setMaxValues(1)
instance.setMinValues(0)
instance.setPlaceholder(panel.get("openticket:dropdown-placeholder").value)
instance.setOptions(parsedOptions)
})
)
}