xernerx 4.4.19 → 4.5.0

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 (119) hide show
  1. package/dist/build/ContextCommandBuilder.d.ts +31 -23
  2. package/dist/build/ContextCommandBuilder.js +39 -39
  3. package/dist/build/EventBuilder.d.ts +1 -1
  4. package/dist/build/EventBuilder.js +2 -2
  5. package/dist/build/InhibitorBuilder.d.ts +11 -2
  6. package/dist/build/InhibitorBuilder.js +2 -2
  7. package/dist/build/MessageCommandBuilder.d.ts +26 -20
  8. package/dist/build/MessageCommandBuilder.js +34 -34
  9. package/dist/build/SlashCommandBuilder.d.ts +39 -25
  10. package/dist/build/SlashCommandBuilder.js +48 -48
  11. package/dist/build/XernerxContextCommand.d.ts +51 -0
  12. package/dist/build/XernerxContextCommand.d.ts.map +1 -0
  13. package/dist/build/XernerxContextCommand.js +68 -0
  14. package/dist/build/XernerxContextCommand.js.map +1 -0
  15. package/dist/build/XernerxEvent.d.ts +25 -0
  16. package/dist/build/XernerxEvent.d.ts.map +1 -0
  17. package/dist/build/XernerxEvent.js +29 -0
  18. package/dist/build/XernerxEvent.js.map +1 -0
  19. package/dist/build/XernerxInhibitor.d.ts +29 -0
  20. package/dist/build/XernerxInhibitor.d.ts.map +1 -0
  21. package/dist/build/XernerxInhibitor.js +21 -0
  22. package/dist/build/XernerxInhibitor.js.map +1 -0
  23. package/dist/build/XernerxMessageCommand.d.ts +48 -0
  24. package/dist/build/XernerxMessageCommand.d.ts.map +1 -0
  25. package/dist/build/XernerxMessageCommand.js +61 -0
  26. package/dist/build/XernerxMessageCommand.js.map +1 -0
  27. package/dist/build/XernerxSlashCommand.d.ts +62 -0
  28. package/dist/build/XernerxSlashCommand.d.ts.map +1 -0
  29. package/dist/build/XernerxSlashCommand.js +114 -0
  30. package/dist/build/XernerxSlashCommand.js.map +1 -0
  31. package/dist/client/XernerxClient.d.ts +37 -29
  32. package/dist/client/XernerxClient.d.ts.map +1 -1
  33. package/dist/client/XernerxClient.js +33 -33
  34. package/dist/client/XernerxClient.js.map +1 -1
  35. package/dist/client/XernerxShardClient.d.ts +1 -1
  36. package/dist/client/XernerxShardClient.js +15 -13
  37. package/dist/functions/delay.d.ts +1 -1
  38. package/dist/functions/delay.js +1 -1
  39. package/dist/functions/deploy.d.ts +1 -1
  40. package/dist/functions/deploy.js +15 -20
  41. package/dist/functions/deploy.js.map +1 -1
  42. package/dist/functions/isOwner.d.ts +2 -2
  43. package/dist/functions/isOwner.d.ts.map +1 -1
  44. package/dist/functions/isOwner.js +2 -4
  45. package/dist/functions/isOwner.js.map +1 -1
  46. package/dist/functions/isVoter.d.ts +1 -1
  47. package/dist/functions/isVoter.js +1 -1
  48. package/dist/functions/load.d.ts +1 -1
  49. package/dist/functions/load.js +2 -3
  50. package/dist/functions/load.js.map +1 -1
  51. package/dist/functions/reload.d.ts +1 -1
  52. package/dist/functions/reload.js +9 -12
  53. package/dist/functions/sendWebhook.d.ts +1 -1
  54. package/dist/functions/sendWebhook.js +2 -3
  55. package/dist/functions/setPresence.d.ts +2 -2
  56. package/dist/functions/setPresence.js +12 -11
  57. package/dist/functions/xernerxUser.d.ts +1 -1
  58. package/dist/functions/xernerxUser.d.ts.map +1 -1
  59. package/dist/functions/xernerxUser.js +9 -5
  60. package/dist/functions/xernerxUser.js.map +1 -1
  61. package/dist/handlers/CommandHandler.d.ts +1 -1
  62. package/dist/handlers/CommandHandler.js +84 -107
  63. package/dist/handlers/CommandHandler.js.map +1 -1
  64. package/dist/handlers/EventHandler.d.ts +1 -1
  65. package/dist/handlers/EventHandler.js +3 -3
  66. package/dist/handlers/ExtensionHandler.d.ts +1 -1
  67. package/dist/handlers/ExtensionHandler.js +3 -5
  68. package/dist/handlers/Handler.d.ts +5 -5
  69. package/dist/handlers/Handler.d.ts.map +1 -1
  70. package/dist/handlers/Handler.js +6 -16
  71. package/dist/handlers/Handler.js.map +1 -1
  72. package/dist/handlers/InhibitorHandler.d.ts +1 -1
  73. package/dist/handlers/InhibitorHandler.js +3 -3
  74. package/dist/handlers/WebhookHandler.d.ts +2 -4
  75. package/dist/handlers/WebhookHandler.js +9 -6
  76. package/dist/handlers/WebhookHandler.js.map +1 -1
  77. package/dist/main.d.ts +35 -28
  78. package/dist/main.js +35 -28
  79. package/dist/main.js.map +1 -1
  80. package/dist/models/Arguments.d.ts +8 -5
  81. package/dist/models/Arguments.js +48 -63
  82. package/dist/models/Arguments.js.map +1 -1
  83. package/dist/tools/XernerxError.d.ts +1 -1
  84. package/dist/tools/XernerxError.js +1 -1
  85. package/dist/tools/XernerxLog.d.ts +1 -1
  86. package/dist/tools/XernerxLog.js +7 -2
  87. package/dist/types/extenders.d.ts +5 -9
  88. package/dist/types/extenders.js +1 -1
  89. package/dist/types/interfaces.d.ts +17 -14
  90. package/dist/types/interfaces.d.ts.map +1 -1
  91. package/dist/types/interfaces.js +1 -1
  92. package/dist/types/interfaces.js.map +1 -1
  93. package/dist/types/types.d.ts +180 -8
  94. package/dist/types/types.d.ts.map +1 -1
  95. package/dist/types/types.js +1 -1
  96. package/dist/types/types.js.map +1 -1
  97. package/dist/utils/ClientUtil.d.ts +5 -5
  98. package/dist/utils/ClientUtil.d.ts.map +1 -1
  99. package/dist/utils/ClientUtil.js +8 -14
  100. package/dist/utils/ClientUtil.js.map +1 -1
  101. package/dist/utils/InteractionUtil.d.ts +2 -3
  102. package/dist/utils/InteractionUtil.d.ts.map +1 -1
  103. package/dist/utils/InteractionUtil.js +1 -5
  104. package/dist/utils/InteractionUtil.js.map +1 -1
  105. package/dist/utils/MessageUtil.d.ts +2 -3
  106. package/dist/utils/MessageUtil.d.ts.map +1 -1
  107. package/dist/utils/MessageUtil.js +5 -13
  108. package/dist/utils/MessageUtil.js.map +1 -1
  109. package/dist/utils/Util.d.ts +3 -2
  110. package/dist/utils/Util.d.ts.map +1 -1
  111. package/dist/utils/Util.js +4 -1
  112. package/dist/utils/Util.js.map +1 -1
  113. package/dist/validators/commandValidation.d.ts +8 -5
  114. package/dist/validators/commandValidation.js +19 -29
  115. package/dist/validators/commandValidation.js.map +1 -1
  116. package/dist/validators/inhibitorValidations.d.ts +20 -4
  117. package/dist/validators/inhibitorValidations.js +2 -2
  118. package/dist/validators/inhibitorValidations.js.map +1 -1
  119. package/package.json +1 -1
@@ -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;\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":["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"]}
package/dist/main.d.ts CHANGED
@@ -1,39 +1,46 @@
1
1
  import XernerxClient from './client/XernerxClient.js';
2
2
  import XernerxShardClient from './client/XernerxShardClient.js';
3
- import MessageCommandBuilder from './build/MessageCommandBuilder.js';
4
- import SlashCommandBuilder from './build/SlashCommandBuilder.js';
5
- import ContextCommandBuilder from './build/ContextCommandBuilder.js';
6
- import EventBuilder from './build/EventBuilder.js';
7
- import InhibitorBuilder from './build/InhibitorBuilder.js';
3
+ import XernerxMessageCommand from './build/XernerxMessageCommand.js';
4
+ import XernerxSlashCommand from './build/XernerxSlashCommand.js';
5
+ import XernerxContextCommand from './build/XernerxContextCommand.js';
6
+ import XernerxEvent from './build/XernerxEvent.js';
7
+ import XernerxInhibitor from './build/XernerxInhibitor.js';
8
8
  import XernerxLog from './tools/XernerxLog.js';
9
9
  export * from 'discord.js';
10
10
  export * from 'dumfunctions';
11
- import ExtensionBuilder from 'xernerx-extension-builder';
11
+ import XernerxExtension from 'xernerx-extension-builder';
12
12
  export * from './types/types.js';
13
13
  export * from './types/extenders.js';
14
14
  export * from './types/interfaces.js';
15
15
  import Discord from 'discord.js';
16
16
  declare const version: any;
17
17
  export default XernerxClient;
18
- export {
19
- /**
20
- ** Clients
21
- */
22
- XernerxClient, XernerxShardClient,
23
- /**
24
- ** Builders
25
- */
26
- MessageCommandBuilder, SlashCommandBuilder, ContextCommandBuilder, EventBuilder, InhibitorBuilder, ExtensionBuilder,
27
- /**
28
- ** Imported exports
29
- */
30
- Discord,
31
- /**
32
- ** Properties
33
- */
34
- version,
35
- /**
36
- ** Tools
37
- */
38
- XernerxLog, };
39
- //# sourceMappingURL=main.d.ts.map
18
+ 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,
45
+ };
46
+ //# sourceMappingURL=main.d.ts.map
package/dist/main.js CHANGED
@@ -1,40 +1,47 @@
1
1
  import * as fs from 'fs';
2
2
  import XernerxClient from './client/XernerxClient.js';
3
3
  import XernerxShardClient from './client/XernerxShardClient.js';
4
- import MessageCommandBuilder from './build/MessageCommandBuilder.js';
5
- import SlashCommandBuilder from './build/SlashCommandBuilder.js';
6
- import ContextCommandBuilder from './build/ContextCommandBuilder.js';
7
- import EventBuilder from './build/EventBuilder.js';
8
- import InhibitorBuilder from './build/InhibitorBuilder.js';
4
+ import XernerxMessageCommand from './build/XernerxMessageCommand.js';
5
+ import XernerxSlashCommand from './build/XernerxSlashCommand.js';
6
+ import XernerxContextCommand from './build/XernerxContextCommand.js';
7
+ import XernerxEvent from './build/XernerxEvent.js';
8
+ import XernerxInhibitor from './build/XernerxInhibitor.js';
9
9
  import XernerxLog from './tools/XernerxLog.js';
10
10
  export * from 'discord.js';
11
11
  export * from 'dumfunctions';
12
- import ExtensionBuilder from 'xernerx-extension-builder';
12
+ import XernerxExtension from 'xernerx-extension-builder';
13
13
  export * from './types/types.js';
14
14
  export * from './types/extenders.js';
15
15
  export * from './types/interfaces.js';
16
16
  import Discord from 'discord.js';
17
17
  const version = JSON.parse(fs.readFileSync('node_modules/xernerx/package.json', 'utf-8')).version;
18
18
  export default XernerxClient;
19
- export {
20
- /**
21
- ** Clients
22
- */
23
- XernerxClient, XernerxShardClient,
24
- /**
25
- ** Builders
26
- */
27
- MessageCommandBuilder, SlashCommandBuilder, ContextCommandBuilder, EventBuilder, InhibitorBuilder, ExtensionBuilder,
28
- /**
29
- ** Imported exports
30
- */
31
- Discord,
32
- /**
33
- ** Properties
34
- */
35
- version,
36
- /**
37
- ** Tools
38
- */
39
- XernerxLog, };
40
- //# sourceMappingURL=main.js.map
19
+ export {
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,
46
+ };
47
+ //# sourceMappingURL=main.js.map
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,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,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,mCAAmC,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;AAElG,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","sourcesContent":["import * as fs from 'fs';\n\nimport XernerxClient from './client/XernerxClient.js';\nimport XernerxShardClient from './client/XernerxShardClient.js';\nimport MessageCommandBuilder from './build/MessageCommandBuilder.js';\nimport SlashCommandBuilder from './build/SlashCommandBuilder.js';\nimport ContextCommandBuilder from './build/ContextCommandBuilder.js';\nimport EventBuilder from './build/EventBuilder.js';\nimport InhibitorBuilder from './build/InhibitorBuilder.js';\nimport XernerxLog from './tools/XernerxLog.js';\n\nexport * from 'discord.js';\nexport * from 'dumfunctions';\nimport ExtensionBuilder from 'xernerx-extension-builder';\n\nexport * from './types/types.js';\nexport * from './types/extenders.js';\nexport * from './types/interfaces.js';\n\nimport Discord from 'discord.js';\n\nconst version = JSON.parse(fs.readFileSync('node_modules/xernerx/package.json', 'utf-8')).version;\n\nexport default XernerxClient;\n\nexport {\n /**\n ** Clients\n */\n XernerxClient,\n XernerxShardClient,\n\n /**\n ** Builders\n */\n MessageCommandBuilder,\n SlashCommandBuilder,\n ContextCommandBuilder,\n EventBuilder,\n InhibitorBuilder,\n ExtensionBuilder,\n\n /**\n ** Imported exports\n */\n Discord,\n\n /**\n ** Properties\n */\n version,\n\n /**\n ** Tools\n */\n XernerxLog,\n};\n"]}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,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,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,mCAAmC,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;AAElG,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","sourcesContent":["import * as fs from 'fs';\n\nimport XernerxClient from './client/XernerxClient.js';\nimport XernerxShardClient from './client/XernerxShardClient.js';\nimport XernerxMessageCommand from './build/XernerxMessageCommand.js';\nimport XernerxSlashCommand from './build/XernerxSlashCommand.js';\nimport XernerxContextCommand from './build/XernerxContextCommand.js';\nimport XernerxEvent from './build/XernerxEvent.js';\nimport XernerxInhibitor from './build/XernerxInhibitor.js';\nimport XernerxLog from './tools/XernerxLog.js';\n\nexport * from 'discord.js';\nexport * from 'dumfunctions';\nimport XernerxExtension from 'xernerx-extension-builder';\n\nexport * from './types/types.js';\nexport * from './types/extenders.js';\nexport * from './types/interfaces.js';\n\nimport Discord from 'discord.js';\n\nconst version = JSON.parse(fs.readFileSync('node_modules/xernerx/package.json', 'utf-8')).version;\n\nexport default XernerxClient;\n\nexport {\n /**\n ** Clients\n */\n XernerxClient,\n XernerxShardClient,\n\n /**\n ** Builders\n */\n XernerxMessageCommand,\n XernerxSlashCommand,\n XernerxContextCommand,\n XernerxEvent,\n XernerxInhibitor,\n XernerxExtension,\n\n /**\n ** Imported exports\n */\n Discord,\n\n /**\n ** Properties\n */\n version,\n\n /**\n ** Tools\n */\n XernerxLog,\n};\n"]}
@@ -1,9 +1,12 @@
1
- import SlashCommandBuilder from '../build/SlashCommandBuilder.js';
2
- import ContextCommandBuilder from '../build/ContextCommandBuilder.js';
3
- import MessageCommandBuilder from '../build/MessageCommandBuilder.js';
1
+ import SlashCommandBuilder from '../build/XernerxSlashCommand.js';
2
+ import ContextCommandBuilder from '../build/XernerxContextCommand.js';
3
+ import MessageCommandBuilder from '../build/XernerxMessageCommand.js';
4
4
  import { XernerxMessage, XernerxMessageContextInteraction, XernerxSlashInteraction, XernerxUserContextInteraction } from '../types/extenders.js';
5
5
  import { MessageCommandArguments } from '../types/interfaces.js';
6
6
  import { XernerxInteraction } from '../types/types.js';
7
7
  export declare function messageArguments(message: XernerxMessage, command: MessageCommandBuilder): Promise<MessageCommandArguments>;
8
- export declare function interactionArguments(interaction: XernerxInteraction<XernerxSlashInteraction | XernerxUserContextInteraction | XernerxMessageContextInteraction> | any, command: ContextCommandBuilder | SlashCommandBuilder): Promise<any>;
9
- //# sourceMappingURL=Arguments.d.ts.map
8
+ export declare function interactionArguments(
9
+ interaction: XernerxInteraction<XernerxSlashInteraction | XernerxUserContextInteraction | XernerxMessageContextInteraction> | any,
10
+ command: ContextCommandBuilder | SlashCommandBuilder
11
+ ): Promise<any>;
12
+ //# sourceMappingURL=Arguments.d.ts.map
@@ -1,45 +1,35 @@
1
1
  export async function messageArguments(message, command) {
2
- const separator = command.separator || ' ', content = message.content.split(separator).slice(1);
3
- let args = {}, flags = {};
2
+ const separator = command.separator || ' ',
3
+ content = message.content.split(separator).slice(1);
4
+ let args = {},
5
+ flags = {};
4
6
  if (command.flags)
5
7
  command.flags.map((flag) => {
6
- if (!flags)
7
- flags = {};
8
- if (content.includes(flag.match))
9
- flags[flag.name] = true;
10
- else
11
- flags[flag.name] = false;
8
+ if (!flags) flags = {};
9
+ if (content.includes(flag.match)) flags[flag.name] = true;
10
+ else flags[flag.name] = false;
12
11
  const index = content.indexOf(flag.match);
13
- if (index > 0)
14
- content.splice(index, 1);
12
+ if (index > 0) content.splice(index, 1);
15
13
  });
16
14
  if (command.args)
17
15
  for (const argument of command.args) {
18
16
  const element = content.at(0) || null;
19
17
  if (!element) {
20
- if (typeof argument.default === 'function')
21
- args[argument.name] = argument.default(message);
18
+ if (typeof argument.default === 'function') args[argument.name] = argument.default(message);
22
19
  args[argument.name] = argument.default || null;
23
20
  continue;
24
21
  }
25
- if (argument.type === 'option')
26
- argument.match?.includes(element) ? (args[argument.name] = element) : (args[argument.name] = null);
27
- if (argument.type === 'number')
28
- args[argument.name] = parseInt(element);
29
- if (argument.type === 'integer')
30
- args[argument.name] = parseInt(element);
31
- if (argument.type === 'boolean')
32
- args[argument.name] = element === 'true' ? true : false;
33
- if (argument.type === 'confirm')
34
- args[argument.name] = element === 'yes' ? 'yes' : 'no';
35
- if (argument.type === 'string')
36
- args[argument.name] = element;
22
+ if (argument.type === 'option') argument.match?.includes(element) ? (args[argument.name] = element) : (args[argument.name] = null);
23
+ if (argument.type === 'number') args[argument.name] = parseInt(element);
24
+ if (argument.type === 'integer') args[argument.name] = parseInt(element);
25
+ if (argument.type === 'boolean') args[argument.name] = element === 'true' ? true : false;
26
+ if (argument.type === 'confirm') args[argument.name] = element === 'yes' ? 'yes' : 'no';
27
+ if (argument.type === 'string') args[argument.name] = element;
37
28
  if (argument.type === 'channel') {
38
29
  try {
39
30
  const channel = await message.client.channels.fetch(element);
40
31
  args[argument.name] = channel;
41
- }
42
- catch (e) {
32
+ } catch (e) {
43
33
  args[argument.name] = null;
44
34
  }
45
35
  }
@@ -47,32 +37,33 @@ export async function messageArguments(message, command) {
47
37
  try {
48
38
  const guild = await message.client.guilds.fetch(element);
49
39
  args[argument.name] = guild;
50
- }
51
- catch (e) {
40
+ } catch (e) {
52
41
  args[argument.name] = null;
53
42
  }
54
43
  }
55
44
  if (argument.type === 'mentionable') {
56
- (await Promise.all([message.guild?.roles, message.client.users, message.client.guilds, message.client.channels, message.guild?.members, message.channel.messages].map((req) => req
57
- ? req
58
- .fetch(element)
59
- .then((r) => r)
60
- .catch(() => null)
61
- : null))).map((mentionable) => {
62
- if (!args)
63
- args = {};
64
- if (mentionable)
65
- return (args[argument.name] = mentionable);
66
- else
67
- return (args[argument.name] = null);
45
+ (
46
+ await Promise.all(
47
+ [message.guild?.roles, message.client.users, message.client.guilds, message.client.channels, message.guild?.members, message.channel.messages].map((req) =>
48
+ req
49
+ ? req
50
+ .fetch(element)
51
+ .then((r) => r)
52
+ .catch(() => null)
53
+ : null
54
+ )
55
+ )
56
+ ).map((mentionable) => {
57
+ if (!args) args = {};
58
+ if (mentionable) return (args[argument.name] = mentionable);
59
+ else return (args[argument.name] = null);
68
60
  });
69
61
  }
70
62
  if (argument.type === 'role') {
71
63
  try {
72
64
  const role = await message.guild?.roles.fetch(element);
73
65
  args[argument.name] = role;
74
- }
75
- catch (e) {
66
+ } catch (e) {
76
67
  args[argument.name] = null;
77
68
  }
78
69
  }
@@ -80,8 +71,7 @@ export async function messageArguments(message, command) {
80
71
  try {
81
72
  const user = await message.client.users.fetch(element);
82
73
  args[argument.name] = user;
83
- }
84
- catch (e) {
74
+ } catch (e) {
85
75
  args[argument.name] = null;
86
76
  }
87
77
  }
@@ -89,8 +79,7 @@ export async function messageArguments(message, command) {
89
79
  try {
90
80
  const member = await message.guild?.members.fetch(element);
91
81
  args[argument.name] = member;
92
- }
93
- catch (e) {
82
+ } catch (e) {
94
83
  args[argument.name] = null;
95
84
  }
96
85
  }
@@ -98,20 +87,18 @@ export async function messageArguments(message, command) {
98
87
  try {
99
88
  const msg = await message.channel?.messages.fetch(element);
100
89
  args[argument.name] = msg;
101
- }
102
- catch (e) {
90
+ } catch (e) {
103
91
  args[argument.name] = null;
104
92
  }
105
93
  }
106
94
  if (argument.type === 'list') {
107
95
  let separator = String(argument.separator) || ',';
108
- if (separator.startsWith('/') && separator.endsWith('/'))
109
- separator = separator.replace(/^\/|\/$/gim, '');
96
+ if (separator.startsWith('/') && separator.endsWith('/')) separator = separator.replace(/^\/|\/$/gim, '');
110
97
  const items = content.join(' ').split(new RegExp(' *' + separator + ' *', 'gi'));
111
- if (!argument.content)
112
- args[argument.name] = items;
98
+ if (!argument.content) args[argument.name] = items;
113
99
  else {
114
- const contents = argument.content.map((content) => content.toLowerCase()), itemList = [];
100
+ const contents = argument.content.map((content) => content.toLowerCase()),
101
+ itemList = [];
115
102
  items.map((item) => (contents.includes(item.toLowerCase()) ? itemList.push(argument.content?.at(contents.indexOf(item.toLowerCase()))) : null));
116
103
  args[argument.name] = itemList;
117
104
  break;
@@ -123,16 +110,16 @@ export async function messageArguments(message, command) {
123
110
  }
124
111
  content.splice(0, 1);
125
112
  }
126
- if (!command.flags)
127
- flags = null;
128
- if (!command.args)
129
- args = null;
113
+ if (!command.flags) flags = null;
114
+ if (!command.args) args = null;
130
115
  return { args, flags };
131
116
  }
132
117
  export async function interactionArguments(interaction, command) {
133
118
  if (command.fileType === 'SlashCommand') {
134
119
  const options = {};
135
- let args = interaction?.options?._hoistedOptions, group = interaction?.options?._group, subcommand = interaction?.options?._subcommand;
120
+ let args = interaction?.options?._hoistedOptions,
121
+ group = interaction?.options?._group,
122
+ subcommand = interaction?.options?._subcommand;
136
123
  if (interaction.options._hoistedOptions) {
137
124
  for (const option of interaction.options._hoistedOptions) {
138
125
  options[option.name] = option.member || option.channel || option.user || option.role || option.value;
@@ -142,10 +129,8 @@ export async function interactionArguments(interaction, command) {
142
129
  return { args, group, subcommand };
143
130
  }
144
131
  if (command.fileType === 'ContextCommand') {
145
- if (command.type === 'user')
146
- return await interaction.client.users.fetch(interaction.targetId);
147
- if (command.type === 'message')
148
- return await interaction.channel.messages.fetch(interaction.targetId);
132
+ if (command.type === 'user') return await interaction.client.users.fetch(interaction.targetId);
133
+ if (command.type === 'message') return await interaction.channel.messages.fetch(interaction.targetId);
149
134
  }
150
135
  }
151
- //# sourceMappingURL=Arguments.js.map
136
+ //# sourceMappingURL=Arguments.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Arguments.js","sourceRoot":"","sources":["../../src/models/Arguments.ts"],"names":[],"mappings":"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","sourcesContent":["import SlashCommandBuilder from '../build/SlashCommandBuilder.js';\nimport ContextCommandBuilder from '../build/ContextCommandBuilder.js';\nimport MessageCommandBuilder from '../build/MessageCommandBuilder.js';\nimport { XernerxMessage, XernerxMessageContextInteraction, XernerxSlashInteraction, XernerxUserContextInteraction } from '../types/extenders.js';\nimport { MessageCommandArguments } from '../types/interfaces.js';\nimport { XernerxInteraction } from '../types/types.js';\n\nexport async function messageArguments(message: XernerxMessage, command: MessageCommandBuilder): Promise<MessageCommandArguments> {\n const separator = command.separator || ' ',\n content = message.content.split(separator).slice(1);\n\n let args: Record<string, unknown> | null = {},\n flags: Record<string, boolean> | null = {};\n\n if (command.flags)\n command.flags.map((flag) => {\n if (!flags) flags = {};\n\n if (content.includes(flag.match)) flags[flag.name] = true;\n else flags[flag.name] = false;\n\n const index = content.indexOf(flag.match);\n\n if (index > 0) content.splice(index, 1);\n });\n\n if (command.args)\n for (const argument of command.args) {\n const element = content.at(0) || null;\n\n if (!element) {\n if (typeof argument.default === 'function') args[argument.name] = argument.default(message);\n args[argument.name] = argument.default || null;\n continue;\n }\n\n if (argument.type === 'option') argument.match?.includes(element) ? (args[argument.name] = element) : (args[argument.name] = null);\n\n if (argument.type === 'number') args[argument.name] = parseInt(element);\n\n if (argument.type === 'integer') args[argument.name] = parseInt(element);\n\n if (argument.type === 'boolean') args[argument.name] = element === 'true' ? true : false;\n\n if (argument.type === 'confirm') args[argument.name] = element === 'yes' ? 'yes' : 'no';\n\n if (argument.type === 'string') args[argument.name] = element;\n\n if (argument.type === 'channel') {\n try {\n const channel = await message.client.channels.fetch(element);\n\n args[argument.name] = channel;\n } catch (e) {\n args[argument.name] = null;\n }\n }\n\n if (argument.type === 'guild') {\n try {\n const guild = await message.client.guilds.fetch(element);\n\n args[argument.name] = guild;\n } catch (e) {\n args[argument.name] = null;\n }\n }\n\n if (argument.type === 'mentionable') {\n (\n await Promise.all(\n [message.guild?.roles, message.client.users, message.client.guilds, message.client.channels, message.guild?.members, message.channel.messages].map((req) =>\n req\n ? req\n .fetch(element)\n .then((r) => r)\n .catch(() => null)\n : null\n )\n )\n ).map((mentionable) => {\n if (!args) args = {};\n if (mentionable) return (args[argument.name] = mentionable);\n else return (args[argument.name] = null);\n });\n }\n if (argument.type === 'role') {\n try {\n const role = await message.guild?.roles.fetch(element);\n\n args[argument.name] = role;\n } catch (e) {\n args[argument.name] = null;\n }\n }\n if (argument.type === 'user') {\n try {\n const user = await message.client.users.fetch(element);\n\n args[argument.name] = user;\n } catch (e) {\n args[argument.name] = null;\n }\n }\n if (argument.type === 'member') {\n try {\n const member = await message.guild?.members.fetch(element);\n\n args[argument.name] = member;\n } catch (e) {\n args[argument.name] = null;\n }\n }\n if (argument.type === 'message') {\n try {\n const msg = await message.channel?.messages.fetch(element);\n\n args[argument.name] = msg;\n } catch (e) {\n args[argument.name] = null;\n }\n }\n if (argument.type === 'list') {\n let separator = String(argument.separator) || ',';\n\n if (separator.startsWith('/') && separator.endsWith('/')) separator = separator.replace(/^\\/|\\/$/gim, '');\n\n const items = content.join(' ').split(new RegExp(' *' + separator + ' *', 'gi'));\n\n if (!argument.content) args[argument.name] = items;\n else {\n const contents = argument.content.map((content) => content.toLowerCase()),\n itemList: Array<string> = [];\n\n items.map((item) => (contents.includes(item.toLowerCase()) ? itemList.push(argument.content?.at(contents.indexOf(item.toLowerCase())) as string) : null));\n\n args[argument.name] = itemList;\n break;\n }\n }\n\n if (argument.type === 'rest') {\n args[argument.name] = content.join(separator);\n break;\n }\n\n content.splice(0, 1);\n }\n\n if (!command.flags) flags = null;\n if (!command.args) args = null;\n\n return { args, flags };\n}\n\nexport async function interactionArguments(\n interaction: XernerxInteraction<XernerxSlashInteraction | XernerxUserContextInteraction | XernerxMessageContextInteraction> | any,\n command: ContextCommandBuilder | SlashCommandBuilder\n) {\n if (command.fileType === 'SlashCommand') {\n const options: Record<string, string> = {};\n\n let args = interaction?.options?._hoistedOptions,\n group = interaction?.options?._group,\n subcommand = interaction?.options?._subcommand;\n\n if (interaction.options._hoistedOptions) {\n for (const option of interaction.options._hoistedOptions) {\n options[option.name] = option.member || option.channel || option.user || option.role || option.value;\n }\n\n args = options;\n }\n\n return { args, group, subcommand };\n }\n\n if (command.fileType === 'ContextCommand') {\n if (command.type === 'user') return await interaction.client.users.fetch(interaction.targetId);\n if (command.type === 'message') return await interaction.channel.messages.fetch(interaction.targetId);\n }\n}\n"]}
1
+ {"version":3,"file":"Arguments.js","sourceRoot":"","sources":["../../src/models/Arguments.ts"],"names":[],"mappings":"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","sourcesContent":["import SlashCommandBuilder from '../build/XernerxSlashCommand.js';\nimport ContextCommandBuilder from '../build/XernerxContextCommand.js';\nimport MessageCommandBuilder from '../build/XernerxMessageCommand.js';\nimport { XernerxMessage, XernerxMessageContextInteraction, XernerxSlashInteraction, XernerxUserContextInteraction } from '../types/extenders.js';\nimport { MessageCommandArguments } from '../types/interfaces.js';\nimport { XernerxInteraction } from '../types/types.js';\n\nexport async function messageArguments(message: XernerxMessage, command: MessageCommandBuilder): Promise<MessageCommandArguments> {\n const separator = command.separator || ' ',\n content = message.content.split(separator).slice(1);\n\n let args: Record<string, unknown> | null = {},\n flags: Record<string, boolean> | null = {};\n\n if (command.flags)\n command.flags.map((flag) => {\n if (!flags) flags = {};\n\n if (content.includes(flag.match)) flags[flag.name] = true;\n else flags[flag.name] = false;\n\n const index = content.indexOf(flag.match);\n\n if (index > 0) content.splice(index, 1);\n });\n\n if (command.args)\n for (const argument of command.args) {\n const element = content.at(0) || null;\n\n if (!element) {\n if (typeof argument.default === 'function') args[argument.name] = argument.default(message);\n args[argument.name] = argument.default || null;\n continue;\n }\n\n if (argument.type === 'option') argument.match?.includes(element) ? (args[argument.name] = element) : (args[argument.name] = null);\n\n if (argument.type === 'number') args[argument.name] = parseInt(element);\n\n if (argument.type === 'integer') args[argument.name] = parseInt(element);\n\n if (argument.type === 'boolean') args[argument.name] = element === 'true' ? true : false;\n\n if (argument.type === 'confirm') args[argument.name] = element === 'yes' ? 'yes' : 'no';\n\n if (argument.type === 'string') args[argument.name] = element;\n\n if (argument.type === 'channel') {\n try {\n const channel = await message.client.channels.fetch(element);\n\n args[argument.name] = channel;\n } catch (e) {\n args[argument.name] = null;\n }\n }\n\n if (argument.type === 'guild') {\n try {\n const guild = await message.client.guilds.fetch(element);\n\n args[argument.name] = guild;\n } catch (e) {\n args[argument.name] = null;\n }\n }\n\n if (argument.type === 'mentionable') {\n (\n await Promise.all(\n [message.guild?.roles, message.client.users, message.client.guilds, message.client.channels, message.guild?.members, message.channel.messages].map((req) =>\n req\n ? req\n .fetch(element)\n .then((r) => r)\n .catch(() => null)\n : null\n )\n )\n ).map((mentionable) => {\n if (!args) args = {};\n if (mentionable) return (args[argument.name] = mentionable);\n else return (args[argument.name] = null);\n });\n }\n if (argument.type === 'role') {\n try {\n const role = await message.guild?.roles.fetch(element);\n\n args[argument.name] = role;\n } catch (e) {\n args[argument.name] = null;\n }\n }\n if (argument.type === 'user') {\n try {\n const user = await message.client.users.fetch(element);\n\n args[argument.name] = user;\n } catch (e) {\n args[argument.name] = null;\n }\n }\n if (argument.type === 'member') {\n try {\n const member = await message.guild?.members.fetch(element);\n\n args[argument.name] = member;\n } catch (e) {\n args[argument.name] = null;\n }\n }\n if (argument.type === 'message') {\n try {\n const msg = await message.channel?.messages.fetch(element);\n\n args[argument.name] = msg;\n } catch (e) {\n args[argument.name] = null;\n }\n }\n if (argument.type === 'list') {\n let separator = String(argument.separator) || ',';\n\n if (separator.startsWith('/') && separator.endsWith('/')) separator = separator.replace(/^\\/|\\/$/gim, '');\n\n const items = content.join(' ').split(new RegExp(' *' + separator + ' *', 'gi'));\n\n if (!argument.content) args[argument.name] = items;\n else {\n const contents = argument.content.map((content) => content.toLowerCase()),\n itemList: Array<string> = [];\n\n items.map((item) => (contents.includes(item.toLowerCase()) ? itemList.push(argument.content?.at(contents.indexOf(item.toLowerCase())) as string) : null));\n\n args[argument.name] = itemList;\n break;\n }\n }\n\n if (argument.type === 'rest') {\n args[argument.name] = content.join(separator);\n break;\n }\n\n content.splice(0, 1);\n }\n\n if (!command.flags) flags = null;\n if (!command.args) args = null;\n\n return { args, flags };\n}\n\nexport async function interactionArguments(\n interaction: XernerxInteraction<XernerxSlashInteraction | XernerxUserContextInteraction | XernerxMessageContextInteraction> | any,\n command: ContextCommandBuilder | SlashCommandBuilder\n) {\n if (command.fileType === 'SlashCommand') {\n const options: Record<string, string> = {};\n\n let args = interaction?.options?._hoistedOptions,\n group = interaction?.options?._group,\n subcommand = interaction?.options?._subcommand;\n\n if (interaction.options._hoistedOptions) {\n for (const option of interaction.options._hoistedOptions) {\n options[option.name] = option.member || option.channel || option.user || option.role || option.value;\n }\n\n args = options;\n }\n\n return { args, group, subcommand };\n }\n\n if (command.fileType === 'ContextCommand') {\n if (command.type === 'user') return await interaction.client.users.fetch(interaction.targetId);\n if (command.type === 'message') return await interaction.channel.messages.fetch(interaction.targetId);\n }\n}\n"]}
@@ -4,4 +4,4 @@ export default class XernerxError {
4
4
  stack: {} | undefined;
5
5
  constructor(message?: string, error?: Error | unknown);
6
6
  }
7
- //# sourceMappingURL=XernerxError.d.ts.map
7
+ //# sourceMappingURL=XernerxError.d.ts.map
@@ -8,4 +8,4 @@ export default class XernerxError {
8
8
  this.stack = error || new Error().stack;
9
9
  }
10
10
  }
11
- //# sourceMappingURL=XernerxError.js.map
11
+ //# sourceMappingURL=XernerxError.js.map
@@ -12,4 +12,4 @@ export default class XernerxLog {
12
12
  error(message: string, error?: XernerxError | unknown): void | null;
13
13
  ready(): void;
14
14
  }
15
- //# sourceMappingURL=XernerxLog.d.ts.map
15
+ //# sourceMappingURL=XernerxLog.d.ts.map
@@ -18,7 +18,12 @@ export default class XernerxLog {
18
18
  }
19
19
  ready() {
20
20
  this.client.prependOnceListener('ready', async (synced) => {
21
- this.info(`${synced.user.tag} is now online, watching ${this.client.guilds.cache.size} guilds, using ${this.client.settings.local ? await this.client.guilds.fetch(this.client.settings.local) : 'none'} as local guild.`, this.readyLog);
21
+ this.info(
22
+ `${synced.user.tag} is now online, watching ${this.client.guilds.cache.size} guilds, using ${
23
+ this.client.settings.local ? await this.client.guilds.fetch(this.client.settings.local) : 'none'
24
+ } as local guild.`,
25
+ this.readyLog
26
+ );
22
27
  const files = [];
23
28
  for (const [id, data] of this.client.commands.message) {
24
29
  files.push(data);
@@ -46,4 +51,4 @@ export default class XernerxLog {
46
51
  });
47
52
  }
48
53
  }
49
- //# sourceMappingURL=XernerxLog.js.map
54
+ //# sourceMappingURL=XernerxLog.js.map
@@ -8,14 +8,10 @@ export interface XernerxUser extends User {
8
8
  export interface XernerxMember extends GuildMember {
9
9
  username: string;
10
10
  }
11
- export interface XernerxGuild extends Guild {
12
- }
13
- export interface XernerxGuildChannel extends GuildChannel {
14
- }
15
- export interface XernerxDMChannel extends DMChannel {
16
- }
17
- interface XernerxCommand {
18
- }
11
+ export interface XernerxGuild extends Guild {}
12
+ export interface XernerxGuildChannel extends GuildChannel {}
13
+ export interface XernerxDMChannel extends DMChannel {}
14
+ interface XernerxCommand {}
19
15
  export interface XernerxMessage extends Message, XernerxCommand {
20
16
  user: XernerxUser;
21
17
  util: MessageUtil;
@@ -33,4 +29,4 @@ export interface XernerxMessageContextInteraction extends MessageContextMenuComm
33
29
  util: InteractionUtil;
34
30
  }
35
31
  export {};
36
- //# sourceMappingURL=extenders.d.ts.map
32
+ //# sourceMappingURL=extenders.d.ts.map
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=extenders.js.map
2
+ //# sourceMappingURL=extenders.js.map
@@ -3,14 +3,14 @@ import CommandHandler from '../handlers/CommandHandler.js';
3
3
  import EventHandler from '../handlers/EventHandler.js';
4
4
  import InhibitorHandler from '../handlers/InhibitorHandler.js';
5
5
  import WebhookHandler from '../handlers/WebhookHandler.js';
6
- import ContextCommandBuilder from '../build/ContextCommandBuilder.js';
7
- import MessageCommandBuilder from '../build/MessageCommandBuilder.js';
8
- import SlashCommandBuilder from '../build/SlashCommandBuilder.js';
9
- import { Locales, MessageCommandArgumentType, PermissionNames, SlashCommandArgumentType, EventType, InhibitorType } from './types.js';
6
+ import ContextCommandBuilder from '../build/XernerxContextCommand.js';
7
+ import MessageCommandBuilder from '../build/XernerxMessageCommand.js';
8
+ import SlashCommandBuilder from '../build/XernerxSlashCommand.js';
9
+ import { Locales, MessageCommandArgumentType, PermissionNames, SlashCommandArgumentType, XernerxEventType, InhibitorType } from './types.js';
10
10
  import ExtensionHandler from '../handlers/ExtensionHandler.js';
11
11
  import { XernerxMessage, XernerxUser } from './extenders.js';
12
12
  export interface XernerxOptions {
13
- local?: string;
13
+ local: string;
14
14
  global?: boolean;
15
15
  ownerId?: string | Array<string>;
16
16
  permissions?: {
@@ -68,11 +68,14 @@ export interface DBLOptions {
68
68
  }
69
69
  export interface XernerxCache {
70
70
  messages: Collection<string, string>;
71
- cooldowns: Collection<string, {
72
- id: string;
73
- command: string;
74
- createdTimestamp: number;
75
- }>;
71
+ cooldowns: Collection<
72
+ string,
73
+ {
74
+ id: string;
75
+ command: string;
76
+ createdTimestamp: number;
77
+ }
78
+ >;
76
79
  }
77
80
  interface CommandHandlerOptions {
78
81
  directory: string;
@@ -206,13 +209,13 @@ export interface SlashCommandGroupOptions {
206
209
  description: string;
207
210
  subcommands: Array<SlashCommandSubcommandOptions>;
208
211
  }
209
- export interface SlashCommandArguments {
210
- args: Record<string, string>;
212
+ export interface SlashCommandArguments<T = SlashCommandArgumentType> {
213
+ args: Record<string, any>;
211
214
  subcommand: string;
212
215
  group: string;
213
216
  }
214
217
  export interface EventBuilderOptions {
215
- name: EventType;
218
+ name: XernerxEventType;
216
219
  emitter?: 'client' | 'process';
217
220
  type?: 'discord' | 'node';
218
221
  once?: boolean;
@@ -230,4 +233,4 @@ export interface PresenceOptions {
230
233
  }
231
234
  export type ContextCommandArguments<T extends 'user' | 'message'> = T extends 'user' ? XernerxUser : XernerxMessage;
232
235
  export {};
233
- //# sourceMappingURL=interfaces.d.ts.map
236
+ //# sourceMappingURL=interfaces.d.ts.map