@mostfeatured/dbi 0.1.28 → 0.1.29

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/.gitattributes +2 -2
  2. package/.hintrc +7 -7
  3. package/.vscode/settings.json +2 -2
  4. package/LICENSE +674 -674
  5. package/dist/DBI.d.ts +4 -4
  6. package/dist/DBI.d.ts.map +1 -1
  7. package/dist/DBI.js.map +1 -1
  8. package/dist/Events.js.map +1 -1
  9. package/dist/index.d.ts +1 -1
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js.map +1 -1
  12. package/dist/methods/handleMessageCommands.js.map +1 -1
  13. package/dist/methods/hookEventListeners.js.map +1 -1
  14. package/dist/methods/hookInteractionListeners.js.map +1 -1
  15. package/dist/methods/publishInteractions.js.map +1 -1
  16. package/dist/types/ApplicationRoleConnectionMetadata.js.map +1 -1
  17. package/dist/types/Builders/ButtonBuilder.js.map +1 -1
  18. package/dist/types/Builders/ChannelSelectMenuBuilder.js.map +1 -1
  19. package/dist/types/Builders/MentionableSelectMenuBuilder.js.map +1 -1
  20. package/dist/types/Builders/ModalBuilder.js.map +1 -1
  21. package/dist/types/Builders/RoleSelectMenuBuilder.js.map +1 -1
  22. package/dist/types/Builders/StringSelectMenuBuilder.js.map +1 -1
  23. package/dist/types/Builders/UserSelectMenuBuilder.js.map +1 -1
  24. package/dist/types/ChatInput/ChatInput.js.map +1 -1
  25. package/dist/types/ChatInput/ChatInputOptions.d.ts +16 -16
  26. package/dist/types/ChatInput/ChatInputOptions.d.ts.map +1 -1
  27. package/dist/types/ChatInput/ChatInputOptions.js.map +1 -1
  28. package/dist/types/Components/Button.js.map +1 -1
  29. package/dist/types/Components/ChannelSelectMenu.js.map +1 -1
  30. package/dist/types/Components/MentionableSelectMenu.js.map +1 -1
  31. package/dist/types/Components/Modal.js.map +1 -1
  32. package/dist/types/Components/RoleSelectMenu.js.map +1 -1
  33. package/dist/types/Components/StringSelectMenu.js.map +1 -1
  34. package/dist/types/Components/UserSelectMenu.js.map +1 -1
  35. package/dist/types/Event.js.map +1 -1
  36. package/dist/types/Interaction.js.map +1 -1
  37. package/dist/types/other/CustomEvent.js.map +1 -1
  38. package/dist/types/other/FakeMessageInteraction.js.map +1 -1
  39. package/dist/types/other/InteractionLocale.js.map +1 -1
  40. package/dist/types/other/Locale.js.map +1 -1
  41. package/dist/types/other/MessageContextMenu.js.map +1 -1
  42. package/dist/types/other/UserContextMenu.js.map +1 -1
  43. package/dist/utils/MemoryStore.js.map +1 -1
  44. package/dist/utils/UtilTypes.js.map +1 -1
  45. package/dist/utils/customId.js.map +1 -1
  46. package/dist/utils/permissions.js.map +1 -1
  47. package/dist/utils/recursiveImport.js.map +1 -1
  48. package/dist/utils/recursiveUnload.js.map +1 -1
  49. package/dist/utils/unloadModule.js.map +1 -1
  50. package/examples/modal/dbi.js +29 -29
  51. package/examples/modal/login.js +14 -14
  52. package/examples/modal/package.json +15 -15
  53. package/examples/modal/publish.js +12 -12
  54. package/examples/modal/src/chatInput.js +37 -37
  55. package/examples/modal/src/components.js +32 -32
  56. package/examples/modal/src/event.js +19 -19
  57. package/examples/modal/src/interactionlocales.js +23 -23
  58. package/examples/modal/src/locales.js +37 -37
  59. package/examples/modal/src/modal.js +27 -27
  60. package/generated/namespaceData.d.ts +14 -14
  61. package/package.json +2 -2
  62. package/readme.md +591 -591
  63. package/src/DBI.ts +1090 -1090
  64. package/src/Events.ts +189 -189
  65. package/src/data/eventMap.json +247 -247
  66. package/src/index.ts +23 -23
  67. package/src/methods/handleMessageCommands.ts +482 -482
  68. package/src/methods/hookEventListeners.ts +118 -118
  69. package/src/methods/hookInteractionListeners.ts +260 -260
  70. package/src/methods/publishInteractions.ts +255 -255
  71. package/src/types/ApplicationRoleConnectionMetadata.ts +19 -19
  72. package/src/types/Builders/ButtonBuilder.ts +52 -52
  73. package/src/types/Builders/ChannelSelectMenuBuilder.ts +52 -52
  74. package/src/types/Builders/MentionableSelectMenuBuilder.ts +52 -52
  75. package/src/types/Builders/ModalBuilder.ts +52 -52
  76. package/src/types/Builders/RoleSelectMenuBuilder.ts +52 -52
  77. package/src/types/Builders/StringSelectMenuBuilder.ts +52 -52
  78. package/src/types/Builders/UserSelectMenuBuilder.ts +52 -52
  79. package/src/types/ChatInput/ChatInput.ts +27 -27
  80. package/src/types/ChatInput/ChatInputOptions.ts +388 -388
  81. package/src/types/Components/Button.ts +38 -38
  82. package/src/types/Components/ChannelSelectMenu.ts +42 -42
  83. package/src/types/Components/MentionableSelectMenu.ts +42 -42
  84. package/src/types/Components/Modal.ts +45 -45
  85. package/src/types/Components/RoleSelectMenu.ts +42 -42
  86. package/src/types/Components/StringSelectMenu.ts +42 -42
  87. package/src/types/Components/UserSelectMenu.ts +42 -42
  88. package/src/types/Event.ts +144 -144
  89. package/src/types/Interaction.ts +96 -96
  90. package/src/types/other/CustomEvent.ts +18 -18
  91. package/src/types/other/FakeMessageInteraction.ts +407 -407
  92. package/src/types/other/InteractionLocale.ts +33 -33
  93. package/src/types/other/Locale.ts +69 -69
  94. package/src/types/other/MessageContextMenu.ts +26 -26
  95. package/src/types/other/UserContextMenu.ts +24 -24
  96. package/src/utils/MemoryStore.ts +27 -27
  97. package/src/utils/UtilTypes.ts +10 -10
  98. package/src/utils/customId.ts +44 -44
  99. package/src/utils/permissions.ts +4 -4
  100. package/src/utils/recursiveImport.ts +22 -22
  101. package/src/utils/recursiveUnload.ts +24 -24
  102. package/src/utils/unloadModule.ts +6 -6
  103. package/tsconfig.json +40 -40
@@ -1,119 +1,119 @@
1
- import { Guild } from "discord.js";
2
- import { NamespaceEnums } from "../../generated/namespaceData";
3
- import { DBI } from "../DBI";
4
- import { TDBIEventOrder } from "../types/Event";
5
-
6
- export function hookEventListeners(dbi: DBI<NamespaceEnums>): () => any {
7
-
8
- function getClientByEvent(value) {
9
- return value.triggerType == "OneByOne"
10
- ? dbi.data.clients.next(`Event:${value.name}`)
11
- : value.triggerType == "OneByOneGlobal"
12
- ? dbi.data.clients.next("Event")
13
- : value.triggerType == "Random"
14
- ? dbi.data.clients.random()
15
- : dbi.data.clients.first();
16
- }
17
-
18
- async function handle(eventName: string, ...args: any[]) {
19
- if (!dbi.data.eventMap[eventName]) return;
20
-
21
- let isDirect = args?.[0]?._DIRECT_ ?? false;
22
- if (isDirect) delete args[0]._DIRECT_;
23
-
24
- let ctxArgs =
25
- isDirect
26
- ? args[0]
27
- : (dbi.data.eventMap[eventName] as any).reduce((all, current, index) => {
28
- all[current] = args[index];
29
- return all;
30
- }, {});
31
-
32
- let other = {};
33
-
34
- let guildLocaleName = args.reduce((all, current) => {
35
- if (current?.guild?.id) return current?.guild?.preferredLocale?.split?.("-")?.[0];
36
- if (current instanceof Guild) return current?.preferredLocale?.split?.("-")?.[0];
37
- return all;
38
- }, null);
39
- let guildLocale = guildLocaleName ? (dbi.data.locales.has(guildLocaleName) ? dbi.data.locales.get(guildLocaleName) : dbi.data.locales.get(dbi.config.defaults.locale.name)) : null;
40
-
41
- let locale = guildLocale ? { guild: guildLocale } : null;
42
-
43
-
44
- let awaitedEvents = [];
45
- let unAwaitedEvents = [];
46
- for (let i = 0; i < dbi.data.events.size; i++) {
47
- const value = dbi.data.events.at(i);
48
- if (value.name == eventName) {
49
- if (value.ordered?.await) {
50
- awaitedEvents.push(value);
51
- } else {
52
- unAwaitedEvents.push(value);
53
- }
54
- }
55
- }
56
-
57
- let arg = { eventName, ...ctxArgs, other, locale };
58
-
59
- for (let i = 0; i < unAwaitedEvents.length; i++) {
60
- const value = unAwaitedEvents[i];
61
-
62
- if (value?.disabled) continue;
63
-
64
- if (value.ordered?.delayBefore) await new Promise(resolve => setTimeout(resolve, value.ordered.delayBefore));
65
-
66
- if (!(await dbi.events.trigger("beforeEvent", { ...arg, dbiEvent: value }))) continue;
67
-
68
- if (dbi.config.strict) {
69
- value.onExecute({ ...arg, nextClient: getClientByEvent(value) });
70
- } else {
71
- try {
72
- value.onExecute({ ...arg, nextClient: getClientByEvent(value) })?.catch(error => {
73
- dbi.events.trigger("eventError", { ...arg, error, dbiEvent: value });
74
- });
75
- } catch (error) {
76
- dbi.events.trigger("eventError", { ...arg, error, dbiEvent: value });
77
- }
78
- }
79
- if (value.ordered?.delayAfter) await new Promise(resolve => setTimeout(resolve, value.ordered.delayAfter));
80
- }
81
-
82
- for (let i = 0; i < awaitedEvents.length; i++) {
83
- const value = awaitedEvents[i];
84
-
85
- if (value?.disabled) continue;
86
-
87
- if (!(await dbi.events.trigger("beforeEvent", { ...arg, dbiEvent: value }))) continue;
88
-
89
- if (value.ordered?.delayBefore) await new Promise(resolve => setTimeout(resolve, value.ordered.delayBefore));
90
-
91
- if (dbi.config.strict) {
92
- await value.onExecute({ ...arg, nextClient: getClientByEvent(value) });
93
- } else {
94
- try {
95
- await value.onExecute({ ...arg, nextClient: getClientByEvent(value) })?.catch(error => {
96
- dbi.events.trigger("eventError", { ...arg, error, dbiEvent: value });
97
- });
98
- } catch (error) {
99
- await dbi.events.trigger("eventError", { ...arg, error, dbiEvent: value });
100
- }
101
- }
102
- if (value.ordered?.delayAfter) await new Promise(resolve => setTimeout(resolve, value.ordered.delayAfter));
103
- }
104
-
105
- dbi.events.trigger("afterEvent", arg)
106
- }
107
-
108
- let firstClient = dbi.data.clients.first().client;
109
- let originalEmit = firstClient.emit;
110
-
111
- firstClient.emit = function (eventName, ...args) {
112
- handle(eventName, ...args);
113
- return originalEmit.call(this, eventName, ...args);
114
- }
115
-
116
- return () => {
117
- firstClient.emit = originalEmit;
118
- }
1
+ import { Guild } from "discord.js";
2
+ import { NamespaceEnums } from "../../generated/namespaceData";
3
+ import { DBI } from "../DBI";
4
+ import { TDBIEventOrder } from "../types/Event";
5
+
6
+ export function hookEventListeners(dbi: DBI<NamespaceEnums>): () => any {
7
+
8
+ function getClientByEvent(value) {
9
+ return value.triggerType == "OneByOne"
10
+ ? dbi.data.clients.next(`Event:${value.name}`)
11
+ : value.triggerType == "OneByOneGlobal"
12
+ ? dbi.data.clients.next("Event")
13
+ : value.triggerType == "Random"
14
+ ? dbi.data.clients.random()
15
+ : dbi.data.clients.first();
16
+ }
17
+
18
+ async function handle(eventName: string, ...args: any[]) {
19
+ if (!dbi.data.eventMap[eventName]) return;
20
+
21
+ let isDirect = args?.[0]?._DIRECT_ ?? false;
22
+ if (isDirect) delete args[0]._DIRECT_;
23
+
24
+ let ctxArgs =
25
+ isDirect
26
+ ? args[0]
27
+ : (dbi.data.eventMap[eventName] as any).reduce((all, current, index) => {
28
+ all[current] = args[index];
29
+ return all;
30
+ }, {});
31
+
32
+ let other = {};
33
+
34
+ let guildLocaleName = args.reduce((all, current) => {
35
+ if (current?.guild?.id) return current?.guild?.preferredLocale?.split?.("-")?.[0];
36
+ if (current instanceof Guild) return current?.preferredLocale?.split?.("-")?.[0];
37
+ return all;
38
+ }, null);
39
+ let guildLocale = guildLocaleName ? (dbi.data.locales.has(guildLocaleName) ? dbi.data.locales.get(guildLocaleName) : dbi.data.locales.get(dbi.config.defaults.locale.name)) : null;
40
+
41
+ let locale = guildLocale ? { guild: guildLocale } : null;
42
+
43
+
44
+ let awaitedEvents = [];
45
+ let unAwaitedEvents = [];
46
+ for (let i = 0; i < dbi.data.events.size; i++) {
47
+ const value = dbi.data.events.at(i);
48
+ if (value.name == eventName) {
49
+ if (value.ordered?.await) {
50
+ awaitedEvents.push(value);
51
+ } else {
52
+ unAwaitedEvents.push(value);
53
+ }
54
+ }
55
+ }
56
+
57
+ let arg = { eventName, ...ctxArgs, other, locale };
58
+
59
+ for (let i = 0; i < unAwaitedEvents.length; i++) {
60
+ const value = unAwaitedEvents[i];
61
+
62
+ if (value?.disabled) continue;
63
+
64
+ if (value.ordered?.delayBefore) await new Promise(resolve => setTimeout(resolve, value.ordered.delayBefore));
65
+
66
+ if (!(await dbi.events.trigger("beforeEvent", { ...arg, dbiEvent: value }))) continue;
67
+
68
+ if (dbi.config.strict) {
69
+ value.onExecute({ ...arg, nextClient: getClientByEvent(value) });
70
+ } else {
71
+ try {
72
+ value.onExecute({ ...arg, nextClient: getClientByEvent(value) })?.catch(error => {
73
+ dbi.events.trigger("eventError", { ...arg, error, dbiEvent: value });
74
+ });
75
+ } catch (error) {
76
+ dbi.events.trigger("eventError", { ...arg, error, dbiEvent: value });
77
+ }
78
+ }
79
+ if (value.ordered?.delayAfter) await new Promise(resolve => setTimeout(resolve, value.ordered.delayAfter));
80
+ }
81
+
82
+ for (let i = 0; i < awaitedEvents.length; i++) {
83
+ const value = awaitedEvents[i];
84
+
85
+ if (value?.disabled) continue;
86
+
87
+ if (!(await dbi.events.trigger("beforeEvent", { ...arg, dbiEvent: value }))) continue;
88
+
89
+ if (value.ordered?.delayBefore) await new Promise(resolve => setTimeout(resolve, value.ordered.delayBefore));
90
+
91
+ if (dbi.config.strict) {
92
+ await value.onExecute({ ...arg, nextClient: getClientByEvent(value) });
93
+ } else {
94
+ try {
95
+ await value.onExecute({ ...arg, nextClient: getClientByEvent(value) })?.catch(error => {
96
+ dbi.events.trigger("eventError", { ...arg, error, dbiEvent: value });
97
+ });
98
+ } catch (error) {
99
+ await dbi.events.trigger("eventError", { ...arg, error, dbiEvent: value });
100
+ }
101
+ }
102
+ if (value.ordered?.delayAfter) await new Promise(resolve => setTimeout(resolve, value.ordered.delayAfter));
103
+ }
104
+
105
+ dbi.events.trigger("afterEvent", arg)
106
+ }
107
+
108
+ let firstClient = dbi.data.clients.first().client;
109
+ let originalEmit = firstClient.emit;
110
+
111
+ firstClient.emit = function (eventName, ...args) {
112
+ handle(eventName, ...args);
113
+ return originalEmit.call(this, eventName, ...args);
114
+ }
115
+
116
+ return () => {
117
+ firstClient.emit = originalEmit;
118
+ }
119
119
  }