xernerx 4.1.0 → 4.2.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.
- package/LICENSE +21 -21
- package/dist/cjs/build/ContextCommandBuilder.d.ts +68 -0
- package/dist/cjs/build/ContextCommandBuilder.js +97 -0
- package/dist/cjs/build/EventBuilder.d.ts +21 -0
- package/dist/cjs/build/EventBuilder.js +44 -0
- package/dist/cjs/build/InhibitorBuilder.d.ts +19 -0
- package/dist/cjs/build/InhibitorBuilder.js +37 -0
- package/dist/cjs/build/MessageCommandBuilder.d.ts +59 -0
- package/dist/cjs/build/MessageCommandBuilder.js +100 -0
- package/dist/cjs/build/SlashCommandBuilder.d.ts +64 -0
- package/dist/cjs/build/SlashCommandBuilder.js +168 -0
- package/dist/cjs/client/XernerxClient.d.ts +28 -0
- package/dist/cjs/client/XernerxClient.js +116 -0
- package/dist/cjs/handlers/CommandHandler.d.ts +27 -0
- package/dist/cjs/handlers/CommandHandler.js +45 -0
- package/dist/cjs/handlers/EventHandler.d.ts +13 -0
- package/dist/cjs/handlers/EventHandler.js +19 -0
- package/dist/cjs/handlers/Handler.d.ts +57 -0
- package/dist/cjs/handlers/Handler.js +308 -0
- package/dist/cjs/handlers/InhibitorHandler.d.ts +18 -0
- package/dist/cjs/handlers/InhibitorHandler.js +24 -0
- package/dist/cjs/main.d.ts +44 -0
- package/dist/cjs/main.js +112 -0
- package/dist/cjs/models/CommandArguments.d.ts +17 -0
- package/dist/cjs/models/CommandArguments.js +106 -0
- package/dist/cjs/models/Events.d.ts +24 -0
- package/dist/cjs/models/Events.js +307 -0
- package/dist/cjs/models/Extensions.d.ts +7 -0
- package/dist/cjs/models/Extensions.js +26 -0
- package/dist/cjs/tools/XernerxError.d.ts +5 -0
- package/dist/cjs/tools/XernerxError.js +11 -0
- package/dist/cjs/tools/package.d.ts +49 -0
- package/dist/cjs/tools/package.js +50 -0
- package/dist/cjs/types/enums.d.ts +44 -0
- package/dist/cjs/types/enums.js +38 -0
- package/dist/cjs/types/interfaces.d.ts +25 -0
- package/dist/cjs/types/interfaces.js +2 -0
- package/dist/cjs/types/options.d.ts +241 -0
- package/dist/cjs/types/options.js +2 -0
- package/dist/cjs/types/types.d.ts +61 -0
- package/dist/cjs/types/types.js +2 -0
- package/dist/cjs/utils/ClientUtil.d.ts +25 -0
- package/dist/cjs/utils/ClientUtil.js +211 -0
- package/dist/cjs/utils/CommandUtil.d.ts +58 -0
- package/dist/cjs/utils/CommandUtil.js +247 -0
- package/dist/cjs/validators/CommandValidations.d.ts +12 -0
- package/dist/cjs/validators/CommandValidations.js +169 -0
- package/dist/cjs/validators/InhibitorValidations.d.ts +11 -0
- package/dist/cjs/validators/InhibitorValidations.js +40 -0
- package/dist/client/XernerxClient.d.ts +5 -4
- package/dist/client/XernerxClient.js +2 -10
- package/dist/functions/deploy.js +20 -20
- package/dist/handlers/CommandHandler.js +28 -13
- package/dist/main.d.ts +1 -1
- package/dist/main.js +1 -1
- package/dist/mjs/build/ContextCommandBuilder.d.ts +68 -0
- package/dist/mjs/build/ContextCommandBuilder.js +88 -0
- package/dist/mjs/build/EventBuilder.d.ts +21 -0
- package/dist/mjs/build/EventBuilder.js +34 -0
- package/dist/mjs/build/InhibitorBuilder.d.ts +19 -0
- package/dist/mjs/build/InhibitorBuilder.js +27 -0
- package/dist/mjs/build/MessageCommandBuilder.d.ts +59 -0
- package/dist/mjs/build/MessageCommandBuilder.js +90 -0
- package/dist/mjs/build/SlashCommandBuilder.d.ts +64 -0
- package/dist/mjs/build/SlashCommandBuilder.js +121 -0
- package/dist/mjs/client/XernerxClient.d.ts +28 -0
- package/dist/mjs/client/XernerxClient.js +108 -0
- package/dist/mjs/handlers/CommandHandler.d.ts +27 -0
- package/dist/mjs/handlers/CommandHandler.js +42 -0
- package/dist/mjs/handlers/EventHandler.d.ts +13 -0
- package/dist/mjs/handlers/EventHandler.js +16 -0
- package/dist/mjs/handlers/Handler.d.ts +57 -0
- package/dist/mjs/handlers/Handler.js +260 -0
- package/dist/mjs/handlers/InhibitorHandler.d.ts +18 -0
- package/dist/mjs/handlers/InhibitorHandler.js +21 -0
- package/dist/mjs/main.d.ts +44 -0
- package/dist/mjs/main.js +52 -0
- package/dist/mjs/models/CommandArguments.d.ts +17 -0
- package/dist/mjs/models/CommandArguments.js +101 -0
- package/dist/mjs/models/Events.d.ts +24 -0
- package/dist/mjs/models/Events.js +295 -0
- package/dist/mjs/models/Extensions.d.ts +7 -0
- package/dist/mjs/models/Extensions.js +23 -0
- package/dist/mjs/tools/XernerxError.d.ts +5 -0
- package/dist/mjs/tools/XernerxError.js +8 -0
- package/dist/mjs/tools/package.d.ts +49 -0
- package/dist/mjs/tools/package.js +48 -0
- package/dist/mjs/types/enums.d.ts +44 -0
- package/dist/mjs/types/enums.js +35 -0
- package/dist/mjs/types/interfaces.d.ts +25 -0
- package/dist/mjs/types/interfaces.js +1 -0
- package/dist/mjs/types/options.d.ts +241 -0
- package/dist/mjs/types/options.js +1 -0
- package/dist/mjs/types/types.d.ts +61 -0
- package/dist/mjs/types/types.js +1 -0
- package/dist/mjs/utils/ClientUtil.d.ts +25 -0
- package/dist/mjs/utils/ClientUtil.js +202 -0
- package/dist/mjs/utils/CommandUtil.d.ts +58 -0
- package/dist/mjs/utils/CommandUtil.js +232 -0
- package/dist/mjs/validators/CommandValidations.d.ts +12 -0
- package/dist/mjs/validators/CommandValidations.js +166 -0
- package/dist/mjs/validators/InhibitorValidations.d.ts +11 -0
- package/dist/mjs/validators/InhibitorValidations.js +36 -0
- package/dist/tools/XernerxLog.d.ts +1 -0
- package/dist/tools/XernerxLog.js +26 -8
- package/dist/types/extenders.d.ts +11 -6
- package/dist/types/interfaces.d.ts +23 -19
- package/dist/utils/ClientUtil.d.ts +2 -1
- package/dist/utils/ClientUtil.js +10 -1
- package/dist/utils/MessageUtil.d.ts +4 -1
- package/dist/utils/MessageUtil.js +4 -2
- package/package.json +1 -1
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { InhibitorType } from '../types/enums.js';
|
|
2
|
+
export class InhibitorValidation {
|
|
3
|
+
client;
|
|
4
|
+
action;
|
|
5
|
+
command;
|
|
6
|
+
inhibited;
|
|
7
|
+
constructor(client, action, command) {
|
|
8
|
+
this.client = client;
|
|
9
|
+
this.action = action;
|
|
10
|
+
this.command = command;
|
|
11
|
+
this.inhibited = {};
|
|
12
|
+
}
|
|
13
|
+
async inhibit() {
|
|
14
|
+
for (const inhibitor of this.client.inhibitors) {
|
|
15
|
+
const inhibit = inhibitor[1];
|
|
16
|
+
if (inhibit) this.inhibited[inhibit.name] = await inhibit.check(this.action, this.args(this.action, inhibit.type));
|
|
17
|
+
}
|
|
18
|
+
for (const inhibit of Object.values(this.inhibited)) {
|
|
19
|
+
if (inhibit) return this.inhibited;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
args(action, type) {
|
|
23
|
+
if (type === InhibitorType.Channel) return action.channel;
|
|
24
|
+
if (type === InhibitorType.User) return action.author || action.user;
|
|
25
|
+
if (type === InhibitorType.Guild) return action.guild;
|
|
26
|
+
if (type === InhibitorType.Member) return action.member;
|
|
27
|
+
// if (type === InhibitorType.Command)
|
|
28
|
+
// return this.client.util.getAllCommands().filter(this.command.name);
|
|
29
|
+
// if (type === InhibitorType.MessageCommand)
|
|
30
|
+
// return this.client.util.getAllMessageCommands().find(this.command.name);
|
|
31
|
+
// if (type === InhibitorType.SlashCommand)
|
|
32
|
+
// return this.client.util.getAllSlashCommands().find(this.command.name);
|
|
33
|
+
// if (type === InhibitorType.ContextCommand)
|
|
34
|
+
// return this.client.util.getAllContextCommands().find(this.command.name);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -5,6 +5,7 @@ export default class XernerxLog {
|
|
|
5
5
|
private readonly errorLog;
|
|
6
6
|
private readonly infoLog;
|
|
7
7
|
private readonly readyLog;
|
|
8
|
+
private readonly tableLog;
|
|
8
9
|
constructor(client: XernerxClient);
|
|
9
10
|
info(message: string, force?: boolean): void | null;
|
|
10
11
|
warn(message: string): void | null;
|
package/dist/tools/XernerxLog.js
CHANGED
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
import { Style } from 'dumfunctions';
|
|
2
2
|
export default class XernerxLog {
|
|
3
|
-
client;
|
|
4
|
-
errorLog;
|
|
5
|
-
infoLog;
|
|
6
|
-
readyLog;
|
|
7
3
|
constructor(client) {
|
|
8
4
|
this.client = client;
|
|
9
5
|
this.errorLog = client.settings.log?.error;
|
|
10
6
|
this.infoLog = client.settings.log?.info;
|
|
11
7
|
this.readyLog = client.settings.log?.ready;
|
|
8
|
+
this.tableLog = client.settings.log?.table;
|
|
12
9
|
}
|
|
13
10
|
info(message, force = false) {
|
|
14
11
|
return this.infoLog || force ? console.info(`${Style.log('✔️ | Xernerx', { color: Style.TextColor.Purple })} | ${message}`) : null;
|
|
@@ -20,11 +17,32 @@ export default class XernerxLog {
|
|
|
20
17
|
return this.errorLog ? console.error(`${Style.log('❗ | Xernerx', { color: Style.TextColor.Red })} | ${message}${error ? ` | ${error.stack}` : ''}`) : null;
|
|
21
18
|
}
|
|
22
19
|
ready() {
|
|
23
|
-
this.client.prependOnceListener('ready', async (synced) =>
|
|
20
|
+
this.client.prependOnceListener('ready', async (synced) => {
|
|
24
21
|
this.info(
|
|
25
|
-
`${synced.user.tag} is now online, watching ${
|
|
22
|
+
`${synced.user.tag} is now online, watching ${this.client.guilds.cache.size} guilds, using ${
|
|
23
|
+
this.client.settings.local ? await this.client.guilds.fetch(this.client.settings.local) : 'none'
|
|
24
|
+
} as local guild.`,
|
|
26
25
|
this.readyLog
|
|
27
|
-
)
|
|
28
|
-
|
|
26
|
+
);
|
|
27
|
+
const files = [];
|
|
28
|
+
for (const [id, data] of this.client.commands.message) {
|
|
29
|
+
files.push(data);
|
|
30
|
+
}
|
|
31
|
+
for (const [id, data] of this.client.commands.slash) {
|
|
32
|
+
files.push(data);
|
|
33
|
+
}
|
|
34
|
+
for (const [id, data] of this.client.commands.context) {
|
|
35
|
+
files.push(data);
|
|
36
|
+
}
|
|
37
|
+
for (const [id, data] of this.client.events) {
|
|
38
|
+
files.push(data);
|
|
39
|
+
}
|
|
40
|
+
for (const [id, data] of this.client.inhibitors) {
|
|
41
|
+
files.push(data);
|
|
42
|
+
}
|
|
43
|
+
if (this.tableLog) {
|
|
44
|
+
console.table(files, this.tableLog);
|
|
45
|
+
}
|
|
46
|
+
});
|
|
29
47
|
}
|
|
30
48
|
}
|
|
@@ -11,13 +11,18 @@ export interface XernerxMember extends GuildMember {
|
|
|
11
11
|
export interface XernerxGuild extends Guild {}
|
|
12
12
|
export interface XernerxGuildChannel extends GuildChannel {}
|
|
13
13
|
export interface XernerxDMChannel extends DMChannel {}
|
|
14
|
-
interface XernerxCommand {
|
|
15
|
-
util: InteractionUtil | MessageUtil;
|
|
16
|
-
}
|
|
14
|
+
interface XernerxCommand {}
|
|
17
15
|
export interface XernerxMessage extends Message, XernerxCommand {
|
|
18
16
|
user: XernerxUser;
|
|
17
|
+
util: MessageUtil;
|
|
18
|
+
}
|
|
19
|
+
export interface XernerxSlashInteraction extends ChatInputCommandInteraction, XernerxCommand {
|
|
20
|
+
util: InteractionUtil;
|
|
21
|
+
}
|
|
22
|
+
export interface XernerxUserContextInteraction extends UserContextMenuCommandInteraction, XernerxCommand {
|
|
23
|
+
util: InteractionUtil;
|
|
24
|
+
}
|
|
25
|
+
export interface XernerxMessageContextInteraction extends MessageContextMenuCommandInteraction, XernerxCommand {
|
|
26
|
+
util: InteractionUtil;
|
|
19
27
|
}
|
|
20
|
-
export interface XernerxSlashInteraction extends ChatInputCommandInteraction, XernerxCommand {}
|
|
21
|
-
export interface XernerxUserContextInteraction extends UserContextMenuCommandInteraction, XernerxCommand {}
|
|
22
|
-
export interface XernerxMessageContextInteraction extends MessageContextMenuCommandInteraction, XernerxCommand {}
|
|
23
28
|
export {};
|
|
@@ -9,25 +9,29 @@ import SlashCommandBuilder from '../build/SlashCommandBuilder.js';
|
|
|
9
9
|
import { Locales, MessageCommandArgumentType, PermissionNames, SlashCommandArgumentType, EventType, InhibitorType } from './types.js';
|
|
10
10
|
import ExtensionHandler from '../handlers/ExtensionHandler.js';
|
|
11
11
|
export interface XernerxOptions {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
12
|
+
local?: string;
|
|
13
|
+
global?: boolean;
|
|
14
|
+
ownerId?: string | Array<string>;
|
|
15
|
+
permissions?: {
|
|
16
|
+
client?: Array<string>;
|
|
17
|
+
user?: Array<string>;
|
|
18
|
+
dm?: boolean;
|
|
19
|
+
};
|
|
20
|
+
ignore?: {
|
|
21
|
+
owner?: boolean;
|
|
22
|
+
users?: Array<string>;
|
|
23
|
+
channels?: Array<string>;
|
|
24
|
+
guilds?: Array<string>;
|
|
25
|
+
};
|
|
26
|
+
log?: {
|
|
27
|
+
ready?: boolean;
|
|
28
|
+
info?: boolean;
|
|
29
|
+
error?: boolean;
|
|
30
|
+
table?: Array<'name' | 'aliases' | 'description' | 'fileType' | 'category'>;
|
|
31
|
+
};
|
|
32
|
+
cooldown?: {
|
|
33
|
+
command?: number;
|
|
34
|
+
cache?: number;
|
|
31
35
|
};
|
|
32
36
|
}
|
|
33
37
|
export interface ModuleOptions {
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import XernerxClient from '../
|
|
1
|
+
import XernerxClient from '../client/XernerxClient.js';
|
|
2
2
|
import { PresenceOptions } from '../types/interfaces.js';
|
|
3
3
|
import Util from './Util.js';
|
|
4
4
|
export default class ClientUtil extends Util {
|
|
5
5
|
hasVoted?: Function;
|
|
6
6
|
constructor(client: XernerxClient);
|
|
7
7
|
setPresence(options: PresenceOptions): import('discord.js').ClientPresence | undefined;
|
|
8
|
+
resolveChannel(query: string | Record<string, string>): Promise<import('discord.js').Channel | null>;
|
|
8
9
|
}
|
package/dist/utils/ClientUtil.js
CHANGED
|
@@ -1,11 +1,20 @@
|
|
|
1
1
|
import setPresence from '../functions/setPresence.js';
|
|
2
2
|
import Util from './Util.js';
|
|
3
3
|
export default class ClientUtil extends Util {
|
|
4
|
-
hasVoted;
|
|
5
4
|
constructor(client) {
|
|
6
5
|
super(client);
|
|
7
6
|
}
|
|
8
7
|
setPresence(options) {
|
|
9
8
|
return setPresence(this.client, options);
|
|
10
9
|
}
|
|
10
|
+
async resolveChannel(query) {
|
|
11
|
+
if (typeof query == 'object') query = query.id;
|
|
12
|
+
try {
|
|
13
|
+
let channel = this.client.channels.cache.find((channel) => (channel.name == query.toLowerCase() || channel.id == query.toLowerCase() ? channel : null)) || null;
|
|
14
|
+
if (!channel) channel = (await this.client.channels.fetch(query)) || null;
|
|
15
|
+
return channel;
|
|
16
|
+
} catch {
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
11
20
|
}
|
|
@@ -4,7 +4,10 @@ import { XernerxMessage } from '../types/extenders.js';
|
|
|
4
4
|
import Util from './Util.js';
|
|
5
5
|
export default class MessageUtil extends Util {
|
|
6
6
|
private readonly message;
|
|
7
|
-
|
|
7
|
+
parsed: {
|
|
8
|
+
alias: null | string;
|
|
9
|
+
prefix: null | string;
|
|
10
|
+
};
|
|
8
11
|
constructor(client: XernerxClient, message: XernerxMessage);
|
|
9
12
|
reply(content: MessagePayload): Promise<import('discord.js').Message<boolean> | undefined>;
|
|
10
13
|
webhookReply(content: MessagePayload, url?: URL, user?: User): Promise<void>;
|
|
@@ -5,11 +5,13 @@ import sendWebhook from '../functions/sendWebhook.js';
|
|
|
5
5
|
import XernerxError from '../tools/XernerxError.js';
|
|
6
6
|
export default class MessageUtil extends Util {
|
|
7
7
|
message;
|
|
8
|
-
alias;
|
|
9
8
|
constructor(client, message) {
|
|
10
9
|
super(client);
|
|
11
10
|
this.message = message;
|
|
12
|
-
this.
|
|
11
|
+
this.parsed = {
|
|
12
|
+
alias: null,
|
|
13
|
+
prefix: null,
|
|
14
|
+
};
|
|
13
15
|
}
|
|
14
16
|
async reply(content) {
|
|
15
17
|
if (this.client.cache.messages.has(this.message.id)) {
|