@mostfeatured/dbi 0.0.37 → 0.0.39

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.
package/dist/Events.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { DBI } from "./DBI";
2
2
  import { IDBIBaseExecuteCtx, TDBIRateLimitTypes } from "./types/Interaction";
3
+ import { DBILocale } from "./types/Locale";
3
4
  export declare type TDBIEventNames = "beforeInteraction" | "afterInteraction" | "interactionRateLimit" | "beforeEvent" | "afterEvent";
4
5
  export declare class Events {
5
6
  DBI: DBI;
@@ -12,6 +13,10 @@ export declare class Events {
12
13
  on(eventName: "beforeEvent" | "afterEvent", handler: (data: {
13
14
  [key: string]: any;
14
15
  other: Record<string, any>;
16
+ locale?: {
17
+ guild: DBILocale;
18
+ };
19
+ eventName: string;
15
20
  }) => Promise<boolean> | boolean, options?: {
16
21
  once: boolean;
17
22
  }): (() => any);
@@ -1 +1 @@
1
- {"version":3,"file":"Events.d.ts","sourceRoot":"","sources":["../src/Events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE7E,oBAAY,cAAc,GAAG,mBAAmB,GAAG,kBAAkB,GAAG,sBAAsB,GAAG,aAAa,GAAG,YAAY,CAAC;AAE9H,qBAAa,MAAM;IACjB,GAAG,EAAE,GAAG,CAAC;IACT,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC/D,GAAG,EAAE,GAAG;IAYd,OAAO,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IAWhE,EAAE,CACA,SAAS,EAAE,mBAAmB,GAAG,kBAAkB,EACnD,OAAO,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,EACjE,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,GAC1B,CAAC,MAAM,GAAG,CAAC;IAEd,EAAE,CACA,SAAS,EAAE,aAAa,GAAG,YAAY,EACvC,OAAO,EAAE,CAAC,IAAI,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,EACjG,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,GAC1B,CAAC,MAAM,GAAG,CAAC;IAEd,EAAE,CACA,SAAS,EAAE,sBAAsB,EACjC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,kBAAkB,EAAE,OAAO,GAAG,cAAc,CAAC,GAAG;QAAE,SAAS,EAAE;YAAE,IAAI,EAAE,kBAAkB,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,EAAE,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,EAC7K,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,GAC1B,CAAC,MAAM,GAAG,CAAC;IAoBd,GAAG,CAAC,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO;CAIlF"}
1
+ {"version":3,"file":"Events.d.ts","sourceRoot":"","sources":["../src/Events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,oBAAY,cAAc,GAAG,mBAAmB,GAAG,kBAAkB,GAAG,sBAAsB,GAAG,aAAa,GAAG,YAAY,CAAC;AAE9H,qBAAa,MAAM;IACjB,GAAG,EAAE,GAAG,CAAC;IACT,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC/D,GAAG,EAAE,GAAG;IAYd,OAAO,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IAWhE,EAAE,CACA,SAAS,EAAE,mBAAmB,GAAG,kBAAkB,EACnD,OAAO,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,EACjE,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,GAC1B,CAAC,MAAM,GAAG,CAAC;IAEd,EAAE,CACA,SAAS,EAAE,aAAa,GAAG,YAAY,EACvC,OAAO,EAAE,CAAC,IAAI,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAAC,MAAM,CAAC,EAAE;YAAE,KAAK,EAAE,SAAS,CAAA;SAAE,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,EACnJ,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,GAC1B,CAAC,MAAM,GAAG,CAAC;IAEd,EAAE,CACA,SAAS,EAAE,sBAAsB,EACjC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,kBAAkB,EAAE,OAAO,GAAG,cAAc,CAAC,GAAG;QAAE,SAAS,EAAE;YAAE,IAAI,EAAE,kBAAkB,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,EAAE,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,EAC7K,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,GAC1B,CAAC,MAAM,GAAG,CAAC;IAoBd,GAAG,CAAC,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO;CAIlF"}
@@ -1 +1 @@
1
- {"version":3,"file":"Events.js","sourceRoot":"","sources":["../src/Events.ts"],"names":[],"mappings":";;;AAKA,MAAa,MAAM;IACjB,GAAG,CAAM;IACT,QAAQ,CAAmE;IAC3E,YAAY,GAAQ;QAClB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QAEf,IAAI,CAAC,QAAQ,GAAG;YACd,iBAAiB,EAAE,EAAE;YACrB,gBAAgB,EAAE,EAAE;YACpB,oBAAoB,EAAE,EAAE;YACxB,WAAW,EAAE,EAAE;YACf,UAAU,EAAE,EAAE;SACf,CAAA;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAoB,EAAE,IAAS;QAC3C,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACxC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;YACnC,IAAI,QAAQ,KAAK,IAAI;gBAAE,OAAO,KAAK,CAAC;SACrC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAqBD,EAAE,CAAC,SAAyB,EAAE,OAAkD,EAAE,UAA6B,EAAE,IAAI,EAAE,KAAK,EAAE;QAC5H,IAAI,OAAO,CAAC,IAAI,EAAE;YAChB,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE;gBACf,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;gBACvB,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;YACvB,CAAC,CAAC;YACF,IAAI,CAAC,EAAE,CAAC,SAAgB,EAAE,CAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YACrD,OAAO,GAAG,EAAE;gBACV,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YACzB,CAAC,CAAA;SACF;aAAM;YACL,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvC,OAAO,GAAG,EAAE;gBACV,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAC/B,CAAC,CAAA;SACF;IACH,CAAC;IAED,GAAG,CAAC,SAAyB,EAAE,OAAkD;QAC/E,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACjC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IAClC,CAAC;CACF;AAlED,wBAkEC","sourcesContent":["import { DBI } from \"./DBI\";\r\nimport { IDBIBaseExecuteCtx, TDBIRateLimitTypes } from \"./types/Interaction\";\r\n\r\nexport type TDBIEventNames = \"beforeInteraction\" | \"afterInteraction\" | \"interactionRateLimit\" | \"beforeEvent\" | \"afterEvent\";\r\n\r\nexport class Events {\r\n DBI: DBI;\r\n handlers: Record<string, Array<(data: any) => boolean | Promise<boolean>>>;\r\n constructor(DBI: DBI) {\r\n this.DBI = DBI;\r\n\r\n this.handlers = {\r\n beforeInteraction: [],\r\n afterInteraction: [],\r\n interactionRateLimit: [],\r\n beforeEvent: [],\r\n afterEvent: []\r\n }\r\n }\r\n \r\n async trigger(name: TDBIEventNames, data: any): Promise<boolean>{\r\n let handlers = this.handlers[name];\r\n for (let i = 0; i < handlers.length; i++) {\r\n const handler = handlers[i];\r\n let returned = await handler(data);\r\n if (returned !== true) return false;\r\n }\r\n return true;\r\n }\r\n\r\n\r\n on(\r\n eventName: \"beforeInteraction\" | \"afterInteraction\",\r\n handler: (data: IDBIBaseExecuteCtx) => Promise<boolean> | boolean,\r\n options?: { once: boolean }\r\n ): (() => any);\r\n\r\n on(\r\n eventName: \"beforeEvent\" | \"afterEvent\",\r\n handler: (data: { [key: string]: any, other: Record<string, any> }) => Promise<boolean> | boolean,\r\n options?: { once: boolean }\r\n ): (() => any);\r\n\r\n on(\r\n eventName: \"interactionRateLimit\",\r\n handler: (data: Omit<IDBIBaseExecuteCtx, \"other\" | \"setRateLimit\"> & { rateLimit: { type: TDBIRateLimitTypes, duration: number, at: number } }) => Promise<boolean> | boolean,\r\n options?: { once: boolean }\r\n ): (() => any);\r\n\r\n on(eventName: TDBIEventNames, handler: (data: any) => Promise<boolean> | boolean, options: { once: boolean } = { once: false }): (() => any) {\r\n if (options.once) {\r\n let h = (data) => {\r\n this.off(eventName, h);\r\n return handler(data);\r\n };\r\n this.on(eventName as any, h as any, { once: false });\r\n return () => {\r\n this.off(eventName, h);\r\n }\r\n } else {\r\n this.handlers[eventName].push(handler);\r\n return () => {\r\n this.off(eventName, handler);\r\n }\r\n }\r\n }\r\n\r\n off(eventName: TDBIEventNames, handler: (data: any) => Promise<boolean> | boolean) {\r\n let l = this.handlers[eventName];\r\n l.splice(l.indexOf(handler), 1);\r\n }\r\n}"]}
1
+ {"version":3,"file":"Events.js","sourceRoot":"","sources":["../src/Events.ts"],"names":[],"mappings":";;;AAMA,MAAa,MAAM;IACjB,GAAG,CAAM;IACT,QAAQ,CAAmE;IAC3E,YAAY,GAAQ;QAClB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QAEf,IAAI,CAAC,QAAQ,GAAG;YACd,iBAAiB,EAAE,EAAE;YACrB,gBAAgB,EAAE,EAAE;YACpB,oBAAoB,EAAE,EAAE;YACxB,WAAW,EAAE,EAAE;YACf,UAAU,EAAE,EAAE;SACf,CAAA;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAoB,EAAE,IAAS;QAC3C,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACxC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;YACnC,IAAI,QAAQ,KAAK,IAAI;gBAAE,OAAO,KAAK,CAAC;SACrC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAqBD,EAAE,CAAC,SAAyB,EAAE,OAAkD,EAAE,UAA6B,EAAE,IAAI,EAAE,KAAK,EAAE;QAC5H,IAAI,OAAO,CAAC,IAAI,EAAE;YAChB,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE;gBACf,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;gBACvB,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;YACvB,CAAC,CAAC;YACF,IAAI,CAAC,EAAE,CAAC,SAAgB,EAAE,CAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YACrD,OAAO,GAAG,EAAE;gBACV,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YACzB,CAAC,CAAA;SACF;aAAM;YACL,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvC,OAAO,GAAG,EAAE;gBACV,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAC/B,CAAC,CAAA;SACF;IACH,CAAC;IAED,GAAG,CAAC,SAAyB,EAAE,OAAkD;QAC/E,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACjC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IAClC,CAAC;CACF;AAlED,wBAkEC","sourcesContent":["import { DBI } from \"./DBI\";\r\nimport { IDBIBaseExecuteCtx, TDBIRateLimitTypes } from \"./types/Interaction\";\r\nimport { DBILocale } from \"./types/Locale\";\r\n\r\nexport type TDBIEventNames = \"beforeInteraction\" | \"afterInteraction\" | \"interactionRateLimit\" | \"beforeEvent\" | \"afterEvent\";\r\n\r\nexport class Events {\r\n DBI: DBI;\r\n handlers: Record<string, Array<(data: any) => boolean | Promise<boolean>>>;\r\n constructor(DBI: DBI) {\r\n this.DBI = DBI;\r\n\r\n this.handlers = {\r\n beforeInteraction: [],\r\n afterInteraction: [],\r\n interactionRateLimit: [],\r\n beforeEvent: [],\r\n afterEvent: []\r\n }\r\n }\r\n \r\n async trigger(name: TDBIEventNames, data: any): Promise<boolean>{\r\n let handlers = this.handlers[name];\r\n for (let i = 0; i < handlers.length; i++) {\r\n const handler = handlers[i];\r\n let returned = await handler(data);\r\n if (returned !== true) return false;\r\n }\r\n return true;\r\n }\r\n\r\n\r\n on(\r\n eventName: \"beforeInteraction\" | \"afterInteraction\",\r\n handler: (data: IDBIBaseExecuteCtx) => Promise<boolean> | boolean,\r\n options?: { once: boolean }\r\n ): (() => any);\r\n\r\n on(\r\n eventName: \"beforeEvent\" | \"afterEvent\",\r\n handler: (data: { [key: string]: any, other: Record<string, any>, locale?: { guild: DBILocale }, eventName: string }) => Promise<boolean> | boolean,\r\n options?: { once: boolean }\r\n ): (() => any);\r\n\r\n on(\r\n eventName: \"interactionRateLimit\",\r\n handler: (data: Omit<IDBIBaseExecuteCtx, \"other\" | \"setRateLimit\"> & { rateLimit: { type: TDBIRateLimitTypes, duration: number, at: number } }) => Promise<boolean> | boolean,\r\n options?: { once: boolean }\r\n ): (() => any);\r\n\r\n on(eventName: TDBIEventNames, handler: (data: any) => Promise<boolean> | boolean, options: { once: boolean } = { once: false }): (() => any) {\r\n if (options.once) {\r\n let h = (data) => {\r\n this.off(eventName, h);\r\n return handler(data);\r\n };\r\n this.on(eventName as any, h as any, { once: false });\r\n return () => {\r\n this.off(eventName, h);\r\n }\r\n } else {\r\n this.handlers[eventName].push(handler);\r\n return () => {\r\n this.off(eventName, handler);\r\n }\r\n }\r\n }\r\n\r\n off(eventName: TDBIEventNames, handler: (data: any) => Promise<boolean> | boolean) {\r\n let l = this.handlers[eventName];\r\n l.splice(l.indexOf(handler), 1);\r\n }\r\n}"]}
@@ -1 +1 @@
1
- {"version":3,"file":"hookEventListeners.d.ts","sourceRoot":"","sources":["../../src/methods/hookEventListeners.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAE7B,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,GAAG,CAmCtD"}
1
+ {"version":3,"file":"hookEventListeners.d.ts","sourceRoot":"","sources":["../../src/methods/hookEventListeners.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAE7B,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,GAAG,CA6DtD"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.hookEventListeners = void 0;
4
+ const discord_js_1 = require("discord.js");
4
5
  function hookEventListeners(dbi) {
5
6
  async function handle(eventName, ...args) {
6
7
  if (!dbi.data.eventMap[eventName])
@@ -11,15 +12,39 @@ function hookEventListeners(dbi) {
11
12
  return all;
12
13
  }, {});
13
14
  let other = {};
14
- if (!await dbi.events.trigger("beforeEvent", { eventName, ...ctxArgs, other }))
15
+ let guildLocaleName = args.reduce((all, current) => {
16
+ if (current?.guild?.id)
17
+ return current?.guild?.preferredLocale?.split?.("-")?.[0];
18
+ if (current instanceof discord_js_1.Guild)
19
+ return current?.preferredLocale?.split?.("-")?.[0];
20
+ return all;
21
+ }, null);
22
+ let guildLocale = guildLocaleName ? (dbi.data.locales.has(guildLocaleName) ? dbi.data.locales.get(guildLocaleName) : dbi.data.locales.get(dbi.config.defaults.locale)) : null;
23
+ let locale = guildLocale ? { guild: guildLocale } : null;
24
+ if (!await dbi.events.trigger("beforeEvent", { eventName, ...ctxArgs, other, locale }))
15
25
  return;
26
+ let ordered = [];
27
+ let unOrdered = [];
16
28
  for (let i = 0; i < dbi.data.events.size; i++) {
17
29
  const value = dbi.data.events.at(i);
18
30
  if (value.name == eventName) {
19
- await value.onExecute({ eventName, ...ctxArgs, other });
31
+ if (value.ordered) {
32
+ ordered.push(value);
33
+ }
34
+ else {
35
+ unOrdered.push(value);
36
+ }
20
37
  }
21
38
  }
22
- dbi.events.trigger("afterEvent", { eventName, ...ctxArgs, other });
39
+ for (let i = 0; i < unOrdered.length; i++) {
40
+ const value = unOrdered[i];
41
+ value.onExecute({ eventName, ...ctxArgs, other, locale });
42
+ }
43
+ for (let i = 0; i < ordered.length; i++) {
44
+ const value = ordered[i];
45
+ await value.onExecute({ eventName, ...ctxArgs, other, locale });
46
+ }
47
+ dbi.events.trigger("afterEvent", { eventName, ...ctxArgs, other, locale });
23
48
  }
24
49
  let originalEmit = dbi.client.emit;
25
50
  dbi.client.emit = function (eventName, ...args) {
@@ -1 +1 @@
1
- {"version":3,"file":"hookEventListeners.js","sourceRoot":"","sources":["../../src/methods/hookEventListeners.ts"],"names":[],"mappings":";;;AAEA,SAAgB,kBAAkB,CAAC,GAAQ;IACzC,KAAK,UAAU,MAAM,CAAC,SAAiB,EAAE,GAAG,IAAW;QACrD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,OAAO;QAE1C,IAAI,OAAO,GACT,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;aACzB,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;YAC9B,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3B,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAC,CAAC;QAEX,IAAI,KAAK,GAAG,EAAE,CAAC;QAEf,IAAI,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,CAAC;YAAE,OAAO;QAEvF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;YAC7C,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,KAAK,CAAC,IAAI,IAAI,SAAS,EAAE;gBAC3B,MAAM,KAAK,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;aACzD;SACF;QAED,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;IACpE,CAAC;IAED,IAAI,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;IAEnC,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,UAAS,SAAS,EAAE,GAAG,IAAI;QAC3C,MAAM,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;QAC3B,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;IACrD,CAAC,CAAA;IAED,OAAO,GAAG,EAAE;QACV,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,YAAY,CAAC;IACjC,CAAC,CAAA;AACH,CAAC;AAnCD,gDAmCC","sourcesContent":["import { DBI } from \"../DBI\";\r\n\r\nexport function hookEventListeners(dbi: DBI): () => any {\r\n async function handle(eventName: string, ...args: any[]) {\r\n if (!dbi.data.eventMap[eventName]) return;\r\n\r\n let ctxArgs =\r\n dbi.data.eventMap[eventName]\r\n .reduce((all, current, index) => {\r\n all[current] = args[index];\r\n return all;\r\n }, {});\r\n\r\n let other = {};\r\n\r\n if (!await dbi.events.trigger(\"beforeEvent\", { eventName, ...ctxArgs, other })) return;\r\n\r\n for (let i = 0; i < dbi.data.events.size; i++) {\r\n const value = dbi.data.events.at(i);\r\n if (value.name == eventName) {\r\n await value.onExecute({ eventName, ...ctxArgs, other });\r\n }\r\n }\r\n\r\n dbi.events.trigger(\"afterEvent\", { eventName, ...ctxArgs, other })\r\n }\r\n\r\n let originalEmit = dbi.client.emit;\r\n\r\n dbi.client.emit = function(eventName, ...args) {\r\n handle(eventName, ...args);\r\n return originalEmit.call(this, eventName, ...args);\r\n }\r\n\r\n return () => {\r\n dbi.client.emit = originalEmit;\r\n }\r\n}"]}
1
+ {"version":3,"file":"hookEventListeners.js","sourceRoot":"","sources":["../../src/methods/hookEventListeners.ts"],"names":[],"mappings":"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","sourcesContent":["import { Guild } from \"discord.js\";\r\nimport { DBI } from \"../DBI\";\r\n\r\nexport function hookEventListeners(dbi: DBI): () => any {\r\n async function handle(eventName: string, ...args: any[]) {\r\n if (!dbi.data.eventMap[eventName]) return;\r\n\r\n let ctxArgs =\r\n dbi.data.eventMap[eventName]\r\n .reduce((all, current, index) => {\r\n all[current] = args[index];\r\n return all;\r\n }, {});\r\n\r\n let other = {};\r\n\r\n \r\n let guildLocaleName = args.reduce((all, current) => {\r\n if (current?.guild?.id) return current?.guild?.preferredLocale?.split?.(\"-\")?.[0];\r\n if (current instanceof Guild) return current?.preferredLocale?.split?.(\"-\")?.[0];\r\n return all;\r\n }, null);\r\n let guildLocale = guildLocaleName ? (dbi.data.locales.has(guildLocaleName) ? dbi.data.locales.get(guildLocaleName) : dbi.data.locales.get(dbi.config.defaults.locale)) : null;\r\n \r\n let locale = guildLocale ? { guild: guildLocale } : null;\r\n \r\n if (!await dbi.events.trigger(\"beforeEvent\", { eventName, ...ctxArgs, other, locale })) return;\r\n \r\n let ordered = [];\r\n let unOrdered = [];\r\n for (let i = 0; i < dbi.data.events.size; i++) {\r\n const value = dbi.data.events.at(i);\r\n if (value.name == eventName) {\r\n if (value.ordered) {\r\n ordered.push(value);\r\n } else {\r\n unOrdered.push(value);\r\n }\r\n }\r\n }\r\n\r\n for (let i = 0; i < unOrdered.length; i++) {\r\n const value = unOrdered[i];\r\n value.onExecute({ eventName, ...ctxArgs, other, locale });\r\n }\r\n\r\n for (let i = 0; i < ordered.length; i++) {\r\n const value = ordered[i];\r\n await value.onExecute({ eventName, ...ctxArgs, other, locale });\r\n }\r\n\r\n dbi.events.trigger(\"afterEvent\", { eventName, ...ctxArgs, other, locale })\r\n }\r\n\r\n let originalEmit = dbi.client.emit;\r\n\r\n dbi.client.emit = function(eventName, ...args) {\r\n handle(eventName, ...args);\r\n return originalEmit.call(this, eventName, ...args);\r\n }\r\n\r\n return () => {\r\n dbi.client.emit = originalEmit;\r\n }\r\n}"]}
@@ -205,7 +205,7 @@ function formatLocale(locale) {
205
205
  longAliases.forEach((longLocale) => {
206
206
  allNameLocales[longLocale] = localeData.name;
207
207
  descriptionLocales[longLocale] = localeData.description;
208
- Object.entries(localeData.options || []).forEach(([optionName, optionData]) => {
208
+ Object.entries(localeData?.options || {}).forEach(([optionName, optionData]) => {
209
209
  if (!optionsLocales[optionName])
210
210
  optionsLocales[optionName] = {};
211
211
  let optionLocale = optionsLocales[optionName];
@@ -215,7 +215,7 @@ function formatLocale(locale) {
215
215
  optionLocale.descriptionLocales = {};
216
216
  if (!optionLocale.choiceLocales)
217
217
  optionLocale.choiceLocales = {};
218
- Object.entries(optionData.choices).forEach(([choiceOriginalName, choiceName]) => {
218
+ Object.entries(optionData?.choices || {}).forEach(([choiceOriginalName, choiceName]) => {
219
219
  if (!optionLocale.choiceLocales)
220
220
  optionLocale.choiceLocales = {};
221
221
  if (!optionLocale.choiceLocales[choiceOriginalName])
@@ -1 +1 @@
1
- {"version":3,"file":"publishInteractions.js","sourceRoot":"","sources":["../../src/methods/publishInteractions.ts"],"names":[],"mappings":"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","sourcesContent":["import Discord from \"discord.js\";\r\nimport { DBIChatInput } from \"../types/ChatInput/ChatInput\";\r\nimport { REST } from \"@discordjs/rest\";\r\nimport { Routes, RESTGetAPIUserResult, RESTPutAPIApplicationCommandsJSONBody, ApplicationCommandType, ApplicationCommandOptionType } from \"discord-api-types/v9\";\r\nimport { reducePermissions } from \"../utils/permissions\";\r\nimport snakecaseKeys from \"snakecase-keys\";\r\nimport { DBI } from \"../DBI\";\r\nimport { DBIInteractionLocale } from \"../types/InteractionLocale\";\r\n\r\nconst PUBLISHABLE_TYPES = [\"ChatInput\", \"UserContextMenu\", \"MessageContextMenu\"];\r\nconst ORIGINAL_LOCALES = [\"da\", \"de\", \"en-GB\", \"en-US\", \"es-ES\", \"fr\", \"hr\", \"it\", \"lt\", \"hu\", \"nl\", \"no\", \"pl\", \"pt-BR\", \"ro\", \"fi\", \"sv-SE\", \"vi\", \"tr\", \"cs\", \"el\", \"bg\", \"ru\", \"uk\", \"hi\", \"th\", \"zh-CN\", \"ja\", \"zh-TW\", \"ko\"];\r\n\r\nexport async function publishInteractions(\r\n clientToken: string,\r\n interactions: Discord.Collection<string, DBIChatInput>,\r\n interactionsLocales: Discord.Collection<string, DBIInteractionLocale>,\r\n publishType: \"Guild\" | \"Global\",\r\n guildId?: string\r\n) {\r\n interactions = interactions.filter(i => PUBLISHABLE_TYPES.includes(i.type));\r\n\r\n const rest = new REST({ version: \"9\" });\r\n rest.setToken(clientToken);\r\n\r\n const me: RESTGetAPIUserResult = await rest.get(Routes.user()) as any;\r\n interactions = interactions.sort((a, b) => b.name.split(\" \").length - a.name.split(\" \").length);\r\n\r\n let body: RESTPutAPIApplicationCommandsJSONBody =\r\n interactions.reduce((all, current) => {\r\n switch (current.type) {\r\n case \"ChatInput\": {\r\n let nameSplitted = current.name.split(\" \");\r\n let localeData = formatLocale(interactionsLocales.get(current.name) ?? {} as any);\r\n switch (nameSplitted.length) {\r\n case 1: {\r\n all.push({\r\n type: ApplicationCommandType.ChatInput,\r\n description: current.description,\r\n name: nameSplitted[0],\r\n default_member_permissions: reducePermissions(current.defaultMemberPermissions).toString(),\r\n dm_permission: current.directMessages,\r\n options: localeifyOptions(current.options || [], localeData.optionsLocales),\r\n name_localizations: localeData.nameLocales(0),\r\n description_localizations: localeData.descriptionLocales,\r\n });\r\n break;\r\n }\r\n case 2: {\r\n let baseItem = all.find(i => i.name == current.name.split(\" \")[0] && i.type == ApplicationCommandType.ChatInput);\r\n let localeData = formatLocale(interactionsLocales.get(current.name) ?? {} as any);\r\n let option = {\r\n type: ApplicationCommandOptionType.Subcommand,\r\n name: nameSplitted[1],\r\n description: current.description,\r\n default_member_permissions: reducePermissions(current.defaultMemberPermissions).toString(),\r\n dm_permission: current.directMessages,\r\n options: localeifyOptions(current.options || [], localeData.optionsLocales),\r\n name_localizations: localeData.nameLocales(1),\r\n description_localizations: localeData.descriptionLocales,\r\n };\r\n if (!baseItem) {\r\n all.push({\r\n type: ApplicationCommandType.ChatInput,\r\n name: nameSplitted[0],\r\n name_localizations: localeData.nameLocales(0),\r\n description: \"...\",\r\n options: [\r\n option\r\n ]\r\n });\r\n } else {\r\n baseItem.options.push(option);\r\n }\r\n break;\r\n }\r\n case 3: {\r\n let level1Item = all.find(i => i.name == current.name.split(\" \")[0] && i.type == ApplicationCommandType.ChatInput);\r\n let localeData = formatLocale(interactionsLocales.get(current.name) ?? {} as any);\r\n if (!level1Item) {\r\n all.push({\r\n type: ApplicationCommandType.ChatInput,\r\n name: nameSplitted[0],\r\n name_localizations: localeData.nameLocales(0),\r\n description: \"...\",\r\n options: [\r\n {\r\n type: ApplicationCommandOptionType.SubcommandGroup,\r\n name: nameSplitted[1],\r\n name_localizations: localeData.nameLocales(1),\r\n description: \"...\",\r\n options: [\r\n {\r\n type: ApplicationCommandOptionType.Subcommand,\r\n name: nameSplitted[2],\r\n description: current.description,\r\n default_member_permissions: reducePermissions(current.defaultMemberPermissions).toString(),\r\n dm_permission: current.directMessages,\r\n options: localeifyOptions(current.options || [], localeData.optionsLocales),\r\n name_localizations: localeData.nameLocales(2),\r\n description_localizations: localeData.descriptionLocales,\r\n }\r\n ]\r\n }\r\n ]\r\n });\r\n } else {\r\n let level2Item = level1Item.options.find(i => i.name == current.name.split(\" \")[1]);\r\n if (!level2Item) {\r\n level1Item.options.push({\r\n type: ApplicationCommandOptionType.SubcommandGroup,\r\n name: nameSplitted[1],\r\n name_localizations: localeData.nameLocales(1),\r\n description: \"...\",\r\n options: [\r\n {\r\n type: ApplicationCommandOptionType.Subcommand,\r\n name: nameSplitted[2],\r\n description: current.description,\r\n default_member_permissions: reducePermissions(current.defaultMemberPermissions).toString(),\r\n dm_permission: current.directMessages,\r\n options: localeifyOptions(current.options || [], localeData.optionsLocales),\r\n name_localizations: localeData.nameLocales(2),\r\n description_localizations: localeData.descriptionLocales\r\n }\r\n ]\r\n })\r\n } else {\r\n level2Item.options.push({\r\n type: ApplicationCommandOptionType.Subcommand,\r\n name: nameSplitted[2],\r\n description: current.description,\r\n default_member_permissions: reducePermissions(current.defaultMemberPermissions).toString(),\r\n dm_permission: current.directMessages,\r\n options: localeifyOptions(current.options || [], localeData.optionsLocales),\r\n name_localizations: localeData.nameLocales(2),\r\n description_localizations: localeData.descriptionLocales,\r\n });\r\n }\r\n }\r\n break;\r\n }\r\n }\r\n break;\r\n }\r\n case \"MessageContextMenu\": {\r\n let localeData = formatLocale(interactionsLocales.get(current.name) ?? {} as any);\r\n all.push({\r\n type: ApplicationCommandType.Message,\r\n name: current.name,\r\n default_member_permissions: reducePermissions(current.defaultMemberPermissions).toString(),\r\n dm_permission: current.directMessages,\r\n name_localizations: localeData.allNameLocales,\r\n description_localizations: localeData.descriptionLocales,\r\n });\r\n break;\r\n }\r\n case \"UserContextMenu\": {\r\n let localeData = formatLocale(interactionsLocales.get(current.name) ?? {} as any);\r\n all.push({\r\n type: ApplicationCommandType.User,\r\n name: current.name,\r\n default_member_permissions: reducePermissions(current.defaultMemberPermissions).toString(),\r\n dm_permission: current.directMessages,\r\n name_localizations: localeData.allNameLocales,\r\n description_localizations: localeData.descriptionLocales\r\n });\r\n break;\r\n }\r\n }\r\n\r\n return all;\r\n }, []);\r\n \r\n switch (publishType) {\r\n case \"Guild\": {\r\n await rest.put(Routes.applicationGuildCommands(me.id, guildId), { body });\r\n break;\r\n }\r\n case \"Global\": {\r\n await rest.put(Routes.applicationCommands(me.id), { body });\r\n break;\r\n }\r\n }\r\n \r\n}\r\n\r\nexport function localeifyOptions(options: any[], localeData: any): any[] {\r\n return options.map(i => {\r\n let optionData = localeData[i.name];\r\n return optionData ? Object.assign(i, {\r\n name_localizations: optionData.nameLocales,\r\n description_localizations: optionData.descriptionLocales,\r\n choices: i.choices ? i.choices.map((j) => {\r\n let choiceLocale = optionData.choiceLocales[j.name];\r\n return choiceLocale ? Object.assign(j, {\r\n name_localizations: choiceLocale\r\n }) : j;\r\n }) : undefined\r\n }) : i;\r\n })\r\n}\r\n\r\nexport function formatLocale(locale: DBIInteractionLocale): any {\r\n let allNameLocales = {};\r\n let descriptionLocales = {};\r\n let optionsLocales = {};\r\n\r\n function nameLocales(index) {\r\n return Object.fromEntries(Object.entries(allNameLocales).map(i => [i[0], (i[1] as string).split(\" \").at(index)]));\r\n }\r\n\r\n if (!locale?.data) return {\r\n nameLocales,\r\n allNameLocales,\r\n descriptionLocales,\r\n optionsLocales\r\n };\r\n\r\n Object.entries(locale.data).forEach(([shortLocale, localeData]) => {\r\n let longAliases = ORIGINAL_LOCALES.filter(i => i.split(\"-\").at(0) == shortLocale);\r\n longAliases.forEach((longLocale) => {\r\n allNameLocales[longLocale] = localeData.name;\r\n descriptionLocales[longLocale] = localeData.description;\r\n Object.entries(localeData.options || []).forEach(([optionName, optionData]) => {\r\n if (!optionsLocales[optionName]) optionsLocales[optionName] = {};\r\n let optionLocale = optionsLocales[optionName];\r\n if (!optionLocale.nameLocales) optionLocale.nameLocales = {};\r\n if (!optionLocale.descriptionLocales) optionLocale.descriptionLocales = {};\r\n if (!optionLocale.choiceLocales) optionLocale.choiceLocales = {};\r\n\r\n Object.entries(optionData.choices).forEach(([choiceOriginalName, choiceName]) => {\r\n if (!optionLocale.choiceLocales) optionLocale.choiceLocales = {};\r\n if (!optionLocale.choiceLocales[choiceOriginalName]) optionLocale.choiceLocales[choiceOriginalName] = {};\r\n let choiceLocale = optionLocale.choiceLocales[choiceOriginalName];\r\n \r\n choiceLocale[longLocale] = choiceName;\r\n });\r\n\r\n optionLocale.nameLocales[longLocale] = optionData.name;\r\n optionLocale.descriptionLocales[longLocale] = optionData.description;\r\n })\r\n });\r\n });\r\n \r\n return {\r\n nameLocales,\r\n allNameLocales,\r\n descriptionLocales,\r\n optionsLocales\r\n }\r\n}"]}
1
+ {"version":3,"file":"publishInteractions.js","sourceRoot":"","sources":["../../src/methods/publishInteractions.ts"],"names":[],"mappings":";;;AAEA,0CAAuC;AACvC,6CAAiK;AACjK,sDAAyD;AAKzD,MAAM,iBAAiB,GAAG,CAAC,WAAW,EAAE,iBAAiB,EAAE,oBAAoB,CAAC,CAAC;AACjF,MAAM,gBAAgB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;AAE5N,KAAK,UAAU,mBAAmB,CACvC,WAAmB,EACnB,YAAsD,EACtD,mBAAqE,EACrE,WAA+B,EAC/B,OAAgB;IAEhB,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAE5E,MAAM,IAAI,GAAG,IAAI,WAAI,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;IACxC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAE3B,MAAM,EAAE,GAAyB,MAAM,IAAI,CAAC,GAAG,CAAC,WAAM,CAAC,IAAI,EAAE,CAAQ,CAAC;IACtE,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;IAEhG,IAAI,IAAI,GACN,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;QACnC,QAAQ,OAAO,CAAC,IAAI,EAAE;YACpB,KAAK,WAAW,CAAC,CAAC;gBAChB,IAAI,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC3C,IAAI,UAAU,GAAG,YAAY,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAS,CAAC,CAAC;gBAClF,QAAQ,YAAY,CAAC,MAAM,EAAE;oBAC3B,KAAK,CAAC,CAAC,CAAC;wBACN,GAAG,CAAC,IAAI,CAAC;4BACP,IAAI,EAAE,2BAAsB,CAAC,SAAS;4BACtC,WAAW,EAAE,OAAO,CAAC,WAAW;4BAChC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;4BACrB,0BAA0B,EAAE,IAAA,+BAAiB,EAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,QAAQ,EAAE;4BAC1F,aAAa,EAAE,OAAO,CAAC,cAAc;4BACrC,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,EAAE,UAAU,CAAC,cAAc,CAAC;4BAC3E,kBAAkB,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;4BAC7C,yBAAyB,EAAE,UAAU,CAAC,kBAAkB;yBACzD,CAAC,CAAC;wBACH,MAAM;qBACP;oBACD,KAAK,CAAC,CAAC,CAAC;wBACN,IAAI,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,2BAAsB,CAAC,SAAS,CAAC,CAAC;wBACjH,IAAI,UAAU,GAAG,YAAY,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAS,CAAC,CAAC;wBAClF,IAAI,MAAM,GAAG;4BACX,IAAI,EAAE,iCAA4B,CAAC,UAAU;4BAC7C,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;4BACrB,WAAW,EAAE,OAAO,CAAC,WAAW;4BAChC,0BAA0B,EAAE,IAAA,+BAAiB,EAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,QAAQ,EAAE;4BAC1F,aAAa,EAAE,OAAO,CAAC,cAAc;4BACrC,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,EAAE,UAAU,CAAC,cAAc,CAAC;4BAC3E,kBAAkB,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;4BAC7C,yBAAyB,EAAE,UAAU,CAAC,kBAAkB;yBACzD,CAAC;wBACF,IAAI,CAAC,QAAQ,EAAE;4BACb,GAAG,CAAC,IAAI,CAAC;gCACP,IAAI,EAAE,2BAAsB,CAAC,SAAS;gCACtC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;gCACrB,kBAAkB,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;gCAC7C,WAAW,EAAE,KAAK;gCAClB,OAAO,EAAE;oCACP,MAAM;iCACP;6BACF,CAAC,CAAC;yBACJ;6BAAM;4BACL,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;yBAC/B;wBACD,MAAM;qBACP;oBACD,KAAK,CAAC,CAAC,CAAC;wBACN,IAAI,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,2BAAsB,CAAC,SAAS,CAAC,CAAC;wBACnH,IAAI,UAAU,GAAG,YAAY,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAS,CAAC,CAAC;wBAClF,IAAI,CAAC,UAAU,EAAE;4BACf,GAAG,CAAC,IAAI,CAAC;gCACP,IAAI,EAAE,2BAAsB,CAAC,SAAS;gCACtC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;gCACrB,kBAAkB,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;gCAC7C,WAAW,EAAE,KAAK;gCAClB,OAAO,EAAE;oCACP;wCACE,IAAI,EAAE,iCAA4B,CAAC,eAAe;wCAClD,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;wCACrB,kBAAkB,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;wCAC7C,WAAW,EAAE,KAAK;wCAClB,OAAO,EAAE;4CACP;gDACE,IAAI,EAAE,iCAA4B,CAAC,UAAU;gDAC7C,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;gDACrB,WAAW,EAAE,OAAO,CAAC,WAAW;gDAChC,0BAA0B,EAAE,IAAA,+BAAiB,EAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,QAAQ,EAAE;gDAC1F,aAAa,EAAE,OAAO,CAAC,cAAc;gDACrC,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,EAAE,UAAU,CAAC,cAAc,CAAC;gDAC3E,kBAAkB,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;gDAC7C,yBAAyB,EAAE,UAAU,CAAC,kBAAkB;6CACzD;yCACF;qCACF;iCACF;6BACF,CAAC,CAAC;yBACJ;6BAAM;4BACL,IAAI,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;4BACpF,IAAI,CAAC,UAAU,EAAE;gCACf,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC;oCACtB,IAAI,EAAE,iCAA4B,CAAC,eAAe;oCAClD,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;oCACrB,kBAAkB,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;oCAC7C,WAAW,EAAE,KAAK;oCAClB,OAAO,EAAE;wCACP;4CACE,IAAI,EAAE,iCAA4B,CAAC,UAAU;4CAC7C,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;4CACrB,WAAW,EAAE,OAAO,CAAC,WAAW;4CAChC,0BAA0B,EAAE,IAAA,+BAAiB,EAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,QAAQ,EAAE;4CAC1F,aAAa,EAAE,OAAO,CAAC,cAAc;4CACrC,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,EAAE,UAAU,CAAC,cAAc,CAAC;4CAC3E,kBAAkB,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;4CAC7C,yBAAyB,EAAE,UAAU,CAAC,kBAAkB;yCACzD;qCACF;iCACF,CAAC,CAAA;6BACH;iCAAM;gCACL,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC;oCACtB,IAAI,EAAE,iCAA4B,CAAC,UAAU;oCAC7C,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;oCACrB,WAAW,EAAE,OAAO,CAAC,WAAW;oCAChC,0BAA0B,EAAE,IAAA,+BAAiB,EAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,QAAQ,EAAE;oCAC1F,aAAa,EAAE,OAAO,CAAC,cAAc;oCACrC,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,EAAE,UAAU,CAAC,cAAc,CAAC;oCAC3E,kBAAkB,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;oCAC7C,yBAAyB,EAAE,UAAU,CAAC,kBAAkB;iCACzD,CAAC,CAAC;6BACJ;yBACF;wBACD,MAAM;qBACP;iBACF;gBACD,MAAM;aACP;YACD,KAAK,oBAAoB,CAAC,CAAC;gBACzB,IAAI,UAAU,GAAG,YAAY,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAS,CAAC,CAAC;gBAClF,GAAG,CAAC,IAAI,CAAC;oBACP,IAAI,EAAE,2BAAsB,CAAC,OAAO;oBACpC,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,0BAA0B,EAAE,IAAA,+BAAiB,EAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,QAAQ,EAAE;oBAC1F,aAAa,EAAE,OAAO,CAAC,cAAc;oBACrC,kBAAkB,EAAE,UAAU,CAAC,cAAc;oBAC7C,yBAAyB,EAAE,UAAU,CAAC,kBAAkB;iBACzD,CAAC,CAAC;gBACH,MAAM;aACP;YACD,KAAK,iBAAiB,CAAC,CAAC;gBACtB,IAAI,UAAU,GAAG,YAAY,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAS,CAAC,CAAC;gBAClF,GAAG,CAAC,IAAI,CAAC;oBACP,IAAI,EAAE,2BAAsB,CAAC,IAAI;oBACjC,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,0BAA0B,EAAE,IAAA,+BAAiB,EAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,QAAQ,EAAE;oBAC1F,aAAa,EAAE,OAAO,CAAC,cAAc;oBACrC,kBAAkB,EAAE,UAAU,CAAC,cAAc;oBAC7C,yBAAyB,EAAE,UAAU,CAAC,kBAAkB;iBACzD,CAAC,CAAC;gBACH,MAAM;aACP;SACF;QAED,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;IAET,QAAQ,WAAW,EAAE;QACnB,KAAK,OAAO,CAAC,CAAC;YACZ,MAAM,IAAI,CAAC,GAAG,CAAC,WAAM,CAAC,wBAAwB,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1E,MAAM;SACP;QACD,KAAK,QAAQ,CAAC,CAAC;YACb,MAAM,IAAI,CAAC,GAAG,CAAC,WAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5D,MAAM;SACP;KACF;AAEH,CAAC;AA5KD,kDA4KC;AAED,SAAgB,gBAAgB,CAAC,OAAc,EAAE,UAAe;IAC9D,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QACrB,IAAI,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACpC,OAAO,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE;YACnC,kBAAkB,EAAE,UAAU,CAAC,WAAW;YAC1C,yBAAyB,EAAE,UAAU,CAAC,kBAAkB;YACxD,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACvC,IAAI,YAAY,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACpD,OAAO,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE;oBACrC,kBAAkB,EAAE,YAAY;iBACjC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACT,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;SACf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACT,CAAC,CAAC,CAAA;AACJ,CAAC;AAdD,4CAcC;AAED,SAAgB,YAAY,CAAC,MAA4B;IACvD,IAAI,cAAc,GAAG,EAAE,CAAC;IACxB,IAAI,kBAAkB,GAAG,EAAE,CAAC;IAC5B,IAAI,cAAc,GAAG,EAAE,CAAC;IAExB,SAAS,WAAW,CAAC,KAAK;QACxB,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAG,CAAC,CAAC,CAAC,CAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACpH,CAAC;IAED,IAAI,CAAC,MAAM,EAAE,IAAI;QAAE,OAAO;YACxB,WAAW;YACX,cAAc;YACd,kBAAkB;YAClB,cAAc;SACf,CAAC;IAEF,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE,UAAU,CAAC,EAAE,EAAE;QAChE,IAAI,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC;QAClF,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;YACjC,cAAc,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC;YAC7C,kBAAkB,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC,WAAW,CAAC;YACxD,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,EAAE;gBAC7E,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC;oBAAE,cAAc,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;gBACjE,IAAI,YAAY,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;gBAC9C,IAAI,CAAC,YAAY,CAAC,WAAW;oBAAE,YAAY,CAAC,WAAW,GAAG,EAAE,CAAC;gBAC7D,IAAI,CAAC,YAAY,CAAC,kBAAkB;oBAAE,YAAY,CAAC,kBAAkB,GAAG,EAAE,CAAC;gBAC3E,IAAI,CAAC,YAAY,CAAC,aAAa;oBAAE,YAAY,CAAC,aAAa,GAAG,EAAE,CAAC;gBAEjE,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,EAAE,UAAU,CAAC,EAAE,EAAE;oBACrF,IAAI,CAAC,YAAY,CAAC,aAAa;wBAAE,YAAY,CAAC,aAAa,GAAG,EAAE,CAAC;oBACjE,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,kBAAkB,CAAC;wBAAE,YAAY,CAAC,aAAa,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC;oBACzG,IAAI,YAAY,GAAG,YAAY,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;oBAElE,YAAY,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC;gBACxC,CAAC,CAAC,CAAC;gBAEH,YAAY,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC;gBACvD,YAAY,CAAC,kBAAkB,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC,WAAW,CAAC;YACvE,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,WAAW;QACX,cAAc;QACd,kBAAkB;QAClB,cAAc;KACf,CAAA;AACH,CAAC;AAhDD,oCAgDC","sourcesContent":["import Discord from \"discord.js\";\r\nimport { DBIChatInput } from \"../types/ChatInput/ChatInput\";\r\nimport { REST } from \"@discordjs/rest\";\r\nimport { Routes, RESTGetAPIUserResult, RESTPutAPIApplicationCommandsJSONBody, ApplicationCommandType, ApplicationCommandOptionType } from \"discord-api-types/v9\";\r\nimport { reducePermissions } from \"../utils/permissions\";\r\nimport snakecaseKeys from \"snakecase-keys\";\r\nimport { DBI } from \"../DBI\";\r\nimport { DBIInteractionLocale } from \"../types/InteractionLocale\";\r\n\r\nconst PUBLISHABLE_TYPES = [\"ChatInput\", \"UserContextMenu\", \"MessageContextMenu\"];\r\nconst ORIGINAL_LOCALES = [\"da\", \"de\", \"en-GB\", \"en-US\", \"es-ES\", \"fr\", \"hr\", \"it\", \"lt\", \"hu\", \"nl\", \"no\", \"pl\", \"pt-BR\", \"ro\", \"fi\", \"sv-SE\", \"vi\", \"tr\", \"cs\", \"el\", \"bg\", \"ru\", \"uk\", \"hi\", \"th\", \"zh-CN\", \"ja\", \"zh-TW\", \"ko\"];\r\n\r\nexport async function publishInteractions(\r\n clientToken: string,\r\n interactions: Discord.Collection<string, DBIChatInput>,\r\n interactionsLocales: Discord.Collection<string, DBIInteractionLocale>,\r\n publishType: \"Guild\" | \"Global\",\r\n guildId?: string\r\n) {\r\n interactions = interactions.filter(i => PUBLISHABLE_TYPES.includes(i.type));\r\n\r\n const rest = new REST({ version: \"9\" });\r\n rest.setToken(clientToken);\r\n\r\n const me: RESTGetAPIUserResult = await rest.get(Routes.user()) as any;\r\n interactions = interactions.sort((a, b) => b.name.split(\" \").length - a.name.split(\" \").length);\r\n\r\n let body: RESTPutAPIApplicationCommandsJSONBody =\r\n interactions.reduce((all, current) => {\r\n switch (current.type) {\r\n case \"ChatInput\": {\r\n let nameSplitted = current.name.split(\" \");\r\n let localeData = formatLocale(interactionsLocales.get(current.name) ?? {} as any);\r\n switch (nameSplitted.length) {\r\n case 1: {\r\n all.push({\r\n type: ApplicationCommandType.ChatInput,\r\n description: current.description,\r\n name: nameSplitted[0],\r\n default_member_permissions: reducePermissions(current.defaultMemberPermissions).toString(),\r\n dm_permission: current.directMessages,\r\n options: localeifyOptions(current.options || [], localeData.optionsLocales),\r\n name_localizations: localeData.nameLocales(0),\r\n description_localizations: localeData.descriptionLocales,\r\n });\r\n break;\r\n }\r\n case 2: {\r\n let baseItem = all.find(i => i.name == current.name.split(\" \")[0] && i.type == ApplicationCommandType.ChatInput);\r\n let localeData = formatLocale(interactionsLocales.get(current.name) ?? {} as any);\r\n let option = {\r\n type: ApplicationCommandOptionType.Subcommand,\r\n name: nameSplitted[1],\r\n description: current.description,\r\n default_member_permissions: reducePermissions(current.defaultMemberPermissions).toString(),\r\n dm_permission: current.directMessages,\r\n options: localeifyOptions(current.options || [], localeData.optionsLocales),\r\n name_localizations: localeData.nameLocales(1),\r\n description_localizations: localeData.descriptionLocales,\r\n };\r\n if (!baseItem) {\r\n all.push({\r\n type: ApplicationCommandType.ChatInput,\r\n name: nameSplitted[0],\r\n name_localizations: localeData.nameLocales(0),\r\n description: \"...\",\r\n options: [\r\n option\r\n ]\r\n });\r\n } else {\r\n baseItem.options.push(option);\r\n }\r\n break;\r\n }\r\n case 3: {\r\n let level1Item = all.find(i => i.name == current.name.split(\" \")[0] && i.type == ApplicationCommandType.ChatInput);\r\n let localeData = formatLocale(interactionsLocales.get(current.name) ?? {} as any);\r\n if (!level1Item) {\r\n all.push({\r\n type: ApplicationCommandType.ChatInput,\r\n name: nameSplitted[0],\r\n name_localizations: localeData.nameLocales(0),\r\n description: \"...\",\r\n options: [\r\n {\r\n type: ApplicationCommandOptionType.SubcommandGroup,\r\n name: nameSplitted[1],\r\n name_localizations: localeData.nameLocales(1),\r\n description: \"...\",\r\n options: [\r\n {\r\n type: ApplicationCommandOptionType.Subcommand,\r\n name: nameSplitted[2],\r\n description: current.description,\r\n default_member_permissions: reducePermissions(current.defaultMemberPermissions).toString(),\r\n dm_permission: current.directMessages,\r\n options: localeifyOptions(current.options || [], localeData.optionsLocales),\r\n name_localizations: localeData.nameLocales(2),\r\n description_localizations: localeData.descriptionLocales,\r\n }\r\n ]\r\n }\r\n ]\r\n });\r\n } else {\r\n let level2Item = level1Item.options.find(i => i.name == current.name.split(\" \")[1]);\r\n if (!level2Item) {\r\n level1Item.options.push({\r\n type: ApplicationCommandOptionType.SubcommandGroup,\r\n name: nameSplitted[1],\r\n name_localizations: localeData.nameLocales(1),\r\n description: \"...\",\r\n options: [\r\n {\r\n type: ApplicationCommandOptionType.Subcommand,\r\n name: nameSplitted[2],\r\n description: current.description,\r\n default_member_permissions: reducePermissions(current.defaultMemberPermissions).toString(),\r\n dm_permission: current.directMessages,\r\n options: localeifyOptions(current.options || [], localeData.optionsLocales),\r\n name_localizations: localeData.nameLocales(2),\r\n description_localizations: localeData.descriptionLocales\r\n }\r\n ]\r\n })\r\n } else {\r\n level2Item.options.push({\r\n type: ApplicationCommandOptionType.Subcommand,\r\n name: nameSplitted[2],\r\n description: current.description,\r\n default_member_permissions: reducePermissions(current.defaultMemberPermissions).toString(),\r\n dm_permission: current.directMessages,\r\n options: localeifyOptions(current.options || [], localeData.optionsLocales),\r\n name_localizations: localeData.nameLocales(2),\r\n description_localizations: localeData.descriptionLocales,\r\n });\r\n }\r\n }\r\n break;\r\n }\r\n }\r\n break;\r\n }\r\n case \"MessageContextMenu\": {\r\n let localeData = formatLocale(interactionsLocales.get(current.name) ?? {} as any);\r\n all.push({\r\n type: ApplicationCommandType.Message,\r\n name: current.name,\r\n default_member_permissions: reducePermissions(current.defaultMemberPermissions).toString(),\r\n dm_permission: current.directMessages,\r\n name_localizations: localeData.allNameLocales,\r\n description_localizations: localeData.descriptionLocales,\r\n });\r\n break;\r\n }\r\n case \"UserContextMenu\": {\r\n let localeData = formatLocale(interactionsLocales.get(current.name) ?? {} as any);\r\n all.push({\r\n type: ApplicationCommandType.User,\r\n name: current.name,\r\n default_member_permissions: reducePermissions(current.defaultMemberPermissions).toString(),\r\n dm_permission: current.directMessages,\r\n name_localizations: localeData.allNameLocales,\r\n description_localizations: localeData.descriptionLocales\r\n });\r\n break;\r\n }\r\n }\r\n\r\n return all;\r\n }, []);\r\n \r\n switch (publishType) {\r\n case \"Guild\": {\r\n await rest.put(Routes.applicationGuildCommands(me.id, guildId), { body });\r\n break;\r\n }\r\n case \"Global\": {\r\n await rest.put(Routes.applicationCommands(me.id), { body });\r\n break;\r\n }\r\n }\r\n \r\n}\r\n\r\nexport function localeifyOptions(options: any[], localeData: any): any[] {\r\n return options.map(i => {\r\n let optionData = localeData[i.name];\r\n return optionData ? Object.assign(i, {\r\n name_localizations: optionData.nameLocales,\r\n description_localizations: optionData.descriptionLocales,\r\n choices: i.choices ? i.choices.map((j) => {\r\n let choiceLocale = optionData.choiceLocales[j.name];\r\n return choiceLocale ? Object.assign(j, {\r\n name_localizations: choiceLocale\r\n }) : j;\r\n }) : undefined\r\n }) : i;\r\n })\r\n}\r\n\r\nexport function formatLocale(locale: DBIInteractionLocale): any {\r\n let allNameLocales = {};\r\n let descriptionLocales = {};\r\n let optionsLocales = {};\r\n\r\n function nameLocales(index) {\r\n return Object.fromEntries(Object.entries(allNameLocales).map(i => [i[0], (i[1] as string).split(\" \").at(index)]));\r\n }\r\n\r\n if (!locale?.data) return {\r\n nameLocales,\r\n allNameLocales,\r\n descriptionLocales,\r\n optionsLocales\r\n };\r\n\r\n Object.entries(locale.data).forEach(([shortLocale, localeData]) => {\r\n let longAliases = ORIGINAL_LOCALES.filter(i => i.split(\"-\").at(0) == shortLocale);\r\n longAliases.forEach((longLocale) => {\r\n allNameLocales[longLocale] = localeData.name;\r\n descriptionLocales[longLocale] = localeData.description;\r\n Object.entries(localeData?.options || {}).forEach(([optionName, optionData]) => {\r\n if (!optionsLocales[optionName]) optionsLocales[optionName] = {};\r\n let optionLocale = optionsLocales[optionName];\r\n if (!optionLocale.nameLocales) optionLocale.nameLocales = {};\r\n if (!optionLocale.descriptionLocales) optionLocale.descriptionLocales = {};\r\n if (!optionLocale.choiceLocales) optionLocale.choiceLocales = {};\r\n\r\n Object.entries(optionData?.choices || {}).forEach(([choiceOriginalName, choiceName]) => {\r\n if (!optionLocale.choiceLocales) optionLocale.choiceLocales = {};\r\n if (!optionLocale.choiceLocales[choiceOriginalName]) optionLocale.choiceLocales[choiceOriginalName] = {};\r\n let choiceLocale = optionLocale.choiceLocales[choiceOriginalName];\r\n \r\n choiceLocale[longLocale] = choiceName;\r\n });\r\n\r\n optionLocale.nameLocales[longLocale] = optionData.name;\r\n optionLocale.descriptionLocales[longLocale] = optionData.description;\r\n })\r\n });\r\n });\r\n \r\n return {\r\n nameLocales,\r\n allNameLocales,\r\n descriptionLocales,\r\n optionsLocales\r\n }\r\n}"]}
@@ -1,6 +1,7 @@
1
1
  import Discord from "discord.js";
2
2
  import { DBI } from "../DBI";
3
3
  import { DBIBaseInteraction, IDBIBaseExecuteCtx, TDBIReferencedData } from "./Interaction";
4
+ import { IDBIToJSONArgs } from "../utils/UtilTypes";
4
5
  export interface IDBIButtonExecuteCtx extends IDBIBaseExecuteCtx {
5
6
  interaction: Discord.ButtonInteraction<"cached">;
6
7
  data: TDBIReferencedData[];
@@ -8,9 +9,8 @@ export interface IDBIButtonExecuteCtx extends IDBIBaseExecuteCtx {
8
9
  export declare type TDBIButtonOmitted = Omit<DBIButton, "type" | "description" | "dbi" | "toJSON">;
9
10
  export declare class DBIButton extends DBIBaseInteraction {
10
11
  constructor(dbi: DBI, args: TDBIButtonOmitted);
11
- options?: Omit<Discord.ButtonComponentData, "customId" | "type"> | ((data: (number | string | any)[]) => Omit<Discord.ButtonComponentData, "customId" | "type">);
12
+ options?: Omit<Discord.ButtonComponentData, "customId" | "type">;
12
13
  onExecute(ctx: IDBIButtonExecuteCtx): Promise<any> | any;
13
- referenceTTL?: number;
14
- toJSON(...customData: (string | number | object)[]): Discord.ButtonComponentData;
14
+ toJSON(arg?: IDBIToJSONArgs<Discord.ButtonComponentData>): Discord.ButtonComponentData;
15
15
  }
16
16
  //# sourceMappingURL=Button.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/types/Button.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAG3F,MAAM,WAAW,oBAAqB,SAAQ,kBAAkB;IAC9D,WAAW,EAAE,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACjD,IAAI,EAAE,kBAAkB,EAAE,CAAC;CAC5B;AAED,oBAAY,iBAAiB,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,GAAG,KAAK,GAAG,QAAQ,CAAC,CAAC;AAE3F,qBAAa,SAAU,SAAQ,kBAAkB;gBACnC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,iBAAiB;IAQrC,OAAO,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC;IAEhK,SAAS,CAAC,GAAG,EAAE,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG;IACzD,YAAY,CAAC,EAAE,MAAM,CAAA;IAC7B,MAAM,CAAC,GAAG,UAAU,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,OAAO,CAAC,mBAAmB;CAOjF"}
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/types/Button.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAE3F,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,WAAW,oBAAqB,SAAQ,kBAAkB;IAC9D,WAAW,EAAE,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACjD,IAAI,EAAE,kBAAkB,EAAE,CAAC;CAC5B;AAED,oBAAY,iBAAiB,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,GAAG,KAAK,GAAG,QAAQ,CAAC,CAAC;AAE3F,qBAAa,SAAU,SAAQ,kBAAkB;gBACnC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,iBAAiB;IAOrC,OAAO,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,UAAU,GAAG,MAAM,CAAC,CAAC;IAEhE,SAAS,CAAC,GAAG,EAAE,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG;IACjE,MAAM,CAAC,GAAG,GAAE,cAAc,CAAC,OAAO,CAAC,mBAAmB,CAAa,GAAG,OAAO,CAAC,mBAAmB;CAOlG"}
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DBIButton = void 0;
4
- const tslib_1 = require("tslib");
5
- const discord_js_1 = tslib_1.__importDefault(require("discord.js"));
6
4
  const Interaction_1 = require("./Interaction");
7
5
  const customId_1 = require("../utils/customId");
8
6
  class DBIButton extends Interaction_1.DBIBaseInteraction {
@@ -11,15 +9,14 @@ class DBIButton extends Interaction_1.DBIBaseInteraction {
11
9
  ...args,
12
10
  type: "Button",
13
11
  });
14
- this.referenceTTL = args.referenceTTL;
15
12
  }
16
13
  onExecute(ctx) { }
17
14
  ;
18
- toJSON(...customData) {
15
+ toJSON(arg = {}) {
19
16
  return {
20
- ...(typeof this.options == "function" ? this.options(customData) : this.options),
21
- customId: (0, customId_1.customIdBuilder)(this.dbi, this.name, customData, this.referenceTTL),
22
- type: discord_js_1.default.ComponentType.Button
17
+ ...this.options,
18
+ ...(arg?.override || {}),
19
+ customId: (0, customId_1.customIdBuilder)(this.dbi, this.name, arg?.reference?.data || [], arg?.reference?.tll)
23
20
  };
24
21
  }
25
22
  ;
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","sourceRoot":"","sources":["../../src/types/Button.ts"],"names":[],"mappings":";;;;AAAA,oEAAiC;AAEjC,+CAA2F;AAC3F,gDAAoD;AASpD,MAAa,SAAU,SAAQ,gCAAkB;IAC/C,YAAY,GAAQ,EAAE,IAAuB;QAC3C,KAAK,CAAC,GAAG,EAAE;YACT,GAAI,IAAY;YAChB,IAAI,EAAE,QAAQ;SACf,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;IACxC,CAAC;IAIQ,SAAS,CAAC,GAAyB,IAAwB,CAAC;IAAA,CAAC;IAEtE,MAAM,CAAC,GAAG,UAAwC;QAChD,OAAO;YACL,GAAG,CAAC,OAAO,IAAI,CAAC,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;YAChF,QAAQ,EAAE,IAAA,0BAAe,EAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;YAC7E,IAAI,EAAE,oBAAO,CAAC,aAAa,CAAC,MAAM;SAC5B,CAAC;IACX,CAAC;IAAA,CAAC;CACH;AApBD,8BAoBC","sourcesContent":["import Discord from \"discord.js\";\r\nimport { DBI } from \"../DBI\";\r\nimport { DBIBaseInteraction, IDBIBaseExecuteCtx, TDBIReferencedData } from \"./Interaction\";\r\nimport { customIdBuilder } from \"../utils/customId\";\r\n\r\nexport interface IDBIButtonExecuteCtx extends IDBIBaseExecuteCtx {\r\n interaction: Discord.ButtonInteraction<\"cached\">;\r\n data: TDBIReferencedData[];\r\n}\r\n\r\nexport type TDBIButtonOmitted = Omit<DBIButton, \"type\" | \"description\" | \"dbi\" | \"toJSON\">;\r\n\r\nexport class DBIButton extends DBIBaseInteraction {\r\n constructor(dbi: DBI, args: TDBIButtonOmitted) {\r\n super(dbi, {\r\n ...(args as any),\r\n type: \"Button\",\r\n });\r\n this.referenceTTL = args.referenceTTL;\r\n }\r\n\r\n declare options?: Omit<Discord.ButtonComponentData, \"customId\" | \"type\"> | ((data: (number | string | any)[]) => Omit<Discord.ButtonComponentData, \"customId\" | \"type\">);\r\n\r\n override onExecute(ctx: IDBIButtonExecuteCtx): Promise<any> | any { };\r\n declare referenceTTL?: number\r\n toJSON(...customData: (string | number | object)[]): Discord.ButtonComponentData {\r\n return {\r\n ...(typeof this.options == \"function\" ? this.options(customData) : this.options),\r\n customId: customIdBuilder(this.dbi, this.name, customData, this.referenceTTL),\r\n type: Discord.ComponentType.Button\r\n } as any;\r\n };\r\n}"]}
1
+ {"version":3,"file":"Button.js","sourceRoot":"","sources":["../../src/types/Button.ts"],"names":[],"mappings":";;;AAEA,+CAA2F;AAC3F,gDAAoD;AAUpD,MAAa,SAAU,SAAQ,gCAAkB;IAC/C,YAAY,GAAQ,EAAE,IAAuB;QAC3C,KAAK,CAAC,GAAG,EAAE;YACT,GAAI,IAAY;YAChB,IAAI,EAAE,QAAQ;SACf,CAAC,CAAC;IACL,CAAC;IAIQ,SAAS,CAAC,GAAyB,IAAwB,CAAC;IAAA,CAAC;IACtE,MAAM,CAAC,MAAmD,EAAS;QACjE,OAAO;YACL,GAAG,IAAI,CAAC,OAAO;YACf,GAAG,CAAC,GAAG,EAAE,QAAQ,IAAI,EAAE,CAAC;YACxB,QAAQ,EAAE,IAAA,0BAAe,EAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,CAAC;SACzF,CAAC;IACX,CAAC;IAAA,CAAC;CACH;AAlBD,8BAkBC","sourcesContent":["import Discord from \"discord.js\";\r\nimport { DBI } from \"../DBI\";\r\nimport { DBIBaseInteraction, IDBIBaseExecuteCtx, TDBIReferencedData } from \"./Interaction\";\r\nimport { customIdBuilder } from \"../utils/customId\";\r\nimport { IDBIToJSONArgs } from \"../utils/UtilTypes\";\r\n\r\nexport interface IDBIButtonExecuteCtx extends IDBIBaseExecuteCtx {\r\n interaction: Discord.ButtonInteraction<\"cached\">;\r\n data: TDBIReferencedData[];\r\n}\r\n\r\nexport type TDBIButtonOmitted = Omit<DBIButton, \"type\" | \"description\" | \"dbi\" | \"toJSON\">;\r\n\r\nexport class DBIButton extends DBIBaseInteraction {\r\n constructor(dbi: DBI, args: TDBIButtonOmitted) {\r\n super(dbi, {\r\n ...(args as any),\r\n type: \"Button\",\r\n });\r\n }\r\n\r\n declare options?: Omit<Discord.ButtonComponentData, \"customId\" | \"type\">;\r\n\r\n override onExecute(ctx: IDBIButtonExecuteCtx): Promise<any> | any { };\r\n toJSON(arg: IDBIToJSONArgs<Discord.ButtonComponentData> = {} as any): Discord.ButtonComponentData {\r\n return {\r\n ...this.options,\r\n ...(arg?.override || {}),\r\n customId: customIdBuilder(this.dbi, this.name, arg?.reference?.data || [], arg?.reference?.tll)\r\n } as any;\r\n };\r\n}"]}
@@ -1,5 +1,6 @@
1
1
  import Discord from "discord.js";
2
2
  import { DBI } from "../DBI";
3
+ import { DBILocale } from "./Locale";
3
4
  export interface ClientEvents {
4
5
  applicationCommandPermissionsUpdate: {
5
6
  data: Discord.ApplicationCommandPermissionsUpdateData;
@@ -241,6 +242,10 @@ export declare type DBIEventCombinations = {
241
242
  name: K;
242
243
  onExecute: (ctx: ClientEvents[K] & {
243
244
  other: Record<string, any>;
245
+ locale?: {
246
+ guild: DBILocale;
247
+ };
248
+ eventName: string;
244
249
  }) => Promise<any> | any;
245
250
  };
246
251
  }[keyof ClientEvents];
@@ -251,6 +256,7 @@ export declare class DBIEvent {
251
256
  id?: string;
252
257
  name: string;
253
258
  onExecute: (...args: any[]) => any;
259
+ ordered?: boolean;
254
260
  dbi: DBI;
255
261
  constructor(dbi: DBI, cfg: TDBIEventOmitted);
256
262
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Event.d.ts","sourceRoot":"","sources":["../../src/types/Event.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Event.d.ts","sourceRoot":"","sources":["../../src/types/Event.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ class DBIEvent {
7
7
  id;
8
8
  name;
9
9
  onExecute;
10
+ ordered;
10
11
  dbi;
11
12
  constructor(dbi, cfg) {
12
13
  this.dbi = dbi;
@@ -15,6 +16,7 @@ class DBIEvent {
15
16
  this.other = cfg.other;
16
17
  this.name = cfg.name;
17
18
  this.onExecute = cfg.onExecute;
19
+ this.ordered = cfg.ordered ?? false;
18
20
  }
19
21
  }
20
22
  exports.DBIEvent = DBIEvent;
@@ -1 +1 @@
1
- {"version":3,"file":"Event.js","sourceRoot":"","sources":["../../src/types/Event.ts"],"names":[],"mappings":";;;AAmGA,MAAa,QAAQ;IACV,IAAI,CAAU;IACvB,KAAK,CAAuB;IAC5B,EAAE,CAAU;IACZ,IAAI,CAAS;IACb,SAAS,CAA0B;IACnC,GAAG,CAAM;IACT,YAAY,GAAQ,EAAE,GAAqB;QACzC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;QACpB,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;IACjC,CAAC;CACF;AAfD,4BAeC","sourcesContent":["import Discord from \"discord.js\";\r\nimport { DBI } from \"../DBI\";\r\n\r\nexport interface ClientEvents {\r\n applicationCommandPermissionsUpdate: { data: Discord.ApplicationCommandPermissionsUpdateData };\r\n cacheSweep: { message: string };\r\n channelCreate: { channel: Discord.NonThreadGuildBasedChannel };\r\n channelDelete: { channel: Discord.DMChannel | Discord.NonThreadGuildBasedChannel };\r\n channelPinsUpdate: { channel: Discord.TextBasedChannel, date: Date };\r\n channelUpdate: {\r\n oldChannel: Discord.DMChannel | Discord.NonThreadGuildBasedChannel,\r\n newChannel: Discord.DMChannel | Discord.NonThreadGuildBasedChannel,\r\n };\r\n debug: { message: string };\r\n warn: { message: string };\r\n emojiCreate: { emoji: Discord.GuildEmoji };\r\n emojiDelete: { emoji: Discord.GuildEmoji };\r\n emojiUpdate: { oldEmoji: Discord.GuildEmoji, newEmoji: Discord.GuildEmoji };\r\n error: { error: Error };\r\n guildBanAdd: { ban: Discord.GuildBan };\r\n guildBanRemove: { ban: Discord.GuildBan };\r\n guildCreate: { guild: Discord.Guild };\r\n guildDelete: { guild: Discord.Guild };\r\n guildUnavailable: { guild: Discord.Guild };\r\n guildIntegrationsUpdate: { guild: Discord.Guild };\r\n guildMemberAdd: { member: Discord.GuildMember };\r\n guildMemberAvailable: { member: Discord.GuildMember | Discord.PartialGuildMember };\r\n guildMemberRemove: { member: Discord.GuildMember | Discord.PartialGuildMember };\r\n guildMembersChunk: {\r\n members: Discord.Collection<Discord.Snowflake, Discord.GuildMember>,\r\n guild: Discord.Guild,\r\n data: { count: number; index: number; nonce: string | undefined },\r\n };\r\n guildMemberUpdate: { oldMember: Discord.GuildMember | Discord.PartialGuildMember, newMember: Discord.GuildMember };\r\n guildUpdate: { oldGuild: Discord.Guild, newGuild: Discord.Guild };\r\n inviteCreate: { invite: Discord.Invite };\r\n inviteDelete: { invite: Discord.Invite };\r\n messageCreate: { message: Discord.Message };\r\n messageDelete: { message: Discord.Message | Discord.PartialMessage };\r\n messageReactionRemoveAll: {\r\n message: Discord.Message | Discord.PartialMessage,\r\n reactions: Discord.Collection<string | Discord.Snowflake, Discord.MessageReaction>,\r\n };\r\n messageReactionRemoveEmoji: { reaction: Discord.MessageReaction | Discord.PartialMessageReaction };\r\n messageDeleteBulk: { messages: Discord.Collection<Discord.Snowflake, Discord.Message | Discord.PartialMessage>, channel: Discord.TextBasedChannel };\r\n messageReactionAdd: { reaction: Discord.MessageReaction | Discord.PartialMessageReaction, user: Discord.User | Discord.PartialUser };\r\n messageReactionRemove: { reaction: Discord.MessageReaction | Discord.PartialMessageReaction, user: Discord.User | Discord.PartialUser };\r\n messageUpdate: { oldMessage: Discord.Message | Discord.PartialMessage, newMessage: Discord.Message | Discord.PartialMessage };\r\n presenceUpdate: { oldPresence: Discord.Presence | null, newPresence: Discord.Presence };\r\n ready: { client: Discord.Client<true> };\r\n invalidated: {};\r\n roleCreate: { role: Discord.Role };\r\n roleDelete: { role: Discord.Role };\r\n roleUpdate: { oldRole: Discord.Role, newRole: Discord.Role };\r\n threadCreate: { thread: Discord.AnyThreadChannel, newlyCreated: boolean };\r\n threadDelete: { thread: Discord.AnyThreadChannel };\r\n threadListSync: { threads: Discord.Collection<Discord.Snowflake, Discord.AnyThreadChannel>, guild: Discord.Guild };\r\n threadMemberUpdate: { oldMember: Discord.ThreadMember, newMember: Discord.ThreadMember };\r\n threadMembersUpdate: {\r\n addedMembers: Discord.Collection<Discord.Snowflake, Discord.ThreadMember>,\r\n removedMembers: Discord.Collection<Discord.Snowflake, Discord.ThreadMember | Discord.PartialThreadMember>,\r\n thread: Discord.AnyThreadChannel,\r\n };\r\n threadUpdate: { oldThread: Discord.AnyThreadChannel, newThread: Discord.AnyThreadChannel };\r\n typingStart: { typing: Discord.Typing };\r\n userUpdate: { oldUser: Discord.User | Discord.PartialUser, newUser: Discord.User };\r\n voiceStateUpdate: { oldState: Discord.VoiceState, newState: Discord.VoiceState };\r\n webhookUpdate: { channel: Discord.TextChannel | Discord.NewsChannel | Discord.VoiceChannel };\r\n interactionCreate: { interaction: Discord.Interaction };\r\n shardDisconnect: { closeEvent: Discord.CloseEvent, shardId: number };\r\n shardError: { error: Error, shardId: number };\r\n shardReady: { shardId: number, unavailableGuilds: Set<Discord.Snowflake> | undefined };\r\n shardReconnecting: { shardId: number };\r\n shardResume: { shardId: number, replayedEvents: number };\r\n stageInstanceCreate: { stageInstance: Discord.StageInstance };\r\n stageInstanceUpdate: { oldStageInstance: Discord.StageInstance | null, newStageInstance: Discord.StageInstance };\r\n stageInstanceDelete: { stageInstance: Discord.StageInstance };\r\n stickerCreate: { sticker: Discord.Sticker };\r\n stickerDelete: { sticker: Discord.Sticker };\r\n stickerUpdate: { oldSticker: Discord.Sticker, newSticker: Discord.Sticker };\r\n guildScheduledEventCreate: { guildScheduledEvent: Discord.GuildScheduledEvent };\r\n guildScheduledEventUpdate: {\r\n oldGuildScheduledEvent: Discord.GuildScheduledEvent | null,\r\n newGuildScheduledEvent: Discord.GuildScheduledEvent,\r\n };\r\n guildScheduledEventDelete: { guildScheduledEvent: Discord.GuildScheduledEvent };\r\n guildScheduledEventUserAdd: { guildScheduledEvent: Discord.GuildScheduledEvent, user: Discord.User };\r\n guildScheduledEventUserRemove: { guildScheduledEvent: Discord.GuildScheduledEvent, user: Discord.User };\r\n}\r\n\r\nexport type DBIEventCombinations = {\r\n [K in keyof ClientEvents]: {\r\n name: K,\r\n onExecute: (ctx: ClientEvents[K] & { other: Record<string, any> }) => Promise<any> | any\r\n }\r\n}[keyof ClientEvents];\r\n\r\nexport type TDBIEventOmitted = Omit<DBIEvent, \"type\" | \"name\" | \"onExecute\" | \"client\" | \"dbi\"> & DBIEventCombinations;\r\n\r\nexport class DBIEvent {\r\n readonly type: \"Event\";\r\n other?: Record<string, any>;\r\n id?: string;\r\n name: string;\r\n onExecute: (...args: any[]) => any;\r\n dbi: DBI;\r\n constructor(dbi: DBI, cfg: TDBIEventOmitted) {\r\n this.dbi = dbi;\r\n this.type = \"Event\";\r\n this.id = cfg.id;\r\n this.other = cfg.other;\r\n this.name = cfg.name;\r\n this.onExecute = cfg.onExecute;\r\n }\r\n}"]}
1
+ {"version":3,"file":"Event.js","sourceRoot":"","sources":["../../src/types/Event.ts"],"names":[],"mappings":";;;AAoGA,MAAa,QAAQ;IACV,IAAI,CAAU;IACvB,KAAK,CAAuB;IAC5B,EAAE,CAAU;IACZ,IAAI,CAAS;IACb,SAAS,CAA0B;IACnC,OAAO,CAAW;IAClB,GAAG,CAAM;IACT,YAAY,GAAQ,EAAE,GAAqB;QACzC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;QACpB,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,KAAK,CAAC;IACtC,CAAC;CACF;AAjBD,4BAiBC","sourcesContent":["import Discord from \"discord.js\";\r\nimport { DBI } from \"../DBI\";\r\nimport { DBILocale } from \"./Locale\";\r\n\r\nexport interface ClientEvents {\r\n applicationCommandPermissionsUpdate: { data: Discord.ApplicationCommandPermissionsUpdateData };\r\n cacheSweep: { message: string };\r\n channelCreate: { channel: Discord.NonThreadGuildBasedChannel };\r\n channelDelete: { channel: Discord.DMChannel | Discord.NonThreadGuildBasedChannel };\r\n channelPinsUpdate: { channel: Discord.TextBasedChannel, date: Date };\r\n channelUpdate: {\r\n oldChannel: Discord.DMChannel | Discord.NonThreadGuildBasedChannel,\r\n newChannel: Discord.DMChannel | Discord.NonThreadGuildBasedChannel,\r\n };\r\n debug: { message: string };\r\n warn: { message: string };\r\n emojiCreate: { emoji: Discord.GuildEmoji };\r\n emojiDelete: { emoji: Discord.GuildEmoji };\r\n emojiUpdate: { oldEmoji: Discord.GuildEmoji, newEmoji: Discord.GuildEmoji };\r\n error: { error: Error };\r\n guildBanAdd: { ban: Discord.GuildBan };\r\n guildBanRemove: { ban: Discord.GuildBan };\r\n guildCreate: { guild: Discord.Guild };\r\n guildDelete: { guild: Discord.Guild };\r\n guildUnavailable: { guild: Discord.Guild };\r\n guildIntegrationsUpdate: { guild: Discord.Guild };\r\n guildMemberAdd: { member: Discord.GuildMember };\r\n guildMemberAvailable: { member: Discord.GuildMember | Discord.PartialGuildMember };\r\n guildMemberRemove: { member: Discord.GuildMember | Discord.PartialGuildMember };\r\n guildMembersChunk: {\r\n members: Discord.Collection<Discord.Snowflake, Discord.GuildMember>,\r\n guild: Discord.Guild,\r\n data: { count: number; index: number; nonce: string | undefined },\r\n };\r\n guildMemberUpdate: { oldMember: Discord.GuildMember | Discord.PartialGuildMember, newMember: Discord.GuildMember };\r\n guildUpdate: { oldGuild: Discord.Guild, newGuild: Discord.Guild };\r\n inviteCreate: { invite: Discord.Invite };\r\n inviteDelete: { invite: Discord.Invite };\r\n messageCreate: { message: Discord.Message };\r\n messageDelete: { message: Discord.Message | Discord.PartialMessage };\r\n messageReactionRemoveAll: {\r\n message: Discord.Message | Discord.PartialMessage,\r\n reactions: Discord.Collection<string | Discord.Snowflake, Discord.MessageReaction>,\r\n };\r\n messageReactionRemoveEmoji: { reaction: Discord.MessageReaction | Discord.PartialMessageReaction };\r\n messageDeleteBulk: { messages: Discord.Collection<Discord.Snowflake, Discord.Message | Discord.PartialMessage>, channel: Discord.TextBasedChannel };\r\n messageReactionAdd: { reaction: Discord.MessageReaction | Discord.PartialMessageReaction, user: Discord.User | Discord.PartialUser };\r\n messageReactionRemove: { reaction: Discord.MessageReaction | Discord.PartialMessageReaction, user: Discord.User | Discord.PartialUser };\r\n messageUpdate: { oldMessage: Discord.Message | Discord.PartialMessage, newMessage: Discord.Message | Discord.PartialMessage };\r\n presenceUpdate: { oldPresence: Discord.Presence | null, newPresence: Discord.Presence };\r\n ready: { client: Discord.Client<true> };\r\n invalidated: {};\r\n roleCreate: { role: Discord.Role };\r\n roleDelete: { role: Discord.Role };\r\n roleUpdate: { oldRole: Discord.Role, newRole: Discord.Role };\r\n threadCreate: { thread: Discord.AnyThreadChannel, newlyCreated: boolean };\r\n threadDelete: { thread: Discord.AnyThreadChannel };\r\n threadListSync: { threads: Discord.Collection<Discord.Snowflake, Discord.AnyThreadChannel>, guild: Discord.Guild };\r\n threadMemberUpdate: { oldMember: Discord.ThreadMember, newMember: Discord.ThreadMember };\r\n threadMembersUpdate: {\r\n addedMembers: Discord.Collection<Discord.Snowflake, Discord.ThreadMember>,\r\n removedMembers: Discord.Collection<Discord.Snowflake, Discord.ThreadMember | Discord.PartialThreadMember>,\r\n thread: Discord.AnyThreadChannel,\r\n };\r\n threadUpdate: { oldThread: Discord.AnyThreadChannel, newThread: Discord.AnyThreadChannel };\r\n typingStart: { typing: Discord.Typing };\r\n userUpdate: { oldUser: Discord.User | Discord.PartialUser, newUser: Discord.User };\r\n voiceStateUpdate: { oldState: Discord.VoiceState, newState: Discord.VoiceState };\r\n webhookUpdate: { channel: Discord.TextChannel | Discord.NewsChannel | Discord.VoiceChannel };\r\n interactionCreate: { interaction: Discord.Interaction };\r\n shardDisconnect: { closeEvent: Discord.CloseEvent, shardId: number };\r\n shardError: { error: Error, shardId: number };\r\n shardReady: { shardId: number, unavailableGuilds: Set<Discord.Snowflake> | undefined };\r\n shardReconnecting: { shardId: number };\r\n shardResume: { shardId: number, replayedEvents: number };\r\n stageInstanceCreate: { stageInstance: Discord.StageInstance };\r\n stageInstanceUpdate: { oldStageInstance: Discord.StageInstance | null, newStageInstance: Discord.StageInstance };\r\n stageInstanceDelete: { stageInstance: Discord.StageInstance };\r\n stickerCreate: { sticker: Discord.Sticker };\r\n stickerDelete: { sticker: Discord.Sticker };\r\n stickerUpdate: { oldSticker: Discord.Sticker, newSticker: Discord.Sticker };\r\n guildScheduledEventCreate: { guildScheduledEvent: Discord.GuildScheduledEvent };\r\n guildScheduledEventUpdate: {\r\n oldGuildScheduledEvent: Discord.GuildScheduledEvent | null,\r\n newGuildScheduledEvent: Discord.GuildScheduledEvent,\r\n };\r\n guildScheduledEventDelete: { guildScheduledEvent: Discord.GuildScheduledEvent };\r\n guildScheduledEventUserAdd: { guildScheduledEvent: Discord.GuildScheduledEvent, user: Discord.User };\r\n guildScheduledEventUserRemove: { guildScheduledEvent: Discord.GuildScheduledEvent, user: Discord.User };\r\n}\r\n\r\nexport type DBIEventCombinations = {\r\n [K in keyof ClientEvents]: {\r\n name: K,\r\n onExecute: (ctx: ClientEvents[K] & { other: Record<string, any>, locale?: { guild: DBILocale }, eventName: string }) => Promise<any> | any\r\n }\r\n}[keyof ClientEvents];\r\n\r\nexport type TDBIEventOmitted = Omit<DBIEvent, \"type\" | \"name\" | \"onExecute\" | \"client\" | \"dbi\"> & DBIEventCombinations;\r\n\r\nexport class DBIEvent {\r\n readonly type: \"Event\";\r\n other?: Record<string, any>;\r\n id?: string;\r\n name: string;\r\n onExecute: (...args: any[]) => any;\r\n ordered?: boolean;\r\n dbi: DBI;\r\n constructor(dbi: DBI, cfg: TDBIEventOmitted) {\r\n this.dbi = dbi;\r\n this.type = \"Event\";\r\n this.id = cfg.id;\r\n this.other = cfg.other;\r\n this.name = cfg.name;\r\n this.onExecute = cfg.onExecute;\r\n this.ordered = cfg.ordered ?? false;\r\n }\r\n}"]}
@@ -1,6 +1,7 @@
1
1
  import { DBI } from "../DBI";
2
2
  import { DBIBaseInteraction, IDBIBaseExecuteCtx, TDBIReferencedData } from "./Interaction";
3
3
  import Discord from "discord.js";
4
+ import { IDBIToJSONArgs } from "../utils/UtilTypes";
4
5
  export interface IDBIModalExecuteCtx extends IDBIBaseExecuteCtx {
5
6
  interaction: Discord.ModalSubmitInteraction<"cached">;
6
7
  data: TDBIReferencedData[];
@@ -12,9 +13,8 @@ export interface ModalComponentData {
12
13
  export declare type TDBIModalOmitted = Omit<DBIModal, "type" | "description" | "dbi" | "toJSON">;
13
14
  export declare class DBIModal extends DBIBaseInteraction {
14
15
  constructor(dbi: DBI, args: TDBIModalOmitted);
15
- options: ModalComponentData | ((data: TDBIReferencedData[]) => ModalComponentData);
16
+ options: ModalComponentData;
16
17
  onExecute(ctx: IDBIModalExecuteCtx): Promise<any> | any;
17
- referenceTTL?: number;
18
- toJSON(...customData: (string | number | object)[]): Discord.ModalComponentData;
18
+ toJSON(arg?: IDBIToJSONArgs<ModalComponentData>): Discord.ModalComponentData;
19
19
  }
20
20
  //# sourceMappingURL=Modal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../src/types/Modal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAC3F,OAAO,OAAO,MAAM,YAAY,CAAC;AAGjC,MAAM,WAAW,mBAAoB,SAAQ,kBAAkB;IAC7D,WAAW,EAAE,OAAO,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IAEtD,IAAI,EAAE,kBAAkB,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC,EAAE,CAAC;CAC5E;AAED,oBAAY,gBAAgB,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,GAAG,KAAK,GAAG,QAAQ,CAAC,CAAC;AAEzF,qBAAa,QAAS,SAAQ,kBAAkB;gBAClC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,gBAAgB;IAQpC,OAAO,EAAE,kBAAkB,GAAG,CAAC,CAAC,IAAI,EAAE,kBAAkB,EAAE,KAAK,kBAAkB,CAAC,CAAC;IAElF,SAAS,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG;IAExD,YAAY,CAAC,EAAE,MAAM,CAAC;IAE9B,MAAM,CAAC,GAAG,UAAU,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,OAAO,CAAC,kBAAkB;CAMhF"}
1
+ {"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../src/types/Modal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAC3F,OAAO,OAAO,MAAM,YAAY,CAAC;AAEjC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,WAAW,mBAAoB,SAAQ,kBAAkB;IAC7D,WAAW,EAAE,OAAO,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IAEtD,IAAI,EAAE,kBAAkB,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC,EAAE,CAAC;CAC5E;AAED,oBAAY,gBAAgB,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,GAAG,KAAK,GAAG,QAAQ,CAAC,CAAC;AAEzF,qBAAa,QAAS,SAAQ,kBAAkB;gBAClC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,gBAAgB;IAOpC,OAAO,EAAE,kBAAkB,CAAC;IAE3B,SAAS,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG;IAEhE,MAAM,CAAC,GAAG,GAAE,cAAc,CAAC,kBAAkB,CAAa,GAAG,OAAO,CAAC,kBAAkB;CAOxF"}
@@ -9,14 +9,14 @@ class DBIModal extends Interaction_1.DBIBaseInteraction {
9
9
  ...args,
10
10
  type: "Modal"
11
11
  });
12
- this.referenceTTL = args.referenceTTL;
13
12
  }
14
13
  onExecute(ctx) { }
15
14
  ;
16
- toJSON(...customData) {
15
+ toJSON(arg = {}) {
17
16
  return {
18
- ...(typeof this.options == "function" ? this.options(customData) : this.options),
19
- customId: (0, customId_1.customIdBuilder)(this.dbi, this.name, customData, this.referenceTTL)
17
+ ...this.options,
18
+ ...(arg?.override || {}),
19
+ customId: (0, customId_1.customIdBuilder)(this.dbi, this.name, arg?.reference?.data || [], arg?.reference?.tll)
20
20
  };
21
21
  }
22
22
  ;
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.js","sourceRoot":"","sources":["../../src/types/Modal.ts"],"names":[],"mappings":";;;AACA,+CAA2F;AAE3F,gDAAoD;AAepD,MAAa,QAAS,SAAQ,gCAAkB;IAC9C,YAAY,GAAQ,EAAE,IAAsB;QAC1C,KAAK,CAAC,GAAG,EAAE;YACT,GAAI,IAAY;YAChB,IAAI,EAAE,OAAO;SACd,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;IACxC,CAAC;IAIQ,SAAS,CAAC,GAAwB,IAAwB,CAAC;IAAA,CAAC;IAIrE,MAAM,CAAC,GAAG,UAAwC;QAChD,OAAO;YACL,GAAG,CAAC,OAAO,IAAI,CAAC,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;YACvF,QAAQ,EAAE,IAAA,0BAAe,EAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;SACvE,CAAC;IACX,CAAC;IAAA,CAAC;CACH;AArBD,4BAqBC","sourcesContent":["import { DBI } from \"../DBI\";\r\nimport { DBIBaseInteraction, IDBIBaseExecuteCtx, TDBIReferencedData } from \"./Interaction\";\r\nimport Discord from \"discord.js\";\r\nimport { customIdBuilder } from \"../utils/customId\";\r\n\r\nexport interface IDBIModalExecuteCtx extends IDBIBaseExecuteCtx {\r\n interaction: Discord.ModalSubmitInteraction<\"cached\">;\r\n\r\n data: TDBIReferencedData[];\r\n}\r\n\r\nexport interface ModalComponentData {\r\n title: string;\r\n components: (Discord.ActionRowData<Discord.ModalActionRowComponentData>)[];\r\n}\r\n\r\nexport type TDBIModalOmitted = Omit<DBIModal, \"type\" | \"description\" | \"dbi\" | \"toJSON\">;\r\n\r\nexport class DBIModal extends DBIBaseInteraction {\r\n constructor(dbi: DBI, args: TDBIModalOmitted) {\r\n super(dbi, {\r\n ...(args as any),\r\n type: \"Modal\"\r\n });\r\n this.referenceTTL = args.referenceTTL;\r\n }\r\n\r\n declare options: ModalComponentData | ((data: TDBIReferencedData[]) => ModalComponentData);\r\n\r\n override onExecute(ctx: IDBIModalExecuteCtx): Promise<any> | any { };\r\n\r\n declare referenceTTL?: number;\r\n\r\n toJSON(...customData: (string | number | object)[]): Discord.ModalComponentData {\r\n return {\r\n ...(typeof this.options == \"function\" ? this.options(customData as any) : this.options),\r\n customId: customIdBuilder(this.dbi, this.name, customData, this.referenceTTL)\r\n } as any;\r\n };\r\n}"]}
1
+ {"version":3,"file":"Modal.js","sourceRoot":"","sources":["../../src/types/Modal.ts"],"names":[],"mappings":";;;AACA,+CAA2F;AAE3F,gDAAoD;AAgBpD,MAAa,QAAS,SAAQ,gCAAkB;IAC9C,YAAY,GAAQ,EAAE,IAAsB;QAC1C,KAAK,CAAC,GAAG,EAAE;YACT,GAAI,IAAY;YAChB,IAAI,EAAE,OAAO;SACd,CAAC,CAAC;IACL,CAAC;IAIQ,SAAS,CAAC,GAAwB,IAAwB,CAAC;IAAA,CAAC;IAErE,MAAM,CAAC,MAA0C,EAAS;QACxD,OAAO;YACL,GAAG,IAAI,CAAC,OAAO;YACf,GAAG,CAAC,GAAG,EAAE,QAAQ,IAAI,EAAE,CAAC;YACxB,QAAQ,EAAE,IAAA,0BAAe,EAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,CAAC;SACzF,CAAC;IACX,CAAC;IAAA,CAAC;CACH;AAnBD,4BAmBC","sourcesContent":["import { DBI } from \"../DBI\";\r\nimport { DBIBaseInteraction, IDBIBaseExecuteCtx, TDBIReferencedData } from \"./Interaction\";\r\nimport Discord from \"discord.js\";\r\nimport { customIdBuilder } from \"../utils/customId\";\r\nimport { IDBIToJSONArgs } from \"../utils/UtilTypes\";\r\n\r\nexport interface IDBIModalExecuteCtx extends IDBIBaseExecuteCtx {\r\n interaction: Discord.ModalSubmitInteraction<\"cached\">;\r\n\r\n data: TDBIReferencedData[];\r\n}\r\n\r\nexport interface ModalComponentData {\r\n title: string;\r\n components: (Discord.ActionRowData<Discord.ModalActionRowComponentData>)[];\r\n}\r\n\r\nexport type TDBIModalOmitted = Omit<DBIModal, \"type\" | \"description\" | \"dbi\" | \"toJSON\">;\r\n\r\nexport class DBIModal extends DBIBaseInteraction {\r\n constructor(dbi: DBI, args: TDBIModalOmitted) {\r\n super(dbi, {\r\n ...(args as any),\r\n type: \"Modal\"\r\n });\r\n }\r\n\r\n declare options: ModalComponentData;\r\n\r\n override onExecute(ctx: IDBIModalExecuteCtx): Promise<any> | any { };\r\n\r\n toJSON(arg: IDBIToJSONArgs<ModalComponentData> = {} as any): Discord.ModalComponentData {\r\n return {\r\n ...this.options,\r\n ...(arg?.override || {}),\r\n customId: customIdBuilder(this.dbi, this.name, arg?.reference?.data || [], arg?.reference?.tll)\r\n } as any;\r\n };\r\n}"]}
@@ -1,6 +1,7 @@
1
1
  import Discord from "discord.js";
2
2
  import { DBI } from "../DBI";
3
3
  import { DBIBaseInteraction, IDBIBaseExecuteCtx, TDBIReferencedData } from "./Interaction";
4
+ import { IDBIToJSONArgs } from "../utils/UtilTypes";
4
5
  export interface IDBISelectMenuExecuteCtx extends IDBIBaseExecuteCtx {
5
6
  interaction: Discord.ButtonInteraction<"cached">;
6
7
  data: TDBIReferencedData[];
@@ -8,9 +9,8 @@ export interface IDBISelectMenuExecuteCtx extends IDBIBaseExecuteCtx {
8
9
  export declare type TDBISelectMenuOmitted = Omit<DBISelectMenu, "type" | "description" | "dbi" | "toJSON">;
9
10
  export declare class DBISelectMenu extends DBIBaseInteraction {
10
11
  constructor(dbi: DBI, args: TDBISelectMenuOmitted);
11
- options: Omit<Discord.SelectMenuComponentData, "customId" | "type"> | ((data: (number | string | any)[]) => Omit<Discord.SelectMenuComponentData, "customId" | "type">);
12
+ options: Omit<Discord.SelectMenuComponentData, "customId" | "type">;
12
13
  onExecute(ctx: IDBISelectMenuExecuteCtx): Promise<any> | any;
13
- referenceTTL?: number;
14
- toJSON(...customData: (string | number | object)[]): Discord.SelectMenuComponentData;
14
+ toJSON(arg?: IDBIToJSONArgs<Discord.SelectMenuComponentData>): Discord.SelectMenuComponentData;
15
15
  }
16
16
  //# sourceMappingURL=SelectMenu.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectMenu.d.ts","sourceRoot":"","sources":["../../src/types/SelectMenu.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAG3F,MAAM,WAAW,wBAAyB,SAAQ,kBAAkB;IAClE,WAAW,EAAE,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACjD,IAAI,EAAE,kBAAkB,EAAE,CAAC;CAC5B;AAED,oBAAY,qBAAqB,GAAG,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,aAAa,GAAG,KAAK,GAAG,QAAQ,CAAC,CAAC;AAEnG,qBAAa,aAAc,SAAQ,kBAAkB;gBACvC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,qBAAqB;IAQzC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC;IAEvK,SAAS,CAAC,GAAG,EAAE,wBAAwB,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG;IAE7D,YAAY,CAAC,EAAE,MAAM,CAAC;IAE9B,MAAM,CAAC,GAAG,UAAU,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,OAAO,CAAC,uBAAuB;CAOrF"}
1
+ {"version":3,"file":"SelectMenu.d.ts","sourceRoot":"","sources":["../../src/types/SelectMenu.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAE3F,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,WAAW,wBAAyB,SAAQ,kBAAkB;IAClE,WAAW,EAAE,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACjD,IAAI,EAAE,kBAAkB,EAAE,CAAC;CAC5B;AAED,oBAAY,qBAAqB,GAAG,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,aAAa,GAAG,KAAK,GAAG,QAAQ,CAAC,CAAC;AAEnG,qBAAa,aAAc,SAAQ,kBAAkB;gBACvC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,qBAAqB;IAOzC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,UAAU,GAAG,MAAM,CAAC,CAAC;IAEnE,SAAS,CAAC,GAAG,EAAE,wBAAwB,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG;IAErE,MAAM,CAAC,GAAG,GAAE,cAAc,CAAC,OAAO,CAAC,uBAAuB,CAAa,GAAG,OAAO,CAAC,uBAAuB;CAO1G"}
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DBISelectMenu = void 0;
4
- const tslib_1 = require("tslib");
5
- const discord_js_1 = tslib_1.__importDefault(require("discord.js"));
6
4
  const Interaction_1 = require("./Interaction");
7
5
  const customId_1 = require("../utils/customId");
8
6
  class DBISelectMenu extends Interaction_1.DBIBaseInteraction {
@@ -11,15 +9,14 @@ class DBISelectMenu extends Interaction_1.DBIBaseInteraction {
11
9
  ...args,
12
10
  type: "SelectMenu",
13
11
  });
14
- this.referenceTTL = args.referenceTTL;
15
12
  }
16
13
  onExecute(ctx) { }
17
14
  ;
18
- toJSON(...customData) {
15
+ toJSON(arg = {}) {
19
16
  return {
20
- ...(typeof this.options == "function" ? this.options(customData) : this.options),
21
- customId: (0, customId_1.customIdBuilder)(this.dbi, this.name, customData, this.referenceTTL),
22
- type: discord_js_1.default.ComponentType.SelectMenu
17
+ ...this.options,
18
+ ...(arg?.override || {}),
19
+ customId: (0, customId_1.customIdBuilder)(this.dbi, this.name, arg?.reference?.data || [], arg?.reference?.tll)
23
20
  };
24
21
  }
25
22
  ;
@@ -1 +1 @@
1
- {"version":3,"file":"SelectMenu.js","sourceRoot":"","sources":["../../src/types/SelectMenu.ts"],"names":[],"mappings":";;;;AAAA,oEAAiC;AAEjC,+CAA2F;AAC3F,gDAAoD;AASpD,MAAa,aAAc,SAAQ,gCAAkB;IACnD,YAAY,GAAQ,EAAE,IAA2B;QAC/C,KAAK,CAAC,GAAG,EAAE;YACT,GAAI,IAAY;YAChB,IAAI,EAAE,YAAY;SACnB,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;IACxC,CAAC;IAIQ,SAAS,CAAC,GAA6B,IAAwB,CAAC;IAAA,CAAC;IAI1E,MAAM,CAAC,GAAG,UAAwC;QAChD,OAAO;YACL,GAAG,CAAC,OAAO,IAAI,CAAC,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;YAChF,QAAQ,EAAE,IAAA,0BAAe,EAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;YAC7E,IAAI,EAAE,oBAAO,CAAC,aAAa,CAAC,UAAU;SAChC,CAAA;IACV,CAAC;IAAA,CAAC;CACH;AAtBD,sCAsBC","sourcesContent":["import Discord from \"discord.js\";\r\nimport { DBI } from \"../DBI\";\r\nimport { DBIBaseInteraction, IDBIBaseExecuteCtx, TDBIReferencedData } from \"./Interaction\";\r\nimport { customIdBuilder } from \"../utils/customId\";\r\n\r\nexport interface IDBISelectMenuExecuteCtx extends IDBIBaseExecuteCtx {\r\n interaction: Discord.ButtonInteraction<\"cached\">;\r\n data: TDBIReferencedData[];\r\n}\r\n\r\nexport type TDBISelectMenuOmitted = Omit<DBISelectMenu, \"type\" | \"description\" | \"dbi\" | \"toJSON\">;\r\n\r\nexport class DBISelectMenu extends DBIBaseInteraction {\r\n constructor(dbi: DBI, args: TDBISelectMenuOmitted) {\r\n super(dbi, {\r\n ...(args as any),\r\n type: \"SelectMenu\",\r\n });\r\n this.referenceTTL = args.referenceTTL;\r\n }\r\n\r\n declare options: Omit<Discord.SelectMenuComponentData, \"customId\" | \"type\"> | ((data: (number | string | any)[]) => Omit<Discord.SelectMenuComponentData, \"customId\" | \"type\">);\r\n\r\n override onExecute(ctx: IDBISelectMenuExecuteCtx): Promise<any> | any { };\r\n\r\n declare referenceTTL?: number;\r\n\r\n toJSON(...customData: (string | number | object)[]): Discord.SelectMenuComponentData {\r\n return {\r\n ...(typeof this.options == \"function\" ? this.options(customData) : this.options),\r\n customId: customIdBuilder(this.dbi, this.name, customData, this.referenceTTL),\r\n type: Discord.ComponentType.SelectMenu\r\n } as any\r\n };\r\n}"]}
1
+ {"version":3,"file":"SelectMenu.js","sourceRoot":"","sources":["../../src/types/SelectMenu.ts"],"names":[],"mappings":";;;AAEA,+CAA2F;AAC3F,gDAAoD;AAUpD,MAAa,aAAc,SAAQ,gCAAkB;IACnD,YAAY,GAAQ,EAAE,IAA2B;QAC/C,KAAK,CAAC,GAAG,EAAE;YACT,GAAI,IAAY;YAChB,IAAI,EAAE,YAAY;SACnB,CAAC,CAAC;IACL,CAAC;IAIQ,SAAS,CAAC,GAA6B,IAAwB,CAAC;IAAA,CAAC;IAE1E,MAAM,CAAC,MAAuD,EAAS;QACrE,OAAO;YACL,GAAG,IAAI,CAAC,OAAO;YACf,GAAG,CAAC,GAAG,EAAE,QAAQ,IAAI,EAAE,CAAC;YACxB,QAAQ,EAAE,IAAA,0BAAe,EAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,CAAC;SACzF,CAAC;IACX,CAAC;IAAA,CAAC;CACH;AAnBD,sCAmBC","sourcesContent":["import Discord from \"discord.js\";\r\nimport { DBI } from \"../DBI\";\r\nimport { DBIBaseInteraction, IDBIBaseExecuteCtx, TDBIReferencedData } from \"./Interaction\";\r\nimport { customIdBuilder } from \"../utils/customId\";\r\nimport { IDBIToJSONArgs } from \"../utils/UtilTypes\";\r\n\r\nexport interface IDBISelectMenuExecuteCtx extends IDBIBaseExecuteCtx {\r\n interaction: Discord.ButtonInteraction<\"cached\">;\r\n data: TDBIReferencedData[];\r\n}\r\n\r\nexport type TDBISelectMenuOmitted = Omit<DBISelectMenu, \"type\" | \"description\" | \"dbi\" | \"toJSON\">;\r\n\r\nexport class DBISelectMenu extends DBIBaseInteraction {\r\n constructor(dbi: DBI, args: TDBISelectMenuOmitted) {\r\n super(dbi, {\r\n ...(args as any),\r\n type: \"SelectMenu\",\r\n });\r\n }\r\n\r\n declare options: Omit<Discord.SelectMenuComponentData, \"customId\" | \"type\">;\r\n\r\n override onExecute(ctx: IDBISelectMenuExecuteCtx): Promise<any> | any { };\r\n\r\n toJSON(arg: IDBIToJSONArgs<Discord.SelectMenuComponentData> = {} as any): Discord.SelectMenuComponentData {\r\n return {\r\n ...this.options,\r\n ...(arg?.override || {}),\r\n customId: customIdBuilder(this.dbi, this.name, arg?.reference?.data || [], arg?.reference?.tll)\r\n } as any;\r\n };\r\n}"]}
@@ -0,0 +1,8 @@
1
+ export interface IDBIToJSONArgs<T> {
2
+ reference?: {
3
+ tll?: number;
4
+ data: (string | number | object)[];
5
+ };
6
+ override: T;
7
+ }
8
+ //# sourceMappingURL=UtilTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UtilTypes.d.ts","sourceRoot":"","sources":["../../src/utils/UtilTypes.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B,SAAS,CAAC,EAAE;QACV,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;KACpC,CAAC;IACF,QAAQ,EAAE,CAAC,CAAC;CACb"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=UtilTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UtilTypes.js","sourceRoot":"","sources":["../../src/utils/UtilTypes.ts"],"names":[],"mappings":"","sourcesContent":["export interface IDBIToJSONArgs<T> {\r\n reference?: {\r\n tll?: number;\r\n data: (string | number | object)[];\r\n };\r\n override: T;\r\n}"]}
package/package.json CHANGED
@@ -3,13 +3,13 @@
3
3
  "@discordjs/rest": "^1.0.1",
4
4
  "discord-api-types": "^0.37.0",
5
5
  "discord-hybrid-sharding": "^1.7.4",
6
- "discord.js": "^14.3.0",
6
+ "discord.js": "^14.4.0",
7
7
  "lodash": "^4.17.21",
8
8
  "snakecase-keys": "^5.4.2",
9
9
  "stuffs": "^0.1.17"
10
10
  },
11
11
  "name": "@mostfeatured/dbi",
12
- "version": "0.0.37",
12
+ "version": "0.0.39",
13
13
  "main": "dist/index.js",
14
14
  "type": "commonjs",
15
15
  "private": false,
package/src/Events.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { DBI } from "./DBI";
2
2
  import { IDBIBaseExecuteCtx, TDBIRateLimitTypes } from "./types/Interaction";
3
+ import { DBILocale } from "./types/Locale";
3
4
 
4
5
  export type TDBIEventNames = "beforeInteraction" | "afterInteraction" | "interactionRateLimit" | "beforeEvent" | "afterEvent";
5
6
 
@@ -37,7 +38,7 @@ export class Events {
37
38
 
38
39
  on(
39
40
  eventName: "beforeEvent" | "afterEvent",
40
- handler: (data: { [key: string]: any, other: Record<string, any> }) => Promise<boolean> | boolean,
41
+ handler: (data: { [key: string]: any, other: Record<string, any>, locale?: { guild: DBILocale }, eventName: string }) => Promise<boolean> | boolean,
41
42
  options?: { once: boolean }
42
43
  ): (() => any);
43
44
 
@@ -1,3 +1,4 @@
1
+ import { Guild } from "discord.js";
1
2
  import { DBI } from "../DBI";
2
3
 
3
4
  export function hookEventListeners(dbi: DBI): () => any {
@@ -13,16 +14,42 @@ export function hookEventListeners(dbi: DBI): () => any {
13
14
 
14
15
  let other = {};
15
16
 
16
- if (!await dbi.events.trigger("beforeEvent", { eventName, ...ctxArgs, other })) return;
17
-
17
+
18
+ let guildLocaleName = args.reduce((all, current) => {
19
+ if (current?.guild?.id) return current?.guild?.preferredLocale?.split?.("-")?.[0];
20
+ if (current instanceof Guild) return current?.preferredLocale?.split?.("-")?.[0];
21
+ return all;
22
+ }, null);
23
+ let guildLocale = guildLocaleName ? (dbi.data.locales.has(guildLocaleName) ? dbi.data.locales.get(guildLocaleName) : dbi.data.locales.get(dbi.config.defaults.locale)) : null;
24
+
25
+ let locale = guildLocale ? { guild: guildLocale } : null;
26
+
27
+ if (!await dbi.events.trigger("beforeEvent", { eventName, ...ctxArgs, other, locale })) return;
28
+
29
+ let ordered = [];
30
+ let unOrdered = [];
18
31
  for (let i = 0; i < dbi.data.events.size; i++) {
19
32
  const value = dbi.data.events.at(i);
20
33
  if (value.name == eventName) {
21
- await value.onExecute({ eventName, ...ctxArgs, other });
34
+ if (value.ordered) {
35
+ ordered.push(value);
36
+ } else {
37
+ unOrdered.push(value);
38
+ }
22
39
  }
23
40
  }
24
41
 
25
- dbi.events.trigger("afterEvent", { eventName, ...ctxArgs, other })
42
+ for (let i = 0; i < unOrdered.length; i++) {
43
+ const value = unOrdered[i];
44
+ value.onExecute({ eventName, ...ctxArgs, other, locale });
45
+ }
46
+
47
+ for (let i = 0; i < ordered.length; i++) {
48
+ const value = ordered[i];
49
+ await value.onExecute({ eventName, ...ctxArgs, other, locale });
50
+ }
51
+
52
+ dbi.events.trigger("afterEvent", { eventName, ...ctxArgs, other, locale })
26
53
  }
27
54
 
28
55
  let originalEmit = dbi.client.emit;
@@ -221,14 +221,14 @@ export function formatLocale(locale: DBIInteractionLocale): any {
221
221
  longAliases.forEach((longLocale) => {
222
222
  allNameLocales[longLocale] = localeData.name;
223
223
  descriptionLocales[longLocale] = localeData.description;
224
- Object.entries(localeData.options || []).forEach(([optionName, optionData]) => {
224
+ Object.entries(localeData?.options || {}).forEach(([optionName, optionData]) => {
225
225
  if (!optionsLocales[optionName]) optionsLocales[optionName] = {};
226
226
  let optionLocale = optionsLocales[optionName];
227
227
  if (!optionLocale.nameLocales) optionLocale.nameLocales = {};
228
228
  if (!optionLocale.descriptionLocales) optionLocale.descriptionLocales = {};
229
229
  if (!optionLocale.choiceLocales) optionLocale.choiceLocales = {};
230
230
 
231
- Object.entries(optionData.choices).forEach(([choiceOriginalName, choiceName]) => {
231
+ Object.entries(optionData?.choices || {}).forEach(([choiceOriginalName, choiceName]) => {
232
232
  if (!optionLocale.choiceLocales) optionLocale.choiceLocales = {};
233
233
  if (!optionLocale.choiceLocales[choiceOriginalName]) optionLocale.choiceLocales[choiceOriginalName] = {};
234
234
  let choiceLocale = optionLocale.choiceLocales[choiceOriginalName];
@@ -2,6 +2,7 @@ import Discord from "discord.js";
2
2
  import { DBI } from "../DBI";
3
3
  import { DBIBaseInteraction, IDBIBaseExecuteCtx, TDBIReferencedData } from "./Interaction";
4
4
  import { customIdBuilder } from "../utils/customId";
5
+ import { IDBIToJSONArgs } from "../utils/UtilTypes";
5
6
 
6
7
  export interface IDBIButtonExecuteCtx extends IDBIBaseExecuteCtx {
7
8
  interaction: Discord.ButtonInteraction<"cached">;
@@ -16,18 +17,16 @@ export class DBIButton extends DBIBaseInteraction {
16
17
  ...(args as any),
17
18
  type: "Button",
18
19
  });
19
- this.referenceTTL = args.referenceTTL;
20
20
  }
21
21
 
22
- declare options?: Omit<Discord.ButtonComponentData, "customId" | "type"> | ((data: (number | string | any)[]) => Omit<Discord.ButtonComponentData, "customId" | "type">);
22
+ declare options?: Omit<Discord.ButtonComponentData, "customId" | "type">;
23
23
 
24
24
  override onExecute(ctx: IDBIButtonExecuteCtx): Promise<any> | any { };
25
- declare referenceTTL?: number
26
- toJSON(...customData: (string | number | object)[]): Discord.ButtonComponentData {
25
+ toJSON(arg: IDBIToJSONArgs<Discord.ButtonComponentData> = {} as any): Discord.ButtonComponentData {
27
26
  return {
28
- ...(typeof this.options == "function" ? this.options(customData) : this.options),
29
- customId: customIdBuilder(this.dbi, this.name, customData, this.referenceTTL),
30
- type: Discord.ComponentType.Button
27
+ ...this.options,
28
+ ...(arg?.override || {}),
29
+ customId: customIdBuilder(this.dbi, this.name, arg?.reference?.data || [], arg?.reference?.tll)
31
30
  } as any;
32
31
  };
33
32
  }
@@ -1,5 +1,6 @@
1
1
  import Discord from "discord.js";
2
2
  import { DBI } from "../DBI";
3
+ import { DBILocale } from "./Locale";
3
4
 
4
5
  export interface ClientEvents {
5
6
  applicationCommandPermissionsUpdate: { data: Discord.ApplicationCommandPermissionsUpdateData };
@@ -91,7 +92,7 @@ export interface ClientEvents {
91
92
  export type DBIEventCombinations = {
92
93
  [K in keyof ClientEvents]: {
93
94
  name: K,
94
- onExecute: (ctx: ClientEvents[K] & { other: Record<string, any> }) => Promise<any> | any
95
+ onExecute: (ctx: ClientEvents[K] & { other: Record<string, any>, locale?: { guild: DBILocale }, eventName: string }) => Promise<any> | any
95
96
  }
96
97
  }[keyof ClientEvents];
97
98
 
@@ -103,6 +104,7 @@ export class DBIEvent {
103
104
  id?: string;
104
105
  name: string;
105
106
  onExecute: (...args: any[]) => any;
107
+ ordered?: boolean;
106
108
  dbi: DBI;
107
109
  constructor(dbi: DBI, cfg: TDBIEventOmitted) {
108
110
  this.dbi = dbi;
@@ -111,5 +113,6 @@ export class DBIEvent {
111
113
  this.other = cfg.other;
112
114
  this.name = cfg.name;
113
115
  this.onExecute = cfg.onExecute;
116
+ this.ordered = cfg.ordered ?? false;
114
117
  }
115
118
  }
@@ -2,6 +2,7 @@ import { DBI } from "../DBI";
2
2
  import { DBIBaseInteraction, IDBIBaseExecuteCtx, TDBIReferencedData } from "./Interaction";
3
3
  import Discord from "discord.js";
4
4
  import { customIdBuilder } from "../utils/customId";
5
+ import { IDBIToJSONArgs } from "../utils/UtilTypes";
5
6
 
6
7
  export interface IDBIModalExecuteCtx extends IDBIBaseExecuteCtx {
7
8
  interaction: Discord.ModalSubmitInteraction<"cached">;
@@ -22,19 +23,17 @@ export class DBIModal extends DBIBaseInteraction {
22
23
  ...(args as any),
23
24
  type: "Modal"
24
25
  });
25
- this.referenceTTL = args.referenceTTL;
26
26
  }
27
27
 
28
- declare options: ModalComponentData | ((data: TDBIReferencedData[]) => ModalComponentData);
28
+ declare options: ModalComponentData;
29
29
 
30
30
  override onExecute(ctx: IDBIModalExecuteCtx): Promise<any> | any { };
31
31
 
32
- declare referenceTTL?: number;
33
-
34
- toJSON(...customData: (string | number | object)[]): Discord.ModalComponentData {
32
+ toJSON(arg: IDBIToJSONArgs<ModalComponentData> = {} as any): Discord.ModalComponentData {
35
33
  return {
36
- ...(typeof this.options == "function" ? this.options(customData as any) : this.options),
37
- customId: customIdBuilder(this.dbi, this.name, customData, this.referenceTTL)
34
+ ...this.options,
35
+ ...(arg?.override || {}),
36
+ customId: customIdBuilder(this.dbi, this.name, arg?.reference?.data || [], arg?.reference?.tll)
38
37
  } as any;
39
38
  };
40
39
  }
@@ -2,6 +2,7 @@ import Discord from "discord.js";
2
2
  import { DBI } from "../DBI";
3
3
  import { DBIBaseInteraction, IDBIBaseExecuteCtx, TDBIReferencedData } from "./Interaction";
4
4
  import { customIdBuilder } from "../utils/customId";
5
+ import { IDBIToJSONArgs } from "../utils/UtilTypes";
5
6
 
6
7
  export interface IDBISelectMenuExecuteCtx extends IDBIBaseExecuteCtx {
7
8
  interaction: Discord.ButtonInteraction<"cached">;
@@ -16,20 +17,17 @@ export class DBISelectMenu extends DBIBaseInteraction {
16
17
  ...(args as any),
17
18
  type: "SelectMenu",
18
19
  });
19
- this.referenceTTL = args.referenceTTL;
20
20
  }
21
21
 
22
- declare options: Omit<Discord.SelectMenuComponentData, "customId" | "type"> | ((data: (number | string | any)[]) => Omit<Discord.SelectMenuComponentData, "customId" | "type">);
22
+ declare options: Omit<Discord.SelectMenuComponentData, "customId" | "type">;
23
23
 
24
24
  override onExecute(ctx: IDBISelectMenuExecuteCtx): Promise<any> | any { };
25
25
 
26
- declare referenceTTL?: number;
27
-
28
- toJSON(...customData: (string | number | object)[]): Discord.SelectMenuComponentData {
26
+ toJSON(arg: IDBIToJSONArgs<Discord.SelectMenuComponentData> = {} as any): Discord.SelectMenuComponentData {
29
27
  return {
30
- ...(typeof this.options == "function" ? this.options(customData) : this.options),
31
- customId: customIdBuilder(this.dbi, this.name, customData, this.referenceTTL),
32
- type: Discord.ComponentType.SelectMenu
33
- } as any
28
+ ...this.options,
29
+ ...(arg?.override || {}),
30
+ customId: customIdBuilder(this.dbi, this.name, arg?.reference?.data || [], arg?.reference?.tll)
31
+ } as any;
34
32
  };
35
33
  }
@@ -0,0 +1,7 @@
1
+ export interface IDBIToJSONArgs<T> {
2
+ reference?: {
3
+ tll?: number;
4
+ data: (string | number | object)[];
5
+ };
6
+ override: T;
7
+ }