xernerx 4.6.3 → 4.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/build/ContextCommandBuilder.d.ts +43 -0
- package/dist/build/ContextCommandBuilder.d.ts.map +1 -0
- package/dist/build/ContextCommandBuilder.js +68 -0
- package/dist/build/ContextCommandBuilder.js.map +1 -0
- package/dist/build/EventBuilder.d.ts +25 -0
- package/dist/build/EventBuilder.d.ts.map +1 -0
- package/dist/build/EventBuilder.js +30 -0
- package/dist/build/EventBuilder.js.map +1 -0
- package/dist/build/InhibitorBuilder.d.ts +20 -0
- package/dist/build/InhibitorBuilder.d.ts.map +1 -0
- package/dist/build/InhibitorBuilder.js +21 -0
- package/dist/build/InhibitorBuilder.js.map +1 -0
- package/dist/build/MessageCommandBuilder.d.ts +42 -0
- package/dist/build/MessageCommandBuilder.d.ts.map +1 -0
- package/dist/build/MessageCommandBuilder.js +61 -0
- package/dist/build/MessageCommandBuilder.js.map +1 -0
- package/dist/build/SlashCommandBuilder.d.ts +48 -0
- package/dist/build/SlashCommandBuilder.d.ts.map +1 -0
- package/dist/build/SlashCommandBuilder.js +114 -0
- package/dist/build/SlashCommandBuilder.js.map +1 -0
- package/dist/build/XernerxContextCommand.d.ts +2 -2
- package/dist/build/XernerxContextCommand.js +2 -2
- package/dist/build/XernerxInhibitor.d.ts +2 -0
- package/dist/build/XernerxInhibitor.js +3 -5
- package/dist/build/XernerxMessageCommand.d.ts +2 -2
- package/dist/build/XernerxMessageCommand.js +2 -2
- package/dist/build/XernerxSlashCommand.d.ts +2 -2
- package/dist/build/XernerxSlashCommand.js +2 -2
- package/dist/client/XernerxClient.d.ts +11 -8
- package/dist/client/XernerxClient.d.ts.map +1 -0
- package/dist/client/XernerxClient.js +5 -2
- package/dist/client/XernerxClient.js.map +1 -0
- package/dist/client/XernerxShardClient.d.ts.map +1 -0
- package/dist/client/XernerxShardClient.js.map +1 -0
- package/dist/functions/delay.d.ts +2 -0
- package/dist/functions/delay.d.ts.map +1 -0
- package/dist/functions/delay.js +4 -0
- package/dist/functions/delay.js.map +1 -0
- package/dist/functions/deploy.d.ts.map +1 -0
- package/dist/functions/deploy.js.map +1 -0
- package/dist/functions/isOwner.d.ts +4 -0
- package/dist/functions/isOwner.d.ts.map +1 -0
- package/dist/functions/isOwner.js +4 -0
- package/dist/functions/isOwner.js.map +1 -0
- package/dist/functions/isVoter.d.ts +4 -0
- package/dist/functions/isVoter.d.ts.map +1 -0
- package/dist/functions/isVoter.js +6 -0
- package/dist/functions/isVoter.js.map +1 -0
- package/dist/functions/load.d.ts.map +1 -0
- package/dist/functions/load.js.map +1 -0
- package/dist/functions/reload.d.ts.map +1 -0
- package/dist/functions/reload.js.map +1 -0
- package/dist/functions/sendWebhook.d.ts.map +1 -0
- package/dist/functions/sendWebhook.js.map +1 -0
- package/dist/functions/setPresence.d.ts.map +1 -0
- package/dist/functions/setPresence.js.map +1 -0
- package/dist/functions/xernerxUser.d.ts.map +1 -0
- package/dist/functions/xernerxUser.js.map +1 -0
- package/dist/handlers/CommandHandler.d.ts.map +1 -0
- package/dist/handlers/CommandHandler.js +14 -7
- package/dist/handlers/CommandHandler.js.map +1 -0
- package/dist/handlers/EventHandler.d.ts.map +1 -0
- package/dist/handlers/EventHandler.js.map +1 -0
- package/dist/handlers/ExtensionHandler.d.ts.map +1 -0
- package/dist/handlers/ExtensionHandler.js.map +1 -0
- package/dist/handlers/Handler.d.ts +1 -1
- package/dist/handlers/Handler.d.ts.map +1 -0
- package/dist/handlers/Handler.js.map +1 -0
- package/dist/handlers/InhibitorHandler.d.ts.map +1 -0
- package/dist/handlers/InhibitorHandler.js.map +1 -0
- package/dist/handlers/WebhookHandler.d.ts.map +1 -0
- package/dist/handlers/WebhookHandler.js.map +1 -0
- package/dist/main.d.ts +2 -5
- package/dist/main.d.ts.map +1 -0
- package/dist/main.js +2 -24
- package/dist/main.js.map +1 -0
- package/dist/models/Arguments.d.ts.map +1 -0
- package/dist/models/Arguments.js.map +1 -0
- package/dist/models/Cooldowns.d.ts +11 -0
- package/dist/models/Cooldowns.js +33 -0
- package/dist/tools/XernerxError.d.ts.map +1 -0
- package/dist/tools/XernerxError.js.map +1 -0
- package/dist/tools/XernerxIntents.d.ts +5 -0
- package/dist/tools/XernerxIntents.js +24 -0
- package/dist/tools/XernerxLog.d.ts.map +1 -0
- package/dist/tools/XernerxLog.js +0 -1
- package/dist/tools/XernerxLog.js.map +1 -0
- package/dist/types/extenders.d.ts +8 -5
- package/dist/types/extenders.d.ts.map +1 -0
- package/dist/types/extenders.js.map +1 -0
- package/dist/types/interfaces.d.ts +7 -6
- package/dist/types/interfaces.d.ts.map +1 -0
- package/dist/types/interfaces.js.map +1 -0
- package/dist/types/types.d.ts +1 -1
- package/dist/types/types.d.ts.map +1 -0
- package/dist/types/types.js.map +1 -0
- package/dist/utils/ClientUtil.d.ts.map +1 -0
- package/dist/utils/ClientUtil.js.map +1 -0
- package/dist/utils/InteractionUtil.d.ts.map +1 -0
- package/dist/utils/InteractionUtil.js.map +1 -0
- package/dist/utils/MessageUtil.d.ts.map +1 -0
- package/dist/utils/MessageUtil.js.map +1 -0
- package/dist/utils/Util.d.ts +1 -1
- package/dist/utils/Util.d.ts.map +1 -0
- package/dist/utils/Util.js.map +1 -0
- package/dist/validators/commandValidation.d.ts.map +1 -0
- package/dist/validators/commandValidation.js +91 -25
- package/dist/validators/commandValidation.js.map +1 -0
- package/dist/validators/inhibitorValidations.d.ts +2 -2
- package/dist/validators/inhibitorValidations.d.ts.map +1 -0
- package/dist/validators/inhibitorValidations.js +18 -9
- package/dist/validators/inhibitorValidations.js.map +1 -0
- package/package.json +2 -2
package/dist/main.js
CHANGED
|
@@ -10,6 +10,7 @@ import XernerxContextCommand from './build/XernerxContextCommand.js';
|
|
|
10
10
|
import XernerxEvent from './build/XernerxEvent.js';
|
|
11
11
|
import XernerxInhibitor from './build/XernerxInhibitor.js';
|
|
12
12
|
import XernerxLog from './tools/XernerxLog.js';
|
|
13
|
+
export { XernerxIntents as XernerxIntents } from './tools/XernerxIntents.js';
|
|
13
14
|
export * from 'discord.js';
|
|
14
15
|
export * from 'dumfunctions';
|
|
15
16
|
import XernerxExtension from 'xernerx-extension-builder';
|
|
@@ -17,29 +18,6 @@ export * from './types/types.js';
|
|
|
17
18
|
export * from './types/extenders.js';
|
|
18
19
|
export * from './types/interfaces.js';
|
|
19
20
|
import Discord from 'discord.js';
|
|
20
|
-
const XernerxIntents = {
|
|
21
|
-
Default: [
|
|
22
|
-
'Guilds',
|
|
23
|
-
'GuildModeration',
|
|
24
|
-
'GuildBans',
|
|
25
|
-
'GuildEmojisAndStickers',
|
|
26
|
-
'GuildIntegrations',
|
|
27
|
-
'GuildWebhooks',
|
|
28
|
-
'GuildInvites',
|
|
29
|
-
'GuildVoiceStates',
|
|
30
|
-
'GuildMessages',
|
|
31
|
-
'GuildMessageReactions',
|
|
32
|
-
'GuildMessageTyping',
|
|
33
|
-
'DirectMessages',
|
|
34
|
-
'DirectMessageReactions',
|
|
35
|
-
'DirectMessageTyping',
|
|
36
|
-
'GuildScheduledEvents',
|
|
37
|
-
'AutoModerationConfiguration',
|
|
38
|
-
'AutoModerationExecution',
|
|
39
|
-
],
|
|
40
|
-
All: [''],
|
|
41
|
-
};
|
|
42
|
-
XernerxIntents.All = [...XernerxIntents.Default, 'GuildMembers', 'GuildPresences', 'MessageContent'];
|
|
43
21
|
export default XernerxClient;
|
|
44
22
|
export {
|
|
45
23
|
/**
|
|
@@ -61,4 +39,4 @@ version,
|
|
|
61
39
|
/**
|
|
62
40
|
** Tools
|
|
63
41
|
*/
|
|
64
|
-
XernerxLog,
|
|
42
|
+
XernerxLog, };
|
package/dist/main.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,OAAO,aAAa,MAAM,2BAA2B,CAAC;AACtD,OAAO,kBAAkB,MAAM,gCAAgC,CAAC;AAChE,OAAO,qBAAqB,MAAM,kCAAkC,CAAC;AACrE,OAAO,mBAAmB,MAAM,gCAAgC,CAAC;AACjE,OAAO,qBAAqB,MAAM,kCAAkC,CAAC;AACrE,OAAO,YAAY,MAAM,yBAAyB,CAAC;AACnD,OAAO,gBAAgB,MAAM,6BAA6B,CAAC;AAC3D,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAE/C,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,OAAO,gBAAgB,MAAM,2BAA2B,CAAC;AAEzD,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AAEtC,OAAO,OAAO,MAAM,YAAY,CAAC;AAEjC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,mCAAmC,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;AAElG,eAAe,aAAa,CAAC;AAE7B,OAAO;AACH;;GAEG;AACH,aAAa,EACb,kBAAkB;AAElB;;GAEG;AACH,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,YAAY,EACZ,gBAAgB,EAChB,gBAAgB;AAEhB;;GAEG;AACH,OAAO;AAEP;;GAEG;AACH,OAAO;AAEP;;GAEG;AACH,UAAU,GACb,CAAC","sourcesContent":["import * as fs from 'fs';\n\nimport XernerxClient from './client/XernerxClient.js';\nimport XernerxShardClient from './client/XernerxShardClient.js';\nimport MessageCommandBuilder from './build/MessageCommandBuilder.js';\nimport SlashCommandBuilder from './build/SlashCommandBuilder.js';\nimport ContextCommandBuilder from './build/ContextCommandBuilder.js';\nimport EventBuilder from './build/EventBuilder.js';\nimport InhibitorBuilder from './build/InhibitorBuilder.js';\nimport XernerxLog from './tools/XernerxLog.js';\n\nexport * from 'discord.js';\nexport * from 'dumfunctions';\nimport ExtensionBuilder from 'xernerx-extension-builder';\n\nexport * from './types/types.js';\nexport * from './types/extenders.js';\nexport * from './types/interfaces.js';\n\nimport Discord from 'discord.js';\n\nconst version = JSON.parse(fs.readFileSync('node_modules/xernerx/package.json', 'utf-8')).version;\n\nexport default XernerxClient;\n\nexport {\n /**\n ** Clients\n */\n XernerxClient,\n XernerxShardClient,\n\n /**\n ** Builders\n */\n MessageCommandBuilder,\n SlashCommandBuilder,\n ContextCommandBuilder,\n EventBuilder,\n InhibitorBuilder,\n ExtensionBuilder,\n\n /**\n ** Imported exports\n */\n Discord,\n\n /**\n ** Properties\n */\n version,\n\n /**\n ** Tools\n */\n XernerxLog,\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Arguments.d.ts","sourceRoot":"","sources":["../../src/models/Arguments.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,iCAAiC,CAAC;AAClE,OAAO,qBAAqB,MAAM,mCAAmC,CAAC;AACtE,OAAO,qBAAqB,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,gCAAgC,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AACjJ,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAkJhI;AAED,wBAAsB,oBAAoB,CACtC,WAAW,EAAE,kBAAkB,CAAC,uBAAuB,GAAG,6BAA6B,GAAG,gCAAgC,CAAC,GAAG,GAAG,EACjI,OAAO,EAAE,qBAAqB,GAAG,mBAAmB,gBAwBvD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Arguments.js","sourceRoot":"","sources":["../../src/models/Arguments.ts"],"names":[],"mappings":"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","sourcesContent":["import SlashCommandBuilder from '../build/SlashCommandBuilder.js';\nimport ContextCommandBuilder from '../build/ContextCommandBuilder.js';\nimport MessageCommandBuilder from '../build/MessageCommandBuilder.js';\nimport { XernerxMessage, XernerxMessageContextInteraction, XernerxSlashInteraction, XernerxUserContextInteraction } from '../types/extenders.js';\nimport { MessageCommandArguments } from '../types/interfaces.js';\nimport { XernerxInteraction } from '../types/types.js';\n\nexport async function messageArguments(message: XernerxMessage, command: MessageCommandBuilder): Promise<MessageCommandArguments> {\n const separator = command.separator || ' ',\n content = message.content.split(separator).slice(1);\n\n let args: Record<string, unknown> | null = {},\n flags: Record<string, boolean> | null = {};\n\n if (command.flags)\n command.flags.map((flag) => {\n if (!flags) flags = {};\n\n if (content.includes(flag.match)) flags[flag.name] = true;\n else flags[flag.name] = false;\n\n const index = content.indexOf(flag.match);\n\n if (index > 0) content.splice(index, 1);\n });\n\n if (command.args)\n for (const argument of command.args) {\n const element = content.at(0) || null;\n\n if (!element) {\n if (typeof argument.default === 'function') args[argument.name] = argument.default(message);\n args[argument.name] = argument.default || null;\n continue;\n }\n\n if (argument.type === 'option') argument.match?.includes(element) ? (args[argument.name] = element) : (args[argument.name] = null);\n\n if (argument.type === 'number') args[argument.name] = parseInt(element);\n\n if (argument.type === 'integer') args[argument.name] = parseInt(element);\n\n if (argument.type === 'boolean') args[argument.name] = element === 'true' ? true : false;\n\n if (argument.type === 'confirm') args[argument.name] = element === 'yes' ? 'yes' : 'no';\n\n if (argument.type === 'string') args[argument.name] = element;\n\n if (argument.type === 'channel') {\n try {\n const channel = await message.client.channels.fetch(element);\n\n args[argument.name] = channel;\n } catch (e) {\n args[argument.name] = null;\n }\n }\n\n if (argument.type === 'guild') {\n try {\n const guild = await message.client.guilds.fetch(element);\n\n args[argument.name] = guild;\n } catch (e) {\n args[argument.name] = null;\n }\n }\n\n if (argument.type === 'mentionable') {\n (\n await Promise.all(\n [message.guild?.roles, message.client.users, message.client.guilds, message.client.channels, message.guild?.members, message.channel.messages].map((req) =>\n req\n ? req\n .fetch(element)\n .then((r) => r)\n .catch(() => null)\n : null\n )\n )\n ).map((mentionable) => {\n if (!args) args = {};\n if (mentionable) return (args[argument.name] = mentionable);\n else return (args[argument.name] = null);\n });\n }\n if (argument.type === 'role') {\n try {\n const role = await message.guild?.roles.fetch(element);\n\n args[argument.name] = role;\n } catch (e) {\n args[argument.name] = null;\n }\n }\n if (argument.type === 'user') {\n try {\n const user = await message.client.users.fetch(element);\n\n args[argument.name] = user;\n } catch (e) {\n args[argument.name] = null;\n }\n }\n if (argument.type === 'member') {\n try {\n const member = await message.guild?.members.fetch(element);\n\n args[argument.name] = member;\n } catch (e) {\n args[argument.name] = null;\n }\n }\n if (argument.type === 'message') {\n try {\n const msg = await message.channel?.messages.fetch(element);\n\n args[argument.name] = msg;\n } catch (e) {\n args[argument.name] = null;\n }\n }\n if (argument.type === 'list') {\n let separator = String(argument.separator) || ',';\n\n if (separator.startsWith('/') && separator.endsWith('/')) separator = separator.replace(/^\\/|\\/$/gim, '');\n\n const items = content.join(' ').split(new RegExp(' *' + separator + ' *', 'gi'));\n\n if (!argument.content) args[argument.name] = items;\n else {\n const contents = argument.content.map((content) => content.toLowerCase()),\n itemList: Array<string> = [];\n\n items.map((item) => (contents.includes(item.toLowerCase()) ? itemList.push(argument.content?.at(contents.indexOf(item.toLowerCase())) as string) : null));\n\n args[argument.name] = itemList;\n break;\n }\n }\n\n if (argument.type === 'rest') {\n args[argument.name] = content.join(separator);\n break;\n }\n\n content.splice(0, 1);\n }\n\n if (!command.flags) flags = null;\n if (!command.args) args = null;\n\n return { args, flags };\n}\n\nexport async function interactionArguments(\n interaction: XernerxInteraction<XernerxSlashInteraction | XernerxUserContextInteraction | XernerxMessageContextInteraction> | any,\n command: ContextCommandBuilder | SlashCommandBuilder\n) {\n if (command.fileType === 'SlashCommand') {\n const options: Record<string, string> = {};\n\n let args = interaction?.options?._hoistedOptions,\n group = interaction?.options?._group,\n subcommand = interaction?.options?._subcommand;\n\n if (interaction.options._hoistedOptions) {\n for (const option of interaction.options._hoistedOptions) {\n options[option.name] = option.member || option.channel || option.user || option.role || option.value;\n }\n\n args = options;\n }\n\n return { args, group, subcommand };\n }\n\n if (command.fileType === 'ContextCommand') {\n if (command.type === 'user') return await interaction.client.users.fetch(interaction.targetId);\n if (command.type === 'message') return await interaction.channel.messages.fetch(interaction.targetId);\n }\n}\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** @format */
|
|
2
|
+
import { Collection } from 'discord.js';
|
|
3
|
+
import XernerxClient from '../main.js';
|
|
4
|
+
export default class Cooldowns {
|
|
5
|
+
private readonly _client;
|
|
6
|
+
readonly collections: Record<string, Collection<string, unknown>>;
|
|
7
|
+
constructor(client: XernerxClient, collections?: Array<string>);
|
|
8
|
+
add(collection: keyof typeof this.collections, id: string, value: unknown): string | Collection<string, unknown>;
|
|
9
|
+
delete(collection: keyof typeof this.collections, id: string): string | boolean;
|
|
10
|
+
has(id: string): Record<string, Collection<string, unknown>>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/** @format */
|
|
2
|
+
import { Collection } from 'discord.js';
|
|
3
|
+
export default class Cooldowns {
|
|
4
|
+
constructor(client, collections = []) {
|
|
5
|
+
this._client = client;
|
|
6
|
+
this.collections = {
|
|
7
|
+
commands: new Collection(),
|
|
8
|
+
};
|
|
9
|
+
for (const collection of collections) {
|
|
10
|
+
this.collections[collection] = new Collection();
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
add(collection, id, value) {
|
|
14
|
+
if (!this.collections[collection])
|
|
15
|
+
return `${collection} collection does not exist!`;
|
|
16
|
+
return this.collections[collection].set(id, value);
|
|
17
|
+
}
|
|
18
|
+
delete(collection, id) {
|
|
19
|
+
if (!this.collections[collection])
|
|
20
|
+
return `${collection} collection does not exist!`;
|
|
21
|
+
return this.collections[collection].delete(id);
|
|
22
|
+
}
|
|
23
|
+
has(id) {
|
|
24
|
+
const collected = {};
|
|
25
|
+
for (const [name, collection] of Object.entries(this.collections)) {
|
|
26
|
+
if (collection.has(id))
|
|
27
|
+
collected[name] = collection;
|
|
28
|
+
else
|
|
29
|
+
continue;
|
|
30
|
+
}
|
|
31
|
+
return collected;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"XernerxError.d.ts","sourceRoot":"","sources":["../../src/tools/XernerxError.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,YAAY;IACtB,IAAI,SAAC;IACL,OAAO,gBAAC;IACR,KAAK,iBAAC;gBAED,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO;CAOxD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"XernerxError.js","sourceRoot":"","sources":["../../src/tools/XernerxError.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,YAAY;IACtB,IAAI,CAAC;IACL,OAAO,CAAC;IACR,KAAK,CAAC;IAEb,YAAY,OAAgB,EAAE,KAAuB;QACjD,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAE3B,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,IAAI,CAAC;QAE/B,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,IAAI,KAAK,EAAE,CAAC,KAAK,CAAC;IAC5C,CAAC;CACJ","sourcesContent":["export default class XernerxError {\n public name;\n public message;\n public stack;\n\n constructor(message?: string, error?: Error | unknown) {\n this.name = 'XernerxError';\n\n this.message = message || null;\n\n this.stack = error || new Error().stack;\n }\n}\n"]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/** @format */
|
|
2
|
+
export const XernerxIntents = {
|
|
3
|
+
Default: [
|
|
4
|
+
'Guilds',
|
|
5
|
+
'GuildModeration',
|
|
6
|
+
'GuildBans',
|
|
7
|
+
'GuildEmojisAndStickers',
|
|
8
|
+
'GuildIntegrations',
|
|
9
|
+
'GuildWebhooks',
|
|
10
|
+
'GuildInvites',
|
|
11
|
+
'GuildVoiceStates',
|
|
12
|
+
'GuildMessages',
|
|
13
|
+
'GuildMessageReactions',
|
|
14
|
+
'GuildMessageTyping',
|
|
15
|
+
'DirectMessages',
|
|
16
|
+
'DirectMessageReactions',
|
|
17
|
+
'DirectMessageTyping',
|
|
18
|
+
'GuildScheduledEvents',
|
|
19
|
+
'AutoModerationConfiguration',
|
|
20
|
+
'AutoModerationExecution',
|
|
21
|
+
],
|
|
22
|
+
All: [''],
|
|
23
|
+
};
|
|
24
|
+
XernerxIntents.All = [...XernerxIntents.Default, 'GuildMembers', 'GuildPresences', 'MessageContent'];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"XernerxLog.d.ts","sourceRoot":"","sources":["../../src/tools/XernerxLog.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAE7C,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,MAAM,CAAC,OAAO,OAAO,UAAU;IAC3B,iBAAyB,MAAM,CAAC;IAChC,iBAAyB,QAAQ,CAAC;IAClC,iBAAyB,OAAO,CAAC;IACjC,iBAAyB,QAAQ,CAAC;IAClC,iBAAyB,QAAQ,CAAC;gBAEtB,MAAM,EAAE,aAAa;IAY1B,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,GAAE,OAAe;IAI5C,IAAI,CAAC,OAAO,EAAE,MAAM;IAIpB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,YAAY,GAAG,OAAO;IAIrD,KAAK;CAyCf"}
|
package/dist/tools/XernerxLog.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"XernerxLog.js","sourceRoot":"","sources":["../../src/tools/XernerxLog.ts"],"names":[],"mappings":"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","sourcesContent":["import XernerxError from './XernerxError.js';\nimport { Style } from 'dumfunctions';\nimport XernerxClient from '../client/XernerxClient.js';\nexport default class XernerxLog {\n private declare readonly client;\n private declare readonly errorLog;\n private declare readonly infoLog;\n private declare readonly readyLog;\n private declare readonly tableLog;\n\n constructor(client: XernerxClient) {\n this.client = client;\n\n this.errorLog = client.settings.log?.error;\n\n this.infoLog = client.settings.log?.info;\n\n this.readyLog = client.settings.log?.ready;\n\n this.tableLog = client.settings.log?.table;\n }\n\n public info(message: string, force: boolean = false) {\n return this.infoLog || force ? console.info(`${Style.log('✔️ | Xernerx', { color: Style.TextColor.Purple })} | ${message}`) : null;\n }\n\n public warn(message: string) {\n return this.infoLog ? console.warn(`${Style.log('⚠️ | Xernerx', { color: Style.TextColor.Yellow })} | ${message}`) : null;\n }\n\n public error(message: string, error?: XernerxError | unknown) {\n return this.errorLog ? console.error(`${Style.log('❗ | Xernerx', { color: Style.TextColor.Red })} | ${message}${error ? ` | ${(error as Record<string, string>).stack}` : ''}`) : null;\n }\n\n public ready() {\n this.client.prependOnceListener('ready', async (synced) => {\n this.info(\n `${synced.user.tag} is now online, watching ${this.client.guilds.cache.size} guilds, using ${\n this.client.settings.local ? await this.client.guilds.fetch(this.client.settings.local) : 'none'\n } as local guild.`,\n this.readyLog\n );\n\n const files: Array<object> = [];\n\n for (const [id, data] of this.client.commands.message) {\n files.push(data);\n id;\n }\n\n for (const [id, data] of this.client.commands.slash) {\n files.push(data);\n id;\n }\n\n for (const [id, data] of this.client.commands.context) {\n files.push(data);\n id;\n }\n\n for (const [id, data] of this.client.events) {\n files.push(data);\n id;\n }\n\n for (const [id, data] of this.client.inhibitors) {\n files.push(data);\n id;\n }\n\n if (this.tableLog) {\n console.table(files, this.tableLog);\n }\n });\n }\n}\n"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/** @format */
|
|
2
|
-
import { ChatInputCommandInteraction,
|
|
2
|
+
import { ChatInputCommandInteraction, Collection, DMChannel, Guild, GuildChannel, GuildMember, Message, MessageContextMenuCommandInteraction, User, UserContextMenuCommandInteraction } from 'discord.js';
|
|
3
3
|
import InteractionUtil from '../utils/InteractionUtil.js';
|
|
4
4
|
import MessageUtil from '../utils/MessageUtil.js';
|
|
5
|
-
import { ModuleOptions, XernerxCache, XernerxCommands, XernerxEvent, XernerxInhibitor,
|
|
5
|
+
import { ModuleOptions, XernerxCache, XernerxCommands, XernerxEvent, XernerxInhibitor, XernerxClient } from '../main.js';
|
|
6
6
|
import ClientUtil from '../utils/ClientUtil.js';
|
|
7
7
|
export interface XernerxUser extends User {
|
|
8
8
|
owner: boolean;
|
|
@@ -35,20 +35,23 @@ export interface XernerxMessageContextInteraction extends MessageContextMenuComm
|
|
|
35
35
|
user: XernerxUser;
|
|
36
36
|
util: InteractionUtil;
|
|
37
37
|
}
|
|
38
|
-
export interface XernerxClientType extends
|
|
39
|
-
config: unknown | null;
|
|
38
|
+
export interface XernerxClientType extends XernerxClient {
|
|
40
39
|
commands: XernerxCommands;
|
|
41
40
|
events: Collection<string, XernerxEvent>;
|
|
42
41
|
inhibitors: Collection<string, XernerxInhibitor>;
|
|
43
42
|
modules: ModuleOptions;
|
|
44
43
|
util: ClientUtil;
|
|
45
|
-
settings: XernerxOptions;
|
|
46
44
|
stats: {
|
|
47
45
|
guildCount: number;
|
|
48
46
|
userCount: number;
|
|
49
47
|
shardId: number;
|
|
50
48
|
shardCount: number;
|
|
51
49
|
};
|
|
50
|
+
cooldown: {
|
|
51
|
+
default: number;
|
|
52
|
+
cache: number;
|
|
53
|
+
collections: Array<string>;
|
|
54
|
+
};
|
|
52
55
|
cache: XernerxCache;
|
|
53
56
|
connect: () => Promise<string>;
|
|
54
57
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extenders.d.ts","sourceRoot":"","sources":["../../src/types/extenders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,oCAAoC,EAAE,IAAI,EAAE,iCAAiC,EAAE,MAAM,YAAY,CAAC;AAC9L,OAAO,eAAe,MAAM,6BAA6B,CAAC;AAC1D,OAAO,WAAW,MAAM,yBAAyB,CAAC;AAElD,MAAM,WAAW,WAAY,SAAQ,IAAI;IACrC,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,aAAc,SAAQ,WAAW;IAC9C,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAa,SAAQ,KAAK;CAAG;AAE9C,MAAM,WAAW,mBAAoB,SAAQ,YAAY;CAAG;AAE5D,MAAM,WAAW,gBAAiB,SAAQ,SAAS;CAAG;AAEtD,UAAU,cAAc;CAAG;AAE3B,MAAM,WAAW,cAAe,SAAQ,OAAO,EAAE,cAAc;IAC3D,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,WAAW,uBAAwB,SAAQ,2BAA2B,EAAE,cAAc;IACxF,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,eAAe,CAAC;CACzB;AAED,MAAM,WAAW,6BAA8B,SAAQ,iCAAiC,EAAE,cAAc;IACpG,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,eAAe,CAAC;CACzB;AAED,MAAM,WAAW,gCAAiC,SAAQ,oCAAoC,EAAE,cAAc;IAC1G,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,eAAe,CAAC;CACzB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extenders.js","sourceRoot":"","sources":["../../src/types/extenders.ts"],"names":[],"mappings":"","sourcesContent":["import { ChatInputCommandInteraction, DMChannel, Guild, GuildChannel, GuildMember, Message, MessageContextMenuCommandInteraction, User, UserContextMenuCommandInteraction } from 'discord.js';\nimport InteractionUtil from '../utils/InteractionUtil.js';\nimport MessageUtil from '../utils/MessageUtil.js';\n\nexport interface XernerxUser extends User {\n owner: boolean;\n voted: boolean | null;\n}\n\nexport interface XernerxMember extends GuildMember {\n username: string;\n}\n\nexport interface XernerxGuild extends Guild {}\n\nexport interface XernerxGuildChannel extends GuildChannel {}\n\nexport interface XernerxDMChannel extends DMChannel {}\n\ninterface XernerxCommand {}\n\nexport interface XernerxMessage extends Message, XernerxCommand {\n user: XernerxUser;\n util: MessageUtil;\n}\n\nexport interface XernerxSlashInteraction extends ChatInputCommandInteraction, XernerxCommand {\n user: XernerxUser;\n util: InteractionUtil;\n}\n\nexport interface XernerxUserContextInteraction extends UserContextMenuCommandInteraction, XernerxCommand {\n user: XernerxUser;\n util: InteractionUtil;\n}\n\nexport interface XernerxMessageContextInteraction extends MessageContextMenuCommandInteraction, XernerxCommand {\n user: XernerxUser;\n util: InteractionUtil;\n}\n"]}
|
|
@@ -15,8 +15,8 @@ export interface XernerxOptions {
|
|
|
15
15
|
global?: boolean;
|
|
16
16
|
ownerId?: string | Array<string>;
|
|
17
17
|
permissions?: {
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
user?: Array<PermissionNames> | Array<string> | null;
|
|
19
|
+
client?: Array<PermissionNames> | Array<string> | null;
|
|
20
20
|
dm?: boolean;
|
|
21
21
|
};
|
|
22
22
|
ignore?: {
|
|
@@ -38,6 +38,7 @@ export interface XernerxOptions {
|
|
|
38
38
|
cooldown?: {
|
|
39
39
|
command?: number;
|
|
40
40
|
cache?: number;
|
|
41
|
+
collections?: Array<string>;
|
|
41
42
|
};
|
|
42
43
|
}
|
|
43
44
|
export interface ModuleOptions {
|
|
@@ -83,8 +84,8 @@ interface CommandHandlerOptions {
|
|
|
83
84
|
directory: string;
|
|
84
85
|
cooldown?: number;
|
|
85
86
|
permissions?: {
|
|
86
|
-
user?: Array<string
|
|
87
|
-
client?: Array<string
|
|
87
|
+
user?: Array<PermissionNames> | Array<string> | null;
|
|
88
|
+
client?: Array<PermissionNames> | Array<string> | null;
|
|
88
89
|
dm?: boolean;
|
|
89
90
|
};
|
|
90
91
|
}
|
|
@@ -139,8 +140,8 @@ interface CommandOptions {
|
|
|
139
140
|
voice?: boolean;
|
|
140
141
|
};
|
|
141
142
|
permissions?: {
|
|
142
|
-
user?: Array<PermissionNames> | Array<string
|
|
143
|
-
client?: Array<PermissionNames> | Array<string
|
|
143
|
+
user?: Array<PermissionNames> | Array<string> | null;
|
|
144
|
+
client?: Array<PermissionNames> | Array<string> | null;
|
|
144
145
|
dm?: boolean;
|
|
145
146
|
};
|
|
146
147
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/types/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEvF,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,qBAAqB,MAAM,mCAAmC,CAAC;AACtE,OAAO,qBAAqB,MAAM,mCAAmC,CAAC;AACtE,OAAO,mBAAmB,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,0BAA0B,EAAE,eAAe,EAAE,wBAAwB,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACtI,OAAO,gBAAgB,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7D,MAAM,WAAW,cAAc;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IACjC,WAAW,CAAC,EAAE;QACV,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACvB,IAAI,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACrB,EAAE,CAAC,EAAE,OAAO,CAAC;KAChB,CAAC;IACF,MAAM,CAAC,EAAE;QACL,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACtB,QAAQ,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACzB,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;KAC1B,CAAC;IACF,GAAG,CAAC,EAAE;QACF,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,GAAG,aAAa,GAAG,UAAU,GAAG,UAAU,CAAC,CAAC;KAC/E,CAAC;IACF,QAAQ,CAAC,EAAE;QACP,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACL;AAED,MAAM,WAAW,aAAa;IAC1B,OAAO,EAAE;QACL,OAAO,CAAC,EAAE,qBAAqB,CAAC;QAChC,KAAK,CAAC,EAAE,mBAAmB,CAAC;QAC5B,OAAO,CAAC,EAAE,qBAAqB,CAAC;QAChC,MAAM,CAAC,EAAE,mBAAmB,CAAC;QAC7B,UAAU,CAAC,EAAE,uBAAuB,CAAC;KACxC,CAAC;IACF,cAAc,EAAE,cAAc,CAAC;IAC/B,YAAY,EAAE,YAAY,CAAC;IAC3B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,cAAc,EAAE,cAAc,CAAC;IAC/B,gBAAgB,EAAE,gBAAgB,CAAC;CACtC;AAED,MAAM,WAAW,eAAe;IAC5B,OAAO,EAAE,UAAU,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IACnD,KAAK,EAAE,UAAU,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAC/C,OAAO,EAAE,UAAU,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;CACtD;AAED,MAAM,WAAW,UAAU;IACvB,KAAK,EAAE;QACH,KAAK,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,GAAG,EAAE;QACD,KAAK,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,MAAM,EAAE;QACJ,KAAK,EAAE,OAAO,CAAC;QACf,IAAI,EAAE,OAAO,CAAC;KACjB,CAAC;CACL;AAED,MAAM,WAAW,YAAY;IACzB,QAAQ,EAAE,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,SAAS,EAAE,UAAU,CACjB,MAAM,EACN;QACI,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,MAAM,CAAC;QAChB,gBAAgB,EAAE,MAAM,CAAC;KAC5B,CACJ,CAAC;CACL;AAED,UAAU,qBAAqB;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE;QACV,IAAI,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACrB,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACvB,EAAE,CAAC,EAAE,OAAO,CAAC;KAChB,CAAC;IACF,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,qBAAsB,SAAQ,qBAAqB;IAChE,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B;AACD,MAAM,WAAW,mBAAoB,SAAQ,qBAAqB;IAC9D,KAAK,CAAC,EAAE;QACJ,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,UAAU,CAAC,EAAE,OAAO,CAAC;KACxB,CAAC;CACL;AACD,MAAM,WAAW,qBAAsB,SAAQ,qBAAqB;IAChE,KAAK,CAAC,EAAE;QACJ,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,UAAU,CAAC,EAAE,OAAO,CAAC;KACxB,CAAC;CACL;AAED,MAAM,WAAW,mBAAmB;IAChC,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,uBAAuB;IACpC,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,cAAc;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,CAAC,EAAE;QACL,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACtB,QAAQ,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACzB,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;KAC1B,CAAC;IACF,MAAM,CAAC,EAAE;QACL,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACtB,QAAQ,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACzB,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;KAC1B,CAAC;IACF,WAAW,CAAC,EAAE;QACV,IAAI,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAChD,EAAE,CAAC,EAAE,OAAO,CAAC;KAChB,CAAC;CACL;AAED,MAAM,WAAW,qBAAsB,SAAQ,cAAc;IACzD,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,KAAK,CAAC,6BAA6B,CAAC,CAAC;IAC5C,KAAK,CAAC,EAAE,KAAK,CAAC,yBAAyB,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,6BAA6B;IAC1C,IAAI,EAAE,0BAA0B,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,MAAM,CAAC,EAAE;QACL,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACL;AAED,MAAM,WAAW,yBAAyB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,uBAAuB;IACpC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACrC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CACzC;AAED,MAAM,WAAW,mBAAoB,SAAQ,cAAc;IACvD,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1D,wBAAwB,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IACjE,KAAK,CAAC,EAAE;QACJ,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,UAAU,CAAC,EAAE,OAAO,CAAC;KACxB,CAAC;IACF,IAAI,CAAC,EAAE,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC1C,WAAW,CAAC,EAAE,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACnD,MAAM,CAAC,EAAE,KAAK,CAAC,wBAAwB,CAAC,CAAC;CAC5C;AACD,MAAM,WAAW,qBAAsB,SAAQ,cAAc;IACzD,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1D,KAAK,CAAC,EAAE;QACJ,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,UAAU,CAAC,EAAE,OAAO,CAAC;KACxB,CAAC;CACL;AAED,MAAM,WAAW,2BAA2B;IACxC,IAAI,EAAE,wBAAwB,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,6BAA6B;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,KAAK,CAAC,2BAA2B,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,wBAAwB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,KAAK,CAAC,6BAA6B,CAAC,CAAC;CACrD;AAED,MAAM,WAAW,qBAAqB;IAClC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAChC,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC/B,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,uBAAuB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,aAAa,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,YAAY,CAAC,OAAO,GAAG,YAAY,CAAC,SAAS,GAAG,YAAY,CAAC,SAAS,GAAG,YAAY,CAAC,QAAQ,GAAG,YAAY,CAAC,SAAS,CAAC;IAC/H,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,uBAAuB,CAAC,CAAC,SAAS,MAAM,GAAG,SAAS,IAAI,CAAC,SAAS,MAAM,GAAG,WAAW,GAAG,cAAc,CAAC"}
|
|
@@ -0,0 +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?: '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"]}
|
package/dist/types/types.d.ts
CHANGED
|
@@ -11,4 +11,4 @@ export type DiscordEventType = 'applicationCommandPermissionsUpdate' | 'autoMode
|
|
|
11
11
|
export type XernerxEventType = DiscordEventType | 'webhookCreate' | 'webhookError' | 'commandBlock' | 'commandError' | 'commandStart' | 'commandFinish' | 'commandCooldown';
|
|
12
12
|
export type XernerxInteraction<T extends XernerxSlashInteraction | XernerxUserContextInteraction | XernerxMessageContextInteraction> = T extends XernerxSlashInteraction ? XernerxSlashInteraction : T extends XernerxUserContextInteraction ? XernerxUserContextInteraction : XernerxMessageContextInteraction;
|
|
13
13
|
export type PermissionNames = 'create instant invite' | 'kick members' | 'ban members' | 'administrator' | 'manage channels' | 'manage guild' | 'add reactions' | 'view audit log' | 'priority speaker' | 'stream' | 'view channel' | 'send messages' | 'send tts messages' | 'manage messages' | 'embed links' | 'attach files' | 'read message history' | 'mention everyone' | 'use external emojis' | 'view guild insights' | 'connect' | 'speak' | 'mute members' | 'deafen members' | 'move members' | 'use vad' | 'change nickname' | 'manage nicknames' | 'manage roles' | 'manage webhooks' | 'manage emojis and stickers' | 'use application commands' | 'request to speak' | 'manage events' | 'manage threads' | 'create public threads' | 'create private threads' | 'use external stickers' | 'send messages in threads' | 'start embedded activities' | 'moderate members';
|
|
14
|
-
export type InhibitorType = 'message' | 'interaction' | 'command' | 'channel' | 'user' | 'member' | 'guild' | 'contextCommand' | 'messageCommand' | 'slashCommand';
|
|
14
|
+
export type InhibitorType = '*' | 'message' | 'interaction' | 'command' | 'channel' | 'user' | 'member' | 'guild' | 'contextCommand' | 'messageCommand' | 'slashCommand';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types/types.ts"],"names":[],"mappings":"","sourcesContent":["import {\n SlashCommandBooleanOption,\n SlashCommandChannelOption,\n SlashCommandIntegerOption,\n SlashCommandMentionableOption,\n SlashCommandNumberOption,\n SlashCommandRoleOption,\n SlashCommandStringOption,\n SlashCommandUserOption,\n} from 'discord.js';\nimport { XernerxMessageContextInteraction, XernerxSlashInteraction, XernerxUserContextInteraction } from './extenders.js';\n\nexport type FileType = 'MessageCommand' | 'SlashCommand' | 'ContextCommand' | 'Event' | 'Inhibitor';\n\nexport type Locales =\n | 'en-US'\n | 'en-GB'\n | 'bg'\n | 'zh-CN'\n | 'zh-TW'\n | 'hr'\n | 'cs'\n | 'da'\n | 'nl'\n | 'fi'\n | 'fr'\n | 'de'\n | 'el'\n | 'hi'\n | 'hu'\n | 'it'\n | 'ja'\n | 'ko'\n | 'lt'\n | 'no'\n | 'pl'\n | 'pt-BR'\n | 'ro'\n | 'ru'\n | 'es-ES'\n | 'sv-SE'\n | 'th'\n | 'tr'\n | 'uk'\n | 'vi';\n\nexport type SlashCommandArgumentType = 'attachment' | 'boolean' | 'channel' | 'integer' | 'mentionable' | 'number' | 'role' | 'string' | 'user';\n\nexport type SlashCommandOptionChoices = SlashCommandStringOption | SlashCommandNumberOption | SlashCommandIntegerOption;\n\nexport type SlashCommandOption = SlashCommandOptionChoices | SlashCommandBooleanOption | SlashCommandUserOption | SlashCommandChannelOption | SlashCommandRoleOption | SlashCommandMentionableOption;\n\nexport type MessageCommandArgumentType =\n | 'string'\n | 'number'\n | 'boolean'\n | 'confirm'\n | 'channel'\n | 'guild'\n | 'integer'\n | 'mentionable'\n | 'role'\n | 'user'\n | 'message'\n | 'member'\n | 'list'\n | 'option'\n | 'rest';\n\nexport type DiscordEventType =\n | 'applicationCommandPermissionsUpdate'\n | 'autoModerationActionExecution'\n | 'autoModerationRuleCreate'\n | 'autoModerationRuleDelete'\n | 'autoModerationRuleUpdate'\n | 'ready'\n | 'guildCreate'\n | 'guildDelete'\n | 'guildUpdate'\n | 'guildUnavailable'\n | 'guildMemberAdd'\n | 'guildMemberRemove'\n | 'guildMemberUpdate'\n | 'guildMemberAvailable'\n | 'guildMembersChunk'\n | 'guildIntegrationsUpdate'\n | 'roleCreate'\n | 'roleDelete'\n | 'inviteCreate'\n | 'inviteDelete'\n | 'roleUpdate'\n | 'emojiCreate'\n | 'emojiDelete'\n | 'emojiUpdate'\n | 'guildBanAdd'\n | 'guildBanRemove'\n | 'channelCreate'\n | 'channelDelete'\n | 'channelUpdate'\n | 'channelPinsUpdate'\n | 'messageCreate'\n | 'messageDelete'\n | 'messageUpdate'\n | 'messageDeleteBulk'\n | 'messageReactionAdd'\n | 'messageReactionRemove'\n | 'messageReactionRemoveAll'\n | 'messageReactionRemoveEmoji'\n | 'threadCreate'\n | 'threadDelete'\n | 'threadUpdate'\n | 'threadListSync'\n | 'threadMemberUpdate'\n | 'threadMembersUpdate'\n | 'userUpdate'\n | 'presenceUpdate'\n | 'voiceServerUpdate'\n | 'voiceStateUpdate'\n | 'typingStart'\n | 'webhookUpdate'\n | 'interactionCreate'\n | 'error'\n | 'warn'\n | 'debug'\n | 'cacheSweep'\n | 'shardDisconnect'\n | 'shardError'\n | 'shardReconnecting'\n | 'shardReady'\n | 'shardResume'\n | 'invalidated'\n | 'raw'\n | 'stageInstanceCreate'\n | 'stageInstanceUpdate'\n | 'stageInstanceDelete'\n | 'stickerCreate'\n | 'stickerDelete'\n | 'stickerUpdate'\n | 'guildScheduledEventCreate'\n | 'guildScheduledEventUpdate'\n | 'guildScheduledEventDelete'\n | 'guildScheduledEventUserAdd'\n | 'guildScheduledEventUserRemove';\n\nexport type EventType = DiscordEventType | 'webhookCreate' | 'webhookError' | 'commandBlock' | 'commandError' | 'commandStart' | 'commandFinish' | 'commandCooldown';\n\nexport type XernerxInteraction<T extends XernerxSlashInteraction | XernerxUserContextInteraction | XernerxMessageContextInteraction> = T extends XernerxSlashInteraction\n ? XernerxSlashInteraction\n : T extends XernerxUserContextInteraction\n ? XernerxUserContextInteraction\n : XernerxMessageContextInteraction;\n\nexport type PermissionNames =\n | 'create instant invite'\n | 'kick members'\n | 'ban members'\n | 'administrator'\n | 'manage channels'\n | 'manage guild'\n | 'add reactions'\n | 'view audit log'\n | 'priority speaker'\n | 'stream'\n | 'view channel'\n | 'send messages'\n | 'send tts messages'\n | 'manage messages'\n | 'embed links'\n | 'attach files'\n | 'read message history'\n | 'mention everyone'\n | 'use external emojis'\n | 'view guild insights'\n | 'connect'\n | 'speak'\n | 'mute members'\n | 'deafen members'\n | 'move members'\n | 'use vad'\n | 'change nickname'\n | 'manage nicknames'\n | 'manage roles'\n | 'manage webhooks'\n | 'manage emojis and stickers'\n | 'use application commands'\n | 'request to speak'\n | 'manage events'\n | 'manage threads'\n | 'create public threads'\n | 'create private threads'\n | 'use external stickers'\n | 'send messages in threads'\n | 'start embedded activities'\n | 'moderate members';\n\nexport type InhibitorType = 'message' | 'interaction' | 'command' | 'channel' | 'user' | 'member' | 'guild' | 'contextCommand' | 'messageCommand' | 'slashCommand';\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClientUtil.d.ts","sourceRoot":"","sources":["../../src/utils/ClientUtil.ts"],"names":[],"mappings":"AACA,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,IAAI;IACzB,QAAQ,CAAC,EAAE,QAAQ,CAAC;gBAEvB,MAAM,EAAE,aAAa;IAI1B,WAAW,CAAC,OAAO,EAAE,eAAe;IAI9B,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAiBrD,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAanE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClientUtil.js","sourceRoot":"","sources":["../../src/utils/ClientUtil.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,6BAA6B,CAAC;AAGtD,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,IAAI;IAGxC,YAAY,MAAqB;QAC7B,KAAK,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC;IAEM,WAAW,CAAC,OAAwB;QACvC,OAAO,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,KAAsC;QAC9D,IAAI,OAAO,KAAK,IAAI,QAAQ;YAAE,KAAK,GAAG,KAAK,CAAC,EAAE,CAAC;QAE/C,IAAI;YACA,IAAI,OAAO,GACP,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAI,OAAU,EAAE,EAAE,CAC7C,OAAkC,CAAC,IAAI,IAAK,KAAgB,CAAC,WAAW,EAAE,IAAK,OAAkC,CAAC,EAAE,IAAK,KAAgB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAC5K,IAAI,IAAI,CAAC;YAEd,IAAI,CAAC,OAAO;gBAAE,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC;YAE1E,OAAO,OAAO,CAAC;SAClB;QAAC,MAAM;YACJ,OAAO,IAAI,CAAC;SACf;IACL,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,KAAsC;QAC5D,IAAI,OAAO,KAAK,IAAI,QAAQ;YAAE,KAAK,GAAG,KAAK,CAAC,EAAE,CAAC;QAE/C,IAAI;YACA,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,IAAK,KAAgB,CAAC,WAAW,EAAE,CAAC,IAAI,IAAI,CAAC;YAE1H,IAAI,CAAC,KAAK;gBAAE,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC;YAEpE,OAAO,KAAK,CAAC;SAChB;QAAC,MAAM;YACJ,OAAO,IAAI,CAAC;SACf;IACL,CAAC;CACJ","sourcesContent":["import setPresence from '../functions/setPresence.js';\nimport XernerxClient from '../client/XernerxClient.js';\nimport { PresenceOptions } from '../types/interfaces.js';\nimport Util from './Util.js';\n\nexport default class ClientUtil extends Util {\n public declare hasVoted?: Function;\n\n constructor(client: XernerxClient) {\n super(client);\n }\n\n public setPresence(options: PresenceOptions) {\n return setPresence(this.client, options);\n }\n\n public async resolveChannel(query: string | Record<string, string>) {\n if (typeof query == 'object') query = query.id;\n\n try {\n let channel =\n this.client.channels.cache.find(<T>(channel: T) =>\n (channel as Record<string, string>).name == (query as string).toLowerCase() || (channel as Record<string, string>).id == (query as string).toLowerCase() ? channel : null\n ) || null;\n\n if (!channel) channel = (await this.client.channels.fetch(query)) || null;\n\n return channel;\n } catch {\n return null;\n }\n }\n\n public async resolveGuild(query: string | Record<string, string>) {\n if (typeof query == 'object') query = query.id;\n\n try {\n let guild = this.client.guilds.cache.find((guild) => guild.name.toLowerCase() == (query as string).toLowerCase()) || null;\n\n if (!guild) guild = (await this.client.guilds.fetch(query)) || null;\n\n return guild;\n } catch {\n return null;\n }\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InteractionUtil.d.ts","sourceRoot":"","sources":["../../src/utils/InteractionUtil.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAGlG,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,gCAAgC,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAC;AAEtH,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,IAAI;IAC7C,OAAO,CAAC,WAAW,CAAC;gBAER,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,kBAAkB,CAAC,uBAAuB,GAAG,6BAA6B,GAAG,gCAAgC,CAAC;IAMjJ,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,GAAG,uBAAuB,GAAG,2BAA2B;IAI9F,KAAK,CAAC,IAAI,EAAE,MAAM;CAGlC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InteractionUtil.js","sourceRoot":"","sources":["../../src/utils/InteractionUtil.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,uBAAuB,CAAC;AAG1C,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,IAAI;IACrC,WAAW,CAAC;IAEpB,YAAY,MAAqB,EAAE,WAA2H;QAC1J,KAAK,CAAC,MAAM,CAAC,CAAC;QAEd,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACnC,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,OAAwF;QACvG,OAAO,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,OAAkC,CAAC,CAAC,CAAC;IAC5K,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,IAAY;QAC3B,OAAO,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;CACJ","sourcesContent":["import { InteractionEditReplyOptions, InteractionReplyOptions, MessagePayload } from 'discord.js';\n\nimport delay from '../functions/delay.js';\nimport XernerxClient from '../client/XernerxClient.js';\nimport { XernerxInteraction } from '../types/types.js';\nimport Util from './Util.js';\nimport { XernerxMessageContextInteraction, XernerxSlashInteraction, XernerxUserContextInteraction } from '../main.js';\n\nexport default class InteractionUtil extends Util {\n private interaction;\n\n constructor(client: XernerxClient, interaction: XernerxInteraction<XernerxSlashInteraction | XernerxUserContextInteraction | XernerxMessageContextInteraction>) {\n super(client);\n\n this.interaction = interaction;\n }\n\n public async reply(content: string | MessagePayload | InteractionReplyOptions | InteractionEditReplyOptions) {\n return await (this.interaction.replied || this.interaction.deferred ? this.interaction.editReply(content) : this.interaction.reply(content as InteractionReplyOptions));\n }\n\n public async delay(time: number) {\n return await delay(time);\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessageUtil.d.ts","sourceRoot":"","sources":["../../src/utils/MessageUtil.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,kBAAkB,EAAE,cAAc,EAAE,mBAAmB,EAA4B,IAAI,EAAE,MAAM,YAAY,CAAC;AAGhJ,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,IAAI,MAAM,WAAW,CAAC;AAI7B,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,IAAI;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;IAEV,MAAM,EAAE;QACnB,KAAK,EAAE,IAAI,GAAG,MAAM,CAAC;QACrB,MAAM,EAAE,IAAI,GAAG,MAAM,CAAC;KACzB,CAAC;gBAEU,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc;IAW7C,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,GAAG,mBAAmB,GAAG,kBAAkB;IAoBjF,YAAY,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,IAAI;IAuB5D,KAAK,CAAC,IAAI,EAAE,MAAM;CAGlC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessageUtil.js","sourceRoot":"","sources":["../../src/utils/MessageUtil.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAyG,MAAM,YAAY,CAAC;AAEhJ,OAAO,KAAK,MAAM,uBAAuB,CAAC;AAG1C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,WAAW,MAAM,6BAA6B,CAAC;AACtD,OAAO,YAAY,MAAM,0BAA0B,CAAC;AAEpD,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,IAAI;IACxB,OAAO,CAAC;IAOzB,YAAY,MAAqB,EAAE,OAAuB;QACtD,KAAK,CAAC,MAAM,CAAC,CAAC;QAEd,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,IAAI,CAAC,MAAM,GAAG;YACV,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,IAAI;SACf,CAAC;IACN,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,OAA2E;QAC1F,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;YACjD,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAE3D,IAAI,CAAC,EAAE;gBAAE,OAAO,IAAI,CAAC;YAErB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAE1D,GAAG,CAAC,IAAI,CAAC,OAA6B,CAAC,CAAC;YAExC,OAAO,GAAG,CAAC;SACd;QAED,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAA8B,CAAC,CAAC;QAErE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QAExD,OAAO,GAAG,CAAC;IACf,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,OAAuB,EAAE,GAAS,EAAE,IAAW;QACrE,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC,EAAE;YAAE,MAAM,IAAI,YAAY,CAAC,sCAAsC,CAAC,CAAC;QAEjH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAmD,CAAC;QAEjF,IAAI,OAAO,CAAC;QAEZ,IAAI,CAAC,GAAG,EAAE;YACN,OAAO,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC;gBAClC,IAAI,EAAE,IAAI,EAAE,QAAQ,IAAK,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,QAAmB;gBAC9D,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE;aAC7D,CAAC,CAAC;SACN;QAED,IAAI,CAAC,OAAO;YAAE,OAAO,GAAG,EAAE,GAAG,EAAE,CAAC;QAEhC,MAAM,WAAW,CAAC,OAAO,CAAC,GAAU,EAAE,OAAO,CAAC,CAAC;QAE/C,IAAI,CAAC,GAAG;YAAG,OAAsC,CAAC,MAAM,EAAE,CAAC;QAE3D,OAAO;IACX,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,IAAY;QAC3B,OAAO,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;CACJ","sourcesContent":["import { ChannelType, ForumChannel, MessageEditOptions, MessagePayload, MessageReplyOptions, NewsChannel, TextChannel, User } from 'discord.js';\n\nimport delay from '../functions/delay.js';\nimport XernerxClient from '../client/XernerxClient.js';\nimport { XernerxMessage } from '../types/extenders.js';\nimport Util from './Util.js';\nimport sendWebhook from '../functions/sendWebhook.js';\nimport XernerxError from '../tools/XernerxError.js';\n\nexport default class MessageUtil extends Util {\n private readonly message;\n\n public declare parsed: {\n alias: null | string;\n prefix: null | string;\n };\n\n constructor(client: XernerxClient, message: XernerxMessage) {\n super(client);\n\n this.message = message;\n\n this.parsed = {\n alias: null,\n prefix: null,\n };\n }\n\n public async reply(content: string | MessagePayload | MessageReplyOptions | MessageEditOptions) {\n if (this.client.cache.messages.has(this.message.id)) {\n const id = this.client.cache.messages.get(this.message.id);\n\n if (!id) return null;\n\n const msg = await this.message.channel.messages.fetch(id);\n\n msg.edit(content as MessageEditOptions);\n\n return msg;\n }\n\n const msg = await this.message.reply(content as MessageReplyOptions);\n\n this.client.cache.messages.set(this.message.id, msg.id);\n\n return msg;\n }\n\n public async webhookReply(content: MessagePayload, url?: URL, user?: User) {\n if (this.message.channel.type === ChannelType.DM) throw new XernerxError(`Can't use this method in DM Channels`);\n\n const channel = this.message.channel as TextChannel | NewsChannel | ForumChannel;\n\n let webhook;\n\n if (!url) {\n webhook = await channel.createWebhook({\n name: user?.username || (this.client.user?.username as string),\n avatar: user?.avatarURL() || this.client.user?.avatarURL(),\n });\n }\n\n if (!webhook) webhook = { url };\n\n await sendWebhook(webhook.url as URL, content);\n\n if (!url) (webhook as Record<'delete', Function>).delete();\n\n return;\n }\n\n public async delay(time: number) {\n return await delay(time);\n }\n}\n"]}
|
package/dist/utils/Util.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import XernerxClient from '../client/XernerxClient.js';
|
|
3
3
|
import XernerxText from '../tools/XernerxText.js';
|
|
4
4
|
export default class Util {
|
|
5
|
-
readonly client: XernerxClient
|
|
5
|
+
readonly client: XernerxClient;
|
|
6
6
|
readonly text: XernerxText;
|
|
7
7
|
constructor(client: XernerxClient);
|
|
8
8
|
delay(time: number): Promise<unknown>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Util.d.ts","sourceRoot":"","sources":["../../src/utils/Util.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,4BAA4B,CAAC;AAEvD,MAAM,CAAC,OAAO,OAAO,IAAI;IACd,MAAM,gBAAC;gBAEF,MAAM,EAAE,aAAa;CAGpC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Util.js","sourceRoot":"","sources":["../../src/utils/Util.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,OAAO,IAAI;IACd,MAAM,CAAC;IAEd,YAAY,MAAqB;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;CACJ","sourcesContent":["import XernerxClient from '../client/XernerxClient.js';\n\nexport default class Util {\n public client;\n\n constructor(client: XernerxClient) {\n this.client = client;\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commandValidation.d.ts","sourceRoot":"","sources":["../../src/validators/commandValidation.ts"],"names":[],"mappings":"AAEA,OAAO,qBAAqB,MAAM,mCAAmC,CAAC;AACtE,OAAO,qBAAqB,MAAM,mCAAmC,CAAC;AACtE,OAAO,mBAAmB,MAAM,iCAAiC,CAAC;AAElE,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AAC/G,OAAO,EAAmB,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAExE,wBAA8B,iBAAiB,CAC3C,KAAK,EAAE,kBAAkB,CAAC,uBAAuB,GAAG,6BAA6B,GAAG,6BAA6B,CAAC,GAAG,cAAc,EACnI,OAAO,EAAE,qBAAqB,GAAG,mBAAmB,GAAG,qBAAqB,oBA6C/E"}
|
|
@@ -1,27 +1,47 @@
|
|
|
1
1
|
/** @format */
|
|
2
2
|
import { ChannelType, PermissionFlagsBits } from 'discord.js';
|
|
3
|
+
var CommandTypes;
|
|
4
|
+
(function (CommandTypes) {
|
|
5
|
+
CommandTypes["SlashCommand"] = "slash";
|
|
6
|
+
CommandTypes["MessageCommand"] = "message";
|
|
7
|
+
CommandTypes["ContextCommand"] = "context";
|
|
8
|
+
})(CommandTypes || (CommandTypes = {}));
|
|
3
9
|
export default async function commandValidation(event, command) {
|
|
4
10
|
const client = event.client;
|
|
5
|
-
if (command.ignore?.owner && client.settings.ownerId
|
|
11
|
+
if (command.ignore?.owner && client.settings.ownerId?.includes(event.user.id))
|
|
6
12
|
return false;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
+
const cooldownTime = command.cooldown || client.modules.options?.[CommandTypes[command.filetype]]?.cooldown || client.cooldown?.default || 0;
|
|
14
|
+
const cooldown = {
|
|
15
|
+
id: event.user.id,
|
|
16
|
+
command: command.name,
|
|
17
|
+
createdTimestamp: Number(Date.now()) + cooldownTime,
|
|
18
|
+
};
|
|
19
|
+
const clientPermissions = command.permissions?.client || client.modules.options?.[CommandTypes[command.filetype]]?.permissions?.client || client.settings.permissions?.client || [];
|
|
20
|
+
const userPermissions = command.permissions?.user || client.modules.options?.[CommandTypes[command.filetype]]?.permissions?.user || client.settings.permissions?.user || [];
|
|
21
|
+
if (!client.cooldowns.collections.commands.has(`${event.user.id}-${command.name}`)) {
|
|
22
|
+
client.cooldowns.collections.commands.set(`${event.user.id}-${command.name}`, cooldown);
|
|
13
23
|
setTimeout(() => {
|
|
14
|
-
client.
|
|
15
|
-
},
|
|
24
|
+
client.cooldowns.collections.commands.delete(`${event.user.id}-${command.name}`);
|
|
25
|
+
}, cooldownTime);
|
|
16
26
|
}
|
|
17
27
|
else {
|
|
18
|
-
const user = client.
|
|
28
|
+
const user = client.cooldowns.collections.commands.get(`${event.user.id}-${command.name}`);
|
|
19
29
|
const time = (user?.createdTimestamp || 0) - Number(Date.now());
|
|
20
|
-
return emit(event,
|
|
30
|
+
return emit(event, {
|
|
31
|
+
reason: 'cooldown',
|
|
32
|
+
message: `You are on cooldown for \`${command.name}\`, wait another \`${Math.round(time / 10) / 100}s\``,
|
|
33
|
+
startedAt: user.createdTimestamp,
|
|
34
|
+
endsAt: user.createdTimestamp + time,
|
|
35
|
+
time,
|
|
36
|
+
}, command);
|
|
21
37
|
}
|
|
22
38
|
if (command.channel && event.channel?.type !== undefined && event.channel?.type >= 0) {
|
|
23
39
|
if (!command.channel.includes(ChannelType[event.channel?.type]))
|
|
24
|
-
return await emit(event,
|
|
40
|
+
return await emit(event, {
|
|
41
|
+
reason: 'invalidChannel',
|
|
42
|
+
message: `\`${command.name}\` can only be used in ${command.channel.join(', ')} channels`,
|
|
43
|
+
channels: command.channel,
|
|
44
|
+
}, command);
|
|
25
45
|
}
|
|
26
46
|
if ((command.ignore?.channels?.length || 0) > 0 && command.ignore?.channels?.includes(event.channel?.id))
|
|
27
47
|
return true;
|
|
@@ -30,29 +50,75 @@ export default async function commandValidation(event, command) {
|
|
|
30
50
|
if ((command.ignore?.users?.length || 0) > 0 && command.ignore?.users?.includes(event.user.id))
|
|
31
51
|
return true;
|
|
32
52
|
if (command.ignore?.voice && event.member?.voice?.channel)
|
|
33
|
-
return await emit(event,
|
|
53
|
+
return await emit(event, {
|
|
54
|
+
reason: 'inVoice',
|
|
55
|
+
message: `\`${command.name}\` cannot be ran while in voice chat`,
|
|
56
|
+
}, command);
|
|
34
57
|
if (command.strict?.owner && !client.settings.ownerId.includes(event.user.id))
|
|
35
|
-
return await emit(event,
|
|
58
|
+
return await emit(event, {
|
|
59
|
+
reason: 'notADeveloper',
|
|
60
|
+
message: `\`${command.name}\` is a developer command`,
|
|
61
|
+
owners: client.settings.ownerId,
|
|
62
|
+
}, command);
|
|
36
63
|
if ((command.strict?.channels?.length || 0) > 0 && !command.strict?.channels?.includes(event.channel?.id))
|
|
37
|
-
return await emit(event,
|
|
64
|
+
return await emit(event, {
|
|
65
|
+
reason: 'channelRestricted',
|
|
66
|
+
message: `\`${command.name}\` cannot be ran in this channel`,
|
|
67
|
+
channels: command.strict?.channels,
|
|
68
|
+
}, command);
|
|
38
69
|
if ((command.strict?.guilds?.length || 0) > 0 && !command.strict?.guilds?.includes(event.guild?.id))
|
|
39
|
-
return await emit(event,
|
|
70
|
+
return await emit(event, {
|
|
71
|
+
reason: 'guildRestricted',
|
|
72
|
+
message: `\`${command.name}\` cannot be ran in this guild`,
|
|
73
|
+
guilds: command.strict?.guilds,
|
|
74
|
+
}, command);
|
|
40
75
|
if ((command.strict?.users?.length || 0) > 0 && !command.strict?.users?.includes(event.user.id))
|
|
41
|
-
return await emit(event,
|
|
76
|
+
return await emit(event, {
|
|
77
|
+
reason: 'userRestricted',
|
|
78
|
+
message: `\`${command.name}\` cannot be ran by you`,
|
|
79
|
+
users: command.strict?.users,
|
|
80
|
+
}, command);
|
|
42
81
|
if (command.strict?.voice && !event.member?.voice?.channel)
|
|
43
|
-
return await emit(event,
|
|
82
|
+
return await emit(event, {
|
|
83
|
+
reason: 'voiceRestricted',
|
|
84
|
+
message: `\`${command.name}\` cannot be ran while not in voice chat`,
|
|
85
|
+
}, command);
|
|
44
86
|
if (command.permissions?.dm == false && event.channel?.type === ChannelType.DM)
|
|
45
|
-
return await emit(event,
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
87
|
+
return await emit(event, {
|
|
88
|
+
reason: 'DMRestricted',
|
|
89
|
+
message: `\`${command.name}\` can't be used in a DM Channel`,
|
|
90
|
+
}, command);
|
|
91
|
+
if (userPermissions) {
|
|
92
|
+
const missing = userPermissions.map(permission => (event.member?.permissions).has(toBigInt([permission])) ? null : permission).filter(x => x);
|
|
93
|
+
const desired = (event.member?.permissions).has(toBigInt(userPermissions));
|
|
94
|
+
if (!desired)
|
|
95
|
+
return await emit(event, {
|
|
96
|
+
reason: 'missingUserPermissions',
|
|
97
|
+
message: `You are missing the following permissions to run \`${command.name}\`:\n${missing.map(permission => `> - ${permission}`).join('\n')}`,
|
|
98
|
+
required: userPermissions,
|
|
99
|
+
missing
|
|
100
|
+
}, command);
|
|
101
|
+
}
|
|
102
|
+
if (clientPermissions) {
|
|
103
|
+
const missing = clientPermissions.map(permission => event.guild?.members.me?.permissions.has(toBigInt([permission])) ? null : permission).filter(x => x);
|
|
104
|
+
const desired = (event.guild?.members.me?.permissions)?.has(toBigInt(clientPermissions));
|
|
105
|
+
if (!desired)
|
|
106
|
+
return await emit(event, {
|
|
107
|
+
reason: 'missingClientPermissions',
|
|
108
|
+
message: `I am missing the following permissions to run \`${command.name}\`:\n${missing.map(permission => `> - ${permission}`).join('\n')}`,
|
|
109
|
+
required: clientPermissions,
|
|
110
|
+
missing
|
|
111
|
+
}, command);
|
|
49
112
|
}
|
|
50
113
|
if ((!command.global || !client.settings.global) && client.settings.local !== event.guild?.id)
|
|
51
|
-
return await emit(event,
|
|
114
|
+
return await emit(event, {
|
|
115
|
+
reason: 'local',
|
|
116
|
+
message: `\`${command.name}\` is not globally deployed`,
|
|
117
|
+
}, command);
|
|
52
118
|
return false;
|
|
53
119
|
}
|
|
54
|
-
async function emit(event,
|
|
55
|
-
event.client.emit('commandBlock', event,
|
|
120
|
+
async function emit(event, info, command) {
|
|
121
|
+
event.client.emit('commandBlock', event, info, command);
|
|
56
122
|
return true;
|
|
57
123
|
}
|
|
58
124
|
function toBigInt(permissions) {
|