Renamed OT Id Lists to Mappings
This commit is contained in:
+103
-100
@@ -7,6 +7,98 @@ import * as crypto from "crypto"
|
|||||||
import { ODOptionsJsonConfig_TicketOptionEmbedSettings, ODOptionsJsonConfig_TicketOptionPingSettings } from "../mappings/config.js"
|
import { ODOptionsJsonConfig_TicketOptionEmbedSettings, ODOptionsJsonConfig_TicketOptionPingSettings } from "../mappings/config.js"
|
||||||
import { ODRoleUpdateMode } from "./role.js"
|
import { ODRoleUpdateMode } from "./role.js"
|
||||||
|
|
||||||
|
/**## ODOptionIdConstraint `type`
|
||||||
|
* The constraint/layout for id mappings/interfaces of the `ODOption` class.
|
||||||
|
*/
|
||||||
|
export type ODOptionIdConstraint = Record<string,ODOptionData<api.ODValidJsonType>>
|
||||||
|
|
||||||
|
/**## ODTicketOptionIdMappings `interface`
|
||||||
|
* A list of all available IDs in the default `ODTicketOption` class in `opendiscord`.
|
||||||
|
* It's used to generate typescript declarations for this class.
|
||||||
|
*/
|
||||||
|
export interface ODTicketOptionIdMappings extends ODOptionIdConstraint {
|
||||||
|
"opendiscord:name":ODOptionData<string>,
|
||||||
|
"opendiscord:description":ODOptionData<string>,
|
||||||
|
|
||||||
|
"opendiscord:button-emoji":ODOptionData<string>,
|
||||||
|
"opendiscord:button-label":ODOptionData<string>,
|
||||||
|
"opendiscord:button-color":ODOptionData<api.ODValidButtonColor>,
|
||||||
|
|
||||||
|
"opendiscord:admins":ODOptionData<string[]>,
|
||||||
|
"opendiscord:admins-readonly":ODOptionData<string[]>,
|
||||||
|
"opendiscord:allow-blacklisted-users":ODOptionData<boolean>,
|
||||||
|
"opendiscord:questions":ODOptionData<string[]>,
|
||||||
|
|
||||||
|
"opendiscord:channel-prefix":ODOptionData<string>,
|
||||||
|
"opendiscord:channel-suffix":ODOptionData<"user-name"|"user-nickname"|"user-id"|"random-number"|"random-hex"|"counter-dynamic"|"counter-fixed">,
|
||||||
|
"opendiscord:channel-category":ODOptionData<string>,
|
||||||
|
"opendiscord:channel-category-closed":ODOptionData<string>,
|
||||||
|
"opendiscord:channel-category-backup":ODOptionData<string>,
|
||||||
|
"opendiscord:channel-categories-claimed":ODOptionData<{user:string,category:string}[]>,
|
||||||
|
"opendiscord:channel-topic":ODOptionData<string>,
|
||||||
|
|
||||||
|
"opendiscord:dm-message-enabled":ODOptionData<boolean>,
|
||||||
|
"opendiscord:dm-message-text":ODOptionData<string>,
|
||||||
|
"opendiscord:dm-message-embed":ODOptionData<ODOptionsJsonConfig_TicketOptionEmbedSettings>,
|
||||||
|
|
||||||
|
"opendiscord:ticket-message-enabled":ODOptionData<boolean>,
|
||||||
|
"opendiscord:ticket-message-text":ODOptionData<string>,
|
||||||
|
"opendiscord:ticket-message-embed":ODOptionData<ODOptionsJsonConfig_TicketOptionEmbedSettings>,
|
||||||
|
"opendiscord:ticket-message-ping":ODOptionData<ODOptionsJsonConfig_TicketOptionPingSettings>,
|
||||||
|
|
||||||
|
"opendiscord:autoclose-enable-hours":ODOptionData<boolean>,
|
||||||
|
"opendiscord:autoclose-enable-leave":ODOptionData<boolean>,
|
||||||
|
"opendiscord:autoclose-disable-claim":ODOptionData<boolean>,
|
||||||
|
"opendiscord:autoclose-hours":ODOptionData<number>,
|
||||||
|
|
||||||
|
"opendiscord:autodelete-enable-days":ODOptionData<boolean>,
|
||||||
|
"opendiscord:autodelete-enable-leave":ODOptionData<boolean>,
|
||||||
|
"opendiscord:autodelete-disable-claim":ODOptionData<boolean>,
|
||||||
|
"opendiscord:autodelete-days":ODOptionData<number>,
|
||||||
|
|
||||||
|
"opendiscord:cooldown-enabled":ODOptionData<boolean>,
|
||||||
|
"opendiscord:cooldown-minutes":ODOptionData<number>,
|
||||||
|
|
||||||
|
"opendiscord:limits-enabled":ODOptionData<boolean>,
|
||||||
|
"opendiscord:limits-maximum-global":ODOptionData<number>,
|
||||||
|
"opendiscord:limits-maximum-user":ODOptionData<number>
|
||||||
|
|
||||||
|
"opendiscord:slowmode-enabled":ODOptionData<boolean>,
|
||||||
|
"opendiscord:slowmode-seconds":ODOptionData<number>,
|
||||||
|
}
|
||||||
|
|
||||||
|
/**## ODWebsiteOptionIdMappings `interface`
|
||||||
|
* A list of all available IDs in the default `ODWebsiteOption` class in `opendiscord`.
|
||||||
|
* It's used to generate typescript declarations for this class.
|
||||||
|
*/
|
||||||
|
export interface ODWebsiteOptionIdMappings extends ODOptionIdConstraint {
|
||||||
|
"opendiscord:name":ODOptionData<string>,
|
||||||
|
"opendiscord:description":ODOptionData<string>,
|
||||||
|
|
||||||
|
"opendiscord:button-emoji":ODOptionData<string>,
|
||||||
|
"opendiscord:button-label":ODOptionData<string>,
|
||||||
|
|
||||||
|
"opendiscord:url":ODOptionData<string>,
|
||||||
|
}
|
||||||
|
|
||||||
|
/**## ODRoleOptionIdMappings `interface`
|
||||||
|
* A list of all available IDs in the default `ODRoleOption` class in `opendiscord`.
|
||||||
|
* It's used to generate typescript declarations for this class.
|
||||||
|
*/
|
||||||
|
export interface ODRoleOptionIdMappings extends ODOptionIdConstraint {
|
||||||
|
"opendiscord:name":ODOptionData<string>,
|
||||||
|
"opendiscord:description":ODOptionData<string>,
|
||||||
|
|
||||||
|
"opendiscord:button-emoji":ODOptionData<string>,
|
||||||
|
"opendiscord:button-label":ODOptionData<string>,
|
||||||
|
"opendiscord:button-color":ODOptionData<api.ODValidButtonColor>,
|
||||||
|
|
||||||
|
"opendiscord:roles":ODOptionData<string[]>,
|
||||||
|
"opendiscord:mode":ODOptionData<ODRoleUpdateMode>,
|
||||||
|
"opendiscord:remove-roles-on-add":ODOptionData<string[]>,
|
||||||
|
"opendiscord:add-on-join":ODOptionData<boolean>
|
||||||
|
}
|
||||||
|
|
||||||
/**## ODOptionManager `class`
|
/**## ODOptionManager `class`
|
||||||
* This is an Open Ticket option manager.
|
* This is an Open Ticket option manager.
|
||||||
*
|
*
|
||||||
@@ -128,61 +220,6 @@ export class ODOptionData<DataType extends api.ODValidJsonType> extends api.ODMa
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**## ODTicketOptionIds `type`
|
|
||||||
* This interface is a list of ids available in the `ODTicketOption` class.
|
|
||||||
* It's used to generate typescript declarations for this class.
|
|
||||||
*/
|
|
||||||
export interface ODTicketOptionIds {
|
|
||||||
"opendiscord:name":ODOptionData<string>,
|
|
||||||
"opendiscord:description":ODOptionData<string>,
|
|
||||||
|
|
||||||
"opendiscord:button-emoji":ODOptionData<string>,
|
|
||||||
"opendiscord:button-label":ODOptionData<string>,
|
|
||||||
"opendiscord:button-color":ODOptionData<api.ODValidButtonColor>,
|
|
||||||
|
|
||||||
"opendiscord:admins":ODOptionData<string[]>,
|
|
||||||
"opendiscord:admins-readonly":ODOptionData<string[]>,
|
|
||||||
"opendiscord:allow-blacklisted-users":ODOptionData<boolean>,
|
|
||||||
"opendiscord:questions":ODOptionData<string[]>,
|
|
||||||
|
|
||||||
"opendiscord:channel-prefix":ODOptionData<string>,
|
|
||||||
"opendiscord:channel-suffix":ODOptionData<"user-name"|"user-nickname"|"user-id"|"random-number"|"random-hex"|"counter-dynamic"|"counter-fixed">,
|
|
||||||
"opendiscord:channel-category":ODOptionData<string>,
|
|
||||||
"opendiscord:channel-category-closed":ODOptionData<string>,
|
|
||||||
"opendiscord:channel-category-backup":ODOptionData<string>,
|
|
||||||
"opendiscord:channel-categories-claimed":ODOptionData<{user:string,category:string}[]>,
|
|
||||||
"opendiscord:channel-topic":ODOptionData<string>,
|
|
||||||
|
|
||||||
"opendiscord:dm-message-enabled":ODOptionData<boolean>,
|
|
||||||
"opendiscord:dm-message-text":ODOptionData<string>,
|
|
||||||
"opendiscord:dm-message-embed":ODOptionData<ODOptionsJsonConfig_TicketOptionEmbedSettings>,
|
|
||||||
|
|
||||||
"opendiscord:ticket-message-enabled":ODOptionData<boolean>,
|
|
||||||
"opendiscord:ticket-message-text":ODOptionData<string>,
|
|
||||||
"opendiscord:ticket-message-embed":ODOptionData<ODOptionsJsonConfig_TicketOptionEmbedSettings>,
|
|
||||||
"opendiscord:ticket-message-ping":ODOptionData<ODOptionsJsonConfig_TicketOptionPingSettings>,
|
|
||||||
|
|
||||||
"opendiscord:autoclose-enable-hours":ODOptionData<boolean>,
|
|
||||||
"opendiscord:autoclose-enable-leave":ODOptionData<boolean>,
|
|
||||||
"opendiscord:autoclose-disable-claim":ODOptionData<boolean>,
|
|
||||||
"opendiscord:autoclose-hours":ODOptionData<number>,
|
|
||||||
|
|
||||||
"opendiscord:autodelete-enable-days":ODOptionData<boolean>,
|
|
||||||
"opendiscord:autodelete-enable-leave":ODOptionData<boolean>,
|
|
||||||
"opendiscord:autodelete-disable-claim":ODOptionData<boolean>,
|
|
||||||
"opendiscord:autodelete-days":ODOptionData<number>,
|
|
||||||
|
|
||||||
"opendiscord:cooldown-enabled":ODOptionData<boolean>,
|
|
||||||
"opendiscord:cooldown-minutes":ODOptionData<number>,
|
|
||||||
|
|
||||||
"opendiscord:limits-enabled":ODOptionData<boolean>,
|
|
||||||
"opendiscord:limits-maximum-global":ODOptionData<number>,
|
|
||||||
"opendiscord:limits-maximum-user":ODOptionData<number>
|
|
||||||
|
|
||||||
"opendiscord:slowmode-enabled":ODOptionData<boolean>,
|
|
||||||
"opendiscord:slowmode-seconds":ODOptionData<number>,
|
|
||||||
}
|
|
||||||
|
|
||||||
/**## ODTicketOption `class`
|
/**## ODTicketOption `class`
|
||||||
* This is an Open Ticket ticket option.
|
* This is an Open Ticket ticket option.
|
||||||
*
|
*
|
||||||
@@ -197,21 +234,21 @@ export class ODTicketOption extends ODOption {
|
|||||||
super(id,"opendiscord:ticket",data)
|
super(id,"opendiscord:ticket",data)
|
||||||
}
|
}
|
||||||
|
|
||||||
get<OptionId extends keyof ODTicketOptionIds>(id:OptionId): ODTicketOptionIds[OptionId]
|
get<OptionId extends keyof ODTicketOptionIdMappings>(id:OptionId): ODTicketOptionIdMappings[OptionId]
|
||||||
get(id:api.ODValidId): ODOptionData<api.ODValidJsonType>|null
|
get(id:api.ODValidId): ODOptionData<api.ODValidJsonType>|null
|
||||||
|
|
||||||
get(id:api.ODValidId): ODOptionData<api.ODValidJsonType>|null {
|
get(id:api.ODValidId): ODOptionData<api.ODValidJsonType>|null {
|
||||||
return super.get(id)
|
return super.get(id)
|
||||||
}
|
}
|
||||||
|
|
||||||
remove<OptionId extends keyof ODTicketOptionIds>(id:OptionId): ODTicketOptionIds[OptionId]
|
remove<OptionId extends keyof ODTicketOptionIdMappings>(id:OptionId): ODTicketOptionIdMappings[OptionId]
|
||||||
remove(id:api.ODValidId): ODOptionData<api.ODValidJsonType>|null
|
remove(id:api.ODValidId): ODOptionData<api.ODValidJsonType>|null
|
||||||
|
|
||||||
remove(id:api.ODValidId): ODOptionData<api.ODValidJsonType>|null {
|
remove(id:api.ODValidId): ODOptionData<api.ODValidJsonType>|null {
|
||||||
return super.remove(id)
|
return super.remove(id)
|
||||||
}
|
}
|
||||||
|
|
||||||
exists(id:keyof ODTicketOptionIds): boolean
|
exists(id:keyof ODTicketOptionIdMappings): boolean
|
||||||
exists(id:api.ODValidId): boolean
|
exists(id:api.ODValidId): boolean
|
||||||
|
|
||||||
exists(id:api.ODValidId): boolean {
|
exists(id:api.ODValidId): boolean {
|
||||||
@@ -223,20 +260,6 @@ export class ODTicketOption extends ODOption {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**## ODWebsiteOptionIds `type`
|
|
||||||
* This interface is a list of ids available in the `ODWebsiteOption` class.
|
|
||||||
* It's used to generate typescript declarations for this class.
|
|
||||||
*/
|
|
||||||
export interface ODWebsiteOptionIds {
|
|
||||||
"opendiscord:name":ODOptionData<string>,
|
|
||||||
"opendiscord:description":ODOptionData<string>,
|
|
||||||
|
|
||||||
"opendiscord:button-emoji":ODOptionData<string>,
|
|
||||||
"opendiscord:button-label":ODOptionData<string>,
|
|
||||||
|
|
||||||
"opendiscord:url":ODOptionData<string>,
|
|
||||||
}
|
|
||||||
|
|
||||||
/**## ODWebsiteOption `class`
|
/**## ODWebsiteOption `class`
|
||||||
* This is an Open Ticket website option.
|
* This is an Open Ticket website option.
|
||||||
*
|
*
|
||||||
@@ -251,21 +274,21 @@ export class ODWebsiteOption extends ODOption {
|
|||||||
super(id,"opendiscord:website",data)
|
super(id,"opendiscord:website",data)
|
||||||
}
|
}
|
||||||
|
|
||||||
get<OptionId extends keyof ODWebsiteOptionIds>(id:OptionId): ODWebsiteOptionIds[OptionId]
|
get<OptionId extends keyof ODWebsiteOptionIdMappings>(id:OptionId): ODWebsiteOptionIdMappings[OptionId]
|
||||||
get(id:api.ODValidId): ODOptionData<api.ODValidJsonType>|null
|
get(id:api.ODValidId): ODOptionData<api.ODValidJsonType>|null
|
||||||
|
|
||||||
get(id:api.ODValidId): ODOptionData<api.ODValidJsonType>|null {
|
get(id:api.ODValidId): ODOptionData<api.ODValidJsonType>|null {
|
||||||
return super.get(id)
|
return super.get(id)
|
||||||
}
|
}
|
||||||
|
|
||||||
remove<OptionId extends keyof ODWebsiteOptionIds>(id:OptionId): ODWebsiteOptionIds[OptionId]
|
remove<OptionId extends keyof ODWebsiteOptionIdMappings>(id:OptionId): ODWebsiteOptionIdMappings[OptionId]
|
||||||
remove(id:api.ODValidId): ODOptionData<api.ODValidJsonType>|null
|
remove(id:api.ODValidId): ODOptionData<api.ODValidJsonType>|null
|
||||||
|
|
||||||
remove(id:api.ODValidId): ODOptionData<api.ODValidJsonType>|null {
|
remove(id:api.ODValidId): ODOptionData<api.ODValidJsonType>|null {
|
||||||
return super.remove(id)
|
return super.remove(id)
|
||||||
}
|
}
|
||||||
|
|
||||||
exists(id:keyof ODWebsiteOptionIds): boolean
|
exists(id:keyof ODWebsiteOptionIdMappings): boolean
|
||||||
exists(id:api.ODValidId): boolean
|
exists(id:api.ODValidId): boolean
|
||||||
|
|
||||||
exists(id:api.ODValidId): boolean {
|
exists(id:api.ODValidId): boolean {
|
||||||
@@ -277,24 +300,6 @@ export class ODWebsiteOption extends ODOption {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**## ODRoleOptionIds `type`
|
|
||||||
* This interface is a list of ids available in the `ODRoleOption` class.
|
|
||||||
* It's used to generate typescript declarations for this class.
|
|
||||||
*/
|
|
||||||
export interface ODRoleOptionIds {
|
|
||||||
"opendiscord:name":ODOptionData<string>,
|
|
||||||
"opendiscord:description":ODOptionData<string>,
|
|
||||||
|
|
||||||
"opendiscord:button-emoji":ODOptionData<string>,
|
|
||||||
"opendiscord:button-label":ODOptionData<string>,
|
|
||||||
"opendiscord:button-color":ODOptionData<api.ODValidButtonColor>,
|
|
||||||
|
|
||||||
"opendiscord:roles":ODOptionData<string[]>,
|
|
||||||
"opendiscord:mode":ODOptionData<ODRoleUpdateMode>,
|
|
||||||
"opendiscord:remove-roles-on-add":ODOptionData<string[]>,
|
|
||||||
"opendiscord:add-on-join":ODOptionData<boolean>
|
|
||||||
}
|
|
||||||
|
|
||||||
/**## ODRoleOption `class`
|
/**## ODRoleOption `class`
|
||||||
* This is an Open Ticket role option.
|
* This is an Open Ticket role option.
|
||||||
*
|
*
|
||||||
@@ -309,21 +314,21 @@ export class ODRoleOption extends ODOption {
|
|||||||
super(id,"opendiscord:role",data)
|
super(id,"opendiscord:role",data)
|
||||||
}
|
}
|
||||||
|
|
||||||
get<OptionId extends keyof ODRoleOptionIds>(id:OptionId): ODRoleOptionIds[OptionId]
|
get<OptionId extends keyof ODRoleOptionIdMappings>(id:OptionId): ODRoleOptionIdMappings[OptionId]
|
||||||
get(id:api.ODValidId): ODOptionData<api.ODValidJsonType>|null
|
get(id:api.ODValidId): ODOptionData<api.ODValidJsonType>|null
|
||||||
|
|
||||||
get(id:api.ODValidId): ODOptionData<api.ODValidJsonType>|null {
|
get(id:api.ODValidId): ODOptionData<api.ODValidJsonType>|null {
|
||||||
return super.get(id)
|
return super.get(id)
|
||||||
}
|
}
|
||||||
|
|
||||||
remove<OptionId extends keyof ODRoleOptionIds>(id:OptionId): ODRoleOptionIds[OptionId]
|
remove<OptionId extends keyof ODRoleOptionIdMappings>(id:OptionId): ODRoleOptionIdMappings[OptionId]
|
||||||
remove(id:api.ODValidId): ODOptionData<api.ODValidJsonType>|null
|
remove(id:api.ODValidId): ODOptionData<api.ODValidJsonType>|null
|
||||||
|
|
||||||
remove(id:api.ODValidId): ODOptionData<api.ODValidJsonType>|null {
|
remove(id:api.ODValidId): ODOptionData<api.ODValidJsonType>|null {
|
||||||
return super.remove(id)
|
return super.remove(id)
|
||||||
}
|
}
|
||||||
|
|
||||||
exists(id:keyof ODRoleOptionIds): boolean
|
exists(id:keyof ODRoleOptionIdMappings): boolean
|
||||||
exists(id:api.ODValidId): boolean
|
exists(id:api.ODValidId): boolean
|
||||||
|
|
||||||
exists(id:api.ODValidId): boolean {
|
exists(id:api.ODValidId): boolean {
|
||||||
@@ -376,7 +381,7 @@ export class ODOptionSuffixManager extends api.ODManager<ODOptionSuffix> {
|
|||||||
*
|
*
|
||||||
* Use `getSuffix()` to get the new suffix!
|
* Use `getSuffix()` to get the new suffix!
|
||||||
*/
|
*/
|
||||||
export class ODOptionSuffix extends api.ODManagerData {
|
export abstract class ODOptionSuffix extends api.ODManagerData {
|
||||||
/**The option of this suffix. */
|
/**The option of this suffix. */
|
||||||
option: ODTicketOption
|
option: ODTicketOption
|
||||||
|
|
||||||
@@ -386,9 +391,7 @@ export class ODOptionSuffix extends api.ODManagerData {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**Get the suffix for a new ticket. */
|
/**Get the suffix for a new ticket. */
|
||||||
async getSuffix(member:discord.GuildMember): Promise<string> {
|
abstract getSuffix(member:discord.GuildMember): Promise<string>
|
||||||
throw new api.ODSystemError("Tried to use an unimplemented ODOptionSuffix!")
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**## ODOptionUserNameSuffix `class`
|
/**## ODOptionUserNameSuffix `class`
|
||||||
|
|||||||
+33
-27
@@ -4,6 +4,36 @@
|
|||||||
import * as api from "@open-discord-bots/framework/api"
|
import * as api from "@open-discord-bots/framework/api"
|
||||||
import { ODPanelsJsonConfig_PanelEmbedSettings } from "../mappings/config.js"
|
import { ODPanelsJsonConfig_PanelEmbedSettings } from "../mappings/config.js"
|
||||||
|
|
||||||
|
|
||||||
|
/**## ODPanelIdConstraint `type`
|
||||||
|
* The constraint/layout for id mappings/interfaces of the `ODPanel` class.
|
||||||
|
*/
|
||||||
|
export type ODPanelIdConstraint = Record<string,ODPanelData<api.ODValidJsonType>>
|
||||||
|
|
||||||
|
/**## ODPanelIdMappings `interface`
|
||||||
|
* A list of all available IDs in the default `ODPanel` class in `opendiscord`.
|
||||||
|
* It's used to generate typescript declarations for this class.
|
||||||
|
*/
|
||||||
|
export interface ODPanelIdMappings extends ODPanelIdConstraint {
|
||||||
|
"opendiscord:name":ODPanelData<string>,
|
||||||
|
"opendiscord:options":ODPanelData<string[]>,
|
||||||
|
"opendiscord:dropdown":ODPanelData<boolean>,
|
||||||
|
|
||||||
|
"opendiscord:text":ODPanelData<string>,
|
||||||
|
"opendiscord:embed":ODPanelData<ODPanelsJsonConfig_PanelEmbedSettings>,
|
||||||
|
|
||||||
|
"opendiscord:dropdown-placeholder":ODPanelData<string>,
|
||||||
|
|
||||||
|
"opendiscord:enable-max-tickets-warning-text":ODPanelData<boolean>,
|
||||||
|
"opendiscord:enable-max-tickets-warning-embed":ODPanelData<boolean>,
|
||||||
|
|
||||||
|
"opendiscord:describe-options-layout":ODPanelData<"simple"|"normal"|"detailed">,
|
||||||
|
"opendiscord:describe-options-custom-title":ODPanelData<string>,
|
||||||
|
"opendiscord:describe-options-in-text":ODPanelData<boolean>,
|
||||||
|
"opendiscord:describe-options-in-embed-fields":ODPanelData<boolean>,
|
||||||
|
"opendiscord:describe-options-in-embed-description":ODPanelData<boolean>
|
||||||
|
}
|
||||||
|
|
||||||
/**## ODPanelManager `class`
|
/**## ODPanelManager `class`
|
||||||
* This is an Open Ticket panel manager.
|
* This is an Open Ticket panel manager.
|
||||||
*
|
*
|
||||||
@@ -44,30 +74,6 @@ export interface ODPanelJson {
|
|||||||
data:ODPanelDataJson[]
|
data:ODPanelDataJson[]
|
||||||
}
|
}
|
||||||
|
|
||||||
/**## ODPanelIds `type`
|
|
||||||
* This interface is a list of ids available in the `ODPanel` class.
|
|
||||||
* It's used to generate typescript declarations for this class.
|
|
||||||
*/
|
|
||||||
export interface ODPanelIds {
|
|
||||||
"opendiscord:name":ODPanelData<string>,
|
|
||||||
"opendiscord:options":ODPanelData<string[]>,
|
|
||||||
"opendiscord:dropdown":ODPanelData<boolean>,
|
|
||||||
|
|
||||||
"opendiscord:text":ODPanelData<string>,
|
|
||||||
"opendiscord:embed":ODPanelData<ODPanelsJsonConfig_PanelEmbedSettings>,
|
|
||||||
|
|
||||||
"opendiscord:dropdown-placeholder":ODPanelData<string>,
|
|
||||||
|
|
||||||
"opendiscord:enable-max-tickets-warning-text":ODPanelData<boolean>,
|
|
||||||
"opendiscord:enable-max-tickets-warning-embed":ODPanelData<boolean>,
|
|
||||||
|
|
||||||
"opendiscord:describe-options-layout":ODPanelData<"simple"|"normal"|"detailed">,
|
|
||||||
"opendiscord:describe-options-custom-title":ODPanelData<string>,
|
|
||||||
"opendiscord:describe-options-in-text":ODPanelData<boolean>,
|
|
||||||
"opendiscord:describe-options-in-embed-fields":ODPanelData<boolean>,
|
|
||||||
"opendiscord:describe-options-in-embed-description":ODPanelData<boolean>
|
|
||||||
}
|
|
||||||
|
|
||||||
/**## ODPanel `class`
|
/**## ODPanel `class`
|
||||||
* This is an Open Ticket panel.
|
* This is an Open Ticket panel.
|
||||||
*
|
*
|
||||||
@@ -106,21 +112,21 @@ export class ODPanel extends api.ODManager<ODPanelData<api.ODValidJsonType>> {
|
|||||||
return new ODPanel(json.id,json.data.map((data) => new ODPanelData(data.id,data.value)))
|
return new ODPanel(json.id,json.data.map((data) => new ODPanelData(data.id,data.value)))
|
||||||
}
|
}
|
||||||
|
|
||||||
get<PanelId extends keyof ODPanelIds>(id:PanelId): ODPanelIds[PanelId]
|
get<PanelId extends keyof ODPanelIdMappings>(id:PanelId): ODPanelIdMappings[PanelId]
|
||||||
get(id:api.ODValidId): ODPanelData<api.ODValidJsonType>|null
|
get(id:api.ODValidId): ODPanelData<api.ODValidJsonType>|null
|
||||||
|
|
||||||
get(id:api.ODValidId): ODPanelData<api.ODValidJsonType>|null {
|
get(id:api.ODValidId): ODPanelData<api.ODValidJsonType>|null {
|
||||||
return super.get(id)
|
return super.get(id)
|
||||||
}
|
}
|
||||||
|
|
||||||
remove<PanelId extends keyof ODPanelIds>(id:PanelId): ODPanelIds[PanelId]
|
remove<PanelId extends keyof ODPanelIdMappings>(id:PanelId): ODPanelIdMappings[PanelId]
|
||||||
remove(id:api.ODValidId): ODPanelData<api.ODValidJsonType>|null
|
remove(id:api.ODValidId): ODPanelData<api.ODValidJsonType>|null
|
||||||
|
|
||||||
remove(id:api.ODValidId): ODPanelData<api.ODValidJsonType>|null {
|
remove(id:api.ODValidId): ODPanelData<api.ODValidJsonType>|null {
|
||||||
return super.remove(id)
|
return super.remove(id)
|
||||||
}
|
}
|
||||||
|
|
||||||
exists(id:keyof ODPanelIds): boolean
|
exists(id:keyof ODPanelIdMappings): boolean
|
||||||
exists(id:api.ODValidId): boolean
|
exists(id:api.ODValidId): boolean
|
||||||
|
|
||||||
exists(id:api.ODValidId): boolean {
|
exists(id:api.ODValidId): boolean {
|
||||||
|
|||||||
+39
-33
@@ -3,6 +3,39 @@
|
|||||||
///////////////////////////////////////
|
///////////////////////////////////////
|
||||||
import * as api from "@open-discord-bots/framework/api"
|
import * as api from "@open-discord-bots/framework/api"
|
||||||
|
|
||||||
|
/**## ODQuestionIdConstraint `type`
|
||||||
|
* The constraint/layout for id mappings/interfaces of the `ODQuestion` class.
|
||||||
|
*/
|
||||||
|
export type ODQuestionIdConstraint = Record<string,ODQuestionData<api.ODValidJsonType>>
|
||||||
|
|
||||||
|
/**## ODShortQuestionIdMappings `interface`
|
||||||
|
* A list of all available IDs in the default `ODShortQuestion` class in `opendiscord`.
|
||||||
|
* It's used to generate typescript declarations for this class.
|
||||||
|
*/
|
||||||
|
export interface ODShortQuestionIdMappings extends ODQuestionIdConstraint {
|
||||||
|
"opendiscord:name":ODQuestionData<string>,
|
||||||
|
"opendiscord:required":ODQuestionData<boolean>,
|
||||||
|
"opendiscord:placeholder":ODQuestionData<string>,
|
||||||
|
|
||||||
|
"opendiscord:length-enabled":ODQuestionData<boolean>,
|
||||||
|
"opendiscord:length-min":ODQuestionData<number>,
|
||||||
|
"opendiscord:length-max":ODQuestionData<number>
|
||||||
|
}
|
||||||
|
|
||||||
|
/**## ODParagraphQuestionIdMappings `interface`
|
||||||
|
* A list of all available IDs in the default `ODParagraphQuestion` class in `opendiscord`.
|
||||||
|
* It's used to generate typescript declarations for this class.
|
||||||
|
*/
|
||||||
|
export interface ODParagraphQuestionIdMappings extends ODQuestionIdConstraint {
|
||||||
|
"opendiscord:name":ODQuestionData<string>,
|
||||||
|
"opendiscord:required":ODQuestionData<boolean>,
|
||||||
|
"opendiscord:placeholder":ODQuestionData<string>,
|
||||||
|
|
||||||
|
"opendiscord:length-enabled":ODQuestionData<boolean>,
|
||||||
|
"opendiscord:length-min":ODQuestionData<number>,
|
||||||
|
"opendiscord:length-max":ODQuestionData<number>
|
||||||
|
}
|
||||||
|
|
||||||
/**## ODQuestionManager `class`
|
/**## ODQuestionManager `class`
|
||||||
* This is an Open Ticket question manager.
|
* This is an Open Ticket question manager.
|
||||||
*
|
*
|
||||||
@@ -120,19 +153,6 @@ export class ODQuestionData<DataType extends api.ODValidJsonType> extends api.OD
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**## ODShortQuestionIds `type`
|
|
||||||
* This interface is a list of ids available in the `ODShortQuestion` class.
|
|
||||||
* It's used to generate typescript declarations for this class.
|
|
||||||
*/
|
|
||||||
export interface ODShortQuestionIds {
|
|
||||||
"opendiscord:name":ODQuestionData<string>,
|
|
||||||
"opendiscord:required":ODQuestionData<boolean>,
|
|
||||||
"opendiscord:placeholder":ODQuestionData<string>,
|
|
||||||
|
|
||||||
"opendiscord:length-enabled":ODQuestionData<boolean>,
|
|
||||||
"opendiscord:length-min":ODQuestionData<number>,
|
|
||||||
"opendiscord:length-max":ODQuestionData<number>
|
|
||||||
}
|
|
||||||
|
|
||||||
/**## ODShortQuestion `class`
|
/**## ODShortQuestion `class`
|
||||||
* This is an Open Ticket short question.
|
* This is an Open Ticket short question.
|
||||||
@@ -148,21 +168,21 @@ export class ODShortQuestion extends ODQuestion {
|
|||||||
super(id,"opendiscord:short",data)
|
super(id,"opendiscord:short",data)
|
||||||
}
|
}
|
||||||
|
|
||||||
get<QuestionId extends keyof ODShortQuestionIds>(id:QuestionId): ODShortQuestionIds[QuestionId]
|
get<QuestionId extends keyof ODShortQuestionIdMappings>(id:QuestionId): ODShortQuestionIdMappings[QuestionId]
|
||||||
get(id:api.ODValidId): ODQuestionData<api.ODValidJsonType>|null
|
get(id:api.ODValidId): ODQuestionData<api.ODValidJsonType>|null
|
||||||
|
|
||||||
get(id:api.ODValidId): ODQuestionData<api.ODValidJsonType>|null {
|
get(id:api.ODValidId): ODQuestionData<api.ODValidJsonType>|null {
|
||||||
return super.get(id)
|
return super.get(id)
|
||||||
}
|
}
|
||||||
|
|
||||||
remove<QuestionId extends keyof ODShortQuestionIds>(id:QuestionId): ODShortQuestionIds[QuestionId]
|
remove<QuestionId extends keyof ODShortQuestionIdMappings>(id:QuestionId): ODShortQuestionIdMappings[QuestionId]
|
||||||
remove(id:api.ODValidId): ODQuestionData<api.ODValidJsonType>|null
|
remove(id:api.ODValidId): ODQuestionData<api.ODValidJsonType>|null
|
||||||
|
|
||||||
remove(id:api.ODValidId): ODQuestionData<api.ODValidJsonType>|null {
|
remove(id:api.ODValidId): ODQuestionData<api.ODValidJsonType>|null {
|
||||||
return super.remove(id)
|
return super.remove(id)
|
||||||
}
|
}
|
||||||
|
|
||||||
exists(id:keyof ODShortQuestionIds): boolean
|
exists(id:keyof ODShortQuestionIdMappings): boolean
|
||||||
exists(id:api.ODValidId): boolean
|
exists(id:api.ODValidId): boolean
|
||||||
|
|
||||||
exists(id:api.ODValidId): boolean {
|
exists(id:api.ODValidId): boolean {
|
||||||
@@ -174,20 +194,6 @@ export class ODShortQuestion extends ODQuestion {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**## ODParagraphQuestionIds `type`
|
|
||||||
* This interface is a list of ids available in the `ODParagraphQuestion` class.
|
|
||||||
* It's used to generate typescript declarations for this class.
|
|
||||||
*/
|
|
||||||
export interface ODParagraphQuestionIds {
|
|
||||||
"opendiscord:name":ODQuestionData<string>,
|
|
||||||
"opendiscord:required":ODQuestionData<boolean>,
|
|
||||||
"opendiscord:placeholder":ODQuestionData<string>,
|
|
||||||
|
|
||||||
"opendiscord:length-enabled":ODQuestionData<boolean>,
|
|
||||||
"opendiscord:length-min":ODQuestionData<number>,
|
|
||||||
"opendiscord:length-max":ODQuestionData<number>
|
|
||||||
}
|
|
||||||
|
|
||||||
/**## ODParagraphQuestion `class`
|
/**## ODParagraphQuestion `class`
|
||||||
* This is an Open Ticket paragraph question.
|
* This is an Open Ticket paragraph question.
|
||||||
*
|
*
|
||||||
@@ -202,21 +208,21 @@ export class ODParagraphQuestion extends ODQuestion {
|
|||||||
super(id,"opendiscord:paragraph",data)
|
super(id,"opendiscord:paragraph",data)
|
||||||
}
|
}
|
||||||
|
|
||||||
get<QuestionId extends keyof ODParagraphQuestionIds>(id:QuestionId): ODParagraphQuestionIds[QuestionId]
|
get<QuestionId extends keyof ODParagraphQuestionIdMappings>(id:QuestionId): ODParagraphQuestionIdMappings[QuestionId]
|
||||||
get(id:api.ODValidId): ODQuestionData<api.ODValidJsonType>|null
|
get(id:api.ODValidId): ODQuestionData<api.ODValidJsonType>|null
|
||||||
|
|
||||||
get(id:api.ODValidId): ODQuestionData<api.ODValidJsonType>|null {
|
get(id:api.ODValidId): ODQuestionData<api.ODValidJsonType>|null {
|
||||||
return super.get(id)
|
return super.get(id)
|
||||||
}
|
}
|
||||||
|
|
||||||
remove<QuestionId extends keyof ODParagraphQuestionIds>(id:QuestionId): ODParagraphQuestionIds[QuestionId]
|
remove<QuestionId extends keyof ODParagraphQuestionIdMappings>(id:QuestionId): ODParagraphQuestionIdMappings[QuestionId]
|
||||||
remove(id:api.ODValidId): ODQuestionData<api.ODValidJsonType>|null
|
remove(id:api.ODValidId): ODQuestionData<api.ODValidJsonType>|null
|
||||||
|
|
||||||
remove(id:api.ODValidId): ODQuestionData<api.ODValidJsonType>|null {
|
remove(id:api.ODValidId): ODQuestionData<api.ODValidJsonType>|null {
|
||||||
return super.remove(id)
|
return super.remove(id)
|
||||||
}
|
}
|
||||||
|
|
||||||
exists(id:keyof ODParagraphQuestionIds): boolean
|
exists(id:keyof ODParagraphQuestionIdMappings): boolean
|
||||||
exists(id:api.ODValidId): boolean
|
exists(id:api.ODValidId): boolean
|
||||||
|
|
||||||
exists(id:api.ODValidId): boolean {
|
exists(id:api.ODValidId): boolean {
|
||||||
|
|||||||
+19
-14
@@ -4,6 +4,22 @@
|
|||||||
import * as api from "@open-discord-bots/framework/api"
|
import * as api from "@open-discord-bots/framework/api"
|
||||||
import * as discord from "discord.js"
|
import * as discord from "discord.js"
|
||||||
|
|
||||||
|
/**## ODRoleIdConstraint `type`
|
||||||
|
* The constraint/layout for id mappings/interfaces of the `ODRole` class.
|
||||||
|
*/
|
||||||
|
export type ODRoleIdConstraint = Record<string,ODRoleData<api.ODValidJsonType>>
|
||||||
|
|
||||||
|
/**## ODRoleIdMappings `interface`
|
||||||
|
* A list of all available IDs in the default `ODRole` class in `opendiscord`.
|
||||||
|
* It's used to generate typescript declarations for this class.
|
||||||
|
*/
|
||||||
|
export interface ODRoleIdMappings extends ODRoleIdConstraint {
|
||||||
|
"opendiscord:roles":ODRoleData<string[]>,
|
||||||
|
"opendiscord:mode":ODRoleData<ODRoleUpdateMode>,
|
||||||
|
"opendiscord:remove-roles-on-add":ODRoleData<string[]>,
|
||||||
|
"opendiscord:add-on-join":ODRoleData<boolean>
|
||||||
|
}
|
||||||
|
|
||||||
/**## ODRoleManager `class`
|
/**## ODRoleManager `class`
|
||||||
* This is an Open Ticket role manager.
|
* This is an Open Ticket role manager.
|
||||||
*
|
*
|
||||||
@@ -44,17 +60,6 @@ export interface ODRoleJson {
|
|||||||
data:ODRoleDataJson[]
|
data:ODRoleDataJson[]
|
||||||
}
|
}
|
||||||
|
|
||||||
/**## ODRoleIds `type`
|
|
||||||
* This interface is a list of ids available in the `ODRole` class.
|
|
||||||
* It's used to generate typescript declarations for this class.
|
|
||||||
*/
|
|
||||||
export interface ODRoleIds {
|
|
||||||
"opendiscord:roles":ODRoleData<string[]>,
|
|
||||||
"opendiscord:mode":ODRoleData<ODRoleUpdateMode>,
|
|
||||||
"opendiscord:remove-roles-on-add":ODRoleData<string[]>,
|
|
||||||
"opendiscord:add-on-join":ODRoleData<boolean>
|
|
||||||
}
|
|
||||||
|
|
||||||
/**## ODRole `class`
|
/**## ODRole `class`
|
||||||
* This is an Open Ticket role.
|
* This is an Open Ticket role.
|
||||||
*
|
*
|
||||||
@@ -95,21 +100,21 @@ export class ODRole extends api.ODManager<ODRoleData<api.ODValidJsonType>> {
|
|||||||
return new ODRole(json.id,json.data.map((data) => new ODRoleData(data.id,data.value)))
|
return new ODRole(json.id,json.data.map((data) => new ODRoleData(data.id,data.value)))
|
||||||
}
|
}
|
||||||
|
|
||||||
get<OptionId extends keyof ODRoleIds>(id:OptionId): ODRoleIds[OptionId]
|
get<OptionId extends keyof ODRoleIdMappings>(id:OptionId): ODRoleIdMappings[OptionId]
|
||||||
get(id:api.ODValidId): ODRoleData<api.ODValidJsonType>|null
|
get(id:api.ODValidId): ODRoleData<api.ODValidJsonType>|null
|
||||||
|
|
||||||
get(id:api.ODValidId): ODRoleData<api.ODValidJsonType>|null {
|
get(id:api.ODValidId): ODRoleData<api.ODValidJsonType>|null {
|
||||||
return super.get(id)
|
return super.get(id)
|
||||||
}
|
}
|
||||||
|
|
||||||
remove<OptionId extends keyof ODRoleIds>(id:OptionId): ODRoleIds[OptionId]
|
remove<OptionId extends keyof ODRoleIdMappings>(id:OptionId): ODRoleIdMappings[OptionId]
|
||||||
remove(id:api.ODValidId): ODRoleData<api.ODValidJsonType>|null
|
remove(id:api.ODValidId): ODRoleData<api.ODValidJsonType>|null
|
||||||
|
|
||||||
remove(id:api.ODValidId): ODRoleData<api.ODValidJsonType>|null {
|
remove(id:api.ODValidId): ODRoleData<api.ODValidJsonType>|null {
|
||||||
return super.remove(id)
|
return super.remove(id)
|
||||||
}
|
}
|
||||||
|
|
||||||
exists(id:keyof ODRoleIds): boolean
|
exists(id:keyof ODRoleIdMappings): boolean
|
||||||
exists(id:api.ODValidId): boolean
|
exists(id:api.ODValidId): boolean
|
||||||
|
|
||||||
exists(id:api.ODValidId): boolean {
|
exists(id:api.ODValidId): boolean {
|
||||||
|
|||||||
+52
-47
@@ -5,6 +5,55 @@ import * as api from "@open-discord-bots/framework/api"
|
|||||||
import { ODTicketOption } from "./option.js"
|
import { ODTicketOption } from "./option.js"
|
||||||
import * as discord from "discord.js"
|
import * as discord from "discord.js"
|
||||||
|
|
||||||
|
/**## ODTicketIdConstraint `type`
|
||||||
|
* The constraint/layout for id mappings/interfaces of the `ODTicket` class.
|
||||||
|
*/
|
||||||
|
export type ODTicketIdConstraint = Record<string,ODTicketData<api.ODValidJsonType>>
|
||||||
|
|
||||||
|
/**## ODTicketIdMappings `interface`
|
||||||
|
* A list of all available IDs in the default `ODTicket` class in `opendiscord`.
|
||||||
|
* It's used to generate typescript declarations for this class.
|
||||||
|
*/
|
||||||
|
export interface ODTicketIdMappings extends ODTicketIdConstraint {
|
||||||
|
"opendiscord:busy":ODTicketData<boolean>,
|
||||||
|
"opendiscord:ticket-message":ODTicketData<string|null>,
|
||||||
|
"opendiscord:participants":ODTicketData<{type:"role"|"user",id:string}[]>,
|
||||||
|
"opendiscord:channel-suffix":ODTicketData<string>,
|
||||||
|
"opendiscord:previous-creators":ODTicketData<string[]>,
|
||||||
|
|
||||||
|
"opendiscord:open":ODTicketData<boolean>,
|
||||||
|
"opendiscord:opened-by":ODTicketData<string|null>,
|
||||||
|
"opendiscord:opened-on":ODTicketData<number|null>,
|
||||||
|
"opendiscord:closed":ODTicketData<boolean>,
|
||||||
|
"opendiscord:closed-by":ODTicketData<string|null>,
|
||||||
|
"opendiscord:closed-on":ODTicketData<number|null>,
|
||||||
|
"opendiscord:reopened":ODTicketData<boolean>,
|
||||||
|
"opendiscord:reopened-by":ODTicketData<string|null>,
|
||||||
|
"opendiscord:reopened-on":ODTicketData<number|null>,
|
||||||
|
"opendiscord:claimed":ODTicketData<boolean>,
|
||||||
|
"opendiscord:claimed-by":ODTicketData<string|null>,
|
||||||
|
"opendiscord:claimed-on":ODTicketData<number|null>,
|
||||||
|
"opendiscord:pinned":ODTicketData<boolean>,
|
||||||
|
"opendiscord:pinned-by":ODTicketData<string|null>,
|
||||||
|
"opendiscord:pinned-on":ODTicketData<number|null>,
|
||||||
|
"opendiscord:for-deletion":ODTicketData<boolean>,
|
||||||
|
|
||||||
|
"opendiscord:category":ODTicketData<string|null>,
|
||||||
|
"opendiscord:category-mode":ODTicketData<null|"normal"|"closed"|"backup"|"claimed">,
|
||||||
|
|
||||||
|
"opendiscord:autoclose-enabled":ODTicketData<boolean>,
|
||||||
|
"opendiscord:autoclose-hours":ODTicketData<number>,
|
||||||
|
"opendiscord:autoclosed":ODTicketData<boolean>,
|
||||||
|
"opendiscord:autodelete-enabled":ODTicketData<boolean>,
|
||||||
|
"opendiscord:autodelete-days":ODTicketData<number>,
|
||||||
|
|
||||||
|
"opendiscord:answers":ODTicketData<{id:string,name:string,type:"short"|"paragraph",value:string|null}[]>,
|
||||||
|
"opendiscord:priority":ODTicketData<number>,
|
||||||
|
"opendiscord:topic":ODTicketData<string>,
|
||||||
|
"opendiscord:message-sent":ODTicketData<boolean>,
|
||||||
|
"opendiscord:admin-message-sent":ODTicketData<boolean>,
|
||||||
|
}
|
||||||
|
|
||||||
/**## ODTicketManager `class`
|
/**## ODTicketManager `class`
|
||||||
* This is an Open Ticket ticket manager.
|
* This is an Open Ticket ticket manager.
|
||||||
*
|
*
|
||||||
@@ -144,50 +193,6 @@ export interface ODTicketJson {
|
|||||||
data:ODTicketDataJson[]
|
data:ODTicketDataJson[]
|
||||||
}
|
}
|
||||||
|
|
||||||
/**## ODTicketIds `type`
|
|
||||||
* This interface is a list of ids available in the `ODTicket` class.
|
|
||||||
* It's used to generate typescript declarations for this class.
|
|
||||||
*/
|
|
||||||
export interface ODTicketIds {
|
|
||||||
"opendiscord:busy":ODTicketData<boolean>,
|
|
||||||
"opendiscord:ticket-message":ODTicketData<string|null>,
|
|
||||||
"opendiscord:participants":ODTicketData<{type:"role"|"user",id:string}[]>,
|
|
||||||
"opendiscord:channel-suffix":ODTicketData<string>,
|
|
||||||
"opendiscord:previous-creators":ODTicketData<string[]>,
|
|
||||||
|
|
||||||
"opendiscord:open":ODTicketData<boolean>,
|
|
||||||
"opendiscord:opened-by":ODTicketData<string|null>,
|
|
||||||
"opendiscord:opened-on":ODTicketData<number|null>,
|
|
||||||
"opendiscord:closed":ODTicketData<boolean>,
|
|
||||||
"opendiscord:closed-by":ODTicketData<string|null>,
|
|
||||||
"opendiscord:closed-on":ODTicketData<number|null>,
|
|
||||||
"opendiscord:reopened":ODTicketData<boolean>,
|
|
||||||
"opendiscord:reopened-by":ODTicketData<string|null>,
|
|
||||||
"opendiscord:reopened-on":ODTicketData<number|null>,
|
|
||||||
"opendiscord:claimed":ODTicketData<boolean>,
|
|
||||||
"opendiscord:claimed-by":ODTicketData<string|null>,
|
|
||||||
"opendiscord:claimed-on":ODTicketData<number|null>,
|
|
||||||
"opendiscord:pinned":ODTicketData<boolean>,
|
|
||||||
"opendiscord:pinned-by":ODTicketData<string|null>,
|
|
||||||
"opendiscord:pinned-on":ODTicketData<number|null>,
|
|
||||||
"opendiscord:for-deletion":ODTicketData<boolean>,
|
|
||||||
|
|
||||||
"opendiscord:category":ODTicketData<string|null>,
|
|
||||||
"opendiscord:category-mode":ODTicketData<null|"normal"|"closed"|"backup"|"claimed">,
|
|
||||||
|
|
||||||
"opendiscord:autoclose-enabled":ODTicketData<boolean>,
|
|
||||||
"opendiscord:autoclose-hours":ODTicketData<number>,
|
|
||||||
"opendiscord:autoclosed":ODTicketData<boolean>,
|
|
||||||
"opendiscord:autodelete-enabled":ODTicketData<boolean>,
|
|
||||||
"opendiscord:autodelete-days":ODTicketData<number>,
|
|
||||||
|
|
||||||
"opendiscord:answers":ODTicketData<{id:string,name:string,type:"short"|"paragraph",value:string|null}[]>,
|
|
||||||
"opendiscord:priority":ODTicketData<number>,
|
|
||||||
"opendiscord:topic":ODTicketData<string>,
|
|
||||||
"opendiscord:message-sent":ODTicketData<boolean>,
|
|
||||||
"opendiscord:admin-message-sent":ODTicketData<boolean>,
|
|
||||||
}
|
|
||||||
|
|
||||||
/**## ODTicket `class`
|
/**## ODTicket `class`
|
||||||
* This is an Open Ticket ticket.
|
* This is an Open Ticket ticket.
|
||||||
*
|
*
|
||||||
@@ -241,21 +246,21 @@ export class ODTicket extends api.ODManager<ODTicketData<api.ODValidJsonType>> {
|
|||||||
return new ODTicket(json.id,option,json.data.map((data) => new ODTicketData(data.id,data.value)))
|
return new ODTicket(json.id,option,json.data.map((data) => new ODTicketData(data.id,data.value)))
|
||||||
}
|
}
|
||||||
|
|
||||||
get<OptionId extends keyof ODTicketIds>(id:OptionId): ODTicketIds[OptionId]
|
get<OptionId extends keyof ODTicketIdMappings>(id:OptionId): ODTicketIdMappings[OptionId]
|
||||||
get(id:api.ODValidId): ODTicketData<api.ODValidJsonType>|null
|
get(id:api.ODValidId): ODTicketData<api.ODValidJsonType>|null
|
||||||
|
|
||||||
get(id:api.ODValidId): ODTicketData<api.ODValidJsonType>|null {
|
get(id:api.ODValidId): ODTicketData<api.ODValidJsonType>|null {
|
||||||
return super.get(id)
|
return super.get(id)
|
||||||
}
|
}
|
||||||
|
|
||||||
remove<OptionId extends keyof ODTicketIds>(id:OptionId): ODTicketIds[OptionId]
|
remove<OptionId extends keyof ODTicketIdMappings>(id:OptionId): ODTicketIdMappings[OptionId]
|
||||||
remove(id:api.ODValidId): ODTicketData<api.ODValidJsonType>|null
|
remove(id:api.ODValidId): ODTicketData<api.ODValidJsonType>|null
|
||||||
|
|
||||||
remove(id:api.ODValidId): ODTicketData<api.ODValidJsonType>|null {
|
remove(id:api.ODValidId): ODTicketData<api.ODValidJsonType>|null {
|
||||||
return super.remove(id)
|
return super.remove(id)
|
||||||
}
|
}
|
||||||
|
|
||||||
exists(id:keyof ODTicketIds): boolean
|
exists(id:keyof ODTicketIdMappings): boolean
|
||||||
exists(id:api.ODValidId): boolean
|
exists(id:api.ODValidId): boolean
|
||||||
|
|
||||||
exists(id:api.ODValidId): boolean {
|
exists(id:api.ODValidId): boolean {
|
||||||
|
|||||||
Reference in New Issue
Block a user