xernerx 4.4.19 → 4.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/build/ContextCommandBuilder.d.ts +31 -23
- package/dist/build/ContextCommandBuilder.js +39 -39
- package/dist/build/EventBuilder.d.ts +1 -1
- package/dist/build/EventBuilder.js +2 -2
- package/dist/build/InhibitorBuilder.d.ts +11 -2
- package/dist/build/InhibitorBuilder.js +2 -2
- package/dist/build/MessageCommandBuilder.d.ts +26 -20
- package/dist/build/MessageCommandBuilder.js +34 -34
- package/dist/build/SlashCommandBuilder.d.ts +39 -25
- package/dist/build/SlashCommandBuilder.js +48 -48
- package/dist/build/XernerxContextCommand.d.ts +51 -0
- package/dist/build/XernerxContextCommand.d.ts.map +1 -0
- package/dist/build/XernerxContextCommand.js +68 -0
- package/dist/build/XernerxContextCommand.js.map +1 -0
- package/dist/build/XernerxEvent.d.ts +25 -0
- package/dist/build/XernerxEvent.d.ts.map +1 -0
- package/dist/build/XernerxEvent.js +29 -0
- package/dist/build/XernerxEvent.js.map +1 -0
- package/dist/build/XernerxInhibitor.d.ts +29 -0
- package/dist/build/XernerxInhibitor.d.ts.map +1 -0
- package/dist/build/XernerxInhibitor.js +21 -0
- package/dist/build/XernerxInhibitor.js.map +1 -0
- package/dist/build/XernerxMessageCommand.d.ts +48 -0
- package/dist/build/XernerxMessageCommand.d.ts.map +1 -0
- package/dist/build/XernerxMessageCommand.js +61 -0
- package/dist/build/XernerxMessageCommand.js.map +1 -0
- package/dist/build/XernerxSlashCommand.d.ts +62 -0
- package/dist/build/XernerxSlashCommand.d.ts.map +1 -0
- package/dist/build/XernerxSlashCommand.js +114 -0
- package/dist/build/XernerxSlashCommand.js.map +1 -0
- package/dist/client/XernerxClient.d.ts +37 -29
- package/dist/client/XernerxClient.d.ts.map +1 -1
- package/dist/client/XernerxClient.js +33 -33
- package/dist/client/XernerxClient.js.map +1 -1
- package/dist/client/XernerxShardClient.d.ts +1 -1
- package/dist/client/XernerxShardClient.js +15 -13
- package/dist/functions/delay.d.ts +1 -1
- package/dist/functions/delay.js +1 -1
- package/dist/functions/deploy.d.ts +1 -1
- package/dist/functions/deploy.js +15 -20
- package/dist/functions/deploy.js.map +1 -1
- package/dist/functions/isOwner.d.ts +2 -2
- package/dist/functions/isOwner.d.ts.map +1 -1
- package/dist/functions/isOwner.js +2 -4
- package/dist/functions/isOwner.js.map +1 -1
- package/dist/functions/isVoter.d.ts +1 -1
- package/dist/functions/isVoter.js +1 -1
- package/dist/functions/load.d.ts +1 -1
- package/dist/functions/load.js +2 -3
- package/dist/functions/load.js.map +1 -1
- package/dist/functions/reload.d.ts +1 -1
- package/dist/functions/reload.js +9 -12
- package/dist/functions/sendWebhook.d.ts +1 -1
- package/dist/functions/sendWebhook.js +2 -3
- package/dist/functions/setPresence.d.ts +2 -2
- package/dist/functions/setPresence.js +12 -11
- package/dist/functions/xernerxUser.d.ts +1 -1
- package/dist/functions/xernerxUser.d.ts.map +1 -1
- package/dist/functions/xernerxUser.js +9 -5
- package/dist/functions/xernerxUser.js.map +1 -1
- package/dist/handlers/CommandHandler.d.ts +1 -1
- package/dist/handlers/CommandHandler.js +84 -107
- package/dist/handlers/CommandHandler.js.map +1 -1
- package/dist/handlers/EventHandler.d.ts +1 -1
- package/dist/handlers/EventHandler.js +3 -3
- package/dist/handlers/ExtensionHandler.d.ts +1 -1
- package/dist/handlers/ExtensionHandler.js +3 -5
- package/dist/handlers/Handler.d.ts +5 -5
- package/dist/handlers/Handler.d.ts.map +1 -1
- package/dist/handlers/Handler.js +6 -16
- package/dist/handlers/Handler.js.map +1 -1
- package/dist/handlers/InhibitorHandler.d.ts +1 -1
- package/dist/handlers/InhibitorHandler.js +3 -3
- package/dist/handlers/WebhookHandler.d.ts +2 -4
- package/dist/handlers/WebhookHandler.js +9 -6
- package/dist/handlers/WebhookHandler.js.map +1 -1
- package/dist/main.d.ts +35 -28
- package/dist/main.js +35 -28
- package/dist/main.js.map +1 -1
- package/dist/models/Arguments.d.ts +8 -5
- package/dist/models/Arguments.js +48 -63
- package/dist/models/Arguments.js.map +1 -1
- package/dist/tools/XernerxError.d.ts +1 -1
- package/dist/tools/XernerxError.js +1 -1
- package/dist/tools/XernerxLog.d.ts +1 -1
- package/dist/tools/XernerxLog.js +7 -2
- package/dist/types/extenders.d.ts +5 -9
- package/dist/types/extenders.js +1 -1
- package/dist/types/interfaces.d.ts +17 -14
- package/dist/types/interfaces.d.ts.map +1 -1
- package/dist/types/interfaces.js +1 -1
- package/dist/types/interfaces.js.map +1 -1
- package/dist/types/types.d.ts +180 -8
- package/dist/types/types.d.ts.map +1 -1
- package/dist/types/types.js +1 -1
- package/dist/types/types.js.map +1 -1
- package/dist/utils/ClientUtil.d.ts +5 -5
- package/dist/utils/ClientUtil.d.ts.map +1 -1
- package/dist/utils/ClientUtil.js +8 -14
- package/dist/utils/ClientUtil.js.map +1 -1
- package/dist/utils/InteractionUtil.d.ts +2 -3
- package/dist/utils/InteractionUtil.d.ts.map +1 -1
- package/dist/utils/InteractionUtil.js +1 -5
- package/dist/utils/InteractionUtil.js.map +1 -1
- package/dist/utils/MessageUtil.d.ts +2 -3
- package/dist/utils/MessageUtil.d.ts.map +1 -1
- package/dist/utils/MessageUtil.js +5 -13
- package/dist/utils/MessageUtil.js.map +1 -1
- package/dist/utils/Util.d.ts +3 -2
- package/dist/utils/Util.d.ts.map +1 -1
- package/dist/utils/Util.js +4 -1
- package/dist/utils/Util.js.map +1 -1
- package/dist/validators/commandValidation.d.ts +8 -5
- package/dist/validators/commandValidation.js +19 -29
- package/dist/validators/commandValidation.js.map +1 -1
- package/dist/validators/inhibitorValidations.d.ts +20 -4
- package/dist/validators/inhibitorValidations.js +2 -2
- package/dist/validators/inhibitorValidations.js.map +1 -1
- package/package.json +1 -1
|
@@ -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
|
-
|
|
23
|
-
if ((command.ignore?.
|
|
24
|
-
|
|
25
|
-
if ((command.
|
|
26
|
-
|
|
27
|
-
if (command.strict?.
|
|
28
|
-
|
|
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[
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
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
|
|
@@ -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 ContextCommandBuilder from '../build/
|
|
1
|
+
{"version":3,"file":"commandValidation.js","sourceRoot":"","sources":["../../src/validators/commandValidation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAqB,MAAM,YAAY,CAAC;AASjF,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,iBAAiB,CAC3C,KAAmI,EACnI,OAA4E;IAE5E,MAAM,MAAM,GAAG,KAAK,CAAC,MAAuB,CAAC;IAE7C,IAAI,OAAO,CAAC,MAAM,EAAE,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAAE,OAAO,KAAK,CAAC;IAE3F,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE;QACjE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE;YAC3D,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE;YACjB,OAAO,EAAE,OAAO,CAAC,IAAI;YACrB,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC;SACjE,CAAC,CAAC;QAEH,UAAU,CAAC,GAAG,EAAE;YACZ,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACtE,CAAC,EAAE,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;KAC7B;SAAM;QACH,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAE5E,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,gBAAgB,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAEhE,OAAO,IAAI,CAAC,KAAK,EAAE,wBAAwB,IAAI,EAAE,CAAC,CAAC;KACtD;IAED,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,EAAY,CAAC;QAAE,OAAO,IAAI,CAAC;IAEhI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,EAAY,CAAC;QAAE,OAAO,IAAI,CAAC;IAE1H,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAY,CAAC;QAAE,OAAO,IAAI,CAAC;IAEtH,IAAI,OAAO,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAAE,OAAO,MAAM,IAAI,CAAC,KAAK,EAAE,gCAAgC,CAAC,CAAC;IAE1I,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,EAAY,CAAC;QAAE,OAAO,MAAM,IAAI,CAAC,KAAK,EAAE,uCAAuC,CAAC,CAAC;IAEvL,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,EAAY,CAAC;QAAE,OAAO,MAAM,IAAI,CAAC,KAAK,EAAE,qCAAqC,CAAC,CAAC;IAE/K,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAAE,OAAO,MAAM,IAAI,CAAC,KAAK,EAAE,8BAA8B,CAAC,CAAC;IAE1J,IAAI,OAAO,CAAC,WAAW,EAAE,EAAE,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE,IAAI,KAAK,WAAW,CAAC,EAAE;QAAE,OAAO,MAAM,IAAI,CAAC,KAAK,EAAE,2BAA2B,CAAC,CAAC;IAEtI,IAAI,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE;QAC3B,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,WAAuC,CAAA,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAAE,OAAO,MAAM,IAAI,CAAC,KAAK,EAAE,0BAA0B,CAAC,CAAC;KAC7J;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,IAAI,CAAC,KAAmI,EAAE,MAAc;IACnK,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACjD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,QAAQ,CAAC,WAAmD;IACjE,IAAI,iBAAiB,GAAG,EAAE,CAAC;IAE3B,WAAW,CAAC,GAAG,CAAC,CAAC,UAA2B,EAAE,EAAE;QAC5C,UAAU;YACN,mBAAmB,CACd,UAAqB;iBACjB,KAAK,CAAC,IAAI,CAAC;iBACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;iBACzE,IAAI,CAAC,EAAE,CAAsB,CACrC,CAAC;QAEN,IAAI,OAAO,UAAU,KAAK,QAAQ;YAAE,iBAAiB,IAAI,UAAU,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,OAAO,iBAAiB,CAAC;AAC7B,CAAC","sourcesContent":["import { ChannelType, PermissionFlagsBits, PermissionsString } from 'discord.js';\n\nimport ContextCommandBuilder from '../build/XernerxContextCommand.js';\nimport MessageCommandBuilder from '../build/XernerxMessageCommand.js';\nimport SlashCommandBuilder 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 | 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"]}
|
|
@@ -1,6 +1,22 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { XernerxContextCommand, XernerxMessageCommand, XernerxSlashCommand } from '../main.js';
|
|
2
2
|
import { XernerxMessage, XernerxMessageContextInteraction, XernerxSlashInteraction, XernerxUserContextInteraction } from '../types/extenders.js';
|
|
3
3
|
import { InhibitorType, XernerxInteraction } from '../types/types.js';
|
|
4
|
-
export declare function inhibitorValidation(
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
export declare function inhibitorValidation(
|
|
5
|
+
event: XernerxMessage | XernerxInteraction<XernerxSlashInteraction | XernerxUserContextInteraction | XernerxMessageContextInteraction>,
|
|
6
|
+
cmd?: XernerxContextCommand | XernerxMessageCommand | XernerxSlashCommand
|
|
7
|
+
): Promise<boolean>;
|
|
8
|
+
export declare function inhibitorArguments(
|
|
9
|
+
event: XernerxMessage | XernerxInteraction<XernerxSlashInteraction | XernerxUserContextInteraction | XernerxMessageContextInteraction>,
|
|
10
|
+
cmd: XernerxContextCommand | XernerxMessageCommand | XernerxSlashCommand | null,
|
|
11
|
+
type: InhibitorType
|
|
12
|
+
):
|
|
13
|
+
| import('../main.js').XernerxUser
|
|
14
|
+
| import('discord.js').Guild
|
|
15
|
+
| import('discord.js').GuildMember
|
|
16
|
+
| import('discord.js').TextBasedChannel
|
|
17
|
+
| XernerxSlashCommand
|
|
18
|
+
| XernerxContextCommand
|
|
19
|
+
| XernerxMessageCommand
|
|
20
|
+
| import('../main.js').APIInteractionGuildMember
|
|
21
|
+
| null;
|
|
22
|
+
//# sourceMappingURL=inhibitorValidations.d.ts.map
|
|
@@ -2,7 +2,7 @@ export async function inhibitorValidation(event, cmd) {
|
|
|
2
2
|
const client = event.client;
|
|
3
3
|
const inhibits = [];
|
|
4
4
|
for (const [name, inhibitor] of client.inhibitors) {
|
|
5
|
-
if (Boolean(await inhibitor.check(event,
|
|
5
|
+
if (Boolean(await inhibitor.check(event, await inhibitorArguments(event, cmd || null, inhibitor.type)))) {
|
|
6
6
|
inhibits.push(name);
|
|
7
7
|
}
|
|
8
8
|
}
|
|
@@ -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
|
|
@@ -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, {
|
|
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"]}
|