xernerx 4.4.12 → 4.4.14

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 (89) hide show
  1. package/dist/build/ContextCommandBuilder.d.ts +32 -24
  2. package/dist/build/ContextCommandBuilder.d.ts.map +1 -1
  3. package/dist/build/ContextCommandBuilder.js +39 -39
  4. package/dist/build/ContextCommandBuilder.js.map +1 -1
  5. package/dist/build/EventBuilder.d.ts +2 -2
  6. package/dist/build/EventBuilder.d.ts.map +1 -1
  7. package/dist/build/EventBuilder.js +2 -2
  8. package/dist/build/EventBuilder.js.map +1 -1
  9. package/dist/build/InhibitorBuilder.d.ts +2 -2
  10. package/dist/build/InhibitorBuilder.d.ts.map +1 -1
  11. package/dist/build/InhibitorBuilder.js +2 -2
  12. package/dist/build/InhibitorBuilder.js.map +1 -1
  13. package/dist/build/MessageCommandBuilder.d.ts +28 -22
  14. package/dist/build/MessageCommandBuilder.d.ts.map +1 -1
  15. package/dist/build/MessageCommandBuilder.js +34 -34
  16. package/dist/build/MessageCommandBuilder.js.map +1 -1
  17. package/dist/build/SlashCommandBuilder.d.ts +34 -26
  18. package/dist/build/SlashCommandBuilder.d.ts.map +1 -1
  19. package/dist/build/SlashCommandBuilder.js +48 -48
  20. package/dist/build/SlashCommandBuilder.js.map +1 -1
  21. package/dist/client/XernerxClient.d.ts +30 -22
  22. package/dist/client/XernerxClient.js +33 -33
  23. package/dist/client/XernerxShardClient.d.ts +2 -2
  24. package/dist/client/XernerxShardClient.d.ts.map +1 -1
  25. package/dist/client/XernerxShardClient.js +18 -12
  26. package/dist/client/XernerxShardClient.js.map +1 -1
  27. package/dist/functions/delay.d.ts +1 -1
  28. package/dist/functions/delay.js +1 -1
  29. package/dist/functions/deploy.d.ts +1 -1
  30. package/dist/functions/deploy.js +13 -16
  31. package/dist/functions/isOwner.d.ts +1 -1
  32. package/dist/functions/isOwner.js +1 -1
  33. package/dist/functions/isVoter.d.ts +1 -1
  34. package/dist/functions/isVoter.js +1 -1
  35. package/dist/functions/load.d.ts +1 -1
  36. package/dist/functions/load.js +2 -3
  37. package/dist/functions/reload.d.ts +1 -1
  38. package/dist/functions/reload.js +9 -12
  39. package/dist/functions/sendWebhook.d.ts +1 -1
  40. package/dist/functions/sendWebhook.js +2 -3
  41. package/dist/functions/setPresence.d.ts +2 -2
  42. package/dist/functions/setPresence.js +12 -11
  43. package/dist/functions/xernerxUser.d.ts +1 -1
  44. package/dist/functions/xernerxUser.js +1 -1
  45. package/dist/handlers/CommandHandler.d.ts +1 -1
  46. package/dist/handlers/CommandHandler.js +82 -105
  47. package/dist/handlers/EventHandler.d.ts +1 -1
  48. package/dist/handlers/EventHandler.js +3 -3
  49. package/dist/handlers/ExtensionHandler.d.ts +1 -1
  50. package/dist/handlers/ExtensionHandler.js +3 -5
  51. package/dist/handlers/Handler.d.ts +1 -1
  52. package/dist/handlers/Handler.js +6 -16
  53. package/dist/handlers/InhibitorHandler.d.ts +1 -1
  54. package/dist/handlers/InhibitorHandler.js +3 -3
  55. package/dist/handlers/WebhookHandler.d.ts +2 -4
  56. package/dist/handlers/WebhookHandler.js +9 -6
  57. package/dist/main.d.ts +29 -22
  58. package/dist/main.d.ts.map +1 -1
  59. package/dist/main.js +29 -22
  60. package/dist/main.js.map +1 -1
  61. package/dist/models/Arguments.d.ts +1 -1
  62. package/dist/models/Arguments.js +48 -63
  63. package/dist/tools/XernerxError.d.ts +1 -1
  64. package/dist/tools/XernerxError.js +1 -1
  65. package/dist/tools/XernerxLog.d.ts +1 -1
  66. package/dist/tools/XernerxLog.js +7 -2
  67. package/dist/types/extenders.d.ts +5 -9
  68. package/dist/types/extenders.js +1 -1
  69. package/dist/types/interfaces.d.ts +9 -6
  70. package/dist/types/interfaces.js +1 -1
  71. package/dist/types/types.d.ts +174 -6
  72. package/dist/types/types.js +1 -1
  73. package/dist/utils/ClientUtil.d.ts +4 -4
  74. package/dist/utils/ClientUtil.js +8 -14
  75. package/dist/utils/InteractionUtil.d.ts +3 -3
  76. package/dist/utils/InteractionUtil.d.ts.map +1 -1
  77. package/dist/utils/InteractionUtil.js +1 -1
  78. package/dist/utils/InteractionUtil.js.map +1 -1
  79. package/dist/utils/MessageUtil.d.ts +3 -3
  80. package/dist/utils/MessageUtil.d.ts.map +1 -1
  81. package/dist/utils/MessageUtil.js +5 -9
  82. package/dist/utils/MessageUtil.js.map +1 -1
  83. package/dist/utils/Util.d.ts +1 -1
  84. package/dist/utils/Util.js +1 -1
  85. package/dist/validators/commandValidation.d.ts +1 -1
  86. package/dist/validators/commandValidation.js +19 -29
  87. package/dist/validators/inhibitorValidations.d.ts +15 -2
  88. package/dist/validators/inhibitorValidations.js +1 -1
  89. package/package.json +1 -1
@@ -16,8 +16,7 @@ export default class MessageUtil extends Util {
16
16
  async reply(content) {
17
17
  if (this.client.cache.messages.has(this.message.id)) {
18
18
  const id = this.client.cache.messages.get(this.message.id);
19
- if (!id)
20
- return;
19
+ if (!id) return null;
21
20
  const msg = await this.message.channel.messages.fetch(id);
22
21
  msg.edit(content);
23
22
  return msg;
@@ -27,8 +26,7 @@ export default class MessageUtil extends Util {
27
26
  return msg;
28
27
  }
29
28
  async webhookReply(content, url, user) {
30
- if (this.message.channel.type === ChannelType.DM)
31
- throw new XernerxError(`Can't use this method in DM Channels`);
29
+ if (this.message.channel.type === ChannelType.DM) throw new XernerxError(`Can't use this method in DM Channels`);
32
30
  const channel = this.message.channel;
33
31
  let webhook;
34
32
  if (!url) {
@@ -37,15 +35,13 @@ export default class MessageUtil extends Util {
37
35
  avatar: user?.avatarURL() || this.client.user?.avatarURL(),
38
36
  });
39
37
  }
40
- if (!webhook)
41
- webhook = { url };
38
+ if (!webhook) webhook = { url };
42
39
  await sendWebhook(webhook.url, content);
43
- if (!url)
44
- webhook.delete();
40
+ if (!url) webhook.delete();
45
41
  return;
46
42
  }
47
43
  async delay(time) {
48
44
  return await delay(time);
49
45
  }
50
46
  }
51
- //# sourceMappingURL=MessageUtil.js.map
47
+ //# sourceMappingURL=MessageUtil.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MessageUtil.js","sourceRoot":"","sources":["../../src/utils/MessageUtil.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAgE,MAAM,YAAY,CAAC;AAEvG,OAAO,KAAK,MAAM,uBAAuB,CAAC;AAG1C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,WAAW,MAAM,6BAA6B,CAAC;AACtD,OAAO,YAAY,MAAM,0BAA0B,CAAC;AAEpD,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,IAAI;IACxB,OAAO,CAAC;IAOzB,YAAY,MAAqB,EAAE,OAAuB;QACtD,KAAK,CAAC,MAAM,CAAC,CAAC;QAEd,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,IAAI,CAAC,MAAM,GAAG;YACV,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,IAAI;SACf,CAAC;IACN,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,OAAuB;QACtC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;YACjD,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAE3D,IAAI,CAAC,EAAE;gBAAE,OAAO;YAEhB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAE1D,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAElB,OAAO,GAAG,CAAC;SACd;QAED,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAE9C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QAExD,OAAO,GAAG,CAAC;IACf,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,OAAuB,EAAE,GAAS,EAAE,IAAW;QACrE,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC,EAAE;YAAE,MAAM,IAAI,YAAY,CAAC,sCAAsC,CAAC,CAAC;QAEjH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAmD,CAAC;QAEjF,IAAI,OAAO,CAAC;QAEZ,IAAI,CAAC,GAAG,EAAE;YACN,OAAO,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC;gBAClC,IAAI,EAAE,IAAI,EAAE,QAAQ,IAAK,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,QAAmB;gBAC9D,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE;aAC7D,CAAC,CAAC;SACN;QAED,IAAI,CAAC,OAAO;YAAE,OAAO,GAAG,EAAE,GAAG,EAAE,CAAC;QAEhC,MAAM,WAAW,CAAC,OAAO,CAAC,GAAU,EAAE,OAAO,CAAC,CAAC;QAE/C,IAAI,CAAC,GAAG;YAAG,OAAsC,CAAC,MAAM,EAAE,CAAC;QAE3D,OAAO;IACX,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,IAAY;QAC3B,OAAO,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;CACJ","sourcesContent":["import { ChannelType, ForumChannel, MessagePayload, NewsChannel, TextChannel, User } from 'discord.js';\n\nimport delay from '../functions/delay.js';\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';\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 reply(content: MessagePayload) {\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;\n\n const msg = await this.message.channel.messages.fetch(id);\n\n msg.edit(content);\n\n return msg;\n }\n\n const msg = await this.message.reply(content);\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 delay(time: number) {\n return await delay(time);\n }\n}\n"]}
1
+ {"version":3,"file":"MessageUtil.js","sourceRoot":"","sources":["../../src/utils/MessageUtil.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAyG,MAAM,YAAY,CAAC;AAEhJ,OAAO,KAAK,MAAM,uBAAuB,CAAC;AAG1C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,WAAW,MAAM,6BAA6B,CAAC;AACtD,OAAO,YAAY,MAAM,0BAA0B,CAAC;AAEpD,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,IAAI;IACxB,OAAO,CAAC;IAOzB,YAAY,MAAqB,EAAE,OAAuB;QACtD,KAAK,CAAC,MAAM,CAAC,CAAC;QAEd,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,IAAI,CAAC,MAAM,GAAG;YACV,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,IAAI;SACf,CAAC;IACN,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,OAA2E;QAC1F,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;YACjD,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAE3D,IAAI,CAAC,EAAE;gBAAE,OAAO,IAAI,CAAC;YAErB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAE1D,GAAG,CAAC,IAAI,CAAC,OAA6B,CAAC,CAAC;YAExC,OAAO,GAAG,CAAC;SACd;QAED,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAA8B,CAAC,CAAC;QAErE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QAExD,OAAO,GAAG,CAAC;IACf,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,OAAuB,EAAE,GAAS,EAAE,IAAW;QACrE,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC,EAAE;YAAE,MAAM,IAAI,YAAY,CAAC,sCAAsC,CAAC,CAAC;QAEjH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAmD,CAAC;QAEjF,IAAI,OAAO,CAAC;QAEZ,IAAI,CAAC,GAAG,EAAE;YACN,OAAO,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC;gBAClC,IAAI,EAAE,IAAI,EAAE,QAAQ,IAAK,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,QAAmB;gBAC9D,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE;aAC7D,CAAC,CAAC;SACN;QAED,IAAI,CAAC,OAAO;YAAE,OAAO,GAAG,EAAE,GAAG,EAAE,CAAC;QAEhC,MAAM,WAAW,CAAC,OAAO,CAAC,GAAU,EAAE,OAAO,CAAC,CAAC;QAE/C,IAAI,CAAC,GAAG;YAAG,OAAsC,CAAC,MAAM,EAAE,CAAC;QAE3D,OAAO;IACX,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,IAAY;QAC3B,OAAO,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;CACJ","sourcesContent":["import { ChannelType, ForumChannel, MessageEditOptions, MessagePayload, MessageReplyOptions, NewsChannel, TextChannel, User } from 'discord.js';\n\nimport delay from '../functions/delay.js';\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';\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 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 delay(time: number) {\n return await delay(time);\n }\n}\n"]}
@@ -3,4 +3,4 @@ export default class Util {
3
3
  client: XernerxClient;
4
4
  constructor(client: XernerxClient);
5
5
  }
6
- //# sourceMappingURL=Util.d.ts.map
6
+ //# sourceMappingURL=Util.d.ts.map
@@ -4,4 +4,4 @@ export default class Util {
4
4
  this.client = client;
5
5
  }
6
6
  }
7
- //# sourceMappingURL=Util.js.map
7
+ //# sourceMappingURL=Util.js.map
@@ -4,4 +4,4 @@ import SlashCommandBuilder from '../build/SlashCommandBuilder.js';
4
4
  import { XernerxMessage } from '../types/extenders.js';
5
5
  import { XernerxInteraction } from '../types/types.js';
6
6
  export default function commandValidation(event: XernerxInteraction | XernerxMessage, command: MessageCommandBuilder | SlashCommandBuilder | ContextCommandBuilder): Promise<boolean>;
7
- //# sourceMappingURL=commandValidation.d.ts.map
7
+ //# sourceMappingURL=commandValidation.d.ts.map
@@ -1,8 +1,7 @@
1
1
  import { ChannelType, PermissionFlagsBits } from 'discord.js';
2
2
  export default async function commandValidation(event, command) {
3
3
  const client = event.client;
4
- if (command.ignore?.owner && client.settings.ownerId.includes(event.user.id))
5
- return false;
4
+ if (command.ignore?.owner && client.settings.ownerId.includes(event.user.id)) return false;
6
5
  if (!client.cache.cooldowns.has(`${event.user.id}-${command.name}`)) {
7
6
  client.cache.cooldowns.set(`${event.user.id}-${command.name}`, {
8
7
  id: event.user.id,
@@ -12,31 +11,21 @@ export default async function commandValidation(event, command) {
12
11
  setTimeout(() => {
13
12
  client.cache.cooldowns.delete(`${event.user.id}-${command.name}`);
14
13
  }, command.cooldown || 0);
15
- }
16
- else {
14
+ } else {
17
15
  const user = client.cache.cooldowns.get(`${event.user.id}-${command.name}`);
18
16
  const time = (user?.createdTimestamp || 0) - Number(Date.now());
19
17
  return emit(event, `Command on cooldown, ${time}`);
20
18
  }
21
- if ((command.ignore?.channels?.length || 0) > 0 && command.ignore?.channels?.includes(event.channel?.id))
22
- return true;
23
- if ((command.ignore?.guilds?.length || 0) > 0 && command.ignore?.guilds?.includes(event.guild?.id))
24
- return true;
25
- if ((command.ignore?.users?.length || 0) > 0 && command.ignore?.users?.includes(event.user.id))
26
- return true;
27
- if (command.strict?.owner && !client.settings.ownerId.includes(event.user.id))
28
- return await emit(event, 'Command is a developer command');
29
- if ((command.strict?.channels?.length || 0) > 0 && !command.strict?.channels?.includes(event.channel?.id))
30
- return await emit(event, 'Command cannot be ran in this channel');
31
- if ((command.strict?.guilds?.length || 0) > 0 && !command.strict?.guilds?.includes(event.guild?.id))
32
- return await emit(event, 'Command cannot be ran in this guild');
33
- if ((command.strict?.users?.length || 0) > 0 && !command.strict?.users?.includes(event.user.id))
34
- return await emit(event, 'Command cannot be ran by you');
35
- if (command.permissions?.dm == false && event.channel?.type === ChannelType.DM)
36
- return await emit(event, "Can't use in a DM Channel");
19
+ if ((command.ignore?.channels?.length || 0) > 0 && command.ignore?.channels?.includes(event.channel?.id)) return true;
20
+ if ((command.ignore?.guilds?.length || 0) > 0 && command.ignore?.guilds?.includes(event.guild?.id)) return true;
21
+ if ((command.ignore?.users?.length || 0) > 0 && command.ignore?.users?.includes(event.user.id)) return true;
22
+ if (command.strict?.owner && !client.settings.ownerId.includes(event.user.id)) return await emit(event, 'Command is a developer command');
23
+ if ((command.strict?.channels?.length || 0) > 0 && !command.strict?.channels?.includes(event.channel?.id)) return await emit(event, 'Command cannot be ran in this channel');
24
+ if ((command.strict?.guilds?.length || 0) > 0 && !command.strict?.guilds?.includes(event.guild?.id)) return await emit(event, 'Command cannot be ran in this guild');
25
+ if ((command.strict?.users?.length || 0) > 0 && !command.strict?.users?.includes(event.user.id)) return await emit(event, 'Command cannot be ran by you');
26
+ if (command.permissions?.dm == false && event.channel?.type === ChannelType.DM) return await emit(event, "Can't use in a DM Channel");
37
27
  if (command.permissions?.user) {
38
- if (!(event.member?.permissions).has(toBigInt(command.permissions.user)))
39
- return await emit(event, 'Missing User Permissions');
28
+ if (!(event.member?.permissions).has(toBigInt(command.permissions.user))) return await emit(event, 'Missing User Permissions');
40
29
  }
41
30
  return false;
42
31
  }
@@ -48,13 +37,14 @@ function toBigInt(permissions) {
48
37
  let bigIntPermissions = 0n;
49
38
  permissions.map((permission) => {
50
39
  permission =
51
- PermissionFlagsBits[permission
52
- .split(/ +/)
53
- .map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())
54
- .join('')];
55
- if (typeof permission === 'bigint')
56
- bigIntPermissions += permission;
40
+ PermissionFlagsBits[
41
+ permission
42
+ .split(/ +/)
43
+ .map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())
44
+ .join('')
45
+ ];
46
+ if (typeof permission === 'bigint') bigIntPermissions += permission;
57
47
  });
58
48
  return bigIntPermissions;
59
49
  }
60
- //# sourceMappingURL=commandValidation.js.map
50
+ //# sourceMappingURL=commandValidation.js.map
@@ -2,5 +2,18 @@ import { ContextCommandBuilder, MessageCommandBuilder, SlashCommandBuilder } fro
2
2
  import { XernerxMessage } from '../types/extenders.js';
3
3
  import { InhibitorType, XernerxInteraction } from '../types/types.js';
4
4
  export declare function inhibitorValidation(event: XernerxMessage | XernerxInteraction, cmd?: ContextCommandBuilder | MessageCommandBuilder | SlashCommandBuilder): Promise<boolean>;
5
- export declare function inhibitorArguments(event: XernerxMessage | XernerxInteraction, cmd: ContextCommandBuilder | MessageCommandBuilder | SlashCommandBuilder | null, type: InhibitorType): import("discord.js").Guild | import("discord.js").GuildMember | import("discord.js").TextBasedChannel | import("discord.js").User | SlashCommandBuilder | ContextCommandBuilder | MessageCommandBuilder | import("../main.js").APIInteractionGuildMember | null;
6
- //# sourceMappingURL=inhibitorValidations.d.ts.map
5
+ export declare function inhibitorArguments(
6
+ event: XernerxMessage | XernerxInteraction,
7
+ cmd: ContextCommandBuilder | MessageCommandBuilder | SlashCommandBuilder | null,
8
+ type: InhibitorType
9
+ ):
10
+ | import('discord.js').Guild
11
+ | import('discord.js').GuildMember
12
+ | import('discord.js').TextBasedChannel
13
+ | import('discord.js').User
14
+ | SlashCommandBuilder
15
+ | ContextCommandBuilder
16
+ | MessageCommandBuilder
17
+ | import('../main.js').APIInteractionGuildMember
18
+ | null;
19
+ //# sourceMappingURL=inhibitorValidations.d.ts.map
@@ -32,4 +32,4 @@ export function inhibitorArguments(event, cmd, type) {
32
32
  return event.user;
33
33
  }
34
34
  }
35
- //# sourceMappingURL=inhibitorValidations.js.map
35
+ //# sourceMappingURL=inhibitorValidations.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xernerx",
3
- "version": "4.4.12",
3
+ "version": "4.4.14",
4
4
  "description": "A bot framework for discord.js.",
5
5
  "main": "dist/main.js",
6
6
  "type": "module",