@mostfeatured/dbi 0.1.6 → 0.1.8

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/DBI.d.ts CHANGED
@@ -196,7 +196,7 @@ export declare class DBI<TNamespace extends NamespaceEnums, TOtherData = Record<
196
196
  delete(k: string): boolean;
197
197
  login(): Promise<any>;
198
198
  register(cb: (api: DBIRegisterAPI<TNamespace>) => void): Promise<any>;
199
- load(): Promise<boolean>;
199
+ load(...flags: string[]): Promise<boolean>;
200
200
  unload(): Promise<boolean>;
201
201
  get loaded(): boolean;
202
202
  publish(type: "Global", clear?: boolean): Promise<any>;
package/dist/DBI.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"DBI.d.ts","sourceRoot":"","sources":["../src/DBI.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DBI.d.ts","sourceRoot":"","sources":["../src/DBI.ts"],"names":[],"mappings":"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"}
package/dist/DBI.js CHANGED
@@ -186,6 +186,7 @@ class DBI {
186
186
  this.data.unloaders.forEach((f) => {
187
187
  f();
188
188
  });
189
+ this.data.unloaders.clear();
189
190
  }
190
191
  async _unregisterAll() {
191
192
  for await (const cb of this.data.registerUnloaders) {
@@ -193,12 +194,16 @@ class DBI {
193
194
  }
194
195
  this.data.events.clear();
195
196
  this.data.interactions.clear();
197
+ this.data.interactionLocales.clear();
198
+ this.data.locales.clear();
199
+ this.data.registerUnloaders.clear();
200
+ this.data.refs.clear();
196
201
  this.data.customEventNames.forEach((value) => {
197
202
  delete this.data.eventMap[value];
198
203
  });
199
204
  this.data.customEventNames.clear();
200
205
  }
201
- async _registerAll() {
206
+ async _registerAll(flags = []) {
202
207
  const self = this;
203
208
  const ChatInputOptions = new ChatInputOptions_1.DBIChatInputOptions(self);
204
209
  for await (const cb of this.data.registers) {
@@ -206,7 +211,8 @@ class DBI {
206
211
  let dbiChatInput = new ChatInput_1.DBIChatInput(self, cfg);
207
212
  if (self.data.interactions.has(dbiChatInput.name))
208
213
  throw new Error(`DBIChatInput "${dbiChatInput.name}" already loaded as "${self.data.interactions.get(dbiChatInput.name)?.type}"!`);
209
- self.data.interactions.set(dbiChatInput.name, dbiChatInput);
214
+ if (!cfg.flag || flags.includes("all") || flags.includes(cfg.flag))
215
+ self.data.interactions.set(dbiChatInput.name, dbiChatInput);
210
216
  return dbiChatInput;
211
217
  };
212
218
  ChatInput = Object.assign(ChatInput, class {
@@ -219,7 +225,8 @@ class DBI {
219
225
  if (self.config.strict &&
220
226
  self.data.events.has(dbiEvent.id || dbiEvent.name))
221
227
  throw new Error(`DBIEvent "${dbiEvent.id || dbiEvent.name}" already loaded!`);
222
- self.data.events.set(dbiEvent.id || dbiEvent.name, dbiEvent);
228
+ if (!cfg.flag || flags.includes("all") || flags.includes(cfg.flag))
229
+ self.data.events.set(dbiEvent.id || dbiEvent.name, dbiEvent);
223
230
  return dbiEvent;
224
231
  };
225
232
  Event = Object.assign(Event, class {
@@ -231,7 +238,8 @@ class DBI {
231
238
  let dbiButton = new Button_1.DBIButton(self, cfg);
232
239
  if (self.config.strict && self.data.interactions.has(dbiButton.name))
233
240
  throw new Error(`DBIButton "${dbiButton.name}" already loaded as "${self.data.interactions.get(dbiButton.name)?.type}"!`);
234
- self.data.interactions.set(dbiButton.name, dbiButton);
241
+ if (!cfg.flag || flags.includes("all") || flags.includes(cfg.flag))
242
+ self.data.interactions.set(dbiButton.name, dbiButton);
235
243
  return dbiButton;
236
244
  };
237
245
  Button = Object.assign(Button, class {
@@ -244,7 +252,8 @@ class DBI {
244
252
  if (self.config.strict &&
245
253
  self.data.interactions.has(dbiStringSelectMenu.name))
246
254
  throw new Error(`DBIStringSelectMenu "${dbiStringSelectMenu.name}" already loaded as "${self.data.interactions.get(dbiStringSelectMenu.name)?.type}"!`);
247
- self.data.interactions.set(dbiStringSelectMenu.name, dbiStringSelectMenu);
255
+ if (!cfg.flag || flags.includes("all") || flags.includes(cfg.flag))
256
+ self.data.interactions.set(dbiStringSelectMenu.name, dbiStringSelectMenu);
248
257
  return dbiStringSelectMenu;
249
258
  };
250
259
  StringSelectMenu = Object.assign(StringSelectMenu, class {
@@ -257,7 +266,8 @@ class DBI {
257
266
  if (self.config.strict &&
258
267
  self.data.interactions.has(dbiUserSelectMenu.name))
259
268
  throw new Error(`DBIUserSelectMenu "${dbiUserSelectMenu.name}" already loaded as "${self.data.interactions.get(dbiUserSelectMenu.name)?.type}"!`);
260
- self.data.interactions.set(dbiUserSelectMenu.name, dbiUserSelectMenu);
269
+ if (!cfg.flag || flags.includes("all") || flags.includes(cfg.flag))
270
+ self.data.interactions.set(dbiUserSelectMenu.name, dbiUserSelectMenu);
261
271
  return dbiUserSelectMenu;
262
272
  };
263
273
  UserSelectMenu = Object.assign(UserSelectMenu, class {
@@ -270,7 +280,8 @@ class DBI {
270
280
  if (self.config.strict &&
271
281
  self.data.interactions.has(dbiRoleSelectMenu.name))
272
282
  throw new Error(`DBIRoleSelectMenu "${dbiRoleSelectMenu.name}" already loaded as "${self.data.interactions.get(dbiRoleSelectMenu.name)?.type}"!`);
273
- self.data.interactions.set(dbiRoleSelectMenu.name, dbiRoleSelectMenu);
283
+ if (!cfg.flag || flags.includes("all") || flags.includes(cfg.flag))
284
+ self.data.interactions.set(dbiRoleSelectMenu.name, dbiRoleSelectMenu);
274
285
  return dbiRoleSelectMenu;
275
286
  };
276
287
  RoleSelectMenu = Object.assign(RoleSelectMenu, class {
@@ -283,7 +294,8 @@ class DBI {
283
294
  if (self.config.strict &&
284
295
  self.data.interactions.has(dbiChannelSelectMenu.name))
285
296
  throw new Error(`DBIChannelSelectMenu "${dbiChannelSelectMenu.name}" already loaded as "${self.data.interactions.get(dbiChannelSelectMenu.name)?.type}"!`);
286
- self.data.interactions.set(dbiChannelSelectMenu.name, dbiChannelSelectMenu);
297
+ if (!cfg.flag || flags.includes("all") || flags.includes(cfg.flag))
298
+ self.data.interactions.set(dbiChannelSelectMenu.name, dbiChannelSelectMenu);
287
299
  return dbiChannelSelectMenu;
288
300
  };
289
301
  ChannelSelectMenu = Object.assign(ChannelSelectMenu, class {
@@ -296,7 +308,8 @@ class DBI {
296
308
  if (self.config.strict &&
297
309
  self.data.interactions.has(dbiMentionableSelectMenu.name))
298
310
  throw new Error(`DBIMentionableSelectMenu "${dbiMentionableSelectMenu.name}" already loaded as "${self.data.interactions.get(dbiMentionableSelectMenu.name)?.type}"!`);
299
- self.data.interactions.set(dbiMentionableSelectMenu.name, dbiMentionableSelectMenu);
311
+ if (!cfg.flag || flags.includes("all") || flags.includes(cfg.flag))
312
+ self.data.interactions.set(dbiMentionableSelectMenu.name, dbiMentionableSelectMenu);
300
313
  return dbiMentionableSelectMenu;
301
314
  };
302
315
  MentionableSelectMenu = Object.assign(MentionableSelectMenu, class {
@@ -309,7 +322,8 @@ class DBI {
309
322
  if (self.config.strict &&
310
323
  self.data.interactions.has(dbiMessageContextMenu.name))
311
324
  throw new Error(`DBIMessageContextMenu "${dbiMessageContextMenu.name}" already loaded as "${self.data.interactions.get(dbiMessageContextMenu.name)?.type}"!`);
312
- self.data.interactions.set(dbiMessageContextMenu.name, dbiMessageContextMenu);
325
+ if (!cfg.flag || flags.includes("all") || flags.includes(cfg.flag))
326
+ self.data.interactions.set(dbiMessageContextMenu.name, dbiMessageContextMenu);
313
327
  return dbiMessageContextMenu;
314
328
  };
315
329
  MessageContextMenu = Object.assign(MessageContextMenu, class {
@@ -322,7 +336,8 @@ class DBI {
322
336
  if (self.config.strict &&
323
337
  self.data.interactions.has(dbiUserContextMenu.name))
324
338
  throw new Error(`DBIUserContextMenu "${dbiUserContextMenu.name}" already loaded as "${self.data.interactions.get(dbiUserContextMenu.name)?.type}"!`);
325
- self.data.interactions.set(dbiUserContextMenu.name, dbiUserContextMenu);
339
+ if (!cfg.flag || flags.includes("all") || flags.includes(cfg.flag))
340
+ self.data.interactions.set(dbiUserContextMenu.name, dbiUserContextMenu);
326
341
  return dbiUserContextMenu;
327
342
  };
328
343
  UserContextMenu = Object.assign(UserContextMenu, class {
@@ -334,7 +349,8 @@ class DBI {
334
349
  let dbiModal = new Modal_1.DBIModal(self, cfg);
335
350
  if (self.config.strict && self.data.interactions.has(dbiModal.name))
336
351
  throw new Error(`DBIModal "${dbiModal.name}" already loaded as "${self.data.interactions.get(dbiModal.name)?.type}"!`);
337
- self.data.interactions.set(dbiModal.name, dbiModal);
352
+ if (!cfg.flag || flags.includes("all") || flags.includes(cfg.flag))
353
+ self.data.interactions.set(dbiModal.name, dbiModal);
338
354
  return dbiModal;
339
355
  };
340
356
  Modal = Object.assign(Modal, class {
@@ -349,7 +365,8 @@ class DBI {
349
365
  throw new Error(`DBILocale "${dbiLocale.name}" already loaded!`);
350
366
  if (self.data.locales.has(dbiLocale.name))
351
367
  dbiLocale.mergeLocale(self.data.locales.get(dbiLocale.name));
352
- self.data.locales.set(dbiLocale.name, dbiLocale);
368
+ if (!cfg.flag || flags.includes("all") || flags.includes(cfg.flag))
369
+ self.data.locales.set(dbiLocale.name, dbiLocale);
353
370
  return dbiLocale;
354
371
  };
355
372
  Locale = Object.assign(Locale, class {
@@ -375,7 +392,8 @@ class DBI {
375
392
  if (self.config.strict &&
376
393
  self.data.interactionLocales.has(dbiInteractionLocale.name))
377
394
  throw new Error(`DBIInteractionLocale "${dbiInteractionLocale.name}" already loaded!`);
378
- self.data.interactionLocales.set(dbiInteractionLocale.name, dbiInteractionLocale);
395
+ if (!cfg.flag || flags.includes("all") || flags.includes(cfg.flag))
396
+ self.data.interactionLocales.set(dbiInteractionLocale.name, dbiInteractionLocale);
379
397
  return dbiInteractionLocale;
380
398
  };
381
399
  InteractionLocale = Object.assign(InteractionLocale, class {
@@ -466,10 +484,10 @@ class DBI {
466
484
  async register(cb) {
467
485
  this.data.registers.add(cb);
468
486
  }
469
- async load() {
487
+ async load(...flags) {
470
488
  if (this._loaded)
471
489
  return false;
472
- await this._registerAll();
490
+ await this._registerAll(flags);
473
491
  await this._hookListeners();
474
492
  this._loaded = true;
475
493
  return true;
@@ -486,11 +504,9 @@ class DBI {
486
504
  return this._loaded;
487
505
  }
488
506
  async publish(...args) {
489
- let interactions = this.data.interactions.filter((i) => i.publish.type != "None" &&
490
- (i.publish.type == args[0] || i.publish.type == "All") &&
491
- (i.type == "ChatInput" ||
492
- i.type == "MessageContextMenu" ||
493
- i.type == "UserContextMenu"));
507
+ let interactions = this.data.interactions.filter((i) => i.type == "ChatInput" ||
508
+ i.type == "MessageContextMenu" ||
509
+ i.type == "UserContextMenu");
494
510
  switch (args[0]) {
495
511
  case "Global": {
496
512
  return await (0, publishInteractions_1.publishInteractions)(this.data.clients, args[1] ? new discord_js_1.default.Collection() : interactions, this.data.interactionLocales, args[0]);
package/dist/DBI.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"DBI.js","sourceRoot":"","sources":["../src/DBI.ts"],"names":[],"mappings":"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","sourcesContent":["import Discord, { MessagePayload } from \"discord.js\";\r\nimport {\r\n DBIChatInput,\r\n TDBIChatInputOmitted,\r\n} from \"./types/ChatInput/ChatInput\";\r\nimport { DBIChatInputOptions } from \"./types/ChatInput/ChatInputOptions\";\r\nimport { publishInteractions } from \"./methods/publishInteractions\";\r\nimport { ClientEvents, DBIEvent, TDBIEventOmitted } from \"./types/Event\";\r\nimport { MemoryStore } from \"./utils/MemoryStore\";\r\nimport { hookInteractionListeners } from \"./methods/hookInteractionListeners\";\r\nimport { Events } from \"./Events\";\r\nimport {\r\n DBILocale,\r\n TDBILocaleConstructor,\r\n TDBILocaleString,\r\n} from \"./types/other/Locale\";\r\nimport { DBIButton, TDBIButtonOmitted } from \"./types/Components/Button\";\r\nimport {\r\n DBIStringSelectMenu,\r\n TDBIStringSelectMenuOmitted,\r\n} from \"./types/Components/StringSelectMenu\";\r\nimport {\r\n DBIMessageContextMenu,\r\n TDBIMessageContextMenuOmitted,\r\n} from \"./types/other/MessageContextMenu\";\r\nimport {\r\n DBIUserContextMenu,\r\n TDBIUserContextMenuOmitted,\r\n} from \"./types/other/UserContextMenu\";\r\nimport { hookEventListeners } from \"./methods/hookEventListeners\";\r\nimport eventMap from \"./data/eventMap.json\";\r\nimport { DBIModal, TDBIModalOmitted } from \"./types/Components/Modal\";\r\nimport * as Sharding from \"discord-hybrid-sharding\";\r\nimport _ from \"lodash\";\r\nimport {\r\n DBIInteractionLocale,\r\n TDBIInteractionLocaleOmitted,\r\n} from \"./types/other/InteractionLocale\";\r\nimport { TDBIInteractions } from \"./types/Interaction\";\r\nimport { NamespaceData, NamespaceEnums } from \"../generated/namespaceData\";\r\nimport {\r\n DBICustomEvent,\r\n TDBICustomEventOmitted,\r\n} from \"./types/other/CustomEvent\";\r\nimport aaq from \"async-and-quick\";\r\nimport {\r\n DBIUserSelectMenu,\r\n TDBIUserSelectMenuOmitted,\r\n} from \"./types/Components/UserSelectMenu\";\r\nimport {\r\n DBIMentionableSelectMenu,\r\n TDBIMentionableSelectMenuOmitted,\r\n} from \"./types/Components/MentionableSelectMenu\";\r\nimport {\r\n DBIChannelSelectMenu,\r\n TDBIChannelSelectMenuOmitted,\r\n} from \"./types/Components/ChannelSelectMenu\";\r\nimport {\r\n DBIRoleSelectMenu,\r\n TDBIRoleSelectMenuOmitted,\r\n} from \"./types/Components/RoleSelectMenu\";\r\nimport { handleMessageCommands } from \"./methods/handleMessageCommands\";\r\n\r\nexport interface DBIStore {\r\n get(key: string, defaultValue?: any): Promise<any>;\r\n set(key: string, value: any): Promise<void>;\r\n delete(key: string): Promise<void>;\r\n has(key: string): Promise<boolean>;\r\n}\r\n\r\nexport type DBIClientData<TNamespace extends NamespaceEnums> = {\r\n namespace: NamespaceData[TNamespace][\"clientNamespaces\"];\r\n token: string;\r\n options: Discord.ClientOptions;\r\n client: Discord.Client<true>;\r\n};\r\n\r\nexport interface DBIConfig {\r\n discord: {\r\n namespace: string;\r\n token: string;\r\n options: Discord.ClientOptions;\r\n }[];\r\n defaults: {\r\n locale: TDBILocaleString;\r\n directMessages: boolean;\r\n defaultMemberPermissions: Discord.PermissionsString[];\r\n };\r\n\r\n sharding: \"hybrid\" | \"default\" | \"off\";\r\n /**\r\n * Persist store. (Default to MemoryStore thats not persis tho.)\r\n */\r\n store: DBIStore;\r\n\r\n references: {\r\n autoClear?: {\r\n check: number;\r\n ttl: number;\r\n };\r\n };\r\n\r\n strict: boolean;\r\n messageCommands?: {\r\n prefixes: string[];\r\n typeAliases: {\r\n booleans: Record<string, boolean>;\r\n };\r\n };\r\n}\r\n\r\nexport interface DBIConfigConstructor {\r\n discord:\r\n | {\r\n token: string;\r\n options: Discord.ClientOptions;\r\n }\r\n | {\r\n namespace: string;\r\n token: string;\r\n options: Discord.ClientOptions;\r\n }[];\r\n\r\n defaults?: {\r\n locale?: TDBILocaleString;\r\n directMessages?: boolean;\r\n defaultMemberPermissions?: Discord.PermissionsString[];\r\n messageCommands?: {\r\n deferReplyContent?: MessagePayload | string;\r\n };\r\n };\r\n\r\n sharding?: \"hybrid\" | \"default\" | \"off\";\r\n /**\r\n * Persist store. (Default to MemoryStore thats not persis tho.)\r\n */\r\n store?: DBIStore;\r\n\r\n references?: {\r\n autoClear?: {\r\n check: number;\r\n ttl: number;\r\n };\r\n };\r\n\r\n data?: {\r\n other?: Record<string, any>;\r\n refs?: Map<string, { at: number; value: any; ttl?: number }>;\r\n };\r\n\r\n strict?: boolean;\r\n\r\n messageCommands?: {\r\n prefixes: string[];\r\n typeAliases?: {\r\n /**\r\n * Example: {\"yes\": true, \"no\": false}\r\n */\r\n booleans?: Record<string, boolean>;\r\n };\r\n };\r\n}\r\n\r\nexport interface DBIRegisterAPI<TNamespace extends NamespaceEnums> {\r\n ChatInput(cfg: TDBIChatInputOmitted<TNamespace>): DBIChatInput<TNamespace>;\r\n ChatInputOptions: DBIChatInputOptions<TNamespace>;\r\n Event(cfg: TDBIEventOmitted<TNamespace>): DBIEvent<TNamespace>;\r\n Locale(cfg: TDBILocaleConstructor<TNamespace>): DBILocale<TNamespace>;\r\n Button(cfg: TDBIButtonOmitted<TNamespace>): DBIButton<TNamespace>;\r\n StringSelectMenu(\r\n cfg: TDBIStringSelectMenuOmitted<TNamespace>\r\n ): DBIStringSelectMenu<TNamespace>;\r\n UserSelectMenu(\r\n cfg: TDBIUserSelectMenuOmitted<TNamespace>\r\n ): DBIUserSelectMenu<TNamespace>;\r\n RoleSelectMenu(\r\n cfg: TDBIRoleSelectMenuOmitted<TNamespace>\r\n ): DBIRoleSelectMenu<TNamespace>;\r\n ChannelSelectMenu(\r\n cfg: TDBIChannelSelectMenuOmitted<TNamespace>\r\n ): DBIChannelSelectMenu<TNamespace>;\r\n MentionableSelectMenu(\r\n cfg: TDBIMentionableSelectMenuOmitted<TNamespace>\r\n ): DBIMentionableSelectMenu<TNamespace>;\r\n MessageContextMenu(\r\n cfg: TDBIMessageContextMenuOmitted<TNamespace>\r\n ): DBIMessageContextMenu<TNamespace>;\r\n UserContextMenu(\r\n cfg: TDBIUserContextMenuOmitted<TNamespace>\r\n ): DBIUserContextMenu<TNamespace>;\r\n InteractionLocale(cfg: TDBIInteractionLocaleOmitted): DBIInteractionLocale;\r\n Modal(cfg: TDBIModalOmitted<TNamespace>): DBIModal<TNamespace>;\r\n CustomEvent<T extends keyof NamespaceData[TNamespace][\"customEvents\"]>(\r\n cfg: TDBICustomEventOmitted<TNamespace, T>\r\n ): DBICustomEvent<TNamespace, T>;\r\n onUnload(cb: () => Promise<any> | any): any;\r\n}\r\n\r\nexport class DBI<\r\n TNamespace extends NamespaceEnums,\r\n TOtherData = Record<string, any>\r\n> {\r\n namespace: TNamespace;\r\n config: DBIConfig;\r\n data: {\r\n interactions: Discord.Collection<string, TDBIInteractions<TNamespace>>;\r\n events: Discord.Collection<string, DBIEvent<TNamespace>>;\r\n locales: Discord.Collection<string, DBILocale<TNamespace>>;\r\n interactionLocales: Discord.Collection<string, DBIInteractionLocale>;\r\n other: TOtherData;\r\n eventMap: Record<string, string[] | { [k: string]: string }>;\r\n customEventNames: Set<string>;\r\n unloaders: Set<() => void>;\r\n registers: Set<(...args: any[]) => any>;\r\n registerUnloaders: Set<(...args: any[]) => any>;\r\n refs: Map<string, { at: number; value: any; ttl?: number }>;\r\n clients: DBIClientData<TNamespace>[] & {\r\n next(key?: string): DBIClientData<TNamespace>;\r\n random(): DBIClientData<TNamespace>;\r\n random(size: number): DBIClientData<TNamespace>[];\r\n first(): DBIClientData<TNamespace>;\r\n get(\r\n namespace: NamespaceData[TNamespace][\"clientNamespaces\"]\r\n ): DBIClientData<TNamespace>;\r\n indexes: Record<string, number>;\r\n };\r\n };\r\n events: Events<TNamespace>;\r\n cluster?: Sharding.ClusterClient<Discord.Client>;\r\n private _loaded: boolean;\r\n private _hooked: boolean;\r\n constructor(namespace: TNamespace, config: DBIConfigConstructor) {\r\n this.namespace = namespace as any;\r\n const self = this;\r\n\r\n config.store = (config.store as any) || new MemoryStore();\r\n config.defaults = {\r\n locale: \"en\",\r\n defaultMemberPermissions: [],\r\n directMessages: false,\r\n ...(config.defaults || {}),\r\n messageCommands: {\r\n deferReplyContent: \"Loading...\",\r\n ...(config.defaults?.messageCommands || {}),\r\n },\r\n };\r\n config.sharding = config.sharding ?? \"off\";\r\n config.strict = config.strict ?? true;\r\n config.references = {\r\n autoClear: undefined,\r\n ...(config.references || {}),\r\n };\r\n\r\n if (config.messageCommands) {\r\n if (config.strict && !config.messageCommands?.prefixes?.length)\r\n throw new Error(\"No message command prefixes provided.\");\r\n\r\n let { typeAliases } = config.messageCommands;\r\n\r\n config.messageCommands.typeAliases = {\r\n booleans: typeAliases.booleans ?? {\r\n true: true,\r\n false: false,\r\n yes: true,\r\n no: false,\r\n y: true,\r\n n: false,\r\n \"1\": true,\r\n \"0\": false,\r\n },\r\n };\r\n }\r\n\r\n // @ts-ignore\r\n this.config = config;\r\n\r\n this.data = {\r\n interactions: new Discord.Collection(),\r\n events: new Discord.Collection(),\r\n locales: new Discord.Collection(),\r\n interactionLocales: new Discord.Collection(),\r\n other: (config.data?.other as any) ?? ({} as TOtherData),\r\n eventMap: { ...eventMap },\r\n customEventNames: new Set(),\r\n unloaders: new Set(),\r\n registers: new Set(),\r\n registerUnloaders: new Set(),\r\n refs: config.data?.refs ?? new Map(),\r\n clients: Object.assign([], {\r\n next(key = \"global\") {\r\n this.indexes[key] = ((this.indexes[key] ?? -1) + 1) % this.length;\r\n return this[this.indexes[key]];\r\n },\r\n random(size?: number) {\r\n if (typeof size === \"number\") {\r\n return this.sort(() => Math.random() - 0.5).slice(0, size);\r\n } else {\r\n return this[Math.floor(Math.random() * this.length)];\r\n }\r\n },\r\n first() {\r\n return this[0];\r\n },\r\n get(namespace: string) {\r\n return this.find((i: any) => i.namespace === namespace);\r\n },\r\n indexes: {},\r\n }) as any,\r\n };\r\n\r\n this.events = new Events(this as any);\r\n\r\n config.discord = Array.isArray(config.discord)\r\n ? config.discord\r\n : [\r\n {\r\n token: config.discord.token,\r\n options: config.discord.options,\r\n namespace: \"default\",\r\n },\r\n ];\r\n\r\n this.data.clients.push(...(config.discord as any));\r\n for (let clientContext of this.data.clients) {\r\n let client = new Discord.Client({\r\n ...((clientContext.options || {}) as any),\r\n ...(config.sharding == \"hybrid\"\r\n ? {\r\n shards: Sharding.getInfo().SHARD_LIST,\r\n shardCount: Sharding.getInfo().TOTAL_SHARDS,\r\n }\r\n : {}),\r\n });\r\n clientContext.client = client as Discord.Client<true>;\r\n }\r\n\r\n if (this.data.clients.length === 0) throw new Error(\"No clients provided.\");\r\n if (\r\n this.data.clients.length !== 1 &&\r\n !(config.sharding && config.sharding === \"off\")\r\n )\r\n throw new Error(\"Sharding only supports 1 client.\");\r\n\r\n this.cluster =\r\n config.sharding == \"hybrid\"\r\n ? new Sharding.ClusterClient(this.data.clients[0].client)\r\n : undefined;\r\n this._loaded = false;\r\n this._hooked = false;\r\n }\r\n\r\n private async _hookListeners() {\r\n if (this._hooked) return;\r\n const self = this;\r\n this._hooked = true;\r\n this.data.unloaders.add(hookInteractionListeners(this as any));\r\n this.data.unloaders.add(hookEventListeners(this as any));\r\n if (typeof this.config.references.autoClear !== \"undefined\") {\r\n this.data.unloaders.add(\r\n (() => {\r\n let interval = setInterval(() => {\r\n this.data.refs.forEach(({ at, ttl }, key) => {\r\n if (\r\n Date.now() >\r\n at + (ttl || this.config.references.autoClear.ttl)\r\n ) {\r\n this.data.refs.delete(key);\r\n }\r\n });\r\n }, this.config.references.autoClear.check);\r\n return () => {\r\n clearInterval(interval);\r\n };\r\n })()\r\n );\r\n }\r\n if (typeof this.config.messageCommands !== \"undefined\") {\r\n this.data.unloaders.add(\r\n (() => {\r\n const { client } = this.client();\r\n\r\n function onMessage(message: Discord.Message) {\r\n handleMessageCommands(self as any, message);\r\n }\r\n\r\n client.on(\"messageCreate\", onMessage);\r\n return () => {\r\n client.off(\"messageCreate\", onMessage);\r\n };\r\n })()\r\n );\r\n }\r\n }\r\n\r\n private async _unhookListeners() {\r\n if (!this._hooked) return;\r\n this._hooked = false;\r\n this.data.unloaders.forEach((f) => {\r\n f();\r\n });\r\n }\r\n\r\n private async _unregisterAll() {\r\n for await (const cb of this.data.registerUnloaders) {\r\n await cb();\r\n }\r\n this.data.events.clear();\r\n this.data.interactions.clear();\r\n this.data.customEventNames.forEach((value) => {\r\n delete this.data.eventMap[value];\r\n });\r\n this.data.customEventNames.clear();\r\n }\r\n\r\n private async _registerAll() {\r\n const self = this;\r\n const ChatInputOptions = new DBIChatInputOptions(self);\r\n\r\n for await (const cb of this.data.registers) {\r\n let ChatInput = function (cfg: DBIChatInput<TNamespace>) {\r\n let dbiChatInput = new DBIChatInput(self, cfg);\r\n if (self.data.interactions.has(dbiChatInput.name))\r\n throw new Error(\r\n `DBIChatInput \"${dbiChatInput.name}\" already loaded as \"${self.data.interactions.get(dbiChatInput.name)?.type\r\n }\"!`\r\n );\r\n self.data.interactions.set(dbiChatInput.name, dbiChatInput);\r\n return dbiChatInput;\r\n };\r\n ChatInput = Object.assign(\r\n ChatInput,\r\n class {\r\n constructor(...args: any[]) {\r\n return ChatInput.apply(this, args as any);\r\n }\r\n }\r\n );\r\n\r\n let Event = function (cfg: TDBIEventOmitted<TNamespace>) {\r\n let dbiEvent = new DBIEvent(self as any, cfg);\r\n if (\r\n self.config.strict &&\r\n self.data.events.has(dbiEvent.id || dbiEvent.name)\r\n )\r\n throw new Error(\r\n `DBIEvent \"${dbiEvent.id || dbiEvent.name}\" already loaded!`\r\n );\r\n self.data.events.set(dbiEvent.id || dbiEvent.name, dbiEvent);\r\n return dbiEvent;\r\n };\r\n Event = Object.assign(\r\n Event,\r\n class {\r\n constructor(...args: any[]) {\r\n return Event.apply(this, args as any);\r\n }\r\n }\r\n );\r\n\r\n let Button = function (cfg: TDBIButtonOmitted<TNamespace>) {\r\n let dbiButton = new DBIButton(self as any, cfg);\r\n if (self.config.strict && self.data.interactions.has(dbiButton.name))\r\n throw new Error(\r\n `DBIButton \"${dbiButton.name}\" already loaded as \"${self.data.interactions.get(dbiButton.name)?.type\r\n }\"!`\r\n );\r\n self.data.interactions.set(dbiButton.name, dbiButton as any);\r\n return dbiButton;\r\n };\r\n Button = Object.assign(\r\n Button,\r\n class {\r\n constructor(...args: any[]) {\r\n return Button.apply(this, args as any);\r\n }\r\n }\r\n );\r\n\r\n let StringSelectMenu = function (\r\n cfg: TDBIStringSelectMenuOmitted<TNamespace>\r\n ) {\r\n let dbiStringSelectMenu = new DBIStringSelectMenu(self as any, cfg);\r\n if (\r\n self.config.strict &&\r\n self.data.interactions.has(dbiStringSelectMenu.name)\r\n )\r\n throw new Error(\r\n `DBIStringSelectMenu \"${dbiStringSelectMenu.name\r\n }\" already loaded as \"${self.data.interactions.get(dbiStringSelectMenu.name)?.type\r\n }\"!`\r\n );\r\n self.data.interactions.set(\r\n dbiStringSelectMenu.name,\r\n dbiStringSelectMenu as any\r\n );\r\n return dbiStringSelectMenu;\r\n };\r\n StringSelectMenu = Object.assign(\r\n StringSelectMenu,\r\n class {\r\n constructor(...args: any[]) {\r\n return StringSelectMenu.apply(this, args as any);\r\n }\r\n }\r\n );\r\n\r\n let UserSelectMenu = function (\r\n cfg: TDBIUserSelectMenuOmitted<TNamespace>\r\n ) {\r\n let dbiUserSelectMenu = new DBIUserSelectMenu(self as any, cfg);\r\n if (\r\n self.config.strict &&\r\n self.data.interactions.has(dbiUserSelectMenu.name)\r\n )\r\n throw new Error(\r\n `DBIUserSelectMenu \"${dbiUserSelectMenu.name}\" already loaded as \"${self.data.interactions.get(dbiUserSelectMenu.name)?.type\r\n }\"!`\r\n );\r\n self.data.interactions.set(\r\n dbiUserSelectMenu.name,\r\n dbiUserSelectMenu as any\r\n );\r\n return dbiUserSelectMenu;\r\n };\r\n UserSelectMenu = Object.assign(\r\n UserSelectMenu,\r\n class {\r\n constructor(...args: any[]) {\r\n return UserSelectMenu.apply(this, args as any);\r\n }\r\n }\r\n );\r\n\r\n let RoleSelectMenu = function (\r\n cfg: TDBIRoleSelectMenuOmitted<TNamespace>\r\n ) {\r\n let dbiRoleSelectMenu = new DBIRoleSelectMenu(self as any, cfg);\r\n if (\r\n self.config.strict &&\r\n self.data.interactions.has(dbiRoleSelectMenu.name)\r\n )\r\n throw new Error(\r\n `DBIRoleSelectMenu \"${dbiRoleSelectMenu.name}\" already loaded as \"${self.data.interactions.get(dbiRoleSelectMenu.name)?.type\r\n }\"!`\r\n );\r\n self.data.interactions.set(\r\n dbiRoleSelectMenu.name,\r\n dbiRoleSelectMenu as any\r\n );\r\n return dbiRoleSelectMenu;\r\n };\r\n RoleSelectMenu = Object.assign(\r\n RoleSelectMenu,\r\n class {\r\n constructor(...args: any[]) {\r\n return RoleSelectMenu.apply(this, args as any);\r\n }\r\n }\r\n );\r\n\r\n let ChannelSelectMenu = function (\r\n cfg: TDBIChannelSelectMenuOmitted<TNamespace>\r\n ) {\r\n let dbiChannelSelectMenu = new DBIChannelSelectMenu(self as any, cfg);\r\n if (\r\n self.config.strict &&\r\n self.data.interactions.has(dbiChannelSelectMenu.name)\r\n )\r\n throw new Error(\r\n `DBIChannelSelectMenu \"${dbiChannelSelectMenu.name\r\n }\" already loaded as \"${self.data.interactions.get(dbiChannelSelectMenu.name)?.type\r\n }\"!`\r\n );\r\n self.data.interactions.set(\r\n dbiChannelSelectMenu.name,\r\n dbiChannelSelectMenu as any\r\n );\r\n return dbiChannelSelectMenu;\r\n };\r\n ChannelSelectMenu = Object.assign(\r\n ChannelSelectMenu,\r\n class {\r\n constructor(...args: any[]) {\r\n return ChannelSelectMenu.apply(this, args as any);\r\n }\r\n }\r\n );\r\n\r\n let MentionableSelectMenu = function (\r\n cfg: TDBIMentionableSelectMenuOmitted<TNamespace>\r\n ) {\r\n let dbiMentionableSelectMenu = new DBIMentionableSelectMenu(\r\n self as any,\r\n cfg\r\n );\r\n if (\r\n self.config.strict &&\r\n self.data.interactions.has(dbiMentionableSelectMenu.name)\r\n )\r\n throw new Error(\r\n `DBIMentionableSelectMenu \"${dbiMentionableSelectMenu.name\r\n }\" already loaded as \"${self.data.interactions.get(dbiMentionableSelectMenu.name)?.type\r\n }\"!`\r\n );\r\n self.data.interactions.set(\r\n dbiMentionableSelectMenu.name,\r\n dbiMentionableSelectMenu as any\r\n );\r\n return dbiMentionableSelectMenu;\r\n };\r\n MentionableSelectMenu = Object.assign(\r\n MentionableSelectMenu,\r\n class {\r\n constructor(...args: any[]) {\r\n return MentionableSelectMenu.apply(this, args as any);\r\n }\r\n }\r\n );\r\n\r\n let MessageContextMenu = function (\r\n cfg: TDBIMessageContextMenuOmitted<TNamespace>\r\n ) {\r\n let dbiMessageContextMenu = new DBIMessageContextMenu(self as any, cfg);\r\n if (\r\n self.config.strict &&\r\n self.data.interactions.has(dbiMessageContextMenu.name)\r\n )\r\n throw new Error(\r\n `DBIMessageContextMenu \"${dbiMessageContextMenu.name\r\n }\" already loaded as \"${self.data.interactions.get(dbiMessageContextMenu.name)?.type\r\n }\"!`\r\n );\r\n self.data.interactions.set(\r\n dbiMessageContextMenu.name,\r\n dbiMessageContextMenu as any\r\n );\r\n return dbiMessageContextMenu;\r\n };\r\n MessageContextMenu = Object.assign(\r\n MessageContextMenu,\r\n class {\r\n constructor(...args: any[]) {\r\n return MessageContextMenu.apply(this, args as any);\r\n }\r\n }\r\n );\r\n\r\n let UserContextMenu = function (\r\n cfg: TDBIUserContextMenuOmitted<TNamespace>\r\n ) {\r\n let dbiUserContextMenu = new DBIUserContextMenu(self as any, cfg);\r\n if (\r\n self.config.strict &&\r\n self.data.interactions.has(dbiUserContextMenu.name)\r\n )\r\n throw new Error(\r\n `DBIUserContextMenu \"${dbiUserContextMenu.name\r\n }\" already loaded as \"${self.data.interactions.get(dbiUserContextMenu.name)?.type\r\n }\"!`\r\n );\r\n self.data.interactions.set(\r\n dbiUserContextMenu.name,\r\n dbiUserContextMenu as any\r\n );\r\n return dbiUserContextMenu;\r\n };\r\n UserContextMenu = Object.assign(\r\n UserContextMenu,\r\n class {\r\n constructor(...args: any[]) {\r\n return UserContextMenu.apply(this, args as any);\r\n }\r\n }\r\n );\r\n\r\n let Modal = function (cfg: TDBIModalOmitted<TNamespace>) {\r\n let dbiModal = new DBIModal(self as any, cfg);\r\n if (self.config.strict && self.data.interactions.has(dbiModal.name))\r\n throw new Error(\r\n `DBIModal \"${dbiModal.name}\" already loaded as \"${self.data.interactions.get(dbiModal.name)?.type\r\n }\"!`\r\n );\r\n self.data.interactions.set(dbiModal.name, dbiModal as any);\r\n return dbiModal;\r\n };\r\n Modal = Object.assign(\r\n Modal,\r\n class {\r\n constructor(...args: any[]) {\r\n return Modal.apply(this, args as any);\r\n }\r\n }\r\n );\r\n\r\n let Locale = function (cfg: TDBILocaleConstructor<TNamespace>) {\r\n let dbiLocale = new DBILocale(self as any, cfg);\r\n if (\r\n self.config.strict &&\r\n self.data.interactionLocales.has(dbiLocale.name)\r\n )\r\n throw new Error(`DBILocale \"${dbiLocale.name}\" already loaded!`);\r\n if (self.data.locales.has(dbiLocale.name))\r\n dbiLocale.mergeLocale(self.data.locales.get(dbiLocale.name));\r\n self.data.locales.set(dbiLocale.name, dbiLocale);\r\n return dbiLocale;\r\n };\r\n Locale = Object.assign(\r\n Locale,\r\n class {\r\n constructor(...args: any[]) {\r\n return Locale.apply(this, args as any);\r\n }\r\n }\r\n );\r\n\r\n let CustomEvent = function (cfg: TDBICustomEventOmitted<TNamespace>) {\r\n let dbiCustomEvent = new DBICustomEvent(self, cfg) as any;\r\n if (self.config.strict && self.data.eventMap[dbiCustomEvent.name])\r\n throw new Error(\r\n `DBICustomEvent \"${dbiCustomEvent.name}\" already loaded!`\r\n );\r\n self.data.eventMap[dbiCustomEvent.name] = dbiCustomEvent.map;\r\n self.data.customEventNames.add(dbiCustomEvent.name);\r\n return dbiCustomEvent;\r\n };\r\n CustomEvent = Object.assign(\r\n CustomEvent,\r\n class {\r\n constructor(...args: any[]) {\r\n return CustomEvent.apply(this, args as any);\r\n }\r\n }\r\n );\r\n\r\n let InteractionLocale = function (cfg: TDBIInteractionLocaleOmitted) {\r\n let dbiInteractionLocale = new DBIInteractionLocale(self, cfg);\r\n if (\r\n self.config.strict &&\r\n self.data.interactionLocales.has(dbiInteractionLocale.name)\r\n )\r\n throw new Error(\r\n `DBIInteractionLocale \"${dbiInteractionLocale.name}\" already loaded!`\r\n );\r\n self.data.interactionLocales.set(\r\n dbiInteractionLocale.name,\r\n dbiInteractionLocale\r\n );\r\n return dbiInteractionLocale;\r\n };\r\n InteractionLocale = Object.assign(\r\n InteractionLocale,\r\n class {\r\n constructor(...args: any[]) {\r\n return InteractionLocale.apply(this, args as any);\r\n }\r\n }\r\n );\r\n\r\n await cb({\r\n ChatInput,\r\n Event,\r\n ChatInputOptions,\r\n Locale,\r\n Button,\r\n StringSelectMenu,\r\n UserSelectMenu,\r\n RoleSelectMenu,\r\n ChannelSelectMenu,\r\n MentionableSelectMenu,\r\n MessageContextMenu,\r\n UserContextMenu,\r\n CustomEvent,\r\n Modal,\r\n InteractionLocale,\r\n onUnload(cb: () => Promise<any> | any) {\r\n self.data.registerUnloaders.add(cb);\r\n },\r\n });\r\n }\r\n self.data.interactions.sort((a, b) => b.name.length - a.name.length);\r\n }\r\n\r\n emit<\r\n TEventName extends keyof (NamespaceData[TNamespace][\"customEvents\"] &\r\n ClientEvents)\r\n >(\r\n name: TEventName,\r\n args: (NamespaceData[TNamespace][\"customEvents\"] & ClientEvents)[TEventName]\r\n ): void {\r\n this.data.clients.forEach((d) =>\r\n d.client.emit(name as any, { ...args, _DIRECT_: true } as any)\r\n );\r\n }\r\n\r\n /**\r\n * this.data.interactions.get(name)\r\n */\r\n interaction<\r\n TInteractionName extends keyof NamespaceData[TNamespace][\"interactionMapping\"]\r\n >(\r\n name: TInteractionName\r\n ): NamespaceData[TNamespace][\"interactionMapping\"][TInteractionName] {\r\n return this.data.interactions.get(name as any) as any;\r\n }\r\n\r\n client<TClientName extends NamespaceData[TNamespace][\"clientNamespaces\"]>(\r\n name?: TClientName\r\n ): DBIClientData<TNamespace> {\r\n return name ? this.data.clients.get(name) : this.data.clients.first();\r\n }\r\n /**\r\n * this.data.events.get(name)\r\n */\r\n event<TEventName extends NamespaceData[TNamespace][\"eventNames\"]>(\r\n name: TEventName\r\n ): DBIEvent<TNamespace> {\r\n return this.data.events.get(name);\r\n }\r\n\r\n /**\r\n * this.data.locales.get(name)\r\n */\r\n locale<TLocaleName extends NamespaceData[TNamespace][\"localeNames\"]>(\r\n name: TLocaleName\r\n ): DBILocale<TNamespace> {\r\n return this.data.locales.get(name) as any;\r\n }\r\n\r\n /**\r\n * Shorthands for modifying `dbi.data.other`\r\n */\r\n get<K extends keyof TOtherData>(\r\n k: K,\r\n defaultValue?: TOtherData[K]\r\n ): TOtherData[K] {\r\n if (defaultValue && !this.has(k as any)) {\r\n this.set(k, defaultValue);\r\n return defaultValue;\r\n }\r\n return _.get(this.data.other, k);\r\n }\r\n\r\n /**\r\n * Shorthands for modifying `dbi.data.other`\r\n */\r\n set<K extends keyof TOtherData>(k: K, v: TOtherData[K]): any {\r\n this.data.other = _.set(this.data.other as any, k, v);\r\n }\r\n\r\n /**\r\n * Shorthands for modifying `dbi.data.other`\r\n */\r\n has(k: string): boolean {\r\n return _.has(this.data.other, k as any);\r\n }\r\n\r\n /**\r\n * Shorthands for modifying `dbi.data.other`\r\n */\r\n delete(k: string): boolean {\r\n return _.unset(this.data.other, k);\r\n }\r\n\r\n async login(): Promise<any> {\r\n await aaq.quickForEach(this.data.clients, async (clientContext) => {\r\n await clientContext.client.login(\r\n this.config.sharding == \"default\" ? null : clientContext.token\r\n );\r\n });\r\n }\r\n\r\n async register(cb: (api: DBIRegisterAPI<TNamespace>) => void): Promise<any> {\r\n this.data.registers.add(cb);\r\n }\r\n\r\n async load(): Promise<boolean> {\r\n if (this._loaded) return false;\r\n await this._registerAll();\r\n await this._hookListeners();\r\n this._loaded = true;\r\n return true;\r\n }\r\n\r\n async unload(): Promise<boolean> {\r\n if (!this._loaded) return false;\r\n await this._unregisterAll();\r\n await this._unhookListeners();\r\n this._loaded = false;\r\n return true;\r\n }\r\n\r\n get loaded(): boolean {\r\n return this._loaded;\r\n }\r\n\r\n async publish(type: \"Global\", clear?: boolean): Promise<any>;\r\n async publish(type: \"Guild\", guildId: string, clear?: boolean): Promise<any>;\r\n\r\n async publish(...args: any[]) {\r\n let interactions = this.data.interactions.filter(\r\n (i) =>\r\n i.publish.type != \"None\" &&\r\n (i.publish.type == args[0] || i.publish.type == \"All\") &&\r\n (\r\n i.type == \"ChatInput\" ||\r\n i.type == \"MessageContextMenu\" ||\r\n i.type == \"UserContextMenu\"\r\n )\r\n ) as any;\r\n switch (args[0]) {\r\n case \"Global\": {\r\n return await publishInteractions(\r\n this.data.clients,\r\n args[1] ? new Discord.Collection() : interactions,\r\n this.data.interactionLocales,\r\n args[0]\r\n );\r\n }\r\n case \"Guild\": {\r\n return await publishInteractions(\r\n this.data.clients,\r\n args[2] ? new Discord.Collection() : interactions,\r\n this.data.interactionLocales,\r\n args[0],\r\n args[1]\r\n );\r\n }\r\n }\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"DBI.js","sourceRoot":"","sources":["../src/DBI.ts"],"names":[],"mappings":"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","sourcesContent":["import Discord, { MessagePayload } from \"discord.js\";\r\nimport {\r\n DBIChatInput,\r\n TDBIChatInputOmitted,\r\n} from \"./types/ChatInput/ChatInput\";\r\nimport { DBIChatInputOptions } from \"./types/ChatInput/ChatInputOptions\";\r\nimport { publishInteractions } from \"./methods/publishInteractions\";\r\nimport { ClientEvents, DBIEvent, TDBIEventOmitted } from \"./types/Event\";\r\nimport { MemoryStore } from \"./utils/MemoryStore\";\r\nimport { hookInteractionListeners } from \"./methods/hookInteractionListeners\";\r\nimport { Events } from \"./Events\";\r\nimport {\r\n DBILocale,\r\n TDBILocaleConstructor,\r\n TDBILocaleString,\r\n} from \"./types/other/Locale\";\r\nimport { DBIButton, TDBIButtonOmitted } from \"./types/Components/Button\";\r\nimport {\r\n DBIStringSelectMenu,\r\n TDBIStringSelectMenuOmitted,\r\n} from \"./types/Components/StringSelectMenu\";\r\nimport {\r\n DBIMessageContextMenu,\r\n TDBIMessageContextMenuOmitted,\r\n} from \"./types/other/MessageContextMenu\";\r\nimport {\r\n DBIUserContextMenu,\r\n TDBIUserContextMenuOmitted,\r\n} from \"./types/other/UserContextMenu\";\r\nimport { hookEventListeners } from \"./methods/hookEventListeners\";\r\nimport eventMap from \"./data/eventMap.json\";\r\nimport { DBIModal, TDBIModalOmitted } from \"./types/Components/Modal\";\r\nimport * as Sharding from \"discord-hybrid-sharding\";\r\nimport _ from \"lodash\";\r\nimport {\r\n DBIInteractionLocale,\r\n TDBIInteractionLocaleOmitted,\r\n} from \"./types/other/InteractionLocale\";\r\nimport { TDBIInteractions } from \"./types/Interaction\";\r\nimport { NamespaceData, NamespaceEnums } from \"../generated/namespaceData\";\r\nimport {\r\n DBICustomEvent,\r\n TDBICustomEventOmitted,\r\n} from \"./types/other/CustomEvent\";\r\nimport aaq from \"async-and-quick\";\r\nimport {\r\n DBIUserSelectMenu,\r\n TDBIUserSelectMenuOmitted,\r\n} from \"./types/Components/UserSelectMenu\";\r\nimport {\r\n DBIMentionableSelectMenu,\r\n TDBIMentionableSelectMenuOmitted,\r\n} from \"./types/Components/MentionableSelectMenu\";\r\nimport {\r\n DBIChannelSelectMenu,\r\n TDBIChannelSelectMenuOmitted,\r\n} from \"./types/Components/ChannelSelectMenu\";\r\nimport {\r\n DBIRoleSelectMenu,\r\n TDBIRoleSelectMenuOmitted,\r\n} from \"./types/Components/RoleSelectMenu\";\r\nimport { handleMessageCommands } from \"./methods/handleMessageCommands\";\r\n\r\nexport interface DBIStore {\r\n get(key: string, defaultValue?: any): Promise<any>;\r\n set(key: string, value: any): Promise<void>;\r\n delete(key: string): Promise<void>;\r\n has(key: string): Promise<boolean>;\r\n}\r\n\r\nexport type DBIClientData<TNamespace extends NamespaceEnums> = {\r\n namespace: NamespaceData[TNamespace][\"clientNamespaces\"];\r\n token: string;\r\n options: Discord.ClientOptions;\r\n client: Discord.Client<true>;\r\n};\r\n\r\nexport interface DBIConfig {\r\n discord: {\r\n namespace: string;\r\n token: string;\r\n options: Discord.ClientOptions;\r\n }[];\r\n defaults: {\r\n locale: TDBILocaleString;\r\n directMessages: boolean;\r\n defaultMemberPermissions: Discord.PermissionsString[];\r\n };\r\n\r\n sharding: \"hybrid\" | \"default\" | \"off\";\r\n /**\r\n * Persist store. (Default to MemoryStore thats not persis tho.)\r\n */\r\n store: DBIStore;\r\n\r\n references: {\r\n autoClear?: {\r\n check: number;\r\n ttl: number;\r\n };\r\n };\r\n\r\n strict: boolean;\r\n messageCommands?: {\r\n prefixes: string[];\r\n typeAliases: {\r\n booleans: Record<string, boolean>;\r\n };\r\n };\r\n}\r\n\r\nexport interface DBIConfigConstructor {\r\n discord:\r\n | {\r\n token: string;\r\n options: Discord.ClientOptions;\r\n }\r\n | {\r\n namespace: string;\r\n token: string;\r\n options: Discord.ClientOptions;\r\n }[];\r\n\r\n defaults?: {\r\n locale?: TDBILocaleString;\r\n directMessages?: boolean;\r\n defaultMemberPermissions?: Discord.PermissionsString[];\r\n messageCommands?: {\r\n deferReplyContent?: MessagePayload | string;\r\n };\r\n };\r\n\r\n sharding?: \"hybrid\" | \"default\" | \"off\";\r\n /**\r\n * Persist store. (Default to MemoryStore thats not persis tho.)\r\n */\r\n store?: DBIStore;\r\n\r\n references?: {\r\n autoClear?: {\r\n check: number;\r\n ttl: number;\r\n };\r\n };\r\n\r\n data?: {\r\n other?: Record<string, any>;\r\n refs?: Map<string, { at: number; value: any; ttl?: number }>;\r\n };\r\n\r\n strict?: boolean;\r\n\r\n messageCommands?: {\r\n prefixes: string[];\r\n typeAliases?: {\r\n /**\r\n * Example: {\"yes\": true, \"no\": false}\r\n */\r\n booleans?: Record<string, boolean>;\r\n };\r\n };\r\n}\r\n\r\nexport interface DBIRegisterAPI<TNamespace extends NamespaceEnums> {\r\n ChatInput(cfg: TDBIChatInputOmitted<TNamespace>): DBIChatInput<TNamespace>;\r\n ChatInputOptions: DBIChatInputOptions<TNamespace>;\r\n Event(cfg: TDBIEventOmitted<TNamespace>): DBIEvent<TNamespace>;\r\n Locale(cfg: TDBILocaleConstructor<TNamespace>): DBILocale<TNamespace>;\r\n Button(cfg: TDBIButtonOmitted<TNamespace>): DBIButton<TNamespace>;\r\n StringSelectMenu(\r\n cfg: TDBIStringSelectMenuOmitted<TNamespace>\r\n ): DBIStringSelectMenu<TNamespace>;\r\n UserSelectMenu(\r\n cfg: TDBIUserSelectMenuOmitted<TNamespace>\r\n ): DBIUserSelectMenu<TNamespace>;\r\n RoleSelectMenu(\r\n cfg: TDBIRoleSelectMenuOmitted<TNamespace>\r\n ): DBIRoleSelectMenu<TNamespace>;\r\n ChannelSelectMenu(\r\n cfg: TDBIChannelSelectMenuOmitted<TNamespace>\r\n ): DBIChannelSelectMenu<TNamespace>;\r\n MentionableSelectMenu(\r\n cfg: TDBIMentionableSelectMenuOmitted<TNamespace>\r\n ): DBIMentionableSelectMenu<TNamespace>;\r\n MessageContextMenu(\r\n cfg: TDBIMessageContextMenuOmitted<TNamespace>\r\n ): DBIMessageContextMenu<TNamespace>;\r\n UserContextMenu(\r\n cfg: TDBIUserContextMenuOmitted<TNamespace>\r\n ): DBIUserContextMenu<TNamespace>;\r\n InteractionLocale(cfg: TDBIInteractionLocaleOmitted): DBIInteractionLocale;\r\n Modal(cfg: TDBIModalOmitted<TNamespace>): DBIModal<TNamespace>;\r\n CustomEvent<T extends keyof NamespaceData[TNamespace][\"customEvents\"]>(\r\n cfg: TDBICustomEventOmitted<TNamespace, T>\r\n ): DBICustomEvent<TNamespace, T>;\r\n onUnload(cb: () => Promise<any> | any): any;\r\n}\r\n\r\nexport class DBI<\r\n TNamespace extends NamespaceEnums,\r\n TOtherData = Record<string, any>\r\n> {\r\n namespace: TNamespace;\r\n config: DBIConfig;\r\n data: {\r\n interactions: Discord.Collection<string, TDBIInteractions<TNamespace>>;\r\n events: Discord.Collection<string, DBIEvent<TNamespace>>;\r\n locales: Discord.Collection<string, DBILocale<TNamespace>>;\r\n interactionLocales: Discord.Collection<string, DBIInteractionLocale>;\r\n other: TOtherData;\r\n eventMap: Record<string, string[] | { [k: string]: string }>;\r\n customEventNames: Set<string>;\r\n unloaders: Set<() => void>;\r\n registers: Set<(...args: any[]) => any>;\r\n registerUnloaders: Set<(...args: any[]) => any>;\r\n refs: Map<string, { at: number; value: any; ttl?: number }>;\r\n clients: DBIClientData<TNamespace>[] & {\r\n next(key?: string): DBIClientData<TNamespace>;\r\n random(): DBIClientData<TNamespace>;\r\n random(size: number): DBIClientData<TNamespace>[];\r\n first(): DBIClientData<TNamespace>;\r\n get(\r\n namespace: NamespaceData[TNamespace][\"clientNamespaces\"]\r\n ): DBIClientData<TNamespace>;\r\n indexes: Record<string, number>;\r\n };\r\n };\r\n events: Events<TNamespace>;\r\n cluster?: Sharding.ClusterClient<Discord.Client>;\r\n private _loaded: boolean;\r\n private _hooked: boolean;\r\n constructor(namespace: TNamespace, config: DBIConfigConstructor) {\r\n this.namespace = namespace as any;\r\n const self = this;\r\n\r\n config.store = (config.store as any) || new MemoryStore();\r\n config.defaults = {\r\n locale: \"en\",\r\n defaultMemberPermissions: [],\r\n directMessages: false,\r\n ...(config.defaults || {}),\r\n messageCommands: {\r\n deferReplyContent: \"Loading...\",\r\n ...(config.defaults?.messageCommands || {}),\r\n },\r\n };\r\n config.sharding = config.sharding ?? \"off\";\r\n config.strict = config.strict ?? true;\r\n config.references = {\r\n autoClear: undefined,\r\n ...(config.references || {}),\r\n };\r\n\r\n if (config.messageCommands) {\r\n if (config.strict && !config.messageCommands?.prefixes?.length)\r\n throw new Error(\"No message command prefixes provided.\");\r\n\r\n let { typeAliases } = config.messageCommands;\r\n\r\n config.messageCommands.typeAliases = {\r\n booleans: typeAliases.booleans ?? {\r\n true: true,\r\n false: false,\r\n yes: true,\r\n no: false,\r\n y: true,\r\n n: false,\r\n \"1\": true,\r\n \"0\": false,\r\n },\r\n };\r\n }\r\n\r\n // @ts-ignore\r\n this.config = config;\r\n\r\n this.data = {\r\n interactions: new Discord.Collection(),\r\n events: new Discord.Collection(),\r\n locales: new Discord.Collection(),\r\n interactionLocales: new Discord.Collection(),\r\n other: (config.data?.other as any) ?? ({} as TOtherData),\r\n eventMap: { ...eventMap },\r\n customEventNames: new Set(),\r\n unloaders: new Set(),\r\n registers: new Set(),\r\n registerUnloaders: new Set(),\r\n refs: config.data?.refs ?? new Map(),\r\n clients: Object.assign([], {\r\n next(key = \"global\") {\r\n this.indexes[key] = ((this.indexes[key] ?? -1) + 1) % this.length;\r\n return this[this.indexes[key]];\r\n },\r\n random(size?: number) {\r\n if (typeof size === \"number\") {\r\n return this.sort(() => Math.random() - 0.5).slice(0, size);\r\n } else {\r\n return this[Math.floor(Math.random() * this.length)];\r\n }\r\n },\r\n first() {\r\n return this[0];\r\n },\r\n get(namespace: string) {\r\n return this.find((i: any) => i.namespace === namespace);\r\n },\r\n indexes: {},\r\n }) as any,\r\n };\r\n\r\n this.events = new Events(this as any);\r\n\r\n config.discord = Array.isArray(config.discord)\r\n ? config.discord\r\n : [\r\n {\r\n token: config.discord.token,\r\n options: config.discord.options,\r\n namespace: \"default\",\r\n },\r\n ];\r\n\r\n this.data.clients.push(...(config.discord as any));\r\n for (let clientContext of this.data.clients) {\r\n let client = new Discord.Client({\r\n ...((clientContext.options || {}) as any),\r\n ...(config.sharding == \"hybrid\"\r\n ? {\r\n shards: Sharding.getInfo().SHARD_LIST,\r\n shardCount: Sharding.getInfo().TOTAL_SHARDS,\r\n }\r\n : {}),\r\n });\r\n clientContext.client = client as Discord.Client<true>;\r\n }\r\n\r\n if (this.data.clients.length === 0) throw new Error(\"No clients provided.\");\r\n if (\r\n this.data.clients.length !== 1 &&\r\n !(config.sharding && config.sharding === \"off\")\r\n )\r\n throw new Error(\"Sharding only supports 1 client.\");\r\n\r\n this.cluster =\r\n config.sharding == \"hybrid\"\r\n ? new Sharding.ClusterClient(this.data.clients[0].client)\r\n : undefined;\r\n this._loaded = false;\r\n this._hooked = false;\r\n }\r\n\r\n private async _hookListeners() {\r\n if (this._hooked) return;\r\n const self = this;\r\n this._hooked = true;\r\n this.data.unloaders.add(hookInteractionListeners(this as any));\r\n this.data.unloaders.add(hookEventListeners(this as any));\r\n if (typeof this.config.references.autoClear !== \"undefined\") {\r\n this.data.unloaders.add(\r\n (() => {\r\n let interval = setInterval(() => {\r\n this.data.refs.forEach(({ at, ttl }, key) => {\r\n if (\r\n Date.now() >\r\n at + (ttl || this.config.references.autoClear.ttl)\r\n ) {\r\n this.data.refs.delete(key);\r\n }\r\n });\r\n }, this.config.references.autoClear.check);\r\n return () => {\r\n clearInterval(interval);\r\n };\r\n })()\r\n );\r\n }\r\n if (typeof this.config.messageCommands !== \"undefined\") {\r\n this.data.unloaders.add(\r\n (() => {\r\n const { client } = this.client();\r\n\r\n function onMessage(message: Discord.Message) {\r\n handleMessageCommands(self as any, message);\r\n }\r\n\r\n client.on(\"messageCreate\", onMessage);\r\n return () => {\r\n client.off(\"messageCreate\", onMessage);\r\n };\r\n })()\r\n );\r\n }\r\n }\r\n\r\n private async _unhookListeners() {\r\n if (!this._hooked) return;\r\n this._hooked = false;\r\n this.data.unloaders.forEach((f) => {\r\n f();\r\n });\r\n this.data.unloaders.clear();\r\n }\r\n\r\n private async _unregisterAll() {\r\n for await (const cb of this.data.registerUnloaders) {\r\n await cb();\r\n }\r\n this.data.events.clear();\r\n this.data.interactions.clear();\r\n this.data.interactionLocales.clear();\r\n this.data.locales.clear();\r\n this.data.registerUnloaders.clear();\r\n this.data.refs.clear();\r\n\r\n this.data.customEventNames.forEach((value) => {\r\n delete this.data.eventMap[value];\r\n });\r\n this.data.customEventNames.clear();\r\n }\r\n\r\n private async _registerAll(flags: string[] = []) {\r\n const self = this;\r\n const ChatInputOptions = new DBIChatInputOptions(self);\r\n\r\n for await (const cb of this.data.registers) {\r\n let ChatInput = function (cfg: DBIChatInput<TNamespace>) {\r\n let dbiChatInput = new DBIChatInput(self, cfg);\r\n if (self.data.interactions.has(dbiChatInput.name))\r\n throw new Error(\r\n `DBIChatInput \"${dbiChatInput.name}\" already loaded as \"${\r\n self.data.interactions.get(dbiChatInput.name)?.type\r\n }\"!`\r\n );\r\n if (!cfg.flag || flags.includes(\"all\") || flags.includes(cfg.flag)) self.data.interactions.set(dbiChatInput.name, dbiChatInput);\r\n return dbiChatInput;\r\n };\r\n ChatInput = Object.assign(\r\n ChatInput,\r\n class {\r\n constructor(...args: any[]) {\r\n return ChatInput.apply(this, args as any);\r\n }\r\n }\r\n );\r\n\r\n let Event = function (cfg: TDBIEventOmitted<TNamespace>) {\r\n let dbiEvent = new DBIEvent(self as any, cfg);\r\n if (\r\n self.config.strict &&\r\n self.data.events.has(dbiEvent.id || dbiEvent.name)\r\n )\r\n throw new Error(\r\n `DBIEvent \"${dbiEvent.id || dbiEvent.name}\" already loaded!`\r\n );\r\n if (!cfg.flag || flags.includes(\"all\") || flags.includes(cfg.flag)) self.data.events.set(dbiEvent.id || dbiEvent.name, dbiEvent);\r\n return dbiEvent;\r\n };\r\n Event = Object.assign(\r\n Event,\r\n class {\r\n constructor(...args: any[]) {\r\n return Event.apply(this, args as any);\r\n }\r\n }\r\n );\r\n\r\n let Button = function (cfg: TDBIButtonOmitted<TNamespace>) {\r\n let dbiButton = new DBIButton(self as any, cfg);\r\n if (self.config.strict && self.data.interactions.has(dbiButton.name))\r\n throw new Error(\r\n `DBIButton \"${dbiButton.name}\" already loaded as \"${\r\n self.data.interactions.get(dbiButton.name)?.type\r\n }\"!`\r\n );\r\n if (!cfg.flag || flags.includes(\"all\") || flags.includes(cfg.flag)) self.data.interactions.set(dbiButton.name, dbiButton as any);\r\n return dbiButton;\r\n };\r\n Button = Object.assign(\r\n Button,\r\n class {\r\n constructor(...args: any[]) {\r\n return Button.apply(this, args as any);\r\n }\r\n }\r\n );\r\n\r\n let StringSelectMenu = function (\r\n cfg: TDBIStringSelectMenuOmitted<TNamespace>\r\n ) {\r\n let dbiStringSelectMenu = new DBIStringSelectMenu(self as any, cfg);\r\n if (\r\n self.config.strict &&\r\n self.data.interactions.has(dbiStringSelectMenu.name)\r\n )\r\n throw new Error(\r\n `DBIStringSelectMenu \"${\r\n dbiStringSelectMenu.name\r\n }\" already loaded as \"${\r\n self.data.interactions.get(dbiStringSelectMenu.name)?.type\r\n }\"!`\r\n );\r\n if (!cfg.flag || flags.includes(\"all\") || flags.includes(cfg.flag)) self.data.interactions.set(\r\n dbiStringSelectMenu.name,\r\n dbiStringSelectMenu as any\r\n );\r\n return dbiStringSelectMenu;\r\n };\r\n StringSelectMenu = Object.assign(\r\n StringSelectMenu,\r\n class {\r\n constructor(...args: any[]) {\r\n return StringSelectMenu.apply(this, args as any);\r\n }\r\n }\r\n );\r\n\r\n let UserSelectMenu = function (\r\n cfg: TDBIUserSelectMenuOmitted<TNamespace>\r\n ) {\r\n let dbiUserSelectMenu = new DBIUserSelectMenu(self as any, cfg);\r\n if (\r\n self.config.strict &&\r\n self.data.interactions.has(dbiUserSelectMenu.name)\r\n )\r\n throw new Error(\r\n `DBIUserSelectMenu \"${dbiUserSelectMenu.name}\" already loaded as \"${\r\n self.data.interactions.get(dbiUserSelectMenu.name)?.type\r\n }\"!`\r\n );\r\n if (!cfg.flag || flags.includes(\"all\") || flags.includes(cfg.flag)) self.data.interactions.set(\r\n dbiUserSelectMenu.name,\r\n dbiUserSelectMenu as any\r\n );\r\n return dbiUserSelectMenu;\r\n };\r\n UserSelectMenu = Object.assign(\r\n UserSelectMenu,\r\n class {\r\n constructor(...args: any[]) {\r\n return UserSelectMenu.apply(this, args as any);\r\n }\r\n }\r\n );\r\n\r\n let RoleSelectMenu = function (\r\n cfg: TDBIRoleSelectMenuOmitted<TNamespace>\r\n ) {\r\n let dbiRoleSelectMenu = new DBIRoleSelectMenu(self as any, cfg);\r\n if (\r\n self.config.strict &&\r\n self.data.interactions.has(dbiRoleSelectMenu.name)\r\n )\r\n throw new Error(\r\n `DBIRoleSelectMenu \"${dbiRoleSelectMenu.name}\" already loaded as \"${\r\n self.data.interactions.get(dbiRoleSelectMenu.name)?.type\r\n }\"!`\r\n );\r\n if (!cfg.flag || flags.includes(\"all\") || flags.includes(cfg.flag)) self.data.interactions.set(\r\n dbiRoleSelectMenu.name,\r\n dbiRoleSelectMenu as any\r\n );\r\n return dbiRoleSelectMenu;\r\n };\r\n RoleSelectMenu = Object.assign(\r\n RoleSelectMenu,\r\n class {\r\n constructor(...args: any[]) {\r\n return RoleSelectMenu.apply(this, args as any);\r\n }\r\n }\r\n );\r\n\r\n let ChannelSelectMenu = function (\r\n cfg: TDBIChannelSelectMenuOmitted<TNamespace>\r\n ) {\r\n let dbiChannelSelectMenu = new DBIChannelSelectMenu(self as any, cfg);\r\n if (\r\n self.config.strict &&\r\n self.data.interactions.has(dbiChannelSelectMenu.name)\r\n )\r\n throw new Error(\r\n `DBIChannelSelectMenu \"${\r\n dbiChannelSelectMenu.name\r\n }\" already loaded as \"${\r\n self.data.interactions.get(dbiChannelSelectMenu.name)?.type\r\n }\"!`\r\n );\r\n if (!cfg.flag || flags.includes(\"all\") || flags.includes(cfg.flag)) self.data.interactions.set(\r\n dbiChannelSelectMenu.name,\r\n dbiChannelSelectMenu as any\r\n );\r\n return dbiChannelSelectMenu;\r\n };\r\n ChannelSelectMenu = Object.assign(\r\n ChannelSelectMenu,\r\n class {\r\n constructor(...args: any[]) {\r\n return ChannelSelectMenu.apply(this, args as any);\r\n }\r\n }\r\n );\r\n\r\n let MentionableSelectMenu = function (\r\n cfg: TDBIMentionableSelectMenuOmitted<TNamespace>\r\n ) {\r\n let dbiMentionableSelectMenu = new DBIMentionableSelectMenu(\r\n self as any,\r\n cfg\r\n );\r\n if (\r\n self.config.strict &&\r\n self.data.interactions.has(dbiMentionableSelectMenu.name)\r\n )\r\n throw new Error(\r\n `DBIMentionableSelectMenu \"${\r\n dbiMentionableSelectMenu.name\r\n }\" already loaded as \"${\r\n self.data.interactions.get(dbiMentionableSelectMenu.name)?.type\r\n }\"!`\r\n );\r\n if (!cfg.flag || flags.includes(\"all\") || flags.includes(cfg.flag)) self.data.interactions.set(\r\n dbiMentionableSelectMenu.name,\r\n dbiMentionableSelectMenu as any\r\n );\r\n return dbiMentionableSelectMenu;\r\n };\r\n MentionableSelectMenu = Object.assign(\r\n MentionableSelectMenu,\r\n class {\r\n constructor(...args: any[]) {\r\n return MentionableSelectMenu.apply(this, args as any);\r\n }\r\n }\r\n );\r\n\r\n let MessageContextMenu = function (\r\n cfg: TDBIMessageContextMenuOmitted<TNamespace>\r\n ) {\r\n let dbiMessageContextMenu = new DBIMessageContextMenu(self as any, cfg);\r\n if (\r\n self.config.strict &&\r\n self.data.interactions.has(dbiMessageContextMenu.name)\r\n )\r\n throw new Error(\r\n `DBIMessageContextMenu \"${\r\n dbiMessageContextMenu.name\r\n }\" already loaded as \"${\r\n self.data.interactions.get(dbiMessageContextMenu.name)?.type\r\n }\"!`\r\n );\r\n if (!cfg.flag || flags.includes(\"all\") || flags.includes(cfg.flag)) self.data.interactions.set(\r\n dbiMessageContextMenu.name,\r\n dbiMessageContextMenu as any\r\n );\r\n return dbiMessageContextMenu;\r\n };\r\n MessageContextMenu = Object.assign(\r\n MessageContextMenu,\r\n class {\r\n constructor(...args: any[]) {\r\n return MessageContextMenu.apply(this, args as any);\r\n }\r\n }\r\n );\r\n\r\n let UserContextMenu = function (\r\n cfg: TDBIUserContextMenuOmitted<TNamespace>\r\n ) {\r\n let dbiUserContextMenu = new DBIUserContextMenu(self as any, cfg);\r\n if (\r\n self.config.strict &&\r\n self.data.interactions.has(dbiUserContextMenu.name)\r\n )\r\n throw new Error(\r\n `DBIUserContextMenu \"${\r\n dbiUserContextMenu.name\r\n }\" already loaded as \"${\r\n self.data.interactions.get(dbiUserContextMenu.name)?.type\r\n }\"!`\r\n );\r\n if (!cfg.flag || flags.includes(\"all\") || flags.includes(cfg.flag)) self.data.interactions.set(\r\n dbiUserContextMenu.name,\r\n dbiUserContextMenu as any\r\n );\r\n return dbiUserContextMenu;\r\n };\r\n UserContextMenu = Object.assign(\r\n UserContextMenu,\r\n class {\r\n constructor(...args: any[]) {\r\n return UserContextMenu.apply(this, args as any);\r\n }\r\n }\r\n );\r\n\r\n let Modal = function (cfg: TDBIModalOmitted<TNamespace>) {\r\n let dbiModal = new DBIModal(self as any, cfg);\r\n if (self.config.strict && self.data.interactions.has(dbiModal.name))\r\n throw new Error(\r\n `DBIModal \"${dbiModal.name}\" already loaded as \"${\r\n self.data.interactions.get(dbiModal.name)?.type\r\n }\"!`\r\n );\r\n if (!cfg.flag || flags.includes(\"all\") || flags.includes(cfg.flag)) self.data.interactions.set(dbiModal.name, dbiModal as any);\r\n return dbiModal;\r\n };\r\n Modal = Object.assign(\r\n Modal,\r\n class {\r\n constructor(...args: any[]) {\r\n return Modal.apply(this, args as any);\r\n }\r\n }\r\n );\r\n\r\n let Locale = function (cfg: TDBILocaleConstructor<TNamespace>) {\r\n let dbiLocale = new DBILocale(self as any, cfg);\r\n if (\r\n self.config.strict &&\r\n self.data.interactionLocales.has(dbiLocale.name)\r\n )\r\n throw new Error(`DBILocale \"${dbiLocale.name}\" already loaded!`);\r\n if (self.data.locales.has(dbiLocale.name))\r\n dbiLocale.mergeLocale(self.data.locales.get(dbiLocale.name));\r\n if (!cfg.flag || flags.includes(\"all\") || flags.includes(cfg.flag)) self.data.locales.set(dbiLocale.name, dbiLocale);\r\n return dbiLocale;\r\n };\r\n Locale = Object.assign(\r\n Locale,\r\n class {\r\n constructor(...args: any[]) {\r\n return Locale.apply(this, args as any);\r\n }\r\n }\r\n );\r\n\r\n let CustomEvent = function (cfg: TDBICustomEventOmitted<TNamespace>) {\r\n let dbiCustomEvent = new DBICustomEvent(self, cfg) as any;\r\n if (self.config.strict && self.data.eventMap[dbiCustomEvent.name])\r\n throw new Error(\r\n `DBICustomEvent \"${dbiCustomEvent.name}\" already loaded!`\r\n );\r\n self.data.eventMap[dbiCustomEvent.name] = dbiCustomEvent.map;\r\n self.data.customEventNames.add(dbiCustomEvent.name);\r\n return dbiCustomEvent;\r\n };\r\n CustomEvent = Object.assign(\r\n CustomEvent,\r\n class {\r\n constructor(...args: any[]) {\r\n return CustomEvent.apply(this, args as any);\r\n }\r\n }\r\n );\r\n\r\n let InteractionLocale = function (cfg: TDBIInteractionLocaleOmitted) {\r\n let dbiInteractionLocale = new DBIInteractionLocale(self, cfg);\r\n if (\r\n self.config.strict &&\r\n self.data.interactionLocales.has(dbiInteractionLocale.name)\r\n )\r\n throw new Error(\r\n `DBIInteractionLocale \"${dbiInteractionLocale.name}\" already loaded!`\r\n );\r\n if (!cfg.flag || flags.includes(\"all\") || flags.includes(cfg.flag)) self.data.interactionLocales.set(\r\n dbiInteractionLocale.name,\r\n dbiInteractionLocale\r\n );\r\n return dbiInteractionLocale;\r\n };\r\n InteractionLocale = Object.assign(\r\n InteractionLocale,\r\n class {\r\n constructor(...args: any[]) {\r\n return InteractionLocale.apply(this, args as any);\r\n }\r\n }\r\n );\r\n\r\n await cb({\r\n ChatInput,\r\n Event,\r\n ChatInputOptions,\r\n Locale,\r\n Button,\r\n StringSelectMenu,\r\n UserSelectMenu,\r\n RoleSelectMenu,\r\n ChannelSelectMenu,\r\n MentionableSelectMenu,\r\n MessageContextMenu,\r\n UserContextMenu,\r\n CustomEvent,\r\n Modal,\r\n InteractionLocale,\r\n onUnload(cb: () => Promise<any> | any) {\r\n self.data.registerUnloaders.add(cb);\r\n },\r\n });\r\n }\r\n self.data.interactions.sort((a, b) => b.name.length - a.name.length);\r\n }\r\n\r\n emit<\r\n TEventName extends keyof (NamespaceData[TNamespace][\"customEvents\"] &\r\n ClientEvents)\r\n >(\r\n name: TEventName,\r\n args: (NamespaceData[TNamespace][\"customEvents\"] & ClientEvents)[TEventName]\r\n ): void {\r\n this.data.clients.forEach((d) =>\r\n d.client.emit(name as any, { ...args, _DIRECT_: true } as any)\r\n );\r\n }\r\n\r\n /**\r\n * this.data.interactions.get(name)\r\n */\r\n interaction<\r\n TInteractionName extends keyof NamespaceData[TNamespace][\"interactionMapping\"]\r\n >(\r\n name: TInteractionName\r\n ): NamespaceData[TNamespace][\"interactionMapping\"][TInteractionName] {\r\n return this.data.interactions.get(name as any) as any;\r\n }\r\n\r\n client<TClientName extends NamespaceData[TNamespace][\"clientNamespaces\"]>(\r\n name?: TClientName\r\n ): DBIClientData<TNamespace> {\r\n return name ? this.data.clients.get(name) : this.data.clients.first();\r\n }\r\n /**\r\n * this.data.events.get(name)\r\n */\r\n event<TEventName extends NamespaceData[TNamespace][\"eventNames\"]>(\r\n name: TEventName\r\n ): DBIEvent<TNamespace> {\r\n return this.data.events.get(name);\r\n }\r\n\r\n /**\r\n * this.data.locales.get(name)\r\n */\r\n locale<TLocaleName extends NamespaceData[TNamespace][\"localeNames\"]>(\r\n name: TLocaleName\r\n ): DBILocale<TNamespace> {\r\n return this.data.locales.get(name) as any;\r\n }\r\n\r\n /**\r\n * Shorthands for modifying `dbi.data.other`\r\n */\r\n get<K extends keyof TOtherData>(\r\n k: K,\r\n defaultValue?: TOtherData[K]\r\n ): TOtherData[K] {\r\n if (defaultValue && !this.has(k as any)) {\r\n this.set(k, defaultValue);\r\n return defaultValue;\r\n }\r\n return _.get(this.data.other, k);\r\n }\r\n\r\n /**\r\n * Shorthands for modifying `dbi.data.other`\r\n */\r\n set<K extends keyof TOtherData>(k: K, v: TOtherData[K]): any {\r\n this.data.other = _.set(this.data.other as any, k, v);\r\n }\r\n\r\n /**\r\n * Shorthands for modifying `dbi.data.other`\r\n */\r\n has(k: string): boolean {\r\n return _.has(this.data.other, k as any);\r\n }\r\n\r\n /**\r\n * Shorthands for modifying `dbi.data.other`\r\n */\r\n delete(k: string): boolean {\r\n return _.unset(this.data.other, k);\r\n }\r\n\r\n async login(): Promise<any> {\r\n await aaq.quickForEach(this.data.clients, async (clientContext) => {\r\n await clientContext.client.login(\r\n this.config.sharding == \"default\" ? null : clientContext.token\r\n );\r\n });\r\n }\r\n\r\n async register(cb: (api: DBIRegisterAPI<TNamespace>) => void): Promise<any> {\r\n this.data.registers.add(cb);\r\n }\r\n\r\n async load(...flags: string[]): Promise<boolean> {\r\n if (this._loaded) return false;\r\n await this._registerAll(flags);\r\n await this._hookListeners();\r\n this._loaded = true;\r\n return true;\r\n }\r\n\r\n async unload(): Promise<boolean> {\r\n if (!this._loaded) return false;\r\n await this._unregisterAll();\r\n await this._unhookListeners();\r\n this._loaded = false;\r\n return true;\r\n }\r\n\r\n get loaded(): boolean {\r\n return this._loaded;\r\n }\r\n\r\n async publish(type: \"Global\", clear?: boolean): Promise<any>;\r\n async publish(type: \"Guild\", guildId: string, clear?: boolean): Promise<any>;\r\n\r\n async publish(...args: any[]) {\r\n let interactions = this.data.interactions.filter(\r\n (i) =>\r\n i.type == \"ChatInput\" ||\r\n i.type == \"MessageContextMenu\" ||\r\n i.type == \"UserContextMenu\"\r\n ) as any;\r\n switch (args[0]) {\r\n case \"Global\": {\r\n return await publishInteractions(\r\n this.data.clients,\r\n args[1] ? new Discord.Collection() : interactions,\r\n this.data.interactionLocales,\r\n args[0]\r\n );\r\n }\r\n case \"Guild\": {\r\n return await publishInteractions(\r\n this.data.clients,\r\n args[2] ? new Discord.Collection() : interactions,\r\n this.data.interactionLocales,\r\n args[0],\r\n args[1]\r\n );\r\n }\r\n }\r\n }\r\n}\r\n"]}
@@ -10,15 +10,15 @@ async function publishInteractions(clients, interactions, interactionsLocales, p
10
10
  interactions = interactions.filter(i => PUBLISHABLE_TYPES.includes(i.type));
11
11
  interactions = interactions.sort((a, b) => b.name.split(" ").length - a.name.split(" ").length);
12
12
  let body = interactions.reduce((all, current) => {
13
- if (current.publish && !all[current.publish.to])
14
- all[current.publish.to] = [];
13
+ if (current.publish && !all[current.publish])
14
+ all[current.publish] = [];
15
15
  switch (current.type) {
16
16
  case "ChatInput": {
17
17
  let nameSplitted = current.name.split(" ");
18
18
  let localeData = formatLocale(interactionsLocales.get(current.name) ?? {});
19
19
  switch (nameSplitted.length) {
20
20
  case 1: {
21
- all[current.publish.to].push({
21
+ all[current.publish].push({
22
22
  type: v9_1.ApplicationCommandType.ChatInput,
23
23
  description: current.description,
24
24
  name: nameSplitted[0],
@@ -31,7 +31,7 @@ async function publishInteractions(clients, interactions, interactionsLocales, p
31
31
  break;
32
32
  }
33
33
  case 2: {
34
- let baseItem = all[current.publish.to].find(i => i.name == current.name.split(" ")[0] && i.type == v9_1.ApplicationCommandType.ChatInput);
34
+ let baseItem = all[current.publish].find(i => i.name == current.name.split(" ")[0] && i.type == v9_1.ApplicationCommandType.ChatInput);
35
35
  let localeData = formatLocale(interactionsLocales.get(current.name) ?? {});
36
36
  let option = {
37
37
  type: v9_1.ApplicationCommandOptionType.Subcommand,
@@ -43,7 +43,7 @@ async function publishInteractions(clients, interactions, interactionsLocales, p
43
43
  description_localizations: localeData.descriptionLocales,
44
44
  };
45
45
  if (!baseItem) {
46
- all[current.publish.to].push({
46
+ all[current.publish].push({
47
47
  type: v9_1.ApplicationCommandType.ChatInput,
48
48
  name: nameSplitted[0],
49
49
  default_member_permissions: (0, permissions_1.reducePermissions)(current.defaultMemberPermissions).toString(),
@@ -60,10 +60,10 @@ async function publishInteractions(clients, interactions, interactionsLocales, p
60
60
  break;
61
61
  }
62
62
  case 3: {
63
- let level1Item = all[current.publish.to].find(i => i.name == current.name.split(" ")[0] && i.type == v9_1.ApplicationCommandType.ChatInput);
63
+ let level1Item = all[current.publish].find(i => i.name == current.name.split(" ")[0] && i.type == v9_1.ApplicationCommandType.ChatInput);
64
64
  let localeData = formatLocale(interactionsLocales.get(current.name) ?? {});
65
65
  if (!level1Item) {
66
- all[current.publish.to].push({
66
+ all[current.publish].push({
67
67
  type: v9_1.ApplicationCommandType.ChatInput,
68
68
  name: nameSplitted[0],
69
69
  name_localizations: localeData.nameLocales(0),
@@ -130,7 +130,7 @@ async function publishInteractions(clients, interactions, interactionsLocales, p
130
130
  }
131
131
  case "MessageContextMenu": {
132
132
  let localeData = formatLocale(interactionsLocales.get(current.name) ?? {});
133
- all[current.publish.to].push({
133
+ all[current.publish].push({
134
134
  type: v9_1.ApplicationCommandType.Message,
135
135
  name: current.name,
136
136
  default_member_permissions: (0, permissions_1.reducePermissions)(current.defaultMemberPermissions).toString(),
@@ -142,7 +142,7 @@ async function publishInteractions(clients, interactions, interactionsLocales, p
142
142
  }
143
143
  case "UserContextMenu": {
144
144
  let localeData = formatLocale(interactionsLocales.get(current.name) ?? {});
145
- all[current.publish.to].push({
145
+ all[current.publish].push({
146
146
  type: v9_1.ApplicationCommandType.User,
147
147
  name: current.name,
148
148
  default_member_permissions: (0, permissions_1.reducePermissions)(current.defaultMemberPermissions).toString(),