@mostfeatured/dbi 0.0.2 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. package/package.json +3 -2
  2. package/src/DBI.ts +1 -1
  3. package/dist/src/DBI.d.ts +0 -78
  4. package/dist/src/DBI.d.ts.map +0 -1
  5. package/dist/src/DBI.js +0 -202
  6. package/dist/src/DBI.js.map +0 -1
  7. package/dist/src/Events.d.ts +0 -29
  8. package/dist/src/Events.d.ts.map +0 -1
  9. package/dist/src/Events.js +0 -51
  10. package/dist/src/Events.js.map +0 -1
  11. package/dist/src/data/eventMap.json +0 -234
  12. package/dist/src/index.d.ts +0 -4
  13. package/dist/src/index.d.ts.map +0 -1
  14. package/dist/src/index.js +0 -11
  15. package/dist/src/index.js.map +0 -1
  16. package/dist/src/methods/hookEventListeners.d.ts +0 -3
  17. package/dist/src/methods/hookEventListeners.d.ts.map +0 -1
  18. package/dist/src/methods/hookEventListeners.js +0 -34
  19. package/dist/src/methods/hookEventListeners.js.map +0 -1
  20. package/dist/src/methods/hookInteractionListeners.d.ts +0 -3
  21. package/dist/src/methods/hookInteractionListeners.d.ts.map +0 -1
  22. package/dist/src/methods/hookInteractionListeners.js +0 -97
  23. package/dist/src/methods/hookInteractionListeners.js.map +0 -1
  24. package/dist/src/methods/publishInteractions.d.ts +0 -4
  25. package/dist/src/methods/publishInteractions.d.ts.map +0 -1
  26. package/dist/src/methods/publishInteractions.js +0 -150
  27. package/dist/src/methods/publishInteractions.js.map +0 -1
  28. package/dist/src/types/Button.d.ts +0 -19
  29. package/dist/src/types/Button.d.ts.map +0 -1
  30. package/dist/src/types/Button.js +0 -27
  31. package/dist/src/types/Button.js.map +0 -1
  32. package/dist/src/types/ChatInput/ChatInput.d.ts +0 -15
  33. package/dist/src/types/ChatInput/ChatInput.d.ts.map +0 -1
  34. package/dist/src/types/ChatInput/ChatInput.js +0 -19
  35. package/dist/src/types/ChatInput/ChatInput.js.map +0 -1
  36. package/dist/src/types/ChatInput/ChatInputOptions.d.ts +0 -153
  37. package/dist/src/types/ChatInput/ChatInputOptions.d.ts.map +0 -1
  38. package/dist/src/types/ChatInput/ChatInputOptions.js +0 -149
  39. package/dist/src/types/ChatInput/ChatInputOptions.js.map +0 -1
  40. package/dist/src/types/Event.d.ts +0 -257
  41. package/dist/src/types/Event.d.ts.map +0 -1
  42. package/dist/src/types/Event.js +0 -21
  43. package/dist/src/types/Event.js.map +0 -1
  44. package/dist/src/types/Interaction.d.ts +0 -34
  45. package/dist/src/types/Interaction.d.ts.map +0 -1
  46. package/dist/src/types/Interaction.js +0 -25
  47. package/dist/src/types/Interaction.js.map +0 -1
  48. package/dist/src/types/Locale.d.ts +0 -19
  49. package/dist/src/types/Locale.d.ts.map +0 -1
  50. package/dist/src/types/Locale.js +0 -31
  51. package/dist/src/types/Locale.js.map +0 -1
  52. package/dist/src/types/MessageContextMenu.d.ts +0 -14
  53. package/dist/src/types/MessageContextMenu.d.ts.map +0 -1
  54. package/dist/src/types/MessageContextMenu.js +0 -17
  55. package/dist/src/types/MessageContextMenu.js.map +0 -1
  56. package/dist/src/types/Modal.d.ts +0 -19
  57. package/dist/src/types/Modal.d.ts.map +0 -1
  58. package/dist/src/types/Modal.js +0 -24
  59. package/dist/src/types/Modal.js.map +0 -1
  60. package/dist/src/types/SelectMenu.d.ts +0 -19
  61. package/dist/src/types/SelectMenu.d.ts.map +0 -1
  62. package/dist/src/types/SelectMenu.js +0 -27
  63. package/dist/src/types/SelectMenu.js.map +0 -1
  64. package/dist/src/types/UserContextMenu.d.ts +0 -14
  65. package/dist/src/types/UserContextMenu.d.ts.map +0 -1
  66. package/dist/src/types/UserContextMenu.js +0 -17
  67. package/dist/src/types/UserContextMenu.js.map +0 -1
  68. package/dist/src/utils/MemoryStore.d.ts +0 -9
  69. package/dist/src/utils/MemoryStore.d.ts.map +0 -1
  70. package/dist/src/utils/MemoryStore.js +0 -30
  71. package/dist/src/utils/MemoryStore.js.map +0 -1
  72. package/dist/src/utils/customId.d.ts +0 -7
  73. package/dist/src/utils/customId.d.ts.map +0 -1
  74. package/dist/src/utils/customId.js +0 -44
  75. package/dist/src/utils/customId.js.map +0 -1
  76. package/dist/src/utils/permissions.d.ts +0 -3
  77. package/dist/src/utils/permissions.d.ts.map +0 -1
  78. package/dist/src/utils/permissions.js +0 -9
  79. package/dist/src/utils/permissions.js.map +0 -1
  80. package/dist/src/utils/recursiveImport.d.ts +0 -2
  81. package/dist/src/utils/recursiveImport.d.ts.map +0 -1
  82. package/dist/src/utils/recursiveImport.js +0 -20
  83. package/dist/src/utils/recursiveImport.js.map +0 -1
  84. package/dist/test/commands/hello world.d.ts +0 -2
  85. package/dist/test/commands/hello world.d.ts.map +0 -1
  86. package/dist/test/commands/hello world.js +0 -46
  87. package/dist/test/commands/hello world.js.map +0 -1
  88. package/dist/test/commands/stuff.d.ts +0 -2
  89. package/dist/test/commands/stuff.d.ts.map +0 -1
  90. package/dist/test/commands/stuff.js +0 -22
  91. package/dist/test/commands/stuff.js.map +0 -1
  92. package/dist/test/index.d.ts +0 -2
  93. package/dist/test/index.d.ts.map +0 -1
  94. package/dist/test/index.js +0 -33
  95. package/dist/test/index.js.map +0 -1
  96. package/dist/test/publish.d.ts +0 -2
  97. package/dist/test/publish.d.ts.map +0 -1
  98. package/dist/test/publish.js +0 -5
  99. package/dist/test/publish.js.map +0 -1
  100. package/dist/test/things/test.d.ts +0 -2
  101. package/dist/test/things/test.d.ts.map +0 -1
  102. package/dist/test/things/test.js +0 -84
  103. package/dist/test/things/test.js.map +0 -1
package/package.json CHANGED
@@ -10,13 +10,14 @@
10
10
  "stuffs": "^0.1.17"
11
11
  },
12
12
  "name": "@mostfeatured/dbi",
13
- "version": "0.0.2",
13
+ "version": "0.0.5",
14
14
  "main": "dist/src/index.js",
15
15
  "type": "commonjs",
16
16
  "private": false,
17
17
  "scripts": {
18
18
  "test": "npx tsc && node dist/test",
19
- "build": "npx tsc"
19
+ "build": "npx tsc",
20
+ "prepublish": "npx tsc"
20
21
  },
21
22
  "repository": {
22
23
  "type": "git",
package/src/DBI.ts CHANGED
@@ -191,7 +191,7 @@ export class DBI {
191
191
  };
192
192
  Locale = Object.assign(Locale, class { constructor(...args) { return Locale.call(this, ...args); } });
193
193
 
194
- return await cb({
194
+ await cb({
195
195
  ChatInput,
196
196
  Event,
197
197
  ChatInputOptions: DBIChatInputOptions,
package/dist/src/DBI.d.ts DELETED
@@ -1,78 +0,0 @@
1
- import Discord from "discord.js";
2
- import { DBIChatInput, TDBIChatInputOmitted } from "./types/ChatInput/ChatInput";
3
- import { DBIChatInputOptions } from "./types/ChatInput/ChatInputOptions";
4
- import { DBIEvent, TDBIEventOmitted } from "./types/Event";
5
- import { Events } from "./Events";
6
- import { DBILocale, TDBILocaleConstructor, TDBILocaleString } from "./types/Locale";
7
- import { DBIButton, TDBIButtonOmitted } from "./types/Button";
8
- import { DBISelectMenu, TDBISelectMenuOmitted } from "./types/SelectMenu";
9
- import { DBIMessageContextMenu, TDBIMessageContextMenuOmitted } from "./types/MessageContextMenu";
10
- import { DBIUserContextMenu, TDBIUserContextMenuOmitted } from "./types/UserContextMenu";
11
- import { DBIModal, TDBIModalOmitted } from "./types/Modal";
12
- export interface DBIConfig {
13
- discord: {
14
- token: string;
15
- options?: Discord.ClientOptions;
16
- };
17
- defaults?: {
18
- locale?: TDBILocaleString;
19
- directMessages?: boolean;
20
- defaultMemberPermissions?: Discord.PermissionsString[];
21
- };
22
- sharding?: {
23
- clusterCount: "auto" | number;
24
- shardCountPerCluster: number;
25
- };
26
- store?: {
27
- get(key: string, defaultValue?: any): Promise<any>;
28
- set(key: string, value: any): Promise<void>;
29
- del(key: string): Promise<void>;
30
- has(key: string): Promise<boolean>;
31
- };
32
- }
33
- export interface DBIRegisterAPI {
34
- ChatInput(cfg: TDBIChatInputOmitted): DBIChatInput;
35
- ChatInputOptions: typeof DBIChatInputOptions;
36
- Event(cfg: TDBIEventOmitted): DBIEvent;
37
- Locale(cfg: TDBILocaleConstructor): DBILocale;
38
- Button(cfg: TDBIButtonOmitted): DBIButton;
39
- SelectMenu(cfg: TDBISelectMenuOmitted): DBISelectMenu;
40
- MessageContextMenu(cfg: TDBIMessageContextMenuOmitted): DBIMessageContextMenu;
41
- UserContextMenu(cfg: TDBIUserContextMenuOmitted): DBIUserContextMenu;
42
- Modal(cfg: TDBIModalOmitted): DBIModal;
43
- onUnload(cb: () => Promise<any>): any;
44
- }
45
- export declare class DBI {
46
- namespace: string;
47
- config: DBIConfig;
48
- client: Discord.Client<true>;
49
- data: {
50
- interactions: Discord.Collection<string, DBIChatInput | DBIButton | DBISelectMenu | DBIMessageContextMenu | DBIUserContextMenu | DBIModal>;
51
- events: Discord.Collection<string, DBIEvent>;
52
- plugins: Discord.Collection<string, any>;
53
- locales: Discord.Collection<string, DBILocale>;
54
- other: Record<string, any>;
55
- eventMap: Record<string, string[]>;
56
- unloaders: Set<() => void>;
57
- registers: Set<(...args: any[]) => any>;
58
- registerUnloaders: Set<(...args: any[]) => any>;
59
- refs: Map<string, {
60
- at: number;
61
- value: any;
62
- }>;
63
- };
64
- events: Events;
65
- private _loaded;
66
- constructor(namespace: string, config: DBIConfig);
67
- private _hookListeners;
68
- private _unregisterAll;
69
- private _registerAll;
70
- login(): Promise<any>;
71
- register(cb: (api: DBIRegisterAPI) => void): Promise<any>;
72
- load(): Promise<boolean>;
73
- unload(): Promise<boolean>;
74
- get loaded(): boolean;
75
- publish(type: "Global", clear?: boolean): Promise<any>;
76
- publish(type: "Guild", guildId: string, clear?: boolean): Promise<any>;
77
- }
78
- //# sourceMappingURL=DBI.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DBI.d.ts","sourceRoot":"","sources":["../../src/DBI.ts"],"names":[],"mappings":"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"}
package/dist/src/DBI.js DELETED
@@ -1,202 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DBI = void 0;
4
- const tslib_1 = require("tslib");
5
- const discord_js_1 = tslib_1.__importDefault(require("discord.js"));
6
- const ChatInput_1 = require("./types/ChatInput/ChatInput");
7
- const ChatInputOptions_1 = require("./types/ChatInput/ChatInputOptions");
8
- const publishInteractions_1 = require("./methods/publishInteractions");
9
- const Event_1 = require("./types/Event");
10
- const MemoryStore_1 = require("./utils/MemoryStore");
11
- const hookInteractionListeners_1 = require("./methods/hookInteractionListeners");
12
- const Events_1 = require("./Events");
13
- const Locale_1 = require("./types/Locale");
14
- const Button_1 = require("./types/Button");
15
- const SelectMenu_1 = require("./types/SelectMenu");
16
- const MessageContextMenu_1 = require("./types/MessageContextMenu");
17
- const UserContextMenu_1 = require("./types/UserContextMenu");
18
- const hookEventListeners_1 = require("./methods/hookEventListeners");
19
- const eventMap_json_1 = tslib_1.__importDefault(require("./data/eventMap.json"));
20
- const Modal_1 = require("./types/Modal");
21
- class DBI {
22
- namespace;
23
- config;
24
- client;
25
- data;
26
- events;
27
- _loaded;
28
- constructor(namespace, config) {
29
- this.namespace = namespace;
30
- config.store = config.store || new MemoryStore_1.MemoryStore();
31
- config.defaults = {
32
- locale: "en",
33
- defaultMemberPermissions: [],
34
- directMessages: false,
35
- ...(config.defaults || {})
36
- };
37
- this.config = config;
38
- this.data = {
39
- interactions: new discord_js_1.default.Collection(),
40
- events: new discord_js_1.default.Collection(),
41
- plugins: new discord_js_1.default.Collection(),
42
- locales: new discord_js_1.default.Collection(),
43
- other: {},
44
- eventMap: eventMap_json_1.default,
45
- unloaders: new Set(),
46
- registers: new Set(),
47
- registerUnloaders: new Set(),
48
- refs: new Map()
49
- };
50
- this.events = new Events_1.Events(this);
51
- this.client = new discord_js_1.default.Client(config.discord?.options);
52
- this._hookListeners();
53
- this._loaded = false;
54
- }
55
- async _hookListeners() {
56
- this.data.unloaders.add((0, hookInteractionListeners_1.hookInteractionListeners)(this));
57
- this.data.unloaders.add((0, hookEventListeners_1.hookEventListeners)(this));
58
- }
59
- async _unregisterAll() {
60
- for await (const cb of this.data.registerUnloaders) {
61
- await cb();
62
- }
63
- this.data.events.clear();
64
- this.data.interactions.clear();
65
- this.data.plugins.clear();
66
- }
67
- async _registerAll() {
68
- const self = this;
69
- for await (const cb of this.data.registers) {
70
- let ChatInput = function (cfg) {
71
- let dbiChatInput = new ChatInput_1.DBIChatInput(self, cfg);
72
- if (self.data.interactions.has(dbiChatInput.name))
73
- throw new Error(`DBIChatInput "${dbiChatInput.name}" already loaded as "${self.data.interactions.get(dbiChatInput.name).type}"!`);
74
- self.data.interactions.set(dbiChatInput.name, dbiChatInput);
75
- return dbiChatInput;
76
- };
77
- ChatInput = Object.assign(ChatInput, class {
78
- constructor(...args) { return ChatInput.call(this, ...args); }
79
- });
80
- let Event = function (cfg) {
81
- let dbiEvent = new Event_1.DBIEvent(self, cfg);
82
- if (self.data.events.has(dbiEvent.name))
83
- throw new Error(`DBIEvent "${dbiEvent.name}" already loaded!`);
84
- self.data.events.set(dbiEvent.name, dbiEvent);
85
- return dbiEvent;
86
- };
87
- Event = Object.assign(Event, class {
88
- constructor(...args) { return Event.call(this, ...args); }
89
- });
90
- let Button = function (cfg) {
91
- let dbiButton = new Button_1.DBIButton(self, cfg);
92
- if (self.data.interactions.has(dbiButton.name))
93
- throw new Error(`DBIButton "${dbiButton.name}" already loaded as "${self.data.interactions.get(dbiButton.name).type}"!`);
94
- self.data.interactions.set(dbiButton.name, dbiButton);
95
- return dbiButton;
96
- };
97
- Button = Object.assign(Button, class {
98
- constructor(...args) { return Button.call(this, ...args); }
99
- });
100
- let SelectMenu = function (cfg) {
101
- let dbiSelectMenu = new SelectMenu_1.DBISelectMenu(self, cfg);
102
- if (self.data.interactions.has(dbiSelectMenu.name))
103
- throw new Error(`DBISelectMenu "${dbiSelectMenu.name}" already loaded as "${self.data.interactions.get(dbiSelectMenu.name).type}"!`);
104
- self.data.interactions.set(dbiSelectMenu.name, dbiSelectMenu);
105
- return dbiSelectMenu;
106
- };
107
- SelectMenu = Object.assign(SelectMenu, class {
108
- constructor(...args) { return SelectMenu.call(this, ...args); }
109
- });
110
- let MessageContextMenu = function (cfg) {
111
- let dbiMessageContextMenu = new MessageContextMenu_1.DBIMessageContextMenu(self, cfg);
112
- if (self.data.interactions.has(dbiMessageContextMenu.name))
113
- throw new Error(`DBIMessageContextMenu "${dbiMessageContextMenu.name}" already loaded as "${self.data.interactions.get(dbiMessageContextMenu.name).type}"!`);
114
- self.data.interactions.set(dbiMessageContextMenu.name, dbiMessageContextMenu);
115
- return dbiMessageContextMenu;
116
- };
117
- MessageContextMenu = Object.assign(MessageContextMenu, class {
118
- constructor(...args) { return MessageContextMenu.call(this, ...args); }
119
- });
120
- let UserContextMenu = function (cfg) {
121
- let dbiUserContextMenu = new UserContextMenu_1.DBIUserContextMenu(self, cfg);
122
- if (self.data.interactions.has(dbiUserContextMenu.name))
123
- throw new Error(`DBIUserContextMenu "${dbiUserContextMenu.name}" already loaded as "${self.data.interactions.get(dbiUserContextMenu.name).type}"!`);
124
- self.data.interactions.set(dbiUserContextMenu.name, dbiUserContextMenu);
125
- return dbiUserContextMenu;
126
- };
127
- UserContextMenu = Object.assign(UserContextMenu, class {
128
- constructor(...args) { return UserContextMenu.call(this, ...args); }
129
- });
130
- let Modal = function (cfg) {
131
- let dbiModal = new Modal_1.DBIModal(self, cfg);
132
- if (self.data.interactions.has(dbiModal.name))
133
- throw new Error(`DBIModal "${dbiModal.name}" already loaded as "${self.data.interactions.get(dbiModal.name).type}"!`);
134
- self.data.interactions.set(dbiModal.name, dbiModal);
135
- return dbiModal;
136
- };
137
- Modal = Object.assign(Modal, class {
138
- constructor(...args) { return Modal.call(this, ...args); }
139
- });
140
- let Locale = function (cfg) {
141
- let dbiLocale = new Locale_1.DBILocale(self, cfg);
142
- if (self.data.locales.has(dbiLocale.name))
143
- throw new Error(`DBILocale "${dbiLocale.name}" already loaded!`);
144
- self.data.locales.set(dbiLocale.name, dbiLocale);
145
- return dbiLocale;
146
- };
147
- Locale = Object.assign(Locale, class {
148
- constructor(...args) { return Locale.call(this, ...args); }
149
- });
150
- return await cb({
151
- ChatInput,
152
- Event,
153
- ChatInputOptions: ChatInputOptions_1.DBIChatInputOptions,
154
- Locale,
155
- Button,
156
- SelectMenu,
157
- MessageContextMenu,
158
- UserContextMenu,
159
- Modal,
160
- onUnload(cb) {
161
- self.data.registerUnloaders.add(cb);
162
- },
163
- });
164
- }
165
- }
166
- async login() {
167
- await this.client.login(this.config.discord.token);
168
- }
169
- async register(cb) {
170
- this.data.registers.add(cb);
171
- }
172
- async load() {
173
- if (this._loaded)
174
- return false;
175
- await this._registerAll();
176
- this._loaded = true;
177
- return true;
178
- }
179
- async unload() {
180
- if (!this._loaded)
181
- return false;
182
- await this._unregisterAll();
183
- this._loaded = false;
184
- return true;
185
- }
186
- get loaded() {
187
- return this._loaded;
188
- }
189
- async publish(...args) {
190
- let interactions = this.data.interactions.filter(i => i.type == "ChatInput" || i.type == "MessageContextMenu" || i.type == "UserContextMenu");
191
- switch (args[0]) {
192
- case "Global": {
193
- return await (0, publishInteractions_1.publishInteractions)(this.config.discord.token, args[1] ? new discord_js_1.default.Collection() : interactions, args[0]);
194
- }
195
- case "Guild": {
196
- return await (0, publishInteractions_1.publishInteractions)(this.config.discord.token, args[2] ? new discord_js_1.default.Collection() : interactions, args[0], args[1]);
197
- }
198
- }
199
- }
200
- }
201
- exports.DBI = DBI;
202
- //# sourceMappingURL=DBI.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DBI.js","sourceRoot":"","sources":["../../src/DBI.ts"],"names":[],"mappings":"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","sourcesContent":["import Discord from \"discord.js\";\r\nimport { DBIChatInput, TDBIChatInputOmitted } from \"./types/ChatInput/ChatInput\";\r\nimport { DBIChatInputOptions } from \"./types/ChatInput/ChatInputOptions\";\r\nimport { publishInteractions } from \"./methods/publishInteractions\";\r\nimport { DBIEvent, TDBIEventOmitted } from \"./types/Event\";\r\nimport { MemoryStore } from \"./utils/MemoryStore\";\r\nimport { hookInteractionListeners } from \"./methods/hookInteractionListeners\";\r\nimport { Events } from \"./Events\";\r\nimport { DBILocale, TDBILocaleConstructor, TDBILocaleString } from \"./types/Locale\";\r\nimport { DBIButton, TDBIButtonOmitted } from \"./types/Button\";\r\nimport { DBISelectMenu, TDBISelectMenuOmitted } from \"./types/SelectMenu\";\r\nimport { DBIMessageContextMenu, TDBIMessageContextMenuOmitted } from \"./types/MessageContextMenu\";\r\nimport { DBIUserContextMenu, TDBIUserContextMenuOmitted } from \"./types/UserContextMenu\";\r\nimport { hookEventListeners } from \"./methods/hookEventListeners\";\r\nimport eventMap from \"./data/eventMap.json\";\r\nimport { DBIModal, TDBIModalOmitted } from \"./types/Modal\";\r\n\r\nexport interface DBIConfig {\r\n discord: {\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 sharding?: {\r\n clusterCount: \"auto\" | number,\r\n shardCountPerCluster: number\r\n }\r\n\r\n store?: {\r\n get(key: string, defaultValue?: any): Promise<any>;\r\n set(key: string, value: any): Promise<void>;\r\n del(key: string): Promise<void>;\r\n has(key: string): Promise<boolean>;\r\n }\r\n}\r\n\r\nexport interface DBIRegisterAPI {\r\n ChatInput(cfg: TDBIChatInputOmitted): DBIChatInput;\r\n ChatInputOptions: typeof DBIChatInputOptions;\r\n Event(cfg: TDBIEventOmitted): DBIEvent;\r\n Locale(cfg: TDBILocaleConstructor): DBILocale;\r\n Button(cfg: TDBIButtonOmitted): DBIButton;\r\n SelectMenu(cfg: TDBISelectMenuOmitted): DBISelectMenu;\r\n MessageContextMenu(cfg: TDBIMessageContextMenuOmitted): DBIMessageContextMenu;\r\n UserContextMenu(cfg: TDBIUserContextMenuOmitted): DBIUserContextMenu;\r\n Modal(cfg: TDBIModalOmitted): DBIModal;\r\n onUnload(cb: ()=>Promise<any>);\r\n}\r\n\r\nexport class DBI {\r\n namespace: string;\r\n config: DBIConfig;\r\n client: Discord.Client<true>;\r\n data: {\r\n interactions: Discord.Collection<string, DBIChatInput | DBIButton | DBISelectMenu | DBIMessageContextMenu | DBIUserContextMenu | DBIModal>;\r\n events: Discord.Collection<string, DBIEvent>;\r\n plugins: Discord.Collection<string, any>;\r\n locales: Discord.Collection<string, DBILocale>;\r\n other: Record<string, any>;\r\n eventMap: Record<string, 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 }>;\r\n };\r\n events: Events;\r\n private _loaded: boolean;\r\n constructor(namespace: string, config: DBIConfig) {\r\n this.namespace = namespace;\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 };\r\n\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 plugins: new Discord.Collection(),\r\n locales: new Discord.Collection(),\r\n other: {},\r\n eventMap,\r\n unloaders: new Set(),\r\n registers: new Set(),\r\n registerUnloaders: new Set(),\r\n refs: new Map()\r\n }\r\n\r\n this.events = new Events(this);\r\n this.client = new Discord.Client(config.discord?.options);\r\n this._hookListeners();\r\n this._loaded = false;\r\n }\r\n\r\n private async _hookListeners() {\r\n this.data.unloaders.add(hookInteractionListeners(this));\r\n this.data.unloaders.add(hookEventListeners(this));\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.plugins.clear();\r\n }\r\n\r\n private async _registerAll() {\r\n const self = this;\r\n\r\n for await (const cb of this.data.registers) {\r\n let ChatInput = function(cfg: DBIChatInput) {\r\n let dbiChatInput = new DBIChatInput(self, cfg);\r\n if (self.data.interactions.has(dbiChatInput.name)) throw new Error(`DBIChatInput \"${dbiChatInput.name}\" already loaded as \"${self.data.interactions.get(dbiChatInput.name).type}\"!`);\r\n self.data.interactions.set(dbiChatInput.name, dbiChatInput);\r\n return dbiChatInput;\r\n };\r\n ChatInput = Object.assign(ChatInput, class { constructor(...args) { return ChatInput.call(this, ...args); } });\r\n\r\n let Event = function(cfg: TDBIEventOmitted) {\r\n let dbiEvent = new DBIEvent(self, cfg);\r\n if (self.data.events.has(dbiEvent.name)) throw new Error(`DBIEvent \"${dbiEvent.name}\" already loaded!`);\r\n self.data.events.set(dbiEvent.name, dbiEvent);\r\n return dbiEvent;\r\n };\r\n Event = Object.assign(Event, class { constructor(...args) { return Event.call(this, ...args); } });\r\n\r\n let Button = function(cfg: TDBIButtonOmitted) {\r\n let dbiButton = new DBIButton(self, cfg);\r\n if (self.data.interactions.has(dbiButton.name)) throw new Error(`DBIButton \"${dbiButton.name}\" already loaded as \"${self.data.interactions.get(dbiButton.name).type}\"!`);\r\n self.data.interactions.set(dbiButton.name, dbiButton);\r\n return dbiButton;\r\n };\r\n Button = Object.assign(Button, class { constructor(...args) { return Button.call(this, ...args); } });\r\n\r\n let SelectMenu = function(cfg: TDBISelectMenuOmitted) {\r\n let dbiSelectMenu = new DBISelectMenu(self, cfg);\r\n if (self.data.interactions.has(dbiSelectMenu.name)) throw new Error(`DBISelectMenu \"${dbiSelectMenu.name}\" already loaded as \"${self.data.interactions.get(dbiSelectMenu.name).type}\"!`);\r\n self.data.interactions.set(dbiSelectMenu.name, dbiSelectMenu);\r\n return dbiSelectMenu;\r\n };\r\n SelectMenu = Object.assign(SelectMenu, class { constructor(...args) { return SelectMenu.call(this, ...args); } });\r\n\r\n let MessageContextMenu = function(cfg: TDBIMessageContextMenuOmitted) {\r\n let dbiMessageContextMenu = new DBIMessageContextMenu(self, cfg);\r\n if (self.data.interactions.has(dbiMessageContextMenu.name)) throw new Error(`DBIMessageContextMenu \"${dbiMessageContextMenu.name}\" already loaded as \"${self.data.interactions.get(dbiMessageContextMenu.name).type}\"!`);\r\n self.data.interactions.set(dbiMessageContextMenu.name, dbiMessageContextMenu);\r\n return dbiMessageContextMenu;\r\n };\r\n MessageContextMenu = Object.assign(MessageContextMenu, class { constructor(...args) { return MessageContextMenu.call(this, ...args); } });\r\n\r\n let UserContextMenu = function(cfg: TDBIUserContextMenuOmitted) {\r\n let dbiUserContextMenu = new DBIUserContextMenu(self, cfg);\r\n if (self.data.interactions.has(dbiUserContextMenu.name)) throw new Error(`DBIUserContextMenu \"${dbiUserContextMenu.name}\" already loaded as \"${self.data.interactions.get(dbiUserContextMenu.name).type}\"!`);\r\n self.data.interactions.set(dbiUserContextMenu.name, dbiUserContextMenu);\r\n return dbiUserContextMenu;\r\n };\r\n UserContextMenu = Object.assign(UserContextMenu, class { constructor(...args) { return UserContextMenu.call(this, ...args); } });\r\n\r\n let Modal = function(cfg: TDBIModalOmitted) {\r\n let dbiModal = new DBIModal(self, cfg);\r\n if (self.data.interactions.has(dbiModal.name)) throw new Error(`DBIModal \"${dbiModal.name}\" already loaded as \"${self.data.interactions.get(dbiModal.name).type}\"!`);\r\n self.data.interactions.set(dbiModal.name, dbiModal);\r\n return dbiModal;\r\n };\r\n Modal = Object.assign(Modal, class { constructor(...args) { return Modal.call(this, ...args); } });\r\n\r\n\r\n let Locale = function(cfg: TDBILocaleConstructor) {\r\n let dbiLocale = new DBILocale(self, cfg);\r\n if (self.data.locales.has(dbiLocale.name)) throw new Error(`DBILocale \"${dbiLocale.name}\" already loaded!`);\r\n self.data.locales.set(dbiLocale.name, dbiLocale);\r\n return dbiLocale;\r\n };\r\n Locale = Object.assign(Locale, class { constructor(...args) { return Locale.call(this, ...args); } });\r\n\r\n return await cb({\r\n ChatInput,\r\n Event,\r\n ChatInputOptions: DBIChatInputOptions,\r\n Locale,\r\n Button,\r\n SelectMenu,\r\n MessageContextMenu,\r\n UserContextMenu,\r\n Modal,\r\n onUnload(cb) {\r\n self.data.registerUnloaders.add(cb);\r\n },\r\n });\r\n }\r\n }\r\n\r\n async login(): Promise<any> {\r\n await this.client.login(this.config.discord.token);\r\n }\r\n\r\n async register(cb: (api: DBIRegisterAPI) => 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 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 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) {\r\n let interactions = this.data.interactions.filter(i => i.type == \"ChatInput\" || i.type == \"MessageContextMenu\" || i.type == \"UserContextMenu\") as any;\r\n switch (args[0]) {\r\n case \"Global\": {\r\n return await publishInteractions(\r\n this.config.discord.token,\r\n args[1] ? new Discord.Collection() : interactions,\r\n args[0]\r\n );\r\n }\r\n case \"Guild\": {\r\n return await publishInteractions(\r\n this.config.discord.token,\r\n args[2] ? new Discord.Collection() : interactions,\r\n args[0],\r\n args[1]\r\n );\r\n }\r\n }\r\n }\r\n\r\n \r\n}"]}
@@ -1,29 +0,0 @@
1
- import { DBI } from "./DBI";
2
- import { IDBIBaseExecuteCtx, TDBIRateLimitTypes } from "./types/Interaction";
3
- export declare type TDBIEventNames = "beforeInteraction" | "afterInteraction" | "interactionRateLimit" | "beforeEvent" | "afterEvent";
4
- export declare class Events {
5
- DBI: DBI;
6
- handlers: Record<string, Array<(data: any) => boolean | Promise<boolean>>>;
7
- constructor(DBI: DBI);
8
- trigger(name: TDBIEventNames, data: any): Promise<boolean>;
9
- on(eventName: "beforeInteraction" | "afterInteraction", handler: (data: IDBIBaseExecuteCtx) => Promise<boolean> | boolean, options?: {
10
- once: boolean;
11
- }): (() => any);
12
- on(eventName: "beforeEvent" | "afterEvent", handler: (data: {
13
- [key: string]: any;
14
- other: Record<string, any>;
15
- }) => Promise<boolean> | boolean, options?: {
16
- once: boolean;
17
- }): (() => any);
18
- on(eventName: "interactionRateLimit", handler: (data: Omit<IDBIBaseExecuteCtx, "other" | "setRateLimit"> & {
19
- rateLimit: {
20
- type: TDBIRateLimitTypes;
21
- duration: number;
22
- at: number;
23
- };
24
- }) => Promise<boolean> | boolean, options?: {
25
- once: boolean;
26
- }): (() => any);
27
- off(eventName: TDBIEventNames, handler: (data: any) => Promise<boolean> | boolean): void;
28
- }
29
- //# sourceMappingURL=Events.d.ts.map
@@ -1 +0,0 @@
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,51 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Events = void 0;
4
- class Events {
5
- DBI;
6
- handlers;
7
- constructor(DBI) {
8
- this.DBI = DBI;
9
- this.handlers = {
10
- beforeInteraction: [],
11
- afterInteraction: [],
12
- interactionRateLimit: [],
13
- beforeEvent: [],
14
- afterEvent: []
15
- };
16
- }
17
- async trigger(name, data) {
18
- let handlers = this.handlers[name];
19
- for (let i = 0; i < handlers.length; i++) {
20
- const handler = handlers[i];
21
- let returned = await handler(data);
22
- if (returned !== true)
23
- return false;
24
- }
25
- return true;
26
- }
27
- on(eventName, handler, options = { once: false }) {
28
- if (options.once) {
29
- let h = (data) => {
30
- this.off(eventName, h);
31
- return handler(data);
32
- };
33
- this.on(eventName, h, { once: false });
34
- return () => {
35
- this.off(eventName, h);
36
- };
37
- }
38
- else {
39
- this.handlers[eventName].push(handler);
40
- return () => {
41
- this.off(eventName, handler);
42
- };
43
- }
44
- }
45
- off(eventName, handler) {
46
- let l = this.handlers[eventName];
47
- l.splice(l.indexOf(handler), 1);
48
- }
49
- }
50
- exports.Events = Events;
51
- //# sourceMappingURL=Events.js.map
@@ -1 +0,0 @@
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}"]}