xernerx 4.4.4 → 4.4.6
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 +26 -33
- package/dist/build/ContextCommandBuilder.js +38 -38
- package/dist/build/EventBuilder.d.ts +3 -1
- package/dist/build/EventBuilder.js +1 -1
- package/dist/build/InhibitorBuilder.d.ts +5 -3
- package/dist/build/InhibitorBuilder.js +1 -1
- package/dist/build/MessageCommandBuilder.d.ts +24 -28
- package/dist/build/MessageCommandBuilder.js +33 -33
- package/dist/build/SlashCommandBuilder.d.ts +29 -34
- package/dist/build/SlashCommandBuilder.js +47 -47
- package/dist/client/XernerxClient.d.ts +21 -29
- package/dist/client/XernerxClient.js +32 -32
- package/dist/client/XernerxShardClient.js +3 -5
- package/dist/functions/deploy.js +15 -12
- package/dist/functions/load.js +2 -1
- package/dist/functions/reload.js +11 -8
- package/dist/functions/sendWebhook.js +2 -1
- package/dist/functions/setPresence.d.ts +1 -1
- package/dist/functions/setPresence.js +10 -11
- package/dist/handlers/CommandHandler.js +104 -81
- package/dist/handlers/EventHandler.js +2 -2
- package/dist/handlers/ExtensionHandler.js +4 -2
- package/dist/handlers/Handler.js +15 -5
- package/dist/handlers/InhibitorHandler.js +2 -2
- package/dist/handlers/WebhookHandler.d.ts +3 -1
- package/dist/handlers/WebhookHandler.js +5 -8
- package/dist/main.d.ts +21 -28
- package/dist/main.js +21 -28
- package/dist/models/Arguments.d.ts +1 -8
- package/dist/models/Arguments.js +72 -51
- package/dist/tools/XernerxLog.js +1 -6
- package/dist/types/extenders.d.ts +8 -4
- package/dist/types/interfaces.d.ts +6 -12
- package/dist/types/types.d.ts +5 -173
- package/dist/utils/ClientUtil.d.ts +3 -3
- package/dist/utils/ClientUtil.js +13 -7
- package/dist/utils/InteractionUtil.d.ts +1 -1
- package/dist/utils/MessageUtil.d.ts +1 -1
- package/dist/utils/MessageUtil.js +8 -4
- package/dist/validators/commandValidation.js +28 -18
- package/dist/validators/inhibitorValidations.d.ts +1 -14
- package/package.json +1 -1
|
@@ -16,7 +16,8 @@ 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)
|
|
19
|
+
if (!id)
|
|
20
|
+
return;
|
|
20
21
|
const msg = await this.message.channel.messages.fetch(id);
|
|
21
22
|
msg.edit(content);
|
|
22
23
|
return msg;
|
|
@@ -26,7 +27,8 @@ export default class MessageUtil extends Util {
|
|
|
26
27
|
return msg;
|
|
27
28
|
}
|
|
28
29
|
async webhookReply(content, url, user) {
|
|
29
|
-
if (this.message.channel.type === ChannelType.DM)
|
|
30
|
+
if (this.message.channel.type === ChannelType.DM)
|
|
31
|
+
throw new XernerxError(`Can't use this method in DM Channels`);
|
|
30
32
|
const channel = this.message.channel;
|
|
31
33
|
let webhook;
|
|
32
34
|
if (!url) {
|
|
@@ -35,9 +37,11 @@ export default class MessageUtil extends Util {
|
|
|
35
37
|
avatar: user?.avatarURL() || this.client.user?.avatarURL(),
|
|
36
38
|
});
|
|
37
39
|
}
|
|
38
|
-
if (!webhook)
|
|
40
|
+
if (!webhook)
|
|
41
|
+
webhook = { url };
|
|
39
42
|
await sendWebhook(webhook.url, content);
|
|
40
|
-
if (!url)
|
|
43
|
+
if (!url)
|
|
44
|
+
webhook.delete();
|
|
41
45
|
return;
|
|
42
46
|
}
|
|
43
47
|
async delay(time) {
|
|
@@ -1,7 +1,8 @@
|
|
|
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))
|
|
4
|
+
if (command.ignore?.owner && client.settings.ownerId.includes(event.user.id))
|
|
5
|
+
return false;
|
|
5
6
|
if (!client.cache.cooldowns.has(`${event.user.id}-${command.name}`)) {
|
|
6
7
|
client.cache.cooldowns.set(`${event.user.id}-${command.name}`, {
|
|
7
8
|
id: event.user.id,
|
|
@@ -11,21 +12,31 @@ export default async function commandValidation(event, command) {
|
|
|
11
12
|
setTimeout(() => {
|
|
12
13
|
client.cache.cooldowns.delete(`${event.user.id}-${command.name}`);
|
|
13
14
|
}, command.cooldown || 0);
|
|
14
|
-
}
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
15
17
|
const user = client.cache.cooldowns.get(`${event.user.id}-${command.name}`);
|
|
16
18
|
const time = (user?.createdTimestamp || 0) - Number(Date.now());
|
|
17
19
|
return emit(event, `Command on cooldown, ${time}`);
|
|
18
20
|
}
|
|
19
|
-
if ((command.ignore?.channels?.length || 0) > 0 && command.ignore?.channels?.includes(event.channel?.id))
|
|
20
|
-
|
|
21
|
-
if ((command.ignore?.
|
|
22
|
-
|
|
23
|
-
if ((command.
|
|
24
|
-
|
|
25
|
-
if (
|
|
26
|
-
|
|
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");
|
|
27
37
|
if (command.permissions?.user) {
|
|
28
|
-
if (!(event.member?.permissions).has(toBigInt(command.permissions.user)))
|
|
38
|
+
if (!(event.member?.permissions).has(toBigInt(command.permissions.user)))
|
|
39
|
+
return await emit(event, 'Missing User Permissions');
|
|
29
40
|
}
|
|
30
41
|
return false;
|
|
31
42
|
}
|
|
@@ -37,13 +48,12 @@ function toBigInt(permissions) {
|
|
|
37
48
|
let bigIntPermissions = 0n;
|
|
38
49
|
permissions.map((permission) => {
|
|
39
50
|
permission =
|
|
40
|
-
PermissionFlagsBits[
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
if (typeof permission === 'bigint') bigIntPermissions += 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;
|
|
47
57
|
});
|
|
48
58
|
return bigIntPermissions;
|
|
49
59
|
}
|
|
@@ -2,17 +2,4 @@ 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(
|
|
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;
|
|
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;
|