xernerx 4.4.9 → 4.4.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/dist/build/ContextCommandBuilder.js +1 -0
  2. package/dist/build/ContextCommandBuilder.js.map +1 -0
  3. package/dist/build/EventBuilder.js +1 -0
  4. package/dist/build/EventBuilder.js.map +1 -0
  5. package/dist/build/InhibitorBuilder.js +1 -2
  6. package/dist/build/InhibitorBuilder.js.map +1 -0
  7. package/dist/build/MessageCommandBuilder.js +1 -0
  8. package/dist/build/MessageCommandBuilder.js.map +1 -0
  9. package/dist/build/SlashCommandBuilder.js +1 -0
  10. package/dist/build/SlashCommandBuilder.js.map +1 -0
  11. package/dist/client/XernerxClient.js +6 -5
  12. package/dist/client/XernerxClient.js.map +1 -0
  13. package/dist/functions/deploy.js +1 -0
  14. package/dist/functions/deploy.js.map +1 -0
  15. package/dist/functions/isOwner.js +1 -0
  16. package/dist/functions/isOwner.js.map +1 -0
  17. package/dist/functions/isVoter.js +1 -0
  18. package/dist/functions/isVoter.js.map +1 -0
  19. package/dist/functions/load.js +1 -0
  20. package/dist/functions/load.js.map +1 -0
  21. package/dist/functions/reload.js +1 -0
  22. package/dist/functions/reload.js.map +1 -0
  23. package/dist/functions/setPresence.js +1 -0
  24. package/dist/functions/setPresence.js.map +1 -0
  25. package/dist/functions/xernerxUser.js +1 -0
  26. package/dist/functions/xernerxUser.js.map +1 -0
  27. package/dist/handlers/CommandHandler.js +2 -1
  28. package/dist/handlers/CommandHandler.js.map +1 -0
  29. package/dist/handlers/EventHandler.js +1 -0
  30. package/dist/handlers/EventHandler.js.map +1 -0
  31. package/dist/handlers/ExtensionHandler.js +2 -1
  32. package/dist/handlers/ExtensionHandler.js.map +1 -0
  33. package/dist/handlers/Handler.js +1 -0
  34. package/dist/handlers/Handler.js.map +1 -0
  35. package/dist/handlers/InhibitorHandler.js +1 -0
  36. package/dist/handlers/InhibitorHandler.js.map +1 -0
  37. package/dist/handlers/WebhookHandler.js +1 -0
  38. package/dist/handlers/WebhookHandler.js.map +1 -0
  39. package/dist/main.js +1 -0
  40. package/dist/main.js.map +13 -0
  41. package/dist/models/Arguments.js +2 -1
  42. package/dist/models/Arguments.js.map +1 -0
  43. package/dist/tools/XernerxLog.js +6 -0
  44. package/dist/tools/XernerxLog.js.map +1 -0
  45. package/dist/types/interfaces.js +1 -0
  46. package/dist/types/interfaces.js.map +1 -0
  47. package/dist/utils/ClientUtil.js +1 -0
  48. package/dist/utils/ClientUtil.js.map +1 -0
  49. package/dist/utils/InteractionUtil.js +1 -0
  50. package/dist/utils/InteractionUtil.js.map +1 -0
  51. package/dist/utils/MessageUtil.js +1 -0
  52. package/dist/utils/MessageUtil.js.map +1 -0
  53. package/dist/utils/Util.js +1 -0
  54. package/dist/utils/Util.js.map +1 -0
  55. package/dist/validators/commandValidation.js +1 -0
  56. package/dist/validators/commandValidation.js.map +1 -0
  57. package/package.json +1 -1
  58. package/dist/build/ContextCommandBuilder.d.ts +0 -42
  59. package/dist/build/EventBuilder.d.ts +0 -24
  60. package/dist/build/InhibitorBuilder.d.ts +0 -19
  61. package/dist/build/MessageCommandBuilder.d.ts +0 -41
  62. package/dist/build/SlashCommandBuilder.d.ts +0 -47
  63. package/dist/client/XernerxClient.d.ts +0 -47
  64. package/dist/client/XernerxShardClient.d.ts +0 -16
  65. package/dist/client/XernerxShardClient.js +0 -30
  66. package/dist/functions/delay.d.ts +0 -1
  67. package/dist/functions/delay.js +0 -3
  68. package/dist/functions/deploy.d.ts +0 -2
  69. package/dist/functions/isOwner.d.ts +0 -3
  70. package/dist/functions/isVoter.d.ts +0 -3
  71. package/dist/functions/load.d.ts +0 -3
  72. package/dist/functions/reload.d.ts +0 -2
  73. package/dist/functions/sendWebhook.d.ts +0 -2
  74. package/dist/functions/sendWebhook.js +0 -13
  75. package/dist/functions/setPresence.d.ts +0 -3
  76. package/dist/functions/xernerxUser.d.ts +0 -3
  77. package/dist/handlers/CommandHandler.d.ts +0 -13
  78. package/dist/handlers/EventHandler.d.ts +0 -7
  79. package/dist/handlers/ExtensionHandler.d.ts +0 -7
  80. package/dist/handlers/Handler.d.ts +0 -14
  81. package/dist/handlers/InhibitorHandler.d.ts +0 -7
  82. package/dist/handlers/WebhookHandler.d.ts +0 -9
  83. package/dist/main.d.ts +0 -35
  84. package/dist/models/Arguments.d.ts +0 -8
  85. package/dist/tools/XernerxError.d.ts +0 -6
  86. package/dist/tools/XernerxError.js +0 -10
  87. package/dist/tools/XernerxLog.d.ts +0 -14
  88. package/dist/types/extenders.d.ts +0 -32
  89. package/dist/types/extenders.js +0 -1
  90. package/dist/types/interfaces.d.ts +0 -230
  91. package/dist/types/types.d.ts +0 -13
  92. package/dist/types/types.js +0 -1
  93. package/dist/utils/ClientUtil.d.ts +0 -10
  94. package/dist/utils/InteractionUtil.d.ts +0 -10
  95. package/dist/utils/MessageUtil.d.ts +0 -15
  96. package/dist/utils/Util.d.ts +0 -5
  97. package/dist/validators/commandValidation.d.ts +0 -6
  98. package/dist/validators/inhibitorValidations.d.ts +0 -5
  99. package/dist/validators/inhibitorValidations.js +0 -34
@@ -65,3 +65,4 @@ export default class ContextCommandBuilder {
65
65
  }
66
66
  async exec(interaction, args) { }
67
67
  }
68
+ //# sourceMappingURL=ContextCommandBuilder.js.map
@@ -0,0 +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 | T | undefined> {}\n}\n"]}
@@ -27,3 +27,4 @@ export default class EventBuilder {
27
27
  */
28
28
  async run(...args) { }
29
29
  }
30
+ //# sourceMappingURL=EventBuilder.js.map
@@ -0,0 +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,CAAI,GAAG,IAAc,IAAkC,CAAC;CAC3E","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>(...args: Array<T>): Promise<void | undefined | T> {}\n}\n"]}
@@ -1,7 +1,5 @@
1
1
  import { z } from 'zod';
2
2
  import XernerxClient from '../client/XernerxClient.js';
3
- // import { InhibitorOptions, MessageArgumentOptions, SlashArgumentOptions } from '../types/options.js';
4
- // import { XernerxInteraction, XernerxMessage } from '../types/types.js';
5
3
  /**
6
4
  * @description - The inhibitor builder for inhibitors.
7
5
  * @param {String} id - The unique ID of the inhibitor.
@@ -20,3 +18,4 @@ export default class InhibitorBuilder {
20
18
  }
21
19
  async check(interaction, args) { }
22
20
  }
21
+ //# sourceMappingURL=InhibitorBuilder.js.map
@@ -0,0 +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;AAMvD;;;;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,IAAkC,CAAC;CAC7L","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/**\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 | undefined | T> {}\n}\n"]}
@@ -58,3 +58,4 @@ export default class MessageCommandBuilder {
58
58
  async conditions(message, { args, flags }) { }
59
59
  async exec(message, { args, flags }) { }
60
60
  }
61
+ //# sourceMappingURL=MessageCommandBuilder.js.map
@@ -0,0 +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 | undefined | T> {}\n\n public async exec<T>(message: XernerxMessage, { args, flags }: any): Promise<void | undefined | T> {}\n}\n"]}
@@ -111,3 +111,4 @@ export default class SlashCommandBuilder {
111
111
  }
112
112
  }
113
113
  }
114
+ //# sourceMappingURL=SlashCommandBuilder.js.map
@@ -0,0 +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 | undefined | T> {}\n\n public async conditions<T>(interaction: XernerxSlashInteraction, { args, subcommand, group }: any): Promise<void | undefined | T> {}\n\n public async exec<T>(interaction: XernerxSlashInteraction, { args, subcommand, group }: any): Promise<void | undefined | 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"]}
@@ -12,8 +12,8 @@ export default class XernerxClient extends Client {
12
12
  super(discordOptions);
13
13
  this.settings = z
14
14
  .object({
15
- local: z.string().optional(),
16
- global: z.boolean().default(false),
15
+ local: z.string().or(z.undefined()).optional(),
16
+ global: z.boolean().default(false).optional(),
17
17
  ownerId: z.string().or(z.array(z.string())).default([]),
18
18
  permissions: z
19
19
  .object({
@@ -25,9 +25,9 @@ export default class XernerxClient extends Client {
25
25
  ignore: z
26
26
  .object({
27
27
  owner: z.boolean().default(false),
28
- users: z.array(z.string()),
29
- channels: z.array(z.string()),
30
- guilds: z.array(z.string()),
28
+ users: z.array(z.string()).default([]),
29
+ channels: z.array(z.string()).default([]),
30
+ guilds: z.array(z.string()).default([]),
31
31
  })
32
32
  .optional(),
33
33
  log: z
@@ -80,3 +80,4 @@ export default class XernerxClient extends Client {
80
80
  new XernerxLog(this).ready();
81
81
  }
82
82
  }
83
+ //# sourceMappingURL=XernerxClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XernerxClient.js","sourceRoot":"","sources":["../../src/client/XernerxClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAiB,UAAU,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,cAAc,MAAM,+BAA+B,CAAC;AAC3D,OAAO,YAAY,MAAM,6BAA6B,CAAC;AACvD,OAAO,gBAAgB,MAAM,iCAAiC,CAAC;AAC/D,OAAO,cAAc,MAAM,+BAA+B,CAAC;AAC3D,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAEhD,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAEhD,OAAO,gBAAgB,MAAM,iCAAiC,CAAC;AAE/D,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,MAAM;IAW7C,YAAmB,cAA6B,EAAE,cAA8B,EAAE,MAAgC;QAC9G,KAAK,CAAC,cAAc,CAAC,CAAC;QAEtB,IAAI,CAAC,QAAQ,GAAG,CAAC;aACZ,MAAM,CAAC;YACJ,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,EAAE;YAC9C,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE;YAC7C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;YACvD,WAAW,EAAE,CAAC;iBACT,MAAM,CAAC;gBACJ,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;gBACvC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;gBACrC,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;aACjC,CAAC;iBACD,QAAQ,EAAE;YACf,MAAM,EAAE,CAAC;iBACJ,MAAM,CAAC;gBACJ,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;gBACjC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;gBACtC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;aAC1C,CAAC;iBACD,QAAQ,EAAE;YACf,GAAG,EAAE,CAAC;iBACD,MAAM,CAAC;gBACJ,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;gBACjC,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;gBAChC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;gBACjC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;aACxD,CAAC;iBACD,QAAQ,EAAE;YACf,QAAQ,EAAE,CAAC;iBACN,MAAM,CAAC;gBACJ,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC9B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;aAC/B,CAAC;iBACD,QAAQ,EAAE;SAClB,CAAC;aACD,KAAK,CAAC,cAAc,CAAC,CAAC;QAE3B,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,IAAI,CAAC;QAE7B,IAAI,CAAC,QAAQ,GAAG;YACZ,OAAO,EAAE,IAAI,UAAU,EAAE;YACzB,KAAK,EAAE,IAAI,UAAU,EAAE;YACvB,OAAO,EAAE,IAAI,UAAU,EAAE;SAC5B,CAAC;QAEF,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAE/B,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;QAEnC,IAAI,CAAC,OAAO,GAAG;YACX,OAAO,EAAE,EAAE;YACX,cAAc,EAAE,IAAI,cAAc,CAAC,IAAI,CAAC;YACxC,YAAY,EAAE,IAAI,YAAY,CAAC,IAAI,CAAC;YACpC,gBAAgB,EAAE,IAAI,gBAAgB,CAAC,IAAI,CAAC;YAC5C,cAAc,EAAE,IAAI,cAAc,CAAC,IAAI,CAAC;YACxC,gBAAgB,EAAE,IAAI,gBAAgB,CAAC,IAAI,CAAC;SACtC,CAAC;QAEX,IAAI,CAAC,IAAI,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;QAEjC,IAAI,CAAC,KAAK,GAAG;YACT,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI;YAClC,SAAS,EAAE,CAAC;YACZ,OAAO,EAAE,CAAC;YACV,UAAU,EAAE,CAAC;SAChB,CAAC;QAEF,IAAI,CAAC,KAAK,GAAG;YACT,QAAQ,EAAE,IAAI,UAAU,EAAE;YAC1B,SAAS,EAAE,IAAI,UAAU,EAAE;SAC9B,CAAC;QAEF,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,OAAO,CAAC,KAAa;QACxB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAElB,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;IACjC,CAAC;CACJ","sourcesContent":["import { Client, ClientOptions, Collection } from 'discord.js';\nimport { z } from 'zod';\n\nimport CommandHandler from '../handlers/CommandHandler.js';\nimport EventHandler from '../handlers/EventHandler.js';\nimport InhibitorHandler from '../handlers/InhibitorHandler.js';\nimport WebhookHandler from '../handlers/WebhookHandler.js';\nimport XernerxLog from '../tools/XernerxLog.js';\nimport { XernerxOptions, ModuleOptions, XernerxCommands, XernerxCache } from '../types/interfaces.js';\nimport ClientUtil from '../utils/ClientUtil.js';\nimport { InhibitorBuilder, EventBuilder } from '../main.js';\nimport ExtensionHandler from '../handlers/ExtensionHandler.js';\n\nexport default class XernerxClient extends Client {\n public declare readonly settings;\n public declare readonly config;\n public declare readonly commands: XernerxCommands;\n public declare readonly events: Collection<string, EventBuilder>;\n public declare readonly inhibitors: Collection<string, InhibitorBuilder>;\n public declare readonly modules: ModuleOptions;\n public declare readonly util: ClientUtil;\n public declare readonly stats: Record<string, number>;\n public declare readonly cache: XernerxCache;\n\n public constructor(discordOptions: ClientOptions, xernerxOptions: XernerxOptions, config?: Record<string, unknown>) {\n super(discordOptions);\n\n this.settings = z\n .object({\n local: z.string().or(z.undefined()).optional(),\n global: z.boolean().default(false).optional(),\n ownerId: z.string().or(z.array(z.string())).default([]),\n permissions: z\n .object({\n client: z.array(z.string()).default([]),\n user: z.array(z.string()).default([]),\n dm: z.boolean().default(false),\n })\n .optional(),\n ignore: z\n .object({\n owner: z.boolean().default(false),\n users: z.array(z.string()).default([]),\n channels: z.array(z.string()).default([]),\n guilds: z.array(z.string()).default([]),\n })\n .optional(),\n log: z\n .object({\n ready: z.boolean().default(false),\n info: z.boolean().default(false),\n error: z.boolean().default(false),\n table: z.array(z.string()).or(z.null()).default(null),\n })\n .optional(),\n cooldown: z\n .object({\n command: z.number().default(0),\n cache: z.number().default(0),\n })\n .optional(),\n })\n .parse(xernerxOptions);\n\n this.config = config || null;\n\n this.commands = {\n message: new Collection(),\n slash: new Collection(),\n context: new Collection(),\n };\n\n this.events = new Collection();\n\n this.inhibitors = new Collection();\n\n this.modules = {\n options: {},\n commandHandler: new CommandHandler(this),\n eventHandler: new EventHandler(this),\n inhibitorHandler: new InhibitorHandler(this),\n webhookHandler: new WebhookHandler(this),\n extensionHandler: new ExtensionHandler(this),\n } as const;\n\n this.util = new ClientUtil(this);\n\n this.stats = {\n guildCount: this.guilds.cache.size,\n userCount: 0,\n shardId: 0,\n shardCount: 1,\n };\n\n this.cache = {\n messages: new Collection(),\n cooldowns: new Collection(),\n };\n\n return this;\n }\n\n public connect(token: string) {\n this.login(token);\n\n new XernerxLog(this).ready();\n }\n}\n"]}
@@ -34,3 +34,4 @@ function put(client, global, body) {
34
34
  else
35
35
  rest.put(Routes.applicationCommands(client.user?.id), { body });
36
36
  }
37
+ //# sourceMappingURL=deploy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/functions/deploy.ts"],"names":[],"mappings":"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","sourcesContent":["import { GatewayVersion, REST, Routes } from 'discord.js';\n\nimport ContextCommandBuilder from '../build/ContextCommandBuilder.js';\nimport SlashCommandBuilder from '../build/SlashCommandBuilder.js';\nimport XernerxClient from '../client/XernerxClient.js';\nimport XernerxLog from '../tools/XernerxLog.js';\nimport XernerxError from '../tools/XernerxError.js';\n\nconst commands = { slash: [], context: [] };\n\nexport default function deploy(client: XernerxClient, type: 'slash' | 'context') {\n client.prependOnceListener('ready', (client) => {\n commands[type] = client.commands[type].map((command: SlashCommandBuilder | ContextCommandBuilder) => command.data.toJSON());\n\n if (!(!!client.modules.options.slash && !!client.modules.options.context && commands.slash.length > 0 && commands.context.length > 0)) return;\n\n try {\n if (client.settings.global) {\n put(client, client.settings.global, [...commands.slash, ...commands.context]);\n put(client, !client.settings.global, []);\n } else {\n put(client, !client.settings.global, [...commands.slash, ...commands.context]);\n put(client, client.settings.global, []);\n }\n } catch (error) {\n new XernerxLog(client).error(`An error occurred while deploying the interaction commands!`, error);\n } finally {\n new XernerxLog(client).info(\n `Deployed ${[client.commands.message.size, client.commands.slash.size, client.commands.context.size].reduce((a, b) => (a += b))} Commands ${\n client.settings.global ? 'globally' : 'locally'\n }.`\n );\n }\n });\n}\n\nfunction put(client: XernerxClient, global: boolean, body: Array<object>) {\n const rest = new REST({ version: GatewayVersion }).setToken(client.token as string);\n\n if (!global && !client.settings?.local) throw new XernerxError(`No guild ID provided as local guild!`);\n\n if (!global && client.settings?.local) rest.put(Routes.applicationGuildCommands(client.user?.id as string, client.settings.local), { body });\n else rest.put(Routes.applicationCommands(client.user?.id as string), { body });\n}\n"]}
@@ -1,3 +1,4 @@
1
1
  export default function isOwner(user, client) {
2
2
  return client.settings.ownerId.includes(user.id);
3
3
  }
4
+ //# sourceMappingURL=isOwner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isOwner.js","sourceRoot":"","sources":["../../src/functions/isOwner.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,IAA6B,EAAE,MAAqB;IAChF,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACrD,CAAC","sourcesContent":["import XernerxClient from '../client/XernerxClient.js';\nimport { XernerxUser } from '../types/extenders.js';\n\nexport default function isOwner(user: Pick<XernerxUser, 'id'>, client: XernerxClient) {\n return client.settings.ownerId.includes(user.id);\n}\n"]}
@@ -3,3 +3,4 @@ export default async function isVoter(user, client, token, host) {
3
3
  const x = await hasVoted(user.id, client.user?.id, token, host);
4
4
  console.log(x);
5
5
  }
6
+ //# sourceMappingURL=isVoter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isVoter.js","sourceRoot":"","sources":["../../src/functions/isVoter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAInC,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,OAAO,CAAC,IAAiB,EAAE,MAAqB,EAAE,KAAa,EAAE,IAAc;IACzG,MAAM,CAAC,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,EAAE,EAAY,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAE1E,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC","sourcesContent":["import { hasVoted } from 'dbl-sdk';\nimport XernerxClient from '../client/XernerxClient.js';\nimport { XernerxUser } from '../types/extenders.js';\n\nexport default async function isVoter(user: XernerxUser, client: XernerxClient, token: string, host: 'top.gg') {\n const x = await hasVoted(user.id, client.user?.id as string, token, host);\n\n console.log(x);\n}\n"]}
@@ -31,3 +31,4 @@ function fileSave(client, file, type) {
31
31
  break;
32
32
  }
33
33
  }
34
+ //# sourceMappingURL=load.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load.js","sourceRoot":"","sources":["../../src/functions/load.ts"],"names":[],"mappings":"AAOA,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAEhD,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,IAAI,CAAC,MAAqB,EAAE,IAAY,EAAE,IAAc;IAClF,IAAI;QACA,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QAE1D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAErB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAErB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAE7B,OAAO,IAAI,CAAC;KACf;IAAC,OAAO,KAAK,EAAE;QACZ,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,iBAAiB,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;KAC5G;AACL,CAAC;AAED,SAAS,QAAQ,CAAC,MAAqB,EAAE,IAA2G,EAAE,IAAc;IAChK,QAAQ,IAAI,EAAE;QACV,KAAK,gBAAgB;YACjB,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAA6B,CAAC,CAAC;YACtE,MAAM;QACV,KAAK,cAAc;YACf,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAA2B,CAAC,CAAC;YAClE,MAAM;QACV,KAAK,gBAAgB;YACjB,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAA6B,CAAC,CAAC;YACtE,MAAM;QACV,KAAK,WAAW;YACZ,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAwB,CAAC,CAAC;YAC3D,MAAM;QACV,KAAK,OAAO;YACR,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAoB,CAAC,CAAC;YACnD,MAAM;KACb;AACL,CAAC","sourcesContent":["import InhibitorBuilder from '../build/InhibitorBuilder.js';\nimport SlashCommandBuilder from '../build/SlashCommandBuilder.js';\nimport ContextCommandBuilder from '../build/ContextCommandBuilder.js';\nimport MessageCommandBuilder from '../build/MessageCommandBuilder.js';\nimport EventBuilder from '../build/EventBuilder.js';\nimport XernerxClient from '../client/XernerxClient.js';\nimport { FileType } from '../types/types.js';\nimport XernerxLog from '../tools/XernerxLog.js';\n\nexport default async function load(client: XernerxClient, path: string, type: FileType) {\n try {\n let file = new (await import(`file://${path}`)).default();\n\n file.fileType = type;\n\n file.filePath = path;\n\n file.client = client;\n\n fileSave(client, file, type);\n\n return file;\n } catch (error) {\n new XernerxLog(client).error(`Couldn't load ${type} ${path.match(/\\w*\\.js$/gim)?.at(0) || path}`, error);\n }\n}\n\nfunction fileSave(client: XernerxClient, file: MessageCommandBuilder | SlashCommandBuilder | ContextCommandBuilder | EventBuilder | InhibitorBuilder, type: FileType) {\n switch (type) {\n case 'MessageCommand':\n client.commands.message.set(file.name, file as MessageCommandBuilder);\n break;\n case 'SlashCommand':\n client.commands.slash.set(file.name, file as SlashCommandBuilder);\n break;\n case 'ContextCommand':\n client.commands.context.set(file.name, file as ContextCommandBuilder);\n break;\n case 'Inhibitor':\n client.inhibitors.set(file.name, file as InhibitorBuilder);\n break;\n case 'Event':\n client.events.set(file.name, file as EventBuilder);\n break;\n }\n}\n"]}
@@ -40,3 +40,4 @@ export default function reload(client, type) {
40
40
  return filedata;
41
41
  });
42
42
  }
43
+ //# sourceMappingURL=reload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reload.js","sourceRoot":"","sources":["../../src/functions/reload.ts"],"names":[],"mappings":"AAEA,IAAK,SAMJ;AAND,WAAK,SAAS;IACV,uCAA4B,CAAA;IAC5B,mCAAwB,CAAA;IACxB,uCAA4B,CAAA;IAC5B,4BAAiB,CAAA;IACjB,oCAAyB,CAAA;AAC7B,CAAC,EANI,SAAS,KAAT,SAAS,QAMb;AAED,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,MAAqB,EAAE,IAA6D;IAC/G,MAAM,KAAK,GAAkB,EAAE,CAAC;IAEhC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,SAAS,EAAE;QAC9D,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YACxC,KAAK,CAAC,IAAI,CAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAuC,CAAC,QAAQ,CAAC,CAAC;SAC/F;QAEA,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAkB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;KACzD;IAED,IAAI,IAAI,KAAK,OAAO,EAAE;QAClB,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE;YAChC,KAAK,CAAC,IAAI,CAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAuC,CAAC,QAAQ,CAAC,CAAC;SACvF;QAEA,MAAM,CAAC,MAAM,CAAC,KAAkB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;KACjD;IAED,IAAI,IAAI,KAAK,WAAW,EAAE;QACtB,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,UAAU,EAAE;YACpC,KAAK,CAAC,IAAI,CAAE,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAuC,CAAC,QAAQ,CAAC,CAAC;SAC3F;QAEA,MAAM,CAAC,UAAU,CAAC,KAAkB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;KACrD;IAED,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QAC5B,IAAI,QAAQ,GAAG,IAAI,CAAC,MAAM,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QAE9D,QAAQ,CAAC,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAEpC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;QAEzB,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;QAEzB,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,SAAS;YAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAErH,IAAI,IAAI,KAAK,OAAO;YAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAEjE,IAAI,IAAI,KAAK,WAAW;YAAE,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAEzE,OAAO,QAAQ,CAAC;IACpB,CAAC,CAAC,CAAC;AACP,CAAC","sourcesContent":["import XernerxClient from '../client/XernerxClient.js';\n\nenum FileTypes {\n 'message' = 'MessageCommand',\n 'slash' = 'SlashCommand',\n 'context' = 'ContextCommand',\n 'event' = 'Event',\n 'inhibitor' = 'Inhibitor',\n}\n\nexport default function reload(client: XernerxClient, type: 'message' | 'slash' | 'context' | 'event' | 'inhibitor') {\n const files: Array<string> = [];\n\n if (type === 'message' || type === 'slash' || type === 'context') {\n for (const [name] of client.commands[type]) {\n files.push((client.commands[type].get(name) as unknown as Record<string, string>).filePath);\n }\n\n (client.commands[type].sweep as Function)(() => true);\n }\n\n if (type === 'event') {\n for (const [name] of client.events) {\n files.push((client.events.get(name) as unknown as Record<string, string>).filePath);\n }\n\n (client.events.sweep as Function)(() => true);\n }\n\n if (type === 'inhibitor') {\n for (const [name] of client.inhibitors) {\n files.push((client.inhibitors.get(name) as unknown as Record<string, string>).filePath);\n }\n\n (client.inhibitors.sweep as Function)(() => true);\n }\n\n return files.map(async (file) => {\n let filedata = new (await import(`file://${file}`)).default();\n\n filedata.fileType = FileTypes[type];\n\n filedata.filePath = file;\n\n filedata.client = client;\n\n if (type === 'message' || type === 'slash' || type === 'context') client.commands[type].set(filedata.name, filedata);\n\n if (type === 'event') client.events.set(filedata.name, filedata);\n\n if (type === 'inhibitor') client.inhibitors.set(filedata.name, filedata);\n\n return filedata;\n });\n}\n"]}
@@ -16,3 +16,4 @@ export default function setPresence(client, options) {
16
16
  }, options.interval);
17
17
  return response;
18
18
  }
19
+ //# sourceMappingURL=setPresence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setPresence.js","sourceRoot":"","sources":["../../src/functions/setPresence.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,MAAqB,EAAE,OAAwB;IAC/E,MAAM,QAAQ,GAAG,GAAG,EAAE,CAClB,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC;QACrB,UAAU,EAAE;YACR;gBACI,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,GAAG,EAAE,OAAO,CAAC,GAAG;aACnB;SACJ;QACD,MAAM,EAAE,OAAO,CAAC,MAAM;KACzB,CAAC,CAAC;IAEP,IAAI,QAAQ,GAAG,QAAQ,EAAE,CAAC;IAE1B,IAAI,OAAO,CAAC,QAAQ;QAChB,WAAW,CAAC,GAAG,EAAE;YACb,QAAQ,GAAG,QAAQ,EAAE,CAAC;QAC1B,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEzB,OAAO,QAAQ,CAAC;AACpB,CAAC","sourcesContent":["import XernerxClient from '../main.js';\nimport { PresenceOptions } from '../types/interfaces.js';\n\nexport default function setPresence(client: XernerxClient, options: PresenceOptions) {\n const presence = () =>\n client.user?.setPresence({\n activities: [\n {\n name: options.text,\n type: options.type,\n url: options.url,\n },\n ],\n status: options.status,\n });\n\n let response = presence();\n\n if (options.interval)\n setInterval(() => {\n response = presence();\n }, options.interval);\n\n return response;\n}\n"]}
@@ -6,3 +6,4 @@ export async function xernerxUser(event, client) {
6
6
  'voted' in user ? null : (user.voted = client.util.hasVoted ? await client.util.hasVoted(user.id) : null);
7
7
  return user;
8
8
  }
9
+ //# sourceMappingURL=xernerxUser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xernerxUser.js","sourceRoot":"","sources":["../../src/functions/xernerxUser.ts"],"names":[],"mappings":"AAEA,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,KAA+G,EAAE,MAAqB;IACpK,MAAM,MAAM,GAAI,KAAwB,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC;IAE9D,MAAM,IAAI,GAAyB,MAAM,CAAC;IAE1C,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,IAAmB,EAAE,MAAM,CAAC,CAAC,CAAC;IAE7E,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAE1G,OAAO,IAAmB,CAAC;AAC/B,CAAC","sourcesContent":["import XernerxClient from '../client/XernerxClient.js';\nimport { XernerxMessage, XernerxSlashInteraction, XernerxUser, XernerxUserContextInteraction } from '../types/extenders.js';\nimport isOwner from './isOwner.js';\n\nexport async function xernerxUser(event: XernerxMessage | XernerxSlashInteraction | XernerxUserContextInteraction | XernerxUserContextInteraction, client: XernerxClient) {\n const author = (event as XernerxMessage).author || event.user;\n\n const user: Partial<XernerxUser> = author;\n\n 'owner' in user ? null : (user.owner = isOwner(user as XernerxUser, client));\n\n 'voted' in user ? null : (user.voted = client.util.hasVoted ? await client.util.hasVoted(user.id) : null);\n\n return user as XernerxUser;\n}\n"]}
@@ -255,7 +255,7 @@ export default class CommandHandler extends Handler {
255
255
  if (!cmd)
256
256
  return this.client.emit('commandNotFound', interaction, filetype);
257
257
  this.client.emit('commandStart', interaction, filetype);
258
- this.exec(cmd, interaction, await interactionArguments(interaction, cmd), filetype);
258
+ return this.exec(cmd, interaction, await interactionArguments(interaction, cmd), filetype);
259
259
  }
260
260
  async exec(cmd, event, args, type) {
261
261
  try {
@@ -272,3 +272,4 @@ export default class CommandHandler extends Handler {
272
272
  }
273
273
  }
274
274
  }
275
+ //# sourceMappingURL=CommandHandler.js.map
@@ -0,0 +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"]}
@@ -22,3 +22,4 @@ export default class EventHandler extends Handler {
22
22
  new XernerxLog(this.client).info(`Loaded ${this.client.events.size} Events.`);
23
23
  }
24
24
  }
25
+ //# sourceMappingURL=EventHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventHandler.js","sourceRoot":"","sources":["../../src/handlers/EventHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAI7B,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAEhD,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,OAAO;IAC7C,YAAY,MAAqB;QAC7B,KAAK,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,OAA4B;QAChD,OAAO,GAAG,CAAC;aACN,MAAM,CAAC;YACJ,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;SACxB,CAAC;aACD,KAAK,CAAC,OAAO,CAAC,CAAC;QAEpB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC;QAE7C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAE9C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACtB,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;YAE/D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAEhD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACnB;QAED,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,CAAC;IAClF,CAAC;CACJ","sourcesContent":["import { z } from 'zod';\n\nimport * as path from 'path';\n\nimport XernerxClient from '../client/XernerxClient.js';\nimport { EventHandlerOptions } from '../types/interfaces.js';\nimport Handler from './Handler.js';\nimport XernerxLog from '../tools/XernerxLog.js';\n\nexport default class EventHandler extends Handler {\n constructor(client: XernerxClient) {\n super(client);\n }\n\n public async loadEvents(options: EventHandlerOptions) {\n options = z\n .object({\n directory: z.string(),\n })\n .parse(options);\n\n this.client.modules.options.events = 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 const data = await this.load(filePath, 'Event');\n\n this.emit(data);\n }\n\n new XernerxLog(this.client).info(`Loaded ${this.client.events.size} Events.`);\n }\n}\n"]}
@@ -15,9 +15,10 @@ export default class ExtensionHandler extends Handler {
15
15
  return extension.name;
16
16
  }
17
17
  catch (error) {
18
- new XernerxLog(this.client).error(`An error occurred while loading ${extension.name}`, error);
18
+ return new XernerxLog(this.client).error(`An error occurred while loading ${extension.name}`, error);
19
19
  }
20
20
  });
21
21
  new XernerxLog(this.client).info(`Loaded ${extensions.length} Extensions: ${active.filter((e) => e).join(', ')}`);
22
22
  }
23
23
  }
24
+ //# sourceMappingURL=ExtensionHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExtensionHandler.js","sourceRoot":"","sources":["../../src/handlers/ExtensionHandler.ts"],"names":[],"mappings":"AAEA,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAEhD,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,OAAO;IACjD,YAAY,MAAqB;QAC7B,KAAK,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC;IAED,cAAc,CAAC,GAAG,UAA0C;QACxD,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;YACxC,IAAI;gBACA,IAAI,SAAS,CAAC,IAAI;oBAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAEhD,IAAI,SAAS,CAAC,KAAK,EAAE;oBACjB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;iBAChE;gBAED,OAAO,SAAS,CAAC,IAAI,CAAC;aACzB;YAAC,OAAO,KAAK,EAAE;gBACZ,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,mCAAmC,SAAS,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;aACxG;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,UAAU,CAAC,MAAM,gBAAgB,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtH,CAAC;CACJ","sourcesContent":["import XernerxExtensionBuilder from 'xernerx-extension-builder';\nimport XernerxClient from '../client/XernerxClient.js';\nimport Handler from './Handler.js';\nimport XernerxLog from '../tools/XernerxLog.js';\n\nexport default class ExtensionHandler extends Handler {\n constructor(client: XernerxClient) {\n super(client);\n }\n\n loadExtensions(...extensions: Array<XernerxExtensionBuilder>) {\n const active = extensions.map((extension) => {\n try {\n if (extension.main) extension.main(this.client);\n\n if (extension.defer) {\n this.client.on('ready', (client) => extension.defer(client));\n }\n\n return extension.name;\n } catch (error) {\n return new XernerxLog(this.client).error(`An error occurred while loading ${extension.name}`, error);\n }\n });\n\n new XernerxLog(this.client).info(`Loaded ${extensions.length} Extensions: ${active.filter((e) => e).join(', ')}`);\n }\n}\n"]}
@@ -44,3 +44,4 @@ export default class Handler {
44
44
  }
45
45
  }
46
46
  }
47
+ //# sourceMappingURL=Handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Handler.js","sourceRoot":"","sources":["../../src/handlers/Handler.ts"],"names":[],"mappings":"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","sourcesContent":["import * as fs from 'fs';\nimport * as path from 'path';\n\nimport XernerxClient from '../client/XernerxClient.js';\nimport load from '../functions/load.js';\nimport MessageCommandBuilder from '../build/MessageCommandBuilder.js';\nimport SlashCommandBuilder from '../build/SlashCommandBuilder.js';\nimport ContextCommandBuilder from '../build/ContextCommandBuilder.js';\nimport { FileType } from '../types/types.js';\n\nexport default class Handler {\n public readonly client;\n public readonly files: Array<MessageCommandBuilder | SlashCommandBuilder | ContextCommandBuilder>;\n public readonly readyTimestamp;\n\n constructor(client: XernerxClient) {\n this.client = client;\n\n this.files = [];\n\n this.readyTimestamp = Number(Date.now());\n }\n\n public readdir(dir: string) {\n try {\n return fs.readdirSync(path.resolve(dir)).filter((file) => file.endsWith('.js'));\n } catch (error) {\n console.error(error);\n }\n return [];\n }\n\n public async load(filePath: string, type: FileType) {\n const file = await load(this.client, filePath, type);\n\n this.files.push(file);\n\n return file;\n }\n\n public async emit<T extends Record<string, string | boolean | Function | void>>(event: T) {\n if (!event?.fileType) return;\n\n if (event.fileType === 'Event') {\n if (event.emitter === 'client')\n event.once\n ? this.client.once(event.name as string, <T extends Array<T>>(...args: T) => (event.run as Function)(...args))\n : this.client.on(event.name as string, <T extends Array<T>>(...args: T) => (event.run as Function)(...args));\n else if (event.emitter === 'process')\n event.once\n ? process.once(event.name as string, <T extends Array<T>>(...args: T) => (event.run as Function)(...args))\n : process.on(event.name as string, <T extends Array<T>>(...args: T) => (event.run as Function)(...args));\n }\n\n if (['MessageCommand', 'SlashCommand', 'ContextCommand'].includes(event.fileType as string)) {\n event.once\n ? this.client.once(event.name as string, <T extends Array<T>>(...args: T) => (event.run as Function)(...args))\n : this.client.on(event.name as string, <T extends Array<T>>(...args: T) => (event.run as Function)(...args));\n }\n }\n}\n"]}
@@ -22,3 +22,4 @@ export default class InhibitorHandler extends Handler {
22
22
  new XernerxLog(this.client).info(`Loaded ${this.client.inhibitors.size} Inhibitors.`);
23
23
  }
24
24
  }
25
+ //# sourceMappingURL=InhibitorHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InhibitorHandler.js","sourceRoot":"","sources":["../../src/handlers/InhibitorHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAG7B,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAEhD,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,OAAO;IACjD,YAAY,MAAqB;QAC7B,KAAK,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,OAAgC;QACxD,OAAO,GAAG,CAAC;aACN,MAAM,CAAC;YACJ,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;SACxB,CAAC;aACD,KAAK,CAAC,OAAO,CAAC,CAAC;QAEpB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC;QAEjD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAE9C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACtB,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;YAE/D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YAEpD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACnB;QAED,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,cAAc,CAAC,CAAC;IAC1F,CAAC;CACJ","sourcesContent":["import { z } from 'zod';\n\nimport * as path from 'path';\n\nimport XernerxClient from '../client/XernerxClient.js';\nimport Handler from './Handler.js';\nimport { InhibitorHandlerOptions } from '../types/interfaces.js';\nimport XernerxLog from '../tools/XernerxLog.js';\n\nexport default class InhibitorHandler extends Handler {\n constructor(client: XernerxClient) {\n super(client);\n }\n\n public async loadInhibitors(options: InhibitorHandlerOptions) {\n options = z\n .object({\n directory: z.string(),\n })\n .parse(options);\n\n this.client.modules.options.inhibitors = 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 const data = await this.load(filePath, 'Inhibitor');\n\n this.emit(data);\n }\n\n new XernerxLog(this.client).info(`Loaded ${this.client.inhibitors.size} Inhibitors.`);\n }\n}\n"]}
@@ -45,3 +45,4 @@ export default class WebhookHandler extends Handler {
45
45
  }
46
46
  }
47
47
  }
48
+ //# sourceMappingURL=WebhookHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebhookHandler.js","sourceRoot":"","sources":["../../src/handlers/WebhookHandler.ts"],"names":[],"mappings":"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","sourcesContent":["import XernerxClient from '../client/XernerxClient.js';\nimport XernerxLog from '../tools/XernerxLog.js';\nimport Handler from './Handler.js';\n\nexport default class WebhookHandler extends Handler {\n constructor(client: XernerxClient) {\n super(client);\n }\n\n public async loadWebhooks(options: { token: string }) {\n this.client.once('ready', async (client) => {\n this.post(options.token);\n\n setInterval(() => {\n this.post(client.token);\n }, 60000 * 30);\n\n this.client.util.hasVoted = async (userId: string) => {\n return !!(\n await (\n await fetch(`https://top.gg/api/bots/${this.client.user?.id}/check?userId=${userId}`, {\n headers: { Authorization: options.token, 'Content-Type': 'application/json' },\n })\n ).json()\n ).voted;\n };\n });\n }\n\n private async post(token: string) {\n const guilds = await this.client.guilds.fetch();\n\n this.client.stats.guildCount = this.client.guilds.cache.size;\n\n this.client.stats.userCount = (await Promise.all(guilds.map(async (guild) => (await this.client.guilds.fetch(guild.id)).memberCount))).reduce((a, b) => (a += b));\n\n this.client.stats.shardId = (this.client.options.shards as Array<number>)?.at(0) || 0;\n\n this.client.stats.shardCount = this.client.options.shardCount || (this.client.options.shards as Array<number>)?.length || 1;\n\n try {\n new XernerxLog(this.client).info(`Posted Stats to Top.gg!`);\n\n this.client.emit('webhookCreate', this.client, this.client.stats);\n\n return await fetch(`https://top.gg/api/bots/stats`, {\n method: 'POST',\n headers: {\n Authorization: token,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n server_count: this.client.stats.guildCount,\n shard_id: this.client.stats.shardId,\n shard_count: this.client.stats.shardCount,\n }),\n });\n } catch (error) {\n new XernerxLog(this.client).error(`An error occurred while posting stats to Top.gg`, error);\n\n return this.client.emit('webhookError', this.client, this.client.stats);\n }\n }\n}\n"]}
package/dist/main.js CHANGED
@@ -34,3 +34,4 @@ version,
34
34
  ** Tools
35
35
  */
36
36
  XernerxLog, };
37
+ //# sourceMappingURL=main.js.map
@@ -0,0 +1,13 @@
1
+ {
2
+ "version": 3,
3
+ "file": "main.js",
4
+ "sourceRoot": "",
5
+ "sources": [
6
+ "../src/main.ts"
7
+ ],
8
+ "names": [],
9
+ "mappings": "AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,OAAO,aAAa,MAAM,2BAA2B,CAAC;AACtD,OAAO,kBAAkB,MAAM,gCAAgC,CAAC;AAChE,OAAO,qBAAqB,MAAM,kCAAkC,CAAC;AACrE,OAAO,mBAAmB,MAAM,gCAAgC,CAAC;AACjE,OAAO,qBAAqB,MAAM,kCAAkC,CAAC;AACrE,OAAO,YAAY,MAAM,yBAAyB,CAAC;AACnD,OAAO,gBAAgB,MAAM,6BAA6B,CAAC;AAC3D,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAE/C,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,OAAO,gBAAgB,MAAM,2BAA2B,CAAC;AAEzD,OAAO,OAAO,MAAM,YAAY,CAAC;AAEjC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,mCAAmC,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;AAElG,eAAe,aAAa,CAAC;AAE7B,OAAO;AACH;;GAEG;AACH,aAAa,EACb,kBAAkB;AAElB;;GAEG;AACH,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,YAAY,EACZ,gBAAgB,EAChB,gBAAgB;AAEhB;;GAEG;AACH,OAAO;AACP;;GAEG;AACH,OAAO;AAEP;;GAEG;AACH,UAAU,GACb,CAAC",
10
+ "sourcesContent": [
11
+ "import * as fs from 'fs';\n\nimport XernerxClient from './client/XernerxClient.js';\nimport XernerxShardClient from './client/XernerxShardClient.js';\nimport MessageCommandBuilder from './build/MessageCommandBuilder.js';\nimport SlashCommandBuilder from './build/SlashCommandBuilder.js';\nimport ContextCommandBuilder from './build/ContextCommandBuilder.js';\nimport EventBuilder from './build/EventBuilder.js';\nimport InhibitorBuilder from './build/InhibitorBuilder.js';\nimport XernerxLog from './tools/XernerxLog.js';\n\nexport * from 'discord.js';\nexport * from 'dumfunctions';\nimport ExtensionBuilder from 'xernerx-extension-builder';\n\nimport Discord from 'discord.js';\n\nconst version = JSON.parse(fs.readFileSync('node_modules/xernerx/package.json', 'utf-8')).version;\n\nexport default XernerxClient;\n\nexport {\n /**\n ** Clients\n */\n XernerxClient,\n XernerxShardClient,\n\n /**\n ** Builders\n */\n MessageCommandBuilder,\n SlashCommandBuilder,\n ContextCommandBuilder,\n EventBuilder,\n InhibitorBuilder,\n ExtensionBuilder,\n\n /**\n ** Imported exports\n */\n Discord,\n /**\n ** Properties\n */\n version,\n\n /**\n ** Tools\n */\n XernerxLog,\n};\n"
12
+ ]
13
+ }
@@ -64,7 +64,7 @@ export async function messageArguments(message, command) {
64
64
  if (mentionable)
65
65
  return (args[argument.name] = mentionable);
66
66
  else
67
- args[argument.name] = null;
67
+ return (args[argument.name] = null);
68
68
  });
69
69
  }
70
70
  if (argument.type === 'role') {
@@ -148,3 +148,4 @@ export async function interactionArguments(interaction, command) {
148
148
  return await interaction.channel.messages.fetch(interaction.targetId);
149
149
  }
150
150
  }
151
+ //# sourceMappingURL=Arguments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Arguments.js","sourceRoot":"","sources":["../../src/models/Arguments.ts"],"names":[],"mappings":"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","sourcesContent":["import SlashCommandBuilder from '../build/SlashCommandBuilder.js';\nimport ContextCommandBuilder from '../build/ContextCommandBuilder.js';\nimport MessageCommandBuilder from '../build/MessageCommandBuilder.js';\nimport { XernerxMessage } 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"]}
@@ -22,18 +22,23 @@ export default class XernerxLog {
22
22
  const files = [];
23
23
  for (const [id, data] of this.client.commands.message) {
24
24
  files.push(data);
25
+ id;
25
26
  }
26
27
  for (const [id, data] of this.client.commands.slash) {
27
28
  files.push(data);
29
+ id;
28
30
  }
29
31
  for (const [id, data] of this.client.commands.context) {
30
32
  files.push(data);
33
+ id;
31
34
  }
32
35
  for (const [id, data] of this.client.events) {
33
36
  files.push(data);
37
+ id;
34
38
  }
35
39
  for (const [id, data] of this.client.inhibitors) {
36
40
  files.push(data);
41
+ id;
37
42
  }
38
43
  if (this.tableLog) {
39
44
  console.table(files, this.tableLog);
@@ -41,3 +46,4 @@ export default class XernerxLog {
41
46
  });
42
47
  }
43
48
  }
49
+ //# sourceMappingURL=XernerxLog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XernerxLog.js","sourceRoot":"","sources":["../../src/tools/XernerxLog.ts"],"names":[],"mappings":"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","sourcesContent":["import XernerxError from './XernerxError.js';\nimport { Style } from 'dumfunctions';\nimport XernerxClient from '../client/XernerxClient.js';\nexport default class XernerxLog {\n private declare readonly client;\n private declare readonly errorLog;\n private declare readonly infoLog;\n private declare readonly readyLog;\n private declare readonly tableLog;\n\n constructor(client: XernerxClient) {\n this.client = client;\n\n this.errorLog = client.settings.log?.error;\n\n this.infoLog = client.settings.log?.info;\n\n this.readyLog = client.settings.log?.ready;\n\n this.tableLog = client.settings.log?.table;\n }\n\n public info(message: string, force: boolean = false) {\n return this.infoLog || force ? console.info(`${Style.log('✔️ | Xernerx', { color: Style.TextColor.Purple })} | ${message}`) : null;\n }\n\n public warn(message: string) {\n return this.infoLog ? console.warn(`${Style.log('⚠️ | Xernerx', { color: Style.TextColor.Yellow })} | ${message}`) : null;\n }\n\n public error(message: string, error?: XernerxError | unknown) {\n return this.errorLog ? console.error(`${Style.log('❗ | Xernerx', { color: Style.TextColor.Red })} | ${message}${error ? ` | ${(error as Record<string, string>).stack}` : ''}`) : null;\n }\n\n public ready() {\n this.client.prependOnceListener('ready', async (synced) => {\n this.info(\n `${synced.user.tag} is now online, watching ${this.client.guilds.cache.size} guilds, using ${\n this.client.settings.local ? await this.client.guilds.fetch(this.client.settings.local) : 'none'\n } as local guild.`,\n this.readyLog\n );\n\n const files: Array<object> = [];\n\n for (const [id, data] of this.client.commands.message) {\n files.push(data);\n id;\n }\n\n for (const [id, data] of this.client.commands.slash) {\n files.push(data);\n id;\n }\n\n for (const [id, data] of this.client.commands.context) {\n files.push(data);\n id;\n }\n\n for (const [id, data] of this.client.events) {\n files.push(data);\n id;\n }\n\n for (const [id, data] of this.client.inhibitors) {\n files.push(data);\n id;\n }\n\n if (this.tableLog) {\n console.table(files, this.tableLog);\n }\n });\n }\n}\n"]}
@@ -1 +1,2 @@
1
1
  export {};
2
+ //# sourceMappingURL=interfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/types/interfaces.ts"],"names":[],"mappings":"","sourcesContent":["import { ActivityType, ChannelType, Collection, PresenceStatusData } from 'discord.js';\n\nimport CommandHandler from '../handlers/CommandHandler.js';\nimport EventHandler from '../handlers/EventHandler.js';\nimport InhibitorHandler from '../handlers/InhibitorHandler.js';\nimport WebhookHandler from '../handlers/WebhookHandler.js';\nimport ContextCommandBuilder from '../build/ContextCommandBuilder.js';\nimport MessageCommandBuilder from '../build/MessageCommandBuilder.js';\nimport SlashCommandBuilder from '../build/SlashCommandBuilder.js';\nimport { Locales, MessageCommandArgumentType, PermissionNames, SlashCommandArgumentType, EventType, InhibitorType } from './types.js';\nimport ExtensionHandler from '../handlers/ExtensionHandler.js';\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"]}