xernerx 4.6.3 → 4.7.1

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 (113) hide show
  1. package/dist/build/ContextCommandBuilder.d.ts +43 -0
  2. package/dist/build/ContextCommandBuilder.d.ts.map +1 -0
  3. package/dist/build/ContextCommandBuilder.js +68 -0
  4. package/dist/build/ContextCommandBuilder.js.map +1 -0
  5. package/dist/build/EventBuilder.d.ts +25 -0
  6. package/dist/build/EventBuilder.d.ts.map +1 -0
  7. package/dist/build/EventBuilder.js +30 -0
  8. package/dist/build/EventBuilder.js.map +1 -0
  9. package/dist/build/InhibitorBuilder.d.ts +20 -0
  10. package/dist/build/InhibitorBuilder.d.ts.map +1 -0
  11. package/dist/build/InhibitorBuilder.js +21 -0
  12. package/dist/build/InhibitorBuilder.js.map +1 -0
  13. package/dist/build/MessageCommandBuilder.d.ts +42 -0
  14. package/dist/build/MessageCommandBuilder.d.ts.map +1 -0
  15. package/dist/build/MessageCommandBuilder.js +61 -0
  16. package/dist/build/MessageCommandBuilder.js.map +1 -0
  17. package/dist/build/SlashCommandBuilder.d.ts +48 -0
  18. package/dist/build/SlashCommandBuilder.d.ts.map +1 -0
  19. package/dist/build/SlashCommandBuilder.js +114 -0
  20. package/dist/build/SlashCommandBuilder.js.map +1 -0
  21. package/dist/build/XernerxContextCommand.d.ts +2 -2
  22. package/dist/build/XernerxContextCommand.js +2 -2
  23. package/dist/build/XernerxInhibitor.d.ts +2 -0
  24. package/dist/build/XernerxInhibitor.js +3 -5
  25. package/dist/build/XernerxMessageCommand.d.ts +2 -2
  26. package/dist/build/XernerxMessageCommand.js +2 -2
  27. package/dist/build/XernerxSlashCommand.d.ts +2 -2
  28. package/dist/build/XernerxSlashCommand.js +2 -2
  29. package/dist/client/XernerxClient.d.ts +11 -8
  30. package/dist/client/XernerxClient.d.ts.map +1 -0
  31. package/dist/client/XernerxClient.js +5 -2
  32. package/dist/client/XernerxClient.js.map +1 -0
  33. package/dist/client/XernerxShardClient.d.ts.map +1 -0
  34. package/dist/client/XernerxShardClient.js.map +1 -0
  35. package/dist/functions/delay.d.ts +2 -0
  36. package/dist/functions/delay.d.ts.map +1 -0
  37. package/dist/functions/delay.js +4 -0
  38. package/dist/functions/delay.js.map +1 -0
  39. package/dist/functions/deploy.d.ts.map +1 -0
  40. package/dist/functions/deploy.js.map +1 -0
  41. package/dist/functions/isOwner.d.ts +4 -0
  42. package/dist/functions/isOwner.d.ts.map +1 -0
  43. package/dist/functions/isOwner.js +4 -0
  44. package/dist/functions/isOwner.js.map +1 -0
  45. package/dist/functions/isVoter.d.ts +4 -0
  46. package/dist/functions/isVoter.d.ts.map +1 -0
  47. package/dist/functions/isVoter.js +6 -0
  48. package/dist/functions/isVoter.js.map +1 -0
  49. package/dist/functions/load.d.ts.map +1 -0
  50. package/dist/functions/load.js.map +1 -0
  51. package/dist/functions/reload.d.ts.map +1 -0
  52. package/dist/functions/reload.js.map +1 -0
  53. package/dist/functions/sendWebhook.d.ts.map +1 -0
  54. package/dist/functions/sendWebhook.js.map +1 -0
  55. package/dist/functions/setPresence.d.ts.map +1 -0
  56. package/dist/functions/setPresence.js.map +1 -0
  57. package/dist/functions/xernerxUser.d.ts.map +1 -0
  58. package/dist/functions/xernerxUser.js.map +1 -0
  59. package/dist/handlers/CommandHandler.d.ts.map +1 -0
  60. package/dist/handlers/CommandHandler.js +14 -7
  61. package/dist/handlers/CommandHandler.js.map +1 -0
  62. package/dist/handlers/EventHandler.d.ts.map +1 -0
  63. package/dist/handlers/EventHandler.js.map +1 -0
  64. package/dist/handlers/ExtensionHandler.d.ts.map +1 -0
  65. package/dist/handlers/ExtensionHandler.js.map +1 -0
  66. package/dist/handlers/Handler.d.ts +1 -1
  67. package/dist/handlers/Handler.d.ts.map +1 -0
  68. package/dist/handlers/Handler.js.map +1 -0
  69. package/dist/handlers/InhibitorHandler.d.ts.map +1 -0
  70. package/dist/handlers/InhibitorHandler.js.map +1 -0
  71. package/dist/handlers/WebhookHandler.d.ts.map +1 -0
  72. package/dist/handlers/WebhookHandler.js.map +1 -0
  73. package/dist/main.d.ts +2 -5
  74. package/dist/main.d.ts.map +1 -0
  75. package/dist/main.js +2 -24
  76. package/dist/main.js.map +1 -0
  77. package/dist/models/Arguments.d.ts.map +1 -0
  78. package/dist/models/Arguments.js.map +1 -0
  79. package/dist/models/Cooldowns.d.ts +11 -0
  80. package/dist/models/Cooldowns.js +33 -0
  81. package/dist/tools/XernerxError.d.ts.map +1 -0
  82. package/dist/tools/XernerxError.js.map +1 -0
  83. package/dist/tools/XernerxIntents.d.ts +5 -0
  84. package/dist/tools/XernerxIntents.js +24 -0
  85. package/dist/tools/XernerxLog.d.ts.map +1 -0
  86. package/dist/tools/XernerxLog.js +0 -1
  87. package/dist/tools/XernerxLog.js.map +1 -0
  88. package/dist/types/extenders.d.ts +8 -5
  89. package/dist/types/extenders.d.ts.map +1 -0
  90. package/dist/types/extenders.js.map +1 -0
  91. package/dist/types/interfaces.d.ts +7 -6
  92. package/dist/types/interfaces.d.ts.map +1 -0
  93. package/dist/types/interfaces.js.map +1 -0
  94. package/dist/types/types.d.ts +1 -1
  95. package/dist/types/types.d.ts.map +1 -0
  96. package/dist/types/types.js.map +1 -0
  97. package/dist/utils/ClientUtil.d.ts.map +1 -0
  98. package/dist/utils/ClientUtil.js.map +1 -0
  99. package/dist/utils/InteractionUtil.d.ts.map +1 -0
  100. package/dist/utils/InteractionUtil.js.map +1 -0
  101. package/dist/utils/MessageUtil.d.ts.map +1 -0
  102. package/dist/utils/MessageUtil.js.map +1 -0
  103. package/dist/utils/Util.d.ts +1 -1
  104. package/dist/utils/Util.d.ts.map +1 -0
  105. package/dist/utils/Util.js.map +1 -0
  106. package/dist/validators/commandValidation.d.ts.map +1 -0
  107. package/dist/validators/commandValidation.js +91 -25
  108. package/dist/validators/commandValidation.js.map +1 -0
  109. package/dist/validators/inhibitorValidations.d.ts +2 -2
  110. package/dist/validators/inhibitorValidations.d.ts.map +1 -0
  111. package/dist/validators/inhibitorValidations.js +18 -9
  112. package/dist/validators/inhibitorValidations.js.map +1 -0
  113. package/package.json +2 -2
@@ -0,0 +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 ContextCommandBuilder from '../build/ContextCommandBuilder.js';\nimport MessageCommandBuilder from '../build/MessageCommandBuilder.js';\nimport SlashCommandBuilder from '../build/SlashCommandBuilder.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 | SlashCommandBuilder | ContextCommandBuilder\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"]}
@@ -2,5 +2,5 @@
2
2
  import { ContextCommandArguments, MessageCommandArguments, SlashCommandArguments, XernerxContextCommand, XernerxMessageCommand, XernerxSlashCommand } from '../main.js';
3
3
  import { XernerxMessage, XernerxMessageContextInteraction, XernerxSlashInteraction, XernerxUserContextInteraction } from '../types/extenders.js';
4
4
  import { InhibitorType, XernerxInteraction } from '../types/types.js';
5
- export declare function inhibitorValidation(event: XernerxMessage | XernerxInteraction<XernerxSlashInteraction | XernerxUserContextInteraction | XernerxMessageContextInteraction>, args: SlashCommandArguments | MessageCommandArguments | ContextCommandArguments<'user' | 'message'> | null, cmd?: XernerxContextCommand | XernerxMessageCommand | XernerxSlashCommand): Promise<boolean>;
6
- export declare function inhibitorArguments(event: XernerxMessage | XernerxInteraction<XernerxSlashInteraction | XernerxUserContextInteraction | XernerxMessageContextInteraction>, cmd: XernerxContextCommand | XernerxMessageCommand | XernerxSlashCommand | null, type: InhibitorType): import("../main.js").XernerxUser | import("discord.js").GuildMember | import("discord.js").Guild | import("discord.js").TextBasedChannel | XernerxMessageCommand | XernerxSlashCommand | XernerxContextCommand | import("../main.js").APIInteractionGuildMember | null;
5
+ export declare function inhibitorValidation(event: XernerxMessage | XernerxInteraction<XernerxSlashInteraction | XernerxUserContextInteraction | XernerxMessageContextInteraction>, args?: SlashCommandArguments | MessageCommandArguments | ContextCommandArguments<'user' | 'message'> | null, cmd?: XernerxContextCommand | XernerxMessageCommand | XernerxSlashCommand, type?: 'pre' | 'check' | 'post'): Promise<boolean>;
6
+ export declare function inhibitorArguments(event: XernerxMessage | XernerxInteraction<XernerxSlashInteraction | XernerxUserContextInteraction | XernerxMessageContextInteraction>, cmd: XernerxContextCommand | XernerxMessageCommand | XernerxSlashCommand | null, type: InhibitorType): import("../main.js").XernerxUser | import("discord.js").GuildMember | import("discord.js").Guild | import("discord.js").TextBasedChannel | XernerxMessageCommand | XernerxSlashCommand | XernerxContextCommand | import("../main.js").APIInteractionGuildMember | null | undefined;
@@ -0,0 +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,11 +1,20 @@
1
1
  /** @format */
2
- export async function inhibitorValidation(event, args, cmd) {
2
+ export async function inhibitorValidation(event, args, cmd, type) {
3
3
  const client = event.client;
4
4
  const inhibits = [];
5
5
  for (const [name, inhibitor] of client.inhibitors) {
6
- if (Boolean(await inhibitor.check(event, args, (await inhibitorArguments(event, cmd || null, inhibitor.type))))) {
7
- inhibits.push(name);
8
- }
6
+ if (type == 'pre')
7
+ if (Boolean(await inhibitor.pre(event, (await inhibitorArguments(event, cmd || null, inhibitor.type))))) {
8
+ inhibits.push(name);
9
+ }
10
+ if (type == 'check')
11
+ if (Boolean(await inhibitor.check(event, args || null, (await inhibitorArguments(event, cmd || null, inhibitor.type))))) {
12
+ inhibits.push(name);
13
+ }
14
+ if (type == 'post')
15
+ if (Boolean(await inhibitor.post(event, args || null, (await inhibitorArguments(event, cmd || null, inhibitor.type))))) {
16
+ inhibits.push(name);
17
+ }
9
18
  }
10
19
  return !!inhibits.length;
11
20
  }
@@ -14,9 +23,9 @@ export function inhibitorArguments(event, cmd, type) {
14
23
  case 'channel':
15
24
  return event.channel || null;
16
25
  case 'command':
17
- return cmd;
26
+ return cmd || null;
18
27
  case 'contextCommand':
19
- return cmd;
28
+ return cmd || null;
20
29
  case 'guild':
21
30
  return event.guild || null;
22
31
  case 'interaction':
@@ -26,10 +35,10 @@ export function inhibitorArguments(event, cmd, type) {
26
35
  case 'message':
27
36
  return null;
28
37
  case 'messageCommand':
29
- return cmd;
38
+ return cmd || null;
30
39
  case 'slashCommand':
31
- return cmd;
40
+ return cmd || null;
32
41
  case 'user':
33
- return event.user;
42
+ return event.user || null;
34
43
  }
35
44
  }
@@ -0,0 +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, { ContextCommandBuilder, MessageCommandBuilder, SlashCommandBuilder } 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?: ContextCommandBuilder | MessageCommandBuilder | SlashCommandBuilder\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: ContextCommandBuilder | MessageCommandBuilder | SlashCommandBuilder | 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"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xernerx",
3
- "version": "4.6.3",
3
+ "version": "4.7.1",
4
4
  "description": "A bot framework for discord.js.",
5
5
  "main": "dist/main.js",
6
6
  "type": "module",
@@ -44,7 +44,7 @@
44
44
  "discord.js": "14.13.0",
45
45
  "dumfunctions": "2.1.2",
46
46
  "xernerx-extension-builder": "0.0.16",
47
- "zod": "3.22.0"
47
+ "zod": "3.22.2"
48
48
  },
49
49
  "devDependencies": {
50
50
  "prettier": "3.0.0",