@mostfeatured/dbi 0.2.17 → 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 (77) hide show
  1. package/dist/src/types/Event.d.ts +21 -13
  2. package/dist/src/types/Event.d.ts.map +1 -1
  3. package/dist/src/types/Event.js.map +1 -1
  4. package/dist/test/index.js +1 -1
  5. package/dist/test/index.js.map +1 -1
  6. package/generated/namespaceData.d.ts +3 -1
  7. package/package.json +6 -2
  8. package/.gitattributes +0 -2
  9. package/.hintrc +0 -8
  10. package/.vscode/settings.json +0 -3
  11. package/docs/ADVANCED_FEATURES.md +0 -840
  12. package/docs/API_REFERENCE.md +0 -929
  13. package/docs/CHAT_INPUT.md +0 -811
  14. package/docs/COMPONENTS.md +0 -1039
  15. package/docs/EVENTS.md +0 -568
  16. package/docs/GETTING_STARTED.md +0 -398
  17. package/docs/LOCALIZATION.md +0 -777
  18. package/docs/README.md +0 -345
  19. package/docs/SVELTE_COMPONENTS.md +0 -1111
  20. package/docs/llm/ADVANCED_FEATURES.txt +0 -521
  21. package/docs/llm/API_REFERENCE.txt +0 -659
  22. package/docs/llm/CHAT_INPUT.txt +0 -514
  23. package/docs/llm/COMPONENTS.txt +0 -595
  24. package/docs/llm/EVENTS.txt +0 -449
  25. package/docs/llm/GETTING_STARTED.txt +0 -296
  26. package/docs/llm/LOCALIZATION.txt +0 -501
  27. package/docs/llm/README.txt +0 -193
  28. package/docs/llm/SVELTE_COMPONENTS.txt +0 -566
  29. package/src/DBI.ts +0 -1007
  30. package/src/Events.ts +0 -189
  31. package/src/data/eventMap.json +0 -248
  32. package/src/index.ts +0 -23
  33. package/src/methods/handleMessageCommands.ts +0 -482
  34. package/src/methods/hookEventListeners.ts +0 -119
  35. package/src/methods/hookInteractionListeners.ts +0 -314
  36. package/src/methods/publishInteractions.ts +0 -256
  37. package/src/types/ApplicationRoleConnectionMetadata.ts +0 -19
  38. package/src/types/Builders/ButtonBuilder.ts +0 -53
  39. package/src/types/Builders/ChannelSelectMenuBuilder.ts +0 -53
  40. package/src/types/Builders/MentionableSelectMenuBuilder.ts +0 -53
  41. package/src/types/Builders/ModalBuilder.ts +0 -53
  42. package/src/types/Builders/RoleSelectMenuBuilder.ts +0 -53
  43. package/src/types/Builders/StringSelectMenuBuilder.ts +0 -53
  44. package/src/types/Builders/UserSelectMenuBuilder.ts +0 -53
  45. package/src/types/ChatInput/ChatInput.ts +0 -28
  46. package/src/types/ChatInput/ChatInputOptions.ts +0 -388
  47. package/src/types/Components/Button.ts +0 -39
  48. package/src/types/Components/ChannelSelectMenu.ts +0 -43
  49. package/src/types/Components/HTMLComponentsV2/HTMLComponentsV2Handlers.ts +0 -78
  50. package/src/types/Components/HTMLComponentsV2/index.ts +0 -800
  51. package/src/types/Components/HTMLComponentsV2/parser.ts +0 -649
  52. package/src/types/Components/HTMLComponentsV2/svelteParser.ts +0 -1503
  53. package/src/types/Components/HTMLComponentsV2/svelteRenderer.ts +0 -416
  54. package/src/types/Components/MentionableSelectMenu.ts +0 -43
  55. package/src/types/Components/Modal.ts +0 -46
  56. package/src/types/Components/RoleSelectMenu.ts +0 -43
  57. package/src/types/Components/StringSelectMenu.ts +0 -43
  58. package/src/types/Components/UserSelectMenu.ts +0 -43
  59. package/src/types/Event.ts +0 -145
  60. package/src/types/Interaction.ts +0 -100
  61. package/src/types/other/CustomEvent.ts +0 -19
  62. package/src/types/other/FakeMessageInteraction.ts +0 -408
  63. package/src/types/other/InteractionLocale.ts +0 -34
  64. package/src/types/other/Locale.ts +0 -70
  65. package/src/types/other/MessageContextMenu.ts +0 -27
  66. package/src/types/other/UserContextMenu.ts +0 -25
  67. package/src/utils/MemoryStore.ts +0 -28
  68. package/src/utils/UtilTypes.ts +0 -11
  69. package/src/utils/customId.ts +0 -49
  70. package/src/utils/permissions.ts +0 -5
  71. package/src/utils/recursiveImport.ts +0 -35
  72. package/src/utils/recursiveUnload.ts +0 -25
  73. package/src/utils/unloadModule.ts +0 -7
  74. package/test/index.ts +0 -176
  75. package/test/product-showcase.svelte +0 -558
  76. package/test/test.ts +0 -3
  77. 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
- }