xernerx 4.4.16 → 4.4.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/build/EventBuilder.d.ts +1 -1
- package/dist/build/EventBuilder.d.ts.map +1 -1
- package/dist/build/EventBuilder.js +1 -1
- package/dist/build/EventBuilder.js.map +1 -1
- package/dist/client/XernerxClient.d.ts.map +1 -1
- package/dist/client/XernerxClient.js +2 -0
- package/dist/client/XernerxClient.js.map +1 -1
- package/dist/client/XernerxShardClient.d.ts.map +1 -1
- package/dist/client/XernerxShardClient.js +4 -1
- package/dist/client/XernerxShardClient.js.map +1 -1
- package/dist/functions/deploy.d.ts +1 -1
- package/dist/functions/deploy.d.ts.map +1 -1
- package/dist/functions/deploy.js +8 -7
- package/dist/functions/deploy.js.map +1 -1
- package/dist/handlers/CommandHandler.d.ts.map +1 -1
- package/dist/handlers/CommandHandler.js +0 -3
- package/dist/handlers/CommandHandler.js.map +1 -1
- package/dist/types/interfaces.d.ts +3 -3
- package/dist/types/interfaces.d.ts.map +1 -1
- package/dist/types/interfaces.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventBuilder.d.ts","sourceRoot":"","sources":["../../src/build/EventBuilder.ts"],"names":[],"mappings":"AAEA,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAG9C;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,YAAY;IAC7B,SAAwB,EAAE,EAAE,MAAM,CAAC;IACnC,SAAwB,IAAI,EAAE,SAAS,GAAG,MAAM,CAAC;IACjD,SAAwB,OAAO,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;IAChE,SAAwB,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAClD,SAAwB,IAAI,CAAC,EAAE,OAAO,CAAC;IACvC,SAAwB,QAAQ,EAAE,OAAO,CAAC;IAC1C,SAAwB,QAAQ,EAAE,MAAM,CAAC;IACzC,SAAwB,MAAM,uBAAC;gBAEZ,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB;IAoB3D;;;OAGG;IACU,GAAG,
|
|
1
|
+
{"version":3,"file":"EventBuilder.d.ts","sourceRoot":"","sources":["../../src/build/EventBuilder.ts"],"names":[],"mappings":"AAEA,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAG9C;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,YAAY;IAC7B,SAAwB,EAAE,EAAE,MAAM,CAAC;IACnC,SAAwB,IAAI,EAAE,SAAS,GAAG,MAAM,CAAC;IACjD,SAAwB,OAAO,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;IAChE,SAAwB,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAClD,SAAwB,IAAI,CAAC,EAAE,OAAO,CAAC;IACvC,SAAwB,QAAQ,EAAE,OAAO,CAAC;IAC1C,SAAwB,QAAQ,EAAE,MAAM,CAAC;IACzC,SAAwB,MAAM,uBAAC;gBAEZ,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB;IAoB3D;;;OAGG;IACU,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG;CAChC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventBuilder.js","sourceRoot":"","sources":["../../src/build/EventBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,aAAa,MAAM,4BAA4B,CAAC;AAGvD,sDAAsD;AAEtD;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,YAAY;IAU7B,YAAmB,EAAU,EAAE,OAA4B;QACvD,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QAEb,CAAC,CAAC,MAAM,CAAC;YACL,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;YAChB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC9B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC3B,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;SAC/B,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAElB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAEzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,QAAQ,CAAC;QAE3C,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,SAAS,CAAC;QAEtC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC;QAElC,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC;IAChC,CAAC;IACD;;;OAGG;IACI,KAAK,CAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"EventBuilder.js","sourceRoot":"","sources":["../../src/build/EventBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,aAAa,MAAM,4BAA4B,CAAC;AAGvD,sDAAsD;AAEtD;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,YAAY;IAU7B,YAAmB,EAAU,EAAE,OAA4B;QACvD,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QAEb,CAAC,CAAC,MAAM,CAAC;YACL,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;YAChB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC9B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC3B,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;SAC/B,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAElB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAEzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,QAAQ,CAAC;QAE3C,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,SAAS,CAAC;QAEtC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC;QAElC,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC;IAChC,CAAC;IACD;;;OAGG;IACI,KAAK,CAAC,GAAG,CAAC,GAAG,IAAS,IAAG,CAAC;CACpC","sourcesContent":["import { z } from 'zod';\n\nimport XernerxClient from '../client/XernerxClient.js';\nimport { EventBuilderOptions } from '../types/interfaces.js';\nimport { EventType } from '../types/types.js';\n// import { EventOptions } from '../types/options.js';\n\n/**\n * @description - The event builder for events.\n * @param {String} id - The unique ID of the event.\n * @param {EventOptions} options - The event options.\n */\nexport default class EventBuilder {\n public declare readonly id: string;\n public declare readonly name: EventType | string;\n public declare readonly emitter?: 'client' | 'process' | string;\n public declare readonly type?: 'discord' | string;\n public declare readonly once?: boolean;\n public declare readonly fileType: 'Event';\n public declare readonly filePath: string;\n public declare readonly client;\n\n public constructor(id: string, options: EventBuilderOptions) {\n this.id = id;\n\n z.object({\n name: z.string(),\n emitter: z.string().optional(),\n type: z.string().optional(),\n once: z.boolean().optional(),\n }).parse(options);\n\n this.name = options.name;\n\n this.emitter = options.emitter || 'client';\n\n this.type = options.type || 'discord';\n\n this.once = options.once || false;\n\n this.client = XernerxClient;\n }\n /**\n * @description run your custom event here.\n * TODO - update description\n */\n public async run(...args: any) {}\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XernerxClient.d.ts","sourceRoot":"","sources":["../../src/client/XernerxClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAQ/D,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtG,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"XernerxClient.d.ts","sourceRoot":"","sources":["../../src/client/XernerxClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAQ/D,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtG,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAI5D,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,MAAM;IAC7C,SAAwB,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;MAAC;IACjC,SAAwB,MAAM,iCAAC;IAC/B,SAAwB,QAAQ,EAAE,eAAe,CAAC;IAClD,SAAwB,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACjE,SAAwB,UAAU,EAAE,UAAU,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACzE,SAAwB,OAAO,EAAE,aAAa,CAAC;IAC/C,SAAwB,IAAI,EAAE,UAAU,CAAC;IACzC,SAAwB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtD,SAAwB,KAAK,EAAE,YAAY,CAAC;gBAEzB,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IA8E3G,OAAO,CAAC,KAAK,EAAE,MAAM;CAO/B"}
|
|
@@ -7,6 +7,7 @@ import WebhookHandler from '../handlers/WebhookHandler.js';
|
|
|
7
7
|
import XernerxLog from '../tools/XernerxLog.js';
|
|
8
8
|
import ClientUtil from '../utils/ClientUtil.js';
|
|
9
9
|
import ExtensionHandler from '../handlers/ExtensionHandler.js';
|
|
10
|
+
import deploy from '../functions/deploy.js';
|
|
10
11
|
export default class XernerxClient extends Client {
|
|
11
12
|
constructor(discordOptions, xernerxOptions, config) {
|
|
12
13
|
super(discordOptions);
|
|
@@ -77,6 +78,7 @@ export default class XernerxClient extends Client {
|
|
|
77
78
|
}
|
|
78
79
|
connect(token) {
|
|
79
80
|
this.login(token);
|
|
81
|
+
deploy(this);
|
|
80
82
|
new XernerxLog(this).ready();
|
|
81
83
|
}
|
|
82
84
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XernerxClient.js","sourceRoot":"","sources":["../../src/client/XernerxClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAiB,UAAU,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,cAAc,MAAM,+BAA+B,CAAC;AAC3D,OAAO,YAAY,MAAM,6BAA6B,CAAC;AACvD,OAAO,gBAAgB,MAAM,iCAAiC,CAAC;AAC/D,OAAO,cAAc,MAAM,+BAA+B,CAAC;AAC3D,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAEhD,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAEhD,OAAO,gBAAgB,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"XernerxClient.js","sourceRoot":"","sources":["../../src/client/XernerxClient.ts"],"names":[],"mappings":"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","sourcesContent":["import { 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 { InhibitorBuilder, EventBuilder } from '../main.js';\nimport ExtensionHandler from '../handlers/ExtensionHandler.js';\nimport deploy from '../functions/deploy.js';\n\nexport default class XernerxClient extends Client {\n public declare readonly settings;\n public declare readonly config;\n public declare readonly commands: XernerxCommands;\n public declare readonly events: Collection<string, EventBuilder>;\n public declare readonly inhibitors: Collection<string, InhibitorBuilder>;\n public declare readonly modules: ModuleOptions;\n public declare readonly util: ClientUtil;\n public declare readonly stats: Record<string, number>;\n public declare readonly cache: XernerxCache;\n\n public constructor(discordOptions: ClientOptions, xernerxOptions: XernerxOptions, config?: Record<string, unknown>) {\n super(discordOptions);\n\n this.settings = z\n .object({\n local: z.string().or(z.undefined()).optional(),\n global: z.boolean().default(false).optional(),\n ownerId: z.string().or(z.array(z.string())).default([]),\n permissions: z\n .object({\n client: z.array(z.string()).default([]),\n user: z.array(z.string()).default([]),\n dm: z.boolean().default(false),\n })\n .optional(),\n ignore: z\n .object({\n owner: z.boolean().default(false),\n users: z.array(z.string()).default([]),\n channels: z.array(z.string()).default([]),\n guilds: z.array(z.string()).default([]),\n })\n .optional(),\n log: z\n .object({\n ready: z.boolean().default(false),\n info: z.boolean().default(false),\n error: z.boolean().default(false),\n table: z.array(z.string()).or(z.null()).default(null),\n })\n .optional(),\n cooldown: z\n .object({\n command: z.number().default(0),\n cache: z.number().default(0),\n })\n .optional(),\n })\n .parse(xernerxOptions);\n\n this.config = config || null;\n\n this.commands = {\n message: new Collection(),\n slash: new Collection(),\n context: new Collection(),\n };\n\n this.events = new Collection();\n\n this.inhibitors = new Collection();\n\n this.modules = {\n options: {},\n commandHandler: new CommandHandler(this),\n eventHandler: new EventHandler(this),\n inhibitorHandler: new InhibitorHandler(this),\n webhookHandler: new WebhookHandler(this),\n extensionHandler: new ExtensionHandler(this),\n } as const;\n\n this.util = new ClientUtil(this);\n\n this.stats = {\n guildCount: this.guilds.cache.size,\n userCount: 0,\n shardId: 0,\n shardCount: 1,\n };\n\n this.cache = {\n messages: new Collection(),\n cooldowns: new Collection(),\n };\n\n return this;\n }\n\n public connect(token: string) {\n this.login(token);\n\n deploy(this);\n\n new XernerxLog(this).ready();\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XernerxShardClient.d.ts","sourceRoot":"","sources":["../../src/client/XernerxShardClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAS,UAAU,EAAE,MAAM,YAAY,CAAC;AAGxF,UAAU,cAAc;IACpB,GAAG,CAAC,EAAE;QACF,IAAI,CAAC,EAAE,OAAO,CAAC;KAClB,CAAC;CACL;AAED,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,eAAe;IAC3D,SAAwB,KAAK;;;;MAAC;IACf,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;gBAE3B,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,sBAAsB,EAAE,cAAc,CAAC,EAAE,cAAc;
|
|
1
|
+
{"version":3,"file":"XernerxShardClient.d.ts","sourceRoot":"","sources":["../../src/client/XernerxShardClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAS,UAAU,EAAE,MAAM,YAAY,CAAC;AAGxF,UAAU,cAAc;IACpB,GAAG,CAAC,EAAE;QACF,IAAI,CAAC,EAAE,OAAO,CAAC;KAClB,CAAC;CACL;AAED,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,eAAe;IAC3D,SAAwB,KAAK;;;;MAAC;IACf,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;gBAE3B,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,sBAAsB,EAAE,cAAc,CAAC,EAAE,cAAc;CAkDpG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XernerxShardClient.js","sourceRoot":"","sources":["../../src/client/XernerxShardClient.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"XernerxShardClient.js","sourceRoot":"","sources":["../../src/client/XernerxShardClient.ts"],"names":[],"mappings":"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","sourcesContent":["import { ShardingManager, ShardingManagerOptions, Guild, ClientUser } from 'discord.js';\nimport XernerxLog from '../tools/XernerxLog.js';\n\ninterface XernerxOptions {\n log?: {\n info?: boolean;\n };\n}\n\nexport default class XernerxShardClient extends ShardingManager {\n public declare readonly stats;\n public declare user: ClientUser | null;\n\n constructor(file: string, discordOptions: ShardingManagerOptions, xernerxOptions?: XernerxOptions) {\n super(file, discordOptions);\n\n this.stats = { guildCount: 0, userCount: 0, shardCount: 0 };\n\n this.user = null;\n\n this.on('shardCreate', async (shard) => {\n shard\n .on('ready', async () => {\n const guilds = (await shard.fetchClientValue('guilds.cache')) as Array<Guild>;\n const guildCount = guilds.length;\n const userCount = guilds.map((guild) => guild.memberCount).length ? guilds.map((guild) => guild.memberCount).reduce((a, b) => (a += b)) : 0;\n\n this.stats.guildCount += Number(guildCount);\n\n this.stats.userCount += Number(userCount);\n\n this.stats.shardCount++;\n\n this.user = (await shard.fetchClientValue('user')) as ClientUser;\n\n await new XernerxLog({ settings: xernerxOptions } as never).info(`Launched shard ${shard.id} for ${this.user?.tag}!`);\n })\n .on('error', (error) => {\n new XernerxLog({ settings: xernerxOptions } as never).info(`An error occurred in ${shard.id} for ${this.user?.tag}! ${error}`);\n });\n });\n\n const spawn = this.spawn();\n\n spawn.then(async (shards) => {\n const collector = setInterval(() => {\n const index = shards.size - 1;\n\n if (shards.get(index)?.ready) {\n new XernerxLog({ settings: xernerxOptions } as never).info(\n `Launched all ${this.stats.shardCount} shards for ${this.user?.tag}, watching ${this.stats.guildCount} guilds, and ${this.stats.userCount} users!`\n );\n\n clearInterval(collector);\n }\n }, 1000);\n });\n\n return {\n shards: spawn,\n stats: this.stats,\n } as never;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/functions/deploy.ts"],"names":[],"mappings":"AAIA,OAAO,aAAa,MAAM,4BAA4B,CAAC;AAMvD,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,MAAM,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/functions/deploy.ts"],"names":[],"mappings":"AAIA,OAAO,aAAa,MAAM,4BAA4B,CAAC;AAMvD,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,MAAM,EAAE,aAAa,QAyBnD"}
|
package/dist/functions/deploy.js
CHANGED
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
import { GatewayVersion, REST, Routes } from 'discord.js';
|
|
2
2
|
import XernerxLog from '../tools/XernerxLog.js';
|
|
3
3
|
import XernerxError from '../tools/XernerxError.js';
|
|
4
|
-
const commands =
|
|
5
|
-
export default function deploy(client
|
|
4
|
+
const commands = [];
|
|
5
|
+
export default function deploy(client) {
|
|
6
6
|
client.prependOnceListener('ready', (client) => {
|
|
7
|
-
commands
|
|
8
|
-
if (
|
|
7
|
+
if (client.commands.slash.size) client.commands.slash.map((command) => commands.push(command.data.toJSON()));
|
|
8
|
+
if (client.commands.context.size) client.commands.context.map((command) => commands.push(command.data.toJSON()));
|
|
9
|
+
if (commands.length <= 0) return;
|
|
9
10
|
try {
|
|
10
11
|
if (client.settings.global) {
|
|
11
|
-
put(client, client.settings.global,
|
|
12
|
+
put(client, client.settings.global, commands);
|
|
12
13
|
put(client, !client.settings.global, []);
|
|
13
14
|
} else {
|
|
14
|
-
put(client, !client.settings.global,
|
|
15
|
+
put(client, !client.settings.global, commands);
|
|
15
16
|
put(client, client.settings.global, []);
|
|
16
17
|
}
|
|
17
18
|
} catch (error) {
|
|
@@ -19,7 +20,7 @@ export default function deploy(client, type) {
|
|
|
19
20
|
} finally {
|
|
20
21
|
new XernerxLog(client).info(
|
|
21
22
|
`Deployed ${[client.commands.message.size, client.commands.slash.size, client.commands.context.size].reduce((a, b) => (a += b))} Commands ${
|
|
22
|
-
client.settings.global ? 'globally' :
|
|
23
|
+
client.settings.global ? 'globally' : `locally in ${client.guilds.cache.get(client.settings.local).name}`
|
|
23
24
|
}.`
|
|
24
25
|
);
|
|
25
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/functions/deploy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAK1D,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAChD,OAAO,YAAY,MAAM,0BAA0B,CAAC;AAEpD,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/functions/deploy.ts"],"names":[],"mappings":"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","sourcesContent":["import { GatewayVersion, REST, Routes } from 'discord.js';\n\nimport ContextCommandBuilder from '../build/ContextCommandBuilder.js';\nimport SlashCommandBuilder from '../build/SlashCommandBuilder.js';\nimport XernerxClient from '../client/XernerxClient.js';\nimport XernerxLog from '../tools/XernerxLog.js';\nimport XernerxError from '../tools/XernerxError.js';\n\nconst commands: Array<SlashCommandBuilder | ContextCommandBuilder | any> = [];\n\nexport default function deploy(client: XernerxClient) {\n client.prependOnceListener('ready', (client) => {\n if (client.commands.slash.size) client.commands.slash.map((command: SlashCommandBuilder | ContextCommandBuilder) => commands.push(command.data.toJSON()));\n if (client.commands.context.size) client.commands.context.map((command: SlashCommandBuilder | ContextCommandBuilder) => commands.push(command.data.toJSON()));\n\n if (commands.length <= 0) return;\n\n try {\n if (client.settings.global) {\n put(client, client.settings.global, commands);\n put(client, !client.settings.global, []);\n } else {\n put(client, !client.settings.global, commands);\n put(client, client.settings.global, []);\n }\n } catch (error) {\n new XernerxLog(client).error(`An error occurred while deploying the interaction commands!`, error);\n } finally {\n new XernerxLog(client).info(\n `Deployed ${[client.commands.message.size, client.commands.slash.size, client.commands.context.size].reduce((a, b) => (a += b))} Commands ${\n client.settings.global ? 'globally' : `locally in ${client.guilds.cache.get(client.settings.local).name}`\n }.`\n );\n }\n });\n}\n\nfunction put(client: XernerxClient, global: boolean, body: Array<object>) {\n const rest = new REST({ version: GatewayVersion }).setToken(client.token as string);\n\n if (!global && !client.settings?.local) throw new XernerxError(`No guild ID provided as local guild!`);\n\n if (!global && client.settings?.local) rest.put(Routes.applicationGuildCommands(client.user?.id as string, client.settings.local), { body });\n else rest.put(Routes.applicationCommands(client.user?.id as string), { body });\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/CommandHandler.ts"],"names":[],"mappings":"AAIA,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC3G,OAAO,OAAO,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"CommandHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/CommandHandler.ts"],"names":[],"mappings":"AAIA,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC3G,OAAO,OAAO,MAAM,cAAc,CAAC;AAcnC,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,OAAO;gBACnC,MAAM,EAAE,aAAa;IAI1B,mBAAmB,CAAC,OAAO,EAAE,qBAAqB;IA2DlD,iBAAiB,CAAC,OAAO,EAAE,mBAAmB;IA2C9C,mBAAmB,CAAC,OAAO,EAAE,qBAAqB;YA4C3C,iBAAiB;YAuGjB,eAAe;YA+Bf,iBAAiB;YAoBjB,IAAI;CAoBrB"}
|
|
@@ -8,7 +8,6 @@ import InteractionUtil from '../utils/InteractionUtil.js';
|
|
|
8
8
|
import commandValidation from '../validators/commandValidation.js';
|
|
9
9
|
import XernerxLog from '../tools/XernerxLog.js';
|
|
10
10
|
import { interactionArguments, messageArguments } from '../models/Arguments.js';
|
|
11
|
-
import deploy from '../functions/deploy.js';
|
|
12
11
|
import { inhibitorValidation } from '../validators/inhibitorValidations.js';
|
|
13
12
|
export default class CommandHandler extends Handler {
|
|
14
13
|
constructor(client) {
|
|
@@ -92,7 +91,6 @@ export default class CommandHandler extends Handler {
|
|
|
92
91
|
this.load(filePath, 'SlashCommand');
|
|
93
92
|
}
|
|
94
93
|
new XernerxLog(this.client).info(`Loaded ${files.length} Slash Commands.`);
|
|
95
|
-
deploy(this.client, 'slash');
|
|
96
94
|
this.emit({
|
|
97
95
|
name: 'interactionCreate',
|
|
98
96
|
fileType: 'SlashCommand',
|
|
@@ -129,7 +127,6 @@ export default class CommandHandler extends Handler {
|
|
|
129
127
|
this.load(filePath, 'ContextCommand');
|
|
130
128
|
}
|
|
131
129
|
new XernerxLog(this.client).info(`Loaded ${files.length} Context Commands.`);
|
|
132
|
-
deploy(this.client, 'context');
|
|
133
130
|
this.emit({
|
|
134
131
|
name: 'interactionCreate',
|
|
135
132
|
fileType: 'ContextCommand',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandHandler.js","sourceRoot":"","sources":["../../src/handlers/CommandHandler.ts"],"names":[],"mappings":"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","sourcesContent":["import { 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 ContextCommandBuilder from '../build/ContextCommandBuilder.js';\nimport MessageCommandBuilder from '../build/MessageCommandBuilder.js';\nimport SlashCommandBuilder from '../build/SlashCommandBuilder.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 deploy from '../functions/deploy.js';\nimport { inhibitorValidation } from '../validators/inhibitorValidations.js';\n\nexport default class CommandHandler extends Handler {\n constructor(client: XernerxClient) {\n super(client);\n }\n\n public loadMessageCommands(options: MessageHandlerOptions) {\n if (!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 if (!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 options = z\n .object({\n directory: z.string(),\n prefix: z.string().or(z.array(z.string())),\n allowMention: z.boolean().default(false),\n cooldown: z.number().default(0),\n permissions: z\n .object({\n user: z.array(z.string()).default([]),\n client: z.array(z.string()).default([]),\n dm: z.boolean().default(true),\n })\n .default({}),\n handleEdits: z.boolean().default(false),\n handleDeletes: z.boolean().default(false),\n handleTyping: z.boolean().default(false),\n logging: z.boolean().default(false),\n })\n .parse(options);\n\n this.client.modules.options.message = options;\n\n const files = this.readdir(options.directory);\n\n for (const file of files) {\n const filePath = `${path.resolve(options.directory)}\\\\${file}`;\n\n this.load(filePath, 'MessageCommand');\n }\n\n new XernerxLog(this.client).info(`Loaded ${files.length} Message Commands.`);\n\n this.emit({\n name: 'messageCreate',\n fileType: 'MessageCommand',\n run: (message: XernerxMessage) => this.messageCommandRun(message),\n });\n\n this.emit({\n name: 'messageUpdate',\n fileType: 'MessageCommand',\n run: (message: XernerxMessage, message2: XernerxMessage) => this.messageCommandRun(message, message2),\n });\n\n this.emit({\n name: 'messageDelete',\n fileType: 'MessageCommand',\n run: (message: XernerxMessage) => this.messageCommandRun(message, 'delete'),\n });\n }\n\n // public reloadMessageCommands() {\n // return reload(this.client, 'message');\n // }\n\n public loadSlashCommands(options: SlashHandlerOptions) {\n if (!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 options = z\n .object({\n directory: z.string(),\n cooldown: z.number().default(0),\n permissions: z\n .object({\n user: z.array(z.string()).default([]),\n client: z.array(z.string()).default([]),\n dm: z.boolean().default(true),\n })\n .default({}),\n logging: z.boolean().default(false),\n defer: z\n .object({\n reply: z.boolean().default(false),\n ephemeral: z.boolean().default(false),\n fetchReply: z.boolean().default(false),\n })\n .default({}),\n })\n .parse(options);\n\n this.client.modules.options.slash = options;\n\n const files = this.readdir(options.directory);\n\n for (const file of files) {\n const filePath = `${path.resolve(options.directory)}\\\\${file}`;\n\n this.load(filePath, 'SlashCommand');\n }\n\n new XernerxLog(this.client).info(`Loaded ${files.length} Slash Commands.`);\n\n deploy(this.client, 'slash');\n\n this.emit({\n name: 'interactionCreate',\n fileType: 'SlashCommand',\n run: (interaction: XernerxSlashInteraction) => this.slashCommandRun(interaction),\n });\n }\n public loadContextCommands(options: ContextHandlerOptions) {\n if (!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 options = z\n .object({\n directory: z.string(),\n cooldown: z.number().default(0),\n permissions: z\n .object({\n user: z.array(z.string()).default([]),\n client: z.array(z.string()).default([]),\n dm: z.boolean().default(true),\n })\n .default({}),\n logging: z.boolean().default(false),\n defer: z\n .object({\n reply: z.boolean().default(false),\n ephemeral: z.boolean().default(false),\n fetchReply: z.boolean().default(false),\n })\n .default({}),\n })\n .parse(options);\n\n this.client.modules.options.context = options;\n\n const files = this.readdir(options.directory);\n\n for (const file of files) {\n const filePath = `${path.resolve(options.directory)}\\\\${file}`;\n\n this.load(filePath, 'ContextCommand');\n }\n\n new XernerxLog(this.client).info(`Loaded ${files.length} Context Commands.`);\n\n deploy(this.client, 'context');\n\n this.emit({\n name: 'interactionCreate',\n fileType: 'ContextCommand',\n run: (interaction: XernerxMessageContextInteraction | XernerxUserContextInteraction) => this.contextCommandRun(interaction),\n });\n }\n\n private async messageCommandRun<T extends XernerxMessage>(message: T, message2?: T | 'delete') {\n const filetype = 'MessageCommand';\n\n if (message.author.bot) return;\n\n message.util = new MessageUtil(this.client, message);\n\n message.user = await xernerxUser(message, this.client);\n\n if (typeof message2 === 'object') message = message2;\n\n if (message2 === 'delete') {\n if (!this.client.cache.messages.has(message.id)) return;\n\n const id = this.client.cache.messages.get(message.id);\n\n if (!id) return;\n\n (async () => {\n const msg = await message.channel.messages.fetch(id);\n\n await msg.delete();\n\n this.client.cache.messages.delete(message.id);\n })();\n\n return;\n }\n\n if (message.content && this.client.modules.options.message) {\n const commands = this.client.commands.message;\n\n const prefixes = Array.isArray(this.client.modules.options.message.prefix) ? this.client.modules.options.message.prefix : [this.client.modules.options.message.prefix];\n\n let commandName: string | null = null,\n cmd,\n commandAlias: string | null = null,\n commandPrefix: string | null = null;\n\n commands.map((command) => {\n let prefix: string | null = null;\n\n if (command.regex && message.content.match(command.regex)) {\n const [match] = message.content.match(command.regex) || [null];\n\n if (match) commandName = command.name;\n }\n\n const cp = Array.isArray(command.prefix) ? command.prefix : [command.prefix as string];\n\n prefixes.map((p) => {\n if (message.content.startsWith(p)) prefix = p;\n });\n\n cp.map((p) => {\n if (message.content.startsWith(p)) prefix = p;\n });\n\n if (!prefix) return;\n\n if (!commandName)\n commandName =\n message.content\n .replace(prefix, '')\n .split(command.separator || / +/)\n .shift()\n ?.trim()\n ?.toLowerCase() || '';\n\n if (!this.client.commands.message.has(commandName) && command.aliases?.includes(commandName)) {\n commandAlias = commandName;\n\n commandName = command.name;\n }\n\n commandAlias = commandAlias ? commandAlias : commandName;\n\n commandPrefix = prefix;\n });\n\n if (!cmd && this.client.modules.options.message.allowMention) {\n if (message.mentions.users.has(this.client.user?.id as string) || message.mentions.repliedUser?.id === this.client.user?.id) {\n commandName = message.content.replace(`<@${this.client.user?.id}>`, '').trim().split(/ +/).shift()?.toLowerCase() || null;\n }\n }\n\n if (this.client.commands.message.has(commandName as string)) cmd = this.client.commands.message.get(commandName as string);\n\n if (await inhibitorValidation(message, cmd)) return;\n\n if (!cmd) return this.client.emit('commandNotFound', message, filetype);\n\n message.util.parsed = {\n alias: commandAlias,\n prefix: commandPrefix,\n };\n\n this.client.emit('commandStart', message, filetype);\n\n this.exec(cmd, message, await messageArguments(message, cmd), filetype);\n }\n }\n\n private async slashCommandRun<T extends Record<string, any>>(interaction: XernerxSlashInteraction) {\n const filetype = 'SlashCommand';\n\n interaction.util = new InteractionUtil(this.client, interaction);\n\n interaction.user = await xernerxUser(interaction, this.client);\n\n let cmd: SlashCommandBuilder | null | undefined = null;\n\n if (this.client.commands.slash.has(interaction.commandName)) cmd = this.client.commands.slash.get(interaction.commandName);\n\n if (await inhibitorValidation(interaction, cmd as SlashCommandBuilder)) return;\n\n if (!cmd) return this.client.emit('commandNotFound', interaction);\n\n new Promise(async (resolve) => {\n if (interaction.isAutocomplete()) {\n const focused = (interaction as T).options.getFocused(true);\n const options = (interaction as T).options;\n\n await (cmd as SlashCommandBuilder).autocomplete(interaction, focused, options);\n } else resolve(true);\n })\n .then(async () => {\n this.client.emit('commandStart', interaction, filetype);\n\n await this.exec(cmd as SlashCommandBuilder, interaction, await interactionArguments(interaction, cmd as SlashCommandBuilder), filetype);\n })\n .catch((error) => this.client.emit('commandError', interaction, error, filetype));\n }\n\n private async contextCommandRun(interaction: XernerxUserContextInteraction | XernerxMessageContextInteraction) {\n const filetype = 'ContextCommand';\n\n interaction.util = new InteractionUtil(this.client, interaction);\n\n interaction.user = await xernerxUser(interaction as XernerxUserContextInteraction, this.client);\n\n let cmd;\n\n if (this.client.commands.context.has(interaction.commandName)) cmd = this.client.commands.context.get(interaction.commandName);\n\n if (await inhibitorValidation(interaction, cmd)) return;\n\n if (!cmd) return this.client.emit('commandNotFound', interaction, filetype);\n\n this.client.emit('commandStart', interaction, filetype);\n\n return this.exec(cmd as unknown as SlashCommandBuilder, interaction, await interactionArguments(interaction, cmd), filetype);\n }\n\n private async exec(\n cmd: MessageCommandBuilder | SlashCommandBuilder | ContextCommandBuilder,\n event: XernerxMessage | XernerxSlashInteraction | XernerxMessageContextInteraction | XernerxUserContextInteraction,\n args: any,\n type: FileType\n ) {\n try {\n if (await commandValidation(event as XernerxMessage, cmd)) return;\n\n if (((cmd as MessageCommandBuilder).conditions as unknown) && (await ((cmd as MessageCommandBuilder).conditions(event as never, args) as unknown))) return;\n\n cmd.exec(event as never, args);\n\n this.client.emit('commandFinish', event, type);\n } catch (error) {\n new XernerxLog(this.client).error(`An error occurred executing ${cmd.name}`, error);\n\n this.client.emit('commandError', event, error, type);\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"CommandHandler.js","sourceRoot":"","sources":["../../src/handlers/CommandHandler.ts"],"names":[],"mappings":"AAAA,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;AAE5E,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,OAAO;IAC/C,YAAY,MAAqB;QAC7B,KAAK,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC;IAEM,mBAAmB,CAAC,OAA8B;QACrD,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;aACN,MAAM,CAAC;YACJ,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;iBACT,MAAM,CAAC;gBACJ,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;aAChC,CAAC;iBACD,OAAO,CAAC,EAAE,CAAC;YAChB,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;SACtC,CAAC;aACD,KAAK,CAAC,OAAO,CAAC,CAAC;QAEpB,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;YACtB,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;SACzC;QAED,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,MAAM,oBAAoB,CAAC,CAAC;QAE7E,IAAI,CAAC,IAAI,CAAC;YACN,IAAI,EAAE,eAAe;YACrB,QAAQ,EAAE,gBAAgB;YAC1B,GAAG,EAAE,CAAC,OAAuB,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC;SACpE,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC;YACN,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;SACxG,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC;YACN,IAAI,EAAE,eAAe;YACrB,QAAQ,EAAE,gBAAgB;YAC1B,GAAG,EAAE,CAAC,OAAuB,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC;SAC9E,CAAC,CAAC;IACP,CAAC;IAED,mCAAmC;IACnC,6CAA6C;IAC7C,IAAI;IAEG,iBAAiB,CAAC,OAA4B;QACjD,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;aACN,MAAM,CAAC;YACJ,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;YACrB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;YAC/B,WAAW,EAAE,CAAC;iBACT,MAAM,CAAC;gBACJ,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;aAChC,CAAC;iBACD,OAAO,CAAC,EAAE,CAAC;YAChB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;YACnC,KAAK,EAAE,CAAC;iBACH,MAAM,CAAC;gBACJ,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;aACzC,CAAC;iBACD,OAAO,CAAC,EAAE,CAAC;SACnB,CAAC;aACD,KAAK,CAAC,OAAO,CAAC,CAAC;QAEpB,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;YACtB,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;SACvC;QAED,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,MAAM,kBAAkB,CAAC,CAAC;QAE3E,IAAI,CAAC,IAAI,CAAC;YACN,IAAI,EAAE,mBAAmB;YACzB,QAAQ,EAAE,cAAc;YACxB,GAAG,EAAE,CAAC,WAAoC,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC;SACnF,CAAC,CAAC;IACP,CAAC;IACM,mBAAmB,CAAC,OAA8B;QACrD,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;aACN,MAAM,CAAC;YACJ,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;YACrB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;YAC/B,WAAW,EAAE,CAAC;iBACT,MAAM,CAAC;gBACJ,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;aAChC,CAAC;iBACD,OAAO,CAAC,EAAE,CAAC;YAChB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;YACnC,KAAK,EAAE,CAAC;iBACH,MAAM,CAAC;gBACJ,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;aACzC,CAAC;iBACD,OAAO,CAAC,EAAE,CAAC;SACnB,CAAC;aACD,KAAK,CAAC,OAAO,CAAC,CAAC;QAEpB,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;YACtB,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;SACzC;QAED,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,MAAM,oBAAoB,CAAC,CAAC;QAE7E,IAAI,CAAC,IAAI,CAAC;YACN,IAAI,EAAE,mBAAmB;YACzB,QAAQ,EAAE,gBAAgB;YAC1B,GAAG,EAAE,CAAC,WAA6E,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC;SAC9H,CAAC,CAAC;IACP,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAA2B,OAAU,EAAE,QAAuB;QACzF,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,EAAE;YACvB,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;gBACR,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;YAClD,CAAC,CAAC,EAAE,CAAC;YAEL,OAAO;SACV;QAED,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE;YACxD,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,EACjC,GAAG,EACH,YAAY,GAAkB,IAAI,EAClC,aAAa,GAAkB,IAAI,CAAC;YAExC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;gBACrB,IAAI,MAAM,GAAkB,IAAI,CAAC;gBAEjC,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;oBACvD,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;iBACzC;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;oBACf,IAAI,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;wBAAE,MAAM,GAAG,CAAC,CAAC;gBAClD,CAAC,CAAC,CAAC;gBAEH,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBACT,IAAI,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;wBAAE,MAAM,GAAG,CAAC,CAAC;gBAClD,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,MAAM;oBAAE,OAAO;gBAEpB,IAAI,CAAC,WAAW;oBACZ,WAAW;wBACP,OAAO,CAAC,OAAO;6BACV,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;gBAElC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC,EAAE;oBAC1F,YAAY,GAAG,WAAW,CAAC;oBAE3B,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;iBAC9B;gBAED,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC;gBAEzD,aAAa,GAAG,MAAM,CAAC;YAC3B,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE;gBAC1D,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;oBACzH,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;iBAC7H;aACJ;YAED,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,WAAqB,CAAC;gBAAE,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,WAAqB,CAAC,CAAC;YAE3H,IAAI,MAAM,mBAAmB,CAAC,OAAO,EAAE,GAAG,CAAC;gBAAE,OAAO;YAEpD,IAAI,CAAC,GAAG;gBAAE,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;YAExE,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG;gBAClB,KAAK,EAAE,YAAY;gBACnB,MAAM,EAAE,aAAa;aACxB,CAAC;YAEF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;YAEpD,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;SAC3E;IACL,CAAC;IAEO,KAAK,CAAC,eAAe,CAAgC,WAAoC;QAC7F,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;YAC1B,IAAI,WAAW,CAAC,cAAc,EAAE,EAAE;gBAC9B,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;aAClF;;gBAAM,OAAO,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC,CAAC;aACG,IAAI,CAAC,KAAK,IAAI,EAAE;YACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;YAExD,MAAM,IAAI,CAAC,IAAI,CAAC,GAA0B,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC,WAAW,EAAE,GAA0B,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC5I,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC1F,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,WAA6E;QACzG,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,IAAI,CAAC,IAAI,CAAC,GAAqC,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;IACjI,CAAC;IAEO,KAAK,CAAC,IAAI,CACd,GAAwE,EACxE,KAAkH,EAClH,IAAS,EACT,IAAc;QAEd,IAAI;YACA,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,GAAG,CAAC,IAAI,CAAC,KAAc,EAAE,IAAI,CAAC,CAAC;YAE/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;SAClD;QAAC,OAAO,KAAK,EAAE;YACZ,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,+BAA+B,GAAG,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;YAEpF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;SACxD;IACL,CAAC;CACJ","sourcesContent":["import { 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 ContextCommandBuilder from '../build/ContextCommandBuilder.js';\nimport MessageCommandBuilder from '../build/MessageCommandBuilder.js';\nimport SlashCommandBuilder from '../build/SlashCommandBuilder.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';\n\nexport default class CommandHandler extends Handler {\n constructor(client: XernerxClient) {\n super(client);\n }\n\n public loadMessageCommands(options: MessageHandlerOptions) {\n if (!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 if (!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 options = z\n .object({\n directory: z.string(),\n prefix: z.string().or(z.array(z.string())),\n allowMention: z.boolean().default(false),\n cooldown: z.number().default(0),\n permissions: z\n .object({\n user: z.array(z.string()).default([]),\n client: z.array(z.string()).default([]),\n dm: z.boolean().default(true),\n })\n .default({}),\n handleEdits: z.boolean().default(false),\n handleDeletes: z.boolean().default(false),\n handleTyping: z.boolean().default(false),\n logging: z.boolean().default(false),\n })\n .parse(options);\n\n this.client.modules.options.message = options;\n\n const files = this.readdir(options.directory);\n\n for (const file of files) {\n const filePath = `${path.resolve(options.directory)}\\\\${file}`;\n\n this.load(filePath, 'MessageCommand');\n }\n\n new XernerxLog(this.client).info(`Loaded ${files.length} Message Commands.`);\n\n this.emit({\n name: 'messageCreate',\n fileType: 'MessageCommand',\n run: (message: XernerxMessage) => this.messageCommandRun(message),\n });\n\n this.emit({\n name: 'messageUpdate',\n fileType: 'MessageCommand',\n run: (message: XernerxMessage, message2: XernerxMessage) => this.messageCommandRun(message, message2),\n });\n\n this.emit({\n name: 'messageDelete',\n fileType: 'MessageCommand',\n run: (message: XernerxMessage) => this.messageCommandRun(message, 'delete'),\n });\n }\n\n // public reloadMessageCommands() {\n // return reload(this.client, 'message');\n // }\n\n public loadSlashCommands(options: SlashHandlerOptions) {\n if (!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 options = z\n .object({\n directory: z.string(),\n cooldown: z.number().default(0),\n permissions: z\n .object({\n user: z.array(z.string()).default([]),\n client: z.array(z.string()).default([]),\n dm: z.boolean().default(true),\n })\n .default({}),\n logging: z.boolean().default(false),\n defer: z\n .object({\n reply: z.boolean().default(false),\n ephemeral: z.boolean().default(false),\n fetchReply: z.boolean().default(false),\n })\n .default({}),\n })\n .parse(options);\n\n this.client.modules.options.slash = options;\n\n const files = this.readdir(options.directory);\n\n for (const file of files) {\n const filePath = `${path.resolve(options.directory)}\\\\${file}`;\n\n this.load(filePath, 'SlashCommand');\n }\n\n new XernerxLog(this.client).info(`Loaded ${files.length} Slash Commands.`);\n\n this.emit({\n name: 'interactionCreate',\n fileType: 'SlashCommand',\n run: (interaction: XernerxSlashInteraction) => this.slashCommandRun(interaction),\n });\n }\n public loadContextCommands(options: ContextHandlerOptions) {\n if (!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 options = z\n .object({\n directory: z.string(),\n cooldown: z.number().default(0),\n permissions: z\n .object({\n user: z.array(z.string()).default([]),\n client: z.array(z.string()).default([]),\n dm: z.boolean().default(true),\n })\n .default({}),\n logging: z.boolean().default(false),\n defer: z\n .object({\n reply: z.boolean().default(false),\n ephemeral: z.boolean().default(false),\n fetchReply: z.boolean().default(false),\n })\n .default({}),\n })\n .parse(options);\n\n this.client.modules.options.context = options;\n\n const files = this.readdir(options.directory);\n\n for (const file of files) {\n const filePath = `${path.resolve(options.directory)}\\\\${file}`;\n\n this.load(filePath, 'ContextCommand');\n }\n\n new XernerxLog(this.client).info(`Loaded ${files.length} Context Commands.`);\n\n this.emit({\n name: 'interactionCreate',\n fileType: 'ContextCommand',\n run: (interaction: XernerxMessageContextInteraction | XernerxUserContextInteraction) => this.contextCommandRun(interaction),\n });\n }\n\n private async messageCommandRun<T extends XernerxMessage>(message: T, message2?: T | 'delete') {\n const filetype = 'MessageCommand';\n\n if (message.author.bot) return;\n\n message.util = new MessageUtil(this.client, message);\n\n message.user = await xernerxUser(message, this.client);\n\n if (typeof message2 === 'object') message = message2;\n\n if (message2 === 'delete') {\n if (!this.client.cache.messages.has(message.id)) return;\n\n const id = this.client.cache.messages.get(message.id);\n\n if (!id) return;\n\n (async () => {\n const msg = await message.channel.messages.fetch(id);\n\n await msg.delete();\n\n this.client.cache.messages.delete(message.id);\n })();\n\n return;\n }\n\n if (message.content && this.client.modules.options.message) {\n const commands = this.client.commands.message;\n\n const prefixes = Array.isArray(this.client.modules.options.message.prefix) ? this.client.modules.options.message.prefix : [this.client.modules.options.message.prefix];\n\n let commandName: string | null = null,\n cmd,\n commandAlias: string | null = null,\n commandPrefix: string | null = null;\n\n commands.map((command) => {\n let prefix: string | null = null;\n\n if (command.regex && message.content.match(command.regex)) {\n const [match] = message.content.match(command.regex) || [null];\n\n if (match) commandName = command.name;\n }\n\n const cp = Array.isArray(command.prefix) ? command.prefix : [command.prefix as string];\n\n prefixes.map((p) => {\n if (message.content.startsWith(p)) prefix = p;\n });\n\n cp.map((p) => {\n if (message.content.startsWith(p)) prefix = p;\n });\n\n if (!prefix) return;\n\n if (!commandName)\n commandName =\n message.content\n .replace(prefix, '')\n .split(command.separator || / +/)\n .shift()\n ?.trim()\n ?.toLowerCase() || '';\n\n if (!this.client.commands.message.has(commandName) && command.aliases?.includes(commandName)) {\n commandAlias = commandName;\n\n commandName = command.name;\n }\n\n commandAlias = commandAlias ? commandAlias : commandName;\n\n commandPrefix = prefix;\n });\n\n if (!cmd && this.client.modules.options.message.allowMention) {\n if (message.mentions.users.has(this.client.user?.id as string) || message.mentions.repliedUser?.id === this.client.user?.id) {\n commandName = message.content.replace(`<@${this.client.user?.id}>`, '').trim().split(/ +/).shift()?.toLowerCase() || null;\n }\n }\n\n if (this.client.commands.message.has(commandName as string)) cmd = this.client.commands.message.get(commandName as string);\n\n if (await inhibitorValidation(message, cmd)) return;\n\n if (!cmd) return this.client.emit('commandNotFound', message, filetype);\n\n message.util.parsed = {\n alias: commandAlias,\n prefix: commandPrefix,\n };\n\n this.client.emit('commandStart', message, filetype);\n\n this.exec(cmd, message, await messageArguments(message, cmd), filetype);\n }\n }\n\n private async slashCommandRun<T extends Record<string, any>>(interaction: XernerxSlashInteraction) {\n const filetype = 'SlashCommand';\n\n interaction.util = new InteractionUtil(this.client, interaction);\n\n interaction.user = await xernerxUser(interaction, this.client);\n\n let cmd: SlashCommandBuilder | null | undefined = null;\n\n if (this.client.commands.slash.has(interaction.commandName)) cmd = this.client.commands.slash.get(interaction.commandName);\n\n if (await inhibitorValidation(interaction, cmd as SlashCommandBuilder)) return;\n\n if (!cmd) return this.client.emit('commandNotFound', interaction);\n\n new Promise(async (resolve) => {\n if (interaction.isAutocomplete()) {\n const focused = (interaction as T).options.getFocused(true);\n const options = (interaction as T).options;\n\n await (cmd as SlashCommandBuilder).autocomplete(interaction, focused, options);\n } else resolve(true);\n })\n .then(async () => {\n this.client.emit('commandStart', interaction, filetype);\n\n await this.exec(cmd as SlashCommandBuilder, interaction, await interactionArguments(interaction, cmd as SlashCommandBuilder), filetype);\n })\n .catch((error) => this.client.emit('commandError', interaction, error, filetype));\n }\n\n private async contextCommandRun(interaction: XernerxUserContextInteraction | XernerxMessageContextInteraction) {\n const filetype = 'ContextCommand';\n\n interaction.util = new InteractionUtil(this.client, interaction);\n\n interaction.user = await xernerxUser(interaction as XernerxUserContextInteraction, this.client);\n\n let cmd;\n\n if (this.client.commands.context.has(interaction.commandName)) cmd = this.client.commands.context.get(interaction.commandName);\n\n if (await inhibitorValidation(interaction, cmd)) return;\n\n if (!cmd) return this.client.emit('commandNotFound', interaction, filetype);\n\n this.client.emit('commandStart', interaction, filetype);\n\n return this.exec(cmd as unknown as SlashCommandBuilder, interaction, await interactionArguments(interaction, cmd), filetype);\n }\n\n private async exec(\n cmd: MessageCommandBuilder | SlashCommandBuilder | ContextCommandBuilder,\n event: XernerxMessage | XernerxSlashInteraction | XernerxMessageContextInteraction | XernerxUserContextInteraction,\n args: any,\n type: FileType\n ) {\n try {\n if (await commandValidation(event as XernerxMessage, cmd)) return;\n\n if (((cmd as MessageCommandBuilder).conditions as unknown) && (await ((cmd as MessageCommandBuilder).conditions(event as never, args) as unknown))) return;\n\n cmd.exec(event as never, args);\n\n this.client.emit('commandFinish', event, type);\n } catch (error) {\n new XernerxLog(this.client).error(`An error occurred executing ${cmd.name}`, error);\n\n this.client.emit('commandError', event, error, type);\n }\n }\n}\n"]}
|
|
@@ -216,9 +216,9 @@ export interface SlashCommandArguments {
|
|
|
216
216
|
}
|
|
217
217
|
export interface EventBuilderOptions {
|
|
218
218
|
name: EventType;
|
|
219
|
-
emitter
|
|
220
|
-
type
|
|
221
|
-
once
|
|
219
|
+
emitter?: 'client' | 'process';
|
|
220
|
+
type?: 'discord' | 'node';
|
|
221
|
+
once?: boolean;
|
|
222
222
|
}
|
|
223
223
|
export interface InhibitorBuilderOptions {
|
|
224
224
|
name: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/types/interfaces.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/types/interfaces.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/types/interfaces.ts"],"names":[],"mappings":"","sourcesContent":["import { ActivityType, ChannelType, Collection, PresenceStatusData } from 'discord.js';\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 ContextCommandBuilder from '../build/ContextCommandBuilder.js';\nimport MessageCommandBuilder from '../build/MessageCommandBuilder.js';\nimport SlashCommandBuilder from '../build/SlashCommandBuilder.js';\nimport { Locales, MessageCommandArgumentType, PermissionNames, SlashCommandArgumentType, EventType, InhibitorType } from './types.js';\nimport ExtensionHandler from '../handlers/ExtensionHandler.js';\nimport { XernerxMessage, XernerxUser } from './extenders.js';\n\nexport interface XernerxOptions {\n local?: string;\n global?: boolean;\n ownerId?: string | Array<string>;\n permissions?: {\n client?: Array<string>;\n user?: Array<string>;\n dm?: boolean;\n };\n ignore?: {\n owner?: boolean;\n users?: Array<string>;\n channels?: Array<string>;\n guilds?: Array<string>;\n };\n log?: {\n ready?: boolean;\n info?: boolean;\n error?: boolean;\n table?: Array<'name' | 'aliases' | 'description' | 'fileType' | 'category'>;\n };\n cooldown?: {\n command?: number;\n cache?: number;\n };\n}\n\nexport interface ModuleOptions {\n options: {\n message?: MessageHandlerOptions;\n slash?: SlashHandlerOptions;\n context?: ContextHandlerOptions;\n events?: EventHandlerOptions;\n inhibitors?: InhibitorHandlerOptions;\n };\n commandHandler: CommandHandler;\n eventHandler: EventHandler;\n inhibitorHandler: InhibitorHandler;\n webhookHandler: WebhookHandler;\n extensionHandler: ExtensionHandler;\n}\n\nexport interface XernerxCommands {\n message: Collection<string, MessageCommandBuilder>;\n slash: Collection<string, SlashCommandBuilder>;\n context: Collection<string, ContextCommandBuilder>;\n}\n\nexport interface DBLOptions {\n topgg: {\n token: string;\n };\n dbl: {\n token: string;\n };\n config: {\n emits: boolean;\n logs: boolean;\n };\n}\n\nexport interface XernerxCache {\n messages: Collection<string, string>;\n cooldowns: Collection<\n string,\n {\n id: string;\n command: string;\n createdTimestamp: number;\n }\n >;\n}\n\ninterface CommandHandlerOptions {\n directory: string;\n cooldown?: number;\n permissions?: {\n user?: Array<string>;\n client?: Array<string>;\n dm?: boolean;\n };\n logging?: boolean;\n}\n\nexport interface MessageHandlerOptions extends CommandHandlerOptions {\n prefix: string | Array<string>;\n allowMention?: boolean;\n handleEdits?: boolean;\n handleDeletes?: boolean;\n handleTyping?: boolean;\n}\nexport interface SlashHandlerOptions extends CommandHandlerOptions {\n defer?: {\n reply?: boolean;\n ephemeral?: boolean;\n fetchReply?: boolean;\n };\n}\nexport interface ContextHandlerOptions extends CommandHandlerOptions {\n defer?: {\n reply?: boolean;\n ephemeral?: boolean;\n fetchReply?: boolean;\n };\n}\n\nexport interface EventHandlerOptions {\n directory: string;\n}\n\nexport interface InhibitorHandlerOptions {\n directory: string;\n}\n\ninterface CommandOptions {\n name: string;\n description?: string | null;\n usage?: string | null;\n info?: string | null;\n category?: string | null;\n cooldown?: number | null;\n ignore?: {\n owner?: boolean;\n users?: Array<string>;\n channels?: Array<string>;\n guilds?: Array<string>;\n };\n strict?: {\n owner?: boolean;\n users?: Array<string>;\n channels?: Array<string>;\n guilds?: Array<string>;\n };\n permissions?: {\n user?: Array<PermissionNames> | Array<string>;\n client?: Array<PermissionNames> | Array<string>;\n dm?: boolean;\n };\n}\n\nexport interface MessageCommandOptions extends CommandOptions {\n aliases?: Array<string>;\n separator?: string;\n prefix?: Array<string> | string;\n regex?: RegExp;\n channelType?: Array<ChannelType>;\n args?: Array<MessageCommandArgumentOptions>;\n flags?: Array<MessageCommandFlagOptions>;\n}\n\nexport interface MessageCommandArgumentOptions {\n type: MessageCommandArgumentType;\n name: string;\n content?: Array<string>;\n match?: string | Array<string>;\n description?: string;\n default?: string | Function;\n separator?: string | RegExp;\n prompt?: {\n reply?: string;\n send?: string;\n };\n}\n\nexport interface MessageCommandFlagOptions {\n name: string;\n match: string;\n}\n\nexport interface MessageCommandArguments {\n args: Record<string, unknown> | null;\n flags: Record<string, boolean> | null;\n}\n\nexport interface SlashCommandOptions extends CommandOptions {\n description: string;\n nameLocalizations?: Record<Locales, string | null> | null;\n descriptionLocalizations?: Record<Locales, string | null> | null;\n defer?: {\n reply?: boolean;\n ephemeral?: boolean;\n fetchReply?: boolean;\n };\n args?: Array<SlashCommandArgumentOptions>;\n subcommands?: Array<SlashCommandSubcommandOptions>;\n groups?: Array<SlashCommandGroupOptions>;\n}\nexport interface ContextCommandOptions extends CommandOptions {\n type: 'user' | 'message';\n nameLocalizations?: Record<Locales, string | null> | null;\n defer?: {\n reply?: boolean;\n ephemeral?: boolean;\n fetchReply?: boolean;\n };\n}\n\nexport interface SlashCommandArgumentOptions {\n type: SlashCommandArgumentType;\n name: string;\n description: string;\n required?: boolean;\n autocomplete?: boolean;\n choices?: Array<Record<string, string>>;\n}\n\nexport interface SlashCommandSubcommandOptions {\n name: string;\n description: string;\n args?: Array<SlashCommandArgumentOptions>;\n}\n\nexport interface SlashCommandGroupOptions {\n name: string;\n description: string;\n subcommands: Array<SlashCommandSubcommandOptions>;\n}\n\nexport interface SlashCommandArguments {\n args: Record<string, string>;\n subcommand: string;\n group: string;\n}\n\nexport interface EventBuilderOptions {\n name: EventType;\n emitter
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/types/interfaces.ts"],"names":[],"mappings":"","sourcesContent":["import { ActivityType, ChannelType, Collection, PresenceStatusData } from 'discord.js';\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 ContextCommandBuilder from '../build/ContextCommandBuilder.js';\nimport MessageCommandBuilder from '../build/MessageCommandBuilder.js';\nimport SlashCommandBuilder from '../build/SlashCommandBuilder.js';\nimport { Locales, MessageCommandArgumentType, PermissionNames, SlashCommandArgumentType, EventType, InhibitorType } from './types.js';\nimport ExtensionHandler from '../handlers/ExtensionHandler.js';\nimport { XernerxMessage, XernerxUser } from './extenders.js';\n\nexport interface XernerxOptions {\n local?: string;\n global?: boolean;\n ownerId?: string | Array<string>;\n permissions?: {\n client?: Array<string>;\n user?: Array<string>;\n dm?: boolean;\n };\n ignore?: {\n owner?: boolean;\n users?: Array<string>;\n channels?: Array<string>;\n guilds?: Array<string>;\n };\n log?: {\n ready?: boolean;\n info?: boolean;\n error?: boolean;\n table?: Array<'name' | 'aliases' | 'description' | 'fileType' | 'category'>;\n };\n cooldown?: {\n command?: number;\n cache?: number;\n };\n}\n\nexport interface ModuleOptions {\n options: {\n message?: MessageHandlerOptions;\n slash?: SlashHandlerOptions;\n context?: ContextHandlerOptions;\n events?: EventHandlerOptions;\n inhibitors?: InhibitorHandlerOptions;\n };\n commandHandler: CommandHandler;\n eventHandler: EventHandler;\n inhibitorHandler: InhibitorHandler;\n webhookHandler: WebhookHandler;\n extensionHandler: ExtensionHandler;\n}\n\nexport interface XernerxCommands {\n message: Collection<string, MessageCommandBuilder>;\n slash: Collection<string, SlashCommandBuilder>;\n context: Collection<string, ContextCommandBuilder>;\n}\n\nexport interface DBLOptions {\n topgg: {\n token: string;\n };\n dbl: {\n token: string;\n };\n config: {\n emits: boolean;\n logs: boolean;\n };\n}\n\nexport interface XernerxCache {\n messages: Collection<string, string>;\n cooldowns: Collection<\n string,\n {\n id: string;\n command: string;\n createdTimestamp: number;\n }\n >;\n}\n\ninterface CommandHandlerOptions {\n directory: string;\n cooldown?: number;\n permissions?: {\n user?: Array<string>;\n client?: Array<string>;\n dm?: boolean;\n };\n logging?: boolean;\n}\n\nexport interface MessageHandlerOptions extends CommandHandlerOptions {\n prefix: string | Array<string>;\n allowMention?: boolean;\n handleEdits?: boolean;\n handleDeletes?: boolean;\n handleTyping?: boolean;\n}\nexport interface SlashHandlerOptions extends CommandHandlerOptions {\n defer?: {\n reply?: boolean;\n ephemeral?: boolean;\n fetchReply?: boolean;\n };\n}\nexport interface ContextHandlerOptions extends CommandHandlerOptions {\n defer?: {\n reply?: boolean;\n ephemeral?: boolean;\n fetchReply?: boolean;\n };\n}\n\nexport interface EventHandlerOptions {\n directory: string;\n}\n\nexport interface InhibitorHandlerOptions {\n directory: string;\n}\n\ninterface CommandOptions {\n name: string;\n description?: string | null;\n usage?: string | null;\n info?: string | null;\n category?: string | null;\n cooldown?: number | null;\n ignore?: {\n owner?: boolean;\n users?: Array<string>;\n channels?: Array<string>;\n guilds?: Array<string>;\n };\n strict?: {\n owner?: boolean;\n users?: Array<string>;\n channels?: Array<string>;\n guilds?: Array<string>;\n };\n permissions?: {\n user?: Array<PermissionNames> | Array<string>;\n client?: Array<PermissionNames> | Array<string>;\n dm?: boolean;\n };\n}\n\nexport interface MessageCommandOptions extends CommandOptions {\n aliases?: Array<string>;\n separator?: string;\n prefix?: Array<string> | string;\n regex?: RegExp;\n channelType?: Array<ChannelType>;\n args?: Array<MessageCommandArgumentOptions>;\n flags?: Array<MessageCommandFlagOptions>;\n}\n\nexport interface MessageCommandArgumentOptions {\n type: MessageCommandArgumentType;\n name: string;\n content?: Array<string>;\n match?: string | Array<string>;\n description?: string;\n default?: string | Function;\n separator?: string | RegExp;\n prompt?: {\n reply?: string;\n send?: string;\n };\n}\n\nexport interface MessageCommandFlagOptions {\n name: string;\n match: string;\n}\n\nexport interface MessageCommandArguments {\n args: Record<string, unknown> | null;\n flags: Record<string, boolean> | null;\n}\n\nexport interface SlashCommandOptions extends CommandOptions {\n description: string;\n nameLocalizations?: Record<Locales, string | null> | null;\n descriptionLocalizations?: Record<Locales, string | null> | null;\n defer?: {\n reply?: boolean;\n ephemeral?: boolean;\n fetchReply?: boolean;\n };\n args?: Array<SlashCommandArgumentOptions>;\n subcommands?: Array<SlashCommandSubcommandOptions>;\n groups?: Array<SlashCommandGroupOptions>;\n}\nexport interface ContextCommandOptions extends CommandOptions {\n type: 'user' | 'message';\n nameLocalizations?: Record<Locales, string | null> | null;\n defer?: {\n reply?: boolean;\n ephemeral?: boolean;\n fetchReply?: boolean;\n };\n}\n\nexport interface SlashCommandArgumentOptions {\n type: SlashCommandArgumentType;\n name: string;\n description: string;\n required?: boolean;\n autocomplete?: boolean;\n choices?: Array<Record<string, string>>;\n}\n\nexport interface SlashCommandSubcommandOptions {\n name: string;\n description: string;\n args?: Array<SlashCommandArgumentOptions>;\n}\n\nexport interface SlashCommandGroupOptions {\n name: string;\n description: string;\n subcommands: Array<SlashCommandSubcommandOptions>;\n}\n\nexport interface SlashCommandArguments {\n args: Record<string, string>;\n subcommand: string;\n group: string;\n}\n\nexport interface EventBuilderOptions {\n name: EventType;\n emitter?: 'client' | 'process';\n type?: 'discord' | 'node';\n once?: boolean;\n}\n\nexport interface InhibitorBuilderOptions {\n name: string;\n type: InhibitorType;\n}\n\nexport interface PresenceOptions {\n text: string;\n type?: ActivityType.Playing | ActivityType.Streaming | ActivityType.Listening | ActivityType.Watching | ActivityType.Competing;\n url: string;\n status?: PresenceStatusData;\n interval?: number;\n}\n\nexport type ContextCommandArguments<T extends 'user' | 'message'> = T extends 'user' ? XernerxUser : XernerxMessage;\n"]}
|