xernerx 4.5.7 → 4.5.9

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 +2 -4
  2. package/dist/build/XernerxContextCommand.d.ts.map +1 -1
  3. package/dist/build/XernerxContextCommand.js +1 -3
  4. package/dist/build/XernerxContextCommand.js.map +1 -1
  5. package/dist/build/XernerxEvent.d.ts +2 -3
  6. package/dist/build/XernerxEvent.d.ts.map +1 -1
  7. package/dist/build/XernerxEvent.js +1 -3
  8. package/dist/build/XernerxEvent.js.map +1 -1
  9. package/dist/build/XernerxInhibitor.d.ts +2 -4
  10. package/dist/build/XernerxInhibitor.d.ts.map +1 -1
  11. package/dist/build/XernerxInhibitor.js +1 -3
  12. package/dist/build/XernerxInhibitor.js.map +1 -1
  13. package/dist/build/XernerxMessageCommand.d.ts +2 -4
  14. package/dist/build/XernerxMessageCommand.d.ts.map +1 -1
  15. package/dist/build/XernerxMessageCommand.js +1 -3
  16. package/dist/build/XernerxMessageCommand.js.map +1 -1
  17. package/dist/build/XernerxSlashCommand.d.ts +2 -4
  18. package/dist/build/XernerxSlashCommand.d.ts.map +1 -1
  19. package/dist/build/XernerxSlashCommand.js +1 -3
  20. package/dist/build/XernerxSlashCommand.js.map +1 -1
  21. package/dist/client/XernerxClient.d.ts +0 -1
  22. package/dist/client/XernerxClient.d.ts.map +1 -1
  23. package/dist/client/XernerxClient.js +0 -1
  24. package/dist/client/XernerxClient.js.map +1 -1
  25. package/dist/client/XernerxShardClient.d.ts +0 -1
  26. package/dist/client/XernerxShardClient.d.ts.map +1 -1
  27. package/dist/client/XernerxShardClient.js +0 -1
  28. package/dist/client/XernerxShardClient.js.map +1 -1
  29. package/dist/functions/deploy.d.ts +0 -1
  30. package/dist/functions/deploy.d.ts.map +1 -1
  31. package/dist/functions/deploy.js +0 -1
  32. package/dist/functions/deploy.js.map +1 -1
  33. package/dist/functions/load.d.ts +0 -1
  34. package/dist/functions/load.d.ts.map +1 -1
  35. package/dist/functions/load.js +0 -1
  36. package/dist/functions/load.js.map +1 -1
  37. package/dist/functions/reload.d.ts +0 -1
  38. package/dist/functions/reload.d.ts.map +1 -1
  39. package/dist/functions/reload.js +0 -1
  40. package/dist/functions/reload.js.map +1 -1
  41. package/dist/functions/sendWebhook.d.ts +0 -1
  42. package/dist/functions/sendWebhook.d.ts.map +1 -1
  43. package/dist/functions/sendWebhook.js +0 -1
  44. package/dist/functions/sendWebhook.js.map +1 -1
  45. package/dist/functions/setPresence.d.ts +0 -1
  46. package/dist/functions/setPresence.d.ts.map +1 -1
  47. package/dist/functions/setPresence.js +0 -1
  48. package/dist/functions/setPresence.js.map +1 -1
  49. package/dist/functions/xernerxUser.d.ts +0 -1
  50. package/dist/functions/xernerxUser.d.ts.map +1 -1
  51. package/dist/functions/xernerxUser.js +3 -7
  52. package/dist/functions/xernerxUser.js.map +1 -1
  53. package/dist/handlers/CommandHandler.d.ts +0 -1
  54. package/dist/handlers/CommandHandler.d.ts.map +1 -1
  55. package/dist/handlers/CommandHandler.js +1 -2
  56. package/dist/handlers/CommandHandler.js.map +1 -1
  57. package/dist/handlers/EventHandler.d.ts +0 -1
  58. package/dist/handlers/EventHandler.d.ts.map +1 -1
  59. package/dist/handlers/EventHandler.js +0 -1
  60. package/dist/handlers/EventHandler.js.map +1 -1
  61. package/dist/handlers/ExtensionHandler.d.ts +0 -1
  62. package/dist/handlers/ExtensionHandler.d.ts.map +1 -1
  63. package/dist/handlers/ExtensionHandler.js +0 -1
  64. package/dist/handlers/ExtensionHandler.js.map +1 -1
  65. package/dist/handlers/Handler.d.ts +0 -1
  66. package/dist/handlers/Handler.d.ts.map +1 -1
  67. package/dist/handlers/Handler.js +0 -1
  68. package/dist/handlers/Handler.js.map +1 -1
  69. package/dist/handlers/InhibitorHandler.d.ts +0 -1
  70. package/dist/handlers/InhibitorHandler.d.ts.map +1 -1
  71. package/dist/handlers/InhibitorHandler.js +0 -1
  72. package/dist/handlers/InhibitorHandler.js.map +1 -1
  73. package/dist/handlers/WebhookHandler.d.ts +0 -1
  74. package/dist/handlers/WebhookHandler.d.ts.map +1 -1
  75. package/dist/handlers/WebhookHandler.js +0 -1
  76. package/dist/handlers/WebhookHandler.js.map +1 -1
  77. package/dist/main.d.ts +0 -1
  78. package/dist/main.d.ts.map +1 -1
  79. package/dist/main.js +0 -1
  80. package/dist/main.js.map +1 -1
  81. package/dist/models/Arguments.d.ts +0 -1
  82. package/dist/models/Arguments.d.ts.map +1 -1
  83. package/dist/models/Arguments.js +0 -1
  84. package/dist/models/Arguments.js.map +1 -1
  85. package/dist/tools/XernerxError.d.ts +0 -1
  86. package/dist/tools/XernerxError.d.ts.map +1 -1
  87. package/dist/tools/XernerxError.js +0 -1
  88. package/dist/tools/XernerxError.js.map +1 -1
  89. package/dist/tools/XernerxLog.d.ts +0 -1
  90. package/dist/tools/XernerxLog.d.ts.map +1 -1
  91. package/dist/tools/XernerxLog.js +0 -1
  92. package/dist/tools/XernerxLog.js.map +1 -1
  93. package/dist/types/extenders.d.ts +31 -2
  94. package/dist/types/extenders.d.ts.map +1 -1
  95. package/dist/types/extenders.js +0 -1
  96. package/dist/types/extenders.js.map +1 -1
  97. package/dist/types/interfaces.d.ts +4 -2
  98. package/dist/types/interfaces.d.ts.map +1 -1
  99. package/dist/types/interfaces.js +0 -1
  100. package/dist/types/interfaces.js.map +1 -1
  101. package/dist/types/types.d.ts +0 -1
  102. package/dist/types/types.d.ts.map +1 -1
  103. package/dist/types/types.js +0 -1
  104. package/dist/types/types.js.map +1 -1
  105. package/dist/utils/ClientUtil.d.ts +7 -2
  106. package/dist/utils/ClientUtil.d.ts.map +1 -1
  107. package/dist/utils/ClientUtil.js +14 -1
  108. package/dist/utils/ClientUtil.js.map +1 -1
  109. package/dist/utils/InteractionUtil.d.ts +1 -2
  110. package/dist/utils/InteractionUtil.d.ts.map +1 -1
  111. package/dist/utils/InteractionUtil.js +1 -1
  112. package/dist/utils/InteractionUtil.js.map +1 -1
  113. package/dist/utils/MessageUtil.d.ts +0 -1
  114. package/dist/utils/MessageUtil.d.ts.map +1 -1
  115. package/dist/utils/MessageUtil.js +2 -3
  116. package/dist/utils/MessageUtil.js.map +1 -1
  117. package/dist/utils/Util.d.ts +0 -1
  118. package/dist/utils/Util.d.ts.map +1 -1
  119. package/dist/utils/Util.js +0 -1
  120. package/dist/utils/Util.js.map +1 -1
  121. package/dist/validators/commandValidation.d.ts +0 -1
  122. package/dist/validators/commandValidation.d.ts.map +1 -1
  123. package/dist/validators/commandValidation.js +0 -1
  124. package/dist/validators/commandValidation.js.map +1 -1
  125. package/dist/validators/inhibitorValidations.d.ts +1 -2
  126. package/dist/validators/inhibitorValidations.d.ts.map +1 -1
  127. package/dist/validators/inhibitorValidations.js +0 -1
  128. package/dist/validators/inhibitorValidations.js.map +1 -1
  129. package/package.json +1 -1
@@ -1,5 +1,4 @@
1
1
  /** @format */
2
-
3
2
  import { ActionRowBuilder, ButtonBuilder, ButtonStyle, StringSelectMenuBuilder } from 'discord.js';
4
3
  import Util from './Util.js';
5
4
  import XernerxError from '../tools/XernerxError.js';
@@ -17,6 +16,7 @@ export default class InteractionUtil extends Util {
17
16
  if (!content) throw new XernerxError(`Can't send a message without content.`);
18
17
  return await (this.interaction.replied || this.interaction.deferred ? this.interaction.editReply(content) : this.interaction.reply(content));
19
18
  }
19
+ // @ts-ignore
20
20
  commandName() {}
21
21
  async paginator(embeds, options = {}) {
22
22
  let buttonRow, menuRow;
@@ -1 +1 @@
1
- {"version":3,"file":"InteractionUtil.js","sourceRoot":"","sources":["../../src/utils/InteractionUtil.ts"],"names":[],"mappings":"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","sourcesContent":["import { ActionRowBuilder, ButtonBuilder, ButtonStyle, EmbedBuilder, InteractionEditReplyOptions, InteractionReplyOptions, MessagePayload, StringSelectMenuBuilder } from 'discord.js';\n\nimport XernerxClient from '../client/XernerxClient.js';\nimport { PaginatorOptions } from '../types/interfaces.js';\nimport { XernerxInteraction } from '../types/types.js';\nimport Util from './Util.js';\nimport XernerxError from '../tools/XernerxError.js';\nimport { XernerxMessageContextInteraction, XernerxSlashInteraction, XernerxUserContextInteraction } from '../types/extenders.js';\n\nexport default class InteractionUtil extends Util {\n private interaction;\n\n constructor(client: XernerxClient, interaction: XernerxInteraction<XernerxSlashInteraction | XernerxUserContextInteraction | XernerxMessageContextInteraction>) {\n super(client);\n\n this.interaction = interaction;\n }\n\n public async send(content: any) {\n if (!content) throw new XernerxError(`Can't send a message without content.`);\n\n return await this.interaction.channel?.send(content);\n }\n\n public async reply(content: string | MessagePayload | InteractionReplyOptions | InteractionEditReplyOptions) {\n if (!content) throw new XernerxError(`Can't send a message without content.`);\n\n return await (this.interaction.replied || this.interaction.deferred ? this.interaction.editReply(content) : this.interaction.reply(content as InteractionReplyOptions));\n }\n\n public commandName() {}\n\n public async paginator(embeds: Array<EmbedBuilder>, options: PaginatorOptions = {}) {\n let buttonRow, menuRow;\n\n if (embeds.length <= 0) throw new XernerxError(`Can't make a paginator without embeds`);\n\n options = {\n type: options.type ?? 'combined',\n buttons: options.buttons ?? ['⏪', '◀️', '⏹️', '▶️', '⏩'],\n description: options.description ?? false,\n placeholder: options.placeholder ?? 'Change page',\n index: options.index ?? 0,\n send: options.send ?? false,\n filter: options.filter ?? (() => true),\n time: options.time ?? 300000,\n };\n\n if (options.type == 'button' || options.type == 'combined') {\n if (!options.buttons) throw new XernerxError(`¯\\\\_(ツ)_/¯ Somehow there are no buttons? ¯\\\\_(ツ)_/¯`);\n\n buttonRow = new ActionRowBuilder().addComponents(\n ...options.buttons.map((button, i) => new ButtonBuilder().setCustomId(`${this.interaction.id}-${i}`).setEmoji(button).setStyle(ButtonStyle.Primary))\n );\n }\n\n if (options.type == 'select-menu' || options.type == 'combined') {\n menuRow = new ActionRowBuilder().addComponents(\n new StringSelectMenuBuilder()\n .setCustomId(`${this.interaction.id}-select-menu`)\n .setPlaceholder(options.placeholder as string)\n .addOptions(\n ...embeds.map((embed, i) => ({ label: embed.data.title || 'No Title', description: (options.description ? embed.data.description : undefined) || undefined, value: `${i}` }))\n )\n );\n }\n\n let index = options.index || 0;\n\n return options.send\n ? await this.interaction.util.send({\n embeds: [embeds[index]],\n components: [options.type == 'combined' || options.type == 'button' ? buttonRow : null, options.type == 'combined' || options.type == 'select-menu' ? menuRow : null].filter(\n (x) => x\n ),\n } as never)\n : await this.interaction.util\n .reply({\n embeds: [embeds[index]],\n components: [options.type == 'combined' || options.type == 'button' ? buttonRow : null, options.type == 'combined' || options.type == 'select-menu' ? menuRow : null].filter(\n (x) => x\n ),\n } as never)\n .then(async (msg) => {\n const collector = this.interaction.channel\n ?.createMessageComponentCollector({ time: options.time })\n\n .on('collect', (collect) => {\n if (!collect.customId.startsWith(this.interaction.id)) return;\n\n if (collect.customId.endsWith('select-menu')) {\n index = Number((collect as unknown as Record<string, Array<string>>).values[0]);\n\n collect.update({ embeds: [embeds[index]] });\n } else {\n const option = Number(collect.customId.split(/-/)[1]);\n\n let embed = embeds[index];\n\n if (option == 0) {\n index = 0;\n embed = embeds[index];\n collect.update({ embeds: [embed] });\n }\n if (option == 1) {\n index = embeds.indexOf(embed) >= 1 ? embeds.indexOf(embed) - 1 : 0;\n embed = embeds[index];\n collect.update({ embeds: [embed] });\n }\n if (option == 2) {\n collect.update({ components: [] });\n collector?.stop();\n }\n if (option == 3) {\n index = embeds.indexOf(embed) < embeds.length - 1 ? embeds.indexOf(embed) + 1 : embeds.length - 1;\n embed = embeds[index];\n collect.update({ embeds: [embed] });\n }\n if (option == 4) {\n index = embeds.length - 1;\n embed = embeds[index];\n collect.update({ embeds: [embed] });\n }\n }\n })\n .on('end', async () => {\n this.interaction.editReply({ components: [] });\n });\n });\n }\n}\n"]}
1
+ {"version":3,"file":"InteractionUtil.js","sourceRoot":"","sources":["../../src/utils/InteractionUtil.ts"],"names":[],"mappings":"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","sourcesContent":["/** @format */\n\nimport { ActionRowBuilder, ButtonBuilder, ButtonStyle, EmbedBuilder, InteractionEditReplyOptions, InteractionReplyOptions, MessagePayload, StringSelectMenuBuilder } from 'discord.js';\n\nimport XernerxClient from '../client/XernerxClient.js';\nimport { PaginatorOptions } from '../types/interfaces.js';\nimport { XernerxInteraction } from '../types/types.js';\nimport Util from './Util.js';\nimport XernerxError from '../tools/XernerxError.js';\nimport { XernerxMessageContextInteraction, XernerxSlashInteraction, XernerxUserContextInteraction } from '../types/extenders.js';\n\nexport default class InteractionUtil extends Util {\n\tprivate interaction;\n\n\tconstructor(client: XernerxClient, interaction: XernerxInteraction<XernerxSlashInteraction | XernerxUserContextInteraction | XernerxMessageContextInteraction>) {\n\t\tsuper(client);\n\n\t\tthis.interaction = interaction;\n\t}\n\n\tpublic async send(content: any) {\n\t\tif (!content) throw new XernerxError(`Can't send a message without content.`);\n\n\t\treturn await this.interaction.channel?.send(content);\n\t}\n\n\tpublic async reply(content: string | MessagePayload | InteractionReplyOptions | InteractionEditReplyOptions) {\n\t\tif (!content) throw new XernerxError(`Can't send a message without content.`);\n\n\t\treturn await (this.interaction.replied || this.interaction.deferred ? this.interaction.editReply(content) : this.interaction.reply(content as InteractionReplyOptions));\n\t}\n\n\t// @ts-ignore\n\tprivate commandName() {}\n\n\tpublic async paginator(embeds: Array<EmbedBuilder>, options: PaginatorOptions = {}) {\n\t\tlet buttonRow, menuRow;\n\n\t\tif (embeds.length <= 0) throw new XernerxError(`Can't make a paginator without embeds`);\n\n\t\toptions = {\n\t\t\ttype: options.type ?? 'combined',\n\t\t\tbuttons: options.buttons ?? ['⏪', '◀️', '⏹️', '▶️', '⏩'],\n\t\t\tdescription: options.description ?? false,\n\t\t\tplaceholder: options.placeholder ?? 'Change page',\n\t\t\tindex: options.index ?? 0,\n\t\t\tsend: options.send ?? false,\n\t\t\tfilter: options.filter ?? (() => true),\n\t\t\ttime: options.time ?? 300000,\n\t\t};\n\n\t\tif (options.type == 'button' || options.type == 'combined') {\n\t\t\tif (!options.buttons) throw new XernerxError(`¯\\\\_(ツ)_/¯ Somehow there are no buttons? ¯\\\\_(ツ)_/¯`);\n\n\t\t\tbuttonRow = new ActionRowBuilder().addComponents(\n\t\t\t\t...options.buttons.map((button, i) => new ButtonBuilder().setCustomId(`${this.interaction.id}-${i}`).setEmoji(button).setStyle(ButtonStyle.Primary))\n\t\t\t);\n\t\t}\n\n\t\tif (options.type == 'select-menu' || options.type == 'combined') {\n\t\t\tmenuRow = new ActionRowBuilder().addComponents(\n\t\t\t\tnew StringSelectMenuBuilder()\n\t\t\t\t\t.setCustomId(`${this.interaction.id}-select-menu`)\n\t\t\t\t\t.setPlaceholder(options.placeholder as string)\n\t\t\t\t\t.addOptions(...embeds.map((embed, i) => ({ label: embed.data.title || 'No Title', description: (options.description ? embed.data.description : undefined) || undefined, value: `${i}` })))\n\t\t\t);\n\t\t}\n\n\t\tlet index = options.index || 0;\n\n\t\treturn options.send\n\t\t\t? await this.interaction.util.send({\n\t\t\t\t\tembeds: [embeds[index]],\n\t\t\t\t\tcomponents: [options.type == 'combined' || options.type == 'button' ? buttonRow : null, options.type == 'combined' || options.type == 'select-menu' ? menuRow : null].filter((x) => x),\n\t\t\t } as never)\n\t\t\t: await this.interaction.util\n\t\t\t\t\t.reply({\n\t\t\t\t\t\tembeds: [embeds[index]],\n\t\t\t\t\t\tcomponents: [options.type == 'combined' || options.type == 'button' ? buttonRow : null, options.type == 'combined' || options.type == 'select-menu' ? menuRow : null].filter((x) => x),\n\t\t\t\t\t} as never)\n\t\t\t\t\t.then(async (msg) => {\n\t\t\t\t\t\tconst collector = this.interaction.channel\n\t\t\t\t\t\t\t?.createMessageComponentCollector({ time: options.time })\n\n\t\t\t\t\t\t\t.on('collect', (collect) => {\n\t\t\t\t\t\t\t\tif (!collect.customId.startsWith(this.interaction.id)) return;\n\n\t\t\t\t\t\t\t\tif (collect.customId.endsWith('select-menu')) {\n\t\t\t\t\t\t\t\t\tindex = Number((collect as unknown as Record<string, Array<string>>).values[0]);\n\n\t\t\t\t\t\t\t\t\tcollect.update({ embeds: [embeds[index]] });\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tconst option = Number(collect.customId.split(/-/)[1]);\n\n\t\t\t\t\t\t\t\t\tlet embed = embeds[index];\n\n\t\t\t\t\t\t\t\t\tif (option == 0) {\n\t\t\t\t\t\t\t\t\t\tindex = 0;\n\t\t\t\t\t\t\t\t\t\tembed = embeds[index];\n\t\t\t\t\t\t\t\t\t\tcollect.update({ embeds: [embed] });\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif (option == 1) {\n\t\t\t\t\t\t\t\t\t\tindex = embeds.indexOf(embed) >= 1 ? embeds.indexOf(embed) - 1 : 0;\n\t\t\t\t\t\t\t\t\t\tembed = embeds[index];\n\t\t\t\t\t\t\t\t\t\tcollect.update({ embeds: [embed] });\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif (option == 2) {\n\t\t\t\t\t\t\t\t\t\tcollect.update({ components: [] });\n\t\t\t\t\t\t\t\t\t\tcollector?.stop();\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif (option == 3) {\n\t\t\t\t\t\t\t\t\t\tindex = embeds.indexOf(embed) < embeds.length - 1 ? embeds.indexOf(embed) + 1 : embeds.length - 1;\n\t\t\t\t\t\t\t\t\t\tembed = embeds[index];\n\t\t\t\t\t\t\t\t\t\tcollect.update({ embeds: [embed] });\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif (option == 4) {\n\t\t\t\t\t\t\t\t\t\tindex = embeds.length - 1;\n\t\t\t\t\t\t\t\t\t\tembed = embeds[index];\n\t\t\t\t\t\t\t\t\t\tcollect.update({ embeds: [embed] });\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.on('end', async () => {\n\t\t\t\t\t\t\t\tthis.interaction.editReply({ components: [] });\n\t\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t}\n}\n"]}
@@ -1,5 +1,4 @@
1
1
  /** @format */
2
-
3
2
  import { EmbedBuilder, MessageEditOptions, MessagePayload, MessageReplyOptions, User } from 'discord.js';
4
3
  import XernerxClient from '../client/XernerxClient.js';
5
4
  import { XernerxMessage } from '../types/extenders.js';
@@ -1 +1 @@
1
- {"version":3,"file":"MessageUtil.d.ts","sourceRoot":"","sources":["../../src/utils/MessageUtil.ts"],"names":[],"mappings":"AAAA,OAAO,EAKH,YAAY,EAEZ,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EAInB,IAAI,EACP,MAAM,YAAY,CAAC;AAEpB,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,IAAI;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;IAEV,MAAM,EAAE;QACnB,KAAK,EAAE,IAAI,GAAG,MAAM,CAAC;QACrB,MAAM,EAAE,IAAI,GAAG,MAAM,CAAC;KACzB,CAAC;gBAEU,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc;IAW7C,IAAI,CAAC,OAAO,EAAE,GAAG;IAoBjB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,GAAG,mBAAmB,GAAG,kBAAkB;IAoBjF,YAAY,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,IAAI;IAuB5D,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC,EAAE,OAAO,GAAE,gBAAqB;CAkGrF"}
1
+ {"version":3,"file":"MessageUtil.d.ts","sourceRoot":"","sources":["../../src/utils/MessageUtil.ts"],"names":[],"mappings":"AAAA,cAAc;AAEd,OAAO,EAKN,YAAY,EAEZ,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EAInB,IAAI,EACJ,MAAM,YAAY,CAAC;AAEpB,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,IAAI;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;IAEV,MAAM,EAAE;QACtB,KAAK,EAAE,IAAI,GAAG,MAAM,CAAC;QACrB,MAAM,EAAE,IAAI,GAAG,MAAM,CAAC;KACtB,CAAC;gBAEU,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc;IAW7C,IAAI,CAAC,OAAO,EAAE,GAAG;IAoBjB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,GAAG,mBAAmB,GAAG,kBAAkB;IAoBjF,YAAY,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,IAAI;IAuB5D,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC,EAAE,OAAO,GAAE,gBAAqB;CA4FlF"}
@@ -1,5 +1,4 @@
1
1
  /** @format */
2
-
3
2
  import { ActionRowBuilder, ButtonBuilder, ButtonStyle, ChannelType, StringSelectMenuBuilder } from 'discord.js';
4
3
  import Util from './Util.js';
5
4
  import sendWebhook from '../functions/sendWebhook.js';
@@ -15,7 +14,7 @@ export default class MessageUtil extends Util {
15
14
  };
16
15
  }
17
16
  async send(content) {
18
- if (this.client.cache.messages.has(this.message.id)) {
17
+ if (this.client.cache.messages.has(this.message.id) && this.client.modules.options.message?.handleEdits) {
19
18
  const id = this.client.cache.messages.get(this.message.id);
20
19
  if (!id) return null;
21
20
  const msg = await this.message.channel.messages.fetch(id);
@@ -27,7 +26,7 @@ export default class MessageUtil extends Util {
27
26
  return msg;
28
27
  }
29
28
  async reply(content) {
30
- if (this.client.cache.messages.has(this.message.id)) {
29
+ if (this.client.cache.messages.has(this.message.id) && this.client.modules.options.message?.handleEdits) {
31
30
  const id = this.client.cache.messages.get(this.message.id);
32
31
  if (!id) return null;
33
32
  const msg = await this.message.channel.messages.fetch(id);
@@ -1 +1 @@
1
- {"version":3,"file":"MessageUtil.js","sourceRoot":"","sources":["../../src/utils/MessageUtil.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n ActionRowBuilder,\n ButtonBuilder,\n ButtonStyle,\n ChannelType,\n EmbedBuilder,\n ForumChannel,\n MessageEditOptions,\n MessagePayload,\n MessageReplyOptions,\n NewsChannel,\n StringSelectMenuBuilder,\n TextChannel,\n User,\n} from 'discord.js';\n\nimport XernerxClient from '../client/XernerxClient.js';\nimport { XernerxMessage } from '../types/extenders.js';\nimport Util from './Util.js';\nimport sendWebhook from '../functions/sendWebhook.js';\nimport XernerxError from '../tools/XernerxError.js';\nimport { PaginatorOptions } from '../main.js';\n\nexport default class MessageUtil extends Util {\n private readonly message;\n\n public declare parsed: {\n alias: null | string;\n prefix: null | string;\n };\n\n constructor(client: XernerxClient, message: XernerxMessage) {\n super(client);\n\n this.message = message;\n\n this.parsed = {\n alias: null,\n prefix: null,\n };\n }\n\n public async send(content: any) {\n if (this.client.cache.messages.has(this.message.id)) {\n const id = this.client.cache.messages.get(this.message.id);\n\n if (!id) return null;\n\n const msg = await this.message.channel.messages.fetch(id);\n\n msg.edit(content as MessageEditOptions);\n\n return msg;\n }\n\n const msg = await this.message.channel.send(content as MessageReplyOptions);\n\n this.client.cache.messages.set(this.message.id, msg.id);\n\n return msg;\n }\n\n public async reply(content: string | MessagePayload | MessageReplyOptions | MessageEditOptions) {\n if (this.client.cache.messages.has(this.message.id)) {\n const id = this.client.cache.messages.get(this.message.id);\n\n if (!id) return null;\n\n const msg = await this.message.channel.messages.fetch(id);\n\n msg.edit(content as MessageEditOptions);\n\n return msg;\n }\n\n const msg = await this.message.reply(content as MessageReplyOptions);\n\n this.client.cache.messages.set(this.message.id, msg.id);\n\n return msg;\n }\n\n public async webhookReply(content: MessagePayload, url?: URL, user?: User) {\n if (this.message.channel.type === ChannelType.DM) throw new XernerxError(`Can't use this method in DM Channels`);\n\n const channel = this.message.channel as TextChannel | NewsChannel | ForumChannel;\n\n let webhook;\n\n if (!url) {\n webhook = await channel.createWebhook({\n name: user?.username || (this.client.user?.username as string),\n avatar: user?.avatarURL() || this.client.user?.avatarURL(),\n });\n }\n\n if (!webhook) webhook = { url };\n\n await sendWebhook(webhook.url as URL, content);\n\n if (!url) (webhook as Record<'delete', Function>).delete();\n\n return;\n }\n\n public async paginator(embeds: Array<EmbedBuilder>, options: PaginatorOptions = {}) {\n let buttonRow, menuRow;\n\n if (embeds.length <= 0) throw new XernerxError(`Can't make a paginator without embeds`);\n\n options = {\n type: options.type ?? 'combined',\n buttons: options.buttons ?? ['⏪', '◀️', '⏹️', '▶️', '⏩'],\n description: options.description ?? false,\n placeholder: options.placeholder ?? 'Change page',\n index: options.index ?? 0,\n send: options.send ?? false,\n filter: options.filter ?? (() => true),\n time: options.time ?? 300000,\n };\n\n if (options.type == 'button' || options.type == 'combined') {\n if (!options.buttons) throw new XernerxError(`¯\\\\_(ツ)_/¯ Somehow there are no buttons? ¯\\\\_(ツ)_/¯`);\n\n buttonRow = new ActionRowBuilder().addComponents(\n ...options.buttons.map((button, i) => new ButtonBuilder().setCustomId(`${this.message.id}-${i}`).setEmoji(button).setStyle(ButtonStyle.Primary))\n );\n }\n\n if (options.type == 'select-menu' || options.type == 'combined') {\n menuRow = new ActionRowBuilder().addComponents(\n new StringSelectMenuBuilder()\n .setCustomId(`${this.message.id}-select-menu`)\n .setPlaceholder(options.placeholder as string)\n .addOptions(\n ...embeds.map((embed, i) => ({ label: embed.data.title || 'No Title', description: (options.description ? embed.data.description : undefined) || undefined, value: `${i}` }))\n )\n );\n }\n\n let index = options.index || 0;\n\n return options.send\n ? await this.message.util.send({\n embeds: [embeds[index]],\n components: [options.type == 'combined' || options.type == 'button' ? buttonRow : null, options.type == 'combined' || options.type == 'select-menu' ? menuRow : null].filter(\n (x) => x\n ),\n } as never)\n : await this.message.util\n .reply({\n embeds: [embeds[index]],\n components: [options.type == 'combined' || options.type == 'button' ? buttonRow : null, options.type == 'combined' || options.type == 'select-menu' ? menuRow : null].filter(\n (x) => x\n ),\n } as never)\n .then(async (msg) => {\n const collector = this.message.channel\n ?.createMessageComponentCollector({ time: options.time })\n\n .on('collect', (collect) => {\n if (!collect.customId.startsWith(this.message.id)) return;\n\n if (collect.customId.endsWith('select-menu')) {\n index = Number((collect as unknown as Record<string, Array<string>>).values[0]);\n\n collect.update({ embeds: [embeds[index]] });\n } else {\n const option = Number(collect.customId.split(/-/)[1]);\n\n let embed = embeds[index];\n\n if (option == 0) {\n index = 0;\n embed = embeds[index];\n collect.update({ embeds: [embed] });\n }\n if (option == 1) {\n index = embeds.indexOf(embed) >= 1 ? embeds.indexOf(embed) - 1 : 0;\n embed = embeds[index];\n collect.update({ embeds: [embed] });\n }\n if (option == 2) {\n collect.update({ components: [] });\n collector?.stop();\n }\n if (option == 3) {\n index = embeds.indexOf(embed) < embeds.length - 1 ? embeds.indexOf(embed) + 1 : embeds.length - 1;\n embed = embeds[index];\n collect.update({ embeds: [embed] });\n }\n if (option == 4) {\n index = embeds.length - 1;\n embed = embeds[index];\n collect.update({ embeds: [embed] });\n }\n }\n })\n .on('end', async () => {\n await msg?.edit({ components: [] });\n });\n });\n }\n}\n"]}
1
+ {"version":3,"file":"MessageUtil.js","sourceRoot":"","sources":["../../src/utils/MessageUtil.ts"],"names":[],"mappings":"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","sourcesContent":["/** @format */\n\nimport {\n\tActionRowBuilder,\n\tButtonBuilder,\n\tButtonStyle,\n\tChannelType,\n\tEmbedBuilder,\n\tForumChannel,\n\tMessageEditOptions,\n\tMessagePayload,\n\tMessageReplyOptions,\n\tNewsChannel,\n\tStringSelectMenuBuilder,\n\tTextChannel,\n\tUser,\n} from 'discord.js';\n\nimport XernerxClient from '../client/XernerxClient.js';\nimport { XernerxMessage } from '../types/extenders.js';\nimport Util from './Util.js';\nimport sendWebhook from '../functions/sendWebhook.js';\nimport XernerxError from '../tools/XernerxError.js';\nimport { PaginatorOptions } from '../main.js';\n\nexport default class MessageUtil extends Util {\n\tprivate readonly message;\n\n\tpublic declare parsed: {\n\t\talias: null | string;\n\t\tprefix: null | string;\n\t};\n\n\tconstructor(client: XernerxClient, message: XernerxMessage) {\n\t\tsuper(client);\n\n\t\tthis.message = message;\n\n\t\tthis.parsed = {\n\t\t\talias: null,\n\t\t\tprefix: null,\n\t\t};\n\t}\n\n\tpublic async send(content: any) {\n\t\tif (this.client.cache.messages.has(this.message.id) && this.client.modules.options.message?.handleEdits) {\n\t\t\tconst id = this.client.cache.messages.get(this.message.id);\n\n\t\t\tif (!id) return null;\n\n\t\t\tconst msg = await this.message.channel.messages.fetch(id);\n\n\t\t\tmsg.edit(content as MessageEditOptions);\n\n\t\t\treturn msg;\n\t\t}\n\n\t\tconst msg = await this.message.channel.send(content as MessageReplyOptions);\n\n\t\tthis.client.cache.messages.set(this.message.id, msg.id);\n\n\t\treturn msg;\n\t}\n\n\tpublic async reply(content: string | MessagePayload | MessageReplyOptions | MessageEditOptions) {\n\t\tif (this.client.cache.messages.has(this.message.id) && this.client.modules.options.message?.handleEdits) {\n\t\t\tconst id = this.client.cache.messages.get(this.message.id);\n\n\t\t\tif (!id) return null;\n\n\t\t\tconst msg = await this.message.channel.messages.fetch(id);\n\n\t\t\tmsg.edit(content as MessageEditOptions);\n\n\t\t\treturn msg;\n\t\t}\n\n\t\tconst msg = await this.message.reply(content as MessageReplyOptions);\n\n\t\tthis.client.cache.messages.set(this.message.id, msg.id);\n\n\t\treturn msg;\n\t}\n\n\tpublic async webhookReply(content: MessagePayload, url?: URL, user?: User) {\n\t\tif (this.message.channel.type === ChannelType.DM) throw new XernerxError(`Can't use this method in DM Channels`);\n\n\t\tconst channel = this.message.channel as TextChannel | NewsChannel | ForumChannel;\n\n\t\tlet webhook;\n\n\t\tif (!url) {\n\t\t\twebhook = await channel.createWebhook({\n\t\t\t\tname: user?.username || (this.client.user?.username as string),\n\t\t\t\tavatar: user?.avatarURL() || this.client.user?.avatarURL(),\n\t\t\t});\n\t\t}\n\n\t\tif (!webhook) webhook = { url };\n\n\t\tawait sendWebhook(webhook.url as URL, content);\n\n\t\tif (!url) (webhook as Record<'delete', Function>).delete();\n\n\t\treturn;\n\t}\n\n\tpublic async paginator(embeds: Array<EmbedBuilder>, options: PaginatorOptions = {}) {\n\t\tlet buttonRow, menuRow;\n\n\t\tif (embeds.length <= 0) throw new XernerxError(`Can't make a paginator without embeds`);\n\n\t\toptions = {\n\t\t\ttype: options.type ?? 'combined',\n\t\t\tbuttons: options.buttons ?? ['⏪', '◀️', '⏹️', '▶️', '⏩'],\n\t\t\tdescription: options.description ?? false,\n\t\t\tplaceholder: options.placeholder ?? 'Change page',\n\t\t\tindex: options.index ?? 0,\n\t\t\tsend: options.send ?? false,\n\t\t\tfilter: options.filter ?? (() => true),\n\t\t\ttime: options.time ?? 300000,\n\t\t};\n\n\t\tif (options.type == 'button' || options.type == 'combined') {\n\t\t\tif (!options.buttons) throw new XernerxError(`¯\\\\_(ツ)_/¯ Somehow there are no buttons? ¯\\\\_(ツ)_/¯`);\n\n\t\t\tbuttonRow = new ActionRowBuilder().addComponents(\n\t\t\t\t...options.buttons.map((button, i) => new ButtonBuilder().setCustomId(`${this.message.id}-${i}`).setEmoji(button).setStyle(ButtonStyle.Primary))\n\t\t\t);\n\t\t}\n\n\t\tif (options.type == 'select-menu' || options.type == 'combined') {\n\t\t\tmenuRow = new ActionRowBuilder().addComponents(\n\t\t\t\tnew StringSelectMenuBuilder()\n\t\t\t\t\t.setCustomId(`${this.message.id}-select-menu`)\n\t\t\t\t\t.setPlaceholder(options.placeholder as string)\n\t\t\t\t\t.addOptions(...embeds.map((embed, i) => ({ label: embed.data.title || 'No Title', description: (options.description ? embed.data.description : undefined) || undefined, value: `${i}` })))\n\t\t\t);\n\t\t}\n\n\t\tlet index = options.index || 0;\n\n\t\treturn options.send\n\t\t\t? await this.message.util.send({\n\t\t\t\t\tembeds: [embeds[index]],\n\t\t\t\t\tcomponents: [options.type == 'combined' || options.type == 'button' ? buttonRow : null, options.type == 'combined' || options.type == 'select-menu' ? menuRow : null].filter((x) => x),\n\t\t\t } as never)\n\t\t\t: await this.message.util\n\t\t\t\t\t.reply({\n\t\t\t\t\t\tembeds: [embeds[index]],\n\t\t\t\t\t\tcomponents: [options.type == 'combined' || options.type == 'button' ? buttonRow : null, options.type == 'combined' || options.type == 'select-menu' ? menuRow : null].filter((x) => x),\n\t\t\t\t\t} as never)\n\t\t\t\t\t.then(async (msg) => {\n\t\t\t\t\t\tconst collector = this.message.channel\n\t\t\t\t\t\t\t?.createMessageComponentCollector({ time: options.time })\n\n\t\t\t\t\t\t\t.on('collect', (collect) => {\n\t\t\t\t\t\t\t\tif (!collect.customId.startsWith(this.message.id)) return;\n\n\t\t\t\t\t\t\t\tif (collect.customId.endsWith('select-menu')) {\n\t\t\t\t\t\t\t\t\tindex = Number((collect as unknown as Record<string, Array<string>>).values[0]);\n\n\t\t\t\t\t\t\t\t\tcollect.update({ embeds: [embeds[index]] });\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tconst option = Number(collect.customId.split(/-/)[1]);\n\n\t\t\t\t\t\t\t\t\tlet embed = embeds[index];\n\n\t\t\t\t\t\t\t\t\tif (option == 0) {\n\t\t\t\t\t\t\t\t\t\tindex = 0;\n\t\t\t\t\t\t\t\t\t\tembed = embeds[index];\n\t\t\t\t\t\t\t\t\t\tcollect.update({ embeds: [embed] });\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif (option == 1) {\n\t\t\t\t\t\t\t\t\t\tindex = embeds.indexOf(embed) >= 1 ? embeds.indexOf(embed) - 1 : 0;\n\t\t\t\t\t\t\t\t\t\tembed = embeds[index];\n\t\t\t\t\t\t\t\t\t\tcollect.update({ embeds: [embed] });\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif (option == 2) {\n\t\t\t\t\t\t\t\t\t\tcollect.update({ components: [] });\n\t\t\t\t\t\t\t\t\t\tcollector?.stop();\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif (option == 3) {\n\t\t\t\t\t\t\t\t\t\tindex = embeds.indexOf(embed) < embeds.length - 1 ? embeds.indexOf(embed) + 1 : embeds.length - 1;\n\t\t\t\t\t\t\t\t\t\tembed = embeds[index];\n\t\t\t\t\t\t\t\t\t\tcollect.update({ embeds: [embed] });\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif (option == 4) {\n\t\t\t\t\t\t\t\t\t\tindex = embeds.length - 1;\n\t\t\t\t\t\t\t\t\t\tembed = embeds[index];\n\t\t\t\t\t\t\t\t\t\tcollect.update({ embeds: [embed] });\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.on('end', async () => {\n\t\t\t\t\t\t\t\tawait msg?.edit({ components: [] });\n\t\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t}\n}\n"]}
@@ -1,5 +1,4 @@
1
1
  /** @format */
2
-
3
2
  import XernerxClient from '../client/XernerxClient.js';
4
3
  export default class Util {
5
4
  client: XernerxClient<unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"Util.d.ts","sourceRoot":"","sources":["../../src/utils/Util.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,4BAA4B,CAAC;AAEvD,MAAM,CAAC,OAAO,OAAO,IAAI;IACd,MAAM,yBAAC;gBAEF,MAAM,EAAE,aAAa;IAIpB,KAAK,CAAC,IAAI,EAAE,MAAM;CAGlC"}
1
+ {"version":3,"file":"Util.d.ts","sourceRoot":"","sources":["../../src/utils/Util.ts"],"names":[],"mappings":"AAAA,cAAc;AAEd,OAAO,aAAa,MAAM,4BAA4B,CAAC;AAEvD,MAAM,CAAC,OAAO,OAAO,IAAI;IACjB,MAAM,yBAAC;gBAEF,MAAM,EAAE,aAAa;IAIpB,KAAK,CAAC,IAAI,EAAE,MAAM;CAG/B"}
@@ -1,5 +1,4 @@
1
1
  /** @format */
2
-
3
2
  export default class Util {
4
3
  client;
5
4
  constructor(client) {
@@ -1 +1 @@
1
- {"version":3,"file":"Util.js","sourceRoot":"","sources":["../../src/utils/Util.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,OAAO,IAAI;IACd,MAAM,CAAC;IAEd,YAAY,MAAqB;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,IAAY;QAC3B,OAAO,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IACrE,CAAC;CACJ","sourcesContent":["import XernerxClient from '../client/XernerxClient.js';\n\nexport default class Util {\n public client;\n\n constructor(client: XernerxClient) {\n this.client = client;\n }\n\n public async delay(time: number) {\n return await new Promise((resolve) => setTimeout(resolve, time));\n }\n}\n"]}
1
+ {"version":3,"file":"Util.js","sourceRoot":"","sources":["../../src/utils/Util.ts"],"names":[],"mappings":"AAAA,cAAc;AAId,MAAM,CAAC,OAAO,OAAO,IAAI;IACjB,MAAM,CAAC;IAEd,YAAY,MAAqB;QAChC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACtB,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,IAAY;QAC9B,OAAO,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAClE,CAAC;CACD","sourcesContent":["/** @format */\n\nimport XernerxClient from '../client/XernerxClient.js';\n\nexport default class Util {\n\tpublic client;\n\n\tconstructor(client: XernerxClient) {\n\t\tthis.client = client;\n\t}\n\n\tpublic async delay(time: number) {\n\t\treturn await new Promise((resolve) => setTimeout(resolve, time));\n\t}\n}\n"]}
@@ -1,5 +1,4 @@
1
1
  /** @format */
2
-
3
2
  import XernerxContextCommand from '../build/XernerxContextCommand.js';
4
3
  import MessageCommandBuilder from '../build/XernerxMessageCommand.js';
5
4
  import XernerxSlashCommand from '../build/XernerxSlashCommand.js';
@@ -1 +1 @@
1
- {"version":3,"file":"commandValidation.d.ts","sourceRoot":"","sources":["../../src/validators/commandValidation.ts"],"names":[],"mappings":"AAEA,OAAO,qBAAqB,MAAM,mCAAmC,CAAC;AACtE,OAAO,qBAAqB,MAAM,mCAAmC,CAAC;AACtE,OAAO,mBAAmB,MAAM,iCAAiC,CAAC;AAElE,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AAC/G,OAAO,EAAmB,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAExE,wBAA8B,iBAAiB,CAC3C,KAAK,EAAE,kBAAkB,CAAC,uBAAuB,GAAG,6BAA6B,GAAG,6BAA6B,CAAC,GAAG,cAAc,EACnI,OAAO,EAAE,qBAAqB,GAAG,mBAAmB,GAAG,qBAAqB,oBA6C/E"}
1
+ {"version":3,"file":"commandValidation.d.ts","sourceRoot":"","sources":["../../src/validators/commandValidation.ts"],"names":[],"mappings":"AAAA,cAAc;AAId,OAAO,qBAAqB,MAAM,mCAAmC,CAAC;AACtE,OAAO,qBAAqB,MAAM,mCAAmC,CAAC;AACtE,OAAO,mBAAmB,MAAM,iCAAiC,CAAC;AAElE,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AAC/G,OAAO,EAAmB,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAExE,wBAA8B,iBAAiB,CAC9C,KAAK,EAAE,kBAAkB,CAAC,uBAAuB,GAAG,6BAA6B,GAAG,6BAA6B,CAAC,GAAG,cAAc,EACnI,OAAO,EAAE,qBAAqB,GAAG,mBAAmB,GAAG,qBAAqB,oBA6C5E"}
@@ -1,5 +1,4 @@
1
1
  /** @format */
2
-
3
2
  import { ChannelType, PermissionFlagsBits } from 'discord.js';
4
3
  export default async function commandValidation(event, command) {
5
4
  const client = event.client;
@@ -1 +1 @@
1
- {"version":3,"file":"commandValidation.js","sourceRoot":"","sources":["../../src/validators/commandValidation.ts"],"names":[],"mappings":"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","sourcesContent":["import { ChannelType, PermissionFlagsBits, PermissionsString } from 'discord.js';\n\nimport XernerxContextCommand from '../build/XernerxContextCommand.js';\nimport MessageCommandBuilder from '../build/XernerxMessageCommand.js';\nimport XernerxSlashCommand from '../build/XernerxSlashCommand.js';\nimport XernerxClient from '../client/XernerxClient.js';\nimport { XernerxMessage, XernerxSlashInteraction, XernerxUserContextInteraction } from '../types/extenders.js';\nimport { PermissionNames, XernerxInteraction } from '../types/types.js';\n\nexport default async function commandValidation(\n event: XernerxInteraction<XernerxSlashInteraction | XernerxUserContextInteraction | XernerxUserContextInteraction> | XernerxMessage,\n command: MessageCommandBuilder | XernerxSlashCommand | XernerxContextCommand\n) {\n const client = event.client as XernerxClient;\n\n if (command.ignore?.owner && client.settings.ownerId.includes(event.user.id)) return false;\n\n if (!client.cache.cooldowns.has(`${event.user.id}-${command.name}`)) {\n client.cache.cooldowns.set(`${event.user.id}-${command.name}`, {\n id: event.user.id,\n command: command.name,\n createdTimestamp: Number(Date.now()) + (command.cooldown || 0),\n });\n\n setTimeout(() => {\n client.cache.cooldowns.delete(`${event.user.id}-${command.name}`);\n }, command.cooldown || 0);\n } else {\n const user = client.cache.cooldowns.get(`${event.user.id}-${command.name}`);\n\n const time = (user?.createdTimestamp || 0) - Number(Date.now());\n\n return emit(event, `Command on cooldown, ${time}`);\n }\n\n if ((command.ignore?.channels?.length || 0) > 0 && command.ignore?.channels?.includes(event.channel?.id as string)) return true;\n\n if ((command.ignore?.guilds?.length || 0) > 0 && command.ignore?.guilds?.includes(event.guild?.id as string)) return true;\n\n if ((command.ignore?.users?.length || 0) > 0 && command.ignore?.users?.includes(event.user.id as string)) return true;\n\n if (command.strict?.owner && !client.settings.ownerId.includes(event.user.id)) return await emit(event, 'Command is a developer command');\n\n if ((command.strict?.channels?.length || 0) > 0 && !command.strict?.channels?.includes(event.channel?.id as string)) return await emit(event, 'Command cannot be ran in this channel');\n\n if ((command.strict?.guilds?.length || 0) > 0 && !command.strict?.guilds?.includes(event.guild?.id as string)) return await emit(event, 'Command cannot be ran in this guild');\n\n if ((command.strict?.users?.length || 0) > 0 && !command.strict?.users?.includes(event.user.id)) return await emit(event, 'Command cannot be ran by you');\n\n if (command.permissions?.dm == false && event.channel?.type === ChannelType.DM) return await emit(event, \"Can't use in a DM Channel\");\n\n if (command.permissions?.user) {\n if (!(event.member?.permissions as Record<'has', Function>).has(toBigInt(command.permissions.user))) return await emit(event, 'Missing User Permissions');\n }\n\n return false;\n}\n\nasync function emit(event: XernerxInteraction<XernerxSlashInteraction | XernerxUserContextInteraction | XernerxUserContextInteraction> | XernerxMessage, reason: string) {\n event.client.emit('commandBlock', event, reason);\n return true;\n}\n\nfunction toBigInt(permissions: Array<PermissionNames> | Array<string>) {\n let bigIntPermissions = 0n;\n\n permissions.map((permission: string | bigint) => {\n permission =\n PermissionFlagsBits[\n (permission as string)\n .split(/ +/)\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())\n .join('') as PermissionsString\n ];\n\n if (typeof permission === 'bigint') bigIntPermissions += permission;\n });\n\n return bigIntPermissions;\n}\n"]}
1
+ {"version":3,"file":"commandValidation.js","sourceRoot":"","sources":["../../src/validators/commandValidation.ts"],"names":[],"mappings":"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","sourcesContent":["/** @format */\n\nimport { ChannelType, PermissionFlagsBits, PermissionsString } from 'discord.js';\n\nimport XernerxContextCommand from '../build/XernerxContextCommand.js';\nimport MessageCommandBuilder from '../build/XernerxMessageCommand.js';\nimport XernerxSlashCommand from '../build/XernerxSlashCommand.js';\nimport XernerxClient from '../client/XernerxClient.js';\nimport { XernerxMessage, XernerxSlashInteraction, XernerxUserContextInteraction } from '../types/extenders.js';\nimport { PermissionNames, XernerxInteraction } from '../types/types.js';\n\nexport default async function commandValidation(\n\tevent: XernerxInteraction<XernerxSlashInteraction | XernerxUserContextInteraction | XernerxUserContextInteraction> | XernerxMessage,\n\tcommand: MessageCommandBuilder | XernerxSlashCommand | XernerxContextCommand\n) {\n\tconst client = event.client as XernerxClient;\n\n\tif (command.ignore?.owner && client.settings.ownerId.includes(event.user.id)) return false;\n\n\tif (!client.cache.cooldowns.has(`${event.user.id}-${command.name}`)) {\n\t\tclient.cache.cooldowns.set(`${event.user.id}-${command.name}`, {\n\t\t\tid: event.user.id,\n\t\t\tcommand: command.name,\n\t\t\tcreatedTimestamp: Number(Date.now()) + (command.cooldown || 0),\n\t\t});\n\n\t\tsetTimeout(() => {\n\t\t\tclient.cache.cooldowns.delete(`${event.user.id}-${command.name}`);\n\t\t}, command.cooldown || 0);\n\t} else {\n\t\tconst user = client.cache.cooldowns.get(`${event.user.id}-${command.name}`);\n\n\t\tconst time = (user?.createdTimestamp || 0) - Number(Date.now());\n\n\t\treturn emit(event, `Command on cooldown, ${time}`);\n\t}\n\n\tif ((command.ignore?.channels?.length || 0) > 0 && command.ignore?.channels?.includes(event.channel?.id as string)) return true;\n\n\tif ((command.ignore?.guilds?.length || 0) > 0 && command.ignore?.guilds?.includes(event.guild?.id as string)) return true;\n\n\tif ((command.ignore?.users?.length || 0) > 0 && command.ignore?.users?.includes(event.user.id as string)) return true;\n\n\tif (command.strict?.owner && !client.settings.ownerId.includes(event.user.id)) return await emit(event, 'Command is a developer command');\n\n\tif ((command.strict?.channels?.length || 0) > 0 && !command.strict?.channels?.includes(event.channel?.id as string)) return await emit(event, 'Command cannot be ran in this channel');\n\n\tif ((command.strict?.guilds?.length || 0) > 0 && !command.strict?.guilds?.includes(event.guild?.id as string)) return await emit(event, 'Command cannot be ran in this guild');\n\n\tif ((command.strict?.users?.length || 0) > 0 && !command.strict?.users?.includes(event.user.id)) return await emit(event, 'Command cannot be ran by you');\n\n\tif (command.permissions?.dm == false && event.channel?.type === ChannelType.DM) return await emit(event, \"Can't use in a DM Channel\");\n\n\tif (command.permissions?.user) {\n\t\tif (!(event.member?.permissions as Record<'has', Function>).has(toBigInt(command.permissions.user))) return await emit(event, 'Missing User Permissions');\n\t}\n\n\treturn false;\n}\n\nasync function emit(event: XernerxInteraction<XernerxSlashInteraction | XernerxUserContextInteraction | XernerxUserContextInteraction> | XernerxMessage, reason: string) {\n\tevent.client.emit('commandBlock', event, reason);\n\treturn true;\n}\n\nfunction toBigInt(permissions: Array<PermissionNames> | Array<string>) {\n\tlet bigIntPermissions = 0n;\n\n\tpermissions.map((permission: string | bigint) => {\n\t\tpermission =\n\t\t\tPermissionFlagsBits[\n\t\t\t\t(permission as string)\n\t\t\t\t\t.split(/ +/)\n\t\t\t\t\t.map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())\n\t\t\t\t\t.join('') as PermissionsString\n\t\t\t];\n\n\t\tif (typeof permission === 'bigint') bigIntPermissions += permission;\n\t});\n\n\treturn bigIntPermissions;\n}\n"]}
@@ -1,5 +1,4 @@
1
1
  /** @format */
2
-
3
2
  import { XernerxContextCommand, XernerxMessageCommand, XernerxSlashCommand } from '../main.js';
4
3
  import { XernerxMessage, XernerxMessageContextInteraction, XernerxSlashInteraction, XernerxUserContextInteraction } from '../types/extenders.js';
5
4
  import { InhibitorType, XernerxInteraction } from '../types/types.js';
@@ -16,9 +15,9 @@ export declare function inhibitorArguments(
16
15
  | import('discord.js').Guild
17
16
  | import('discord.js').GuildMember
18
17
  | import('discord.js').TextBasedChannel
18
+ | XernerxMessageCommand
19
19
  | XernerxSlashCommand
20
20
  | XernerxContextCommand
21
- | XernerxMessageCommand
22
21
  | import('../main.js').APIInteractionGuildMember
23
22
  | null;
24
23
  //# sourceMappingURL=inhibitorValidations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"inhibitorValidations.d.ts","sourceRoot":"","sources":["../../src/validators/inhibitorValidations.ts"],"names":[],"mappings":"AAAA,OAAsB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAC9G,OAAO,EAAE,cAAc,EAAE,gCAAgC,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AACjJ,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEtE,wBAAsB,mBAAmB,CACrC,KAAK,EAAE,cAAc,GAAG,kBAAkB,CAAC,uBAAuB,GAAG,6BAA6B,GAAG,gCAAgC,CAAC,EACtI,GAAG,CAAC,EAAE,qBAAqB,GAAG,qBAAqB,GAAG,mBAAmB,oBAa5E;AAED,wBAAgB,kBAAkB,CAC9B,KAAK,EAAE,cAAc,GAAG,kBAAkB,CAAC,uBAAuB,GAAG,6BAA6B,GAAG,gCAAgC,CAAC,EACtI,GAAG,EAAE,qBAAqB,GAAG,qBAAqB,GAAG,mBAAmB,GAAG,IAAI,EAC/E,IAAI,EAAE,aAAa,0QAwBtB"}
1
+ {"version":3,"file":"inhibitorValidations.d.ts","sourceRoot":"","sources":["../../src/validators/inhibitorValidations.ts"],"names":[],"mappings":"AAAA,cAAc;AAEd,OAAsB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAC9G,OAAO,EAAE,cAAc,EAAE,gCAAgC,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AACjJ,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEtE,wBAAsB,mBAAmB,CACxC,KAAK,EAAE,cAAc,GAAG,kBAAkB,CAAC,uBAAuB,GAAG,6BAA6B,GAAG,gCAAgC,CAAC,EACtI,GAAG,CAAC,EAAE,qBAAqB,GAAG,qBAAqB,GAAG,mBAAmB,oBAazE;AAED,wBAAgB,kBAAkB,CACjC,KAAK,EAAE,cAAc,GAAG,kBAAkB,CAAC,uBAAuB,GAAG,6BAA6B,GAAG,gCAAgC,CAAC,EACtI,GAAG,EAAE,qBAAqB,GAAG,qBAAqB,GAAG,mBAAmB,GAAG,IAAI,EAC/E,IAAI,EAAE,aAAa,0QAwBnB"}
@@ -1,5 +1,4 @@
1
1
  /** @format */
2
-
3
2
  export async function inhibitorValidation(event, cmd) {
4
3
  const client = event.client;
5
4
  const inhibits = [];
@@ -1 +1 @@
1
- {"version":3,"file":"inhibitorValidations.js","sourceRoot":"","sources":["../../src/validators/inhibitorValidations.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACrC,KAAsI,EACtI,GAAyE;IAEzE,MAAM,MAAM,GAAG,KAAK,CAAC,MAAuB,CAAC;IAE7C,MAAM,QAAQ,GAAG,EAAE,CAAC;IAEpB,KAAK,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,UAAU,EAAE;QAC/C,IAAI,OAAO,CAAC,MAAM,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,MAAM,kBAAkB,CAAC,KAAK,EAAE,GAAG,IAAI,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAU,CAAC,CAAC,EAAE;YAChH,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACvB;KACJ;IAED,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,kBAAkB,CAC9B,KAAsI,EACtI,GAA+E,EAC/E,IAAmB;IAEnB,QAAQ,IAAI,EAAE;QACV,KAAK,SAAS;YACV,OAAO,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC;QACjC,KAAK,SAAS;YACV,OAAO,GAAG,CAAC;QACf,KAAK,gBAAgB;YACjB,OAAO,GAAG,CAAC;QACf,KAAK,OAAO;YACR,OAAO,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC;QAC/B,KAAK,aAAa;YACd,OAAO,IAAI,CAAC;QAChB,KAAK,QAAQ;YACT,OAAO,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC;QAChC,KAAK,SAAS;YACV,OAAO,IAAI,CAAC;QAChB,KAAK,gBAAgB;YACjB,OAAO,GAAG,CAAC;QACf,KAAK,cAAc;YACf,OAAO,GAAG,CAAC;QACf,KAAK,MAAM;YACP,OAAO,KAAK,CAAC,IAAI,CAAC;KACzB;AACL,CAAC","sourcesContent":["import XernerxClient, { XernerxContextCommand, XernerxMessageCommand, XernerxSlashCommand } from '../main.js';\nimport { XernerxMessage, XernerxMessageContextInteraction, XernerxSlashInteraction, XernerxUserContextInteraction } from '../types/extenders.js';\nimport { InhibitorType, XernerxInteraction } from '../types/types.js';\n\nexport async function inhibitorValidation(\n event: XernerxMessage | XernerxInteraction<XernerxSlashInteraction | XernerxUserContextInteraction | XernerxMessageContextInteraction>,\n cmd?: XernerxContextCommand | XernerxMessageCommand | XernerxSlashCommand\n) {\n const client = event.client as XernerxClient;\n\n const inhibits = [];\n\n for (const [name, inhibitor] of client.inhibitors) {\n if (Boolean(await inhibitor.check(event, (await inhibitorArguments(event, cmd || null, inhibitor.type)) as never))) {\n inhibits.push(name);\n }\n }\n\n return !!inhibits.length;\n}\n\nexport function inhibitorArguments(\n event: XernerxMessage | XernerxInteraction<XernerxSlashInteraction | XernerxUserContextInteraction | XernerxMessageContextInteraction>,\n cmd: XernerxContextCommand | XernerxMessageCommand | XernerxSlashCommand | null,\n type: InhibitorType\n) {\n switch (type) {\n case 'channel':\n return event.channel || null;\n case 'command':\n return cmd;\n case 'contextCommand':\n return cmd;\n case 'guild':\n return event.guild || null;\n case 'interaction':\n return null;\n case 'member':\n return event.member || null;\n case 'message':\n return null;\n case 'messageCommand':\n return cmd;\n case 'slashCommand':\n return cmd;\n case 'user':\n return event.user;\n }\n}\n"]}
1
+ {"version":3,"file":"inhibitorValidations.js","sourceRoot":"","sources":["../../src/validators/inhibitorValidations.ts"],"names":[],"mappings":"AAAA,cAAc;AAMd,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACxC,KAAsI,EACtI,GAAyE;IAEzE,MAAM,MAAM,GAAG,KAAK,CAAC,MAAuB,CAAC;IAE7C,MAAM,QAAQ,GAAG,EAAE,CAAC;IAEpB,KAAK,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,UAAU,EAAE;QAClD,IAAI,OAAO,CAAC,MAAM,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,MAAM,kBAAkB,CAAC,KAAK,EAAE,GAAG,IAAI,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAU,CAAC,CAAC,EAAE;YACnH,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACpB;KACD;IAED,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,kBAAkB,CACjC,KAAsI,EACtI,GAA+E,EAC/E,IAAmB;IAEnB,QAAQ,IAAI,EAAE;QACb,KAAK,SAAS;YACb,OAAO,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC;QAC9B,KAAK,SAAS;YACb,OAAO,GAAG,CAAC;QACZ,KAAK,gBAAgB;YACpB,OAAO,GAAG,CAAC;QACZ,KAAK,OAAO;YACX,OAAO,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC;QAC5B,KAAK,aAAa;YACjB,OAAO,IAAI,CAAC;QACb,KAAK,QAAQ;YACZ,OAAO,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC;QAC7B,KAAK,SAAS;YACb,OAAO,IAAI,CAAC;QACb,KAAK,gBAAgB;YACpB,OAAO,GAAG,CAAC;QACZ,KAAK,cAAc;YAClB,OAAO,GAAG,CAAC;QACZ,KAAK,MAAM;YACV,OAAO,KAAK,CAAC,IAAI,CAAC;KACnB;AACF,CAAC","sourcesContent":["/** @format */\n\nimport XernerxClient, { XernerxContextCommand, XernerxMessageCommand, XernerxSlashCommand } from '../main.js';\nimport { XernerxMessage, XernerxMessageContextInteraction, XernerxSlashInteraction, XernerxUserContextInteraction } from '../types/extenders.js';\nimport { InhibitorType, XernerxInteraction } from '../types/types.js';\n\nexport async function inhibitorValidation(\n\tevent: XernerxMessage | XernerxInteraction<XernerxSlashInteraction | XernerxUserContextInteraction | XernerxMessageContextInteraction>,\n\tcmd?: XernerxContextCommand | XernerxMessageCommand | XernerxSlashCommand\n) {\n\tconst client = event.client as XernerxClient;\n\n\tconst inhibits = [];\n\n\tfor (const [name, inhibitor] of client.inhibitors) {\n\t\tif (Boolean(await inhibitor.check(event, (await inhibitorArguments(event, cmd || null, inhibitor.type)) as never))) {\n\t\t\tinhibits.push(name);\n\t\t}\n\t}\n\n\treturn !!inhibits.length;\n}\n\nexport function inhibitorArguments(\n\tevent: XernerxMessage | XernerxInteraction<XernerxSlashInteraction | XernerxUserContextInteraction | XernerxMessageContextInteraction>,\n\tcmd: XernerxContextCommand | XernerxMessageCommand | XernerxSlashCommand | null,\n\ttype: InhibitorType\n) {\n\tswitch (type) {\n\t\tcase 'channel':\n\t\t\treturn event.channel || null;\n\t\tcase 'command':\n\t\t\treturn cmd;\n\t\tcase 'contextCommand':\n\t\t\treturn cmd;\n\t\tcase 'guild':\n\t\t\treturn event.guild || null;\n\t\tcase 'interaction':\n\t\t\treturn null;\n\t\tcase 'member':\n\t\t\treturn event.member || null;\n\t\tcase 'message':\n\t\t\treturn null;\n\t\tcase 'messageCommand':\n\t\t\treturn cmd;\n\t\tcase 'slashCommand':\n\t\t\treturn cmd;\n\t\tcase 'user':\n\t\t\treturn event.user;\n\t}\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xernerx",
3
- "version": "4.5.7",
3
+ "version": "4.5.9",
4
4
  "description": "A bot framework for discord.js.",
5
5
  "main": "dist/main.js",
6
6
  "type": "module",