@mostfeatured/dbi 0.0.53 → 0.0.55

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 (78) hide show
  1. package/dist/DBI.d.ts +156 -156
  2. package/dist/DBI.js +332 -332
  3. package/dist/Events.d.ts +53 -53
  4. package/dist/Events.js +58 -58
  5. package/dist/data/eventMap.json +234 -234
  6. package/dist/index.d.ts +6 -6
  7. package/dist/index.js +16 -16
  8. package/dist/methods/hookEventListeners.d.ts +3 -3
  9. package/dist/methods/hookEventListeners.js +87 -87
  10. package/dist/methods/hookInteractionListeners.d.ts +3 -3
  11. package/dist/methods/hookInteractionListeners.js +118 -118
  12. package/dist/methods/publishInteractions.d.ts +7 -7
  13. package/dist/methods/publishInteractions.js +238 -238
  14. package/dist/types/Button.d.ts +18 -16
  15. package/dist/types/Button.d.ts.map +1 -1
  16. package/dist/types/Button.js +31 -27
  17. package/dist/types/Button.js.map +1 -1
  18. package/dist/types/ButtonBuilder.d.ts +30 -0
  19. package/dist/types/ButtonBuilder.d.ts.map +1 -0
  20. package/dist/types/ButtonBuilder.js +43 -0
  21. package/dist/types/ButtonBuilder.js.map +1 -0
  22. package/dist/types/ChatInput/ChatInput.d.ts +15 -15
  23. package/dist/types/ChatInput/ChatInput.js +20 -20
  24. package/dist/types/ChatInput/ChatInputOptions.d.ts +162 -161
  25. package/dist/types/ChatInput/ChatInputOptions.d.ts.map +1 -1
  26. package/dist/types/ChatInput/ChatInputOptions.js +161 -160
  27. package/dist/types/ChatInput/ChatInputOptions.js.map +1 -1
  28. package/dist/types/CustomEvent.d.ts +13 -13
  29. package/dist/types/CustomEvent.js +19 -19
  30. package/dist/types/Event.d.ts +263 -263
  31. package/dist/types/Event.js +22 -22
  32. package/dist/types/Interaction.d.ts +47 -47
  33. package/dist/types/Interaction.js +24 -24
  34. package/dist/types/InteractionLocale.d.ts +25 -25
  35. package/dist/types/InteractionLocale.js +14 -14
  36. package/dist/types/Locale.d.ts +21 -21
  37. package/dist/types/Locale.js +38 -38
  38. package/dist/types/MessageContextMenu.d.ts +14 -14
  39. package/dist/types/MessageContextMenu.js +18 -18
  40. package/dist/types/Modal.d.ts +22 -20
  41. package/dist/types/Modal.d.ts.map +1 -1
  42. package/dist/types/Modal.js +29 -25
  43. package/dist/types/Modal.js.map +1 -1
  44. package/dist/types/ModalBuilder.d.ts +31 -0
  45. package/dist/types/ModalBuilder.d.ts.map +1 -0
  46. package/dist/types/ModalBuilder.js +43 -0
  47. package/dist/types/ModalBuilder.js.map +1 -0
  48. package/dist/types/SelectMenu.d.ts +18 -16
  49. package/dist/types/SelectMenu.d.ts.map +1 -1
  50. package/dist/types/SelectMenu.js +31 -27
  51. package/dist/types/SelectMenu.js.map +1 -1
  52. package/dist/types/SelectMenuBuilder.d.ts +28 -0
  53. package/dist/types/SelectMenuBuilder.d.ts.map +1 -0
  54. package/dist/types/SelectMenuBuilder.js +43 -0
  55. package/dist/types/SelectMenuBuilder.js.map +1 -0
  56. package/dist/types/UserContextMenu.d.ts +14 -14
  57. package/dist/types/UserContextMenu.js +18 -18
  58. package/dist/utils/MemoryStore.d.ts +8 -8
  59. package/dist/utils/MemoryStore.js +29 -29
  60. package/dist/utils/UtilTypes.d.ts +7 -7
  61. package/dist/utils/UtilTypes.d.ts.map +1 -1
  62. package/dist/utils/UtilTypes.js +2 -2
  63. package/dist/utils/UtilTypes.js.map +1 -1
  64. package/dist/utils/customId.d.ts +7 -7
  65. package/dist/utils/customId.js +45 -45
  66. package/dist/utils/permissions.d.ts +2 -2
  67. package/dist/utils/permissions.js +8 -8
  68. package/dist/utils/recursiveImport.d.ts +4 -4
  69. package/dist/utils/recursiveImport.js +26 -26
  70. package/package.json +2 -2
  71. package/src/types/Button.ts +7 -2
  72. package/src/types/ButtonBuilder.ts +52 -0
  73. package/src/types/ChatInput/ChatInputOptions.ts +1 -0
  74. package/src/types/Modal.ts +8 -2
  75. package/src/types/ModalBuilder.ts +52 -0
  76. package/src/types/SelectMenu.ts +8 -2
  77. package/src/types/SelectMenuBuilder.ts +52 -0
  78. package/src/utils/UtilTypes.ts +1 -1
@@ -0,0 +1,52 @@
1
+ import { ButtonComponentData, ButtonStyle } from "discord.js";
2
+ import { defaultify } from "stuffs";
3
+ import { NamespaceEnums } from "../../generated/namespaceData";
4
+ import { DBIButton } from "./Button";
5
+
6
+ export type DBIButtonOverrides = { style?: ButtonStyle } & Omit<ButtonComponentData, "customId" | "type" | "style">
7
+
8
+ export class DBIButtonBuilder<TNamespace extends NamespaceEnums> {
9
+ component: DBIButton<TNamespace>
10
+ overrides: DBIButtonOverrides;
11
+ reference: { data: (string | number | object)[], ttl?: number };
12
+ constructor(arg: { component: DBIButton<TNamespace>, overrides?: DBIButtonOverrides, reference?: { data: (string | number | object)[], ttl?: number } }) {
13
+ this.component = arg.component;
14
+ this.overrides = arg.overrides ?? {};
15
+ this.reference = arg.reference ?? { data: [] };
16
+ }
17
+
18
+ setTTL(ttl: number): DBIButtonBuilder<TNamespace> {
19
+ this.reference.ttl = ttl;
20
+ return this;
21
+ }
22
+
23
+ addTTL(ttl: number): DBIButtonBuilder<TNamespace> {
24
+ this.reference.ttl = (this.reference.ttl ?? 0) + ttl;
25
+ return this;
26
+ }
27
+
28
+ setData(...data: (string | number | object)[]): DBIButtonBuilder<TNamespace> {
29
+ this.reference.data = data;
30
+ return this;
31
+ }
32
+
33
+ addData(...data: (string | number | object)[]): DBIButtonBuilder<TNamespace> {
34
+ this.reference.data = [...this.reference.data, ...data];
35
+ return this;
36
+ }
37
+
38
+ setOverrides(overrides: DBIButtonOverrides): DBIButtonBuilder<TNamespace> {
39
+ this.overrides = overrides;
40
+ return this;
41
+ }
42
+
43
+ addOverrides(overrides: DBIButtonOverrides): DBIButtonBuilder<TNamespace> {
44
+ this.overrides = defaultify(overrides, this.overrides, true);
45
+ return this;
46
+ }
47
+
48
+ toJSON(): ButtonComponentData {
49
+ return this.component.toJSON({ overrides: this.overrides, reference: this.reference });
50
+ }
51
+
52
+ }
@@ -150,6 +150,7 @@ export class DBIChatInputOptions<TNamespace extends NamespaceEnums> {
150
150
  name: cfg.name,
151
151
  description: cfg.description,
152
152
  channelTypes: cfg.channelTypes,
153
+ channel_types: cfg.channelTypes,
153
154
  required: cfg.required
154
155
  };
155
156
  }
@@ -5,6 +5,7 @@ import { customIdBuilder } from "../utils/customId";
5
5
  import { IDBIToJSONArgs } from "../utils/UtilTypes";
6
6
  import { NamespaceEnums } from "../../generated/namespaceData";
7
7
  import stuffs from "stuffs";
8
+ import { DBIModalBuilder, DBIModalOverrides } from "./ModalBuilder";
8
9
 
9
10
 
10
11
  export interface IDBIModalExecuteCtx<TNamespace extends NamespaceEnums> extends IDBIBaseExecuteCtx<TNamespace> {
@@ -18,7 +19,7 @@ export interface ModalComponentData {
18
19
  components: (Discord.ActionRowData<Discord.ModalActionRowComponentData>)[];
19
20
  }
20
21
 
21
- export type TDBIModalOmitted<TNamespace extends NamespaceEnums> = Omit<DBIModal<TNamespace>, "type" | "description" | "dbi" | "toJSON">;
22
+ export type TDBIModalOmitted<TNamespace extends NamespaceEnums> = Omit<DBIModal<TNamespace>, "type" | "description" | "dbi" | "toJSON" | "createBuilder">;
22
23
 
23
24
  export class DBIModal<TNamespace extends NamespaceEnums> extends DBIBaseInteraction<TNamespace> {
24
25
  constructor(dbi: DBI<TNamespace>, args: TDBIModalOmitted<TNamespace>) {
@@ -32,10 +33,15 @@ export class DBIModal<TNamespace extends NamespaceEnums> extends DBIBaseInteract
32
33
 
33
34
  override onExecute(ctx: IDBIModalExecuteCtx<TNamespace>): Promise<void> | void { };
34
35
 
35
- toJSON(arg: IDBIToJSONArgs<ModalComponentData> = {} as any): Discord.ModalComponentData {
36
+ toJSON(arg: IDBIToJSONArgs<DBIModalOverrides> = {}): Discord.ModalComponentData {
36
37
  return {
37
38
  ...stuffs.defaultify((arg?.overrides || {}), this.options || {}, true),
38
39
  customId: customIdBuilder(this.dbi as any, this.name, arg?.reference?.data || [], arg?.reference?.ttl)
39
40
  } as any;
40
41
  };
42
+
43
+ createBuilder(arg: IDBIToJSONArgs<DBIModalOverrides> = {}): DBIModalBuilder<TNamespace> {
44
+ return new DBIModalBuilder({ component: this, ...arg })
45
+ }
46
+
41
47
  }
@@ -0,0 +1,52 @@
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 "./Modal";
5
+
6
+ export type DBIModalOverrides = { components?: (JSONEncodable<APIActionRowComponent<APITextInputComponent>> | ActionRowData<ModalActionRowComponentData>)[], title?: string } & Omit<ModalComponentData, "customId" | "type" | "title" | "components">
7
+
8
+ export class DBIModalBuilder<TNamespace extends NamespaceEnums> {
9
+ component: DBIModal<TNamespace>
10
+ overrides: DBIModalOverrides;
11
+ reference: { data: (string | number | object)[], ttl?: number };
12
+ constructor(arg: { component: DBIModal<TNamespace>, overrides?: DBIModalOverrides, reference?: { data: (string | number | object)[], ttl?: number } }) {
13
+ this.component = arg.component;
14
+ this.overrides = arg.overrides ?? {};
15
+ this.reference = arg.reference ?? { data: [] };
16
+ }
17
+
18
+ setTTL(ttl: number): DBIModalBuilder<TNamespace> {
19
+ this.reference.ttl = ttl;
20
+ return this;
21
+ }
22
+
23
+ addTTL(ttl: number): DBIModalBuilder<TNamespace> {
24
+ this.reference.ttl = (this.reference.ttl ?? 0) + ttl;
25
+ return this;
26
+ }
27
+
28
+ setData(...data: (string | number | object)[]): DBIModalBuilder<TNamespace> {
29
+ this.reference.data = data;
30
+ return this;
31
+ }
32
+
33
+ addData(...data: (string | number | object)[]): DBIModalBuilder<TNamespace> {
34
+ this.reference.data = [...this.reference.data, ...data];
35
+ return this;
36
+ }
37
+
38
+ setOverrides(overrides: DBIModalOverrides): DBIModalBuilder<TNamespace> {
39
+ this.overrides = overrides;
40
+ return this;
41
+ }
42
+
43
+ addOverrides(overrides: DBIModalOverrides): DBIModalBuilder<TNamespace> {
44
+ this.overrides = defaultify(overrides, this.overrides, true);
45
+ return this;
46
+ }
47
+
48
+ toJSON(): ModalComponentData {
49
+ return this.component.toJSON({ overrides: this.overrides, reference: this.reference });
50
+ }
51
+
52
+ }
@@ -5,6 +5,7 @@ import { customIdBuilder } from "../utils/customId";
5
5
  import { IDBIToJSONArgs } from "../utils/UtilTypes";
6
6
  import { NamespaceEnums } from "../../generated/namespaceData";
7
7
  import stuffs from "stuffs";
8
+ import { DBISelectMenuBuilder, DBISelectMenuOverrides } from "./SelectMenuBuilder";
8
9
 
9
10
 
10
11
  export interface IDBISelectMenuExecuteCtx<TNamespace extends NamespaceEnums> extends IDBIBaseExecuteCtx<TNamespace> {
@@ -12,7 +13,7 @@ export interface IDBISelectMenuExecuteCtx<TNamespace extends NamespaceEnums> ext
12
13
  data: TDBIReferencedData[];
13
14
  }
14
15
 
15
- export type TDBISelectMenuOmitted<TNamespace extends NamespaceEnums> = Omit<DBISelectMenu<TNamespace>, "type" | "description" | "dbi" | "toJSON">;
16
+ export type TDBISelectMenuOmitted<TNamespace extends NamespaceEnums> = Omit<DBISelectMenu<TNamespace>, "type" | "description" | "dbi" | "toJSON" | "createBuilder">;
16
17
 
17
18
  export class DBISelectMenu<TNamespace extends NamespaceEnums> extends DBIBaseInteraction<TNamespace> {
18
19
  constructor(dbi: DBI<TNamespace>, args: TDBISelectMenuOmitted<TNamespace>) {
@@ -26,11 +27,16 @@ export class DBISelectMenu<TNamespace extends NamespaceEnums> extends DBIBaseInt
26
27
 
27
28
  override onExecute(ctx: IDBISelectMenuExecuteCtx<TNamespace>): Promise<void> | void { };
28
29
 
29
- toJSON(arg: IDBIToJSONArgs<Omit<Discord.SelectMenuComponentData, "customId" | "type">> = {} as any): Discord.SelectMenuComponentData {
30
+ toJSON(arg: IDBIToJSONArgs<DBISelectMenuOverrides> = {}): Discord.SelectMenuComponentData {
30
31
  return {
31
32
  ...stuffs.defaultify((arg?.overrides || {}), this.options || {}, true),
32
33
  customId: customIdBuilder(this.dbi as any, this.name, arg?.reference?.data || [], arg?.reference?.ttl),
33
34
  type: Discord.ComponentType.SelectMenu,
34
35
  } as any;
35
36
  };
37
+
38
+ createBuilder(arg: IDBIToJSONArgs<DBISelectMenuOverrides> = {}): DBISelectMenuBuilder<TNamespace> {
39
+ return new DBISelectMenuBuilder({ component: this, ...arg })
40
+ }
41
+
36
42
  }
@@ -0,0 +1,52 @@
1
+ import { SelectMenuComponentData } from "discord.js";
2
+ import { defaultify } from "stuffs";
3
+ import { NamespaceEnums } from "../../generated/namespaceData";
4
+ import { DBISelectMenu } from "./SelectMenu";
5
+
6
+ export type DBISelectMenuOverrides = Omit<SelectMenuComponentData, "customId" | "type">
7
+
8
+ export class DBISelectMenuBuilder<TNamespace extends NamespaceEnums> {
9
+ component: DBISelectMenu<TNamespace>
10
+ overrides: DBISelectMenuOverrides;
11
+ reference: { data: (string | number | object)[], ttl?: number };
12
+ constructor(arg: { component: DBISelectMenu<TNamespace>, overrides?: DBISelectMenuOverrides, reference?: { data: (string | number | object)[], ttl?: number } }) {
13
+ this.component = arg.component;
14
+ this.overrides = arg.overrides ?? {};
15
+ this.reference = arg.reference ?? { data: [] };
16
+ }
17
+
18
+ setTTL(ttl: number): DBISelectMenuBuilder<TNamespace> {
19
+ this.reference.ttl = ttl;
20
+ return this;
21
+ }
22
+
23
+ addTTL(ttl: number): DBISelectMenuBuilder<TNamespace> {
24
+ this.reference.ttl = (this.reference.ttl ?? 0) + ttl;
25
+ return this;
26
+ }
27
+
28
+ setData(...data: (string | number | object)[]): DBISelectMenuBuilder<TNamespace> {
29
+ this.reference.data = data;
30
+ return this;
31
+ }
32
+
33
+ addData(...data: (string | number | object)[]): DBISelectMenuBuilder<TNamespace> {
34
+ this.reference.data = [...this.reference.data, ...data];
35
+ return this;
36
+ }
37
+
38
+ setOverrides(overrides: DBISelectMenuOverrides): DBISelectMenuBuilder<TNamespace> {
39
+ this.overrides = overrides;
40
+ return this;
41
+ }
42
+
43
+ addOverrides(overrides: DBISelectMenuOverrides): DBISelectMenuBuilder<TNamespace> {
44
+ this.overrides = defaultify(overrides, this.overrides, true);
45
+ return this;
46
+ }
47
+
48
+ toJSON(): SelectMenuComponentData {
49
+ return this.component.toJSON({ overrides: this.overrides, reference: this.reference });
50
+ }
51
+
52
+ }
@@ -3,5 +3,5 @@ export interface IDBIToJSONArgs<T> {
3
3
  ttl?: number;
4
4
  data: (string | number | object)[];
5
5
  };
6
- overrides: T;
6
+ overrides?: T;
7
7
  }