xernerx 4.4.19 → 4.5.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 +31 -23
- package/dist/build/ContextCommandBuilder.js +39 -39
- package/dist/build/EventBuilder.d.ts +1 -1
- package/dist/build/EventBuilder.js +2 -2
- package/dist/build/InhibitorBuilder.d.ts +11 -2
- package/dist/build/InhibitorBuilder.js +2 -2
- package/dist/build/MessageCommandBuilder.d.ts +26 -20
- package/dist/build/MessageCommandBuilder.js +34 -34
- package/dist/build/SlashCommandBuilder.d.ts +39 -25
- package/dist/build/SlashCommandBuilder.js +48 -48
- package/dist/build/XernerxContextCommand.d.ts +51 -0
- package/dist/build/XernerxContextCommand.d.ts.map +1 -0
- package/dist/build/XernerxContextCommand.js +68 -0
- package/dist/build/XernerxContextCommand.js.map +1 -0
- package/dist/build/XernerxEvent.d.ts +25 -0
- package/dist/build/XernerxEvent.d.ts.map +1 -0
- package/dist/build/XernerxEvent.js +29 -0
- package/dist/build/XernerxEvent.js.map +1 -0
- package/dist/build/XernerxInhibitor.d.ts +29 -0
- package/dist/build/XernerxInhibitor.d.ts.map +1 -0
- package/dist/build/XernerxInhibitor.js +21 -0
- package/dist/build/XernerxInhibitor.js.map +1 -0
- package/dist/build/XernerxMessageCommand.d.ts +48 -0
- package/dist/build/XernerxMessageCommand.d.ts.map +1 -0
- package/dist/build/XernerxMessageCommand.js +61 -0
- package/dist/build/XernerxMessageCommand.js.map +1 -0
- package/dist/build/XernerxSlashCommand.d.ts +62 -0
- package/dist/build/XernerxSlashCommand.d.ts.map +1 -0
- package/dist/build/XernerxSlashCommand.js +114 -0
- package/dist/build/XernerxSlashCommand.js.map +1 -0
- package/dist/client/XernerxClient.d.ts +37 -29
- package/dist/client/XernerxClient.d.ts.map +1 -1
- package/dist/client/XernerxClient.js +33 -33
- package/dist/client/XernerxClient.js.map +1 -1
- package/dist/client/XernerxShardClient.d.ts +1 -1
- package/dist/client/XernerxShardClient.js +15 -13
- package/dist/functions/delay.d.ts +1 -1
- package/dist/functions/delay.js +1 -1
- package/dist/functions/deploy.d.ts +1 -1
- package/dist/functions/deploy.js +15 -20
- package/dist/functions/deploy.js.map +1 -1
- package/dist/functions/isOwner.d.ts +2 -2
- package/dist/functions/isOwner.d.ts.map +1 -1
- package/dist/functions/isOwner.js +2 -4
- package/dist/functions/isOwner.js.map +1 -1
- package/dist/functions/isVoter.d.ts +1 -1
- package/dist/functions/isVoter.js +1 -1
- package/dist/functions/load.d.ts +1 -1
- package/dist/functions/load.js +2 -3
- package/dist/functions/load.js.map +1 -1
- package/dist/functions/reload.d.ts +1 -1
- package/dist/functions/reload.js +9 -12
- package/dist/functions/sendWebhook.d.ts +1 -1
- package/dist/functions/sendWebhook.js +2 -3
- package/dist/functions/setPresence.d.ts +2 -2
- package/dist/functions/setPresence.js +12 -11
- package/dist/functions/xernerxUser.d.ts +1 -1
- package/dist/functions/xernerxUser.d.ts.map +1 -1
- package/dist/functions/xernerxUser.js +9 -5
- package/dist/functions/xernerxUser.js.map +1 -1
- package/dist/handlers/CommandHandler.d.ts +1 -1
- package/dist/handlers/CommandHandler.js +84 -107
- package/dist/handlers/CommandHandler.js.map +1 -1
- package/dist/handlers/EventHandler.d.ts +1 -1
- package/dist/handlers/EventHandler.js +3 -3
- package/dist/handlers/ExtensionHandler.d.ts +1 -1
- package/dist/handlers/ExtensionHandler.js +3 -5
- package/dist/handlers/Handler.d.ts +6 -6
- package/dist/handlers/Handler.d.ts.map +1 -1
- package/dist/handlers/Handler.js +6 -16
- package/dist/handlers/Handler.js.map +1 -1
- package/dist/handlers/InhibitorHandler.d.ts +1 -1
- package/dist/handlers/InhibitorHandler.js +3 -3
- package/dist/handlers/WebhookHandler.d.ts +2 -4
- package/dist/handlers/WebhookHandler.js +9 -6
- package/dist/handlers/WebhookHandler.js.map +1 -1
- package/dist/main.d.ts +35 -28
- package/dist/main.js +35 -28
- package/dist/main.js.map +1 -1
- package/dist/models/Arguments.d.ts +8 -5
- package/dist/models/Arguments.js +48 -63
- package/dist/models/Arguments.js.map +1 -1
- package/dist/tools/XernerxError.d.ts +1 -1
- package/dist/tools/XernerxError.js +1 -1
- package/dist/tools/XernerxLog.d.ts +1 -1
- package/dist/tools/XernerxLog.js +7 -2
- package/dist/types/extenders.d.ts +5 -9
- package/dist/types/extenders.js +1 -1
- package/dist/types/interfaces.d.ts +21 -18
- package/dist/types/interfaces.d.ts.map +1 -1
- package/dist/types/interfaces.js +1 -1
- package/dist/types/interfaces.js.map +1 -1
- package/dist/types/types.d.ts +180 -8
- package/dist/types/types.d.ts.map +1 -1
- package/dist/types/types.js +1 -1
- package/dist/types/types.js.map +1 -1
- package/dist/utils/ClientUtil.d.ts +5 -5
- package/dist/utils/ClientUtil.d.ts.map +1 -1
- package/dist/utils/ClientUtil.js +8 -14
- package/dist/utils/ClientUtil.js.map +1 -1
- package/dist/utils/InteractionUtil.d.ts +2 -3
- package/dist/utils/InteractionUtil.d.ts.map +1 -1
- package/dist/utils/InteractionUtil.js +1 -5
- package/dist/utils/InteractionUtil.js.map +1 -1
- package/dist/utils/MessageUtil.d.ts +2 -3
- package/dist/utils/MessageUtil.d.ts.map +1 -1
- package/dist/utils/MessageUtil.js +5 -13
- package/dist/utils/MessageUtil.js.map +1 -1
- package/dist/utils/Util.d.ts +3 -2
- package/dist/utils/Util.d.ts.map +1 -1
- package/dist/utils/Util.js +4 -1
- package/dist/utils/Util.js.map +1 -1
- package/dist/validators/commandValidation.d.ts +8 -5
- package/dist/validators/commandValidation.js +19 -29
- package/dist/validators/commandValidation.js.map +1 -1
- package/dist/validators/inhibitorValidations.d.ts +20 -4
- package/dist/validators/inhibitorValidations.js +2 -2
- package/dist/validators/inhibitorValidations.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebhookHandler.js","sourceRoot":"","sources":["../../src/handlers/WebhookHandler.ts"],"names":[],"mappings":"AACA,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAChD,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,OAAO;IAC/C,YAAY,MAAqB;QAC7B,KAAK,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,OAA0B;QAChD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACvC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAEzB,WAAW,CAAC,GAAG,EAAE;gBACb,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC;YAEf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,GAAG,KAAK,EAAE,MAAc,EAAE,EAAE;gBACjD,OAAO,CAAC,CAAC,CACL,MAAM,CACF,MAAM,KAAK,CAAC,2BAA2B,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,iBAAiB,MAAM,EAAE,EAAE;oBAClF,OAAO,EAAE,EAAE,aAAa,EAAE,OAAO,CAAC,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE;iBAChF,CAAC,CACL,CAAC,IAAI,EAAE,CACX,CAAC,
|
|
1
|
+
{"version":3,"file":"WebhookHandler.js","sourceRoot":"","sources":["../../src/handlers/WebhookHandler.ts"],"names":[],"mappings":"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","sourcesContent":["import XernerxClient from '../client/XernerxClient.js';\nimport XernerxLog from '../tools/XernerxLog.js';\nimport Handler from './Handler.js';\n\nexport default class WebhookHandler extends Handler {\n constructor(client: XernerxClient) {\n super(client);\n }\n\n public async loadWebhooks(options: { token: string }) {\n this.client.once('ready', async (client) => {\n this.post(options.token);\n\n setInterval(() => {\n this.post(client.token);\n }, 60000 * 30);\n\n this.client.util.hasVoted = async (userId: string) => {\n return !!(\n await (\n await fetch(`https://top.gg/api/bots/${this.client.user?.id}/check?userId=${userId}`, {\n headers: { Authorization: options.token, 'Content-Type': 'application/json' },\n })\n ).json()\n ).voted as boolean;\n };\n });\n }\n\n private async post(token: string) {\n const guilds = await this.client.guilds.fetch();\n\n this.client.stats.guildCount = this.client.guilds.cache.size;\n\n this.client.stats.userCount = (await Promise.all(guilds.map(async (guild) => (await this.client.guilds.fetch(guild.id)).memberCount))).reduce((a, b) => (a += b));\n\n this.client.stats.shardId = (this.client.options.shards as Array<number>)?.at(0) || 0;\n\n this.client.stats.shardCount = this.client.options.shardCount || (this.client.options.shards as Array<number>)?.length || 1;\n\n try {\n new XernerxLog(this.client).info(`Posted Stats to Top.gg!`);\n\n this.client.emit('webhookCreate', this.client, this.client.stats);\n\n return await fetch(`https://top.gg/api/bots/stats`, {\n method: 'POST',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n server_count: this.client.stats.guildCount,\n shard_id: this.client.stats.shardId,\n shard_count: this.client.stats.shardCount,\n }),\n });\n } catch (error) {\n new XernerxLog(this.client).error(`An error occurred while posting stats to Top.gg`, error);\n\n return this.client.emit('webhookError', this.client, this.client.stats);\n }\n }\n}\n"]}
|
package/dist/main.d.ts
CHANGED
|
@@ -1,39 +1,46 @@
|
|
|
1
1
|
import XernerxClient from './client/XernerxClient.js';
|
|
2
2
|
import XernerxShardClient from './client/XernerxShardClient.js';
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
3
|
+
import XernerxMessageCommand from './build/XernerxMessageCommand.js';
|
|
4
|
+
import XernerxSlashCommand from './build/XernerxSlashCommand.js';
|
|
5
|
+
import XernerxContextCommand from './build/XernerxContextCommand.js';
|
|
6
|
+
import XernerxEvent from './build/XernerxEvent.js';
|
|
7
|
+
import XernerxInhibitor from './build/XernerxInhibitor.js';
|
|
8
8
|
import XernerxLog from './tools/XernerxLog.js';
|
|
9
9
|
export * from 'discord.js';
|
|
10
10
|
export * from 'dumfunctions';
|
|
11
|
-
import
|
|
11
|
+
import XernerxExtension from 'xernerx-extension-builder';
|
|
12
12
|
export * from './types/types.js';
|
|
13
13
|
export * from './types/extenders.js';
|
|
14
14
|
export * from './types/interfaces.js';
|
|
15
15
|
import Discord from 'discord.js';
|
|
16
16
|
declare const version: any;
|
|
17
17
|
export default XernerxClient;
|
|
18
|
-
export {
|
|
19
|
-
/**
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
XernerxClient,
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
18
|
+
export {
|
|
19
|
+
/**
|
|
20
|
+
** Clients
|
|
21
|
+
*/
|
|
22
|
+
XernerxClient,
|
|
23
|
+
XernerxShardClient,
|
|
24
|
+
/**
|
|
25
|
+
** Builders
|
|
26
|
+
*/
|
|
27
|
+
XernerxMessageCommand,
|
|
28
|
+
XernerxSlashCommand,
|
|
29
|
+
XernerxContextCommand,
|
|
30
|
+
XernerxEvent,
|
|
31
|
+
XernerxInhibitor,
|
|
32
|
+
XernerxExtension,
|
|
33
|
+
/**
|
|
34
|
+
** Imported exports
|
|
35
|
+
*/
|
|
36
|
+
Discord,
|
|
37
|
+
/**
|
|
38
|
+
** Properties
|
|
39
|
+
*/
|
|
40
|
+
version,
|
|
41
|
+
/**
|
|
42
|
+
** Tools
|
|
43
|
+
*/
|
|
44
|
+
XernerxLog,
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=main.d.ts.map
|
package/dist/main.js
CHANGED
|
@@ -1,40 +1,47 @@
|
|
|
1
1
|
import * as fs from 'fs';
|
|
2
2
|
import XernerxClient from './client/XernerxClient.js';
|
|
3
3
|
import XernerxShardClient from './client/XernerxShardClient.js';
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
4
|
+
import XernerxMessageCommand from './build/XernerxMessageCommand.js';
|
|
5
|
+
import XernerxSlashCommand from './build/XernerxSlashCommand.js';
|
|
6
|
+
import XernerxContextCommand from './build/XernerxContextCommand.js';
|
|
7
|
+
import XernerxEvent from './build/XernerxEvent.js';
|
|
8
|
+
import XernerxInhibitor from './build/XernerxInhibitor.js';
|
|
9
9
|
import XernerxLog from './tools/XernerxLog.js';
|
|
10
10
|
export * from 'discord.js';
|
|
11
11
|
export * from 'dumfunctions';
|
|
12
|
-
import
|
|
12
|
+
import XernerxExtension from 'xernerx-extension-builder';
|
|
13
13
|
export * from './types/types.js';
|
|
14
14
|
export * from './types/extenders.js';
|
|
15
15
|
export * from './types/interfaces.js';
|
|
16
16
|
import Discord from 'discord.js';
|
|
17
17
|
const version = JSON.parse(fs.readFileSync('node_modules/xernerx/package.json', 'utf-8')).version;
|
|
18
18
|
export default XernerxClient;
|
|
19
|
-
export {
|
|
20
|
-
/**
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
XernerxClient,
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
19
|
+
export {
|
|
20
|
+
/**
|
|
21
|
+
** Clients
|
|
22
|
+
*/
|
|
23
|
+
XernerxClient,
|
|
24
|
+
XernerxShardClient,
|
|
25
|
+
/**
|
|
26
|
+
** Builders
|
|
27
|
+
*/
|
|
28
|
+
XernerxMessageCommand,
|
|
29
|
+
XernerxSlashCommand,
|
|
30
|
+
XernerxContextCommand,
|
|
31
|
+
XernerxEvent,
|
|
32
|
+
XernerxInhibitor,
|
|
33
|
+
XernerxExtension,
|
|
34
|
+
/**
|
|
35
|
+
** Imported exports
|
|
36
|
+
*/
|
|
37
|
+
Discord,
|
|
38
|
+
/**
|
|
39
|
+
** Properties
|
|
40
|
+
*/
|
|
41
|
+
version,
|
|
42
|
+
/**
|
|
43
|
+
** Tools
|
|
44
|
+
*/
|
|
45
|
+
XernerxLog,
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=main.js.map
|
package/dist/main.js.map
CHANGED
|
@@ -1 +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
|
|
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 XernerxMessageCommand from './build/XernerxMessageCommand.js';\nimport XernerxSlashCommand from './build/XernerxSlashCommand.js';\nimport XernerxContextCommand from './build/XernerxContextCommand.js';\nimport XernerxEvent from './build/XernerxEvent.js';\nimport XernerxInhibitor from './build/XernerxInhibitor.js';\nimport XernerxLog from './tools/XernerxLog.js';\n\nexport * from 'discord.js';\nexport * from 'dumfunctions';\nimport XernerxExtension 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 XernerxMessageCommand,\n XernerxSlashCommand,\n XernerxContextCommand,\n XernerxEvent,\n XernerxInhibitor,\n XernerxExtension,\n\n /**\n ** Imported exports\n */\n Discord,\n\n /**\n ** Properties\n */\n version,\n\n /**\n ** Tools\n */\n XernerxLog,\n};\n"]}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import MessageCommandBuilder from '../build/
|
|
1
|
+
import XernerxSlashCommand from '../build/XernerxSlashCommand.js';
|
|
2
|
+
import XernerxContextCommand from '../build/XernerxContextCommand.js';
|
|
3
|
+
import MessageCommandBuilder from '../build/XernerxMessageCommand.js';
|
|
4
4
|
import { XernerxMessage, XernerxMessageContextInteraction, XernerxSlashInteraction, XernerxUserContextInteraction } from '../types/extenders.js';
|
|
5
5
|
import { MessageCommandArguments } from '../types/interfaces.js';
|
|
6
6
|
import { XernerxInteraction } from '../types/types.js';
|
|
7
7
|
export declare function messageArguments(message: XernerxMessage, command: MessageCommandBuilder): Promise<MessageCommandArguments>;
|
|
8
|
-
export declare function interactionArguments(
|
|
9
|
-
|
|
8
|
+
export declare function interactionArguments(
|
|
9
|
+
interaction: XernerxInteraction<XernerxSlashInteraction | XernerxUserContextInteraction | XernerxMessageContextInteraction> | any,
|
|
10
|
+
command: XernerxContextCommand | XernerxSlashCommand
|
|
11
|
+
): Promise<any>;
|
|
12
|
+
//# sourceMappingURL=Arguments.d.ts.map
|
package/dist/models/Arguments.js
CHANGED
|
@@ -1,45 +1,35 @@
|
|
|
1
1
|
export async function messageArguments(message, command) {
|
|
2
|
-
const separator = command.separator || ' ',
|
|
3
|
-
|
|
2
|
+
const separator = command.separator || ' ',
|
|
3
|
+
content = message.content.split(separator).slice(1);
|
|
4
|
+
let args = {},
|
|
5
|
+
flags = {};
|
|
4
6
|
if (command.flags)
|
|
5
7
|
command.flags.map((flag) => {
|
|
6
|
-
if (!flags)
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
flags[flag.name] = true;
|
|
10
|
-
else
|
|
11
|
-
flags[flag.name] = false;
|
|
8
|
+
if (!flags) flags = {};
|
|
9
|
+
if (content.includes(flag.match)) flags[flag.name] = true;
|
|
10
|
+
else flags[flag.name] = false;
|
|
12
11
|
const index = content.indexOf(flag.match);
|
|
13
|
-
if (index > 0)
|
|
14
|
-
content.splice(index, 1);
|
|
12
|
+
if (index > 0) content.splice(index, 1);
|
|
15
13
|
});
|
|
16
14
|
if (command.args)
|
|
17
15
|
for (const argument of command.args) {
|
|
18
16
|
const element = content.at(0) || null;
|
|
19
17
|
if (!element) {
|
|
20
|
-
if (typeof argument.default === 'function')
|
|
21
|
-
args[argument.name] = argument.default(message);
|
|
18
|
+
if (typeof argument.default === 'function') args[argument.name] = argument.default(message);
|
|
22
19
|
args[argument.name] = argument.default || null;
|
|
23
20
|
continue;
|
|
24
21
|
}
|
|
25
|
-
if (argument.type === 'option')
|
|
26
|
-
|
|
27
|
-
if (argument.type === '
|
|
28
|
-
|
|
29
|
-
if (argument.type === '
|
|
30
|
-
|
|
31
|
-
if (argument.type === 'boolean')
|
|
32
|
-
args[argument.name] = element === 'true' ? true : false;
|
|
33
|
-
if (argument.type === 'confirm')
|
|
34
|
-
args[argument.name] = element === 'yes' ? 'yes' : 'no';
|
|
35
|
-
if (argument.type === 'string')
|
|
36
|
-
args[argument.name] = element;
|
|
22
|
+
if (argument.type === 'option') argument.match?.includes(element) ? (args[argument.name] = element) : (args[argument.name] = null);
|
|
23
|
+
if (argument.type === 'number') args[argument.name] = parseInt(element);
|
|
24
|
+
if (argument.type === 'integer') args[argument.name] = parseInt(element);
|
|
25
|
+
if (argument.type === 'boolean') args[argument.name] = element === 'true' ? true : false;
|
|
26
|
+
if (argument.type === 'confirm') args[argument.name] = element === 'yes' ? 'yes' : 'no';
|
|
27
|
+
if (argument.type === 'string') args[argument.name] = element;
|
|
37
28
|
if (argument.type === 'channel') {
|
|
38
29
|
try {
|
|
39
30
|
const channel = await message.client.channels.fetch(element);
|
|
40
31
|
args[argument.name] = channel;
|
|
41
|
-
}
|
|
42
|
-
catch (e) {
|
|
32
|
+
} catch (e) {
|
|
43
33
|
args[argument.name] = null;
|
|
44
34
|
}
|
|
45
35
|
}
|
|
@@ -47,32 +37,33 @@ export async function messageArguments(message, command) {
|
|
|
47
37
|
try {
|
|
48
38
|
const guild = await message.client.guilds.fetch(element);
|
|
49
39
|
args[argument.name] = guild;
|
|
50
|
-
}
|
|
51
|
-
catch (e) {
|
|
40
|
+
} catch (e) {
|
|
52
41
|
args[argument.name] = null;
|
|
53
42
|
}
|
|
54
43
|
}
|
|
55
44
|
if (argument.type === 'mentionable') {
|
|
56
|
-
(
|
|
57
|
-
|
|
58
|
-
.
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
45
|
+
(
|
|
46
|
+
await Promise.all(
|
|
47
|
+
[message.guild?.roles, message.client.users, message.client.guilds, message.client.channels, message.guild?.members, message.channel.messages].map((req) =>
|
|
48
|
+
req
|
|
49
|
+
? req
|
|
50
|
+
.fetch(element)
|
|
51
|
+
.then((r) => r)
|
|
52
|
+
.catch(() => null)
|
|
53
|
+
: null
|
|
54
|
+
)
|
|
55
|
+
)
|
|
56
|
+
).map((mentionable) => {
|
|
57
|
+
if (!args) args = {};
|
|
58
|
+
if (mentionable) return (args[argument.name] = mentionable);
|
|
59
|
+
else return (args[argument.name] = null);
|
|
68
60
|
});
|
|
69
61
|
}
|
|
70
62
|
if (argument.type === 'role') {
|
|
71
63
|
try {
|
|
72
64
|
const role = await message.guild?.roles.fetch(element);
|
|
73
65
|
args[argument.name] = role;
|
|
74
|
-
}
|
|
75
|
-
catch (e) {
|
|
66
|
+
} catch (e) {
|
|
76
67
|
args[argument.name] = null;
|
|
77
68
|
}
|
|
78
69
|
}
|
|
@@ -80,8 +71,7 @@ export async function messageArguments(message, command) {
|
|
|
80
71
|
try {
|
|
81
72
|
const user = await message.client.users.fetch(element);
|
|
82
73
|
args[argument.name] = user;
|
|
83
|
-
}
|
|
84
|
-
catch (e) {
|
|
74
|
+
} catch (e) {
|
|
85
75
|
args[argument.name] = null;
|
|
86
76
|
}
|
|
87
77
|
}
|
|
@@ -89,8 +79,7 @@ export async function messageArguments(message, command) {
|
|
|
89
79
|
try {
|
|
90
80
|
const member = await message.guild?.members.fetch(element);
|
|
91
81
|
args[argument.name] = member;
|
|
92
|
-
}
|
|
93
|
-
catch (e) {
|
|
82
|
+
} catch (e) {
|
|
94
83
|
args[argument.name] = null;
|
|
95
84
|
}
|
|
96
85
|
}
|
|
@@ -98,20 +87,18 @@ export async function messageArguments(message, command) {
|
|
|
98
87
|
try {
|
|
99
88
|
const msg = await message.channel?.messages.fetch(element);
|
|
100
89
|
args[argument.name] = msg;
|
|
101
|
-
}
|
|
102
|
-
catch (e) {
|
|
90
|
+
} catch (e) {
|
|
103
91
|
args[argument.name] = null;
|
|
104
92
|
}
|
|
105
93
|
}
|
|
106
94
|
if (argument.type === 'list') {
|
|
107
95
|
let separator = String(argument.separator) || ',';
|
|
108
|
-
if (separator.startsWith('/') && separator.endsWith('/'))
|
|
109
|
-
separator = separator.replace(/^\/|\/$/gim, '');
|
|
96
|
+
if (separator.startsWith('/') && separator.endsWith('/')) separator = separator.replace(/^\/|\/$/gim, '');
|
|
110
97
|
const items = content.join(' ').split(new RegExp(' *' + separator + ' *', 'gi'));
|
|
111
|
-
if (!argument.content)
|
|
112
|
-
args[argument.name] = items;
|
|
98
|
+
if (!argument.content) args[argument.name] = items;
|
|
113
99
|
else {
|
|
114
|
-
const contents = argument.content.map((content) => content.toLowerCase()),
|
|
100
|
+
const contents = argument.content.map((content) => content.toLowerCase()),
|
|
101
|
+
itemList = [];
|
|
115
102
|
items.map((item) => (contents.includes(item.toLowerCase()) ? itemList.push(argument.content?.at(contents.indexOf(item.toLowerCase()))) : null));
|
|
116
103
|
args[argument.name] = itemList;
|
|
117
104
|
break;
|
|
@@ -123,16 +110,16 @@ export async function messageArguments(message, command) {
|
|
|
123
110
|
}
|
|
124
111
|
content.splice(0, 1);
|
|
125
112
|
}
|
|
126
|
-
if (!command.flags)
|
|
127
|
-
|
|
128
|
-
if (!command.args)
|
|
129
|
-
args = null;
|
|
113
|
+
if (!command.flags) flags = null;
|
|
114
|
+
if (!command.args) args = null;
|
|
130
115
|
return { args, flags };
|
|
131
116
|
}
|
|
132
117
|
export async function interactionArguments(interaction, command) {
|
|
133
118
|
if (command.fileType === 'SlashCommand') {
|
|
134
119
|
const options = {};
|
|
135
|
-
let args = interaction?.options?._hoistedOptions,
|
|
120
|
+
let args = interaction?.options?._hoistedOptions,
|
|
121
|
+
group = interaction?.options?._group,
|
|
122
|
+
subcommand = interaction?.options?._subcommand;
|
|
136
123
|
if (interaction.options._hoistedOptions) {
|
|
137
124
|
for (const option of interaction.options._hoistedOptions) {
|
|
138
125
|
options[option.name] = option.member || option.channel || option.user || option.role || option.value;
|
|
@@ -142,10 +129,8 @@ export async function interactionArguments(interaction, command) {
|
|
|
142
129
|
return { args, group, subcommand };
|
|
143
130
|
}
|
|
144
131
|
if (command.fileType === 'ContextCommand') {
|
|
145
|
-
if (command.type === 'user')
|
|
146
|
-
|
|
147
|
-
if (command.type === 'message')
|
|
148
|
-
return await interaction.channel.messages.fetch(interaction.targetId);
|
|
132
|
+
if (command.type === 'user') return await interaction.client.users.fetch(interaction.targetId);
|
|
133
|
+
if (command.type === 'message') return await interaction.channel.messages.fetch(interaction.targetId);
|
|
149
134
|
}
|
|
150
135
|
}
|
|
151
|
-
//# sourceMappingURL=Arguments.js.map
|
|
136
|
+
//# sourceMappingURL=Arguments.js.map
|
|
@@ -1 +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"]}
|
|
1
|
+
{"version":3,"file":"Arguments.js","sourceRoot":"","sources":["../../src/models/Arguments.ts"],"names":[],"mappings":"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","sourcesContent":["import XernerxSlashCommand from '../build/XernerxSlashCommand.js';\nimport XernerxContextCommand from '../build/XernerxContextCommand.js';\nimport MessageCommandBuilder from '../build/XernerxMessageCommand.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: XernerxContextCommand | XernerxSlashCommand\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"]}
|
package/dist/tools/XernerxLog.js
CHANGED
|
@@ -18,7 +18,12 @@ export default class XernerxLog {
|
|
|
18
18
|
}
|
|
19
19
|
ready() {
|
|
20
20
|
this.client.prependOnceListener('ready', async (synced) => {
|
|
21
|
-
this.info(
|
|
21
|
+
this.info(
|
|
22
|
+
`${synced.user.tag} is now online, watching ${this.client.guilds.cache.size} guilds, using ${
|
|
23
|
+
this.client.settings.local ? await this.client.guilds.fetch(this.client.settings.local) : 'none'
|
|
24
|
+
} as local guild.`,
|
|
25
|
+
this.readyLog
|
|
26
|
+
);
|
|
22
27
|
const files = [];
|
|
23
28
|
for (const [id, data] of this.client.commands.message) {
|
|
24
29
|
files.push(data);
|
|
@@ -46,4 +51,4 @@ export default class XernerxLog {
|
|
|
46
51
|
});
|
|
47
52
|
}
|
|
48
53
|
}
|
|
49
|
-
//# sourceMappingURL=XernerxLog.js.map
|
|
54
|
+
//# sourceMappingURL=XernerxLog.js.map
|
|
@@ -8,14 +8,10 @@ export interface XernerxUser extends User {
|
|
|
8
8
|
export interface XernerxMember extends GuildMember {
|
|
9
9
|
username: string;
|
|
10
10
|
}
|
|
11
|
-
export interface XernerxGuild extends Guild {
|
|
12
|
-
}
|
|
13
|
-
export interface
|
|
14
|
-
}
|
|
15
|
-
export interface XernerxDMChannel extends DMChannel {
|
|
16
|
-
}
|
|
17
|
-
interface XernerxCommand {
|
|
18
|
-
}
|
|
11
|
+
export interface XernerxGuild extends Guild {}
|
|
12
|
+
export interface XernerxGuildChannel extends GuildChannel {}
|
|
13
|
+
export interface XernerxDMChannel extends DMChannel {}
|
|
14
|
+
interface XernerxCommand {}
|
|
19
15
|
export interface XernerxMessage extends Message, XernerxCommand {
|
|
20
16
|
user: XernerxUser;
|
|
21
17
|
util: MessageUtil;
|
|
@@ -33,4 +29,4 @@ export interface XernerxMessageContextInteraction extends MessageContextMenuComm
|
|
|
33
29
|
util: InteractionUtil;
|
|
34
30
|
}
|
|
35
31
|
export {};
|
|
36
|
-
//# sourceMappingURL=extenders.d.ts.map
|
|
32
|
+
//# sourceMappingURL=extenders.d.ts.map
|
package/dist/types/extenders.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=extenders.js.map
|
|
2
|
+
//# sourceMappingURL=extenders.js.map
|
|
@@ -3,14 +3,14 @@ import CommandHandler from '../handlers/CommandHandler.js';
|
|
|
3
3
|
import EventHandler from '../handlers/EventHandler.js';
|
|
4
4
|
import InhibitorHandler from '../handlers/InhibitorHandler.js';
|
|
5
5
|
import WebhookHandler from '../handlers/WebhookHandler.js';
|
|
6
|
-
import
|
|
7
|
-
import MessageCommandBuilder from '../build/
|
|
8
|
-
import
|
|
9
|
-
import { Locales, MessageCommandArgumentType, PermissionNames, SlashCommandArgumentType,
|
|
6
|
+
import XernerxContextCommand from '../build/XernerxContextCommand.js';
|
|
7
|
+
import MessageCommandBuilder from '../build/XernerxMessageCommand.js';
|
|
8
|
+
import XernerxSlashCommand from '../build/XernerxSlashCommand.js';
|
|
9
|
+
import { Locales, MessageCommandArgumentType, PermissionNames, SlashCommandArgumentType, XernerxEventType, InhibitorType } from './types.js';
|
|
10
10
|
import ExtensionHandler from '../handlers/ExtensionHandler.js';
|
|
11
11
|
import { XernerxMessage, XernerxUser } from './extenders.js';
|
|
12
12
|
export interface XernerxOptions {
|
|
13
|
-
local
|
|
13
|
+
local: string;
|
|
14
14
|
global?: boolean;
|
|
15
15
|
ownerId?: string | Array<string>;
|
|
16
16
|
permissions?: {
|
|
@@ -51,8 +51,8 @@ export interface ModuleOptions {
|
|
|
51
51
|
}
|
|
52
52
|
export interface XernerxCommands {
|
|
53
53
|
message: Collection<string, MessageCommandBuilder>;
|
|
54
|
-
slash: Collection<string,
|
|
55
|
-
context: Collection<string,
|
|
54
|
+
slash: Collection<string, XernerxSlashCommand>;
|
|
55
|
+
context: Collection<string, XernerxContextCommand>;
|
|
56
56
|
}
|
|
57
57
|
export interface DBLOptions {
|
|
58
58
|
topgg: {
|
|
@@ -68,11 +68,14 @@ export interface DBLOptions {
|
|
|
68
68
|
}
|
|
69
69
|
export interface XernerxCache {
|
|
70
70
|
messages: Collection<string, string>;
|
|
71
|
-
cooldowns: Collection<
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
71
|
+
cooldowns: Collection<
|
|
72
|
+
string,
|
|
73
|
+
{
|
|
74
|
+
id: string;
|
|
75
|
+
command: string;
|
|
76
|
+
createdTimestamp: number;
|
|
77
|
+
}
|
|
78
|
+
>;
|
|
76
79
|
}
|
|
77
80
|
interface CommandHandlerOptions {
|
|
78
81
|
directory: string;
|
|
@@ -206,18 +209,18 @@ export interface SlashCommandGroupOptions {
|
|
|
206
209
|
description: string;
|
|
207
210
|
subcommands: Array<SlashCommandSubcommandOptions>;
|
|
208
211
|
}
|
|
209
|
-
export interface SlashCommandArguments {
|
|
210
|
-
args: Record<string,
|
|
212
|
+
export interface SlashCommandArguments<T = SlashCommandArgumentType> {
|
|
213
|
+
args: Record<string, any>;
|
|
211
214
|
subcommand: string;
|
|
212
215
|
group: string;
|
|
213
216
|
}
|
|
214
|
-
export interface
|
|
215
|
-
name:
|
|
217
|
+
export interface XernerxEventOptions {
|
|
218
|
+
name: XernerxEventType;
|
|
216
219
|
emitter?: 'client' | 'process';
|
|
217
220
|
type?: 'discord' | 'node';
|
|
218
221
|
once?: boolean;
|
|
219
222
|
}
|
|
220
|
-
export interface
|
|
223
|
+
export interface XernerxInhibitorOptions {
|
|
221
224
|
name: string;
|
|
222
225
|
type: InhibitorType;
|
|
223
226
|
}
|
|
@@ -230,4 +233,4 @@ export interface PresenceOptions {
|
|
|
230
233
|
}
|
|
231
234
|
export type ContextCommandArguments<T extends 'user' | 'message'> = T extends 'user' ? XernerxUser : XernerxMessage;
|
|
232
235
|
export {};
|
|
233
|
-
//# sourceMappingURL=interfaces.d.ts.map
|
|
236
|
+
//# sourceMappingURL=interfaces.d.ts.map
|