xernerx 4.5.9 → 4.5.11
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/README.md +68 -12
- package/dist/build/XernerxContextCommand.d.ts +8 -3
- package/dist/build/XernerxContextCommand.d.ts.map +1 -1
- package/dist/build/XernerxContextCommand.js +10 -1
- package/dist/build/XernerxContextCommand.js.map +1 -1
- package/dist/build/XernerxEvent.d.ts +4 -4
- package/dist/build/XernerxEvent.d.ts.map +1 -1
- package/dist/build/XernerxEvent.js +5 -2
- package/dist/build/XernerxEvent.js.map +1 -1
- package/dist/build/XernerxInhibitor.d.ts +17 -10
- package/dist/build/XernerxInhibitor.d.ts.map +1 -1
- package/dist/build/XernerxInhibitor.js +10 -1
- package/dist/build/XernerxInhibitor.js.map +1 -1
- package/dist/build/XernerxMessageCommand.d.ts +16 -6
- package/dist/build/XernerxMessageCommand.d.ts.map +1 -1
- package/dist/build/XernerxMessageCommand.js +15 -1
- package/dist/build/XernerxMessageCommand.js.map +1 -1
- package/dist/build/XernerxSlashCommand.d.ts +20 -4
- package/dist/build/XernerxSlashCommand.d.ts.map +1 -1
- package/dist/build/XernerxSlashCommand.js +21 -1
- package/dist/build/XernerxSlashCommand.js.map +1 -1
- package/dist/client/XernerxClient.d.ts +3 -0
- package/dist/client/XernerxClient.d.ts.map +1 -1
- package/dist/client/XernerxClient.js +3 -0
- package/dist/client/XernerxClient.js.map +1 -1
- package/dist/client/XernerxShardClient.d.ts +1 -0
- package/dist/client/XernerxShardClient.d.ts.map +1 -1
- package/dist/client/XernerxShardClient.js +2 -4
- package/dist/client/XernerxShardClient.js.map +1 -1
- package/dist/functions/load.d.ts +2 -2
- package/dist/functions/load.js +2 -2
- package/dist/functions/load.js.map +1 -1
- package/dist/functions/reload.js +13 -13
- package/dist/functions/reload.js.map +1 -1
- package/dist/handlers/CommandHandler.d.ts.map +1 -1
- package/dist/handlers/CommandHandler.js +16 -13
- package/dist/handlers/CommandHandler.js.map +1 -1
- package/dist/handlers/EventHandler.js +2 -2
- package/dist/handlers/EventHandler.js.map +1 -1
- package/dist/handlers/Handler.d.ts +2 -2
- package/dist/handlers/Handler.js +5 -5
- package/dist/handlers/Handler.js.map +1 -1
- package/dist/handlers/InhibitorHandler.js +2 -2
- package/dist/handlers/InhibitorHandler.js.map +1 -1
- package/dist/models/Arguments.js +2 -2
- package/dist/models/Arguments.js.map +1 -1
- package/dist/tools/XernerxLog.d.ts +2 -1
- package/dist/tools/XernerxLog.d.ts.map +1 -1
- package/dist/tools/XernerxLog.js +2 -4
- package/dist/tools/XernerxLog.js.map +1 -1
- package/dist/tools/XernerxText.d.ts +30 -0
- package/dist/tools/XernerxText.d.ts.map +1 -0
- package/dist/tools/XernerxText.js +81 -0
- package/dist/tools/XernerxText.js.map +1 -0
- package/dist/types/extenders.d.ts +2 -1
- package/dist/types/extenders.d.ts.map +1 -1
- package/dist/types/extenders.js.map +1 -1
- package/dist/types/interfaces.d.ts +4 -1
- package/dist/types/interfaces.d.ts.map +1 -1
- package/dist/types/interfaces.js.map +1 -1
- package/dist/types/types.d.ts +1 -1
- package/dist/types/types.js.map +1 -1
- package/dist/utils/Util.d.ts +3 -1
- package/dist/utils/Util.d.ts.map +1 -1
- package/dist/utils/Util.js +2 -1
- package/dist/utils/Util.js.map +1 -1
- package/dist/validators/inhibitorValidations.d.ts +1 -1
- package/package.json +1 -1
|
@@ -27,6 +27,9 @@ export default class XernerxClient extends Client {
|
|
|
27
27
|
ignore: z
|
|
28
28
|
.object({
|
|
29
29
|
owner: z.boolean().default(false),
|
|
30
|
+
self: z.boolean().default(true),
|
|
31
|
+
bots: z.boolean().default(true),
|
|
32
|
+
system: z.boolean().default(true),
|
|
30
33
|
users: z.array(z.string()).default([]),
|
|
31
34
|
channels: z.array(z.string()).default([]),
|
|
32
35
|
guilds: z.array(z.string()).default([]),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XernerxClient.js","sourceRoot":"","sources":["../../src/client/XernerxClient.ts"],"names":[],"mappings":"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","sourcesContent":["/** @format */\n\nimport { Client, ClientOptions, Collection } from 'discord.js';\nimport { z } from 'zod';\n\nimport CommandHandler from '../handlers/CommandHandler.js';\nimport EventHandler from '../handlers/EventHandler.js';\nimport InhibitorHandler from '../handlers/InhibitorHandler.js';\nimport WebhookHandler from '../handlers/WebhookHandler.js';\nimport XernerxLog from '../tools/XernerxLog.js';\nimport { XernerxOptions, ModuleOptions, XernerxCommands, XernerxCache } from '../types/interfaces.js';\nimport ClientUtil from '../utils/ClientUtil.js';\nimport { XernerxInhibitor, XernerxEvent } from '../main.js';\nimport ExtensionHandler from '../handlers/ExtensionHandler.js';\nimport deploy from '../functions/deploy.js';\n\nexport default class XernerxClient<T = unknown> extends Client {\n\tpublic declare readonly settings;\n\tpublic declare readonly config;\n\tpublic declare readonly commands: XernerxCommands;\n\tpublic declare readonly events: Collection<string, XernerxEvent>;\n\tpublic declare readonly inhibitors: Collection<string, XernerxInhibitor>;\n\tpublic declare readonly modules: ModuleOptions;\n\tpublic declare readonly util: ClientUtil;\n\tpublic declare readonly stats: Record<string, number>;\n\tpublic declare readonly cache: XernerxCache;\n\n\tpublic constructor(discordOptions: ClientOptions, xernerxOptions: XernerxOptions, config?: T) {\n\t\tsuper(discordOptions);\n\n\t\tthis.settings = z\n\t\t\t.object({\n\t\t\t\tlocal: z.string(),\n\t\t\t\tglobal: z.boolean().default(false).optional(),\n\t\t\t\townerId: z.string().or(z.array(z.string())).default([]),\n\t\t\t\tpermissions: z\n\t\t\t\t\t.object({\n\t\t\t\t\t\tclient: z.array(z.string()).default([]),\n\t\t\t\t\t\tuser: z.array(z.string()).default([]),\n\t\t\t\t\t\tdm: z.boolean().default(false),\n\t\t\t\t\t})\n\t\t\t\t\t.optional(),\n\t\t\t\tignore: z\n\t\t\t\t\t.object({\n\t\t\t\t\t\towner: z.boolean().default(false),\n\t\t\t\t\t\tusers: z.array(z.string()).default([]),\n\t\t\t\t\t\tchannels: z.array(z.string()).default([]),\n\t\t\t\t\t\tguilds: z.array(z.string()).default([]),\n\t\t\t\t\t})\n\t\t\t\t\t.optional(),\n\t\t\t\tlog: z\n\t\t\t\t\t.object({\n\t\t\t\t\t\tready: z.boolean().default(false),\n\t\t\t\t\t\tinfo: z.boolean().default(false),\n\t\t\t\t\t\terror: z.boolean().default(false),\n\t\t\t\t\t\ttable: z.array(z.string()).or(z.null()).default(null),\n\t\t\t\t\t})\n\t\t\t\t\t.optional(),\n\t\t\t\tcooldown: z\n\t\t\t\t\t.object({\n\t\t\t\t\t\tcommand: z.number().default(0),\n\t\t\t\t\t\tcache: z.number().default(0),\n\t\t\t\t\t})\n\t\t\t\t\t.optional(),\n\t\t\t})\n\t\t\t.parse(xernerxOptions);\n\n\t\tthis.config = config || null;\n\n\t\tthis.commands = {\n\t\t\tmessage: new Collection(),\n\t\t\tslash: new Collection(),\n\t\t\tcontext: new Collection(),\n\t\t};\n\n\t\tthis.events = new Collection();\n\n\t\tthis.inhibitors = new Collection();\n\n\t\tthis.modules = {\n\t\t\toptions: {},\n\t\t\tcommandHandler: new CommandHandler(this),\n\t\t\teventHandler: new EventHandler(this),\n\t\t\tinhibitorHandler: new InhibitorHandler(this),\n\t\t\twebhookHandler: new WebhookHandler(this),\n\t\t\textensionHandler: new ExtensionHandler(this),\n\t\t} as const;\n\n\t\tthis.util = new ClientUtil(this);\n\n\t\tthis.stats = {\n\t\t\tguildCount: this.guilds.cache.size,\n\t\t\tuserCount: 0,\n\t\t\tshardId: 0,\n\t\t\tshardCount: 1,\n\t\t};\n\n\t\tthis.cache = {\n\t\t\tmessages: new Collection(),\n\t\t\tcooldowns: new Collection(),\n\t\t};\n\n\t\treturn this;\n\t}\n\n\tpublic async connect(token: string) {\n\t\tconst login = this.login(token);\n\n\t\tdeploy(this);\n\n\t\tnew XernerxLog(this).ready();\n\n\t\treturn login;\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"XernerxClient.js","sourceRoot":"","sources":["../../src/client/XernerxClient.ts"],"names":[],"mappings":"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","sourcesContent":["/** @format */\n\nimport { Client, ClientOptions, Collection } from 'discord.js';\nimport { z } from 'zod';\n\nimport CommandHandler from '../handlers/CommandHandler.js';\nimport EventHandler from '../handlers/EventHandler.js';\nimport InhibitorHandler from '../handlers/InhibitorHandler.js';\nimport WebhookHandler from '../handlers/WebhookHandler.js';\nimport XernerxLog from '../tools/XernerxLog.js';\nimport { XernerxOptions, ModuleOptions, XernerxCommands, XernerxCache } from '../types/interfaces.js';\nimport ClientUtil from '../utils/ClientUtil.js';\nimport { XernerxInhibitor, XernerxEvent } from '../main.js';\nimport ExtensionHandler from '../handlers/ExtensionHandler.js';\nimport deploy from '../functions/deploy.js';\n\nexport default class XernerxClient<T = unknown> extends Client {\n\tpublic declare readonly settings;\n\tpublic declare readonly config;\n\tpublic declare readonly commands: XernerxCommands;\n\tpublic declare readonly events: Collection<string, XernerxEvent>;\n\tpublic declare readonly inhibitors: Collection<string, XernerxInhibitor>;\n\tpublic declare readonly modules: ModuleOptions;\n\tpublic declare readonly util: ClientUtil;\n\tpublic declare readonly stats: Record<string, number>;\n\tpublic declare readonly cache: XernerxCache;\n\n\tpublic constructor(discordOptions: ClientOptions, xernerxOptions: XernerxOptions, config?: T) {\n\t\tsuper(discordOptions);\n\n\t\tthis.settings = z\n\t\t\t.object({\n\t\t\t\tlocal: z.string(),\n\t\t\t\tglobal: z.boolean().default(false).optional(),\n\t\t\t\townerId: z.string().or(z.array(z.string())).default([]),\n\t\t\t\tpermissions: z\n\t\t\t\t\t.object({\n\t\t\t\t\t\tclient: z.array(z.string()).default([]),\n\t\t\t\t\t\tuser: z.array(z.string()).default([]),\n\t\t\t\t\t\tdm: z.boolean().default(false),\n\t\t\t\t\t})\n\t\t\t\t\t.optional(),\n\t\t\t\tignore: z\n\t\t\t\t\t.object({\n\t\t\t\t\t\towner: z.boolean().default(false),\n\t\t\t\t\t\tself: z.boolean().default(true),\n\t\t\t\t\t\tbots: z.boolean().default(true),\n\t\t\t\t\t\tsystem: z.boolean().default(true),\n\t\t\t\t\t\tusers: z.array(z.string()).default([]),\n\t\t\t\t\t\tchannels: z.array(z.string()).default([]),\n\t\t\t\t\t\tguilds: z.array(z.string()).default([]),\n\t\t\t\t\t})\n\t\t\t\t\t.optional(),\n\t\t\t\tlog: z\n\t\t\t\t\t.object({\n\t\t\t\t\t\tready: z.boolean().default(false),\n\t\t\t\t\t\tinfo: z.boolean().default(false),\n\t\t\t\t\t\terror: z.boolean().default(false),\n\t\t\t\t\t\ttable: z.array(z.string()).or(z.null()).default(null),\n\t\t\t\t\t})\n\t\t\t\t\t.optional(),\n\t\t\t\tcooldown: z\n\t\t\t\t\t.object({\n\t\t\t\t\t\tcommand: z.number().default(0),\n\t\t\t\t\t\tcache: z.number().default(0),\n\t\t\t\t\t})\n\t\t\t\t\t.optional(),\n\t\t\t})\n\t\t\t.parse(xernerxOptions);\n\n\t\tthis.config = config || null;\n\n\t\tthis.commands = {\n\t\t\tmessage: new Collection(),\n\t\t\tslash: new Collection(),\n\t\t\tcontext: new Collection(),\n\t\t};\n\n\t\tthis.events = new Collection();\n\n\t\tthis.inhibitors = new Collection();\n\n\t\tthis.modules = {\n\t\t\toptions: {},\n\t\t\tcommandHandler: new CommandHandler(this),\n\t\t\teventHandler: new EventHandler(this),\n\t\t\tinhibitorHandler: new InhibitorHandler(this),\n\t\t\twebhookHandler: new WebhookHandler(this),\n\t\t\textensionHandler: new ExtensionHandler(this),\n\t\t} as const;\n\n\t\tthis.util = new ClientUtil(this);\n\n\t\tthis.stats = {\n\t\t\tguildCount: this.guilds.cache.size,\n\t\t\tuserCount: 0,\n\t\t\tshardId: 0,\n\t\t\tshardCount: 1,\n\t\t};\n\n\t\tthis.cache = {\n\t\t\tmessages: new Collection(),\n\t\t\tcooldowns: new Collection(),\n\t\t};\n\n\t\treturn this;\n\t}\n\n\tpublic async connect(token: string) {\n\t\tconst login = this.login(token);\n\n\t\tdeploy(this);\n\n\t\tnew XernerxLog(this).ready();\n\n\t\treturn login;\n\t}\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XernerxShardClient.d.ts","sourceRoot":"","sources":["../../src/client/XernerxShardClient.ts"],"names":[],"mappings":"AAAA,cAAc;AAEd,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAS,UAAU,EAAE,MAAM,YAAY,CAAC;AAIxF,UAAU,cAAc;IACvB,GAAG,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,OAAO,CAAC;KACf,CAAC;
|
|
1
|
+
{"version":3,"file":"XernerxShardClient.d.ts","sourceRoot":"","sources":["../../src/client/XernerxShardClient.ts"],"names":[],"mappings":"AAAA,cAAc;AAEd,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAS,UAAU,EAAE,MAAM,YAAY,CAAC;AAIxF,UAAU,cAAc;IACvB,GAAG,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,OAAO,CAAC;KACf,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,eAAe;IAC9D,SAAwB,KAAK;;;;MAAC;IACf,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;gBAE3B,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,sBAAsB,EAAE,cAAc,CAAC,EAAE,cAAc;CA4DjG"}
|
|
@@ -26,6 +26,7 @@ export default class XernerxShardClient extends ShardingManager {
|
|
|
26
26
|
`An error occurred in ${Style.log(String(shard.id), { color: Style.TextColor.Cyan })} for ${Style.log(String(this.user?.tag), { color: Style.TextColor.Blue })}! ${error}`
|
|
27
27
|
);
|
|
28
28
|
});
|
|
29
|
+
if (xernerxOptions?.timeout) setTimeout(() => shard.kill(), xernerxOptions.timeout);
|
|
29
30
|
});
|
|
30
31
|
const spawn = this.spawn();
|
|
31
32
|
spawn.then(async (shards) => {
|
|
@@ -46,10 +47,7 @@ export default class XernerxShardClient extends ShardingManager {
|
|
|
46
47
|
}
|
|
47
48
|
}, 1000);
|
|
48
49
|
});
|
|
49
|
-
return
|
|
50
|
-
shards: spawn,
|
|
51
|
-
stats: this.stats,
|
|
52
|
-
};
|
|
50
|
+
return this;
|
|
53
51
|
}
|
|
54
52
|
}
|
|
55
53
|
//# sourceMappingURL=XernerxShardClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XernerxShardClient.js","sourceRoot":"","sources":["../../src/client/XernerxShardClient.ts"],"names":[],"mappings":"AAAA,cAAc;AAEd,OAAO,EAAE,eAAe,EAA6C,MAAM,YAAY,CAAC;AACxF,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"XernerxShardClient.js","sourceRoot":"","sources":["../../src/client/XernerxShardClient.ts"],"names":[],"mappings":"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","sourcesContent":["/** @format */\n\nimport { ShardingManager, ShardingManagerOptions, Guild, ClientUser } from 'discord.js';\nimport XernerxLog from '../tools/XernerxLog.js';\nimport { Style } from 'dumfunctions';\n\ninterface XernerxOptions {\n\tlog?: {\n\t\tinfo?: boolean;\n\t};\n\ttimeout?: number;\n}\n\nexport default class XernerxShardClient extends ShardingManager {\n\tpublic declare readonly stats;\n\tpublic declare user: ClientUser | null;\n\n\tconstructor(file: string, discordOptions: ShardingManagerOptions, xernerxOptions?: XernerxOptions) {\n\t\tsuper(file, discordOptions);\n\n\t\tthis.stats = { guildCount: 0, userCount: 0, shardCount: 0 };\n\n\t\tthis.user = null;\n\n\t\tthis.on('shardCreate', async (shard) => {\n\t\t\tshard\n\t\t\t\t.on('ready', async () => {\n\t\t\t\t\tconst guilds = (await shard.fetchClientValue('guilds.cache')) as Array<Guild>;\n\t\t\t\t\tconst guildCount = guilds.length;\n\t\t\t\t\tconst userCount = guilds.map((guild) => guild.memberCount).length ? guilds.map((guild) => guild.memberCount).reduce((a, b) => (a += b)) : 0;\n\n\t\t\t\t\tthis.user = (await shard.fetchClientValue('user')) as ClientUser;\n\n\t\t\t\t\tthis.stats.guildCount += Number(guildCount);\n\n\t\t\t\t\tthis.stats.userCount += Number(userCount);\n\n\t\t\t\t\tthis.stats.shardCount++;\n\n\t\t\t\t\tawait new XernerxLog({ settings: xernerxOptions } as never).info(\n\t\t\t\t\t\t`Launched shard ${Style.log(String(shard.id), { color: Style.TextColor.Cyan })} for ${Style.log(this.user?.tag, { color: Style.TextColor.Blue })}!`\n\t\t\t\t\t);\n\t\t\t\t})\n\t\t\t\t.on('error', (error) => {\n\t\t\t\t\tnew XernerxLog({ settings: xernerxOptions } as never).info(\n\t\t\t\t\t\t`An error occurred in ${Style.log(String(shard.id), { color: Style.TextColor.Cyan })} for ${Style.log(String(this.user?.tag), { color: Style.TextColor.Blue })}! ${error}`\n\t\t\t\t\t);\n\t\t\t\t});\n\n\t\t\tif (xernerxOptions?.timeout) setTimeout(() => shard.kill(), xernerxOptions.timeout);\n\t\t});\n\n\t\tconst spawn = this.spawn();\n\n\t\tspawn.then(async (shards) => {\n\t\t\tconst collector = setInterval(() => {\n\t\t\t\tconst index = shards.size - 1;\n\n\t\t\t\tif (shards.get(index)?.ready) {\n\t\t\t\t\tnew XernerxLog({ settings: xernerxOptions } as never).info(\n\t\t\t\t\t\t`All Shards launched for ${Style.log(String(this.user?.tag), {\n\t\t\t\t\t\t\tcolor: Style.TextColor.Blue,\n\t\t\t\t\t\t})} with a total of ${Style.log(String(this.stats.shardCount), { color: Style.TextColor.Cyan })} shard${this.stats.shardCount > 1 ? 's' : ''}, watching ${Style.log(\n\t\t\t\t\t\t\tString(this.stats.guildCount),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcolor: Style.TextColor.Cyan,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t)} guild${this.stats.guildCount > 1 ? 's' : ''}, and ${Style.log(String(this.stats.userCount), { color: Style.TextColor.Cyan })} user${this.stats.userCount > 1 ? 's' : ''}!`\n\t\t\t\t\t);\n\n\t\t\t\t\tclearInterval(collector);\n\t\t\t\t}\n\t\t\t}, 1000);\n\t\t});\n\n\t\treturn this;\n\t}\n}\n"]}
|
package/dist/functions/load.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** @format */
|
|
2
2
|
import XernerxClient from '../client/XernerxClient.js';
|
|
3
|
-
import {
|
|
4
|
-
export default function load(client: XernerxClient, path: string, type:
|
|
3
|
+
import { filetype } from '../types/types.js';
|
|
4
|
+
export default function load(client: XernerxClient, path: string, type: filetype): Promise<any>;
|
|
5
5
|
//# sourceMappingURL=load.d.ts.map
|
package/dist/functions/load.js
CHANGED
|
@@ -3,8 +3,8 @@ import XernerxLog from '../tools/XernerxLog.js';
|
|
|
3
3
|
export default async function load(client, path, type) {
|
|
4
4
|
try {
|
|
5
5
|
let file = new (await import(`file://${path}`)).default();
|
|
6
|
-
file.
|
|
7
|
-
file.
|
|
6
|
+
file.filetype = type;
|
|
7
|
+
file.filepath = path;
|
|
8
8
|
file.client = client;
|
|
9
9
|
fileSave(client, file, type);
|
|
10
10
|
return file;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load.js","sourceRoot":"","sources":["../../src/functions/load.ts"],"names":[],"mappings":"AAAA,cAAc;AASd,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAEhD,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,IAAI,CAAC,MAAqB,EAAE,IAAY,EAAE,IAAc;IACrF,IAAI;QACH,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QAE1D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAErB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAErB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAE7B,OAAO,IAAI,CAAC;KACZ;IAAC,OAAO,KAAK,EAAE;QACf,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,iBAAiB,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;KACzG;AACF,CAAC;AAED,SAAS,QAAQ,CAAC,MAAqB,EAAE,IAA2G,EAAE,IAAc;IACnK,QAAQ,IAAI,EAAE;QACb,KAAK,gBAAgB;YACpB,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAA6B,CAAC,CAAC;YACtE,MAAM;QACP,KAAK,cAAc;YAClB,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAA2B,CAAC,CAAC;YAClE,MAAM;QACP,KAAK,gBAAgB;YACpB,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAA6B,CAAC,CAAC;YACtE,MAAM;QACP,KAAK,WAAW;YACf,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAwB,CAAC,CAAC;YAC3D,MAAM;QACP,KAAK,OAAO;YACX,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAoB,CAAC,CAAC;YACnD,MAAM;KACP;AACF,CAAC","sourcesContent":["/** @format */\n\nimport XernerxInhibitor from '../build/XernerxInhibitor.js';\nimport XernerxSlashCommand from '../build/XernerxSlashCommand.js';\nimport XernerxContextCommand from '../build/XernerxContextCommand.js';\nimport MessageCommandBuilder from '../build/XernerxMessageCommand.js';\nimport XernerxEvent from '../build/XernerxEvent.js';\nimport XernerxClient from '../client/XernerxClient.js';\nimport {
|
|
1
|
+
{"version":3,"file":"load.js","sourceRoot":"","sources":["../../src/functions/load.ts"],"names":[],"mappings":"AAAA,cAAc;AASd,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAEhD,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,IAAI,CAAC,MAAqB,EAAE,IAAY,EAAE,IAAc;IACrF,IAAI;QACH,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QAE1D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAErB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAErB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAE7B,OAAO,IAAI,CAAC;KACZ;IAAC,OAAO,KAAK,EAAE;QACf,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,iBAAiB,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;KACzG;AACF,CAAC;AAED,SAAS,QAAQ,CAAC,MAAqB,EAAE,IAA2G,EAAE,IAAc;IACnK,QAAQ,IAAI,EAAE;QACb,KAAK,gBAAgB;YACpB,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAA6B,CAAC,CAAC;YACtE,MAAM;QACP,KAAK,cAAc;YAClB,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAA2B,CAAC,CAAC;YAClE,MAAM;QACP,KAAK,gBAAgB;YACpB,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAA6B,CAAC,CAAC;YACtE,MAAM;QACP,KAAK,WAAW;YACf,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAwB,CAAC,CAAC;YAC3D,MAAM;QACP,KAAK,OAAO;YACX,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAoB,CAAC,CAAC;YACnD,MAAM;KACP;AACF,CAAC","sourcesContent":["/** @format */\n\nimport XernerxInhibitor from '../build/XernerxInhibitor.js';\nimport XernerxSlashCommand from '../build/XernerxSlashCommand.js';\nimport XernerxContextCommand from '../build/XernerxContextCommand.js';\nimport MessageCommandBuilder from '../build/XernerxMessageCommand.js';\nimport XernerxEvent from '../build/XernerxEvent.js';\nimport XernerxClient from '../client/XernerxClient.js';\nimport { filetype } from '../types/types.js';\nimport XernerxLog from '../tools/XernerxLog.js';\n\nexport default async function load(client: XernerxClient, path: string, type: filetype) {\n\ttry {\n\t\tlet file = new (await import(`file://${path}`)).default();\n\n\t\tfile.filetype = type;\n\n\t\tfile.filepath = path;\n\n\t\tfile.client = client;\n\n\t\tfileSave(client, file, type);\n\n\t\treturn file;\n\t} catch (error) {\n\t\tnew XernerxLog(client).error(`Couldn't load ${type} ${path.match(/\\w*\\.js$/gim)?.at(0) || path}`, error);\n\t}\n}\n\nfunction fileSave(client: XernerxClient, file: MessageCommandBuilder | XernerxSlashCommand | XernerxContextCommand | XernerxEvent | XernerxInhibitor, type: filetype) {\n\tswitch (type) {\n\t\tcase 'MessageCommand':\n\t\t\tclient.commands.message.set(file.name, file as MessageCommandBuilder);\n\t\t\tbreak;\n\t\tcase 'SlashCommand':\n\t\t\tclient.commands.slash.set(file.name, file as XernerxSlashCommand);\n\t\t\tbreak;\n\t\tcase 'ContextCommand':\n\t\t\tclient.commands.context.set(file.name, file as XernerxContextCommand);\n\t\t\tbreak;\n\t\tcase 'Inhibitor':\n\t\t\tclient.inhibitors.set(file.name, file as XernerxInhibitor);\n\t\t\tbreak;\n\t\tcase 'Event':\n\t\t\tclient.events.set(file.name, file as XernerxEvent);\n\t\t\tbreak;\n\t}\n}\n"]}
|
package/dist/functions/reload.js
CHANGED
|
@@ -1,36 +1,36 @@
|
|
|
1
1
|
/** @format */
|
|
2
|
-
var
|
|
3
|
-
(function (
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
})(
|
|
2
|
+
var filetypes;
|
|
3
|
+
(function (filetypes) {
|
|
4
|
+
filetypes['message'] = 'MessageCommand';
|
|
5
|
+
filetypes['slash'] = 'SlashCommand';
|
|
6
|
+
filetypes['context'] = 'ContextCommand';
|
|
7
|
+
filetypes['event'] = 'Event';
|
|
8
|
+
filetypes['inhibitor'] = 'Inhibitor';
|
|
9
|
+
})(filetypes || (filetypes = {}));
|
|
10
10
|
export default function reload(client, type) {
|
|
11
11
|
const files = [];
|
|
12
12
|
if (type === 'message' || type === 'slash' || type === 'context') {
|
|
13
13
|
for (const [name] of client.commands[type]) {
|
|
14
|
-
files.push(client.commands[type].get(name).
|
|
14
|
+
files.push(client.commands[type].get(name).filepath);
|
|
15
15
|
}
|
|
16
16
|
client.commands[type].sweep(() => true);
|
|
17
17
|
}
|
|
18
18
|
if (type === 'event') {
|
|
19
19
|
for (const [name] of client.events) {
|
|
20
|
-
files.push(client.events.get(name).
|
|
20
|
+
files.push(client.events.get(name).filepath);
|
|
21
21
|
}
|
|
22
22
|
client.events.sweep(() => true);
|
|
23
23
|
}
|
|
24
24
|
if (type === 'inhibitor') {
|
|
25
25
|
for (const [name] of client.inhibitors) {
|
|
26
|
-
files.push(client.inhibitors.get(name).
|
|
26
|
+
files.push(client.inhibitors.get(name).filepath);
|
|
27
27
|
}
|
|
28
28
|
client.inhibitors.sweep(() => true);
|
|
29
29
|
}
|
|
30
30
|
return files.map(async (file) => {
|
|
31
31
|
let filedata = new (await import(`file://${file}`)).default();
|
|
32
|
-
filedata.
|
|
33
|
-
filedata.
|
|
32
|
+
filedata.filetype = filetypes[type];
|
|
33
|
+
filedata.filepath = file;
|
|
34
34
|
filedata.client = client;
|
|
35
35
|
if (type === 'message' || type === 'slash' || type === 'context') client.commands[type].set(filedata.name, filedata);
|
|
36
36
|
if (type === 'event') client.events.set(filedata.name, filedata);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reload.js","sourceRoot":"","sources":["../../src/functions/reload.ts"],"names":[],"mappings":"AAAA,cAAc;AAId,IAAK,SAMJ;AAND,WAAK,SAAS;IACb,uCAA4B,CAAA;IAC5B,mCAAwB,CAAA;IACxB,uCAA4B,CAAA;IAC5B,4BAAiB,CAAA;IACjB,oCAAyB,CAAA;AAC1B,CAAC,EANI,SAAS,KAAT,SAAS,QAMb;AAED,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,MAAqB,EAAE,IAA6D;IAClH,MAAM,KAAK,GAAkB,EAAE,CAAC;IAEhC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,SAAS,EAAE;QACjE,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAC3C,KAAK,CAAC,IAAI,CAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAuC,CAAC,QAAQ,CAAC,CAAC;SAC5F;QAEA,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAkB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;KACtD;IAED,IAAI,IAAI,KAAK,OAAO,EAAE;QACrB,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE;YACnC,KAAK,CAAC,IAAI,CAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAuC,CAAC,QAAQ,CAAC,CAAC;SACpF;QAEA,MAAM,CAAC,MAAM,CAAC,KAAkB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;KAC9C;IAED,IAAI,IAAI,KAAK,WAAW,EAAE;QACzB,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,UAAU,EAAE;YACvC,KAAK,CAAC,IAAI,CAAE,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAuC,CAAC,QAAQ,CAAC,CAAC;SACxF;QAEA,MAAM,CAAC,UAAU,CAAC,KAAkB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;KAClD;IAED,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QAC/B,IAAI,QAAQ,GAAG,IAAI,CAAC,MAAM,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QAE9D,QAAQ,CAAC,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAEpC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;QAEzB,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;QAEzB,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,SAAS;YAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAErH,IAAI,IAAI,KAAK,OAAO;YAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAEjE,IAAI,IAAI,KAAK,WAAW;YAAE,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAEzE,OAAO,QAAQ,CAAC;IACjB,CAAC,CAAC,CAAC;AACJ,CAAC","sourcesContent":["/** @format */\n\nimport XernerxClient from '../client/XernerxClient.js';\n\nenum
|
|
1
|
+
{"version":3,"file":"reload.js","sourceRoot":"","sources":["../../src/functions/reload.ts"],"names":[],"mappings":"AAAA,cAAc;AAId,IAAK,SAMJ;AAND,WAAK,SAAS;IACb,uCAA4B,CAAA;IAC5B,mCAAwB,CAAA;IACxB,uCAA4B,CAAA;IAC5B,4BAAiB,CAAA;IACjB,oCAAyB,CAAA;AAC1B,CAAC,EANI,SAAS,KAAT,SAAS,QAMb;AAED,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,MAAqB,EAAE,IAA6D;IAClH,MAAM,KAAK,GAAkB,EAAE,CAAC;IAEhC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,SAAS,EAAE;QACjE,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAC3C,KAAK,CAAC,IAAI,CAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAuC,CAAC,QAAQ,CAAC,CAAC;SAC5F;QAEA,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAkB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;KACtD;IAED,IAAI,IAAI,KAAK,OAAO,EAAE;QACrB,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE;YACnC,KAAK,CAAC,IAAI,CAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAuC,CAAC,QAAQ,CAAC,CAAC;SACpF;QAEA,MAAM,CAAC,MAAM,CAAC,KAAkB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;KAC9C;IAED,IAAI,IAAI,KAAK,WAAW,EAAE;QACzB,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,UAAU,EAAE;YACvC,KAAK,CAAC,IAAI,CAAE,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAuC,CAAC,QAAQ,CAAC,CAAC;SACxF;QAEA,MAAM,CAAC,UAAU,CAAC,KAAkB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;KAClD;IAED,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QAC/B,IAAI,QAAQ,GAAG,IAAI,CAAC,MAAM,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QAE9D,QAAQ,CAAC,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAEpC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;QAEzB,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;QAEzB,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,SAAS;YAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAErH,IAAI,IAAI,KAAK,OAAO;YAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAEjE,IAAI,IAAI,KAAK,WAAW;YAAE,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAEzE,OAAO,QAAQ,CAAC;IACjB,CAAC,CAAC,CAAC;AACJ,CAAC","sourcesContent":["/** @format */\n\nimport XernerxClient from '../client/XernerxClient.js';\n\nenum filetypes {\n\t'message' = 'MessageCommand',\n\t'slash' = 'SlashCommand',\n\t'context' = 'ContextCommand',\n\t'event' = 'Event',\n\t'inhibitor' = 'Inhibitor',\n}\n\nexport default function reload(client: XernerxClient, type: 'message' | 'slash' | 'context' | 'event' | 'inhibitor') {\n\tconst files: Array<string> = [];\n\n\tif (type === 'message' || type === 'slash' || type === 'context') {\n\t\tfor (const [name] of client.commands[type]) {\n\t\t\tfiles.push((client.commands[type].get(name) as unknown as Record<string, string>).filepath);\n\t\t}\n\n\t\t(client.commands[type].sweep as Function)(() => true);\n\t}\n\n\tif (type === 'event') {\n\t\tfor (const [name] of client.events) {\n\t\t\tfiles.push((client.events.get(name) as unknown as Record<string, string>).filepath);\n\t\t}\n\n\t\t(client.events.sweep as Function)(() => true);\n\t}\n\n\tif (type === 'inhibitor') {\n\t\tfor (const [name] of client.inhibitors) {\n\t\t\tfiles.push((client.inhibitors.get(name) as unknown as Record<string, string>).filepath);\n\t\t}\n\n\t\t(client.inhibitors.sweep as Function)(() => true);\n\t}\n\n\treturn files.map(async (file) => {\n\t\tlet filedata = new (await import(`file://${file}`)).default();\n\n\t\tfiledata.filetype = filetypes[type];\n\n\t\tfiledata.filepath = file;\n\n\t\tfiledata.client = client;\n\n\t\tif (type === 'message' || type === 'slash' || type === 'context') client.commands[type].set(filedata.name, filedata);\n\n\t\tif (type === 'event') client.events.set(filedata.name, filedata);\n\n\t\tif (type === 'inhibitor') client.inhibitors.set(filedata.name, filedata);\n\n\t\treturn filedata;\n\t});\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/CommandHandler.ts"],"names":[],"mappings":"AAAA,cAAc;AAMd,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC3G,OAAO,OAAO,MAAM,cAAc,CAAC;AAenC,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,OAAO;gBACtC,MAAM,EAAE,aAAa;IAI1B,mBAAmB,CAAC,OAAO,EAAE,qBAAqB;IA2DlD,iBAAiB,CAAC,OAAO,EAAE,mBAAmB;
|
|
1
|
+
{"version":3,"file":"CommandHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/CommandHandler.ts"],"names":[],"mappings":"AAAA,cAAc;AAMd,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC3G,OAAO,OAAO,MAAM,cAAc,CAAC;AAenC,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,OAAO;gBACtC,MAAM,EAAE,aAAa;IAI1B,mBAAmB,CAAC,OAAO,EAAE,qBAAqB;IA2DlD,iBAAiB,CAAC,OAAO,EAAE,mBAAmB;IA4C9C,mBAAmB,CAAC,OAAO,EAAE,qBAAqB;YA4C3C,iBAAiB;YAiHjB,eAAe;YA+Bf,iBAAiB;YAoBjB,IAAI;CAoBlB"}
|
|
@@ -40,23 +40,23 @@ export default class CommandHandler extends Handler {
|
|
|
40
40
|
this.client.modules.options.message = options;
|
|
41
41
|
const files = this.readdir(options.directory);
|
|
42
42
|
for (const file of files) {
|
|
43
|
-
const
|
|
44
|
-
this.load(
|
|
43
|
+
const filepath = `${path.resolve(options.directory)}\\${file}`;
|
|
44
|
+
this.load(filepath, 'MessageCommand');
|
|
45
45
|
}
|
|
46
46
|
new XernerxLog(this.client).info(`Loaded ${Style.log(String(files.length), { color: Style.TextColor.Cyan })} Message Commands.`);
|
|
47
47
|
this.emit({
|
|
48
48
|
name: 'messageCreate',
|
|
49
|
-
|
|
49
|
+
filetype: 'MessageCommand',
|
|
50
50
|
run: (message) => this.messageCommandRun(message),
|
|
51
51
|
});
|
|
52
52
|
this.emit({
|
|
53
53
|
name: 'messageUpdate',
|
|
54
|
-
|
|
54
|
+
filetype: 'MessageCommand',
|
|
55
55
|
run: (message, message2) => this.messageCommandRun(message, message2),
|
|
56
56
|
});
|
|
57
57
|
this.emit({
|
|
58
58
|
name: 'messageDelete',
|
|
59
|
-
|
|
59
|
+
filetype: 'MessageCommand',
|
|
60
60
|
run: (message) => this.messageCommandRun(message, 'delete'),
|
|
61
61
|
});
|
|
62
62
|
}
|
|
@@ -89,13 +89,13 @@ export default class CommandHandler extends Handler {
|
|
|
89
89
|
this.client.modules.options.slash = options;
|
|
90
90
|
const files = this.readdir(options.directory);
|
|
91
91
|
for (const file of files) {
|
|
92
|
-
const
|
|
93
|
-
this.load(
|
|
92
|
+
const filepath = `${path.resolve(options.directory)}\\${file}`;
|
|
93
|
+
this.load(filepath, 'SlashCommand');
|
|
94
94
|
}
|
|
95
95
|
new XernerxLog(this.client).info(`Loaded ${Style.log(String(files.length), { color: Style.TextColor.Cyan })} Slash Commands.`);
|
|
96
96
|
this.emit({
|
|
97
97
|
name: 'interactionCreate',
|
|
98
|
-
|
|
98
|
+
filetype: 'SlashCommand',
|
|
99
99
|
run: (interaction) => this.slashCommandRun(interaction),
|
|
100
100
|
});
|
|
101
101
|
}
|
|
@@ -125,19 +125,21 @@ export default class CommandHandler extends Handler {
|
|
|
125
125
|
this.client.modules.options.context = options;
|
|
126
126
|
const files = this.readdir(options.directory);
|
|
127
127
|
for (const file of files) {
|
|
128
|
-
const
|
|
129
|
-
this.load(
|
|
128
|
+
const filepath = `${path.resolve(options.directory)}\\${file}`;
|
|
129
|
+
this.load(filepath, 'ContextCommand');
|
|
130
130
|
}
|
|
131
131
|
new XernerxLog(this.client).info(`Loaded ${Style.log(String(files.length), { color: Style.TextColor.Cyan })} Context Commands.`);
|
|
132
132
|
this.emit({
|
|
133
133
|
name: 'interactionCreate',
|
|
134
|
-
|
|
134
|
+
filetype: 'ContextCommand',
|
|
135
135
|
run: (interaction) => this.contextCommandRun(interaction),
|
|
136
136
|
});
|
|
137
137
|
}
|
|
138
138
|
async messageCommandRun(message, message2) {
|
|
139
139
|
const filetype = 'MessageCommand';
|
|
140
|
-
if (message.author.
|
|
140
|
+
if (message.author.id === this.client.user?.id && this.client.settings.ignore?.self) return;
|
|
141
|
+
else if (message.author.bot && this.client.settings.ignore?.bots) return;
|
|
142
|
+
if (message.system && this.client.settings.ignore?.system) return;
|
|
141
143
|
message.util = new MessageUtil(this.client, message);
|
|
142
144
|
message.user = await xernerxUser(message, this.client);
|
|
143
145
|
if (typeof message2 === 'object') message = message2;
|
|
@@ -198,7 +200,8 @@ export default class CommandHandler extends Handler {
|
|
|
198
200
|
if (this.client.modules.options.message?.handleTyping) message.channel.sendTyping();
|
|
199
201
|
cmd = this.client.commands.message.get(commandName);
|
|
200
202
|
}
|
|
201
|
-
if (!
|
|
203
|
+
if (!commandPrefix) return;
|
|
204
|
+
if (!cmd) return await this.client.emit('commandNotFound', message, commandName, filetype);
|
|
202
205
|
if (await inhibitorValidation(message, cmd)) return;
|
|
203
206
|
message.util.parsed = {
|
|
204
207
|
alias: commandAlias,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandHandler.js","sourceRoot":"","sources":["../../src/handlers/CommandHandler.ts"],"names":[],"mappings":"AAAA,cAAc;AAEd,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAI/C,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,OAAO,WAAW,MAAM,yBAAyB,CAAC;AAKlD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,eAAe,MAAM,6BAA6B,CAAC;AAC1D,OAAO,iBAAiB,MAAM,oCAAoC,CAAC;AACnE,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAErC,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,OAAO;IAClD,YAAY,MAAqB;QAChC,KAAK,CAAC,MAAM,CAAC,CAAC;IACf,CAAC;IAEM,mBAAmB,CAAC,OAA8B;QACxD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,cAAc,CAAC;YAAE,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,8EAA8E,CAAC,CAAC;QACzL,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,aAAa,CAAC;YAAE,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,6EAA6E,CAAC,CAAC;QAEvL,OAAO,GAAG,CAAC;aACT,MAAM,CAAC;YACP,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;YACrB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;YAC1C,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;YACxC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;YAC/B,WAAW,EAAE,CAAC;iBACZ,MAAM,CAAC;gBACP,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;gBACrC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;gBACvC,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;aAC7B,CAAC;iBACD,OAAO,CAAC,EAAE,CAAC;YACb,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;YACvC,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;YACzC,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;YACxC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;SACnC,CAAC;aACD,KAAK,CAAC,OAAO,CAAC,CAAC;QAEjB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;QAE9C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAE9C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACzB,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;YAE/D,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;SACtC;QAED,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,oBAAoB,CAAC,CAAC;QAEjI,IAAI,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,eAAe;YACrB,QAAQ,EAAE,gBAAgB;YAC1B,GAAG,EAAE,CAAC,OAAuB,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC;SACjE,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,eAAe;YACrB,QAAQ,EAAE,gBAAgB;YAC1B,GAAG,EAAE,CAAC,OAAuB,EAAE,QAAwB,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC;SACrG,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,eAAe;YACrB,QAAQ,EAAE,gBAAgB;YAC1B,GAAG,EAAE,CAAC,OAAuB,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC;SAC3E,CAAC,CAAC;IACJ,CAAC;IAED,mCAAmC;IACnC,6CAA6C;IAC7C,IAAI;IAEG,iBAAiB,CAAC,OAA4B;QACpD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK;YAAE,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;QAE9I,OAAO,GAAG,CAAC;aACT,MAAM,CAAC;YACP,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;YACrB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;YAC/B,WAAW,EAAE,CAAC;iBACZ,MAAM,CAAC;gBACP,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;gBACrC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;gBACvC,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;aAC7B,CAAC;iBACD,OAAO,CAAC,EAAE,CAAC;YACb,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;YACnC,KAAK,EAAE,CAAC;iBACN,MAAM,CAAC;gBACP,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;gBACjC,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;gBACrC,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;aACtC,CAAC;iBACD,OAAO,CAAC,EAAE,CAAC;SACb,CAAC;aACD,KAAK,CAAC,OAAO,CAAC,CAAC;QAEjB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC;QAE5C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAE9C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACzB,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;YAE/D,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;SACpC;QAED,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,kBAAkB,CAAC,CAAC;QAE/H,IAAI,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,mBAAmB;YACzB,QAAQ,EAAE,cAAc;YACxB,GAAG,EAAE,CAAC,WAAoC,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC;SAChF,CAAC,CAAC;IACJ,CAAC;IACM,mBAAmB,CAAC,OAA8B;QACxD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK;YAAE,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,4EAA4E,CAAC,CAAC;QAEhJ,OAAO,GAAG,CAAC;aACT,MAAM,CAAC;YACP,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;YACrB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;YAC/B,WAAW,EAAE,CAAC;iBACZ,MAAM,CAAC;gBACP,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;gBACrC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;gBACvC,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;aAC7B,CAAC;iBACD,OAAO,CAAC,EAAE,CAAC;YACb,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;YACnC,KAAK,EAAE,CAAC;iBACN,MAAM,CAAC;gBACP,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;gBACjC,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;gBACrC,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;aACtC,CAAC;iBACD,OAAO,CAAC,EAAE,CAAC;SACb,CAAC;aACD,KAAK,CAAC,OAAO,CAAC,CAAC;QAEjB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;QAE9C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAE9C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACzB,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;YAE/D,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;SACtC;QAED,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,oBAAoB,CAAC,CAAC;QAEjI,IAAI,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,mBAAmB;YACzB,QAAQ,EAAE,gBAAgB;YAC1B,GAAG,EAAE,CAAC,WAA6E,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC;SAC3H,CAAC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAA2B,OAAU,EAAE,QAAuB;QAC5F,MAAM,QAAQ,GAAG,gBAAgB,CAAC;QAElC,IAAI,OAAO,CAAC,MAAM,CAAC,GAAG;YAAE,OAAO;QAE/B,OAAO,CAAC,IAAI,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAErD,OAAO,CAAC,IAAI,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAEvD,IAAI,OAAO,QAAQ,KAAK,QAAQ;YAAE,OAAO,GAAG,QAAQ,CAAC;QAErD,IAAI,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,aAAa,EAAE;YAChF,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAAE,OAAO;YAExD,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAEtD,IAAI,CAAC,EAAE;gBAAE,OAAO;YAEhB,CAAC,KAAK,IAAI,EAAE;gBACX,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAErD,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC;gBAEnB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC/C,CAAC,CAAC,EAAE,CAAC;YAEL,OAAO;SACP;QAED,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE;YAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;YAE9C,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAEvK,IAAI,WAAW,GAAkB,IAAI,EACpC,GAAG,EACH,YAAY,GAAkB,IAAI,EAClC,aAAa,GAAkB,IAAI,CAAC;YAErC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;gBACxB,IAAI,MAAM,GAAkB,IAAI,CAAC;gBAEjC,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;oBAC1D,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAE/D,IAAI,KAAK;wBAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;iBACtC;gBAED,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAgB,CAAC,CAAC;gBAEvF,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBAClB,IAAI,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;wBAAE,MAAM,GAAG,CAAC,CAAC;gBAC/C,CAAC,CAAC,CAAC;gBAEH,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBACZ,IAAI,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;wBAAE,MAAM,GAAG,CAAC,CAAC;gBAC/C,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,MAAM;oBAAE,OAAO;gBAEpB,IAAI,CAAC,WAAW;oBACf,WAAW;wBACV,OAAO,CAAC,OAAO;6BACb,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;6BACnB,KAAK,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC;6BAChC,KAAK,EAAE;4BACR,EAAE,IAAI,EAAE;4BACR,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;gBAEzB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC,EAAE;oBAC7F,YAAY,GAAG,WAAW,CAAC;oBAE3B,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;iBAC3B;gBAED,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC;gBAEzD,aAAa,GAAG,MAAM,CAAC;YACxB,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE;gBAC7D,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAY,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE;oBAC5H,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,IAAI,IAAI,CAAC;oBAE1H,aAAa,GAAG,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC;iBAC7C;aACD;YAED,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,WAAqB,CAAC,EAAE;gBAC5D,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY;oBAAE,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;gBAEpF,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,WAAqB,CAAC,CAAC;aAC9D;YAED,IAAI,CAAC,GAAG;gBAAE,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;YAExE,IAAI,MAAM,mBAAmB,CAAC,OAAO,EAAE,GAAG,CAAC;gBAAE,OAAO;YAEpD,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG;gBACrB,KAAK,EAAE,YAAY;gBACnB,MAAM,EAAE,aAAa;aACrB,CAAC;YAEF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;YAEzD,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,aAAuB,CAAC,EAAE,QAAQ,CAAC,CAAC;SAC9G;IACF,CAAC;IAEO,KAAK,CAAC,eAAe,CAAgC,WAAoC;QAChG,MAAM,QAAQ,GAAG,cAAc,CAAC;QAEhC,WAAW,CAAC,IAAI,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAEjE,WAAW,CAAC,IAAI,GAAG,MAAM,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAE/D,IAAI,GAAG,GAA2C,IAAI,CAAC;QAEvD,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,WAAW,CAAC;YAAE,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAE3H,IAAI,MAAM,mBAAmB,CAAC,WAAW,EAAE,GAA0B,CAAC;YAAE,OAAO;QAE/E,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;QAElE,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAC7B,IAAI,WAAW,CAAC,cAAc,EAAE,EAAE;gBACjC,MAAM,OAAO,GAAI,WAAiB,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBAC5D,MAAM,OAAO,GAAI,WAAiB,CAAC,OAAO,CAAC;gBAE3C,MAAO,GAA2B,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;aAC/E;;gBAAM,OAAO,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC,CAAC;aACA,IAAI,CAAC,KAAK,IAAI,EAAE;YAChB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;YAExD,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,GAA0B,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC,WAAW,EAAE,GAA0B,CAAC,EAAE,QAAQ,CAAC,CAAC;QAChJ,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;IACzF,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,WAA6E;QAC5G,MAAM,QAAQ,GAAG,gBAAgB,CAAC;QAElC,WAAW,CAAC,IAAI,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAEjE,WAAW,CAAC,IAAI,GAAG,MAAM,WAAW,CAAC,WAA4C,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAEhG,IAAI,GAAG,CAAC;QAER,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,WAAW,CAAC;YAAE,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAE/H,IAAI,MAAM,mBAAmB,CAAC,WAAW,EAAE,GAAG,CAAC;YAAE,OAAO;QAExD,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;QAE5E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;QAExD,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,GAAqC,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;IACpI,CAAC;IAEO,KAAK,CAAC,IAAI,CACjB,GAAwE,EACxE,KAAkH,EAClH,IAAS,EACT,IAAc;QAEd,IAAI;YACH,IAAI,MAAM,iBAAiB,CAAC,KAAuB,EAAE,GAAG,CAAC;gBAAE,OAAO;YAElE,IAAM,GAA6B,CAAC,UAAsB,IAAI,CAAC,MAAQ,GAA6B,CAAC,UAAU,CAAC,KAAc,EAAE,IAAI,CAAa,CAAC;gBAAE,OAAO;YAE3J,MAAM,GAAG,CAAC,IAAI,CAAC,KAAc,EAAE,IAAI,CAAC,CAAC;YAErC,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;SAC5D;QAAC,OAAO,KAAK,EAAE;YACf,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,+BAA+B,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YAEhI,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;SACvE;IACF,CAAC;CACD","sourcesContent":["/** @format */\n\nimport { z } from 'zod';\nimport * as path from 'path';\nimport { GatewayIntentBits } from 'discord.js';\n\nimport XernerxClient from '../client/XernerxClient.js';\nimport { ContextHandlerOptions, MessageHandlerOptions, SlashHandlerOptions } from '../types/interfaces.js';\nimport Handler from './Handler.js';\nimport { XernerxMessage, XernerxMessageContextInteraction, XernerxSlashInteraction, XernerxUserContextInteraction } from '../types/extenders.js';\nimport MessageUtil from '../utils/MessageUtil.js';\nimport XernerxContextCommand from '../build/XernerxContextCommand.js';\nimport MessageCommandBuilder from '../build/XernerxMessageCommand.js';\nimport XernerxSlashCommand from '../build/XernerxSlashCommand.js';\nimport { FileType } from '../types/types.js';\nimport { xernerxUser } from '../functions/xernerxUser.js';\nimport InteractionUtil from '../utils/InteractionUtil.js';\nimport commandValidation from '../validators/commandValidation.js';\nimport XernerxLog from '../tools/XernerxLog.js';\nimport { interactionArguments, messageArguments } from '../models/Arguments.js';\nimport { inhibitorValidation } from '../validators/inhibitorValidations.js';\nimport { Style } from 'dumfunctions';\n\nexport default class CommandHandler extends Handler {\n\tconstructor(client: XernerxClient) {\n\t\tsuper(client);\n\t}\n\n\tpublic loadMessageCommands(options: MessageHandlerOptions) {\n\t\tif (!this.client.options.intents.has(GatewayIntentBits.MessageContent)) new XernerxLog(this.client).warn(`Message commands might not work as you're missing the intent MessageContent!`);\n\t\tif (!this.client.options.intents.has(GatewayIntentBits.GuildMessages)) new XernerxLog(this.client).warn(`Message commands might not work as you're missing the intent GuildMessages!`);\n\n\t\toptions = z\n\t\t\t.object({\n\t\t\t\tdirectory: z.string(),\n\t\t\t\tprefix: z.string().or(z.array(z.string())),\n\t\t\t\tallowMention: z.boolean().default(false),\n\t\t\t\tcooldown: z.number().default(0),\n\t\t\t\tpermissions: z\n\t\t\t\t\t.object({\n\t\t\t\t\t\tuser: z.array(z.string()).default([]),\n\t\t\t\t\t\tclient: z.array(z.string()).default([]),\n\t\t\t\t\t\tdm: z.boolean().default(true),\n\t\t\t\t\t})\n\t\t\t\t\t.default({}),\n\t\t\t\thandleEdits: z.boolean().default(false),\n\t\t\t\thandleDeletes: z.boolean().default(false),\n\t\t\t\thandleTyping: z.boolean().default(false),\n\t\t\t\tlogging: z.boolean().default(false),\n\t\t\t})\n\t\t\t.parse(options);\n\n\t\tthis.client.modules.options.message = options;\n\n\t\tconst files = this.readdir(options.directory);\n\n\t\tfor (const file of files) {\n\t\t\tconst filePath = `${path.resolve(options.directory)}\\\\${file}`;\n\n\t\t\tthis.load(filePath, 'MessageCommand');\n\t\t}\n\n\t\tnew XernerxLog(this.client).info(`Loaded ${Style.log(String(files.length), { color: Style.TextColor.Cyan })} Message Commands.`);\n\n\t\tthis.emit({\n\t\t\tname: 'messageCreate',\n\t\t\tfileType: 'MessageCommand',\n\t\t\trun: (message: XernerxMessage) => this.messageCommandRun(message),\n\t\t});\n\n\t\tthis.emit({\n\t\t\tname: 'messageUpdate',\n\t\t\tfileType: 'MessageCommand',\n\t\t\trun: (message: XernerxMessage, message2: XernerxMessage) => this.messageCommandRun(message, message2),\n\t\t});\n\n\t\tthis.emit({\n\t\t\tname: 'messageDelete',\n\t\t\tfileType: 'MessageCommand',\n\t\t\trun: (message: XernerxMessage) => this.messageCommandRun(message, 'delete'),\n\t\t});\n\t}\n\n\t// public reloadMessageCommands() {\n\t// return reload(this.client, 'message');\n\t// }\n\n\tpublic loadSlashCommands(options: SlashHandlerOptions) {\n\t\tif (!this.client.settings.local) new XernerxLog(this.client).warn(`Slash commands might not work as you haven't specified a local guild ID.`);\n\n\t\toptions = z\n\t\t\t.object({\n\t\t\t\tdirectory: z.string(),\n\t\t\t\tcooldown: z.number().default(0),\n\t\t\t\tpermissions: z\n\t\t\t\t\t.object({\n\t\t\t\t\t\tuser: z.array(z.string()).default([]),\n\t\t\t\t\t\tclient: z.array(z.string()).default([]),\n\t\t\t\t\t\tdm: z.boolean().default(true),\n\t\t\t\t\t})\n\t\t\t\t\t.default({}),\n\t\t\t\tlogging: z.boolean().default(false),\n\t\t\t\tdefer: z\n\t\t\t\t\t.object({\n\t\t\t\t\t\treply: z.boolean().default(false),\n\t\t\t\t\t\tephemeral: z.boolean().default(false),\n\t\t\t\t\t\tfetchReply: z.boolean().default(false),\n\t\t\t\t\t})\n\t\t\t\t\t.default({}),\n\t\t\t})\n\t\t\t.parse(options);\n\n\t\tthis.client.modules.options.slash = options;\n\n\t\tconst files = this.readdir(options.directory);\n\n\t\tfor (const file of files) {\n\t\t\tconst filePath = `${path.resolve(options.directory)}\\\\${file}`;\n\n\t\t\tthis.load(filePath, 'SlashCommand');\n\t\t}\n\n\t\tnew XernerxLog(this.client).info(`Loaded ${Style.log(String(files.length), { color: Style.TextColor.Cyan })} Slash Commands.`);\n\n\t\tthis.emit({\n\t\t\tname: 'interactionCreate',\n\t\t\tfileType: 'SlashCommand',\n\t\t\trun: (interaction: XernerxSlashInteraction) => this.slashCommandRun(interaction),\n\t\t});\n\t}\n\tpublic loadContextCommands(options: ContextHandlerOptions) {\n\t\tif (!this.client.settings.local) new XernerxLog(this.client).warn(`Context commands might not work as you haven't specified a local guild ID.`);\n\n\t\toptions = z\n\t\t\t.object({\n\t\t\t\tdirectory: z.string(),\n\t\t\t\tcooldown: z.number().default(0),\n\t\t\t\tpermissions: z\n\t\t\t\t\t.object({\n\t\t\t\t\t\tuser: z.array(z.string()).default([]),\n\t\t\t\t\t\tclient: z.array(z.string()).default([]),\n\t\t\t\t\t\tdm: z.boolean().default(true),\n\t\t\t\t\t})\n\t\t\t\t\t.default({}),\n\t\t\t\tlogging: z.boolean().default(false),\n\t\t\t\tdefer: z\n\t\t\t\t\t.object({\n\t\t\t\t\t\treply: z.boolean().default(false),\n\t\t\t\t\t\tephemeral: z.boolean().default(false),\n\t\t\t\t\t\tfetchReply: z.boolean().default(false),\n\t\t\t\t\t})\n\t\t\t\t\t.default({}),\n\t\t\t})\n\t\t\t.parse(options);\n\n\t\tthis.client.modules.options.context = options;\n\n\t\tconst files = this.readdir(options.directory);\n\n\t\tfor (const file of files) {\n\t\t\tconst filePath = `${path.resolve(options.directory)}\\\\${file}`;\n\n\t\t\tthis.load(filePath, 'ContextCommand');\n\t\t}\n\n\t\tnew XernerxLog(this.client).info(`Loaded ${Style.log(String(files.length), { color: Style.TextColor.Cyan })} Context Commands.`);\n\n\t\tthis.emit({\n\t\t\tname: 'interactionCreate',\n\t\t\tfileType: 'ContextCommand',\n\t\t\trun: (interaction: XernerxMessageContextInteraction | XernerxUserContextInteraction) => this.contextCommandRun(interaction),\n\t\t});\n\t}\n\n\tprivate async messageCommandRun<T extends XernerxMessage>(message: T, message2?: T | 'delete') {\n\t\tconst filetype = 'MessageCommand';\n\n\t\tif (message.author.bot) return;\n\n\t\tmessage.util = new MessageUtil(this.client, message);\n\n\t\tmessage.user = await xernerxUser(message, this.client);\n\n\t\tif (typeof message2 === 'object') message = message2;\n\n\t\tif (message2 === 'delete' && this.client.modules.options.message?.handleDeletes) {\n\t\t\tif (!this.client.cache.messages.has(message.id)) return;\n\n\t\t\tconst id = this.client.cache.messages.get(message.id);\n\n\t\t\tif (!id) return;\n\n\t\t\t(async () => {\n\t\t\t\tconst msg = await message.channel.messages.fetch(id);\n\n\t\t\t\tawait msg.delete();\n\n\t\t\t\tthis.client.cache.messages.delete(message.id);\n\t\t\t})();\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (message.content && this.client.modules.options.message) {\n\t\t\tconst commands = this.client.commands.message;\n\n\t\t\tconst prefixes = Array.isArray(this.client.modules.options.message.prefix) ? this.client.modules.options.message.prefix : [this.client.modules.options.message.prefix];\n\n\t\t\tlet commandName: string | null = null,\n\t\t\t\tcmd,\n\t\t\t\tcommandAlias: string | null = null,\n\t\t\t\tcommandPrefix: string | null = null;\n\n\t\t\tcommands.map((command) => {\n\t\t\t\tlet prefix: string | null = null;\n\n\t\t\t\tif (command.regex && message.content.match(command.regex)) {\n\t\t\t\t\tconst [match] = message.content.match(command.regex) || [null];\n\n\t\t\t\t\tif (match) commandName = command.name;\n\t\t\t\t}\n\n\t\t\t\tconst cp = Array.isArray(command.prefix) ? command.prefix : [command.prefix as string];\n\n\t\t\t\tprefixes.map((p) => {\n\t\t\t\t\tif (message.content.startsWith(p)) prefix = p;\n\t\t\t\t});\n\n\t\t\t\tcp.map((p) => {\n\t\t\t\t\tif (message.content.startsWith(p)) prefix = p;\n\t\t\t\t});\n\n\t\t\t\tif (!prefix) return;\n\n\t\t\t\tif (!commandName)\n\t\t\t\t\tcommandName =\n\t\t\t\t\t\tmessage.content\n\t\t\t\t\t\t\t.replace(prefix, '')\n\t\t\t\t\t\t\t.split(command.separator || / +/)\n\t\t\t\t\t\t\t.shift()\n\t\t\t\t\t\t\t?.trim()\n\t\t\t\t\t\t\t?.toLowerCase() || '';\n\n\t\t\t\tif (!this.client.commands.message.has(commandName) && command.aliases?.includes(commandName)) {\n\t\t\t\t\tcommandAlias = commandName;\n\n\t\t\t\t\tcommandName = command.name;\n\t\t\t\t}\n\n\t\t\t\tcommandAlias = commandAlias ? commandAlias : commandName;\n\n\t\t\t\tcommandPrefix = prefix;\n\t\t\t});\n\n\t\t\tif (!cmd && this.client.modules.options.message.allowMention) {\n\t\t\t\tif (message.mentions.users.has(this.client.user?.id as string) || message.mentions.repliedUser?.id === this.client.user?.id) {\n\t\t\t\t\tcommandName = message.content.replace(`<@${this.client.user?.id}>`, '').trim().split(/ +/).shift()?.toLowerCase() || null;\n\n\t\t\t\t\tcommandPrefix = `<@${this.client.user?.id}>`;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (this.client.commands.message.has(commandName as string)) {\n\t\t\t\tif (this.client.modules.options.message?.handleTyping) message.channel.sendTyping();\n\n\t\t\t\tcmd = this.client.commands.message.get(commandName as string);\n\t\t\t}\n\n\t\t\tif (!cmd) return this.client.emit('commandNotFound', message, filetype);\n\n\t\t\tif (await inhibitorValidation(message, cmd)) return;\n\n\t\t\tmessage.util.parsed = {\n\t\t\t\talias: commandAlias,\n\t\t\t\tprefix: commandPrefix,\n\t\t\t};\n\n\t\t\tthis.client.emit('commandStart', message, cmd, filetype);\n\n\t\t\treturn await this.exec(cmd, message, await messageArguments(message, cmd, commandPrefix as string), filetype);\n\t\t}\n\t}\n\n\tprivate async slashCommandRun<T extends Record<string, any>>(interaction: XernerxSlashInteraction) {\n\t\tconst filetype = 'SlashCommand';\n\n\t\tinteraction.util = new InteractionUtil(this.client, interaction);\n\n\t\tinteraction.user = await xernerxUser(interaction, this.client);\n\n\t\tlet cmd: XernerxSlashCommand | null | undefined = null;\n\n\t\tif (this.client.commands.slash.has(interaction.commandName)) cmd = this.client.commands.slash.get(interaction.commandName);\n\n\t\tif (await inhibitorValidation(interaction, cmd as XernerxSlashCommand)) return;\n\n\t\tif (!cmd) return this.client.emit('commandNotFound', interaction);\n\n\t\tnew Promise(async (resolve) => {\n\t\t\tif (interaction.isAutocomplete()) {\n\t\t\t\tconst focused = (interaction as T).options.getFocused(true);\n\t\t\t\tconst options = (interaction as T).options;\n\n\t\t\t\tawait (cmd as XernerxSlashCommand).autocomplete(interaction, focused, options);\n\t\t\t} else resolve(true);\n\t\t})\n\t\t\t.then(async () => {\n\t\t\t\tthis.client.emit('commandStart', interaction, filetype);\n\n\t\t\t\treturn await this.exec(cmd as XernerxSlashCommand, interaction, await interactionArguments(interaction, cmd as XernerxSlashCommand), filetype);\n\t\t\t})\n\t\t\t.catch((error) => this.client.emit('commandError', interaction, error, cmd, filetype));\n\t}\n\n\tprivate async contextCommandRun(interaction: XernerxUserContextInteraction | XernerxMessageContextInteraction) {\n\t\tconst filetype = 'ContextCommand';\n\n\t\tinteraction.util = new InteractionUtil(this.client, interaction);\n\n\t\tinteraction.user = await xernerxUser(interaction as XernerxUserContextInteraction, this.client);\n\n\t\tlet cmd;\n\n\t\tif (this.client.commands.context.has(interaction.commandName)) cmd = this.client.commands.context.get(interaction.commandName);\n\n\t\tif (await inhibitorValidation(interaction, cmd)) return;\n\n\t\tif (!cmd) return this.client.emit('commandNotFound', interaction, filetype);\n\n\t\tthis.client.emit('commandStart', interaction, filetype);\n\n\t\treturn await this.exec(cmd as unknown as XernerxSlashCommand, interaction, await interactionArguments(interaction, cmd), filetype);\n\t}\n\n\tprivate async exec(\n\t\tcmd: MessageCommandBuilder | XernerxSlashCommand | XernerxContextCommand,\n\t\tevent: XernerxMessage | XernerxSlashInteraction | XernerxMessageContextInteraction | XernerxUserContextInteraction,\n\t\targs: any,\n\t\ttype: FileType\n\t) {\n\t\ttry {\n\t\t\tif (await commandValidation(event as XernerxMessage, cmd)) return;\n\n\t\t\tif (((cmd as MessageCommandBuilder).conditions as unknown) && (await ((cmd as MessageCommandBuilder).conditions(event as never, args) as unknown))) return;\n\n\t\t\tawait cmd.exec(event as never, args);\n\n\t\t\treturn await this.client.emit('commandFinish', event, type);\n\t\t} catch (error) {\n\t\t\tnew XernerxLog(this.client).error(`An error occurred executing ${Style.log(cmd.name, { color: Style.TextColor.Blue })}`, error);\n\n\t\t\treturn await this.client.emit('commandError', event, error, cmd, type);\n\t\t}\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"CommandHandler.js","sourceRoot":"","sources":["../../src/handlers/CommandHandler.ts"],"names":[],"mappings":"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","sourcesContent":["/** @format */\n\nimport { z } from 'zod';\nimport * as path from 'path';\nimport { GatewayIntentBits } from 'discord.js';\n\nimport XernerxClient from '../client/XernerxClient.js';\nimport { ContextHandlerOptions, MessageHandlerOptions, SlashHandlerOptions } from '../types/interfaces.js';\nimport Handler from './Handler.js';\nimport { XernerxMessage, XernerxMessageContextInteraction, XernerxSlashInteraction, XernerxUserContextInteraction } from '../types/extenders.js';\nimport MessageUtil from '../utils/MessageUtil.js';\nimport XernerxContextCommand from '../build/XernerxContextCommand.js';\nimport MessageCommandBuilder from '../build/XernerxMessageCommand.js';\nimport XernerxSlashCommand from '../build/XernerxSlashCommand.js';\nimport { filetype } from '../types/types.js';\nimport { xernerxUser } from '../functions/xernerxUser.js';\nimport InteractionUtil from '../utils/InteractionUtil.js';\nimport commandValidation from '../validators/commandValidation.js';\nimport XernerxLog from '../tools/XernerxLog.js';\nimport { interactionArguments, messageArguments } from '../models/Arguments.js';\nimport { inhibitorValidation } from '../validators/inhibitorValidations.js';\nimport { Style } from 'dumfunctions';\n\nexport default class CommandHandler extends Handler {\n\tconstructor(client: XernerxClient) {\n\t\tsuper(client);\n\t}\n\n\tpublic loadMessageCommands(options: MessageHandlerOptions) {\n\t\tif (!this.client.options.intents.has(GatewayIntentBits.MessageContent)) new XernerxLog(this.client).warn(`Message commands might not work as you're missing the intent MessageContent!`);\n\t\tif (!this.client.options.intents.has(GatewayIntentBits.GuildMessages)) new XernerxLog(this.client).warn(`Message commands might not work as you're missing the intent GuildMessages!`);\n\n\t\toptions = z\n\t\t\t.object({\n\t\t\t\tdirectory: z.string(),\n\t\t\t\tprefix: z.string().or(z.array(z.string())),\n\t\t\t\tallowMention: z.boolean().default(false),\n\t\t\t\tcooldown: z.number().default(0),\n\t\t\t\tpermissions: z\n\t\t\t\t\t.object({\n\t\t\t\t\t\tuser: z.array(z.string()).default([]),\n\t\t\t\t\t\tclient: z.array(z.string()).default([]),\n\t\t\t\t\t\tdm: z.boolean().default(true),\n\t\t\t\t\t})\n\t\t\t\t\t.default({}),\n\t\t\t\thandleEdits: z.boolean().default(false),\n\t\t\t\thandleDeletes: z.boolean().default(false),\n\t\t\t\thandleTyping: z.boolean().default(false),\n\t\t\t\tlogging: z.boolean().default(false),\n\t\t\t})\n\t\t\t.parse(options);\n\n\t\tthis.client.modules.options.message = options;\n\n\t\tconst files = this.readdir(options.directory);\n\n\t\tfor (const file of files) {\n\t\t\tconst filepath = `${path.resolve(options.directory)}\\\\${file}`;\n\n\t\t\tthis.load(filepath, 'MessageCommand');\n\t\t}\n\n\t\tnew XernerxLog(this.client).info(`Loaded ${Style.log(String(files.length), { color: Style.TextColor.Cyan })} Message Commands.`);\n\n\t\tthis.emit({\n\t\t\tname: 'messageCreate',\n\t\t\tfiletype: 'MessageCommand',\n\t\t\trun: (message: XernerxMessage) => this.messageCommandRun(message),\n\t\t});\n\n\t\tthis.emit({\n\t\t\tname: 'messageUpdate',\n\t\t\tfiletype: 'MessageCommand',\n\t\t\trun: (message: XernerxMessage, message2: XernerxMessage) => this.messageCommandRun(message, message2),\n\t\t});\n\n\t\tthis.emit({\n\t\t\tname: 'messageDelete',\n\t\t\tfiletype: 'MessageCommand',\n\t\t\trun: (message: XernerxMessage) => this.messageCommandRun(message, 'delete'),\n\t\t});\n\t}\n\n\t// public reloadMessageCommands() {\n\t// return reload(this.client, 'message');\n\t// }\n\n\tpublic loadSlashCommands(options: SlashHandlerOptions) {\n\t\tif (!this.client.settings.local) new XernerxLog(this.client).warn(`Slash commands might not work as you haven't specified a local guild ID.`);\n\n\t\toptions = z\n\t\t\t.object({\n\t\t\t\tdirectory: z.string(),\n\t\t\t\tcooldown: z.number().default(0),\n\t\t\t\tpermissions: z\n\t\t\t\t\t.object({\n\t\t\t\t\t\tuser: z.array(z.string()).default([]),\n\t\t\t\t\t\tclient: z.array(z.string()).default([]),\n\t\t\t\t\t\tdm: z.boolean().default(true),\n\t\t\t\t\t})\n\t\t\t\t\t.default({}),\n\t\t\t\tlogging: z.boolean().default(false),\n\t\t\t\tdefer: z\n\t\t\t\t\t.object({\n\t\t\t\t\t\treply: z.boolean().default(false),\n\t\t\t\t\t\tephemeral: z.boolean().default(false),\n\t\t\t\t\t\tfetchReply: z.boolean().default(false),\n\t\t\t\t\t})\n\t\t\t\t\t.default({}),\n\t\t\t})\n\t\t\t.parse(options);\n\n\t\tthis.client.modules.options.slash = options;\n\n\t\tconst files = this.readdir(options.directory);\n\n\t\tfor (const file of files) {\n\t\t\tconst filepath = `${path.resolve(options.directory)}\\\\${file}`;\n\n\t\t\tthis.load(filepath, 'SlashCommand');\n\t\t}\n\n\t\tnew XernerxLog(this.client).info(`Loaded ${Style.log(String(files.length), { color: Style.TextColor.Cyan })} Slash Commands.`);\n\n\t\tthis.emit({\n\t\t\tname: 'interactionCreate',\n\t\t\tfiletype: 'SlashCommand',\n\t\t\trun: (interaction: XernerxSlashInteraction) => this.slashCommandRun(interaction),\n\t\t});\n\t}\n\n\tpublic loadContextCommands(options: ContextHandlerOptions) {\n\t\tif (!this.client.settings.local) new XernerxLog(this.client).warn(`Context commands might not work as you haven't specified a local guild ID.`);\n\n\t\toptions = z\n\t\t\t.object({\n\t\t\t\tdirectory: z.string(),\n\t\t\t\tcooldown: z.number().default(0),\n\t\t\t\tpermissions: z\n\t\t\t\t\t.object({\n\t\t\t\t\t\tuser: z.array(z.string()).default([]),\n\t\t\t\t\t\tclient: z.array(z.string()).default([]),\n\t\t\t\t\t\tdm: z.boolean().default(true),\n\t\t\t\t\t})\n\t\t\t\t\t.default({}),\n\t\t\t\tlogging: z.boolean().default(false),\n\t\t\t\tdefer: z\n\t\t\t\t\t.object({\n\t\t\t\t\t\treply: z.boolean().default(false),\n\t\t\t\t\t\tephemeral: z.boolean().default(false),\n\t\t\t\t\t\tfetchReply: z.boolean().default(false),\n\t\t\t\t\t})\n\t\t\t\t\t.default({}),\n\t\t\t})\n\t\t\t.parse(options);\n\n\t\tthis.client.modules.options.context = options;\n\n\t\tconst files = this.readdir(options.directory);\n\n\t\tfor (const file of files) {\n\t\t\tconst filepath = `${path.resolve(options.directory)}\\\\${file}`;\n\n\t\t\tthis.load(filepath, 'ContextCommand');\n\t\t}\n\n\t\tnew XernerxLog(this.client).info(`Loaded ${Style.log(String(files.length), { color: Style.TextColor.Cyan })} Context Commands.`);\n\n\t\tthis.emit({\n\t\t\tname: 'interactionCreate',\n\t\t\tfiletype: 'ContextCommand',\n\t\t\trun: (interaction: XernerxMessageContextInteraction | XernerxUserContextInteraction) => this.contextCommandRun(interaction),\n\t\t});\n\t}\n\n\tprivate async messageCommandRun<T extends XernerxMessage>(message: T, message2?: T | 'delete') {\n\t\tconst filetype = 'MessageCommand';\n\n\t\tif (message.author.id === this.client.user?.id && this.client.settings.ignore?.self) return;\n\t\telse if (message.author.bot && this.client.settings.ignore?.bots) return;\n\n\t\tif (message.system && this.client.settings.ignore?.system) return;\n\n\t\tmessage.util = new MessageUtil(this.client, message);\n\t\tmessage.user = await xernerxUser(message, this.client);\n\n\t\tif (typeof message2 === 'object') message = message2;\n\n\t\tif (message2 === 'delete' && this.client.modules.options.message?.handleDeletes) {\n\t\t\tif (!this.client.cache.messages.has(message.id)) return;\n\n\t\t\tconst id = this.client.cache.messages.get(message.id);\n\n\t\t\tif (!id) return;\n\n\t\t\t(async () => {\n\t\t\t\tconst msg = await message.channel.messages.fetch(id);\n\n\t\t\t\tawait msg.delete();\n\n\t\t\t\tthis.client.cache.messages.delete(message.id);\n\t\t\t})();\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (message.content && this.client.modules.options.message) {\n\t\t\tconst commands = this.client.commands.message;\n\n\t\t\tconst prefixes = Array.isArray(this.client.modules.options.message.prefix) ? this.client.modules.options.message.prefix : [this.client.modules.options.message.prefix];\n\n\t\t\tlet commandName: string | null = null,\n\t\t\t\tcmd,\n\t\t\t\tcommandAlias: string | null = null,\n\t\t\t\tcommandPrefix: string | null = null;\n\n\t\t\tcommands.map((command) => {\n\t\t\t\tlet prefix: string | null = null;\n\n\t\t\t\tif (command.regex && message.content.match(command.regex)) {\n\t\t\t\t\tconst [match] = message.content.match(command.regex) || [null];\n\n\t\t\t\t\tif (match) commandName = command.name;\n\t\t\t\t}\n\n\t\t\t\tconst cp = Array.isArray(command.prefix) ? command.prefix : [command.prefix as string];\n\n\t\t\t\tprefixes.map((p) => {\n\t\t\t\t\tif (message.content.startsWith(p)) prefix = p;\n\t\t\t\t});\n\n\t\t\t\tcp.map((p) => {\n\t\t\t\t\tif (message.content.startsWith(p)) prefix = p;\n\t\t\t\t});\n\n\t\t\t\tif (!prefix) return;\n\n\t\t\t\tif (!commandName)\n\t\t\t\t\tcommandName =\n\t\t\t\t\t\tmessage.content\n\t\t\t\t\t\t\t.replace(prefix, '')\n\t\t\t\t\t\t\t.split(command.separator || / +/)\n\t\t\t\t\t\t\t.shift()\n\t\t\t\t\t\t\t?.trim()\n\t\t\t\t\t\t\t?.toLowerCase() || '';\n\n\t\t\t\tif (!this.client.commands.message.has(commandName) && command.aliases?.includes(commandName)) {\n\t\t\t\t\tcommandAlias = commandName;\n\n\t\t\t\t\tcommandName = command.name;\n\t\t\t\t}\n\n\t\t\t\tcommandAlias = commandAlias ? commandAlias : commandName;\n\n\t\t\t\tcommandPrefix = prefix;\n\t\t\t});\n\n\t\t\tif (!cmd && this.client.modules.options.message.allowMention) {\n\t\t\t\tif (message.mentions.users.has(this.client.user?.id as string) || message.mentions.repliedUser?.id === this.client.user?.id) {\n\t\t\t\t\tcommandName = message.content.replace(`<@${this.client.user?.id}>`, '').trim().split(/ +/).shift()?.toLowerCase() || null;\n\n\t\t\t\t\tcommandPrefix = `<@${this.client.user?.id}>`;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (this.client.commands.message.has(commandName as string)) {\n\t\t\t\tif (this.client.modules.options.message?.handleTyping) message.channel.sendTyping();\n\n\t\t\t\tcmd = this.client.commands.message.get(commandName as string);\n\t\t\t}\n\n\t\t\tif (!commandPrefix) return;\n\n\t\t\tif (!cmd) return await this.client.emit('commandNotFound', message, commandName, filetype);\n\n\t\t\tif (await inhibitorValidation(message, cmd)) return;\n\n\t\t\tmessage.util.parsed = {\n\t\t\t\talias: commandAlias,\n\t\t\t\tprefix: commandPrefix,\n\t\t\t};\n\n\t\t\tthis.client.emit('commandStart', message, cmd, filetype);\n\n\t\t\treturn await this.exec(cmd, message, await messageArguments(message, cmd, commandPrefix as string), filetype);\n\t\t}\n\t}\n\n\tprivate async slashCommandRun<T extends Record<string, any>>(interaction: XernerxSlashInteraction) {\n\t\tconst filetype = 'SlashCommand';\n\n\t\tinteraction.util = new InteractionUtil(this.client, interaction);\n\n\t\tinteraction.user = await xernerxUser(interaction, this.client);\n\n\t\tlet cmd: XernerxSlashCommand | null | undefined = null;\n\n\t\tif (this.client.commands.slash.has(interaction.commandName)) cmd = this.client.commands.slash.get(interaction.commandName);\n\n\t\tif (await inhibitorValidation(interaction, cmd as XernerxSlashCommand)) return;\n\n\t\tif (!cmd) return this.client.emit('commandNotFound', interaction);\n\n\t\tnew Promise(async (resolve) => {\n\t\t\tif (interaction.isAutocomplete()) {\n\t\t\t\tconst focused = (interaction as T).options.getFocused(true);\n\t\t\t\tconst options = (interaction as T).options;\n\n\t\t\t\tawait (cmd as XernerxSlashCommand).autocomplete(interaction, focused, options);\n\t\t\t} else resolve(true);\n\t\t})\n\t\t\t.then(async () => {\n\t\t\t\tthis.client.emit('commandStart', interaction, filetype);\n\n\t\t\t\treturn await this.exec(cmd as XernerxSlashCommand, interaction, await interactionArguments(interaction, cmd as XernerxSlashCommand), filetype);\n\t\t\t})\n\t\t\t.catch((error) => this.client.emit('commandError', interaction, error, cmd, filetype));\n\t}\n\n\tprivate async contextCommandRun(interaction: XernerxUserContextInteraction | XernerxMessageContextInteraction) {\n\t\tconst filetype = 'ContextCommand';\n\n\t\tinteraction.util = new InteractionUtil(this.client, interaction);\n\n\t\tinteraction.user = await xernerxUser(interaction as XernerxUserContextInteraction, this.client);\n\n\t\tlet cmd;\n\n\t\tif (this.client.commands.context.has(interaction.commandName)) cmd = this.client.commands.context.get(interaction.commandName);\n\n\t\tif (await inhibitorValidation(interaction, cmd)) return;\n\n\t\tif (!cmd) return this.client.emit('commandNotFound', interaction, filetype);\n\n\t\tthis.client.emit('commandStart', interaction, filetype);\n\n\t\treturn await this.exec(cmd as unknown as XernerxSlashCommand, interaction, await interactionArguments(interaction, cmd), filetype);\n\t}\n\n\tprivate async exec(\n\t\tcmd: MessageCommandBuilder | XernerxSlashCommand | XernerxContextCommand,\n\t\tevent: XernerxMessage | XernerxSlashInteraction | XernerxMessageContextInteraction | XernerxUserContextInteraction,\n\t\targs: any,\n\t\ttype: filetype\n\t) {\n\t\ttry {\n\t\t\tif (await commandValidation(event as XernerxMessage, cmd)) return;\n\n\t\t\tif (((cmd as MessageCommandBuilder).conditions as unknown) && (await ((cmd as MessageCommandBuilder).conditions(event as never, args) as unknown))) return;\n\n\t\t\tawait cmd.exec(event as never, args);\n\n\t\t\treturn await this.client.emit('commandFinish', event, type);\n\t\t} catch (error) {\n\t\t\tnew XernerxLog(this.client).error(`An error occurred executing ${Style.log(cmd.name, { color: Style.TextColor.Blue })}`, error);\n\n\t\t\treturn await this.client.emit('commandError', event, error, cmd, type);\n\t\t}\n\t}\n}\n"]}
|
|
@@ -17,8 +17,8 @@ export default class EventHandler extends Handler {
|
|
|
17
17
|
this.client.modules.options.events = options;
|
|
18
18
|
const files = this.readdir(options.directory);
|
|
19
19
|
for (const file of files) {
|
|
20
|
-
const
|
|
21
|
-
const data = await this.load(
|
|
20
|
+
const filepath = `${path.resolve(options.directory)}\\${file}`;
|
|
21
|
+
const data = await this.load(filepath, 'Event');
|
|
22
22
|
this.emit(data);
|
|
23
23
|
}
|
|
24
24
|
new XernerxLog(this.client).info(`Loaded ${Style.log(String(this.client.events.size), { color: Style.TextColor.Cyan })} Events.`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventHandler.js","sourceRoot":"","sources":["../../src/handlers/EventHandler.ts"],"names":[],"mappings":"AAAA,cAAc;AAEd,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAI7B,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAErC,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,OAAO;IAChD,YAAY,MAAqB;QAChC,KAAK,CAAC,MAAM,CAAC,CAAC;IACf,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,OAA4B;QACnD,OAAO,GAAG,CAAC;aACT,MAAM,CAAC;YACP,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;SACrB,CAAC;aACD,KAAK,CAAC,OAAO,CAAC,CAAC;QAEjB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC;QAE7C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAE9C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACzB,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;YAE/D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAEhD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAChB;QAED,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC;IACnI,CAAC;CACD","sourcesContent":["/** @format */\n\nimport { z } from 'zod';\n\nimport * as path from 'path';\n\nimport XernerxClient from '../client/XernerxClient.js';\nimport { EventHandlerOptions } from '../types/interfaces.js';\nimport Handler from './Handler.js';\nimport XernerxLog from '../tools/XernerxLog.js';\nimport { Style } from 'dumfunctions';\n\nexport default class EventHandler extends Handler {\n\tconstructor(client: XernerxClient) {\n\t\tsuper(client);\n\t}\n\n\tpublic async loadEvents(options: EventHandlerOptions) {\n\t\toptions = z\n\t\t\t.object({\n\t\t\t\tdirectory: z.string(),\n\t\t\t})\n\t\t\t.parse(options);\n\n\t\tthis.client.modules.options.events = options;\n\n\t\tconst files = this.readdir(options.directory);\n\n\t\tfor (const file of files) {\n\t\t\tconst
|
|
1
|
+
{"version":3,"file":"EventHandler.js","sourceRoot":"","sources":["../../src/handlers/EventHandler.ts"],"names":[],"mappings":"AAAA,cAAc;AAEd,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAI7B,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAErC,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,OAAO;IAChD,YAAY,MAAqB;QAChC,KAAK,CAAC,MAAM,CAAC,CAAC;IACf,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,OAA4B;QACnD,OAAO,GAAG,CAAC;aACT,MAAM,CAAC;YACP,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;SACrB,CAAC;aACD,KAAK,CAAC,OAAO,CAAC,CAAC;QAEjB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC;QAE7C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAE9C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACzB,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;YAE/D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAEhD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAChB;QAED,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC;IACnI,CAAC;CACD","sourcesContent":["/** @format */\n\nimport { z } from 'zod';\n\nimport * as path from 'path';\n\nimport XernerxClient from '../client/XernerxClient.js';\nimport { EventHandlerOptions } from '../types/interfaces.js';\nimport Handler from './Handler.js';\nimport XernerxLog from '../tools/XernerxLog.js';\nimport { Style } from 'dumfunctions';\n\nexport default class EventHandler extends Handler {\n\tconstructor(client: XernerxClient) {\n\t\tsuper(client);\n\t}\n\n\tpublic async loadEvents(options: EventHandlerOptions) {\n\t\toptions = z\n\t\t\t.object({\n\t\t\t\tdirectory: z.string(),\n\t\t\t})\n\t\t\t.parse(options);\n\n\t\tthis.client.modules.options.events = options;\n\n\t\tconst files = this.readdir(options.directory);\n\n\t\tfor (const file of files) {\n\t\t\tconst filepath = `${path.resolve(options.directory)}\\\\${file}`;\n\n\t\t\tconst data = await this.load(filepath, 'Event');\n\n\t\t\tthis.emit(data);\n\t\t}\n\n\t\tnew XernerxLog(this.client).info(`Loaded ${Style.log(String(this.client.events.size), { color: Style.TextColor.Cyan })} Events.`);\n\t}\n}\n"]}
|
|
@@ -3,14 +3,14 @@ import XernerxClient from '../client/XernerxClient.js';
|
|
|
3
3
|
import MessageCommandBuilder from '../build/XernerxMessageCommand.js';
|
|
4
4
|
import XernerxSlashCommand from '../build/XernerxSlashCommand.js';
|
|
5
5
|
import XernerxContextCommand from '../build/XernerxContextCommand.js';
|
|
6
|
-
import {
|
|
6
|
+
import { filetype } from '../types/types.js';
|
|
7
7
|
export default class Handler {
|
|
8
8
|
readonly client: XernerxClient<unknown>;
|
|
9
9
|
readonly files: Array<MessageCommandBuilder | XernerxSlashCommand | XernerxContextCommand>;
|
|
10
10
|
readonly readyTimestamp: number;
|
|
11
11
|
constructor(client: XernerxClient);
|
|
12
12
|
readdir(dir: string): string[];
|
|
13
|
-
load(
|
|
13
|
+
load(filepath: string, type: filetype): Promise<any>;
|
|
14
14
|
emit<T extends Record<string, string | boolean | Function | void>>(event: T): Promise<void>;
|
|
15
15
|
}
|
|
16
16
|
//# sourceMappingURL=Handler.d.ts.map
|
package/dist/handlers/Handler.js
CHANGED
|
@@ -19,18 +19,18 @@ export default class Handler {
|
|
|
19
19
|
}
|
|
20
20
|
return [];
|
|
21
21
|
}
|
|
22
|
-
async load(
|
|
23
|
-
const file = await load(this.client,
|
|
22
|
+
async load(filepath, type) {
|
|
23
|
+
const file = await load(this.client, filepath, type);
|
|
24
24
|
this.files.push(file);
|
|
25
25
|
return file;
|
|
26
26
|
}
|
|
27
27
|
async emit(event) {
|
|
28
|
-
if (!event?.
|
|
29
|
-
if (event.
|
|
28
|
+
if (!event?.filetype) return;
|
|
29
|
+
if (event.filetype === 'Event') {
|
|
30
30
|
if (event.emitter === 'client') event.once ? this.client.once(event.name, (...args) => event.run(...args)) : this.client.on(event.name, (...args) => event.run(...args));
|
|
31
31
|
else if (event.emitter === 'process') event.once ? process.once(event.name, (...args) => event.run(...args)) : process.on(event.name, (...args) => event.run(...args));
|
|
32
32
|
}
|
|
33
|
-
if (['MessageCommand', 'SlashCommand', 'ContextCommand'].includes(event.
|
|
33
|
+
if (['MessageCommand', 'SlashCommand', 'ContextCommand'].includes(event.filetype)) {
|
|
34
34
|
event.once ? this.client.once(event.name, (...args) => event.run(...args)) : this.client.on(event.name, (...args) => event.run(...args));
|
|
35
35
|
}
|
|
36
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Handler.js","sourceRoot":"","sources":["../../src/handlers/Handler.ts"],"names":[],"mappings":"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","sourcesContent":["/** @format */\n\nimport * as fs from 'fs';\nimport * as path from 'path';\n\nimport XernerxClient from '../client/XernerxClient.js';\nimport load from '../functions/load.js';\nimport MessageCommandBuilder from '../build/XernerxMessageCommand.js';\nimport XernerxSlashCommand from '../build/XernerxSlashCommand.js';\nimport XernerxContextCommand from '../build/XernerxContextCommand.js';\nimport {
|
|
1
|
+
{"version":3,"file":"Handler.js","sourceRoot":"","sources":["../../src/handlers/Handler.ts"],"names":[],"mappings":"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","sourcesContent":["/** @format */\n\nimport * as fs from 'fs';\nimport * as path from 'path';\n\nimport XernerxClient from '../client/XernerxClient.js';\nimport load from '../functions/load.js';\nimport MessageCommandBuilder from '../build/XernerxMessageCommand.js';\nimport XernerxSlashCommand from '../build/XernerxSlashCommand.js';\nimport XernerxContextCommand from '../build/XernerxContextCommand.js';\nimport { filetype } from '../types/types.js';\n\nexport default class Handler {\n\tpublic readonly client;\n\tpublic readonly files: Array<MessageCommandBuilder | XernerxSlashCommand | XernerxContextCommand>;\n\tpublic readonly readyTimestamp;\n\n\tconstructor(client: XernerxClient) {\n\t\tthis.client = client;\n\n\t\tthis.files = [];\n\n\t\tthis.readyTimestamp = Number(Date.now());\n\t}\n\n\tpublic readdir(dir: string) {\n\t\ttry {\n\t\t\treturn fs.readdirSync(path.resolve(dir)).filter((file) => file.endsWith('.js'));\n\t\t} catch (error) {\n\t\t\tconsole.error(error);\n\t\t}\n\t\treturn [];\n\t}\n\n\tpublic async load(filepath: string, type: filetype) {\n\t\tconst file = await load(this.client, filepath, type);\n\n\t\tthis.files.push(file);\n\n\t\treturn file;\n\t}\n\n\tpublic async emit<T extends Record<string, string | boolean | Function | void>>(event: T) {\n\t\tif (!event?.filetype) return;\n\n\t\tif (event.filetype === 'Event') {\n\t\t\tif (event.emitter === 'client')\n\t\t\t\tevent.once\n\t\t\t\t\t? this.client.once(event.name as string, <T extends Array<T>>(...args: T) => (event.run as Function)(...args))\n\t\t\t\t\t: this.client.on(event.name as string, <T extends Array<T>>(...args: T) => (event.run as Function)(...args));\n\t\t\telse if (event.emitter === 'process')\n\t\t\t\tevent.once\n\t\t\t\t\t? process.once(event.name as string, <T extends Array<T>>(...args: T) => (event.run as Function)(...args))\n\t\t\t\t\t: process.on(event.name as string, <T extends Array<T>>(...args: T) => (event.run as Function)(...args));\n\t\t}\n\n\t\tif (['MessageCommand', 'SlashCommand', 'ContextCommand'].includes(event.filetype as string)) {\n\t\t\tevent.once\n\t\t\t\t? this.client.once(event.name as string, <T extends Array<T>>(...args: T) => (event.run as Function)(...args))\n\t\t\t\t: this.client.on(event.name as string, <T extends Array<T>>(...args: T) => (event.run as Function)(...args));\n\t\t}\n\t}\n}\n"]}
|
|
@@ -17,8 +17,8 @@ export default class InhibitorHandler extends Handler {
|
|
|
17
17
|
this.client.modules.options.inhibitors = options;
|
|
18
18
|
const files = this.readdir(options.directory);
|
|
19
19
|
for (const file of files) {
|
|
20
|
-
const
|
|
21
|
-
const data = await this.load(
|
|
20
|
+
const filepath = `${path.resolve(options.directory)}\\${file}`;
|
|
21
|
+
const data = await this.load(filepath, 'Inhibitor');
|
|
22
22
|
this.emit(data);
|
|
23
23
|
}
|
|
24
24
|
new XernerxLog(this.client).info(`Loaded ${Style.log(String(this.client.inhibitors.size), { color: Style.TextColor.Cyan })} Inhibitors.`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InhibitorHandler.js","sourceRoot":"","sources":["../../src/handlers/InhibitorHandler.ts"],"names":[],"mappings":"AAAA,cAAc;AAEd,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAG7B,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAErC,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,OAAO;IACpD,YAAY,MAAqB;QAChC,KAAK,CAAC,MAAM,CAAC,CAAC;IACf,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,OAAgC;QAC3D,OAAO,GAAG,CAAC;aACT,MAAM,CAAC;YACP,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;SACrB,CAAC;aACD,KAAK,CAAC,OAAO,CAAC,CAAC;QAEjB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC;QAEjD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAE9C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACzB,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;YAE/D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YAEpD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAChB;QAED,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,cAAc,CAAC,CAAC;IAC3I,CAAC;CACD","sourcesContent":["/** @format */\n\nimport { z } from 'zod';\n\nimport * as path from 'path';\n\nimport XernerxClient from '../client/XernerxClient.js';\nimport Handler from './Handler.js';\nimport { InhibitorHandlerOptions } from '../types/interfaces.js';\nimport XernerxLog from '../tools/XernerxLog.js';\nimport { Style } from 'dumfunctions';\n\nexport default class InhibitorHandler extends Handler {\n\tconstructor(client: XernerxClient) {\n\t\tsuper(client);\n\t}\n\n\tpublic async loadInhibitors(options: InhibitorHandlerOptions) {\n\t\toptions = z\n\t\t\t.object({\n\t\t\t\tdirectory: z.string(),\n\t\t\t})\n\t\t\t.parse(options);\n\n\t\tthis.client.modules.options.inhibitors = options;\n\n\t\tconst files = this.readdir(options.directory);\n\n\t\tfor (const file of files) {\n\t\t\tconst
|
|
1
|
+
{"version":3,"file":"InhibitorHandler.js","sourceRoot":"","sources":["../../src/handlers/InhibitorHandler.ts"],"names":[],"mappings":"AAAA,cAAc;AAEd,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAG7B,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAErC,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,OAAO;IACpD,YAAY,MAAqB;QAChC,KAAK,CAAC,MAAM,CAAC,CAAC;IACf,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,OAAgC;QAC3D,OAAO,GAAG,CAAC;aACT,MAAM,CAAC;YACP,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;SACrB,CAAC;aACD,KAAK,CAAC,OAAO,CAAC,CAAC;QAEjB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC;QAEjD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAE9C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACzB,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;YAE/D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YAEpD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAChB;QAED,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,cAAc,CAAC,CAAC;IAC3I,CAAC;CACD","sourcesContent":["/** @format */\n\nimport { z } from 'zod';\n\nimport * as path from 'path';\n\nimport XernerxClient from '../client/XernerxClient.js';\nimport Handler from './Handler.js';\nimport { InhibitorHandlerOptions } from '../types/interfaces.js';\nimport XernerxLog from '../tools/XernerxLog.js';\nimport { Style } from 'dumfunctions';\n\nexport default class InhibitorHandler extends Handler {\n\tconstructor(client: XernerxClient) {\n\t\tsuper(client);\n\t}\n\n\tpublic async loadInhibitors(options: InhibitorHandlerOptions) {\n\t\toptions = z\n\t\t\t.object({\n\t\t\t\tdirectory: z.string(),\n\t\t\t})\n\t\t\t.parse(options);\n\n\t\tthis.client.modules.options.inhibitors = options;\n\n\t\tconst files = this.readdir(options.directory);\n\n\t\tfor (const file of files) {\n\t\t\tconst filepath = `${path.resolve(options.directory)}\\\\${file}`;\n\n\t\t\tconst data = await this.load(filepath, 'Inhibitor');\n\n\t\t\tthis.emit(data);\n\t\t}\n\n\t\tnew XernerxLog(this.client).info(`Loaded ${Style.log(String(this.client.inhibitors.size), { color: Style.TextColor.Cyan })} Inhibitors.`);\n\t}\n}\n"]}
|
package/dist/models/Arguments.js
CHANGED
|
@@ -119,7 +119,7 @@ export async function messageArguments(message, command, prefix) {
|
|
|
119
119
|
return { args, flags };
|
|
120
120
|
}
|
|
121
121
|
export async function interactionArguments(interaction, command) {
|
|
122
|
-
if (command.
|
|
122
|
+
if (command.filetype === 'SlashCommand') {
|
|
123
123
|
const options = {};
|
|
124
124
|
let args = interaction?.options?._hoistedOptions,
|
|
125
125
|
group = interaction?.options?._group,
|
|
@@ -132,7 +132,7 @@ export async function interactionArguments(interaction, command) {
|
|
|
132
132
|
}
|
|
133
133
|
return { args, group, subcommand };
|
|
134
134
|
}
|
|
135
|
-
if (command.
|
|
135
|
+
if (command.filetype === 'ContextCommand') {
|
|
136
136
|
if (command.type === 'user') return await interaction.client.users.fetch(interaction.targetId);
|
|
137
137
|
if (command.type === 'message') return await interaction.channel.messages.fetch(interaction.targetId);
|
|
138
138
|
}
|