@mostfeatured/dbi 0.2.16 → 0.2.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/dist/src/types/Components/HTMLComponentsV2/index.d.ts +4 -0
  2. package/dist/src/types/Components/HTMLComponentsV2/index.d.ts.map +1 -1
  3. package/dist/src/types/Components/HTMLComponentsV2/index.js +40 -5
  4. package/dist/src/types/Components/HTMLComponentsV2/index.js.map +1 -1
  5. package/dist/src/types/Event.d.ts +21 -13
  6. package/dist/src/types/Event.d.ts.map +1 -1
  7. package/dist/src/types/Event.js.map +1 -1
  8. package/dist/test/index.js +1 -1
  9. package/dist/test/index.js.map +1 -1
  10. package/generated/namespaceData.d.ts +3 -1
  11. package/package.json +6 -2
  12. package/.gitattributes +0 -2
  13. package/.hintrc +0 -8
  14. package/.vscode/settings.json +0 -3
  15. package/docs/ADVANCED_FEATURES.md +0 -840
  16. package/docs/API_REFERENCE.md +0 -929
  17. package/docs/CHAT_INPUT.md +0 -811
  18. package/docs/COMPONENTS.md +0 -1039
  19. package/docs/EVENTS.md +0 -568
  20. package/docs/GETTING_STARTED.md +0 -398
  21. package/docs/LOCALIZATION.md +0 -777
  22. package/docs/README.md +0 -345
  23. package/docs/SVELTE_COMPONENTS.md +0 -1111
  24. package/docs/llm/ADVANCED_FEATURES.txt +0 -521
  25. package/docs/llm/API_REFERENCE.txt +0 -659
  26. package/docs/llm/CHAT_INPUT.txt +0 -514
  27. package/docs/llm/COMPONENTS.txt +0 -595
  28. package/docs/llm/EVENTS.txt +0 -449
  29. package/docs/llm/GETTING_STARTED.txt +0 -296
  30. package/docs/llm/LOCALIZATION.txt +0 -501
  31. package/docs/llm/README.txt +0 -193
  32. package/docs/llm/SVELTE_COMPONENTS.txt +0 -566
  33. package/src/DBI.ts +0 -1007
  34. package/src/Events.ts +0 -189
  35. package/src/data/eventMap.json +0 -248
  36. package/src/index.ts +0 -23
  37. package/src/methods/handleMessageCommands.ts +0 -482
  38. package/src/methods/hookEventListeners.ts +0 -119
  39. package/src/methods/hookInteractionListeners.ts +0 -314
  40. package/src/methods/publishInteractions.ts +0 -256
  41. package/src/types/ApplicationRoleConnectionMetadata.ts +0 -19
  42. package/src/types/Builders/ButtonBuilder.ts +0 -53
  43. package/src/types/Builders/ChannelSelectMenuBuilder.ts +0 -53
  44. package/src/types/Builders/MentionableSelectMenuBuilder.ts +0 -53
  45. package/src/types/Builders/ModalBuilder.ts +0 -53
  46. package/src/types/Builders/RoleSelectMenuBuilder.ts +0 -53
  47. package/src/types/Builders/StringSelectMenuBuilder.ts +0 -53
  48. package/src/types/Builders/UserSelectMenuBuilder.ts +0 -53
  49. package/src/types/ChatInput/ChatInput.ts +0 -28
  50. package/src/types/ChatInput/ChatInputOptions.ts +0 -388
  51. package/src/types/Components/Button.ts +0 -39
  52. package/src/types/Components/ChannelSelectMenu.ts +0 -43
  53. package/src/types/Components/HTMLComponentsV2/HTMLComponentsV2Handlers.ts +0 -78
  54. package/src/types/Components/HTMLComponentsV2/index.ts +0 -761
  55. package/src/types/Components/HTMLComponentsV2/parser.ts +0 -649
  56. package/src/types/Components/HTMLComponentsV2/svelteParser.ts +0 -1503
  57. package/src/types/Components/HTMLComponentsV2/svelteRenderer.ts +0 -416
  58. package/src/types/Components/MentionableSelectMenu.ts +0 -43
  59. package/src/types/Components/Modal.ts +0 -46
  60. package/src/types/Components/RoleSelectMenu.ts +0 -43
  61. package/src/types/Components/StringSelectMenu.ts +0 -43
  62. package/src/types/Components/UserSelectMenu.ts +0 -43
  63. package/src/types/Event.ts +0 -145
  64. package/src/types/Interaction.ts +0 -100
  65. package/src/types/other/CustomEvent.ts +0 -19
  66. package/src/types/other/FakeMessageInteraction.ts +0 -408
  67. package/src/types/other/InteractionLocale.ts +0 -34
  68. package/src/types/other/Locale.ts +0 -70
  69. package/src/types/other/MessageContextMenu.ts +0 -27
  70. package/src/types/other/UserContextMenu.ts +0 -25
  71. package/src/utils/MemoryStore.ts +0 -28
  72. package/src/utils/UtilTypes.ts +0 -11
  73. package/src/utils/customId.ts +0 -49
  74. package/src/utils/permissions.ts +0 -5
  75. package/src/utils/recursiveImport.ts +0 -35
  76. package/src/utils/recursiveUnload.ts +0 -25
  77. package/src/utils/unloadModule.ts +0 -7
  78. package/test/index.ts +0 -176
  79. package/test/product-showcase.svelte +0 -558
  80. package/test/test.ts +0 -3
  81. package/tsconfig.json +0 -51
@@ -1,53 +0,0 @@
1
- import { BaseSelectMenuComponentData, MentionableSelectMenuComponentData } from "discord.js";
2
- import { defaultify } from "stuffs";
3
- import { NamespaceEnums } from "../../../generated/namespaceData";
4
- import { DBIMentionableSelectMenu } from "../Components/MentionableSelectMenu";
5
- import { RecursivePartial } from "../../utils/UtilTypes";
6
-
7
- export type DBIMentionableSelectMenuOverrides = RecursivePartial<Omit<MentionableSelectMenuComponentData, "customId" | "type">>
8
-
9
- export class DBIMentionableSelectMenuBuilder<TNamespace extends NamespaceEnums> {
10
- component: DBIMentionableSelectMenu<TNamespace>
11
- overrides: DBIMentionableSelectMenuOverrides;
12
- reference: { data: (string | number | object | boolean | null | undefined)[], ttl?: number };
13
- constructor(arg: { component: DBIMentionableSelectMenu<TNamespace>, overrides?: DBIMentionableSelectMenuOverrides, reference?: { data: (string | number | object | boolean | null | undefined)[], ttl?: number } }) {
14
- this.component = arg.component;
15
- this.overrides = arg.overrides ?? {};
16
- this.reference = arg.reference ?? { data: [] };
17
- }
18
-
19
- setTTL(ttl: number): DBIMentionableSelectMenuBuilder<TNamespace> {
20
- this.reference.ttl = ttl;
21
- return this;
22
- }
23
-
24
- addTTL(ttl: number): DBIMentionableSelectMenuBuilder<TNamespace> {
25
- this.reference.ttl = (this.reference.ttl ?? 0) + ttl;
26
- return this;
27
- }
28
-
29
- setData(...data: (string | number | object | boolean | null | undefined)[]): DBIMentionableSelectMenuBuilder<TNamespace> {
30
- this.reference.data = data;
31
- return this;
32
- }
33
-
34
- addData(...data: (string | number | object | boolean | null | undefined)[]): DBIMentionableSelectMenuBuilder<TNamespace> {
35
- this.reference.data = [...this.reference.data, ...data];
36
- return this;
37
- }
38
-
39
- setOverrides(overrides: DBIMentionableSelectMenuOverrides): DBIMentionableSelectMenuBuilder<TNamespace> {
40
- this.overrides = overrides;
41
- return this;
42
- }
43
-
44
- addOverrides(overrides: DBIMentionableSelectMenuOverrides): DBIMentionableSelectMenuBuilder<TNamespace> {
45
- this.overrides = defaultify(overrides, this.overrides, true);
46
- return this;
47
- }
48
-
49
- toJSON(): BaseSelectMenuComponentData {
50
- return this.component.toJSON({ overrides: this.overrides as any, reference: this.reference });
51
- }
52
-
53
- }
@@ -1,53 +0,0 @@
1
- import { ActionRowData, APIActionRowComponent, APITextInputComponent, JSONEncodable, ModalActionRowComponentData, ModalComponentData } from "discord.js";
2
- import { defaultify } from "stuffs";
3
- import { NamespaceEnums } from "../../../generated/namespaceData";
4
- import { DBIModal } from "../Components/Modal";
5
- import { RecursivePartial } from "../../utils/UtilTypes";
6
-
7
- export type DBIModalOverrides = RecursivePartial<{ components?: (JSONEncodable<APIActionRowComponent<APITextInputComponent>> | ActionRowData<ModalActionRowComponentData>)[], title?: string } & Omit<ModalComponentData, "customId" | "type" | "title" | "components">>
8
-
9
- export class DBIModalBuilder<TNamespace extends NamespaceEnums> {
10
- component: DBIModal<TNamespace>
11
- overrides: DBIModalOverrides;
12
- reference: { data: (string | number | object | boolean | null | undefined)[], ttl?: number };
13
- constructor(arg: { component: DBIModal<TNamespace>, overrides?: DBIModalOverrides, reference?: { data: (string | number | object | boolean | null | undefined)[], ttl?: number } }) {
14
- this.component = arg.component;
15
- this.overrides = arg.overrides ?? {};
16
- this.reference = arg.reference ?? { data: [] };
17
- }
18
-
19
- setTTL(ttl: number): DBIModalBuilder<TNamespace> {
20
- this.reference.ttl = ttl;
21
- return this;
22
- }
23
-
24
- addTTL(ttl: number): DBIModalBuilder<TNamespace> {
25
- this.reference.ttl = (this.reference.ttl ?? 0) + ttl;
26
- return this;
27
- }
28
-
29
- setData(...data: (string | number | object | boolean | null | undefined)[]): DBIModalBuilder<TNamespace> {
30
- this.reference.data = data;
31
- return this;
32
- }
33
-
34
- addData(...data: (string | number | object | boolean | null | undefined)[]): DBIModalBuilder<TNamespace> {
35
- this.reference.data = [...this.reference.data, ...data];
36
- return this;
37
- }
38
-
39
- setOverrides(overrides: DBIModalOverrides): DBIModalBuilder<TNamespace> {
40
- this.overrides = overrides;
41
- return this;
42
- }
43
-
44
- addOverrides(overrides: DBIModalOverrides): DBIModalBuilder<TNamespace> {
45
- this.overrides = defaultify(overrides, this.overrides, true);
46
- return this;
47
- }
48
-
49
- toJSON(): ModalComponentData {
50
- return this.component.toJSON({ overrides: this.overrides, reference: this.reference });
51
- }
52
-
53
- }
@@ -1,53 +0,0 @@
1
- import { BaseSelectMenuComponentData, RoleSelectMenuComponentData } from "discord.js";
2
- import { defaultify } from "stuffs";
3
- import { NamespaceEnums } from "../../../generated/namespaceData";
4
- import { DBIRoleSelectMenu } from "../Components/RoleSelectMenu";
5
- import { RecursivePartial } from "../../utils/UtilTypes";
6
-
7
- export type DBIRoleSelectMenuOverrides = RecursivePartial<Omit<RoleSelectMenuComponentData, "customId" | "type">>
8
-
9
- export class DBIRoleSelectMenuBuilder<TNamespace extends NamespaceEnums> {
10
- component: DBIRoleSelectMenu<TNamespace>
11
- overrides: Partial<DBIRoleSelectMenuOverrides>;
12
- reference: { data: (string | number | object | boolean | null | undefined)[], ttl?: number };
13
- constructor(arg: { component: DBIRoleSelectMenu<TNamespace>, overrides?: DBIRoleSelectMenuOverrides, reference?: { data: (string | number | object | boolean | null | undefined)[], ttl?: number } }) {
14
- this.component = arg.component;
15
- this.overrides = arg.overrides ?? {};
16
- this.reference = arg.reference ?? { data: [] };
17
- }
18
-
19
- setTTL(ttl: number): DBIRoleSelectMenuBuilder<TNamespace> {
20
- this.reference.ttl = ttl;
21
- return this;
22
- }
23
-
24
- addTTL(ttl: number): DBIRoleSelectMenuBuilder<TNamespace> {
25
- this.reference.ttl = (this.reference.ttl ?? 0) + ttl;
26
- return this;
27
- }
28
-
29
- setData(...data: (string | number | object | boolean | null | undefined)[]): DBIRoleSelectMenuBuilder<TNamespace> {
30
- this.reference.data = data;
31
- return this;
32
- }
33
-
34
- addData(...data: (string | number | object | boolean | null | undefined)[]): DBIRoleSelectMenuBuilder<TNamespace> {
35
- this.reference.data = [...this.reference.data, ...data];
36
- return this;
37
- }
38
-
39
- setOverrides(overrides: DBIRoleSelectMenuOverrides): DBIRoleSelectMenuBuilder<TNamespace> {
40
- this.overrides = overrides;
41
- return this;
42
- }
43
-
44
- addOverrides(overrides: DBIRoleSelectMenuOverrides): DBIRoleSelectMenuBuilder<TNamespace> {
45
- this.overrides = defaultify(overrides, this.overrides, true);
46
- return this;
47
- }
48
-
49
- toJSON(): BaseSelectMenuComponentData {
50
- return this.component.toJSON({ overrides: this.overrides as any, reference: this.reference });
51
- }
52
-
53
- }
@@ -1,53 +0,0 @@
1
- import { BaseSelectMenuComponentData, StringSelectMenuComponentData } from "discord.js";
2
- import { defaultify } from "stuffs";
3
- import { NamespaceEnums } from "../../../generated/namespaceData";
4
- import { DBIStringSelectMenu } from "../Components/StringSelectMenu";
5
- import { RecursivePartial } from "../../utils/UtilTypes";
6
-
7
- export type DBIStringSelectMenuOverrides = RecursivePartial<Omit<StringSelectMenuComponentData, "customId" | "type">>
8
-
9
- export class DBIStringSelectMenuBuilder<TNamespace extends NamespaceEnums> {
10
- component: DBIStringSelectMenu<TNamespace>
11
- overrides: DBIStringSelectMenuOverrides;
12
- reference: { data: (string | number | object | boolean | null | undefined)[], ttl?: number };
13
- constructor(arg: { component: DBIStringSelectMenu<TNamespace>, overrides?: DBIStringSelectMenuOverrides, reference?: { data: (string | number | object | boolean | null | undefined)[], ttl?: number } }) {
14
- this.component = arg.component;
15
- this.overrides = arg.overrides ?? {};
16
- this.reference = arg.reference ?? { data: [] };
17
- }
18
-
19
- setTTL(ttl: number): DBIStringSelectMenuBuilder<TNamespace> {
20
- this.reference.ttl = ttl;
21
- return this;
22
- }
23
-
24
- addTTL(ttl: number): DBIStringSelectMenuBuilder<TNamespace> {
25
- this.reference.ttl = (this.reference.ttl ?? 0) + ttl;
26
- return this;
27
- }
28
-
29
- setData(...data: (string | number | object | boolean | null | undefined)[]): DBIStringSelectMenuBuilder<TNamespace> {
30
- this.reference.data = data;
31
- return this;
32
- }
33
-
34
- addData(...data: (string | number | object | boolean | null | undefined)[]): DBIStringSelectMenuBuilder<TNamespace> {
35
- this.reference.data = [...this.reference.data, ...data];
36
- return this;
37
- }
38
-
39
- setOverrides(overrides: DBIStringSelectMenuOverrides): DBIStringSelectMenuBuilder<TNamespace> {
40
- this.overrides = overrides;
41
- return this;
42
- }
43
-
44
- addOverrides(overrides: DBIStringSelectMenuOverrides): DBIStringSelectMenuBuilder<TNamespace> {
45
- this.overrides = defaultify(overrides, this.overrides, true);
46
- return this;
47
- }
48
-
49
- toJSON(): BaseSelectMenuComponentData {
50
- return this.component.toJSON({ overrides: this.overrides as any, reference: this.reference });
51
- }
52
-
53
- }
@@ -1,53 +0,0 @@
1
- import { BaseSelectMenuComponentData, UserSelectMenuComponentData } from "discord.js";
2
- import { defaultify } from "stuffs";
3
- import { NamespaceEnums } from "../../../generated/namespaceData";
4
- import { DBIUserSelectMenu } from "../Components/UserSelectMenu";
5
- import { RecursivePartial } from "../../utils/UtilTypes";
6
-
7
- export type DBIUserSelectMenuOverrides = RecursivePartial<Omit<UserSelectMenuComponentData, "customId" | "type">>
8
-
9
- export class DBIUserSelectMenuBuilder<TNamespace extends NamespaceEnums> {
10
- component: DBIUserSelectMenu<TNamespace>
11
- overrides: DBIUserSelectMenuOverrides;
12
- reference: { data: (string | number | object | boolean | null | undefined)[], ttl?: number };
13
- constructor(arg: { component: DBIUserSelectMenu<TNamespace>, overrides?: DBIUserSelectMenuOverrides, reference?: { data: (string | number | object | boolean | null | undefined)[], ttl?: number } }) {
14
- this.component = arg.component;
15
- this.overrides = arg.overrides ?? {};
16
- this.reference = arg.reference ?? { data: [] };
17
- }
18
-
19
- setTTL(ttl: number): DBIUserSelectMenuBuilder<TNamespace> {
20
- this.reference.ttl = ttl;
21
- return this;
22
- }
23
-
24
- addTTL(ttl: number): DBIUserSelectMenuBuilder<TNamespace> {
25
- this.reference.ttl = (this.reference.ttl ?? 0) + ttl;
26
- return this;
27
- }
28
-
29
- setData(...data: (string | number | object | boolean | null | undefined)[]): DBIUserSelectMenuBuilder<TNamespace> {
30
- this.reference.data = data;
31
- return this;
32
- }
33
-
34
- addData(...data: (string | number | object | boolean | null | undefined)[]): DBIUserSelectMenuBuilder<TNamespace> {
35
- this.reference.data = [...this.reference.data, ...data];
36
- return this;
37
- }
38
-
39
- setOverrides(overrides: DBIUserSelectMenuOverrides): DBIUserSelectMenuBuilder<TNamespace> {
40
- this.overrides = overrides;
41
- return this;
42
- }
43
-
44
- addOverrides(overrides: DBIUserSelectMenuOverrides): DBIUserSelectMenuBuilder<TNamespace> {
45
- this.overrides = defaultify(overrides, this.overrides, true);
46
- return this;
47
- }
48
-
49
- toJSON(): BaseSelectMenuComponentData {
50
- return this.component.toJSON({ overrides: this.overrides as any, reference: this.reference });
51
- }
52
-
53
- }
@@ -1,28 +0,0 @@
1
- import Discord from "discord.js";
2
- import { NamespaceEnums } from "../../../generated/namespaceData";
3
- import { DBI } from "../../DBI";
4
- import { DBIBaseInteraction, IDBIBaseExecuteCtx } from "../Interaction";
5
-
6
- export interface IDBIChatInputExecuteCtx<TNamespace extends NamespaceEnums> extends IDBIBaseExecuteCtx<TNamespace> {
7
- interaction: Discord.ChatInputCommandInteraction<"cached">;
8
- }
9
-
10
- export type TDBIChatInputOmitted<TNamespace extends NamespaceEnums> = Omit<DBIChatInput<TNamespace>, "type" | "dbi" | "ttl" | "at" | "toJSON">;
11
-
12
- export class DBIChatInput<TNamespace extends NamespaceEnums> extends DBIBaseInteraction<TNamespace> {
13
- constructor(dbi: DBI<TNamespace, {}>, cfg: TDBIChatInputOmitted<TNamespace>) {
14
- super(dbi, {
15
- ...(cfg as any),
16
- type: "ChatInput",
17
- name: cfg.name.toLowerCase(),
18
- options: Array.isArray(cfg.options) ? cfg.options : []
19
- });
20
-
21
- this.directMessages = cfg.directMessages ?? dbi.config.defaults.directMessages;
22
- this.defaultMemberPermissions = cfg.defaultMemberPermissions ?? dbi.config.defaults.defaultMemberPermissions;
23
- }
24
- directMessages?: boolean;
25
- defaultMemberPermissions?: Discord.PermissionsString[];
26
- declare options?: any[];
27
- override onExecute(ctx: IDBIChatInputExecuteCtx<TNamespace>) {}
28
- }
@@ -1,388 +0,0 @@
1
- import Discord from "discord.js";
2
- import { NamespaceEnums } from "../../../generated/namespaceData";
3
- import { DBI } from "../../DBI";
4
- import { IDBIBaseExecuteCtx } from "../Interaction";
5
-
6
- export type TDBIValueName<T> = { value: T; name: string };
7
- export type TDBIBaseOption = {
8
- name: string;
9
- description: string;
10
- required?: boolean;
11
- };
12
-
13
- export type TDBIMinMaxLength = { maxLength?: number; minLength?: number };
14
- export type TDBIMinMaxValue = { maxValue?: number; minValue?: number };
15
-
16
- export type TDBIValidator<
17
- TExtends,
18
- TValue,
19
- TStep extends string,
20
- TExpectedResponse = boolean
21
- > = {
22
- validate?(
23
- cfg: TExtends & { value: TValue; step: TStep }
24
- ): Promise<TExpectedResponse> | TExpectedResponse;
25
- };
26
-
27
- export interface IDBIValuedInteraction<
28
- TNamespace extends NamespaceEnums,
29
- TInteractionType extends Discord.Interaction,
30
- TValueType = string | number
31
- > extends Omit<IDBIBaseExecuteCtx<TNamespace>, 'interaction'> {
32
- value: TValueType;
33
- interaction: TInteractionType;
34
- }
35
-
36
- export type TDBICompleteCtx<
37
- TNamespace extends NamespaceEnums,
38
- TValueType = string | number
39
- > = IDBIValuedInteraction<
40
- TNamespace,
41
- Discord.AutocompleteInteraction,
42
- TValueType
43
- >;
44
-
45
- export type TDBIValidateCtx<
46
- TNamespace extends NamespaceEnums,
47
- TValueType = string | number
48
- > = IDBIValuedInteraction<TNamespace, Discord.Interaction, TValueType>;
49
-
50
- export type TDBICompleter<
51
- TNamespace extends NamespaceEnums,
52
- TValueType extends number | string
53
- > = {
54
- onComplete(
55
- ctx: TDBICompleteCtx<TNamespace, string>
56
- ): Promise<TDBIValueName<TValueType>[]> | TDBIValueName<TValueType>[];
57
- };
58
-
59
- export class DBIChatInputOptions<TNamespace extends NamespaceEnums> {
60
- dbi: DBI<TNamespace>;
61
- constructor(dbi: DBI<TNamespace>) {
62
- this.dbi = dbi;
63
- }
64
- stringAutocomplete(
65
- cfg: TDBIBaseOption &
66
- TDBIMinMaxLength & {
67
- messageCommands?: { rest?: boolean };
68
- } & TDBIValidator<
69
- TDBIValidateCtx<TNamespace, string>,
70
- string,
71
- "Autocomplete" | "Result",
72
- boolean | TDBIValueName<string>
73
- > &
74
- TDBICompleter<TNamespace, string>
75
- ) {
76
- return {
77
- type: Discord.ApplicationCommandOptionType.String,
78
- name: cfg.name,
79
- autocomplete: true,
80
- onComplete: cfg.onComplete,
81
- description: cfg.description,
82
- maxLength: cfg.maxLength,
83
- max_length: cfg.maxLength,
84
- minLength: cfg.minLength,
85
- min_length: cfg.minLength,
86
- required: cfg.required,
87
- validate: cfg.validate,
88
- };
89
- }
90
- stringChoices(
91
- cfg: TDBIBaseOption &
92
- TDBIMinMaxLength & {
93
- choices: TDBIValueName<string>[];
94
- messageCommands?: { rest?: boolean };
95
- } & TDBIValidator<
96
- TDBIValidateCtx<TNamespace, string>,
97
- string,
98
- "Result",
99
- boolean
100
- >
101
- ) {
102
- return {
103
- type: Discord.ApplicationCommandOptionType.String,
104
- name: cfg.name,
105
- choices: cfg.choices,
106
- description: cfg.description,
107
- maxLength: cfg.maxLength,
108
- max_length: cfg.maxLength,
109
- minLength: cfg.minLength,
110
- min_length: cfg.minLength,
111
- required: cfg.required,
112
- validate: cfg.validate,
113
- };
114
- }
115
-
116
- string(
117
- cfg: TDBIBaseOption &
118
- TDBIMinMaxLength & {
119
- messageCommands?: { rest?: boolean };
120
- } & TDBIValidator<
121
- TDBIValidateCtx<TNamespace, string>,
122
- string,
123
- "Result",
124
- boolean
125
- >
126
- ) {
127
- return {
128
- type: Discord.ApplicationCommandOptionType.String,
129
- name: cfg.name,
130
- description: cfg.description,
131
- maxLength: cfg.maxLength,
132
- max_length: cfg.maxLength,
133
- minLength: cfg.minLength,
134
- min_length: cfg.minLength,
135
- required: cfg.required,
136
- messageCommands: cfg.messageCommands,
137
- validate: cfg.validate,
138
- };
139
- }
140
-
141
- numberAutocomplete(
142
- cfg: TDBIBaseOption &
143
- TDBIMinMaxValue &
144
- TDBIValidator<
145
- TDBIValidateCtx<TNamespace, number>,
146
- number,
147
- "Autocomplete" | "Result",
148
- boolean | TDBIValueName<number>
149
- > &
150
- TDBICompleter<TNamespace, number>
151
- ) {
152
- return {
153
- type: Discord.ApplicationCommandOptionType.Number,
154
- name: cfg.name,
155
- autocomplete: true,
156
- onComplete: cfg.onComplete,
157
- description: cfg.description,
158
- maxValue: cfg.maxValue,
159
- max_value: cfg.maxValue,
160
- minValue: cfg.minValue,
161
- min_value: cfg.minValue,
162
- required: cfg.required,
163
- validate: cfg.validate,
164
- };
165
- }
166
-
167
- numberChoices(
168
- cfg: TDBIBaseOption &
169
- TDBIMinMaxValue & { choices: TDBIValueName<number>[] } & TDBIValidator<
170
- TDBIValidateCtx<TNamespace, number>,
171
- number,
172
- "Result",
173
- boolean
174
- >
175
- ) {
176
- return {
177
- type: Discord.ApplicationCommandOptionType.Number,
178
- name: cfg.name,
179
- choices: cfg.choices,
180
- description: cfg.description,
181
- maxValue: cfg.maxValue,
182
- max_value: cfg.maxValue,
183
- minValue: cfg.minValue,
184
- min_value: cfg.minValue,
185
- required: cfg.required,
186
- validate: cfg.validate,
187
- };
188
- }
189
-
190
- number(
191
- cfg: TDBIBaseOption &
192
- TDBIMinMaxValue &
193
- TDBIValidator<
194
- TDBIValidateCtx<TNamespace, number>,
195
- number,
196
- "Result",
197
- boolean
198
- >
199
- ) {
200
- return {
201
- type: Discord.ApplicationCommandOptionType.Number,
202
- name: cfg.name,
203
- description: cfg.description,
204
- maxValue: cfg.maxValue,
205
- max_value: cfg.maxValue,
206
- minValue: cfg.minValue,
207
- min_value: cfg.minValue,
208
- required: cfg.required,
209
- validate: cfg.validate,
210
- };
211
- }
212
-
213
- integerAutocomplete(
214
- cfg: TDBIBaseOption &
215
- TDBIMinMaxValue &
216
- TDBIValidator<
217
- TDBIValidateCtx<TNamespace, number>,
218
- number,
219
- "Autocomplete" | "Result",
220
- boolean | TDBIValueName<number>
221
- > &
222
- TDBICompleter<TNamespace, number>
223
- ) {
224
- return {
225
- type: Discord.ApplicationCommandOptionType.Integer,
226
- name: cfg.name,
227
- autocomplete: true,
228
- onComplete: cfg.onComplete,
229
- description: cfg.description,
230
- maxValue: cfg.maxValue,
231
- max_value: cfg.maxValue,
232
- minValue: cfg.minValue,
233
- min_value: cfg.minValue,
234
- required: cfg.required,
235
- validate: cfg.validate,
236
- };
237
- }
238
-
239
- integerChoices(
240
- cfg: TDBIBaseOption &
241
- TDBIMinMaxValue & { choices: TDBIValueName<number>[] } & TDBIValidator<
242
- TDBIValidateCtx<TNamespace, number>,
243
- number,
244
- "Result",
245
- boolean
246
- >
247
- ) {
248
- return {
249
- type: Discord.ApplicationCommandOptionType.Integer,
250
- name: cfg.name,
251
- choices: cfg.choices,
252
- description: cfg.description,
253
- maxValue: cfg.maxValue,
254
- max_value: cfg.maxValue,
255
- minValue: cfg.minValue,
256
- min_value: cfg.minValue,
257
- required: cfg.required,
258
- validate: cfg.validate,
259
- };
260
- }
261
-
262
- integer(
263
- cfg: TDBIBaseOption &
264
- TDBIMinMaxValue &
265
- TDBIValidator<
266
- TDBIValidateCtx<TNamespace, number>,
267
- number,
268
- "Result",
269
- boolean
270
- >
271
- ) {
272
- return {
273
- type: Discord.ApplicationCommandOptionType.Integer,
274
- name: cfg.name,
275
- description: cfg.description,
276
- maxValue: cfg.maxValue,
277
- max_value: cfg.maxValue,
278
- minValue: cfg.minValue,
279
- min_value: cfg.minValue,
280
- required: cfg.required,
281
- validate: cfg.validate,
282
- };
283
- }
284
-
285
- boolean(cfg: TDBIBaseOption) {
286
- return {
287
- type: Discord.ApplicationCommandOptionType.Boolean,
288
- name: cfg.name,
289
- description: cfg.description,
290
- required: cfg.required,
291
- };
292
- }
293
-
294
- attachment(
295
- cfg: TDBIBaseOption &
296
- TDBIValidator<
297
- TDBIValidateCtx<TNamespace, Discord.Attachment>,
298
- Discord.Attachment,
299
- "Result",
300
- boolean
301
- >
302
- ) {
303
- return {
304
- type: Discord.ApplicationCommandOptionType.Attachment,
305
- name: cfg.name,
306
- description: cfg.description,
307
- required: cfg.required,
308
- };
309
- }
310
-
311
- channel(
312
- cfg: TDBIBaseOption & {
313
- channelTypes: Discord.ChannelType[];
314
- } & TDBIValidator<
315
- TDBIValidateCtx<TNamespace, Discord.Channel>,
316
- Discord.Channel,
317
- "Result",
318
- boolean
319
- >
320
- ) {
321
- return {
322
- type: Discord.ApplicationCommandOptionType.Channel,
323
- name: cfg.name,
324
- description: cfg.description,
325
- channelTypes: cfg.channelTypes,
326
- channel_types: cfg.channelTypes,
327
- required: cfg.required,
328
- validate: cfg.validate,
329
- };
330
- }
331
-
332
- role(
333
- cfg: TDBIBaseOption &
334
- TDBIValidator<
335
- TDBIValidateCtx<TNamespace, Discord.Role>,
336
- Discord.Role,
337
- "Result",
338
- boolean
339
- >
340
- ) {
341
- return {
342
- type: Discord.ApplicationCommandOptionType.Role,
343
- name: cfg.name,
344
- description: cfg.description,
345
- required: cfg.required,
346
- validate: cfg.validate,
347
- };
348
- }
349
-
350
- mentionable(
351
- cfg: TDBIBaseOption &
352
- TDBIValidator<
353
- TDBIValidateCtx<
354
- TNamespace,
355
- Discord.Role | Discord.Channel | Discord.User
356
- >,
357
- Discord.Role | Discord.Channel | Discord.User,
358
- "Result",
359
- boolean
360
- >
361
- ) {
362
- return {
363
- type: Discord.ApplicationCommandOptionType.Mentionable,
364
- name: cfg.name,
365
- description: cfg.description,
366
- required: cfg.required,
367
- validate: cfg.validate,
368
- };
369
- }
370
-
371
- user(
372
- cfg: TDBIBaseOption &
373
- TDBIValidator<
374
- TDBIValidateCtx<TNamespace, Discord.User>,
375
- Discord.User,
376
- "Result",
377
- boolean
378
- >
379
- ) {
380
- return {
381
- type: Discord.ApplicationCommandOptionType.User,
382
- name: cfg.name,
383
- description: cfg.description,
384
- required: cfg.required,
385
- validate: cfg.validate,
386
- };
387
- }
388
- }