xernerx 4.4.14 → 4.4.16

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.
Files changed (41) hide show
  1. package/dist/build/ContextCommandBuilder.d.ts +3 -3
  2. package/dist/build/ContextCommandBuilder.d.ts.map +1 -1
  3. package/dist/build/ContextCommandBuilder.js.map +1 -1
  4. package/dist/build/EventBuilder.d.ts +1 -1
  5. package/dist/build/EventBuilder.d.ts.map +1 -1
  6. package/dist/build/EventBuilder.js.map +1 -1
  7. package/dist/build/InhibitorBuilder.d.ts +12 -3
  8. package/dist/build/InhibitorBuilder.d.ts.map +1 -1
  9. package/dist/build/InhibitorBuilder.js.map +1 -1
  10. package/dist/build/MessageCommandBuilder.d.ts +3 -3
  11. package/dist/build/MessageCommandBuilder.d.ts.map +1 -1
  12. package/dist/build/MessageCommandBuilder.js.map +1 -1
  13. package/dist/build/SlashCommandBuilder.d.ts +11 -5
  14. package/dist/build/SlashCommandBuilder.d.ts.map +1 -1
  15. package/dist/build/SlashCommandBuilder.js.map +1 -1
  16. package/dist/client/XernerxShardClient.d.ts.map +1 -1
  17. package/dist/client/XernerxShardClient.js +3 -1
  18. package/dist/client/XernerxShardClient.js.map +1 -1
  19. package/dist/handlers/CommandHandler.js.map +1 -1
  20. package/dist/models/Arguments.d.ts +5 -2
  21. package/dist/models/Arguments.d.ts.map +1 -1
  22. package/dist/models/Arguments.js.map +1 -1
  23. package/dist/types/extenders.d.ts +3 -0
  24. package/dist/types/extenders.d.ts.map +1 -1
  25. package/dist/types/extenders.js.map +1 -1
  26. package/dist/types/interfaces.d.ts +4 -2
  27. package/dist/types/interfaces.d.ts.map +1 -1
  28. package/dist/types/interfaces.js.map +1 -1
  29. package/dist/types/types.d.ts +5 -1
  30. package/dist/types/types.d.ts.map +1 -1
  31. package/dist/types/types.js.map +1 -1
  32. package/dist/utils/InteractionUtil.d.ts +2 -1
  33. package/dist/utils/InteractionUtil.d.ts.map +1 -1
  34. package/dist/utils/InteractionUtil.js.map +1 -1
  35. package/dist/validators/commandValidation.d.ts +5 -2
  36. package/dist/validators/commandValidation.d.ts.map +1 -1
  37. package/dist/validators/commandValidation.js.map +1 -1
  38. package/dist/validators/inhibitorValidations.d.ts +7 -4
  39. package/dist/validators/inhibitorValidations.d.ts.map +1 -1
  40. package/dist/validators/inhibitorValidations.js.map +1 -1
  41. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  import { ContextMenuCommandBuilder } from 'discord.js';
2
2
  import XernerxClient from '../client/XernerxClient.js';
3
- import { XernerxMessage, XernerxMessageContextInteraction, XernerxUser, XernerxUserContextInteraction } from '../types/extenders.js';
4
- import { ContextCommandOptions } from '../types/interfaces.js';
3
+ import { XernerxMessageContextInteraction, XernerxUserContextInteraction } from '../types/extenders.js';
4
+ import { ContextCommandArguments, ContextCommandOptions } from '../types/interfaces.js';
5
5
  export default class ContextCommandBuilder {
6
6
  readonly id: string;
7
7
  readonly data: ContextMenuCommandBuilder;
@@ -46,6 +46,6 @@ export default class ContextCommandBuilder {
46
46
  readonly filePath: string;
47
47
  readonly client: typeof XernerxClient;
48
48
  constructor(id: string, options: ContextCommandOptions);
49
- exec<T>(interaction: XernerxUserContextInteraction | XernerxMessageContextInteraction, args: XernerxUser | XernerxMessage): Promise<void | any | T>;
49
+ exec<T>(interaction: XernerxUserContextInteraction | XernerxMessageContextInteraction, args: ContextCommandArguments<'user' | 'message'>): Promise<void | any | T>;
50
50
  }
51
51
  //# sourceMappingURL=ContextCommandBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContextCommandBuilder.d.ts","sourceRoot":"","sources":["../../src/build/ContextCommandBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAGvD,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,gCAAgC,EAAE,WAAW,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AACrI,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,MAAM,CAAC,OAAO,OAAO,qBAAqB;IACtC,SAAwB,EAAE,SAAC;IAC3B,SAAwB,IAAI,4BAAC;IAC7B,SAAwB,IAAI,SAAC;IAC7B,SAAwB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACjD,SAAwB,WAAW,4BAAC;IACpC,SAAwB,KAAK,4BAAC;IAC9B,SAAwB,IAAI,4BAAC;IAC7B,SAAwB,QAAQ,4BAAC;IACjC,SAAwB,QAAQ,4BAAC;IACjC,SAAwB,MAAM;;;;;kBAAC;IAC/B,SAAwB,MAAM;;;;;kBAAC;IAC/B,SAAwB,WAAW;;;;kBAAC;IACpC,SAAwB,KAAK;;;;kBAAC;IAC9B,SAAwB,QAAQ,EAAE,gBAAgB,CAAC;IACnD,SAAwB,QAAQ,EAAE,MAAM,CAAC;IACzC,SAAwB,MAAM,uBAAC;gBAEZ,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB;IAgFhD,IAAI,CAAC,CAAC,EAAE,WAAW,EAAE,6BAA6B,GAAG,gCAAgC,EAAE,IAAI,EAAE,WAAW,GAAG,cAAc,GAAG,OAAO,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC;CACnK"}
1
+ {"version":3,"file":"ContextCommandBuilder.d.ts","sourceRoot":"","sources":["../../src/build/ContextCommandBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAGvD,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,gCAAgC,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AACxG,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAExF,MAAM,CAAC,OAAO,OAAO,qBAAqB;IACtC,SAAwB,EAAE,SAAC;IAC3B,SAAwB,IAAI,4BAAC;IAC7B,SAAwB,IAAI,SAAC;IAC7B,SAAwB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACjD,SAAwB,WAAW,4BAAC;IACpC,SAAwB,KAAK,4BAAC;IAC9B,SAAwB,IAAI,4BAAC;IAC7B,SAAwB,QAAQ,4BAAC;IACjC,SAAwB,QAAQ,4BAAC;IACjC,SAAwB,MAAM;;;;;kBAAC;IAC/B,SAAwB,MAAM;;;;;kBAAC;IAC/B,SAAwB,WAAW;;;;kBAAC;IACpC,SAAwB,KAAK;;;;kBAAC;IAC9B,SAAwB,QAAQ,EAAE,gBAAgB,CAAC;IACnD,SAAwB,QAAQ,EAAE,MAAM,CAAC;IACzC,SAAwB,MAAM,uBAAC;gBAEZ,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB;IAgFhD,IAAI,CAAC,CAAC,EAAE,WAAW,EAAE,6BAA6B,GAAG,gCAAgC,EAAE,IAAI,EAAE,uBAAuB,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC;CAClL"}
@@ -1 +1 @@
1
- {"version":3,"file":"ContextCommandBuilder.js","sourceRoot":"","sources":["../../src/build/ContextCommandBuilder.ts"],"names":[],"mappings":"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","sourcesContent":["import { ContextMenuCommandBuilder } from 'discord.js';\nimport { z } from 'zod';\n\nimport XernerxClient from '../client/XernerxClient.js';\nimport { XernerxMessage, XernerxMessageContextInteraction, XernerxUser, XernerxUserContextInteraction } from '../types/extenders.js';\nimport { ContextCommandOptions } from '../types/interfaces.js';\n\nexport default class ContextCommandBuilder {\n public declare readonly id;\n public declare readonly data;\n public declare readonly name;\n public declare readonly type: 'user' | 'message';\n public declare readonly description;\n public declare readonly usage;\n public declare readonly info;\n public declare readonly category;\n public declare readonly cooldown;\n public declare readonly ignore;\n public declare readonly strict;\n public declare readonly permissions;\n public declare readonly defer;\n public declare readonly fileType: 'ContextCommand';\n public declare readonly filePath: string;\n public declare readonly client;\n\n public constructor(id: string, options: ContextCommandOptions) {\n this.id = id;\n\n this.data = new ContextMenuCommandBuilder();\n\n this.data.setName(options.name);\n\n this.data.setNameLocalizations(options.nameLocalizations || null);\n\n this.data.setType(options.type === 'user' ? 2 : 3);\n\n this.data.setDMPermission(options.permissions?.dm || null);\n\n options = z\n .object({\n name: z.string(),\n type: z.enum(['user', 'message']),\n description: z.string().or(z.null()).default(null),\n usage: z.string().or(z.null()).default(null),\n info: z.string().or(z.null()).default(null),\n category: z.string().or(z.null()).default(null),\n cooldown: z.number().or(z.null()).default(null),\n ignore: z\n .object({\n owner: z.boolean().default(false),\n users: z.array(z.string()).default([]),\n channels: z.array(z.string()).default([]),\n guilds: z.array(z.string()).default([]),\n })\n .default({}),\n strict: z\n .object({\n owner: z.boolean().default(false),\n users: z.array(z.string()).default([]),\n channels: z.array(z.string()).default([]),\n guilds: z.array(z.string()).default([]),\n })\n .default({}),\n permissions: z\n .object({\n user: z.array(z.string()).default([]),\n client: z.array(z.string()).default([]),\n dm: z.boolean().default(true),\n })\n .default({}),\n defer: z\n .object({\n reply: z.boolean().default(false),\n ephemeral: z.boolean().default(false),\n fetch: z.boolean().default(false),\n })\n .default({}),\n })\n .parse(options);\n\n this.name = options.name;\n\n this.type = options.type;\n\n this.description = options.description;\n\n this.usage = options.usage;\n\n this.info = options.info;\n\n this.category = options.category;\n\n this.cooldown = options.cooldown;\n\n this.ignore = options.ignore;\n\n this.strict = options.strict;\n\n this.permissions = options.permissions;\n\n this.defer = options.defer;\n\n this.client = XernerxClient;\n }\n\n public async exec<T>(interaction: XernerxUserContextInteraction | XernerxMessageContextInteraction, args: XernerxUser | XernerxMessage): Promise<void | any | T> {}\n}\n"]}
1
+ {"version":3,"file":"ContextCommandBuilder.js","sourceRoot":"","sources":["../../src/build/ContextCommandBuilder.ts"],"names":[],"mappings":"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","sourcesContent":["import { ContextMenuCommandBuilder } from 'discord.js';\nimport { z } from 'zod';\n\nimport XernerxClient from '../client/XernerxClient.js';\nimport { XernerxMessageContextInteraction, XernerxUserContextInteraction } from '../types/extenders.js';\nimport { ContextCommandArguments, ContextCommandOptions } from '../types/interfaces.js';\n\nexport default class ContextCommandBuilder {\n public declare readonly id;\n public declare readonly data;\n public declare readonly name;\n public declare readonly type: 'user' | 'message';\n public declare readonly description;\n public declare readonly usage;\n public declare readonly info;\n public declare readonly category;\n public declare readonly cooldown;\n public declare readonly ignore;\n public declare readonly strict;\n public declare readonly permissions;\n public declare readonly defer;\n public declare readonly fileType: 'ContextCommand';\n public declare readonly filePath: string;\n public declare readonly client;\n\n public constructor(id: string, options: ContextCommandOptions) {\n this.id = id;\n\n this.data = new ContextMenuCommandBuilder();\n\n this.data.setName(options.name);\n\n this.data.setNameLocalizations(options.nameLocalizations || null);\n\n this.data.setType(options.type === 'user' ? 2 : 3);\n\n this.data.setDMPermission(options.permissions?.dm || null);\n\n options = z\n .object({\n name: z.string(),\n type: z.enum(['user', 'message']),\n description: z.string().or(z.null()).default(null),\n usage: z.string().or(z.null()).default(null),\n info: z.string().or(z.null()).default(null),\n category: z.string().or(z.null()).default(null),\n cooldown: z.number().or(z.null()).default(null),\n ignore: z\n .object({\n owner: z.boolean().default(false),\n users: z.array(z.string()).default([]),\n channels: z.array(z.string()).default([]),\n guilds: z.array(z.string()).default([]),\n })\n .default({}),\n strict: z\n .object({\n owner: z.boolean().default(false),\n users: z.array(z.string()).default([]),\n channels: z.array(z.string()).default([]),\n guilds: z.array(z.string()).default([]),\n })\n .default({}),\n permissions: z\n .object({\n user: z.array(z.string()).default([]),\n client: z.array(z.string()).default([]),\n dm: z.boolean().default(true),\n })\n .default({}),\n defer: z\n .object({\n reply: z.boolean().default(false),\n ephemeral: z.boolean().default(false),\n fetch: z.boolean().default(false),\n })\n .default({}),\n })\n .parse(options);\n\n this.name = options.name;\n\n this.type = options.type;\n\n this.description = options.description;\n\n this.usage = options.usage;\n\n this.info = options.info;\n\n this.category = options.category;\n\n this.cooldown = options.cooldown;\n\n this.ignore = options.ignore;\n\n this.strict = options.strict;\n\n this.permissions = options.permissions;\n\n this.defer = options.defer;\n\n this.client = XernerxClient;\n }\n\n public async exec<T>(interaction: XernerxUserContextInteraction | XernerxMessageContextInteraction, args: ContextCommandArguments<'user' | 'message'>): Promise<void | any | T> {}\n}\n"]}
@@ -20,6 +20,6 @@ export default class EventBuilder {
20
20
  * @description run your custom event here.
21
21
  * TODO - update description
22
22
  */
23
- run<T>(): Promise<void | any | T>;
23
+ run(): Promise<void | any>;
24
24
  }
25
25
  //# sourceMappingURL=EventBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EventBuilder.d.ts","sourceRoot":"","sources":["../../src/build/EventBuilder.ts"],"names":[],"mappings":"AAEA,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAG9C;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,YAAY;IAC7B,SAAwB,EAAE,EAAE,MAAM,CAAC;IACnC,SAAwB,IAAI,EAAE,SAAS,GAAG,MAAM,CAAC;IACjD,SAAwB,OAAO,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;IAChE,SAAwB,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAClD,SAAwB,IAAI,CAAC,EAAE,OAAO,CAAC;IACvC,SAAwB,QAAQ,EAAE,OAAO,CAAC;IAC1C,SAAwB,QAAQ,EAAE,MAAM,CAAC;IACzC,SAAwB,MAAM,uBAAC;gBAEZ,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB;IAoB3D;;;OAGG;IACU,GAAG,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC;CACjD"}
1
+ {"version":3,"file":"EventBuilder.d.ts","sourceRoot":"","sources":["../../src/build/EventBuilder.ts"],"names":[],"mappings":"AAEA,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAG9C;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,YAAY;IAC7B,SAAwB,EAAE,EAAE,MAAM,CAAC;IACnC,SAAwB,IAAI,EAAE,SAAS,GAAG,MAAM,CAAC;IACjD,SAAwB,OAAO,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;IAChE,SAAwB,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAClD,SAAwB,IAAI,CAAC,EAAE,OAAO,CAAC;IACvC,SAAwB,QAAQ,EAAE,OAAO,CAAC;IAC1C,SAAwB,QAAQ,EAAE,MAAM,CAAC;IACzC,SAAwB,MAAM,uBAAC;gBAEZ,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB;IAoB3D;;;OAGG;IACU,GAAG,IAAI,OAAO,CAAC,IAAI,GAAG,GAAG,CAAC;CAC1C"}
@@ -1 +1 @@
1
- {"version":3,"file":"EventBuilder.js","sourceRoot":"","sources":["../../src/build/EventBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,aAAa,MAAM,4BAA4B,CAAC;AAGvD,sDAAsD;AAEtD;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,YAAY;IAU7B,YAAmB,EAAU,EAAE,OAA4B;QACvD,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QAEb,CAAC,CAAC,MAAM,CAAC;YACL,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;YAChB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC9B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC3B,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;SAC/B,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAElB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAEzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,QAAQ,CAAC;QAE3C,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,SAAS,CAAC;QAEtC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC;QAElC,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC;IAChC,CAAC;IACD;;;OAGG;IACI,KAAK,CAAC,GAAG,KAAgC,CAAC;CACpD","sourcesContent":["import { z } from 'zod';\n\nimport XernerxClient from '../client/XernerxClient.js';\nimport { EventBuilderOptions } from '../types/interfaces.js';\nimport { EventType } from '../types/types.js';\n// import { EventOptions } from '../types/options.js';\n\n/**\n * @description - The event builder for events.\n * @param {String} id - The unique ID of the event.\n * @param {EventOptions} options - The event options.\n */\nexport default class EventBuilder {\n public declare readonly id: string;\n public declare readonly name: EventType | string;\n public declare readonly emitter?: 'client' | 'process' | string;\n public declare readonly type?: 'discord' | string;\n public declare readonly once?: boolean;\n public declare readonly fileType: 'Event';\n public declare readonly filePath: string;\n public declare readonly client;\n\n public constructor(id: string, options: EventBuilderOptions) {\n this.id = id;\n\n z.object({\n name: z.string(),\n emitter: z.string().optional(),\n type: z.string().optional(),\n once: z.boolean().optional(),\n }).parse(options);\n\n this.name = options.name;\n\n this.emitter = options.emitter || 'client';\n\n this.type = options.type || 'discord';\n\n this.once = options.once || false;\n\n this.client = XernerxClient;\n }\n /**\n * @description run your custom event here.\n * TODO - update description\n */\n public async run<T>(): Promise<void | any | T> {}\n}\n"]}
1
+ {"version":3,"file":"EventBuilder.js","sourceRoot":"","sources":["../../src/build/EventBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,aAAa,MAAM,4BAA4B,CAAC;AAGvD,sDAAsD;AAEtD;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,YAAY;IAU7B,YAAmB,EAAU,EAAE,OAA4B;QACvD,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QAEb,CAAC,CAAC,MAAM,CAAC;YACL,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;YAChB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC9B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC3B,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;SAC/B,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAElB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAEzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,QAAQ,CAAC;QAE3C,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,SAAS,CAAC;QAEtC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC;QAElC,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC;IAChC,CAAC;IACD;;;OAGG;IACI,KAAK,CAAC,GAAG,KAAyB,CAAC;CAC7C","sourcesContent":["import { z } from 'zod';\n\nimport XernerxClient from '../client/XernerxClient.js';\nimport { EventBuilderOptions } from '../types/interfaces.js';\nimport { EventType } from '../types/types.js';\n// import { EventOptions } from '../types/options.js';\n\n/**\n * @description - The event builder for events.\n * @param {String} id - The unique ID of the event.\n * @param {EventOptions} options - The event options.\n */\nexport default class EventBuilder {\n public declare readonly id: string;\n public declare readonly name: EventType | string;\n public declare readonly emitter?: 'client' | 'process' | string;\n public declare readonly type?: 'discord' | string;\n public declare readonly once?: boolean;\n public declare readonly fileType: 'Event';\n public declare readonly filePath: string;\n public declare readonly client;\n\n public constructor(id: string, options: EventBuilderOptions) {\n this.id = id;\n\n z.object({\n name: z.string(),\n emitter: z.string().optional(),\n type: z.string().optional(),\n once: z.boolean().optional(),\n }).parse(options);\n\n this.name = options.name;\n\n this.emitter = options.emitter || 'client';\n\n this.type = options.type || 'discord';\n\n this.once = options.once || false;\n\n this.client = XernerxClient;\n }\n /**\n * @description run your custom event here.\n * TODO - update description\n */\n public async run(): Promise<void | any> {}\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import XernerxClient from '../client/XernerxClient.js';
2
- import { InhibitorBuilderOptions } from '../types/interfaces.js';
3
- import { InhibitorType } from '../types/types.js';
2
+ import { InhibitorBuilderOptions, MessageCommandArguments, SlashCommandArguments } from '../types/interfaces.js';
3
+ import { InhibitorType, XernerxInteraction } from '../types/types.js';
4
4
  import { XernerxMessage, XernerxMessageContextInteraction, XernerxSlashInteraction, XernerxUserContextInteraction } from '../types/extenders.js';
5
5
  /**
6
6
  * @description - The inhibitor builder for inhibitors.
@@ -15,6 +15,15 @@ export default class InhibitorBuilder {
15
15
  readonly filePath: string;
16
16
  readonly client: typeof XernerxClient;
17
17
  constructor(id: string, options: InhibitorBuilderOptions);
18
- check<T>(interaction: XernerxMessage | XernerxSlashInteraction | XernerxUserContextInteraction | XernerxMessageContextInteraction, args: T): Promise<void | any | T>;
18
+ check<T extends XernerxMessage | XernerxInteraction<XernerxSlashInteraction | XernerxUserContextInteraction | XernerxMessageContextInteraction>>(
19
+ interaction: XernerxMessage | XernerxInteraction<XernerxSlashInteraction | XernerxUserContextInteraction | XernerxMessageContextInteraction>,
20
+ args: T extends XernerxMessage
21
+ ? MessageCommandArguments
22
+ : T extends XernerxSlashInteraction
23
+ ? SlashCommandArguments
24
+ : T extends XernerxUserContextInteraction
25
+ ? XernerxUserContextInteraction
26
+ : XernerxMessageContextInteraction | null
27
+ ): Promise<void | any | T>;
19
28
  }
20
29
  //# sourceMappingURL=InhibitorBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"InhibitorBuilder.d.ts","sourceRoot":"","sources":["../../src/build/InhibitorBuilder.ts"],"names":[],"mappings":"AAEA,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,gCAAgC,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AAEjJ;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,gBAAgB;IACjC,SAAwB,EAAE,SAAC;IAC3B,SAAwB,IAAI,SAAC;IAC7B,SAAwB,IAAI,EAAE,aAAa,CAAC;IAC5C,SAAwB,QAAQ,EAAE,WAAW,CAAC;IAC9C,SAAwB,QAAQ,EAAE,MAAM,CAAC;IACzC,SAAwB,MAAM,uBAAC;gBAEZ,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB;IAelD,KAAK,CAAC,CAAC,EAAE,WAAW,EAAE,cAAc,GAAG,uBAAuB,GAAG,6BAA6B,GAAG,gCAAgC,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC;CACpL"}
1
+ {"version":3,"file":"InhibitorBuilder.d.ts","sourceRoot":"","sources":["../../src/build/InhibitorBuilder.ts"],"names":[],"mappings":"AAEA,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACjH,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,gCAAgC,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AAEjJ;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,gBAAgB;IACjC,SAAwB,EAAE,SAAC;IAC3B,SAAwB,IAAI,SAAC;IAC7B,SAAwB,IAAI,EAAE,aAAa,CAAC;IAC5C,SAAwB,QAAQ,EAAE,WAAW,CAAC;IAC9C,SAAwB,QAAQ,EAAE,MAAM,CAAC;IACzC,SAAwB,MAAM,uBAAC;gBAEZ,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB;IAelD,KAAK,CAAC,CAAC,SAAS,cAAc,GAAG,kBAAkB,CAAC,uBAAuB,GAAG,6BAA6B,GAAG,gCAAgC,CAAC,EACxJ,WAAW,EAAE,cAAc,GAAG,kBAAkB,CAAC,uBAAuB,GAAG,6BAA6B,GAAG,gCAAgC,CAAC,EAC5I,IAAI,EAAE,CAAC,SAAS,cAAc,GACxB,uBAAuB,GACvB,CAAC,SAAS,uBAAuB,GACjC,qBAAqB,GACrB,CAAC,SAAS,6BAA6B,GACvC,6BAA6B,GAC7B,gCAAgC,GAAG,IAAI,GAC9C,OAAO,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC;CAC7B"}
@@ -1 +1 @@
1
- {"version":3,"file":"InhibitorBuilder.js","sourceRoot":"","sources":["../../src/build/InhibitorBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,aAAa,MAAM,4BAA4B,CAAC;AAKvD;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,gBAAgB;IAQjC,YAAmB,EAAU,EAAE,OAAgC;QAC3D,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QAEb,CAAC,CAAC,MAAM,CAAC;YACL,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;YAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;SACnB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAElB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAEzB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAEzB,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC;IAChC,CAAC;IAEM,KAAK,CAAC,KAAK,CAAI,WAAwH,EAAE,IAAO,IAA4B,CAAC;CACvL","sourcesContent":["import { z } from 'zod';\n\nimport XernerxClient from '../client/XernerxClient.js';\nimport { InhibitorBuilderOptions } from '../types/interfaces.js';\nimport { InhibitorType } from '../types/types.js';\nimport { XernerxMessage, XernerxMessageContextInteraction, XernerxSlashInteraction, XernerxUserContextInteraction } from '../types/extenders.js';\n\n/**\n * @description - The inhibitor builder for inhibitors.\n * @param {String} id - The unique ID of the inhibitor.\n * @param {InhibitorOptions} options - The inhibitor options.\n */\nexport default class InhibitorBuilder {\n public declare readonly id;\n public declare readonly name;\n public declare readonly type: InhibitorType;\n public declare readonly fileType: 'Inhibitor';\n public declare readonly filePath: string;\n public declare readonly client;\n\n public constructor(id: string, options: InhibitorBuilderOptions) {\n this.id = id;\n\n z.object({\n name: z.string(),\n type: z.string(),\n }).parse(options);\n\n this.name = options.name;\n\n this.type = options.type;\n\n this.client = XernerxClient;\n }\n\n public async check<T>(interaction: XernerxMessage | XernerxSlashInteraction | XernerxUserContextInteraction | XernerxMessageContextInteraction, args: T): Promise<void | any | T> {}\n}\n"]}
1
+ {"version":3,"file":"InhibitorBuilder.js","sourceRoot":"","sources":["../../src/build/InhibitorBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,aAAa,MAAM,4BAA4B,CAAC;AAKvD;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,gBAAgB;IAQjC,YAAmB,EAAU,EAAE,OAAgC;QAC3D,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QAEb,CAAC,CAAC,MAAM,CAAC;YACL,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;YAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;SACnB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAElB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAEzB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAEzB,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC;IAChC,CAAC;IAEM,KAAK,CAAC,KAAK,CACd,WAA4I,EAC5I,IAM6C,IACrB,CAAC;CAChC","sourcesContent":["import { z } from 'zod';\n\nimport XernerxClient from '../client/XernerxClient.js';\nimport { InhibitorBuilderOptions, MessageCommandArguments, SlashCommandArguments } from '../types/interfaces.js';\nimport { InhibitorType, XernerxInteraction } from '../types/types.js';\nimport { XernerxMessage, XernerxMessageContextInteraction, XernerxSlashInteraction, XernerxUserContextInteraction } from '../types/extenders.js';\n\n/**\n * @description - The inhibitor builder for inhibitors.\n * @param {String} id - The unique ID of the inhibitor.\n * @param {InhibitorOptions} options - The inhibitor options.\n */\nexport default class InhibitorBuilder {\n public declare readonly id;\n public declare readonly name;\n public declare readonly type: InhibitorType;\n public declare readonly fileType: 'Inhibitor';\n public declare readonly filePath: string;\n public declare readonly client;\n\n public constructor(id: string, options: InhibitorBuilderOptions) {\n this.id = id;\n\n z.object({\n name: z.string(),\n type: z.string(),\n }).parse(options);\n\n this.name = options.name;\n\n this.type = options.type;\n\n this.client = XernerxClient;\n }\n\n public async check<T extends XernerxMessage | XernerxInteraction<XernerxSlashInteraction | XernerxUserContextInteraction | XernerxMessageContextInteraction>>(\n interaction: XernerxMessage | XernerxInteraction<XernerxSlashInteraction | XernerxUserContextInteraction | XernerxMessageContextInteraction>,\n args: T extends XernerxMessage\n ? MessageCommandArguments\n : T extends XernerxSlashInteraction\n ? SlashCommandArguments\n : T extends XernerxUserContextInteraction\n ? XernerxUserContextInteraction\n : XernerxMessageContextInteraction | null\n ): Promise<void | any | T> {}\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import XernerxClient from '../client/XernerxClient.js';
2
2
  import { XernerxMessage } from '../types/extenders.js';
3
- import { MessageCommandOptions } from '../types/interfaces.js';
3
+ import { MessageCommandArguments, MessageCommandOptions } from '../types/interfaces.js';
4
4
  export default class MessageCommandBuilder {
5
5
  readonly id: string;
6
6
  readonly name: string;
@@ -42,7 +42,7 @@ export default class MessageCommandBuilder {
42
42
  readonly filePath: string;
43
43
  readonly client: typeof XernerxClient;
44
44
  constructor(id: string, options: MessageCommandOptions);
45
- conditions<T>(message: XernerxMessage, { args, flags }: any): Promise<void | any | T>;
46
- exec<T>(message: XernerxMessage, { args, flags }: any): Promise<void | any | T>;
45
+ conditions<T>(message: XernerxMessage, { args, flags }: MessageCommandArguments): Promise<void | any | T>;
46
+ exec<T>(message: XernerxMessage, { args, flags }: MessageCommandArguments): Promise<void | any | T>;
47
47
  }
48
48
  //# sourceMappingURL=MessageCommandBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MessageCommandBuilder.d.ts","sourceRoot":"","sources":["../../src/build/MessageCommandBuilder.ts"],"names":[],"mappings":"AACA,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,MAAM,CAAC,OAAO,OAAO,qBAAqB;IACtC,SAAwB,EAAE,SAAC;IAC3B,SAAwB,IAAI,SAAC;IAC7B,SAAwB,OAAO,uBAAC;IAChC,SAAwB,KAAK,qBAAC;IAC9B,SAAwB,MAAM,gCAAC;IAC/B,SAAwB,WAAW,4BAAC;IACpC,SAAwB,KAAK,4BAAC;IAC9B,SAAwB,IAAI,4BAAC;IAC7B,SAAwB,SAAS,qBAAC;IAClC,SAAwB,IAAI,+EAAC;IAC7B,SAAwB,KAAK,2EAAC;IAC9B,SAAwB,QAAQ,4BAAC;IACjC,SAAwB,QAAQ,4BAAC;IACjC,SAAwB,MAAM;;;;;kBAAC;IAC/B,SAAwB,MAAM;;;;;kBAAC;IAC/B,SAAwB,WAAW;;;;kBAAC;IACpC,SAAwB,QAAQ,EAAE,gBAAgB,CAAC;IACnD,SAAwB,QAAQ,EAAE,MAAM,CAAC;IACzC,SAAwB,MAAM,uBAAC;gBAEZ,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB;IAwEhD,UAAU,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC;IAErF,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC;CAC/F"}
1
+ {"version":3,"file":"MessageCommandBuilder.d.ts","sourceRoot":"","sources":["../../src/build/MessageCommandBuilder.ts"],"names":[],"mappings":"AACA,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAExF,MAAM,CAAC,OAAO,OAAO,qBAAqB;IACtC,SAAwB,EAAE,SAAC;IAC3B,SAAwB,IAAI,SAAC;IAC7B,SAAwB,OAAO,uBAAC;IAChC,SAAwB,KAAK,qBAAC;IAC9B,SAAwB,MAAM,gCAAC;IAC/B,SAAwB,WAAW,4BAAC;IACpC,SAAwB,KAAK,4BAAC;IAC9B,SAAwB,IAAI,4BAAC;IAC7B,SAAwB,SAAS,qBAAC;IAClC,SAAwB,IAAI,+EAAC;IAC7B,SAAwB,KAAK,2EAAC;IAC9B,SAAwB,QAAQ,4BAAC;IACjC,SAAwB,QAAQ,4BAAC;IACjC,SAAwB,MAAM;;;;;kBAAC;IAC/B,SAAwB,MAAM;;;;;kBAAC;IAC/B,SAAwB,WAAW;;;;kBAAC;IACpC,SAAwB,QAAQ,EAAE,gBAAgB,CAAC;IACnD,SAAwB,QAAQ,EAAE,MAAM,CAAC;IACzC,SAAwB,MAAM,uBAAC;gBAEZ,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB;IAwEhD,UAAU,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC;IAEzG,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC;CACnH"}
@@ -1 +1 @@
1
- {"version":3,"file":"MessageCommandBuilder.js","sourceRoot":"","sources":["../../src/build/MessageCommandBuilder.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from 'zod';\nimport XernerxClient from '../client/XernerxClient.js';\nimport { XernerxMessage } from '../types/extenders.js';\nimport { MessageCommandOptions } from '../types/interfaces.js';\n\nexport default class MessageCommandBuilder {\n public declare readonly id;\n public declare readonly name;\n public declare readonly aliases;\n public declare readonly regex;\n public declare readonly prefix;\n public declare readonly description;\n public declare readonly usage;\n public declare readonly info;\n public declare readonly separator;\n public declare readonly args;\n public declare readonly flags;\n public declare readonly category;\n public declare readonly cooldown;\n public declare readonly ignore;\n public declare readonly strict;\n public declare readonly permissions;\n public declare readonly fileType: 'MessageCommand';\n public declare readonly filePath: string;\n public declare readonly client;\n\n public constructor(id: string, options: MessageCommandOptions) {\n this.id = id;\n\n this.regex = options.regex;\n\n this.args = options.args;\n\n this.flags = options.flags;\n\n options = z\n .object({\n name: z.string(),\n aliases: z.array(z.string()).default([]),\n description: z.string().or(z.null()).default(null),\n usage: z.string().or(z.null()).default(null),\n info: z.string().or(z.null()).default(null),\n category: z.string().or(z.null()).default(null),\n cooldown: z.number().or(z.null()).default(null),\n prefix: z.array(z.string()).or(z.string()).default([]),\n ignore: z\n .object({\n owner: z.boolean().default(false),\n users: z.array(z.string()).default([]),\n channels: z.array(z.string()).default([]),\n guilds: z.array(z.string()).default([]),\n })\n .default({}),\n strict: z\n .object({\n owner: z.boolean().default(false),\n users: z.array(z.string()).default([]),\n channels: z.array(z.string()).default([]),\n guilds: z.array(z.string()).default([]),\n })\n .default({}),\n permissions: z\n .object({\n user: z.array(z.string()).default([]),\n client: z.array(z.string()).default([]),\n dm: z.boolean().default(true),\n })\n .default({}),\n })\n .parse(options);\n\n this.name = options.name;\n\n this.aliases = options.aliases;\n\n this.prefix = options.prefix;\n\n this.description = options.description;\n\n this.usage = options.usage;\n\n this.info = options.info;\n\n this.category = options.category;\n\n this.cooldown = options.cooldown;\n\n this.ignore = options.ignore;\n\n this.strict = options.strict;\n\n this.separator = options.separator;\n\n this.permissions = options.permissions;\n\n this.client = XernerxClient;\n }\n\n public async conditions<T>(message: XernerxMessage, { args, flags }: any): Promise<void | any | T> {}\n\n public async exec<T>(message: XernerxMessage, { args, flags }: any): Promise<void | any | T> {}\n}\n"]}
1
+ {"version":3,"file":"MessageCommandBuilder.js","sourceRoot":"","sources":["../../src/build/MessageCommandBuilder.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from 'zod';\nimport XernerxClient from '../client/XernerxClient.js';\nimport { XernerxMessage } from '../types/extenders.js';\nimport { MessageCommandArguments, MessageCommandOptions } from '../types/interfaces.js';\n\nexport default class MessageCommandBuilder {\n public declare readonly id;\n public declare readonly name;\n public declare readonly aliases;\n public declare readonly regex;\n public declare readonly prefix;\n public declare readonly description;\n public declare readonly usage;\n public declare readonly info;\n public declare readonly separator;\n public declare readonly args;\n public declare readonly flags;\n public declare readonly category;\n public declare readonly cooldown;\n public declare readonly ignore;\n public declare readonly strict;\n public declare readonly permissions;\n public declare readonly fileType: 'MessageCommand';\n public declare readonly filePath: string;\n public declare readonly client;\n\n public constructor(id: string, options: MessageCommandOptions) {\n this.id = id;\n\n this.regex = options.regex;\n\n this.args = options.args;\n\n this.flags = options.flags;\n\n options = z\n .object({\n name: z.string(),\n aliases: z.array(z.string()).default([]),\n description: z.string().or(z.null()).default(null),\n usage: z.string().or(z.null()).default(null),\n info: z.string().or(z.null()).default(null),\n category: z.string().or(z.null()).default(null),\n cooldown: z.number().or(z.null()).default(null),\n prefix: z.array(z.string()).or(z.string()).default([]),\n ignore: z\n .object({\n owner: z.boolean().default(false),\n users: z.array(z.string()).default([]),\n channels: z.array(z.string()).default([]),\n guilds: z.array(z.string()).default([]),\n })\n .default({}),\n strict: z\n .object({\n owner: z.boolean().default(false),\n users: z.array(z.string()).default([]),\n channels: z.array(z.string()).default([]),\n guilds: z.array(z.string()).default([]),\n })\n .default({}),\n permissions: z\n .object({\n user: z.array(z.string()).default([]),\n client: z.array(z.string()).default([]),\n dm: z.boolean().default(true),\n })\n .default({}),\n })\n .parse(options);\n\n this.name = options.name;\n\n this.aliases = options.aliases;\n\n this.prefix = options.prefix;\n\n this.description = options.description;\n\n this.usage = options.usage;\n\n this.info = options.info;\n\n this.category = options.category;\n\n this.cooldown = options.cooldown;\n\n this.ignore = options.ignore;\n\n this.strict = options.strict;\n\n this.separator = options.separator;\n\n this.permissions = options.permissions;\n\n this.client = XernerxClient;\n }\n\n public async conditions<T>(message: XernerxMessage, { args, flags }: MessageCommandArguments): Promise<void | any | T> {}\n\n public async exec<T>(message: XernerxMessage, { args, flags }: MessageCommandArguments): Promise<void | any | T> {}\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  import Discord from 'discord.js';
2
2
  import XernerxClient from '../client/XernerxClient.js';
3
- import { XernerxSlashInteraction } from '../types/extenders.js';
4
- import { SlashCommandOptions } from '../types/interfaces.js';
3
+ import { XernerxMessageContextInteraction, XernerxSlashInteraction, XernerxUserContextInteraction } from '../types/extenders.js';
4
+ import { SlashCommandArguments, SlashCommandOptions } from '../types/interfaces.js';
5
5
  import { XernerxInteraction } from '../types/types.js';
6
6
  export default class SlashCommandBuilder {
7
7
  readonly id: string;
@@ -46,9 +46,15 @@ export default class SlashCommandBuilder {
46
46
  readonly filePath: string;
47
47
  readonly client: typeof XernerxClient;
48
48
  constructor(id: string, options: SlashCommandOptions);
49
- autocomplete<T>(interaction: XernerxInteraction, focused: T, options: T[]): Promise<void | any | T>;
50
- conditions<T>(interaction: XernerxSlashInteraction, { args, subcommand, group }: any): Promise<void | any | T>;
51
- exec<T>(interaction: XernerxSlashInteraction, { args, subcommand, group }: any): Promise<void | any | T>;
49
+ autocomplete<T>(interaction: XernerxInteraction<XernerxSlashInteraction | XernerxUserContextInteraction | XernerxMessageContextInteraction>, focused: T, options: T[]): Promise<void | any | T>;
50
+ conditions<T>(
51
+ interaction: XernerxInteraction<XernerxSlashInteraction | XernerxUserContextInteraction | XernerxMessageContextInteraction>,
52
+ { args, subcommand, group }: SlashCommandArguments
53
+ ): Promise<void | any | T>;
54
+ exec<T>(
55
+ interaction: XernerxInteraction<XernerxSlashInteraction | XernerxUserContextInteraction | XernerxMessageContextInteraction>,
56
+ { args, subcommand, group }: SlashCommandArguments
57
+ ): Promise<void | any | T>;
52
58
  private addArguments;
53
59
  private addSubcommands;
54
60
  private addSubcommandGroups;
@@ -1 +1 @@
1
- {"version":3,"file":"SlashCommandBuilder.d.ts","sourceRoot":"","sources":["../../src/build/SlashCommandBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,OAAwG,MAAM,YAAY,CAAC;AAElI,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,OAAO,EAAyD,mBAAmB,EAAiC,MAAM,wBAAwB,CAAC;AACnJ,OAAO,EAAgD,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAErG,MAAM,CAAC,OAAO,OAAO,mBAAmB;IACpC,SAAwB,EAAE,SAAC;IAC3B,SAAwB,IAAI,8BAAC;IAC7B,SAAwB,IAAI,SAAC;IAC7B,SAAwB,WAAW,SAAC;IACpC,SAAwB,KAAK,4BAAC;IAC9B,SAAwB,IAAI,4BAAC;IAC7B,SAAwB,QAAQ,4BAAC;IACjC,SAAwB,QAAQ,4BAAC;IACjC,SAAwB,MAAM;;;;;kBAAC;IAC/B,SAAwB,MAAM;;;;;kBAAC;IAC/B,SAAwB,WAAW;;;;kBAAC;IACpC,SAAwB,KAAK;;;;kBAAC;IAC9B,SAAwB,QAAQ,EAAE,cAAc,CAAC;IACjD,SAAwB,QAAQ,EAAE,MAAM,CAAC;IACzC,SAAwB,MAAM,uBAAC;gBAEnB,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB;IA4FvC,YAAY,CAAC,CAAC,EAAE,WAAW,EAAE,kBAAkB,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC;IAEnG,UAAU,CAAC,CAAC,EAAE,WAAW,EAAE,uBAAuB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC;IAE9G,IAAI,CAAC,CAAC,EAAE,WAAW,EAAE,uBAAuB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC;IAErH,OAAO,CAAC,YAAY;IA0BpB,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,mBAAmB;CAS9B"}
1
+ {"version":3,"file":"SlashCommandBuilder.d.ts","sourceRoot":"","sources":["../../src/build/SlashCommandBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,OAAwG,MAAM,YAAY,CAAC;AAElI,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,gCAAgC,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AAEjI,OAAO,EAA+B,qBAAqB,EAA4B,mBAAmB,EAAiC,MAAM,wBAAwB,CAAC;AAC1K,OAAO,EAAgD,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAErG,MAAM,CAAC,OAAO,OAAO,mBAAmB;IACpC,SAAwB,EAAE,SAAC;IAC3B,SAAwB,IAAI,8BAAC;IAC7B,SAAwB,IAAI,SAAC;IAC7B,SAAwB,WAAW,SAAC;IACpC,SAAwB,KAAK,4BAAC;IAC9B,SAAwB,IAAI,4BAAC;IAC7B,SAAwB,QAAQ,4BAAC;IACjC,SAAwB,QAAQ,4BAAC;IACjC,SAAwB,MAAM;;;;;kBAAC;IAC/B,SAAwB,MAAM;;;;;kBAAC;IAC/B,SAAwB,WAAW;;;;kBAAC;IACpC,SAAwB,KAAK;;;;kBAAC;IAC9B,SAAwB,QAAQ,EAAE,cAAc,CAAC;IACjD,SAAwB,QAAQ,EAAE,MAAM,CAAC;IACzC,SAAwB,MAAM,uBAAC;gBAEnB,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB;IA4FvC,YAAY,CAAC,CAAC,EACvB,WAAW,EAAE,kBAAkB,CAAC,uBAAuB,GAAG,6BAA6B,GAAG,gCAAgC,CAAC,EAC3H,OAAO,EAAE,CAAC,EACV,OAAO,EAAE,CAAC,EAAE,GACb,OAAO,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC;IAEb,UAAU,CAAC,CAAC,EACrB,WAAW,EAAE,kBAAkB,CAAC,uBAAuB,GAAG,6BAA6B,GAAG,gCAAgC,CAAC,EAC3H,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,qBAAqB,GACnD,OAAO,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC;IAEb,IAAI,CAAC,CAAC,EACf,WAAW,EAAE,kBAAkB,CAAC,uBAAuB,GAAG,6BAA6B,GAAG,gCAAgC,CAAC,EAC3H,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,qBAAqB,GACnD,OAAO,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC;IAE1B,OAAO,CAAC,YAAY;IA0BpB,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,mBAAmB;CAS9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"SlashCommandBuilder.js","sourceRoot":"","sources":["../../src/build/SlashCommandBuilder.ts"],"names":[],"mappings":"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","sourcesContent":["import Discord, { SlashCommandStringOption, SlashCommandSubcommandBuilder, SlashCommandSubcommandGroupBuilder } from 'discord.js';\nimport { z } from 'zod';\nimport XernerxClient from '../client/XernerxClient.js';\nimport { XernerxSlashInteraction } from '../types/extenders.js';\n\nimport { SlashCommandArgumentOptions, SlashCommandGroupOptions, SlashCommandOptions, SlashCommandSubcommandOptions } from '../types/interfaces.js';\nimport { SlashCommandArgumentType, SlashCommandOption, XernerxInteraction } from '../types/types.js';\n\nexport default class SlashCommandBuilder {\n public declare readonly id;\n public declare readonly data;\n public declare readonly name;\n public declare readonly description;\n public declare readonly usage;\n public declare readonly info;\n public declare readonly category;\n public declare readonly cooldown;\n public declare readonly ignore;\n public declare readonly strict;\n public declare readonly permissions;\n public declare readonly defer;\n public declare readonly fileType: 'SlashCommand';\n public declare readonly filePath: string;\n public declare readonly client;\n\n constructor(id: string, options: SlashCommandOptions) {\n this.id = id;\n\n this.data = new Discord.SlashCommandBuilder();\n\n this.data.setName(options.name);\n\n this.data.setNameLocalizations(options.nameLocalizations || null);\n\n this.data.setDescription(options.description);\n\n this.data.setDescriptionLocalizations(options.descriptionLocalizations || null);\n\n this.data.setDMPermission(options.permissions?.dm || null);\n\n if (options.args && options?.args?.length > 0) {\n this.addArguments(this.data, options.args);\n }\n\n if (options.subcommands && options?.subcommands?.length > 0) {\n this.addSubcommands(this.data, options.subcommands);\n }\n\n if (options.groups && options?.groups?.length > 0) {\n this.addSubcommandGroups(options.groups);\n }\n\n options = z\n .object({\n name: z.string(),\n description: z.string(),\n usage: z.string().or(z.null()).default(null),\n info: z.string().or(z.null()).default(null),\n category: z.string().or(z.null()).default(null),\n number: z.number().or(z.null()).default(null),\n channelType: z.array(z.number()).or(z.null()).default(null),\n ignore: z\n .object({\n owner: z.boolean().default(false),\n users: z.array(z.string()).default([]),\n channels: z.array(z.string()).default([]),\n guilds: z.array(z.string()).default([]),\n })\n .default({}),\n strict: z\n .object({\n owner: z.boolean().default(false),\n users: z.array(z.string()).default([]),\n channels: z.array(z.string()).default([]),\n guilds: z.array(z.string()).default([]),\n })\n .default({}),\n permissions: z\n .object({\n user: z.array(z.string()).default([]),\n client: z.array(z.string()).default([]),\n dm: z.boolean().default(true),\n })\n .default({}),\n defer: z\n .object({\n reply: z.boolean().default(false),\n ephemeral: z.boolean().default(false),\n fetch: z.boolean().default(false),\n })\n .default({}),\n })\n .parse(options);\n\n this.name = options.name;\n\n this.description = options.description;\n\n this.usage = options.usage;\n\n this.info = options.info;\n\n this.category = options.category;\n\n this.cooldown = options.cooldown;\n\n this.ignore = options.ignore;\n\n this.strict = options.strict;\n\n this.permissions = options.permissions;\n\n this.defer = options.defer;\n\n this.client = XernerxClient;\n }\n\n public async autocomplete<T>(interaction: XernerxInteraction, focused: T, options: T[]): Promise<void | any | T> {}\n\n public async conditions<T>(interaction: XernerxSlashInteraction, { args, subcommand, group }: any): Promise<void | any | T> {}\n\n public async exec<T>(interaction: XernerxSlashInteraction, { args, subcommand, group }: any): Promise<void | any | T> {}\n\n private addArguments(command: Discord.SlashCommandBuilder | SlashCommandSubcommandBuilder, args: Array<SlashCommandArgumentOptions>) {\n for (const argument of args) {\n let slashCommandArgumentType: SlashCommandArgumentType | string = `${argument.type.charAt(0).toUpperCase()}${argument.type.slice(1).toLowerCase()}`;\n\n (command[`add${slashCommandArgumentType as UpperCasedSlashCommandArgumentOptions}Option`] as Function)((option: SlashCommandOption) => {\n option\n .setName(argument.name)\n .setDescription(argument.description)\n .setRequired(argument.required || false);\n\n if (slashCommandArgumentType === 'String') {\n if (argument.choices)\n (option as SlashCommandStringOption).setChoices(\n ...(argument.choices.map((choices) => {\n return { name: Object.keys(choices).at(0), value: Object.values(choices).at(0) };\n }) as Array<any>)\n );\n\n (option as SlashCommandStringOption).setAutocomplete(argument.autocomplete || false);\n }\n\n return option;\n });\n }\n }\n\n private addSubcommands(method: Discord.SlashCommandBuilder | SlashCommandSubcommandGroupBuilder, subcommands: Array<SlashCommandSubcommandOptions>) {\n for (const subcommand of subcommands) {\n let sub = new SlashCommandSubcommandBuilder().setName(subcommand.name).setDescription(subcommand.description);\n\n if (subcommand.args && subcommand?.args?.length > 0) this.addArguments(sub, subcommand.args);\n\n method.addSubcommand(sub);\n }\n }\n\n private addSubcommandGroups(groups: Array<SlashCommandGroupOptions>) {\n for (const group of groups) {\n let subcommandGroup = new SlashCommandSubcommandGroupBuilder().setName(group.name).setDescription(group.description);\n\n if (group.subcommands?.length > 0) this.addSubcommands(subcommandGroup, group.subcommands);\n\n this.data.addSubcommandGroup(subcommandGroup);\n }\n }\n}\n\ntype UpperCasedSlashCommandArgumentOptions = 'Attachment' | 'Boolean' | 'Channel' | 'Integer' | 'Mentionable' | 'Number' | 'Role' | 'String' | 'User';\n"]}
1
+ {"version":3,"file":"SlashCommandBuilder.js","sourceRoot":"","sources":["../../src/build/SlashCommandBuilder.ts"],"names":[],"mappings":"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","sourcesContent":["import Discord, { SlashCommandStringOption, SlashCommandSubcommandBuilder, SlashCommandSubcommandGroupBuilder } from 'discord.js';\nimport { z } from 'zod';\nimport XernerxClient from '../client/XernerxClient.js';\nimport { XernerxMessageContextInteraction, XernerxSlashInteraction, XernerxUserContextInteraction } from '../types/extenders.js';\n\nimport { SlashCommandArgumentOptions, SlashCommandArguments, SlashCommandGroupOptions, SlashCommandOptions, SlashCommandSubcommandOptions } from '../types/interfaces.js';\nimport { SlashCommandArgumentType, SlashCommandOption, XernerxInteraction } from '../types/types.js';\n\nexport default class SlashCommandBuilder {\n public declare readonly id;\n public declare readonly data;\n public declare readonly name;\n public declare readonly description;\n public declare readonly usage;\n public declare readonly info;\n public declare readonly category;\n public declare readonly cooldown;\n public declare readonly ignore;\n public declare readonly strict;\n public declare readonly permissions;\n public declare readonly defer;\n public declare readonly fileType: 'SlashCommand';\n public declare readonly filePath: string;\n public declare readonly client;\n\n constructor(id: string, options: SlashCommandOptions) {\n this.id = id;\n\n this.data = new Discord.SlashCommandBuilder();\n\n this.data.setName(options.name);\n\n this.data.setNameLocalizations(options.nameLocalizations || null);\n\n this.data.setDescription(options.description);\n\n this.data.setDescriptionLocalizations(options.descriptionLocalizations || null);\n\n this.data.setDMPermission(options.permissions?.dm || null);\n\n if (options.args && options?.args?.length > 0) {\n this.addArguments(this.data, options.args);\n }\n\n if (options.subcommands && options?.subcommands?.length > 0) {\n this.addSubcommands(this.data, options.subcommands);\n }\n\n if (options.groups && options?.groups?.length > 0) {\n this.addSubcommandGroups(options.groups);\n }\n\n options = z\n .object({\n name: z.string(),\n description: z.string(),\n usage: z.string().or(z.null()).default(null),\n info: z.string().or(z.null()).default(null),\n category: z.string().or(z.null()).default(null),\n number: z.number().or(z.null()).default(null),\n channelType: z.array(z.number()).or(z.null()).default(null),\n ignore: z\n .object({\n owner: z.boolean().default(false),\n users: z.array(z.string()).default([]),\n channels: z.array(z.string()).default([]),\n guilds: z.array(z.string()).default([]),\n })\n .default({}),\n strict: z\n .object({\n owner: z.boolean().default(false),\n users: z.array(z.string()).default([]),\n channels: z.array(z.string()).default([]),\n guilds: z.array(z.string()).default([]),\n })\n .default({}),\n permissions: z\n .object({\n user: z.array(z.string()).default([]),\n client: z.array(z.string()).default([]),\n dm: z.boolean().default(true),\n })\n .default({}),\n defer: z\n .object({\n reply: z.boolean().default(false),\n ephemeral: z.boolean().default(false),\n fetch: z.boolean().default(false),\n })\n .default({}),\n })\n .parse(options);\n\n this.name = options.name;\n\n this.description = options.description;\n\n this.usage = options.usage;\n\n this.info = options.info;\n\n this.category = options.category;\n\n this.cooldown = options.cooldown;\n\n this.ignore = options.ignore;\n\n this.strict = options.strict;\n\n this.permissions = options.permissions;\n\n this.defer = options.defer;\n\n this.client = XernerxClient;\n }\n\n public async autocomplete<T>(\n interaction: XernerxInteraction<XernerxSlashInteraction | XernerxUserContextInteraction | XernerxMessageContextInteraction>,\n focused: T,\n options: T[]\n ): Promise<void | any | T> {}\n\n public async conditions<T>(\n interaction: XernerxInteraction<XernerxSlashInteraction | XernerxUserContextInteraction | XernerxMessageContextInteraction>,\n { args, subcommand, group }: SlashCommandArguments\n ): Promise<void | any | T> {}\n\n public async exec<T>(\n interaction: XernerxInteraction<XernerxSlashInteraction | XernerxUserContextInteraction | XernerxMessageContextInteraction>,\n { args, subcommand, group }: SlashCommandArguments\n ): Promise<void | any | T> {}\n\n private addArguments(command: Discord.SlashCommandBuilder | SlashCommandSubcommandBuilder, args: Array<SlashCommandArgumentOptions>) {\n for (const argument of args) {\n let slashCommandArgumentType: SlashCommandArgumentType | string = `${argument.type.charAt(0).toUpperCase()}${argument.type.slice(1).toLowerCase()}`;\n\n (command[`add${slashCommandArgumentType as UpperCasedSlashCommandArgumentOptions}Option`] as Function)((option: SlashCommandOption) => {\n option\n .setName(argument.name)\n .setDescription(argument.description)\n .setRequired(argument.required || false);\n\n if (slashCommandArgumentType === 'String') {\n if (argument.choices)\n (option as SlashCommandStringOption).setChoices(\n ...(argument.choices.map((choices) => {\n return { name: Object.keys(choices).at(0), value: Object.values(choices).at(0) };\n }) as Array<any>)\n );\n\n (option as SlashCommandStringOption).setAutocomplete(argument.autocomplete || false);\n }\n\n return option;\n });\n }\n }\n\n private addSubcommands(method: Discord.SlashCommandBuilder | SlashCommandSubcommandGroupBuilder, subcommands: Array<SlashCommandSubcommandOptions>) {\n for (const subcommand of subcommands) {\n let sub = new SlashCommandSubcommandBuilder().setName(subcommand.name).setDescription(subcommand.description);\n\n if (subcommand.args && subcommand?.args?.length > 0) this.addArguments(sub, subcommand.args);\n\n method.addSubcommand(sub);\n }\n }\n\n private addSubcommandGroups(groups: Array<SlashCommandGroupOptions>) {\n for (const group of groups) {\n let subcommandGroup = new SlashCommandSubcommandGroupBuilder().setName(group.name).setDescription(group.description);\n\n if (group.subcommands?.length > 0) this.addSubcommands(subcommandGroup, group.subcommands);\n\n this.data.addSubcommandGroup(subcommandGroup);\n }\n }\n}\n\ntype UpperCasedSlashCommandArgumentOptions = 'Attachment' | 'Boolean' | 'Channel' | 'Integer' | 'Mentionable' | 'Number' | 'Role' | 'String' | 'User';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"XernerxShardClient.d.ts","sourceRoot":"","sources":["../../src/client/XernerxShardClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAS,UAAU,EAAE,MAAM,YAAY,CAAC;AAGxF,UAAU,cAAc;IACpB,GAAG,CAAC,EAAE;QACF,IAAI,CAAC,EAAE,OAAO,CAAC;KAClB,CAAC;CACL;AAED,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,eAAe;IAC3D,SAAwB,KAAK;;;;MAAC;IACf,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;gBAE3B,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,sBAAsB,EAAE,cAAc,CAAC,EAAE,cAAc;CA2CpG"}
1
+ {"version":3,"file":"XernerxShardClient.d.ts","sourceRoot":"","sources":["../../src/client/XernerxShardClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAS,UAAU,EAAE,MAAM,YAAY,CAAC;AAGxF,UAAU,cAAc;IACpB,GAAG,CAAC,EAAE;QACF,IAAI,CAAC,EAAE,OAAO,CAAC;KAClB,CAAC;CACL;AAED,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,eAAe;IAC3D,SAAwB,KAAK;;;;MAAC;IACf,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;gBAE3B,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,sBAAsB,EAAE,cAAc,CAAC,EAAE,cAAc;CA+CpG"}
@@ -21,7 +21,8 @@ export default class XernerxShardClient extends ShardingManager {
21
21
  new XernerxLog({ settings: xernerxOptions }).info(`An error occurred in ${shard.id} for ${this.user?.tag}! ${error}`);
22
22
  });
23
23
  });
24
- this.spawn().then(async (shards) => {
24
+ const spawn = this.spawn();
25
+ spawn.then(async (shards) => {
25
26
  const collector = setInterval(() => {
26
27
  const index = shards.size - 1;
27
28
  if (shards.get(index)?.ready) {
@@ -32,6 +33,7 @@ export default class XernerxShardClient extends ShardingManager {
32
33
  }
33
34
  }, 1000);
34
35
  });
36
+ return spawn;
35
37
  }
36
38
  }
37
39
  //# sourceMappingURL=XernerxShardClient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"XernerxShardClient.js","sourceRoot":"","sources":["../../src/client/XernerxShardClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAA6C,MAAM,YAAY,CAAC;AACxF,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAQhD,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,eAAe;IAI3D,YAAY,IAAY,EAAE,cAAsC,EAAE,cAA+B;QAC7F,KAAK,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QAE5B,IAAI,CAAC,KAAK,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;QAE5D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAEjB,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACnC,KAAK;iBACA,EAAE,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;gBACpB,MAAM,MAAM,GAAG,CAAC,MAAM,KAAK,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAiB,CAAC;gBAC9E,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;gBACjC,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAE5I,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC;gBAE5C,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC;gBAE1C,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;gBAExB,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAe,CAAC;gBAEjE,MAAM,IAAI,UAAU,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAW,CAAC,CAAC,IAAI,CAAC,kBAAkB,KAAK,CAAC,EAAE,QAAQ,IAAI,CAAC,IAAI,EAAE,GAAG,GAAG,CAAC,CAAC;YAC1H,CAAC,CAAC;iBACD,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBACnB,IAAI,UAAU,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAW,CAAC,CAAC,IAAI,CAAC,wBAAwB,KAAK,CAAC,EAAE,QAAQ,IAAI,CAAC,IAAI,EAAE,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC;YACnI,CAAC,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YAC/B,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;gBAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;gBAE9B,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE;oBAC1B,IAAI,UAAU,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAW,CAAC,CAAC,IAAI,CACtD,gBAAgB,IAAI,CAAC,KAAK,CAAC,UAAU,eAAe,IAAI,CAAC,IAAI,EAAE,GAAG,cAAc,IAAI,CAAC,KAAK,CAAC,UAAU,gBAAgB,IAAI,CAAC,KAAK,CAAC,SAAS,SAAS,CACrJ,CAAC;oBAEF,aAAa,CAAC,SAAS,CAAC,CAAC;iBAC5B;YACL,CAAC,EAAE,IAAI,CAAC,CAAC;QACb,CAAC,CAAC,CAAC;IACP,CAAC;CACJ","sourcesContent":["import { ShardingManager, ShardingManagerOptions, Guild, ClientUser } from 'discord.js';\nimport XernerxLog from '../tools/XernerxLog.js';\n\ninterface XernerxOptions {\n log?: {\n info?: boolean;\n };\n}\n\nexport default class XernerxShardClient extends ShardingManager {\n public declare readonly stats;\n public declare user: ClientUser | null;\n\n constructor(file: string, discordOptions: ShardingManagerOptions, xernerxOptions?: XernerxOptions) {\n super(file, discordOptions);\n\n this.stats = { guildCount: 0, userCount: 0, shardCount: 0 };\n\n this.user = null;\n\n this.on('shardCreate', async (shard) => {\n shard\n .on('ready', async () => {\n const guilds = (await shard.fetchClientValue('guilds.cache')) as Array<Guild>;\n const guildCount = guilds.length;\n const userCount = guilds.map((guild) => guild.memberCount).length ? guilds.map((guild) => guild.memberCount).reduce((a, b) => (a += b)) : 0;\n\n this.stats.guildCount += Number(guildCount);\n\n this.stats.userCount += Number(userCount);\n\n this.stats.shardCount++;\n\n this.user = (await shard.fetchClientValue('user')) as ClientUser;\n\n await new XernerxLog({ settings: xernerxOptions } as never).info(`Launched shard ${shard.id} for ${this.user?.tag}!`);\n })\n .on('error', (error) => {\n new XernerxLog({ settings: xernerxOptions } as never).info(`An error occurred in ${shard.id} for ${this.user?.tag}! ${error}`);\n });\n });\n\n this.spawn().then(async (shards) => {\n const collector = setInterval(() => {\n const index = shards.size - 1;\n\n if (shards.get(index)?.ready) {\n new XernerxLog({ settings: xernerxOptions } as never).info(\n `Launched all ${this.stats.shardCount} shards for ${this.user?.tag}, watching ${this.stats.guildCount} guilds, and ${this.stats.userCount} users!`\n );\n\n clearInterval(collector);\n }\n }, 1000);\n });\n }\n}\n"]}
1
+ {"version":3,"file":"XernerxShardClient.js","sourceRoot":"","sources":["../../src/client/XernerxShardClient.ts"],"names":[],"mappings":"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","sourcesContent":["import { ShardingManager, ShardingManagerOptions, Guild, ClientUser } from 'discord.js';\nimport XernerxLog from '../tools/XernerxLog.js';\n\ninterface XernerxOptions {\n log?: {\n info?: boolean;\n };\n}\n\nexport default class XernerxShardClient extends ShardingManager {\n public declare readonly stats;\n public declare user: ClientUser | null;\n\n constructor(file: string, discordOptions: ShardingManagerOptions, xernerxOptions?: XernerxOptions) {\n super(file, discordOptions);\n\n this.stats = { guildCount: 0, userCount: 0, shardCount: 0 };\n\n this.user = null;\n\n this.on('shardCreate', async (shard) => {\n shard\n .on('ready', async () => {\n const guilds = (await shard.fetchClientValue('guilds.cache')) as Array<Guild>;\n const guildCount = guilds.length;\n const userCount = guilds.map((guild) => guild.memberCount).length ? guilds.map((guild) => guild.memberCount).reduce((a, b) => (a += b)) : 0;\n\n this.stats.guildCount += Number(guildCount);\n\n this.stats.userCount += Number(userCount);\n\n this.stats.shardCount++;\n\n this.user = (await shard.fetchClientValue('user')) as ClientUser;\n\n await new XernerxLog({ settings: xernerxOptions } as never).info(`Launched shard ${shard.id} for ${this.user?.tag}!`);\n })\n .on('error', (error) => {\n new XernerxLog({ settings: xernerxOptions } as never).info(`An error occurred in ${shard.id} for ${this.user?.tag}! ${error}`);\n });\n });\n\n const spawn = this.spawn();\n\n spawn.then(async (shards) => {\n const collector = setInterval(() => {\n const index = shards.size - 1;\n\n if (shards.get(index)?.ready) {\n new XernerxLog({ settings: xernerxOptions } as never).info(\n `Launched all ${this.stats.shardCount} shards for ${this.user?.tag}, watching ${this.stats.guildCount} guilds, and ${this.stats.userCount} users!`\n );\n\n clearInterval(collector);\n }\n }, 1000);\n });\n\n return spawn as never;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"CommandHandler.js","sourceRoot":"","sources":["../../src/handlers/CommandHandler.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from 'zod';\nimport * as path from 'path';\nimport { GatewayIntentBits } from 'discord.js';\n\nimport XernerxClient from '../client/XernerxClient.js';\nimport { ContextHandlerOptions, MessageHandlerOptions, SlashHandlerOptions } from '../types/interfaces.js';\nimport Handler from './Handler.js';\nimport { XernerxMessage, XernerxMessageContextInteraction, XernerxSlashInteraction, XernerxUserContextInteraction } from '../types/extenders.js';\nimport MessageUtil from '../utils/MessageUtil.js';\nimport ContextCommandBuilder from '../build/ContextCommandBuilder.js';\nimport MessageCommandBuilder from '../build/MessageCommandBuilder.js';\nimport SlashCommandBuilder from '../build/SlashCommandBuilder.js';\nimport { FileType } from '../types/types.js';\nimport { xernerxUser } from '../functions/xernerxUser.js';\nimport InteractionUtil from '../utils/InteractionUtil.js';\nimport commandValidation from '../validators/commandValidation.js';\nimport XernerxLog from '../tools/XernerxLog.js';\nimport { interactionArguments, messageArguments } from '../models/Arguments.js';\nimport deploy from '../functions/deploy.js';\nimport { inhibitorValidation } from '../validators/inhibitorValidations.js';\n\nexport default class CommandHandler extends Handler {\n constructor(client: XernerxClient) {\n super(client);\n }\n\n public loadMessageCommands(options: MessageHandlerOptions) {\n if (!this.client.options.intents.has(GatewayIntentBits.MessageContent)) new XernerxLog(this.client).warn(`Message commands might not work as you're missing the intent MessageContent!`);\n if (!this.client.options.intents.has(GatewayIntentBits.GuildMessages)) new XernerxLog(this.client).warn(`Message commands might not work as you're missing the intent GuildMessages!`);\n\n options = z\n .object({\n directory: z.string(),\n prefix: z.string().or(z.array(z.string())),\n allowMention: z.boolean().default(false),\n cooldown: z.number().default(0),\n permissions: z\n .object({\n user: z.array(z.string()).default([]),\n client: z.array(z.string()).default([]),\n dm: z.boolean().default(true),\n })\n .default({}),\n handleEdits: z.boolean().default(false),\n handleDeletes: z.boolean().default(false),\n handleTyping: z.boolean().default(false),\n logging: z.boolean().default(false),\n })\n .parse(options);\n\n this.client.modules.options.message = options;\n\n const files = this.readdir(options.directory);\n\n for (const file of files) {\n const filePath = `${path.resolve(options.directory)}\\\\${file}`;\n\n this.load(filePath, 'MessageCommand');\n }\n\n new XernerxLog(this.client).info(`Loaded ${files.length} Message Commands.`);\n\n this.emit({\n name: 'messageCreate',\n fileType: 'MessageCommand',\n run: (message: XernerxMessage) => this.messageCommandRun(message),\n });\n\n this.emit({\n name: 'messageUpdate',\n fileType: 'MessageCommand',\n run: (message: XernerxMessage, message2: XernerxMessage) => this.messageCommandRun(message, message2),\n });\n\n this.emit({\n name: 'messageDelete',\n fileType: 'MessageCommand',\n run: (message: XernerxMessage) => this.messageCommandRun(message, 'delete'),\n });\n }\n\n // public reloadMessageCommands() {\n // return reload(this.client, 'message');\n // }\n\n public loadSlashCommands(options: SlashHandlerOptions) {\n if (!this.client.settings.local) new XernerxLog(this.client).warn(`Slash commands might not work as you haven't specified a local guild ID.`);\n\n options = z\n .object({\n directory: z.string(),\n cooldown: z.number().default(0),\n permissions: z\n .object({\n user: z.array(z.string()).default([]),\n client: z.array(z.string()).default([]),\n dm: z.boolean().default(true),\n })\n .default({}),\n logging: z.boolean().default(false),\n defer: z\n .object({\n reply: z.boolean().default(false),\n ephemeral: z.boolean().default(false),\n fetchReply: z.boolean().default(false),\n })\n .default({}),\n })\n .parse(options);\n\n this.client.modules.options.slash = options;\n\n const files = this.readdir(options.directory);\n\n for (const file of files) {\n const filePath = `${path.resolve(options.directory)}\\\\${file}`;\n\n this.load(filePath, 'SlashCommand');\n }\n\n new XernerxLog(this.client).info(`Loaded ${files.length} Slash Commands.`);\n\n deploy(this.client, 'slash');\n\n this.emit({\n name: 'interactionCreate',\n fileType: 'SlashCommand',\n run: (interaction: XernerxSlashInteraction) => this.slashCommandRun(interaction),\n });\n }\n public loadContextCommands(options: ContextHandlerOptions) {\n if (!this.client.settings.local) new XernerxLog(this.client).warn(`Context commands might not work as you haven't specified a local guild ID.`);\n\n options = z\n .object({\n directory: z.string(),\n cooldown: z.number().default(0),\n permissions: z\n .object({\n user: z.array(z.string()).default([]),\n client: z.array(z.string()).default([]),\n dm: z.boolean().default(true),\n })\n .default({}),\n logging: z.boolean().default(false),\n defer: z\n .object({\n reply: z.boolean().default(false),\n ephemeral: z.boolean().default(false),\n fetchReply: z.boolean().default(false),\n })\n .default({}),\n })\n .parse(options);\n\n this.client.modules.options.context = options;\n\n const files = this.readdir(options.directory);\n\n for (const file of files) {\n const filePath = `${path.resolve(options.directory)}\\\\${file}`;\n\n this.load(filePath, 'ContextCommand');\n }\n\n new XernerxLog(this.client).info(`Loaded ${files.length} Context Commands.`);\n\n deploy(this.client, 'context');\n\n this.emit({\n name: 'interactionCreate',\n fileType: 'ContextCommand',\n run: (interaction: XernerxMessageContextInteraction | XernerxUserContextInteraction) => this.contextCommandRun(interaction),\n });\n }\n\n private async messageCommandRun<T extends XernerxMessage>(message: T, message2?: T | 'delete') {\n const filetype = 'MessageCommand';\n\n if (message.author.bot) return;\n\n message.util = new MessageUtil(this.client, message);\n\n message.user = await xernerxUser(message, this.client);\n\n if (typeof message2 === 'object') message = message2;\n\n if (message2 === 'delete') {\n if (!this.client.cache.messages.has(message.id)) return;\n\n const id = this.client.cache.messages.get(message.id);\n\n if (!id) return;\n\n (async () => {\n const msg = await message.channel.messages.fetch(id);\n\n await msg.delete();\n\n this.client.cache.messages.delete(message.id);\n })();\n\n return;\n }\n\n if (message.content && this.client.modules.options.message) {\n const commands = this.client.commands.message;\n\n const prefixes = Array.isArray(this.client.modules.options.message.prefix) ? this.client.modules.options.message.prefix : [this.client.modules.options.message.prefix];\n\n let commandName: string | null = null,\n cmd,\n commandAlias: string | null = null,\n commandPrefix: string | null = null;\n\n commands.map((command) => {\n let prefix: string | null = null;\n\n if (command.regex && message.content.match(command.regex)) {\n const [match] = message.content.match(command.regex) || [null];\n\n if (match) commandName = command.name;\n }\n\n const cp = Array.isArray(command.prefix) ? command.prefix : [command.prefix as string];\n\n prefixes.map((p) => {\n if (message.content.startsWith(p)) prefix = p;\n });\n\n cp.map((p) => {\n if (message.content.startsWith(p)) prefix = p;\n });\n\n if (!prefix) return;\n\n if (!commandName)\n commandName =\n message.content\n .replace(prefix, '')\n .split(command.separator || / +/)\n .shift()\n ?.trim()\n ?.toLowerCase() || '';\n\n if (!this.client.commands.message.has(commandName) && command.aliases?.includes(commandName)) {\n commandAlias = commandName;\n\n commandName = command.name;\n }\n\n commandAlias = commandAlias ? commandAlias : commandName;\n\n commandPrefix = prefix;\n });\n\n if (!cmd && this.client.modules.options.message.allowMention) {\n if (message.mentions.users.has(this.client.user?.id as string) || message.mentions.repliedUser?.id === this.client.user?.id) {\n commandName = message.content.replace(`<@${this.client.user?.id}>`, '').trim().split(/ +/).shift()?.toLowerCase() || null;\n }\n }\n\n if (this.client.commands.message.has(commandName as string)) cmd = this.client.commands.message.get(commandName as string);\n\n if (await inhibitorValidation(message, cmd)) return;\n\n if (!cmd) return this.client.emit('commandNotFound', message, filetype);\n\n message.util.parsed = {\n alias: commandAlias,\n prefix: commandPrefix,\n };\n\n this.client.emit('commandStart', message, filetype);\n\n this.exec(cmd, message, await messageArguments(message, cmd), filetype);\n }\n }\n\n private async slashCommandRun<T extends Record<string, any>>(interaction: XernerxSlashInteraction) {\n const filetype = 'SlashCommand';\n\n interaction.util = new InteractionUtil(this.client, interaction);\n\n interaction.user = await xernerxUser(interaction, this.client);\n\n let cmd: SlashCommandBuilder | null | undefined = null;\n\n if (this.client.commands.slash.has(interaction.commandName)) cmd = this.client.commands.slash.get(interaction.commandName);\n\n if (await inhibitorValidation(interaction, cmd as SlashCommandBuilder)) return;\n\n if (!cmd) return this.client.emit('commandNotFound', interaction);\n\n new Promise(async (resolve) => {\n if (interaction.isAutocomplete()) {\n const focused = (interaction as T).options.getFocused(true);\n const options = (interaction as T).options;\n\n await (cmd as SlashCommandBuilder).autocomplete(interaction, focused, options);\n } else resolve(true);\n })\n .then(async () => {\n this.client.emit('commandStart', interaction, filetype);\n\n await this.exec(cmd as SlashCommandBuilder, interaction, await interactionArguments(interaction, cmd as SlashCommandBuilder), filetype);\n })\n .catch((error) => this.client.emit('commandError', interaction, error, filetype));\n }\n\n private async contextCommandRun(interaction: XernerxUserContextInteraction | XernerxMessageContextInteraction) {\n const filetype = 'ContextCommand';\n\n interaction.util = new InteractionUtil(this.client, interaction);\n\n interaction.user = await xernerxUser(interaction as XernerxUserContextInteraction, this.client);\n\n let cmd;\n\n if (this.client.commands.context.has(interaction.commandName)) cmd = this.client.commands.context.get(interaction.commandName);\n\n if (await inhibitorValidation(interaction, cmd)) return;\n\n if (!cmd) return this.client.emit('commandNotFound', interaction, filetype);\n\n this.client.emit('commandStart', interaction, filetype);\n\n return this.exec(cmd as unknown as SlashCommandBuilder, interaction, await interactionArguments(interaction, cmd), filetype);\n }\n\n private async exec(\n cmd: MessageCommandBuilder | SlashCommandBuilder | ContextCommandBuilder,\n event: XernerxMessage | XernerxSlashInteraction | XernerxMessageContextInteraction | XernerxUserContextInteraction,\n args: any,\n type: FileType\n ) {\n try {\n if (await commandValidation(event, cmd)) return;\n\n if (((cmd as MessageCommandBuilder).conditions as unknown) && (await ((cmd as MessageCommandBuilder).conditions(event as never, args) as unknown))) return;\n\n cmd.exec(event as never, args);\n\n this.client.emit('commandFinish', event, type);\n } catch (error) {\n new XernerxLog(this.client).error(`An error occurred executing ${cmd.name}`, error);\n\n this.client.emit('commandError', event, error, type);\n }\n }\n}\n"]}
1
+ {"version":3,"file":"CommandHandler.js","sourceRoot":"","sources":["../../src/handlers/CommandHandler.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from 'zod';\nimport * as path from 'path';\nimport { GatewayIntentBits } from 'discord.js';\n\nimport XernerxClient from '../client/XernerxClient.js';\nimport { ContextHandlerOptions, MessageHandlerOptions, SlashHandlerOptions } from '../types/interfaces.js';\nimport Handler from './Handler.js';\nimport { XernerxMessage, XernerxMessageContextInteraction, XernerxSlashInteraction, XernerxUserContextInteraction } from '../types/extenders.js';\nimport MessageUtil from '../utils/MessageUtil.js';\nimport ContextCommandBuilder from '../build/ContextCommandBuilder.js';\nimport MessageCommandBuilder from '../build/MessageCommandBuilder.js';\nimport SlashCommandBuilder from '../build/SlashCommandBuilder.js';\nimport { FileType } from '../types/types.js';\nimport { xernerxUser } from '../functions/xernerxUser.js';\nimport InteractionUtil from '../utils/InteractionUtil.js';\nimport commandValidation from '../validators/commandValidation.js';\nimport XernerxLog from '../tools/XernerxLog.js';\nimport { interactionArguments, messageArguments } from '../models/Arguments.js';\nimport deploy from '../functions/deploy.js';\nimport { inhibitorValidation } from '../validators/inhibitorValidations.js';\n\nexport default class CommandHandler extends Handler {\n constructor(client: XernerxClient) {\n super(client);\n }\n\n public loadMessageCommands(options: MessageHandlerOptions) {\n if (!this.client.options.intents.has(GatewayIntentBits.MessageContent)) new XernerxLog(this.client).warn(`Message commands might not work as you're missing the intent MessageContent!`);\n if (!this.client.options.intents.has(GatewayIntentBits.GuildMessages)) new XernerxLog(this.client).warn(`Message commands might not work as you're missing the intent GuildMessages!`);\n\n options = z\n .object({\n directory: z.string(),\n prefix: z.string().or(z.array(z.string())),\n allowMention: z.boolean().default(false),\n cooldown: z.number().default(0),\n permissions: z\n .object({\n user: z.array(z.string()).default([]),\n client: z.array(z.string()).default([]),\n dm: z.boolean().default(true),\n })\n .default({}),\n handleEdits: z.boolean().default(false),\n handleDeletes: z.boolean().default(false),\n handleTyping: z.boolean().default(false),\n logging: z.boolean().default(false),\n })\n .parse(options);\n\n this.client.modules.options.message = options;\n\n const files = this.readdir(options.directory);\n\n for (const file of files) {\n const filePath = `${path.resolve(options.directory)}\\\\${file}`;\n\n this.load(filePath, 'MessageCommand');\n }\n\n new XernerxLog(this.client).info(`Loaded ${files.length} Message Commands.`);\n\n this.emit({\n name: 'messageCreate',\n fileType: 'MessageCommand',\n run: (message: XernerxMessage) => this.messageCommandRun(message),\n });\n\n this.emit({\n name: 'messageUpdate',\n fileType: 'MessageCommand',\n run: (message: XernerxMessage, message2: XernerxMessage) => this.messageCommandRun(message, message2),\n });\n\n this.emit({\n name: 'messageDelete',\n fileType: 'MessageCommand',\n run: (message: XernerxMessage) => this.messageCommandRun(message, 'delete'),\n });\n }\n\n // public reloadMessageCommands() {\n // return reload(this.client, 'message');\n // }\n\n public loadSlashCommands(options: SlashHandlerOptions) {\n if (!this.client.settings.local) new XernerxLog(this.client).warn(`Slash commands might not work as you haven't specified a local guild ID.`);\n\n options = z\n .object({\n directory: z.string(),\n cooldown: z.number().default(0),\n permissions: z\n .object({\n user: z.array(z.string()).default([]),\n client: z.array(z.string()).default([]),\n dm: z.boolean().default(true),\n })\n .default({}),\n logging: z.boolean().default(false),\n defer: z\n .object({\n reply: z.boolean().default(false),\n ephemeral: z.boolean().default(false),\n fetchReply: z.boolean().default(false),\n })\n .default({}),\n })\n .parse(options);\n\n this.client.modules.options.slash = options;\n\n const files = this.readdir(options.directory);\n\n for (const file of files) {\n const filePath = `${path.resolve(options.directory)}\\\\${file}`;\n\n this.load(filePath, 'SlashCommand');\n }\n\n new XernerxLog(this.client).info(`Loaded ${files.length} Slash Commands.`);\n\n deploy(this.client, 'slash');\n\n this.emit({\n name: 'interactionCreate',\n fileType: 'SlashCommand',\n run: (interaction: XernerxSlashInteraction) => this.slashCommandRun(interaction),\n });\n }\n public loadContextCommands(options: ContextHandlerOptions) {\n if (!this.client.settings.local) new XernerxLog(this.client).warn(`Context commands might not work as you haven't specified a local guild ID.`);\n\n options = z\n .object({\n directory: z.string(),\n cooldown: z.number().default(0),\n permissions: z\n .object({\n user: z.array(z.string()).default([]),\n client: z.array(z.string()).default([]),\n dm: z.boolean().default(true),\n })\n .default({}),\n logging: z.boolean().default(false),\n defer: z\n .object({\n reply: z.boolean().default(false),\n ephemeral: z.boolean().default(false),\n fetchReply: z.boolean().default(false),\n })\n .default({}),\n })\n .parse(options);\n\n this.client.modules.options.context = options;\n\n const files = this.readdir(options.directory);\n\n for (const file of files) {\n const filePath = `${path.resolve(options.directory)}\\\\${file}`;\n\n this.load(filePath, 'ContextCommand');\n }\n\n new XernerxLog(this.client).info(`Loaded ${files.length} Context Commands.`);\n\n deploy(this.client, 'context');\n\n this.emit({\n name: 'interactionCreate',\n fileType: 'ContextCommand',\n run: (interaction: XernerxMessageContextInteraction | XernerxUserContextInteraction) => this.contextCommandRun(interaction),\n });\n }\n\n private async messageCommandRun<T extends XernerxMessage>(message: T, message2?: T | 'delete') {\n const filetype = 'MessageCommand';\n\n if (message.author.bot) return;\n\n message.util = new MessageUtil(this.client, message);\n\n message.user = await xernerxUser(message, this.client);\n\n if (typeof message2 === 'object') message = message2;\n\n if (message2 === 'delete') {\n if (!this.client.cache.messages.has(message.id)) return;\n\n const id = this.client.cache.messages.get(message.id);\n\n if (!id) return;\n\n (async () => {\n const msg = await message.channel.messages.fetch(id);\n\n await msg.delete();\n\n this.client.cache.messages.delete(message.id);\n })();\n\n return;\n }\n\n if (message.content && this.client.modules.options.message) {\n const commands = this.client.commands.message;\n\n const prefixes = Array.isArray(this.client.modules.options.message.prefix) ? this.client.modules.options.message.prefix : [this.client.modules.options.message.prefix];\n\n let commandName: string | null = null,\n cmd,\n commandAlias: string | null = null,\n commandPrefix: string | null = null;\n\n commands.map((command) => {\n let prefix: string | null = null;\n\n if (command.regex && message.content.match(command.regex)) {\n const [match] = message.content.match(command.regex) || [null];\n\n if (match) commandName = command.name;\n }\n\n const cp = Array.isArray(command.prefix) ? command.prefix : [command.prefix as string];\n\n prefixes.map((p) => {\n if (message.content.startsWith(p)) prefix = p;\n });\n\n cp.map((p) => {\n if (message.content.startsWith(p)) prefix = p;\n });\n\n if (!prefix) return;\n\n if (!commandName)\n commandName =\n message.content\n .replace(prefix, '')\n .split(command.separator || / +/)\n .shift()\n ?.trim()\n ?.toLowerCase() || '';\n\n if (!this.client.commands.message.has(commandName) && command.aliases?.includes(commandName)) {\n commandAlias = commandName;\n\n commandName = command.name;\n }\n\n commandAlias = commandAlias ? commandAlias : commandName;\n\n commandPrefix = prefix;\n });\n\n if (!cmd && this.client.modules.options.message.allowMention) {\n if (message.mentions.users.has(this.client.user?.id as string) || message.mentions.repliedUser?.id === this.client.user?.id) {\n commandName = message.content.replace(`<@${this.client.user?.id}>`, '').trim().split(/ +/).shift()?.toLowerCase() || null;\n }\n }\n\n if (this.client.commands.message.has(commandName as string)) cmd = this.client.commands.message.get(commandName as string);\n\n if (await inhibitorValidation(message, cmd)) return;\n\n if (!cmd) return this.client.emit('commandNotFound', message, filetype);\n\n message.util.parsed = {\n alias: commandAlias,\n prefix: commandPrefix,\n };\n\n this.client.emit('commandStart', message, filetype);\n\n this.exec(cmd, message, await messageArguments(message, cmd), filetype);\n }\n }\n\n private async slashCommandRun<T extends Record<string, any>>(interaction: XernerxSlashInteraction) {\n const filetype = 'SlashCommand';\n\n interaction.util = new InteractionUtil(this.client, interaction);\n\n interaction.user = await xernerxUser(interaction, this.client);\n\n let cmd: SlashCommandBuilder | null | undefined = null;\n\n if (this.client.commands.slash.has(interaction.commandName)) cmd = this.client.commands.slash.get(interaction.commandName);\n\n if (await inhibitorValidation(interaction, cmd as SlashCommandBuilder)) return;\n\n if (!cmd) return this.client.emit('commandNotFound', interaction);\n\n new Promise(async (resolve) => {\n if (interaction.isAutocomplete()) {\n const focused = (interaction as T).options.getFocused(true);\n const options = (interaction as T).options;\n\n await (cmd as SlashCommandBuilder).autocomplete(interaction, focused, options);\n } else resolve(true);\n })\n .then(async () => {\n this.client.emit('commandStart', interaction, filetype);\n\n await this.exec(cmd as SlashCommandBuilder, interaction, await interactionArguments(interaction, cmd as SlashCommandBuilder), filetype);\n })\n .catch((error) => this.client.emit('commandError', interaction, error, filetype));\n }\n\n private async contextCommandRun(interaction: XernerxUserContextInteraction | XernerxMessageContextInteraction) {\n const filetype = 'ContextCommand';\n\n interaction.util = new InteractionUtil(this.client, interaction);\n\n interaction.user = await xernerxUser(interaction as XernerxUserContextInteraction, this.client);\n\n let cmd;\n\n if (this.client.commands.context.has(interaction.commandName)) cmd = this.client.commands.context.get(interaction.commandName);\n\n if (await inhibitorValidation(interaction, cmd)) return;\n\n if (!cmd) return this.client.emit('commandNotFound', interaction, filetype);\n\n this.client.emit('commandStart', interaction, filetype);\n\n return this.exec(cmd as unknown as SlashCommandBuilder, interaction, await interactionArguments(interaction, cmd), filetype);\n }\n\n private async exec(\n cmd: MessageCommandBuilder | SlashCommandBuilder | ContextCommandBuilder,\n event: XernerxMessage | XernerxSlashInteraction | XernerxMessageContextInteraction | XernerxUserContextInteraction,\n args: any,\n type: FileType\n ) {\n try {\n if (await commandValidation(event as XernerxMessage, cmd)) return;\n\n if (((cmd as MessageCommandBuilder).conditions as unknown) && (await ((cmd as MessageCommandBuilder).conditions(event as never, args) as unknown))) return;\n\n cmd.exec(event as never, args);\n\n this.client.emit('commandFinish', event, type);\n } catch (error) {\n new XernerxLog(this.client).error(`An error occurred executing ${cmd.name}`, error);\n\n this.client.emit('commandError', event, error, type);\n }\n }\n}\n"]}
@@ -1,9 +1,12 @@
1
1
  import SlashCommandBuilder from '../build/SlashCommandBuilder.js';
2
2
  import ContextCommandBuilder from '../build/ContextCommandBuilder.js';
3
3
  import MessageCommandBuilder from '../build/MessageCommandBuilder.js';
4
- import { XernerxMessage } from '../types/extenders.js';
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(interaction: XernerxInteraction | any, command: ContextCommandBuilder | SlashCommandBuilder): Promise<any>;
8
+ export declare function interactionArguments(
9
+ interaction: XernerxInteraction<XernerxSlashInteraction | XernerxUserContextInteraction | XernerxMessageContextInteraction> | any,
10
+ command: ContextCommandBuilder | SlashCommandBuilder
11
+ ): Promise<any>;
9
12
  //# sourceMappingURL=Arguments.d.ts.map
@@ -1 +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,MAAM,uBAAuB,CAAC;AACvD,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,CAAC,WAAW,EAAE,kBAAkB,GAAG,GAAG,EAAE,OAAO,EAAE,qBAAqB,GAAG,mBAAmB,gBAuBrI"}
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"}
@@ -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 } 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(interaction: XernerxInteraction | any, command: ContextCommandBuilder | SlashCommandBuilder) {\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 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"]}
@@ -17,12 +17,15 @@ export interface XernerxMessage extends Message, XernerxCommand {
17
17
  util: MessageUtil;
18
18
  }
19
19
  export interface XernerxSlashInteraction extends ChatInputCommandInteraction, XernerxCommand {
20
+ user: XernerxUser;
20
21
  util: InteractionUtil;
21
22
  }
22
23
  export interface XernerxUserContextInteraction extends UserContextMenuCommandInteraction, XernerxCommand {
24
+ user: XernerxUser;
23
25
  util: InteractionUtil;
24
26
  }
25
27
  export interface XernerxMessageContextInteraction extends MessageContextMenuCommandInteraction, XernerxCommand {
28
+ user: XernerxUser;
26
29
  util: InteractionUtil;
27
30
  }
28
31
  export {};
@@ -1 +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,eAAe,CAAC;CACzB;AAED,MAAM,WAAW,6BAA8B,SAAQ,iCAAiC,EAAE,cAAc;IACpG,IAAI,EAAE,eAAe,CAAC;CACzB;AAED,MAAM,WAAW,gCAAiC,SAAQ,oCAAoC,EAAE,cAAc;IAC1G,IAAI,EAAE,eAAe,CAAC;CACzB"}
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"}
@@ -1 +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 util: InteractionUtil;\n}\n\nexport interface XernerxUserContextInteraction extends UserContextMenuCommandInteraction, XernerxCommand {\n util: InteractionUtil;\n}\n\nexport interface XernerxMessageContextInteraction extends MessageContextMenuCommandInteraction, XernerxCommand {\n util: InteractionUtil;\n}\n"]}
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"]}
@@ -8,6 +8,7 @@ import MessageCommandBuilder from '../build/MessageCommandBuilder.js';
8
8
  import SlashCommandBuilder from '../build/SlashCommandBuilder.js';
9
9
  import { Locales, MessageCommandArgumentType, PermissionNames, SlashCommandArgumentType, EventType, InhibitorType } from './types.js';
10
10
  import ExtensionHandler from '../handlers/ExtensionHandler.js';
11
+ import { XernerxMessage, XernerxUser } from './extenders.js';
11
12
  export interface XernerxOptions {
12
13
  local?: string;
13
14
  global?: boolean;
@@ -210,8 +211,8 @@ export interface SlashCommandGroupOptions {
210
211
  }
211
212
  export interface SlashCommandArguments {
212
213
  args: Record<string, string>;
213
- subcommand: Record<string, string>;
214
- group: Record<string, string>;
214
+ subcommand: string;
215
+ group: string;
215
216
  }
216
217
  export interface EventBuilderOptions {
217
218
  name: EventType;
@@ -230,5 +231,6 @@ export interface PresenceOptions {
230
231
  status?: PresenceStatusData;
231
232
  interval?: number;
232
233
  }
234
+ export type ContextCommandArguments<T extends 'user' | 'message'> = T extends 'user' ? XernerxUser : XernerxMessage;
233
235
  export {};
234
236
  //# sourceMappingURL=interfaces.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/types/interfaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/types/interfaces.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/types/interfaces.ts"],"names":[],"mappings":"","sourcesContent":["import { ActivityType, ChannelType, Collection, PresenceStatusData } from 'discord.js';\n\nimport CommandHandler from '../handlers/CommandHandler.js';\nimport EventHandler from '../handlers/EventHandler.js';\nimport InhibitorHandler from '../handlers/InhibitorHandler.js';\nimport WebhookHandler from '../handlers/WebhookHandler.js';\nimport ContextCommandBuilder from '../build/ContextCommandBuilder.js';\nimport MessageCommandBuilder from '../build/MessageCommandBuilder.js';\nimport SlashCommandBuilder from '../build/SlashCommandBuilder.js';\nimport { Locales, MessageCommandArgumentType, PermissionNames, SlashCommandArgumentType, EventType, InhibitorType } from './types.js';\nimport ExtensionHandler from '../handlers/ExtensionHandler.js';\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: Record<string, string>;\n group: Record<string, string>;\n}\n\nexport interface EventBuilderOptions {\n name: EventType;\n emitter: 'client' | 'process';\n type: 'discord';\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"]}
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';\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"]}
@@ -135,7 +135,11 @@ export type DiscordEventType =
135
135
  | 'guildScheduledEventUserAdd'
136
136
  | 'guildScheduledEventUserRemove';
137
137
  export type EventType = DiscordEventType | 'webhookCreate' | 'webhookError' | 'commandBlock' | 'commandError' | 'commandStart' | 'commandFinish' | 'commandCooldown';
138
- export type XernerxInteraction = XernerxSlashInteraction | XernerxUserContextInteraction | XernerxMessageContextInteraction;
138
+ export type XernerxInteraction<T extends XernerxSlashInteraction | XernerxUserContextInteraction | XernerxMessageContextInteraction> = T extends XernerxSlashInteraction
139
+ ? XernerxSlashInteraction
140
+ : T extends XernerxUserContextInteraction
141
+ ? XernerxUserContextInteraction
142
+ : XernerxMessageContextInteraction;
139
143
  export type PermissionNames =
140
144
  | 'create instant invite'
141
145
  | 'kick members'
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types/types.ts"],"names":[],"mappings":"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"}
@@ -1 +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 = XernerxSlashInteraction | XernerxUserContextInteraction | 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"]}
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"]}
@@ -2,9 +2,10 @@ import { InteractionEditReplyOptions, InteractionReplyOptions, MessagePayload }
2
2
  import XernerxClient from '../client/XernerxClient.js';
3
3
  import { XernerxInteraction } from '../types/types.js';
4
4
  import Util from './Util.js';
5
+ import { XernerxMessageContextInteraction, XernerxSlashInteraction, XernerxUserContextInteraction } from '../main.js';
5
6
  export default class InteractionUtil extends Util {
6
7
  private interaction;
7
- constructor(client: XernerxClient, interaction: XernerxInteraction);
8
+ constructor(client: XernerxClient, interaction: XernerxInteraction<XernerxSlashInteraction | XernerxUserContextInteraction | XernerxMessageContextInteraction>);
8
9
  reply(content: string | MessagePayload | InteractionReplyOptions | InteractionEditReplyOptions): Promise<import('discord.js').Message<boolean> | import('discord.js').InteractionResponse<boolean>>;
9
10
  delay(time: number): Promise<unknown>;
10
11
  }
@@ -1 +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;AAE7B,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,IAAI;IAC7C,OAAO,CAAC,WAAW,CAAC;gBAER,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,kBAAkB;IAMrD,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,GAAG,uBAAuB,GAAG,2BAA2B;IAI9F,KAAK,CAAC,IAAI,EAAE,MAAM;CAGlC"}
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"}
@@ -1 +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;AAE7B,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,IAAI;IACrC,WAAW,CAAC;IAEpB,YAAY,MAAqB,EAAE,WAA+B;QAC9D,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';\n\nexport default class InteractionUtil extends Util {\n private interaction;\n\n constructor(client: XernerxClient, interaction: XernerxInteraction) {\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"]}
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"]}
@@ -1,7 +1,10 @@
1
1
  import ContextCommandBuilder from '../build/ContextCommandBuilder.js';
2
2
  import MessageCommandBuilder from '../build/MessageCommandBuilder.js';
3
3
  import SlashCommandBuilder from '../build/SlashCommandBuilder.js';
4
- import { XernerxMessage } from '../types/extenders.js';
4
+ import { XernerxMessage, XernerxSlashInteraction, XernerxUserContextInteraction } from '../types/extenders.js';
5
5
  import { XernerxInteraction } from '../types/types.js';
6
- export default function commandValidation(event: XernerxInteraction | XernerxMessage, command: MessageCommandBuilder | SlashCommandBuilder | ContextCommandBuilder): Promise<boolean>;
6
+ export default function commandValidation(
7
+ event: XernerxInteraction<XernerxSlashInteraction | XernerxUserContextInteraction | XernerxUserContextInteraction> | XernerxMessage,
8
+ command: MessageCommandBuilder | SlashCommandBuilder | ContextCommandBuilder
9
+ ): Promise<boolean>;
7
10
  //# sourceMappingURL=commandValidation.d.ts.map
@@ -1 +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,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAmB,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAExE,wBAA8B,iBAAiB,CAAC,KAAK,EAAE,kBAAkB,GAAG,cAAc,EAAE,OAAO,EAAE,qBAAqB,GAAG,mBAAmB,GAAG,qBAAqB,oBA4CvK"}
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 +1 @@
1
- {"version":3,"file":"commandValidation.js","sourceRoot":"","sources":["../../src/validators/commandValidation.ts"],"names":[],"mappings":"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","sourcesContent":["import { ChannelType, PermissionFlagsBits, PermissionsString } from 'discord.js';\n\nimport ContextCommandBuilder from '../build/ContextCommandBuilder.js';\nimport MessageCommandBuilder from '../build/MessageCommandBuilder.js';\nimport SlashCommandBuilder from '../build/SlashCommandBuilder.js';\nimport XernerxClient from '../client/XernerxClient.js';\nimport { XernerxMessage } from '../types/extenders.js';\nimport { PermissionNames, XernerxInteraction } from '../types/types.js';\n\nexport default async function commandValidation(event: XernerxInteraction | XernerxMessage, command: MessageCommandBuilder | SlashCommandBuilder | ContextCommandBuilder) {\n const client = event.client as XernerxClient;\n\n if (command.ignore?.owner && client.settings.ownerId.includes(event.user.id)) return false;\n\n if (!client.cache.cooldowns.has(`${event.user.id}-${command.name}`)) {\n client.cache.cooldowns.set(`${event.user.id}-${command.name}`, {\n id: event.user.id,\n command: command.name,\n createdTimestamp: Number(Date.now()) + (command.cooldown || 0),\n });\n\n setTimeout(() => {\n client.cache.cooldowns.delete(`${event.user.id}-${command.name}`);\n }, command.cooldown || 0);\n } else {\n const user = client.cache.cooldowns.get(`${event.user.id}-${command.name}`);\n\n const time = (user?.createdTimestamp || 0) - Number(Date.now());\n\n return emit(event, `Command on cooldown, ${time}`);\n }\n\n if ((command.ignore?.channels?.length || 0) > 0 && command.ignore?.channels?.includes(event.channel?.id as string)) return true;\n\n if ((command.ignore?.guilds?.length || 0) > 0 && command.ignore?.guilds?.includes(event.guild?.id as string)) return true;\n\n if ((command.ignore?.users?.length || 0) > 0 && command.ignore?.users?.includes(event.user.id as string)) return true;\n\n if (command.strict?.owner && !client.settings.ownerId.includes(event.user.id)) return await emit(event, 'Command is a developer command');\n\n if ((command.strict?.channels?.length || 0) > 0 && !command.strict?.channels?.includes(event.channel?.id as string)) return await emit(event, 'Command cannot be ran in this channel');\n\n if ((command.strict?.guilds?.length || 0) > 0 && !command.strict?.guilds?.includes(event.guild?.id as string)) return await emit(event, 'Command cannot be ran in this guild');\n\n if ((command.strict?.users?.length || 0) > 0 && !command.strict?.users?.includes(event.user.id)) return await emit(event, 'Command cannot be ran by you');\n\n if (command.permissions?.dm == false && event.channel?.type === ChannelType.DM) return await emit(event, \"Can't use in a DM Channel\");\n\n if (command.permissions?.user) {\n if (!(event.member?.permissions as Record<'has', Function>).has(toBigInt(command.permissions.user))) return await emit(event, 'Missing User Permissions');\n }\n\n return false;\n}\n\nasync function emit(event: XernerxInteraction | XernerxMessage, reason: string) {\n event.client.emit('commandBlock', event, reason);\n return true;\n}\n\nfunction toBigInt(permissions: Array<PermissionNames> | Array<string>) {\n let bigIntPermissions = 0n;\n\n permissions.map((permission: string | bigint) => {\n permission =\n PermissionFlagsBits[\n (permission as string)\n .split(/ +/)\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())\n .join('') as PermissionsString\n ];\n\n if (typeof permission === 'bigint') bigIntPermissions += permission;\n });\n\n return bigIntPermissions;\n}\n"]}
1
+ {"version":3,"file":"commandValidation.js","sourceRoot":"","sources":["../../src/validators/commandValidation.ts"],"names":[],"mappings":"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","sourcesContent":["import { ChannelType, PermissionFlagsBits, PermissionsString } from 'discord.js';\n\nimport ContextCommandBuilder from '../build/ContextCommandBuilder.js';\nimport MessageCommandBuilder from '../build/MessageCommandBuilder.js';\nimport SlashCommandBuilder from '../build/SlashCommandBuilder.js';\nimport XernerxClient from '../client/XernerxClient.js';\nimport { XernerxMessage, XernerxSlashInteraction, XernerxUserContextInteraction } from '../types/extenders.js';\nimport { PermissionNames, XernerxInteraction } from '../types/types.js';\n\nexport default async function commandValidation(\n event: XernerxInteraction<XernerxSlashInteraction | XernerxUserContextInteraction | XernerxUserContextInteraction> | XernerxMessage,\n command: MessageCommandBuilder | SlashCommandBuilder | ContextCommandBuilder\n) {\n const client = event.client as XernerxClient;\n\n if (command.ignore?.owner && client.settings.ownerId.includes(event.user.id)) return false;\n\n if (!client.cache.cooldowns.has(`${event.user.id}-${command.name}`)) {\n client.cache.cooldowns.set(`${event.user.id}-${command.name}`, {\n id: event.user.id,\n command: command.name,\n createdTimestamp: Number(Date.now()) + (command.cooldown || 0),\n });\n\n setTimeout(() => {\n client.cache.cooldowns.delete(`${event.user.id}-${command.name}`);\n }, command.cooldown || 0);\n } else {\n const user = client.cache.cooldowns.get(`${event.user.id}-${command.name}`);\n\n const time = (user?.createdTimestamp || 0) - Number(Date.now());\n\n return emit(event, `Command on cooldown, ${time}`);\n }\n\n if ((command.ignore?.channels?.length || 0) > 0 && command.ignore?.channels?.includes(event.channel?.id as string)) return true;\n\n if ((command.ignore?.guilds?.length || 0) > 0 && command.ignore?.guilds?.includes(event.guild?.id as string)) return true;\n\n if ((command.ignore?.users?.length || 0) > 0 && command.ignore?.users?.includes(event.user.id as string)) return true;\n\n if (command.strict?.owner && !client.settings.ownerId.includes(event.user.id)) return await emit(event, 'Command is a developer command');\n\n if ((command.strict?.channels?.length || 0) > 0 && !command.strict?.channels?.includes(event.channel?.id as string)) return await emit(event, 'Command cannot be ran in this channel');\n\n if ((command.strict?.guilds?.length || 0) > 0 && !command.strict?.guilds?.includes(event.guild?.id as string)) return await emit(event, 'Command cannot be ran in this guild');\n\n if ((command.strict?.users?.length || 0) > 0 && !command.strict?.users?.includes(event.user.id)) return await emit(event, 'Command cannot be ran by you');\n\n if (command.permissions?.dm == false && event.channel?.type === ChannelType.DM) return await emit(event, \"Can't use in a DM Channel\");\n\n if (command.permissions?.user) {\n if (!(event.member?.permissions as Record<'has', Function>).has(toBigInt(command.permissions.user))) return await emit(event, 'Missing User Permissions');\n }\n\n return false;\n}\n\nasync function emit(event: XernerxInteraction<XernerxSlashInteraction | XernerxUserContextInteraction | XernerxUserContextInteraction> | XernerxMessage, reason: string) {\n event.client.emit('commandBlock', event, reason);\n return true;\n}\n\nfunction toBigInt(permissions: Array<PermissionNames> | Array<string>) {\n let bigIntPermissions = 0n;\n\n permissions.map((permission: string | bigint) => {\n permission =\n PermissionFlagsBits[\n (permission as string)\n .split(/ +/)\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())\n .join('') as PermissionsString\n ];\n\n if (typeof permission === 'bigint') bigIntPermissions += permission;\n });\n\n return bigIntPermissions;\n}\n"]}
@@ -1,16 +1,19 @@
1
1
  import { ContextCommandBuilder, MessageCommandBuilder, SlashCommandBuilder } from '../main.js';
2
- import { XernerxMessage } from '../types/extenders.js';
2
+ import { XernerxMessage, XernerxMessageContextInteraction, XernerxSlashInteraction, XernerxUserContextInteraction } from '../types/extenders.js';
3
3
  import { InhibitorType, XernerxInteraction } from '../types/types.js';
4
- export declare function inhibitorValidation(event: XernerxMessage | XernerxInteraction, cmd?: ContextCommandBuilder | MessageCommandBuilder | SlashCommandBuilder): Promise<boolean>;
4
+ export declare function inhibitorValidation(
5
+ event: XernerxMessage | XernerxInteraction<XernerxSlashInteraction | XernerxUserContextInteraction | XernerxMessageContextInteraction>,
6
+ cmd?: ContextCommandBuilder | MessageCommandBuilder | SlashCommandBuilder
7
+ ): Promise<boolean>;
5
8
  export declare function inhibitorArguments(
6
- event: XernerxMessage | XernerxInteraction,
9
+ event: XernerxMessage | XernerxInteraction<XernerxSlashInteraction | XernerxUserContextInteraction | XernerxMessageContextInteraction>,
7
10
  cmd: ContextCommandBuilder | MessageCommandBuilder | SlashCommandBuilder | null,
8
11
  type: InhibitorType
9
12
  ):
13
+ | import('../main.js').XernerxUser
10
14
  | import('discord.js').Guild
11
15
  | import('discord.js').GuildMember
12
16
  | import('discord.js').TextBasedChannel
13
- | import('discord.js').User
14
17
  | SlashCommandBuilder
15
18
  | ContextCommandBuilder
16
19
  | MessageCommandBuilder
@@ -1 +1 @@
1
- {"version":3,"file":"inhibitorValidations.d.ts","sourceRoot":"","sources":["../../src/validators/inhibitorValidations.ts"],"names":[],"mappings":"AAAA,OAAsB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAC9G,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEtE,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,cAAc,GAAG,kBAAkB,EAAE,GAAG,CAAC,EAAE,qBAAqB,GAAG,qBAAqB,GAAG,mBAAmB,oBAY9J;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,cAAc,GAAG,kBAAkB,EAAE,GAAG,EAAE,qBAAqB,GAAG,qBAAqB,GAAG,mBAAmB,GAAG,IAAI,EAAE,IAAI,EAAE,aAAa,mQAuBlL"}
1
+ {"version":3,"file":"inhibitorValidations.d.ts","sourceRoot":"","sources":["../../src/validators/inhibitorValidations.ts"],"names":[],"mappings":"AAAA,OAAsB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAC9G,OAAO,EAAE,cAAc,EAAE,gCAAgC,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AACjJ,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEtE,wBAAsB,mBAAmB,CACrC,KAAK,EAAE,cAAc,GAAG,kBAAkB,CAAC,uBAAuB,GAAG,6BAA6B,GAAG,gCAAgC,CAAC,EACtI,GAAG,CAAC,EAAE,qBAAqB,GAAG,qBAAqB,GAAG,mBAAmB,oBAa5E;AAED,wBAAgB,kBAAkB,CAC9B,KAAK,EAAE,cAAc,GAAG,kBAAkB,CAAC,uBAAuB,GAAG,6BAA6B,GAAG,gCAAgC,CAAC,EACtI,GAAG,EAAE,qBAAqB,GAAG,qBAAqB,GAAG,mBAAmB,GAAG,IAAI,EAC/E,IAAI,EAAE,aAAa,0QAwBtB"}
@@ -1 +1 @@
1
- {"version":3,"file":"inhibitorValidations.js","sourceRoot":"","sources":["../../src/validators/inhibitorValidations.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,KAA0C,EAAE,GAAyE;IAC3J,MAAM,MAAM,GAAG,KAAK,CAAC,MAAuB,CAAC;IAE7C,MAAM,QAAQ,GAAG,EAAE,CAAC;IAEpB,KAAK,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,UAAU,EAAE;QAC/C,IAAI,OAAO,CAAC,MAAM,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,kBAAkB,CAAC,KAAK,EAAE,GAAG,IAAI,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YACrG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACvB;KACJ;IAED,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAA0C,EAAE,GAA+E,EAAE,IAAmB;IAC/K,QAAQ,IAAI,EAAE;QACV,KAAK,SAAS;YACV,OAAO,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC;QACjC,KAAK,SAAS;YACV,OAAO,GAAG,CAAC;QACf,KAAK,gBAAgB;YACjB,OAAO,GAAG,CAAC;QACf,KAAK,OAAO;YACR,OAAO,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC;QAC/B,KAAK,aAAa;YACd,OAAO,IAAI,CAAC;QAChB,KAAK,QAAQ;YACT,OAAO,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC;QAChC,KAAK,SAAS;YACV,OAAO,IAAI,CAAC;QAChB,KAAK,gBAAgB;YACjB,OAAO,GAAG,CAAC;QACf,KAAK,cAAc;YACf,OAAO,GAAG,CAAC;QACf,KAAK,MAAM;YACP,OAAO,KAAK,CAAC,IAAI,CAAC;KACzB;AACL,CAAC","sourcesContent":["import XernerxClient, { ContextCommandBuilder, MessageCommandBuilder, SlashCommandBuilder } from '../main.js';\nimport { XernerxMessage } from '../types/extenders.js';\nimport { InhibitorType, XernerxInteraction } from '../types/types.js';\n\nexport async function inhibitorValidation(event: XernerxMessage | XernerxInteraction, cmd?: ContextCommandBuilder | MessageCommandBuilder | SlashCommandBuilder) {\n const client = event.client as XernerxClient;\n\n const inhibits = [];\n\n for (const [name, inhibitor] of client.inhibitors) {\n if (Boolean(await inhibitor.check(event, await inhibitorArguments(event, cmd || null, inhibitor.type)))) {\n inhibits.push(name);\n }\n }\n\n return !!inhibits.length;\n}\n\nexport function inhibitorArguments(event: XernerxMessage | XernerxInteraction, cmd: ContextCommandBuilder | MessageCommandBuilder | SlashCommandBuilder | null, type: InhibitorType) {\n switch (type) {\n case 'channel':\n return event.channel || null;\n case 'command':\n return cmd;\n case 'contextCommand':\n return cmd;\n case 'guild':\n return event.guild || null;\n case 'interaction':\n return null;\n case 'member':\n return event.member || null;\n case 'message':\n return null;\n case 'messageCommand':\n return cmd;\n case 'slashCommand':\n return cmd;\n case 'user':\n return event.user;\n }\n}\n"]}
1
+ {"version":3,"file":"inhibitorValidations.js","sourceRoot":"","sources":["../../src/validators/inhibitorValidations.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACrC,KAAsI,EACtI,GAAyE;IAEzE,MAAM,MAAM,GAAG,KAAK,CAAC,MAAuB,CAAC;IAE7C,MAAM,QAAQ,GAAG,EAAE,CAAC;IAEpB,KAAK,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,UAAU,EAAE;QAC/C,IAAI,OAAO,CAAC,MAAM,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,MAAM,kBAAkB,CAAC,KAAK,EAAE,GAAG,IAAI,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAU,CAAC,CAAC,EAAE;YAChH,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACvB;KACJ;IAED,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,kBAAkB,CAC9B,KAAsI,EACtI,GAA+E,EAC/E,IAAmB;IAEnB,QAAQ,IAAI,EAAE;QACV,KAAK,SAAS;YACV,OAAO,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC;QACjC,KAAK,SAAS;YACV,OAAO,GAAG,CAAC;QACf,KAAK,gBAAgB;YACjB,OAAO,GAAG,CAAC;QACf,KAAK,OAAO;YACR,OAAO,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC;QAC/B,KAAK,aAAa;YACd,OAAO,IAAI,CAAC;QAChB,KAAK,QAAQ;YACT,OAAO,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC;QAChC,KAAK,SAAS;YACV,OAAO,IAAI,CAAC;QAChB,KAAK,gBAAgB;YACjB,OAAO,GAAG,CAAC;QACf,KAAK,cAAc;YACf,OAAO,GAAG,CAAC;QACf,KAAK,MAAM;YACP,OAAO,KAAK,CAAC,IAAI,CAAC;KACzB;AACL,CAAC","sourcesContent":["import XernerxClient, { ContextCommandBuilder, MessageCommandBuilder, SlashCommandBuilder } from '../main.js';\nimport { XernerxMessage, XernerxMessageContextInteraction, XernerxSlashInteraction, XernerxUserContextInteraction } from '../types/extenders.js';\nimport { InhibitorType, XernerxInteraction } from '../types/types.js';\n\nexport async function inhibitorValidation(\n event: XernerxMessage | XernerxInteraction<XernerxSlashInteraction | XernerxUserContextInteraction | XernerxMessageContextInteraction>,\n cmd?: ContextCommandBuilder | MessageCommandBuilder | SlashCommandBuilder\n) {\n const client = event.client as XernerxClient;\n\n const inhibits = [];\n\n for (const [name, inhibitor] of client.inhibitors) {\n if (Boolean(await inhibitor.check(event, (await inhibitorArguments(event, cmd || null, inhibitor.type)) as never))) {\n inhibits.push(name);\n }\n }\n\n return !!inhibits.length;\n}\n\nexport function inhibitorArguments(\n event: XernerxMessage | XernerxInteraction<XernerxSlashInteraction | XernerxUserContextInteraction | XernerxMessageContextInteraction>,\n cmd: ContextCommandBuilder | MessageCommandBuilder | SlashCommandBuilder | null,\n type: InhibitorType\n) {\n switch (type) {\n case 'channel':\n return event.channel || null;\n case 'command':\n return cmd;\n case 'contextCommand':\n return cmd;\n case 'guild':\n return event.guild || null;\n case 'interaction':\n return null;\n case 'member':\n return event.member || null;\n case 'message':\n return null;\n case 'messageCommand':\n return cmd;\n case 'slashCommand':\n return cmd;\n case 'user':\n return event.user;\n }\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xernerx",
3
- "version": "4.4.14",
3
+ "version": "4.4.16",
4
4
  "description": "A bot framework for discord.js.",
5
5
  "main": "dist/main.js",
6
6
  "type": "module",