xernerx 4.5.6 → 4.5.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.
Files changed (129) hide show
  1. package/dist/build/XernerxContextCommand.d.ts +46 -46
  2. package/dist/build/XernerxContextCommand.d.ts.map +1 -1
  3. package/dist/build/XernerxContextCommand.js +63 -63
  4. package/dist/build/XernerxContextCommand.js.map +1 -1
  5. package/dist/build/XernerxEvent.d.ts +16 -15
  6. package/dist/build/XernerxEvent.d.ts.map +1 -1
  7. package/dist/build/XernerxEvent.js +20 -20
  8. package/dist/build/XernerxEvent.js.map +1 -1
  9. package/dist/build/XernerxInhibitor.d.ts +19 -19
  10. package/dist/build/XernerxInhibitor.d.ts.map +1 -1
  11. package/dist/build/XernerxInhibitor.js +12 -12
  12. package/dist/build/XernerxInhibitor.js.map +1 -1
  13. package/dist/build/XernerxMessageCommand.d.ts +44 -44
  14. package/dist/build/XernerxMessageCommand.d.ts.map +1 -1
  15. package/dist/build/XernerxMessageCommand.js +57 -57
  16. package/dist/build/XernerxMessageCommand.js.map +1 -1
  17. package/dist/build/XernerxSlashCommand.d.ts +56 -56
  18. package/dist/build/XernerxSlashCommand.d.ts.map +1 -1
  19. package/dist/build/XernerxSlashCommand.js +109 -109
  20. package/dist/build/XernerxSlashCommand.js.map +1 -1
  21. package/dist/client/XernerxClient.d.ts +45 -44
  22. package/dist/client/XernerxClient.d.ts.map +1 -1
  23. package/dist/client/XernerxClient.js +74 -73
  24. package/dist/client/XernerxClient.js.map +1 -1
  25. package/dist/client/XernerxShardClient.d.ts +11 -10
  26. package/dist/client/XernerxShardClient.d.ts.map +1 -1
  27. package/dist/client/XernerxShardClient.js +49 -48
  28. package/dist/client/XernerxShardClient.js.map +1 -1
  29. package/dist/functions/deploy.d.ts +1 -0
  30. package/dist/functions/deploy.d.ts.map +1 -1
  31. package/dist/functions/deploy.js +31 -30
  32. package/dist/functions/deploy.js.map +1 -1
  33. package/dist/functions/load.d.ts +1 -0
  34. package/dist/functions/load.d.ts.map +1 -1
  35. package/dist/functions/load.js +28 -27
  36. package/dist/functions/load.js.map +1 -1
  37. package/dist/functions/reload.d.ts +1 -0
  38. package/dist/functions/reload.d.ts.map +1 -1
  39. package/dist/functions/reload.js +35 -34
  40. package/dist/functions/reload.js.map +1 -1
  41. package/dist/functions/sendWebhook.d.ts +1 -0
  42. package/dist/functions/sendWebhook.d.ts.map +1 -1
  43. package/dist/functions/sendWebhook.js +11 -10
  44. package/dist/functions/sendWebhook.js.map +1 -1
  45. package/dist/functions/setPresence.d.ts +1 -0
  46. package/dist/functions/setPresence.d.ts.map +1 -1
  47. package/dist/functions/setPresence.js +18 -17
  48. package/dist/functions/setPresence.js.map +1 -1
  49. package/dist/functions/xernerxUser.d.ts +1 -0
  50. package/dist/functions/xernerxUser.d.ts.map +1 -1
  51. package/dist/functions/xernerxUser.js +6 -8
  52. package/dist/functions/xernerxUser.js.map +1 -1
  53. package/dist/handlers/CommandHandler.d.ts +9 -8
  54. package/dist/handlers/CommandHandler.d.ts.map +1 -1
  55. package/dist/handlers/CommandHandler.js +240 -239
  56. package/dist/handlers/CommandHandler.js.map +1 -1
  57. package/dist/handlers/EventHandler.d.ts +3 -2
  58. package/dist/handlers/EventHandler.d.ts.map +1 -1
  59. package/dist/handlers/EventHandler.js +19 -18
  60. package/dist/handlers/EventHandler.js.map +1 -1
  61. package/dist/handlers/ExtensionHandler.d.ts +3 -2
  62. package/dist/handlers/ExtensionHandler.d.ts.map +1 -1
  63. package/dist/handlers/ExtensionHandler.js +18 -17
  64. package/dist/handlers/ExtensionHandler.js.map +1 -1
  65. package/dist/handlers/Handler.d.ts +8 -7
  66. package/dist/handlers/Handler.d.ts.map +1 -1
  67. package/dist/handlers/Handler.js +32 -31
  68. package/dist/handlers/Handler.js.map +1 -1
  69. package/dist/handlers/InhibitorHandler.d.ts +3 -2
  70. package/dist/handlers/InhibitorHandler.d.ts.map +1 -1
  71. package/dist/handlers/InhibitorHandler.js +19 -18
  72. package/dist/handlers/InhibitorHandler.js.map +1 -1
  73. package/dist/handlers/WebhookHandler.d.ts +4 -3
  74. package/dist/handlers/WebhookHandler.d.ts.map +1 -1
  75. package/dist/handlers/WebhookHandler.js +47 -46
  76. package/dist/handlers/WebhookHandler.js.map +1 -1
  77. package/dist/main.d.ts +27 -26
  78. package/dist/main.d.ts.map +1 -1
  79. package/dist/main.js +27 -26
  80. package/dist/main.js.map +1 -1
  81. package/dist/models/Arguments.d.ts +3 -2
  82. package/dist/models/Arguments.d.ts.map +1 -1
  83. package/dist/models/Arguments.js +135 -134
  84. package/dist/models/Arguments.js.map +1 -1
  85. package/dist/tools/XernerxError.d.ts +5 -4
  86. package/dist/tools/XernerxError.d.ts.map +1 -1
  87. package/dist/tools/XernerxError.js +9 -8
  88. package/dist/tools/XernerxError.js.map +1 -1
  89. package/dist/tools/XernerxLog.d.ts +13 -12
  90. package/dist/tools/XernerxLog.d.ts.map +1 -1
  91. package/dist/tools/XernerxLog.js +76 -80
  92. package/dist/tools/XernerxLog.js.map +1 -1
  93. package/dist/types/extenders.d.ts +43 -12
  94. package/dist/types/extenders.d.ts.map +1 -1
  95. package/dist/types/extenders.js +1 -0
  96. package/dist/types/extenders.js.map +1 -1
  97. package/dist/types/interfaces.d.ts +186 -172
  98. package/dist/types/interfaces.d.ts.map +1 -1
  99. package/dist/types/interfaces.js +1 -0
  100. package/dist/types/interfaces.js.map +1 -1
  101. package/dist/types/types.d.ts +172 -171
  102. package/dist/types/types.d.ts.map +1 -1
  103. package/dist/types/types.js +1 -0
  104. package/dist/types/types.js.map +1 -1
  105. package/dist/utils/ClientUtil.d.ts +13 -6
  106. package/dist/utils/ClientUtil.d.ts.map +1 -1
  107. package/dist/utils/ClientUtil.js +56 -26
  108. package/dist/utils/ClientUtil.js.map +1 -1
  109. package/dist/utils/InteractionUtil.d.ts +10 -5
  110. package/dist/utils/InteractionUtil.d.ts.map +1 -1
  111. package/dist/utils/InteractionUtil.js +97 -8
  112. package/dist/utils/InteractionUtil.js.map +1 -1
  113. package/dist/utils/MessageUtil.d.ts +13 -9
  114. package/dist/utils/MessageUtil.d.ts.map +1 -1
  115. package/dist/utils/MessageUtil.js +130 -37
  116. package/dist/utils/MessageUtil.js.map +1 -1
  117. package/dist/utils/Util.d.ts +4 -3
  118. package/dist/utils/Util.d.ts.map +1 -1
  119. package/dist/utils/Util.js +8 -7
  120. package/dist/utils/Util.js.map +1 -1
  121. package/dist/validators/commandValidation.d.ts +3 -2
  122. package/dist/validators/commandValidation.d.ts.map +1 -1
  123. package/dist/validators/commandValidation.js +43 -42
  124. package/dist/validators/commandValidation.js.map +1 -1
  125. package/dist/validators/inhibitorValidations.d.ts +15 -14
  126. package/dist/validators/inhibitorValidations.d.ts.map +1 -1
  127. package/dist/validators/inhibitorValidations.js +31 -30
  128. package/dist/validators/inhibitorValidations.js.map +1 -1
  129. package/package.json +1 -1
@@ -1,8 +1,9 @@
1
+ /** @format */
1
2
  import XernerxClient from '../client/XernerxClient.js';
2
3
  import { EventHandlerOptions } from '../types/interfaces.js';
3
4
  import Handler from './Handler.js';
4
5
  export default class EventHandler extends Handler {
5
- constructor(client: XernerxClient);
6
- loadEvents(options: EventHandlerOptions): Promise<void>;
6
+ constructor(client: XernerxClient);
7
+ loadEvents(options: EventHandlerOptions): Promise<void>;
7
8
  }
8
9
  //# sourceMappingURL=EventHandler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EventHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/EventHandler.ts"],"names":[],"mappings":"AAIA,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,OAAO,MAAM,cAAc,CAAC;AAInC,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,OAAO;gBACjC,MAAM,EAAE,aAAa;IAIpB,UAAU,CAAC,OAAO,EAAE,mBAAmB;CAqBvD"}
1
+ {"version":3,"file":"EventHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/EventHandler.ts"],"names":[],"mappings":"AAAA,cAAc;AAMd,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,OAAO,MAAM,cAAc,CAAC;AAInC,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,OAAO;gBACpC,MAAM,EAAE,aAAa;IAIpB,UAAU,CAAC,OAAO,EAAE,mBAAmB;CAqBpD"}
@@ -1,26 +1,27 @@
1
+ /** @format */
1
2
  import { z } from 'zod';
2
3
  import * as path from 'path';
3
4
  import Handler from './Handler.js';
4
5
  import XernerxLog from '../tools/XernerxLog.js';
5
6
  import { Style } from 'dumfunctions';
6
7
  export default class EventHandler extends Handler {
7
- constructor(client) {
8
- super(client);
9
- }
10
- async loadEvents(options) {
11
- options = z
12
- .object({
13
- directory: z.string(),
14
- })
15
- .parse(options);
16
- this.client.modules.options.events = options;
17
- const files = this.readdir(options.directory);
18
- for (const file of files) {
19
- const filePath = `${path.resolve(options.directory)}\\${file}`;
20
- const data = await this.load(filePath, 'Event');
21
- this.emit(data);
22
- }
23
- new XernerxLog(this.client).info(`Loaded ${Style.log(String(this.client.events.size), { color: Style.TextColor.Cyan })} Events.`);
24
- }
8
+ constructor(client) {
9
+ super(client);
10
+ }
11
+ async loadEvents(options) {
12
+ options = z
13
+ .object({
14
+ directory: z.string(),
15
+ })
16
+ .parse(options);
17
+ this.client.modules.options.events = options;
18
+ const files = this.readdir(options.directory);
19
+ for (const file of files) {
20
+ const filePath = `${path.resolve(options.directory)}\\${file}`;
21
+ const data = await this.load(filePath, 'Event');
22
+ this.emit(data);
23
+ }
24
+ new XernerxLog(this.client).info(`Loaded ${Style.log(String(this.client.events.size), { color: Style.TextColor.Cyan })} Events.`);
25
+ }
25
26
  }
26
27
  //# sourceMappingURL=EventHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EventHandler.js","sourceRoot":"","sources":["../../src/handlers/EventHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAI7B,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAErC,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,OAAO;IAC7C,YAAY,MAAqB;QAC7B,KAAK,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,OAA4B;QAChD,OAAO,GAAG,CAAC;aACN,MAAM,CAAC;YACJ,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;SACxB,CAAC;aACD,KAAK,CAAC,OAAO,CAAC,CAAC;QAEpB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC;QAE7C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAE9C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACtB,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;YAE/D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAEhD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACnB;QAED,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC;IACtI,CAAC;CACJ","sourcesContent":["import { z } from 'zod';\n\nimport * as path from 'path';\n\nimport XernerxClient from '../client/XernerxClient.js';\nimport { EventHandlerOptions } from '../types/interfaces.js';\nimport Handler from './Handler.js';\nimport XernerxLog from '../tools/XernerxLog.js';\nimport { Style } from 'dumfunctions';\n\nexport default class EventHandler extends Handler {\n constructor(client: XernerxClient) {\n super(client);\n }\n\n public async loadEvents(options: EventHandlerOptions) {\n options = z\n .object({\n directory: z.string(),\n })\n .parse(options);\n\n this.client.modules.options.events = options;\n\n const files = this.readdir(options.directory);\n\n for (const file of files) {\n const filePath = `${path.resolve(options.directory)}\\\\${file}`;\n\n const data = await this.load(filePath, 'Event');\n\n this.emit(data);\n }\n\n new XernerxLog(this.client).info(`Loaded ${Style.log(String(this.client.events.size), { color: Style.TextColor.Cyan })} Events.`);\n }\n}\n"]}
1
+ {"version":3,"file":"EventHandler.js","sourceRoot":"","sources":["../../src/handlers/EventHandler.ts"],"names":[],"mappings":"AAAA,cAAc;AAEd,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAI7B,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAErC,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,OAAO;IAChD,YAAY,MAAqB;QAChC,KAAK,CAAC,MAAM,CAAC,CAAC;IACf,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,OAA4B;QACnD,OAAO,GAAG,CAAC;aACT,MAAM,CAAC;YACP,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;SACrB,CAAC;aACD,KAAK,CAAC,OAAO,CAAC,CAAC;QAEjB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC;QAE7C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAE9C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACzB,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;YAE/D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAEhD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAChB;QAED,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC;IACnI,CAAC;CACD","sourcesContent":["/** @format */\n\nimport { z } from 'zod';\n\nimport * as path from 'path';\n\nimport XernerxClient from '../client/XernerxClient.js';\nimport { EventHandlerOptions } from '../types/interfaces.js';\nimport Handler from './Handler.js';\nimport XernerxLog from '../tools/XernerxLog.js';\nimport { Style } from 'dumfunctions';\n\nexport default class EventHandler extends Handler {\n\tconstructor(client: XernerxClient) {\n\t\tsuper(client);\n\t}\n\n\tpublic async loadEvents(options: EventHandlerOptions) {\n\t\toptions = z\n\t\t\t.object({\n\t\t\t\tdirectory: z.string(),\n\t\t\t})\n\t\t\t.parse(options);\n\n\t\tthis.client.modules.options.events = options;\n\n\t\tconst files = this.readdir(options.directory);\n\n\t\tfor (const file of files) {\n\t\t\tconst filePath = `${path.resolve(options.directory)}\\\\${file}`;\n\n\t\t\tconst data = await this.load(filePath, 'Event');\n\n\t\t\tthis.emit(data);\n\t\t}\n\n\t\tnew XernerxLog(this.client).info(`Loaded ${Style.log(String(this.client.events.size), { color: Style.TextColor.Cyan })} Events.`);\n\t}\n}\n"]}
@@ -1,8 +1,9 @@
1
+ /** @format */
1
2
  import XernerxExtensionBuilder from 'xernerx-extension-builder';
2
3
  import XernerxClient from '../client/XernerxClient.js';
3
4
  import Handler from './Handler.js';
4
5
  export default class ExtensionHandler extends Handler {
5
- constructor(client: XernerxClient);
6
- loadExtensions(...extensions: Array<XernerxExtensionBuilder>): void;
6
+ constructor(client: XernerxClient);
7
+ loadExtensions(...extensions: Array<XernerxExtensionBuilder>): void;
7
8
  }
8
9
  //# sourceMappingURL=ExtensionHandler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExtensionHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/ExtensionHandler.ts"],"names":[],"mappings":"AAAA,OAAO,uBAAuB,MAAM,2BAA2B,CAAC;AAChE,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,OAAO,MAAM,cAAc,CAAC;AAInC,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,OAAO;gBACrC,MAAM,EAAE,aAAa;IAIjC,cAAc,CAAC,GAAG,UAAU,EAAE,KAAK,CAAC,uBAAuB,CAAC;CAiB/D"}
1
+ {"version":3,"file":"ExtensionHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/ExtensionHandler.ts"],"names":[],"mappings":"AAAA,cAAc;AAEd,OAAO,uBAAuB,MAAM,2BAA2B,CAAC;AAChE,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,OAAO,MAAM,cAAc,CAAC;AAInC,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,OAAO;gBACxC,MAAM,EAAE,aAAa;IAIjC,cAAc,CAAC,GAAG,UAAU,EAAE,KAAK,CAAC,uBAAuB,CAAC;CAiB5D"}
@@ -1,23 +1,24 @@
1
+ /** @format */
1
2
  import Handler from './Handler.js';
2
3
  import XernerxLog from '../tools/XernerxLog.js';
3
4
  import { Style } from 'dumfunctions';
4
5
  export default class ExtensionHandler extends Handler {
5
- constructor(client) {
6
- super(client);
7
- }
8
- loadExtensions(...extensions) {
9
- const active = extensions.map((extension) => {
10
- try {
11
- if (extension.main) extension.main(this.client);
12
- if (extension.defer) {
13
- this.client.on('ready', (client) => extension.defer(client));
14
- }
15
- return extension.name;
16
- } catch (error) {
17
- return new XernerxLog(this.client).error(`An error occurred while loading ${Style.log(extension.name, { color: Style.TextColor.Blue })}`, error);
18
- }
19
- });
20
- new XernerxLog(this.client).info(`Loaded ${Style.log(String(extensions.length), { color: Style.TextColor.Cyan })} Extensions: ${active.filter((e) => e).join(', ')}`);
21
- }
6
+ constructor(client) {
7
+ super(client);
8
+ }
9
+ loadExtensions(...extensions) {
10
+ const active = extensions.map((extension) => {
11
+ try {
12
+ if (extension.main) extension.main(this.client);
13
+ if (extension.defer) {
14
+ this.client.on('ready', (client) => extension.defer(client));
15
+ }
16
+ return extension.name;
17
+ } catch (error) {
18
+ return new XernerxLog(this.client).error(`An error occurred while loading ${Style.log(extension.name, { color: Style.TextColor.Blue })}`, error);
19
+ }
20
+ });
21
+ new XernerxLog(this.client).info(`Loaded ${Style.log(String(extensions.length), { color: Style.TextColor.Cyan })} Extensions: ${active.filter((e) => e).join(', ')}`);
22
+ }
22
23
  }
23
24
  //# sourceMappingURL=ExtensionHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExtensionHandler.js","sourceRoot":"","sources":["../../src/handlers/ExtensionHandler.ts"],"names":[],"mappings":"AAEA,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAErC,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,OAAO;IACjD,YAAY,MAAqB;QAC7B,KAAK,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC;IAED,cAAc,CAAC,GAAG,UAA0C;QACxD,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;YACxC,IAAI;gBACA,IAAI,SAAS,CAAC,IAAI;oBAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAEhD,IAAI,SAAS,CAAC,KAAK,EAAE;oBACjB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;iBAChE;gBAED,OAAO,SAAS,CAAC,IAAI,CAAC;aACzB;YAAC,OAAO,KAAK,EAAE;gBACZ,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,mCAAmC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;aACpJ;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,gBAAgB,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1K,CAAC;CACJ","sourcesContent":["import XernerxExtensionBuilder from 'xernerx-extension-builder';\nimport XernerxClient from '../client/XernerxClient.js';\nimport Handler from './Handler.js';\nimport XernerxLog from '../tools/XernerxLog.js';\nimport { Style } from 'dumfunctions';\n\nexport default class ExtensionHandler extends Handler {\n constructor(client: XernerxClient) {\n super(client);\n }\n\n loadExtensions(...extensions: Array<XernerxExtensionBuilder>) {\n const active = extensions.map((extension) => {\n try {\n if (extension.main) extension.main(this.client);\n\n if (extension.defer) {\n this.client.on('ready', (client) => extension.defer(client));\n }\n\n return extension.name;\n } catch (error) {\n return new XernerxLog(this.client).error(`An error occurred while loading ${Style.log(extension.name, { color: Style.TextColor.Blue })}`, error);\n }\n });\n\n new XernerxLog(this.client).info(`Loaded ${Style.log(String(extensions.length), { color: Style.TextColor.Cyan })} Extensions: ${active.filter((e) => e).join(', ')}`);\n }\n}\n"]}
1
+ {"version":3,"file":"ExtensionHandler.js","sourceRoot":"","sources":["../../src/handlers/ExtensionHandler.ts"],"names":[],"mappings":"AAAA,cAAc;AAId,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAErC,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,OAAO;IACpD,YAAY,MAAqB;QAChC,KAAK,CAAC,MAAM,CAAC,CAAC;IACf,CAAC;IAED,cAAc,CAAC,GAAG,UAA0C;QAC3D,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;YAC3C,IAAI;gBACH,IAAI,SAAS,CAAC,IAAI;oBAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAEhD,IAAI,SAAS,CAAC,KAAK,EAAE;oBACpB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;iBAC7D;gBAED,OAAO,SAAS,CAAC,IAAI,CAAC;aACtB;YAAC,OAAO,KAAK,EAAE;gBACf,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,mCAAmC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;aACjJ;QACF,CAAC,CAAC,CAAC;QAEH,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,gBAAgB,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvK,CAAC;CACD","sourcesContent":["/** @format */\n\nimport XernerxExtensionBuilder from 'xernerx-extension-builder';\nimport XernerxClient from '../client/XernerxClient.js';\nimport Handler from './Handler.js';\nimport XernerxLog from '../tools/XernerxLog.js';\nimport { Style } from 'dumfunctions';\n\nexport default class ExtensionHandler extends Handler {\n\tconstructor(client: XernerxClient) {\n\t\tsuper(client);\n\t}\n\n\tloadExtensions(...extensions: Array<XernerxExtensionBuilder>) {\n\t\tconst active = extensions.map((extension) => {\n\t\t\ttry {\n\t\t\t\tif (extension.main) extension.main(this.client);\n\n\t\t\t\tif (extension.defer) {\n\t\t\t\t\tthis.client.on('ready', (client) => extension.defer(client));\n\t\t\t\t}\n\n\t\t\t\treturn extension.name;\n\t\t\t} catch (error) {\n\t\t\t\treturn new XernerxLog(this.client).error(`An error occurred while loading ${Style.log(extension.name, { color: Style.TextColor.Blue })}`, error);\n\t\t\t}\n\t\t});\n\n\t\tnew XernerxLog(this.client).info(`Loaded ${Style.log(String(extensions.length), { color: Style.TextColor.Cyan })} Extensions: ${active.filter((e) => e).join(', ')}`);\n\t}\n}\n"]}
@@ -1,15 +1,16 @@
1
+ /** @format */
1
2
  import XernerxClient from '../client/XernerxClient.js';
2
3
  import MessageCommandBuilder from '../build/XernerxMessageCommand.js';
3
4
  import XernerxSlashCommand from '../build/XernerxSlashCommand.js';
4
5
  import XernerxContextCommand from '../build/XernerxContextCommand.js';
5
6
  import { FileType } from '../types/types.js';
6
7
  export default class Handler {
7
- readonly client: XernerxClient<unknown>;
8
- readonly files: Array<MessageCommandBuilder | XernerxSlashCommand | XernerxContextCommand>;
9
- readonly readyTimestamp: number;
10
- constructor(client: XernerxClient);
11
- readdir(dir: string): string[];
12
- load(filePath: string, type: FileType): Promise<any>;
13
- emit<T extends Record<string, string | boolean | Function | void>>(event: T): Promise<void>;
8
+ readonly client: XernerxClient<unknown>;
9
+ readonly files: Array<MessageCommandBuilder | XernerxSlashCommand | XernerxContextCommand>;
10
+ readonly readyTimestamp: number;
11
+ constructor(client: XernerxClient);
12
+ readdir(dir: string): string[];
13
+ load(filePath: string, type: FileType): Promise<any>;
14
+ emit<T extends Record<string, string | boolean | Function | void>>(event: T): Promise<void>;
14
15
  }
15
16
  //# sourceMappingURL=Handler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Handler.d.ts","sourceRoot":"","sources":["../../src/handlers/Handler.ts"],"names":[],"mappings":"AAGA,OAAO,aAAa,MAAM,4BAA4B,CAAC;AAEvD,OAAO,qBAAqB,MAAM,mCAAmC,CAAC;AACtE,OAAO,mBAAmB,MAAM,iCAAiC,CAAC;AAClE,OAAO,qBAAqB,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,MAAM,CAAC,OAAO,OAAO,OAAO;IACxB,SAAgB,MAAM,yBAAC;IACvB,SAAgB,KAAK,EAAE,KAAK,CAAC,qBAAqB,GAAG,mBAAmB,GAAG,qBAAqB,CAAC,CAAC;IAClG,SAAgB,cAAc,SAAC;gBAEnB,MAAM,EAAE,aAAa;IAQ1B,OAAO,CAAC,GAAG,EAAE,MAAM;IASb,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ;IAQrC,IAAI,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC;CAoB3F"}
1
+ {"version":3,"file":"Handler.d.ts","sourceRoot":"","sources":["../../src/handlers/Handler.ts"],"names":[],"mappings":"AAAA,cAAc;AAKd,OAAO,aAAa,MAAM,4BAA4B,CAAC;AAEvD,OAAO,qBAAqB,MAAM,mCAAmC,CAAC;AACtE,OAAO,mBAAmB,MAAM,iCAAiC,CAAC;AAClE,OAAO,qBAAqB,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,MAAM,CAAC,OAAO,OAAO,OAAO;IAC3B,SAAgB,MAAM,yBAAC;IACvB,SAAgB,KAAK,EAAE,KAAK,CAAC,qBAAqB,GAAG,mBAAmB,GAAG,qBAAqB,CAAC,CAAC;IAClG,SAAgB,cAAc,SAAC;gBAEnB,MAAM,EAAE,aAAa;IAQ1B,OAAO,CAAC,GAAG,EAAE,MAAM;IASb,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ;IAQrC,IAAI,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC;CAoBxF"}
@@ -1,37 +1,38 @@
1
+ /** @format */
1
2
  import * as fs from 'fs';
2
3
  import * as path from 'path';
3
4
  import load from '../functions/load.js';
4
5
  export default class Handler {
5
- client;
6
- files;
7
- readyTimestamp;
8
- constructor(client) {
9
- this.client = client;
10
- this.files = [];
11
- this.readyTimestamp = Number(Date.now());
12
- }
13
- readdir(dir) {
14
- try {
15
- return fs.readdirSync(path.resolve(dir)).filter((file) => file.endsWith('.js'));
16
- } catch (error) {
17
- console.error(error);
18
- }
19
- return [];
20
- }
21
- async load(filePath, type) {
22
- const file = await load(this.client, filePath, type);
23
- this.files.push(file);
24
- return file;
25
- }
26
- async emit(event) {
27
- if (!event?.fileType) return;
28
- if (event.fileType === 'Event') {
29
- if (event.emitter === 'client') event.once ? this.client.once(event.name, (...args) => event.run(...args)) : this.client.on(event.name, (...args) => event.run(...args));
30
- else if (event.emitter === 'process') event.once ? process.once(event.name, (...args) => event.run(...args)) : process.on(event.name, (...args) => event.run(...args));
31
- }
32
- if (['MessageCommand', 'SlashCommand', 'ContextCommand'].includes(event.fileType)) {
33
- event.once ? this.client.once(event.name, (...args) => event.run(...args)) : this.client.on(event.name, (...args) => event.run(...args));
34
- }
35
- }
6
+ client;
7
+ files;
8
+ readyTimestamp;
9
+ constructor(client) {
10
+ this.client = client;
11
+ this.files = [];
12
+ this.readyTimestamp = Number(Date.now());
13
+ }
14
+ readdir(dir) {
15
+ try {
16
+ return fs.readdirSync(path.resolve(dir)).filter((file) => file.endsWith('.js'));
17
+ } catch (error) {
18
+ console.error(error);
19
+ }
20
+ return [];
21
+ }
22
+ async load(filePath, type) {
23
+ const file = await load(this.client, filePath, type);
24
+ this.files.push(file);
25
+ return file;
26
+ }
27
+ async emit(event) {
28
+ if (!event?.fileType) return;
29
+ if (event.fileType === 'Event') {
30
+ if (event.emitter === 'client') event.once ? this.client.once(event.name, (...args) => event.run(...args)) : this.client.on(event.name, (...args) => event.run(...args));
31
+ else if (event.emitter === 'process') event.once ? process.once(event.name, (...args) => event.run(...args)) : process.on(event.name, (...args) => event.run(...args));
32
+ }
33
+ if (['MessageCommand', 'SlashCommand', 'ContextCommand'].includes(event.fileType)) {
34
+ event.once ? this.client.once(event.name, (...args) => event.run(...args)) : this.client.on(event.name, (...args) => event.run(...args));
35
+ }
36
+ }
36
37
  }
37
38
  //# sourceMappingURL=Handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Handler.js","sourceRoot":"","sources":["../../src/handlers/Handler.ts"],"names":[],"mappings":"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","sourcesContent":["import * as fs from 'fs';\nimport * as path from 'path';\n\nimport XernerxClient from '../client/XernerxClient.js';\nimport load from '../functions/load.js';\nimport MessageCommandBuilder from '../build/XernerxMessageCommand.js';\nimport XernerxSlashCommand from '../build/XernerxSlashCommand.js';\nimport XernerxContextCommand from '../build/XernerxContextCommand.js';\nimport { FileType } from '../types/types.js';\n\nexport default class Handler {\n public readonly client;\n public readonly files: Array<MessageCommandBuilder | XernerxSlashCommand | XernerxContextCommand>;\n public readonly readyTimestamp;\n\n constructor(client: XernerxClient) {\n this.client = client;\n\n this.files = [];\n\n this.readyTimestamp = Number(Date.now());\n }\n\n public readdir(dir: string) {\n try {\n return fs.readdirSync(path.resolve(dir)).filter((file) => file.endsWith('.js'));\n } catch (error) {\n console.error(error);\n }\n return [];\n }\n\n public async load(filePath: string, type: FileType) {\n const file = await load(this.client, filePath, type);\n\n this.files.push(file);\n\n return file;\n }\n\n public async emit<T extends Record<string, string | boolean | Function | void>>(event: T) {\n if (!event?.fileType) return;\n\n if (event.fileType === 'Event') {\n if (event.emitter === 'client')\n event.once\n ? this.client.once(event.name as string, <T extends Array<T>>(...args: T) => (event.run as Function)(...args))\n : this.client.on(event.name as string, <T extends Array<T>>(...args: T) => (event.run as Function)(...args));\n else if (event.emitter === 'process')\n event.once\n ? process.once(event.name as string, <T extends Array<T>>(...args: T) => (event.run as Function)(...args))\n : process.on(event.name as string, <T extends Array<T>>(...args: T) => (event.run as Function)(...args));\n }\n\n if (['MessageCommand', 'SlashCommand', 'ContextCommand'].includes(event.fileType as string)) {\n event.once\n ? this.client.once(event.name as string, <T extends Array<T>>(...args: T) => (event.run as Function)(...args))\n : this.client.on(event.name as string, <T extends Array<T>>(...args: T) => (event.run as Function)(...args));\n }\n }\n}\n"]}
1
+ {"version":3,"file":"Handler.js","sourceRoot":"","sources":["../../src/handlers/Handler.ts"],"names":[],"mappings":"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","sourcesContent":["/** @format */\n\nimport * as fs from 'fs';\nimport * as path from 'path';\n\nimport XernerxClient from '../client/XernerxClient.js';\nimport load from '../functions/load.js';\nimport MessageCommandBuilder from '../build/XernerxMessageCommand.js';\nimport XernerxSlashCommand from '../build/XernerxSlashCommand.js';\nimport XernerxContextCommand from '../build/XernerxContextCommand.js';\nimport { FileType } from '../types/types.js';\n\nexport default class Handler {\n\tpublic readonly client;\n\tpublic readonly files: Array<MessageCommandBuilder | XernerxSlashCommand | XernerxContextCommand>;\n\tpublic readonly readyTimestamp;\n\n\tconstructor(client: XernerxClient) {\n\t\tthis.client = client;\n\n\t\tthis.files = [];\n\n\t\tthis.readyTimestamp = Number(Date.now());\n\t}\n\n\tpublic readdir(dir: string) {\n\t\ttry {\n\t\t\treturn fs.readdirSync(path.resolve(dir)).filter((file) => file.endsWith('.js'));\n\t\t} catch (error) {\n\t\t\tconsole.error(error);\n\t\t}\n\t\treturn [];\n\t}\n\n\tpublic async load(filePath: string, type: FileType) {\n\t\tconst file = await load(this.client, filePath, type);\n\n\t\tthis.files.push(file);\n\n\t\treturn file;\n\t}\n\n\tpublic async emit<T extends Record<string, string | boolean | Function | void>>(event: T) {\n\t\tif (!event?.fileType) return;\n\n\t\tif (event.fileType === 'Event') {\n\t\t\tif (event.emitter === 'client')\n\t\t\t\tevent.once\n\t\t\t\t\t? this.client.once(event.name as string, <T extends Array<T>>(...args: T) => (event.run as Function)(...args))\n\t\t\t\t\t: this.client.on(event.name as string, <T extends Array<T>>(...args: T) => (event.run as Function)(...args));\n\t\t\telse if (event.emitter === 'process')\n\t\t\t\tevent.once\n\t\t\t\t\t? process.once(event.name as string, <T extends Array<T>>(...args: T) => (event.run as Function)(...args))\n\t\t\t\t\t: process.on(event.name as string, <T extends Array<T>>(...args: T) => (event.run as Function)(...args));\n\t\t}\n\n\t\tif (['MessageCommand', 'SlashCommand', 'ContextCommand'].includes(event.fileType as string)) {\n\t\t\tevent.once\n\t\t\t\t? this.client.once(event.name as string, <T extends Array<T>>(...args: T) => (event.run as Function)(...args))\n\t\t\t\t: this.client.on(event.name as string, <T extends Array<T>>(...args: T) => (event.run as Function)(...args));\n\t\t}\n\t}\n}\n"]}
@@ -1,8 +1,9 @@
1
+ /** @format */
1
2
  import XernerxClient from '../client/XernerxClient.js';
2
3
  import Handler from './Handler.js';
3
4
  import { InhibitorHandlerOptions } from '../types/interfaces.js';
4
5
  export default class InhibitorHandler extends Handler {
5
- constructor(client: XernerxClient);
6
- loadInhibitors(options: InhibitorHandlerOptions): Promise<void>;
6
+ constructor(client: XernerxClient);
7
+ loadInhibitors(options: InhibitorHandlerOptions): Promise<void>;
7
8
  }
8
9
  //# sourceMappingURL=InhibitorHandler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"InhibitorHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/InhibitorHandler.ts"],"names":[],"mappings":"AAIA,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAIjE,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,OAAO;gBACrC,MAAM,EAAE,aAAa;IAIpB,cAAc,CAAC,OAAO,EAAE,uBAAuB;CAqB/D"}
1
+ {"version":3,"file":"InhibitorHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/InhibitorHandler.ts"],"names":[],"mappings":"AAAA,cAAc;AAMd,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAIjE,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,OAAO;gBACxC,MAAM,EAAE,aAAa;IAIpB,cAAc,CAAC,OAAO,EAAE,uBAAuB;CAqB5D"}
@@ -1,26 +1,27 @@
1
+ /** @format */
1
2
  import { z } from 'zod';
2
3
  import * as path from 'path';
3
4
  import Handler from './Handler.js';
4
5
  import XernerxLog from '../tools/XernerxLog.js';
5
6
  import { Style } from 'dumfunctions';
6
7
  export default class InhibitorHandler extends Handler {
7
- constructor(client) {
8
- super(client);
9
- }
10
- async loadInhibitors(options) {
11
- options = z
12
- .object({
13
- directory: z.string(),
14
- })
15
- .parse(options);
16
- this.client.modules.options.inhibitors = options;
17
- const files = this.readdir(options.directory);
18
- for (const file of files) {
19
- const filePath = `${path.resolve(options.directory)}\\${file}`;
20
- const data = await this.load(filePath, 'Inhibitor');
21
- this.emit(data);
22
- }
23
- new XernerxLog(this.client).info(`Loaded ${Style.log(String(this.client.inhibitors.size), { color: Style.TextColor.Cyan })} Inhibitors.`);
24
- }
8
+ constructor(client) {
9
+ super(client);
10
+ }
11
+ async loadInhibitors(options) {
12
+ options = z
13
+ .object({
14
+ directory: z.string(),
15
+ })
16
+ .parse(options);
17
+ this.client.modules.options.inhibitors = options;
18
+ const files = this.readdir(options.directory);
19
+ for (const file of files) {
20
+ const filePath = `${path.resolve(options.directory)}\\${file}`;
21
+ const data = await this.load(filePath, 'Inhibitor');
22
+ this.emit(data);
23
+ }
24
+ new XernerxLog(this.client).info(`Loaded ${Style.log(String(this.client.inhibitors.size), { color: Style.TextColor.Cyan })} Inhibitors.`);
25
+ }
25
26
  }
26
27
  //# sourceMappingURL=InhibitorHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InhibitorHandler.js","sourceRoot":"","sources":["../../src/handlers/InhibitorHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAG7B,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAErC,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,OAAO;IACjD,YAAY,MAAqB;QAC7B,KAAK,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,OAAgC;QACxD,OAAO,GAAG,CAAC;aACN,MAAM,CAAC;YACJ,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;SACxB,CAAC;aACD,KAAK,CAAC,OAAO,CAAC,CAAC;QAEpB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC;QAEjD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAE9C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACtB,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;YAE/D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YAEpD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACnB;QAED,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,cAAc,CAAC,CAAC;IAC9I,CAAC;CACJ","sourcesContent":["import { z } from 'zod';\n\nimport * as path from 'path';\n\nimport XernerxClient from '../client/XernerxClient.js';\nimport Handler from './Handler.js';\nimport { InhibitorHandlerOptions } from '../types/interfaces.js';\nimport XernerxLog from '../tools/XernerxLog.js';\nimport { Style } from 'dumfunctions';\n\nexport default class InhibitorHandler extends Handler {\n constructor(client: XernerxClient) {\n super(client);\n }\n\n public async loadInhibitors(options: InhibitorHandlerOptions) {\n options = z\n .object({\n directory: z.string(),\n })\n .parse(options);\n\n this.client.modules.options.inhibitors = options;\n\n const files = this.readdir(options.directory);\n\n for (const file of files) {\n const filePath = `${path.resolve(options.directory)}\\\\${file}`;\n\n const data = await this.load(filePath, 'Inhibitor');\n\n this.emit(data);\n }\n\n new XernerxLog(this.client).info(`Loaded ${Style.log(String(this.client.inhibitors.size), { color: Style.TextColor.Cyan })} Inhibitors.`);\n }\n}\n"]}
1
+ {"version":3,"file":"InhibitorHandler.js","sourceRoot":"","sources":["../../src/handlers/InhibitorHandler.ts"],"names":[],"mappings":"AAAA,cAAc;AAEd,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAG7B,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAErC,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,OAAO;IACpD,YAAY,MAAqB;QAChC,KAAK,CAAC,MAAM,CAAC,CAAC;IACf,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,OAAgC;QAC3D,OAAO,GAAG,CAAC;aACT,MAAM,CAAC;YACP,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;SACrB,CAAC;aACD,KAAK,CAAC,OAAO,CAAC,CAAC;QAEjB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC;QAEjD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAE9C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACzB,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;YAE/D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YAEpD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAChB;QAED,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,cAAc,CAAC,CAAC;IAC3I,CAAC;CACD","sourcesContent":["/** @format */\n\nimport { z } from 'zod';\n\nimport * as path from 'path';\n\nimport XernerxClient from '../client/XernerxClient.js';\nimport Handler from './Handler.js';\nimport { InhibitorHandlerOptions } from '../types/interfaces.js';\nimport XernerxLog from '../tools/XernerxLog.js';\nimport { Style } from 'dumfunctions';\n\nexport default class InhibitorHandler extends Handler {\n\tconstructor(client: XernerxClient) {\n\t\tsuper(client);\n\t}\n\n\tpublic async loadInhibitors(options: InhibitorHandlerOptions) {\n\t\toptions = z\n\t\t\t.object({\n\t\t\t\tdirectory: z.string(),\n\t\t\t})\n\t\t\t.parse(options);\n\n\t\tthis.client.modules.options.inhibitors = options;\n\n\t\tconst files = this.readdir(options.directory);\n\n\t\tfor (const file of files) {\n\t\t\tconst filePath = `${path.resolve(options.directory)}\\\\${file}`;\n\n\t\t\tconst data = await this.load(filePath, 'Inhibitor');\n\n\t\t\tthis.emit(data);\n\t\t}\n\n\t\tnew XernerxLog(this.client).info(`Loaded ${Style.log(String(this.client.inhibitors.size), { color: Style.TextColor.Cyan })} Inhibitors.`);\n\t}\n}\n"]}
@@ -1,8 +1,9 @@
1
+ /** @format */
1
2
  import XernerxClient from '../client/XernerxClient.js';
2
3
  import Handler from './Handler.js';
3
4
  export default class WebhookHandler extends Handler {
4
- constructor(client: XernerxClient);
5
- loadWebhooks(options: { token: string }): Promise<void>;
6
- private post;
5
+ constructor(client: XernerxClient);
6
+ loadWebhooks(options: { token: string }): Promise<void>;
7
+ private post;
7
8
  }
8
9
  //# sourceMappingURL=WebhookHandler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"WebhookHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/WebhookHandler.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,4BAA4B,CAAC;AAEvD,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,OAAO;gBACnC,MAAM,EAAE,aAAa;IAIpB,YAAY,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE;YAoBtC,IAAI;CAkCrB"}
1
+ {"version":3,"file":"WebhookHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/WebhookHandler.ts"],"names":[],"mappings":"AAAA,cAAc;AAEd,OAAO,aAAa,MAAM,4BAA4B,CAAC;AAEvD,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,OAAO;gBACtC,MAAM,EAAE,aAAa;IAIpB,YAAY,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE;YAoBtC,IAAI;CAkClB"}
@@ -1,51 +1,52 @@
1
+ /** @format */
1
2
  import XernerxLog from '../tools/XernerxLog.js';
2
3
  import Handler from './Handler.js';
3
4
  export default class WebhookHandler extends Handler {
4
- constructor(client) {
5
- super(client);
6
- }
7
- async loadWebhooks(options) {
8
- this.client.once('ready', async (client) => {
9
- this.post(options.token);
10
- setInterval(() => {
11
- this.post(client.token);
12
- }, 60000 * 30);
13
- this.client.util.hasVoted = async (userId) => {
14
- return !!(
15
- await (
16
- await fetch(`https://top.gg/api/bots/${this.client.user?.id}/check?userId=${userId}`, {
17
- headers: { Authorization: options.token, 'Content-Type': 'application/json' },
18
- })
19
- ).json()
20
- ).voted;
21
- };
22
- });
23
- }
24
- async post(token) {
25
- const guilds = await this.client.guilds.fetch();
26
- this.client.stats.guildCount = this.client.guilds.cache.size;
27
- this.client.stats.userCount = (await Promise.all(guilds.map(async (guild) => (await this.client.guilds.fetch(guild.id)).memberCount))).reduce((a, b) => (a += b));
28
- this.client.stats.shardId = this.client.options.shards?.at(0) || 0;
29
- this.client.stats.shardCount = this.client.options.shardCount || this.client.options.shards?.length || 1;
30
- try {
31
- new XernerxLog(this.client).info(`Posted Stats to Top.gg!`);
32
- this.client.emit('webhookCreate', this.client, this.client.stats);
33
- return await fetch(`https://top.gg/api/bots/stats`, {
34
- method: 'POST',
35
- headers: {
36
- Authorization: token,
37
- 'Content-Type': 'application/json',
38
- },
39
- body: JSON.stringify({
40
- server_count: this.client.stats.guildCount,
41
- shard_id: this.client.stats.shardId,
42
- shard_count: this.client.stats.shardCount,
43
- }),
44
- });
45
- } catch (error) {
46
- new XernerxLog(this.client).error(`An error occurred while posting stats to Top.gg`, error);
47
- return this.client.emit('webhookError', this.client, this.client.stats);
48
- }
49
- }
5
+ constructor(client) {
6
+ super(client);
7
+ }
8
+ async loadWebhooks(options) {
9
+ this.client.once('ready', async (client) => {
10
+ this.post(options.token);
11
+ setInterval(() => {
12
+ this.post(client.token);
13
+ }, 60000 * 30);
14
+ this.client.util.hasVoted = async (userId) => {
15
+ return !!(
16
+ await (
17
+ await fetch(`https://top.gg/api/bots/${this.client.user?.id}/check?userId=${userId}`, {
18
+ headers: { 'Authorization': options.token, 'Content-Type': 'application/json' },
19
+ })
20
+ ).json()
21
+ ).voted;
22
+ };
23
+ });
24
+ }
25
+ async post(token) {
26
+ const guilds = await this.client.guilds.fetch();
27
+ this.client.stats.guildCount = this.client.guilds.cache.size;
28
+ this.client.stats.userCount = (await Promise.all(guilds.map(async (guild) => (await this.client.guilds.fetch(guild.id)).memberCount))).reduce((a, b) => (a += b));
29
+ this.client.stats.shardId = this.client.options.shards?.at(0) || 0;
30
+ this.client.stats.shardCount = this.client.options.shardCount || this.client.options.shards?.length || 1;
31
+ try {
32
+ new XernerxLog(this.client).info(`Posted Stats to Top.gg!`);
33
+ this.client.emit('webhookCreate', this.client, this.client.stats);
34
+ return await fetch(`https://top.gg/api/bots/stats`, {
35
+ method: 'POST',
36
+ headers: {
37
+ 'Authorization': token,
38
+ 'Content-Type': 'application/json',
39
+ },
40
+ body: JSON.stringify({
41
+ server_count: this.client.stats.guildCount,
42
+ shard_id: this.client.stats.shardId,
43
+ shard_count: this.client.stats.shardCount,
44
+ }),
45
+ });
46
+ } catch (error) {
47
+ new XernerxLog(this.client).error(`An error occurred while posting stats to Top.gg`, error);
48
+ return this.client.emit('webhookError', this.client, this.client.stats);
49
+ }
50
+ }
50
51
  }
51
52
  //# sourceMappingURL=WebhookHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WebhookHandler.js","sourceRoot":"","sources":["../../src/handlers/WebhookHandler.ts"],"names":[],"mappings":"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","sourcesContent":["import XernerxClient from '../client/XernerxClient.js';\nimport XernerxLog from '../tools/XernerxLog.js';\nimport Handler from './Handler.js';\n\nexport default class WebhookHandler extends Handler {\n constructor(client: XernerxClient) {\n super(client);\n }\n\n public async loadWebhooks(options: { token: string }) {\n this.client.once('ready', async (client) => {\n this.post(options.token);\n\n setInterval(() => {\n this.post(client.token);\n }, 60000 * 30);\n\n this.client.util.hasVoted = async (userId: string) => {\n return !!(\n await (\n await fetch(`https://top.gg/api/bots/${this.client.user?.id}/check?userId=${userId}`, {\n headers: { Authorization: options.token, 'Content-Type': 'application/json' },\n })\n ).json()\n ).voted as boolean;\n };\n });\n }\n\n private async post(token: string) {\n const guilds = await this.client.guilds.fetch();\n\n this.client.stats.guildCount = this.client.guilds.cache.size;\n\n this.client.stats.userCount = (await Promise.all(guilds.map(async (guild) => (await this.client.guilds.fetch(guild.id)).memberCount))).reduce((a, b) => (a += b));\n\n this.client.stats.shardId = (this.client.options.shards as Array<number>)?.at(0) || 0;\n\n this.client.stats.shardCount = this.client.options.shardCount || (this.client.options.shards as Array<number>)?.length || 1;\n\n try {\n new XernerxLog(this.client).info(`Posted Stats to Top.gg!`);\n\n this.client.emit('webhookCreate', this.client, this.client.stats);\n\n return await fetch(`https://top.gg/api/bots/stats`, {\n method: 'POST',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n server_count: this.client.stats.guildCount,\n shard_id: this.client.stats.shardId,\n shard_count: this.client.stats.shardCount,\n }),\n });\n } catch (error) {\n new XernerxLog(this.client).error(`An error occurred while posting stats to Top.gg`, error);\n\n return this.client.emit('webhookError', this.client, this.client.stats);\n }\n }\n}\n"]}
1
+ {"version":3,"file":"WebhookHandler.js","sourceRoot":"","sources":["../../src/handlers/WebhookHandler.ts"],"names":[],"mappings":"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","sourcesContent":["/** @format */\n\nimport XernerxClient from '../client/XernerxClient.js';\nimport XernerxLog from '../tools/XernerxLog.js';\nimport Handler from './Handler.js';\n\nexport default class WebhookHandler extends Handler {\n\tconstructor(client: XernerxClient) {\n\t\tsuper(client);\n\t}\n\n\tpublic async loadWebhooks(options: { token: string }) {\n\t\tthis.client.once('ready', async (client) => {\n\t\t\tthis.post(options.token);\n\n\t\t\tsetInterval(() => {\n\t\t\t\tthis.post(client.token);\n\t\t\t}, 60000 * 30);\n\n\t\t\tthis.client.util.hasVoted = async (userId: string) => {\n\t\t\t\treturn !!(\n\t\t\t\t\tawait (\n\t\t\t\t\t\tawait fetch(`https://top.gg/api/bots/${this.client.user?.id}/check?userId=${userId}`, {\n\t\t\t\t\t\t\theaders: { 'Authorization': options.token, 'Content-Type': 'application/json' },\n\t\t\t\t\t\t})\n\t\t\t\t\t).json()\n\t\t\t\t).voted as boolean;\n\t\t\t};\n\t\t});\n\t}\n\n\tprivate async post(token: string) {\n\t\tconst guilds = await this.client.guilds.fetch();\n\n\t\tthis.client.stats.guildCount = this.client.guilds.cache.size;\n\n\t\tthis.client.stats.userCount = (await Promise.all(guilds.map(async (guild) => (await this.client.guilds.fetch(guild.id)).memberCount))).reduce((a, b) => (a += b));\n\n\t\tthis.client.stats.shardId = (this.client.options.shards as Array<number>)?.at(0) || 0;\n\n\t\tthis.client.stats.shardCount = this.client.options.shardCount || (this.client.options.shards as Array<number>)?.length || 1;\n\n\t\ttry {\n\t\t\tnew XernerxLog(this.client).info(`Posted Stats to Top.gg!`);\n\n\t\t\tthis.client.emit('webhookCreate', this.client, this.client.stats);\n\n\t\t\treturn await fetch(`https://top.gg/api/bots/stats`, {\n\t\t\t\tmethod: 'POST',\n\t\t\t\theaders: {\n\t\t\t\t\t'Authorization': token,\n\t\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\t},\n\t\t\t\tbody: JSON.stringify({\n\t\t\t\t\tserver_count: this.client.stats.guildCount,\n\t\t\t\t\tshard_id: this.client.stats.shardId,\n\t\t\t\t\tshard_count: this.client.stats.shardCount,\n\t\t\t\t}),\n\t\t\t});\n\t\t} catch (error) {\n\t\t\tnew XernerxLog(this.client).error(`An error occurred while posting stats to Top.gg`, error);\n\n\t\t\treturn this.client.emit('webhookError', this.client, this.client.stats);\n\t\t}\n\t}\n}\n"]}
package/dist/main.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ /** @format */
1
2
  declare const version: any;
2
3
  import XernerxClient from './client/XernerxClient.js';
3
4
  import XernerxShardClient from './client/XernerxShardClient.js';
@@ -16,31 +17,31 @@ export * from './types/interfaces.js';
16
17
  import Discord from 'discord.js';
17
18
  export default XernerxClient;
18
19
  export {
19
- /**
20
- ** Clients
21
- */
22
- XernerxClient,
23
- XernerxShardClient,
24
- /**
25
- ** Builders
26
- */
27
- XernerxMessageCommand,
28
- XernerxSlashCommand,
29
- XernerxContextCommand,
30
- XernerxEvent,
31
- XernerxInhibitor,
32
- XernerxExtension,
33
- /**
34
- ** Imported exports
35
- */
36
- Discord,
37
- /**
38
- ** Properties
39
- */
40
- version,
41
- /**
42
- ** Tools
43
- */
44
- XernerxLog,
20
+ /**
21
+ ** Clients
22
+ */
23
+ XernerxClient,
24
+ XernerxShardClient,
25
+ /**
26
+ ** Builders
27
+ */
28
+ XernerxMessageCommand,
29
+ XernerxSlashCommand,
30
+ XernerxContextCommand,
31
+ XernerxEvent,
32
+ XernerxInhibitor,
33
+ XernerxExtension,
34
+ /**
35
+ ** Imported exports
36
+ */
37
+ Discord,
38
+ /**
39
+ ** Properties
40
+ */
41
+ version,
42
+ /**
43
+ ** Tools
44
+ */
45
+ XernerxLog,
45
46
  };
46
47
  //# sourceMappingURL=main.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,OAAO,KAAoF,CAAC;AAIlG,OAAO,aAAa,MAAM,2BAA2B,CAAC;AACtD,OAAO,kBAAkB,MAAM,gCAAgC,CAAC;AAChE,OAAO,qBAAqB,MAAM,kCAAkC,CAAC;AACrE,OAAO,mBAAmB,MAAM,gCAAgC,CAAC;AACjE,OAAO,qBAAqB,MAAM,kCAAkC,CAAC;AACrE,OAAO,YAAY,MAAM,yBAAyB,CAAC;AACnD,OAAO,gBAAgB,MAAM,6BAA6B,CAAC;AAC3D,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAE/C,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,OAAO,gBAAgB,MAAM,2BAA2B,CAAC;AAEzD,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AAEtC,OAAO,OAAO,MAAM,YAAY,CAAC;AAEjC,eAAe,aAAa,CAAC;AAE7B,OAAO;AACH;;GAEG;AACH,aAAa,EACb,kBAAkB;AAElB;;GAEG;AACH,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,YAAY,EACZ,gBAAgB,EAChB,gBAAgB;AAEhB;;GAEG;AACH,OAAO;AAEP;;GAEG;AACH,OAAO;AAEP;;GAEG;AACH,UAAU,GACb,CAAC"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,cAAc;AAId,QAAA,MAAM,OAAO,KAAoF,CAAC;AAIlG,OAAO,aAAa,MAAM,2BAA2B,CAAC;AACtD,OAAO,kBAAkB,MAAM,gCAAgC,CAAC;AAChE,OAAO,qBAAqB,MAAM,kCAAkC,CAAC;AACrE,OAAO,mBAAmB,MAAM,gCAAgC,CAAC;AACjE,OAAO,qBAAqB,MAAM,kCAAkC,CAAC;AACrE,OAAO,YAAY,MAAM,yBAAyB,CAAC;AACnD,OAAO,gBAAgB,MAAM,6BAA6B,CAAC;AAC3D,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAE/C,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,OAAO,gBAAgB,MAAM,2BAA2B,CAAC;AAEzD,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AAEtC,OAAO,OAAO,MAAM,YAAY,CAAC;AAEjC,eAAe,aAAa,CAAC;AAE7B,OAAO;AACN;;GAEG;AACH,aAAa,EACb,kBAAkB;AAElB;;GAEG;AACH,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,YAAY,EACZ,gBAAgB,EAChB,gBAAgB;AAEhB;;GAEG;AACH,OAAO;AAEP;;GAEG;AACH,OAAO;AAEP;;GAEG;AACH,UAAU,GACV,CAAC"}