xernerx 4.5.11 → 4.5.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,21 +1,15 @@
1
1
  <!-- @format -->
2
2
 
3
- <style>
4
- body {
5
- background: rgba(0,0,0, 0.2);
6
- border-radius: 0.5rem;
7
- margin: 10px;
8
- }
9
-
10
- :hover {
11
- color: #8979f0;
12
- }
13
-
14
- </style>
15
-
16
3
  [![](./docs/icons/Xernerx%20-%20Logo%20-%20Purple.png)](https://xernerx.github.io/xernerx)
17
4
 
18
- # xernerx
5
+ [![Discord](https://img.shields.io/discord/784094726432489522?logo=discord)](https://discord.gg/teNWyb69dq)
6
+ ![npm](https://img.shields.io/npm/dw/xernerx)
7
+ ![npm](https://img.shields.io/npm/dt/xernerx)
8
+ ![Read the Docs](https://img.shields.io/readthedocs/node)
9
+ ![npm type definitions](https://img.shields.io/npm/types/xernerx)
10
+ ![node-current](https://img.shields.io/npm/v/discord.js)
11
+
12
+ # About
19
13
 
20
14
  Xernerx is a class based discord.js framework. \[BETA\]
21
15
 
@@ -1 +1 @@
1
- {"version":3,"file":"CommandHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/CommandHandler.ts"],"names":[],"mappings":"AAAA,cAAc;AAMd,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC3G,OAAO,OAAO,MAAM,cAAc,CAAC;AAenC,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,OAAO;gBACtC,MAAM,EAAE,aAAa;IAI1B,mBAAmB,CAAC,OAAO,EAAE,qBAAqB;IA2DlD,iBAAiB,CAAC,OAAO,EAAE,mBAAmB;IA4C9C,mBAAmB,CAAC,OAAO,EAAE,qBAAqB;YA4C3C,iBAAiB;YAiHjB,eAAe;YA+Bf,iBAAiB;YAoBjB,IAAI;CAoBlB"}
1
+ {"version":3,"file":"CommandHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/CommandHandler.ts"],"names":[],"mappings":"AAAA,cAAc;AAMd,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC3G,OAAO,OAAO,MAAM,cAAc,CAAC;AAenC,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,OAAO;gBACtC,MAAM,EAAE,aAAa;IAI1B,mBAAmB,CAAC,OAAO,EAAE,qBAAqB;IA2DlD,iBAAiB,CAAC,OAAO,EAAE,mBAAmB;IA4C9C,mBAAmB,CAAC,OAAO,EAAE,qBAAqB;YA4C3C,iBAAiB;YAwHjB,eAAe;YA+Bf,iBAAiB;YAoBjB,IAAI;CAoBlB"}
@@ -193,6 +193,12 @@ export default class CommandHandler extends Handler {
193
193
  if (!cmd && this.client.modules.options.message.allowMention) {
194
194
  if (message.mentions.users.has(this.client.user?.id) || message.mentions.repliedUser?.id === this.client.user?.id) {
195
195
  commandName = message.content.replace(`<@${this.client.user?.id}>`, '').trim().split(/ +/).shift()?.toLowerCase() || null;
196
+ commands.map((command) => {
197
+ if (command.aliases?.includes(commandName)) {
198
+ commandName = command.name;
199
+ return (commandAlias = commandName);
200
+ }
201
+ });
196
202
  commandPrefix = `<@${this.client.user?.id}>`;
197
203
  }
198
204
  }
@@ -200,7 +206,7 @@ export default class CommandHandler extends Handler {
200
206
  if (this.client.modules.options.message?.handleTyping) message.channel.sendTyping();
201
207
  cmd = this.client.commands.message.get(commandName);
202
208
  }
203
- if (!commandPrefix) return;
209
+ if (!commandPrefix || !commandName) return;
204
210
  if (!cmd) return await this.client.emit('commandNotFound', message, commandName, filetype);
205
211
  if (await inhibitorValidation(message, cmd)) return;
206
212
  message.util.parsed = {
@@ -218,7 +224,7 @@ export default class CommandHandler extends Handler {
218
224
  let cmd = null;
219
225
  if (this.client.commands.slash.has(interaction.commandName)) cmd = this.client.commands.slash.get(interaction.commandName);
220
226
  if (await inhibitorValidation(interaction, cmd)) return;
221
- if (!cmd) return this.client.emit('commandNotFound', interaction);
227
+ if (!cmd) return this.client.emit('commandNotFound', interaction, interaction.commandName, filetype);
222
228
  new Promise(async (resolve) => {
223
229
  if (interaction.isAutocomplete()) {
224
230
  const focused = interaction.options.getFocused(true);
@@ -239,7 +245,7 @@ export default class CommandHandler extends Handler {
239
245
  let cmd;
240
246
  if (this.client.commands.context.has(interaction.commandName)) cmd = this.client.commands.context.get(interaction.commandName);
241
247
  if (await inhibitorValidation(interaction, cmd)) return;
242
- if (!cmd) return this.client.emit('commandNotFound', interaction, filetype);
248
+ if (!cmd) return this.client.emit('commandNotFound', interaction, interaction.commandName, filetype);
243
249
  this.client.emit('commandStart', interaction, filetype);
244
250
  return await this.exec(cmd, interaction, await interactionArguments(interaction, cmd), filetype);
245
251
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CommandHandler.js","sourceRoot":"","sources":["../../src/handlers/CommandHandler.ts"],"names":[],"mappings":"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","sourcesContent":["/** @format */\n\nimport { 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 XernerxContextCommand from '../build/XernerxContextCommand.js';\nimport MessageCommandBuilder from '../build/XernerxMessageCommand.js';\nimport XernerxSlashCommand from '../build/XernerxSlashCommand.js';\nimport { filetype } from '../types/types.js';\nimport { xernerxUser } from '../functions/xernerxUser.js';\nimport InteractionUtil from '../utils/InteractionUtil.js';\nimport commandValidation from '../validators/commandValidation.js';\nimport XernerxLog from '../tools/XernerxLog.js';\nimport { interactionArguments, messageArguments } from '../models/Arguments.js';\nimport { inhibitorValidation } from '../validators/inhibitorValidations.js';\nimport { Style } from 'dumfunctions';\n\nexport default class CommandHandler extends Handler {\n\tconstructor(client: XernerxClient) {\n\t\tsuper(client);\n\t}\n\n\tpublic loadMessageCommands(options: MessageHandlerOptions) {\n\t\tif (!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\t\tif (!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\t\toptions = z\n\t\t\t.object({\n\t\t\t\tdirectory: z.string(),\n\t\t\t\tprefix: z.string().or(z.array(z.string())),\n\t\t\t\tallowMention: z.boolean().default(false),\n\t\t\t\tcooldown: z.number().default(0),\n\t\t\t\tpermissions: z\n\t\t\t\t\t.object({\n\t\t\t\t\t\tuser: z.array(z.string()).default([]),\n\t\t\t\t\t\tclient: z.array(z.string()).default([]),\n\t\t\t\t\t\tdm: z.boolean().default(true),\n\t\t\t\t\t})\n\t\t\t\t\t.default({}),\n\t\t\t\thandleEdits: z.boolean().default(false),\n\t\t\t\thandleDeletes: z.boolean().default(false),\n\t\t\t\thandleTyping: z.boolean().default(false),\n\t\t\t\tlogging: z.boolean().default(false),\n\t\t\t})\n\t\t\t.parse(options);\n\n\t\tthis.client.modules.options.message = options;\n\n\t\tconst files = this.readdir(options.directory);\n\n\t\tfor (const file of files) {\n\t\t\tconst filepath = `${path.resolve(options.directory)}\\\\${file}`;\n\n\t\t\tthis.load(filepath, 'MessageCommand');\n\t\t}\n\n\t\tnew XernerxLog(this.client).info(`Loaded ${Style.log(String(files.length), { color: Style.TextColor.Cyan })} Message Commands.`);\n\n\t\tthis.emit({\n\t\t\tname: 'messageCreate',\n\t\t\tfiletype: 'MessageCommand',\n\t\t\trun: (message: XernerxMessage) => this.messageCommandRun(message),\n\t\t});\n\n\t\tthis.emit({\n\t\t\tname: 'messageUpdate',\n\t\t\tfiletype: 'MessageCommand',\n\t\t\trun: (message: XernerxMessage, message2: XernerxMessage) => this.messageCommandRun(message, message2),\n\t\t});\n\n\t\tthis.emit({\n\t\t\tname: 'messageDelete',\n\t\t\tfiletype: 'MessageCommand',\n\t\t\trun: (message: XernerxMessage) => this.messageCommandRun(message, 'delete'),\n\t\t});\n\t}\n\n\t// public reloadMessageCommands() {\n\t// return reload(this.client, 'message');\n\t// }\n\n\tpublic loadSlashCommands(options: SlashHandlerOptions) {\n\t\tif (!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\t\toptions = z\n\t\t\t.object({\n\t\t\t\tdirectory: z.string(),\n\t\t\t\tcooldown: z.number().default(0),\n\t\t\t\tpermissions: z\n\t\t\t\t\t.object({\n\t\t\t\t\t\tuser: z.array(z.string()).default([]),\n\t\t\t\t\t\tclient: z.array(z.string()).default([]),\n\t\t\t\t\t\tdm: z.boolean().default(true),\n\t\t\t\t\t})\n\t\t\t\t\t.default({}),\n\t\t\t\tlogging: z.boolean().default(false),\n\t\t\t\tdefer: z\n\t\t\t\t\t.object({\n\t\t\t\t\t\treply: z.boolean().default(false),\n\t\t\t\t\t\tephemeral: z.boolean().default(false),\n\t\t\t\t\t\tfetchReply: z.boolean().default(false),\n\t\t\t\t\t})\n\t\t\t\t\t.default({}),\n\t\t\t})\n\t\t\t.parse(options);\n\n\t\tthis.client.modules.options.slash = options;\n\n\t\tconst files = this.readdir(options.directory);\n\n\t\tfor (const file of files) {\n\t\t\tconst filepath = `${path.resolve(options.directory)}\\\\${file}`;\n\n\t\t\tthis.load(filepath, 'SlashCommand');\n\t\t}\n\n\t\tnew XernerxLog(this.client).info(`Loaded ${Style.log(String(files.length), { color: Style.TextColor.Cyan })} Slash Commands.`);\n\n\t\tthis.emit({\n\t\t\tname: 'interactionCreate',\n\t\t\tfiletype: 'SlashCommand',\n\t\t\trun: (interaction: XernerxSlashInteraction) => this.slashCommandRun(interaction),\n\t\t});\n\t}\n\n\tpublic loadContextCommands(options: ContextHandlerOptions) {\n\t\tif (!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\t\toptions = z\n\t\t\t.object({\n\t\t\t\tdirectory: z.string(),\n\t\t\t\tcooldown: z.number().default(0),\n\t\t\t\tpermissions: z\n\t\t\t\t\t.object({\n\t\t\t\t\t\tuser: z.array(z.string()).default([]),\n\t\t\t\t\t\tclient: z.array(z.string()).default([]),\n\t\t\t\t\t\tdm: z.boolean().default(true),\n\t\t\t\t\t})\n\t\t\t\t\t.default({}),\n\t\t\t\tlogging: z.boolean().default(false),\n\t\t\t\tdefer: z\n\t\t\t\t\t.object({\n\t\t\t\t\t\treply: z.boolean().default(false),\n\t\t\t\t\t\tephemeral: z.boolean().default(false),\n\t\t\t\t\t\tfetchReply: z.boolean().default(false),\n\t\t\t\t\t})\n\t\t\t\t\t.default({}),\n\t\t\t})\n\t\t\t.parse(options);\n\n\t\tthis.client.modules.options.context = options;\n\n\t\tconst files = this.readdir(options.directory);\n\n\t\tfor (const file of files) {\n\t\t\tconst filepath = `${path.resolve(options.directory)}\\\\${file}`;\n\n\t\t\tthis.load(filepath, 'ContextCommand');\n\t\t}\n\n\t\tnew XernerxLog(this.client).info(`Loaded ${Style.log(String(files.length), { color: Style.TextColor.Cyan })} Context Commands.`);\n\n\t\tthis.emit({\n\t\t\tname: 'interactionCreate',\n\t\t\tfiletype: 'ContextCommand',\n\t\t\trun: (interaction: XernerxMessageContextInteraction | XernerxUserContextInteraction) => this.contextCommandRun(interaction),\n\t\t});\n\t}\n\n\tprivate async messageCommandRun<T extends XernerxMessage>(message: T, message2?: T | 'delete') {\n\t\tconst filetype = 'MessageCommand';\n\n\t\tif (message.author.id === this.client.user?.id && this.client.settings.ignore?.self) return;\n\t\telse if (message.author.bot && this.client.settings.ignore?.bots) return;\n\n\t\tif (message.system && this.client.settings.ignore?.system) return;\n\n\t\tmessage.util = new MessageUtil(this.client, message);\n\t\tmessage.user = await xernerxUser(message, this.client);\n\n\t\tif (typeof message2 === 'object') message = message2;\n\n\t\tif (message2 === 'delete' && this.client.modules.options.message?.handleDeletes) {\n\t\t\tif (!this.client.cache.messages.has(message.id)) return;\n\n\t\t\tconst id = this.client.cache.messages.get(message.id);\n\n\t\t\tif (!id) return;\n\n\t\t\t(async () => {\n\t\t\t\tconst msg = await message.channel.messages.fetch(id);\n\n\t\t\t\tawait msg.delete();\n\n\t\t\t\tthis.client.cache.messages.delete(message.id);\n\t\t\t})();\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (message.content && this.client.modules.options.message) {\n\t\t\tconst commands = this.client.commands.message;\n\n\t\t\tconst prefixes = Array.isArray(this.client.modules.options.message.prefix) ? this.client.modules.options.message.prefix : [this.client.modules.options.message.prefix];\n\n\t\t\tlet commandName: string | null = null,\n\t\t\t\tcmd,\n\t\t\t\tcommandAlias: string | null = null,\n\t\t\t\tcommandPrefix: string | null = null;\n\n\t\t\tcommands.map((command) => {\n\t\t\t\tlet prefix: string | null = null;\n\n\t\t\t\tif (command.regex && message.content.match(command.regex)) {\n\t\t\t\t\tconst [match] = message.content.match(command.regex) || [null];\n\n\t\t\t\t\tif (match) commandName = command.name;\n\t\t\t\t}\n\n\t\t\t\tconst cp = Array.isArray(command.prefix) ? command.prefix : [command.prefix as string];\n\n\t\t\t\tprefixes.map((p) => {\n\t\t\t\t\tif (message.content.startsWith(p)) prefix = p;\n\t\t\t\t});\n\n\t\t\t\tcp.map((p) => {\n\t\t\t\t\tif (message.content.startsWith(p)) prefix = p;\n\t\t\t\t});\n\n\t\t\t\tif (!prefix) return;\n\n\t\t\t\tif (!commandName)\n\t\t\t\t\tcommandName =\n\t\t\t\t\t\tmessage.content\n\t\t\t\t\t\t\t.replace(prefix, '')\n\t\t\t\t\t\t\t.split(command.separator || / +/)\n\t\t\t\t\t\t\t.shift()\n\t\t\t\t\t\t\t?.trim()\n\t\t\t\t\t\t\t?.toLowerCase() || '';\n\n\t\t\t\tif (!this.client.commands.message.has(commandName) && command.aliases?.includes(commandName)) {\n\t\t\t\t\tcommandAlias = commandName;\n\n\t\t\t\t\tcommandName = command.name;\n\t\t\t\t}\n\n\t\t\t\tcommandAlias = commandAlias ? commandAlias : commandName;\n\n\t\t\t\tcommandPrefix = prefix;\n\t\t\t});\n\n\t\t\tif (!cmd && this.client.modules.options.message.allowMention) {\n\t\t\t\tif (message.mentions.users.has(this.client.user?.id as string) || message.mentions.repliedUser?.id === this.client.user?.id) {\n\t\t\t\t\tcommandName = message.content.replace(`<@${this.client.user?.id}>`, '').trim().split(/ +/).shift()?.toLowerCase() || null;\n\n\t\t\t\t\tcommandPrefix = `<@${this.client.user?.id}>`;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (this.client.commands.message.has(commandName as string)) {\n\t\t\t\tif (this.client.modules.options.message?.handleTyping) message.channel.sendTyping();\n\n\t\t\t\tcmd = this.client.commands.message.get(commandName as string);\n\t\t\t}\n\n\t\t\tif (!commandPrefix) return;\n\n\t\t\tif (!cmd) return await this.client.emit('commandNotFound', message, commandName, filetype);\n\n\t\t\tif (await inhibitorValidation(message, cmd)) return;\n\n\t\t\tmessage.util.parsed = {\n\t\t\t\talias: commandAlias,\n\t\t\t\tprefix: commandPrefix,\n\t\t\t};\n\n\t\t\tthis.client.emit('commandStart', message, cmd, filetype);\n\n\t\t\treturn await this.exec(cmd, message, await messageArguments(message, cmd, commandPrefix as string), filetype);\n\t\t}\n\t}\n\n\tprivate async slashCommandRun<T extends Record<string, any>>(interaction: XernerxSlashInteraction) {\n\t\tconst filetype = 'SlashCommand';\n\n\t\tinteraction.util = new InteractionUtil(this.client, interaction);\n\n\t\tinteraction.user = await xernerxUser(interaction, this.client);\n\n\t\tlet cmd: XernerxSlashCommand | null | undefined = null;\n\n\t\tif (this.client.commands.slash.has(interaction.commandName)) cmd = this.client.commands.slash.get(interaction.commandName);\n\n\t\tif (await inhibitorValidation(interaction, cmd as XernerxSlashCommand)) return;\n\n\t\tif (!cmd) return this.client.emit('commandNotFound', interaction);\n\n\t\tnew Promise(async (resolve) => {\n\t\t\tif (interaction.isAutocomplete()) {\n\t\t\t\tconst focused = (interaction as T).options.getFocused(true);\n\t\t\t\tconst options = (interaction as T).options;\n\n\t\t\t\tawait (cmd as XernerxSlashCommand).autocomplete(interaction, focused, options);\n\t\t\t} else resolve(true);\n\t\t})\n\t\t\t.then(async () => {\n\t\t\t\tthis.client.emit('commandStart', interaction, filetype);\n\n\t\t\t\treturn await this.exec(cmd as XernerxSlashCommand, interaction, await interactionArguments(interaction, cmd as XernerxSlashCommand), filetype);\n\t\t\t})\n\t\t\t.catch((error) => this.client.emit('commandError', interaction, error, cmd, filetype));\n\t}\n\n\tprivate async contextCommandRun(interaction: XernerxUserContextInteraction | XernerxMessageContextInteraction) {\n\t\tconst filetype = 'ContextCommand';\n\n\t\tinteraction.util = new InteractionUtil(this.client, interaction);\n\n\t\tinteraction.user = await xernerxUser(interaction as XernerxUserContextInteraction, this.client);\n\n\t\tlet cmd;\n\n\t\tif (this.client.commands.context.has(interaction.commandName)) cmd = this.client.commands.context.get(interaction.commandName);\n\n\t\tif (await inhibitorValidation(interaction, cmd)) return;\n\n\t\tif (!cmd) return this.client.emit('commandNotFound', interaction, filetype);\n\n\t\tthis.client.emit('commandStart', interaction, filetype);\n\n\t\treturn await this.exec(cmd as unknown as XernerxSlashCommand, interaction, await interactionArguments(interaction, cmd), filetype);\n\t}\n\n\tprivate async exec(\n\t\tcmd: MessageCommandBuilder | XernerxSlashCommand | XernerxContextCommand,\n\t\tevent: XernerxMessage | XernerxSlashInteraction | XernerxMessageContextInteraction | XernerxUserContextInteraction,\n\t\targs: any,\n\t\ttype: filetype\n\t) {\n\t\ttry {\n\t\t\tif (await commandValidation(event as XernerxMessage, cmd)) return;\n\n\t\t\tif (((cmd as MessageCommandBuilder).conditions as unknown) && (await ((cmd as MessageCommandBuilder).conditions(event as never, args) as unknown))) return;\n\n\t\t\tawait cmd.exec(event as never, args);\n\n\t\t\treturn await this.client.emit('commandFinish', event, type);\n\t\t} catch (error) {\n\t\t\tnew XernerxLog(this.client).error(`An error occurred executing ${Style.log(cmd.name, { color: Style.TextColor.Blue })}`, error);\n\n\t\t\treturn await this.client.emit('commandError', event, error, cmd, type);\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"file":"CommandHandler.js","sourceRoot":"","sources":["../../src/handlers/CommandHandler.ts"],"names":[],"mappings":"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","sourcesContent":["/** @format */\n\nimport { 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 XernerxContextCommand from '../build/XernerxContextCommand.js';\nimport MessageCommandBuilder from '../build/XernerxMessageCommand.js';\nimport XernerxSlashCommand from '../build/XernerxSlashCommand.js';\nimport { filetype } from '../types/types.js';\nimport { xernerxUser } from '../functions/xernerxUser.js';\nimport InteractionUtil from '../utils/InteractionUtil.js';\nimport commandValidation from '../validators/commandValidation.js';\nimport XernerxLog from '../tools/XernerxLog.js';\nimport { interactionArguments, messageArguments } from '../models/Arguments.js';\nimport { inhibitorValidation } from '../validators/inhibitorValidations.js';\nimport { Style } from 'dumfunctions';\n\nexport default class CommandHandler extends Handler {\n\tconstructor(client: XernerxClient) {\n\t\tsuper(client);\n\t}\n\n\tpublic loadMessageCommands(options: MessageHandlerOptions) {\n\t\tif (!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\t\tif (!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\t\toptions = z\n\t\t\t.object({\n\t\t\t\tdirectory: z.string(),\n\t\t\t\tprefix: z.string().or(z.array(z.string())),\n\t\t\t\tallowMention: z.boolean().default(false),\n\t\t\t\tcooldown: z.number().default(0),\n\t\t\t\tpermissions: z\n\t\t\t\t\t.object({\n\t\t\t\t\t\tuser: z.array(z.string()).default([]),\n\t\t\t\t\t\tclient: z.array(z.string()).default([]),\n\t\t\t\t\t\tdm: z.boolean().default(true),\n\t\t\t\t\t})\n\t\t\t\t\t.default({}),\n\t\t\t\thandleEdits: z.boolean().default(false),\n\t\t\t\thandleDeletes: z.boolean().default(false),\n\t\t\t\thandleTyping: z.boolean().default(false),\n\t\t\t\tlogging: z.boolean().default(false),\n\t\t\t})\n\t\t\t.parse(options);\n\n\t\tthis.client.modules.options.message = options;\n\n\t\tconst files = this.readdir(options.directory);\n\n\t\tfor (const file of files) {\n\t\t\tconst filepath = `${path.resolve(options.directory)}\\\\${file}`;\n\n\t\t\tthis.load(filepath, 'MessageCommand');\n\t\t}\n\n\t\tnew XernerxLog(this.client).info(`Loaded ${Style.log(String(files.length), { color: Style.TextColor.Cyan })} Message Commands.`);\n\n\t\tthis.emit({\n\t\t\tname: 'messageCreate',\n\t\t\tfiletype: 'MessageCommand',\n\t\t\trun: (message: XernerxMessage) => this.messageCommandRun(message),\n\t\t});\n\n\t\tthis.emit({\n\t\t\tname: 'messageUpdate',\n\t\t\tfiletype: 'MessageCommand',\n\t\t\trun: (message: XernerxMessage, message2: XernerxMessage) => this.messageCommandRun(message, message2),\n\t\t});\n\n\t\tthis.emit({\n\t\t\tname: 'messageDelete',\n\t\t\tfiletype: 'MessageCommand',\n\t\t\trun: (message: XernerxMessage) => this.messageCommandRun(message, 'delete'),\n\t\t});\n\t}\n\n\t// public reloadMessageCommands() {\n\t// return reload(this.client, 'message');\n\t// }\n\n\tpublic loadSlashCommands(options: SlashHandlerOptions) {\n\t\tif (!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\t\toptions = z\n\t\t\t.object({\n\t\t\t\tdirectory: z.string(),\n\t\t\t\tcooldown: z.number().default(0),\n\t\t\t\tpermissions: z\n\t\t\t\t\t.object({\n\t\t\t\t\t\tuser: z.array(z.string()).default([]),\n\t\t\t\t\t\tclient: z.array(z.string()).default([]),\n\t\t\t\t\t\tdm: z.boolean().default(true),\n\t\t\t\t\t})\n\t\t\t\t\t.default({}),\n\t\t\t\tlogging: z.boolean().default(false),\n\t\t\t\tdefer: z\n\t\t\t\t\t.object({\n\t\t\t\t\t\treply: z.boolean().default(false),\n\t\t\t\t\t\tephemeral: z.boolean().default(false),\n\t\t\t\t\t\tfetchReply: z.boolean().default(false),\n\t\t\t\t\t})\n\t\t\t\t\t.default({}),\n\t\t\t})\n\t\t\t.parse(options);\n\n\t\tthis.client.modules.options.slash = options;\n\n\t\tconst files = this.readdir(options.directory);\n\n\t\tfor (const file of files) {\n\t\t\tconst filepath = `${path.resolve(options.directory)}\\\\${file}`;\n\n\t\t\tthis.load(filepath, 'SlashCommand');\n\t\t}\n\n\t\tnew XernerxLog(this.client).info(`Loaded ${Style.log(String(files.length), { color: Style.TextColor.Cyan })} Slash Commands.`);\n\n\t\tthis.emit({\n\t\t\tname: 'interactionCreate',\n\t\t\tfiletype: 'SlashCommand',\n\t\t\trun: (interaction: XernerxSlashInteraction) => this.slashCommandRun(interaction),\n\t\t});\n\t}\n\n\tpublic loadContextCommands(options: ContextHandlerOptions) {\n\t\tif (!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\t\toptions = z\n\t\t\t.object({\n\t\t\t\tdirectory: z.string(),\n\t\t\t\tcooldown: z.number().default(0),\n\t\t\t\tpermissions: z\n\t\t\t\t\t.object({\n\t\t\t\t\t\tuser: z.array(z.string()).default([]),\n\t\t\t\t\t\tclient: z.array(z.string()).default([]),\n\t\t\t\t\t\tdm: z.boolean().default(true),\n\t\t\t\t\t})\n\t\t\t\t\t.default({}),\n\t\t\t\tlogging: z.boolean().default(false),\n\t\t\t\tdefer: z\n\t\t\t\t\t.object({\n\t\t\t\t\t\treply: z.boolean().default(false),\n\t\t\t\t\t\tephemeral: z.boolean().default(false),\n\t\t\t\t\t\tfetchReply: z.boolean().default(false),\n\t\t\t\t\t})\n\t\t\t\t\t.default({}),\n\t\t\t})\n\t\t\t.parse(options);\n\n\t\tthis.client.modules.options.context = options;\n\n\t\tconst files = this.readdir(options.directory);\n\n\t\tfor (const file of files) {\n\t\t\tconst filepath = `${path.resolve(options.directory)}\\\\${file}`;\n\n\t\t\tthis.load(filepath, 'ContextCommand');\n\t\t}\n\n\t\tnew XernerxLog(this.client).info(`Loaded ${Style.log(String(files.length), { color: Style.TextColor.Cyan })} Context Commands.`);\n\n\t\tthis.emit({\n\t\t\tname: 'interactionCreate',\n\t\t\tfiletype: 'ContextCommand',\n\t\t\trun: (interaction: XernerxMessageContextInteraction | XernerxUserContextInteraction) => this.contextCommandRun(interaction),\n\t\t});\n\t}\n\n\tprivate async messageCommandRun<T extends XernerxMessage>(message: T, message2?: T | 'delete') {\n\t\tconst filetype = 'MessageCommand';\n\n\t\tif (message.author.id === this.client.user?.id && this.client.settings.ignore?.self) return;\n\t\telse if (message.author.bot && this.client.settings.ignore?.bots) return;\n\n\t\tif (message.system && this.client.settings.ignore?.system) return;\n\n\t\tmessage.util = new MessageUtil(this.client, message);\n\t\tmessage.user = await xernerxUser(message, this.client);\n\n\t\tif (typeof message2 === 'object') message = message2;\n\n\t\tif (message2 === 'delete' && this.client.modules.options.message?.handleDeletes) {\n\t\t\tif (!this.client.cache.messages.has(message.id)) return;\n\n\t\t\tconst id = this.client.cache.messages.get(message.id);\n\n\t\t\tif (!id) return;\n\n\t\t\t(async () => {\n\t\t\t\tconst msg = await message.channel.messages.fetch(id);\n\n\t\t\t\tawait msg.delete();\n\n\t\t\t\tthis.client.cache.messages.delete(message.id);\n\t\t\t})();\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (message.content && this.client.modules.options.message) {\n\t\t\tconst commands = this.client.commands.message;\n\n\t\t\tconst prefixes = Array.isArray(this.client.modules.options.message.prefix) ? this.client.modules.options.message.prefix : [this.client.modules.options.message.prefix];\n\n\t\t\tlet commandName: string | null = null,\n\t\t\t\tcmd,\n\t\t\t\tcommandAlias: string | null = null,\n\t\t\t\tcommandPrefix: string | null = null;\n\n\t\t\tcommands.map((command) => {\n\t\t\t\tlet prefix: string | null = null;\n\n\t\t\t\tif (command.regex && message.content.match(command.regex)) {\n\t\t\t\t\tconst [match] = message.content.match(command.regex) || [null];\n\n\t\t\t\t\tif (match) commandName = command.name;\n\t\t\t\t}\n\n\t\t\t\tconst cp = Array.isArray(command.prefix) ? command.prefix : [command.prefix as string];\n\n\t\t\t\tprefixes.map((p) => {\n\t\t\t\t\tif (message.content.startsWith(p)) prefix = p;\n\t\t\t\t});\n\n\t\t\t\tcp.map((p) => {\n\t\t\t\t\tif (message.content.startsWith(p)) prefix = p;\n\t\t\t\t});\n\n\t\t\t\tif (!prefix) return;\n\n\t\t\t\tif (!commandName)\n\t\t\t\t\tcommandName =\n\t\t\t\t\t\tmessage.content\n\t\t\t\t\t\t\t.replace(prefix, '')\n\t\t\t\t\t\t\t.split(command.separator || / +/)\n\t\t\t\t\t\t\t.shift()\n\t\t\t\t\t\t\t?.trim()\n\t\t\t\t\t\t\t?.toLowerCase() || '';\n\n\t\t\t\tif (!this.client.commands.message.has(commandName) && command.aliases?.includes(commandName)) {\n\t\t\t\t\tcommandAlias = commandName;\n\n\t\t\t\t\tcommandName = command.name;\n\t\t\t\t}\n\n\t\t\t\tcommandAlias = commandAlias ? commandAlias : commandName;\n\n\t\t\t\tcommandPrefix = prefix;\n\t\t\t});\n\n\t\t\tif (!cmd && this.client.modules.options.message.allowMention) {\n\t\t\t\tif (message.mentions.users.has(this.client.user?.id as string) || message.mentions.repliedUser?.id === this.client.user?.id) {\n\t\t\t\t\tcommandName = message.content.replace(`<@${this.client.user?.id}>`, '').trim().split(/ +/).shift()?.toLowerCase() || null;\n\n\t\t\t\t\tcommands.map((command) => {\n\t\t\t\t\t\tif (command.aliases?.includes(commandName as string)) {\n\t\t\t\t\t\t\tcommandName = command.name;\n\t\t\t\t\t\t\treturn (commandAlias = commandName);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\t\tcommandPrefix = `<@${this.client.user?.id}>`;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (this.client.commands.message.has(commandName as string)) {\n\t\t\t\tif (this.client.modules.options.message?.handleTyping) message.channel.sendTyping();\n\n\t\t\t\tcmd = this.client.commands.message.get(commandName as string);\n\t\t\t}\n\n\t\t\tif (!commandPrefix || !commandName) return;\n\n\t\t\tif (!cmd) return await this.client.emit('commandNotFound', message, commandName, filetype);\n\n\t\t\tif (await inhibitorValidation(message, cmd)) return;\n\n\t\t\tmessage.util.parsed = {\n\t\t\t\talias: commandAlias,\n\t\t\t\tprefix: commandPrefix,\n\t\t\t};\n\n\t\t\tthis.client.emit('commandStart', message, cmd, filetype);\n\n\t\t\treturn await this.exec(cmd, message, await messageArguments(message, cmd, commandPrefix as string), filetype);\n\t\t}\n\t}\n\n\tprivate async slashCommandRun<T extends Record<string, any>>(interaction: XernerxSlashInteraction) {\n\t\tconst filetype = 'SlashCommand';\n\n\t\tinteraction.util = new InteractionUtil(this.client, interaction);\n\n\t\tinteraction.user = await xernerxUser(interaction, this.client);\n\n\t\tlet cmd: XernerxSlashCommand | null | undefined = null;\n\n\t\tif (this.client.commands.slash.has(interaction.commandName)) cmd = this.client.commands.slash.get(interaction.commandName);\n\n\t\tif (await inhibitorValidation(interaction, cmd as XernerxSlashCommand)) return;\n\n\t\tif (!cmd) return this.client.emit('commandNotFound', interaction, interaction.commandName, filetype);\n\n\t\tnew Promise(async (resolve) => {\n\t\t\tif (interaction.isAutocomplete()) {\n\t\t\t\tconst focused = (interaction as T).options.getFocused(true);\n\t\t\t\tconst options = (interaction as T).options;\n\n\t\t\t\tawait (cmd as XernerxSlashCommand).autocomplete(interaction, focused, options);\n\t\t\t} else resolve(true);\n\t\t})\n\t\t\t.then(async () => {\n\t\t\t\tthis.client.emit('commandStart', interaction, filetype);\n\n\t\t\t\treturn await this.exec(cmd as XernerxSlashCommand, interaction, await interactionArguments(interaction, cmd as XernerxSlashCommand), filetype);\n\t\t\t})\n\t\t\t.catch((error) => this.client.emit('commandError', interaction, error, cmd, filetype));\n\t}\n\n\tprivate async contextCommandRun(interaction: XernerxUserContextInteraction | XernerxMessageContextInteraction) {\n\t\tconst filetype = 'ContextCommand';\n\n\t\tinteraction.util = new InteractionUtil(this.client, interaction);\n\n\t\tinteraction.user = await xernerxUser(interaction as XernerxUserContextInteraction, this.client);\n\n\t\tlet cmd;\n\n\t\tif (this.client.commands.context.has(interaction.commandName)) cmd = this.client.commands.context.get(interaction.commandName);\n\n\t\tif (await inhibitorValidation(interaction, cmd)) return;\n\n\t\tif (!cmd) return this.client.emit('commandNotFound', interaction, interaction.commandName, filetype);\n\n\t\tthis.client.emit('commandStart', interaction, filetype);\n\n\t\treturn await this.exec(cmd as unknown as XernerxSlashCommand, interaction, await interactionArguments(interaction, cmd), filetype);\n\t}\n\n\tprivate async exec(\n\t\tcmd: MessageCommandBuilder | XernerxSlashCommand | XernerxContextCommand,\n\t\tevent: XernerxMessage | XernerxSlashInteraction | XernerxMessageContextInteraction | XernerxUserContextInteraction,\n\t\targs: any,\n\t\ttype: filetype\n\t) {\n\t\ttry {\n\t\t\tif (await commandValidation(event as XernerxMessage, cmd)) return;\n\n\t\t\tif (((cmd as MessageCommandBuilder).conditions as unknown) && (await ((cmd as MessageCommandBuilder).conditions(event as never, args) as unknown))) return;\n\n\t\t\tawait cmd.exec(event as never, args);\n\n\t\t\treturn await this.client.emit('commandFinish', event, type);\n\t\t} catch (error) {\n\t\t\tnew XernerxLog(this.client).error(`An error occurred executing ${Style.log(cmd.name, { color: Style.TextColor.Blue })}`, error);\n\n\t\t\treturn await this.client.emit('commandError', event, error, cmd, type);\n\t\t}\n\t}\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"XernerxText.js","sourceRoot":"","sources":["../../src/tools/XernerxText.ts"],"names":[],"mappings":"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","sourcesContent":["/** @format */\r\n\r\nimport { Emoji, Role, XernerxGuildChannel, XernerxMember, XernerxUser } from '../main.js';\r\n\r\nexport default class XernerxText {\r\n\tpublic user(user: string | XernerxUser) {\r\n\t\tif (typeof user == 'object') user = user.id;\r\n\t\treturn `<@${user}>`;\r\n\t}\r\n\r\n\tpublic channel(channel: string | XernerxGuildChannel) {\r\n\t\tif (typeof channel == 'object') channel = channel.id;\r\n\t\treturn `<#${channel}>`;\r\n\t}\r\n\r\n\tpublic role(role: string | Role) {\r\n\t\tif (typeof role == 'object') role = role.id;\r\n\t\treturn `<@&${role}>`;\r\n\t}\r\n\r\n\tpublic emoji(emoji: string | Emoji, animated: boolean = false) {\r\n\t\tif (typeof emoji == 'object') (emoji as unknown) = emoji.id;\r\n\t\treturn `<${animated ? 'a' : ''}:${emoji}>`;\r\n\t}\r\n\r\n\tpublic member(member: string | XernerxMember) {\r\n\t\tif (typeof member == 'object') member = member.id;\r\n\t\treturn `<@!${member}>`;\r\n\t}\r\n\r\n\tpublic timestamp(timestamp: number | Date = Date.now(), format: 't' | 'T' | 'd' | 'D' | 'f' | 'F' | 'R' = 'R') {\r\n\t\tif (typeof timestamp == 'string') timestamp = Number(timestamp);\r\n\t\tif (isNaN(timestamp as number)) return 'Invalid Date';\r\n\t\treturn `<t:${timestamp}:${format}>`;\r\n\t}\r\n\r\n\tpublic codeBlock(code: string, language: string) {\r\n\t\treturn `\\`\\`\\`${language}\r\n ${code}\r\n \\`\\`\\``;\r\n\t}\r\n\r\n\tpublic iCodeBlock(code: string) {\r\n\t\treturn `\\`${code}\\``;\r\n\t}\r\n\r\n\tpublic bold(text: string) {\r\n\t\treturn `**${text}**`;\r\n\t}\r\n\r\n\tpublic italic(text: string) {\r\n\t\treturn `*${text}*`;\r\n\t}\r\n\r\n\tpublic underline(text: string) {\r\n\t\treturn `__${text}__`;\r\n\t}\r\n\r\n\tpublic strike(text: string) {\r\n\t\treturn `~~${text}~~`;\r\n\t}\r\n\r\n\tpublic spoiler(text: string) {\r\n\t\treturn `||${text}||`;\r\n\t}\r\n\r\n\tpublic quote(text: string) {\r\n\t\treturn `> ${text}`;\r\n\t}\r\n\r\n\tpublic blockQuote(text: string) {\r\n\t\treturn `>>> ${text}`;\r\n\t}\r\n\r\n\tpublic hyperlink(text: string, url: string) {\r\n\t\treturn `[${text}](${url})`;\r\n\t}\r\n\r\n\t// public static HyperlinkWithTooltip(text: string, url: string, tooltip: string) {\r\n\t// \treturn `[${text}](${url} \"${tooltip}\")`;\r\n\t// }\r\n\r\n\t// public static HyperlinkWithTooltipAndImage(text: string, url: string, tooltip: string, imageUrl: string) {\r\n\t// \treturn `[${text}](${url} \"${tooltip}\":${imageUrl})`;\r\n\t// }\r\n\r\n\t// public static HyperlinkWithImage(text: string, url: string, imageUrl: string) {\r\n\t// \treturn `[${text}](${url}:${imageUrl})`;\r\n\t// }\r\n\r\n\tpublic Progressbar(min: number, max: number, cur: number, options: ProgressBarOptions = {}) {\r\n\t\tif (!options.fill) options.fill = '█';\r\n\t\tif (!options.fade) options.fade = '▓▒';\r\n\t\tif (!options.empty) options.empty = '░';\r\n\r\n\t\tconst length = options.length || 20,\r\n\t\t\tpercentage = cur / max,\r\n\t\t\tfilledLength = Math.round(length * percentage),\r\n\t\t\temptyLength = length - filledLength;\r\n\r\n\t\tif (!options.percentage) return '`' + options.fill.repeat(filledLength) + options.empty.repeat(emptyLength) + '`';\r\n\t\telse return '`' + options.fill.repeat(filledLength) + options.empty.repeat(emptyLength) + '` ' + `\\`${percentage * 100}%\\``;\r\n\t}\r\n}\r\n\r\ninterface ProgressBarOptions {\r\n\tfill?: string;\r\n\tfade?: string;\r\n\tempty?: string;\r\n\tpercentage?: boolean;\r\n\tlength?: number;\r\n}\r\n"]}
1
+ {"version":3,"file":"XernerxText.js","sourceRoot":"","sources":["../../src/tools/XernerxText.ts"],"names":[],"mappings":"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","sourcesContent":["/** @format */\n\nimport { Emoji, Role, XernerxGuildChannel, XernerxMember, XernerxUser } from '../main.js';\n\nexport default class XernerxText {\n\tpublic user(user: string | XernerxUser) {\n\t\tif (typeof user == 'object') user = user.id;\n\t\treturn `<@${user}>`;\n\t}\n\n\tpublic channel(channel: string | XernerxGuildChannel) {\n\t\tif (typeof channel == 'object') channel = channel.id;\n\t\treturn `<#${channel}>`;\n\t}\n\n\tpublic role(role: string | Role) {\n\t\tif (typeof role == 'object') role = role.id;\n\t\treturn `<@&${role}>`;\n\t}\n\n\tpublic emoji(emoji: string | Emoji, animated: boolean = false) {\n\t\tif (typeof emoji == 'object') (emoji as unknown) = emoji.id;\n\t\treturn `<${animated ? 'a' : ''}:${emoji}>`;\n\t}\n\n\tpublic member(member: string | XernerxMember) {\n\t\tif (typeof member == 'object') member = member.id;\n\t\treturn `<@!${member}>`;\n\t}\n\n\tpublic timestamp(timestamp: number | Date = Date.now(), format: 't' | 'T' | 'd' | 'D' | 'f' | 'F' | 'R' = 'R') {\n\t\tif (typeof timestamp == 'string') timestamp = Number(timestamp);\n\t\tif (isNaN(timestamp as number)) return 'Invalid Date';\n\t\treturn `<t:${timestamp}:${format}>`;\n\t}\n\n\tpublic codeBlock(code: string, language: string) {\n\t\treturn `\\`\\`\\`${language}\n ${code}\n \\`\\`\\``;\n\t}\n\n\tpublic iCodeBlock(code: string) {\n\t\treturn `\\`${code}\\``;\n\t}\n\n\tpublic bold(text: string) {\n\t\treturn `**${text}**`;\n\t}\n\n\tpublic italic(text: string) {\n\t\treturn `*${text}*`;\n\t}\n\n\tpublic underline(text: string) {\n\t\treturn `__${text}__`;\n\t}\n\n\tpublic strike(text: string) {\n\t\treturn `~~${text}~~`;\n\t}\n\n\tpublic spoiler(text: string) {\n\t\treturn `||${text}||`;\n\t}\n\n\tpublic quote(text: string) {\n\t\treturn `> ${text}`;\n\t}\n\n\tpublic blockQuote(text: string) {\n\t\treturn `>>> ${text}`;\n\t}\n\n\tpublic hyperlink(text: string, url: string) {\n\t\treturn `[${text}](${url})`;\n\t}\n\n\t// public static HyperlinkWithTooltip(text: string, url: string, tooltip: string) {\n\t// \treturn `[${text}](${url} \"${tooltip}\")`;\n\t// }\n\n\t// public static HyperlinkWithTooltipAndImage(text: string, url: string, tooltip: string, imageUrl: string) {\n\t// \treturn `[${text}](${url} \"${tooltip}\":${imageUrl})`;\n\t// }\n\n\t// public static HyperlinkWithImage(text: string, url: string, imageUrl: string) {\n\t// \treturn `[${text}](${url}:${imageUrl})`;\n\t// }\n\n\tpublic Progressbar(min: number, max: number, cur: number, options: ProgressBarOptions = {}) {\n\t\tif (!options.fill) options.fill = '█';\n\t\tif (!options.fade) options.fade = '▓▒';\n\t\tif (!options.empty) options.empty = '░';\n\n\t\tconst length = options.length || 20,\n\t\t\tpercentage = cur / max,\n\t\t\tfilledLength = Math.round(length * percentage),\n\t\t\temptyLength = length - filledLength;\n\n\t\tif (!options.percentage) return '`' + options.fill.repeat(filledLength) + options.empty.repeat(emptyLength) + '`';\n\t\telse return '`' + options.fill.repeat(filledLength) + options.empty.repeat(emptyLength) + '` ' + `\\`${percentage * 100}%\\``;\n\t}\n}\n\ninterface ProgressBarOptions {\n\tfill?: string;\n\tfade?: string;\n\tempty?: string;\n\tpercentage?: boolean;\n\tlength?: number;\n}\n"]}
package/image.png ADDED
Binary file
package/package.json CHANGED
@@ -1,49 +1,51 @@
1
1
  {
2
- "name": "xernerx",
3
- "version": "4.5.11",
4
- "description": "A bot framework for discord.js.",
5
- "main": "dist/main.js",
6
- "type": "module",
7
- "keywords": [
8
- "discord.js",
9
- "discord",
10
- "framework",
11
- "mjs",
12
- "esm",
13
- "cjs",
14
- "ts"
15
- ],
16
- "author": "Dummi",
17
- "license": "MIT",
18
- "homepage": "https://xernerx.github.io/xernerx",
19
- "packageManager": "npm@8.5.5",
20
- "scripts": {
21
- "start": "npm i && npm fund && npm audit fix --force && npm link && tsc -w",
22
- "patch": "npm run write && git add . && npm run commit && npm version patch && npm publish && git push",
23
- "minor": "npm run write && git add . && npm run commit && npm version minor && npm publish && git push",
24
- "major": "npm run write && git add . && npm run commit && npm version major && npm publish && git push",
25
- "site": "git add docs && npm run commit && git push",
26
- "commit": "node ../.scripts/commit.js",
27
- "write": "npm run build && npm run format",
28
- "format": "npx prettier --write src dist",
29
- "build": "tsc && npm run format"
30
- },
31
- "repository": {
32
- "type": "git",
33
- "url": "git+https://github.com/xernerx/xernerx.git"
34
- },
35
- "bugs": {
36
- "url": "https://github.com/xernerx/xernerx/issues"
37
- },
38
- "dependencies": {
39
- "dbl-sdk": "^1.2.0",
40
- "discord.js": "^14.11.0",
41
- "dumfunctions": "^2.1.2",
42
- "xernerx-extension-builder": "^0.0.16",
43
- "zod": "^3.21.4"
44
- },
45
- "devDependencies": {
46
- "prettier": "^2.8.7",
47
- "typescript": "^5.0.3"
48
- }
2
+ "name": "xernerx",
3
+ "version": "4.5.13",
4
+ "description": "A bot framework for discord.js.",
5
+ "main": "dist/main.js",
6
+ "type": "module",
7
+ "keywords": [
8
+ "discord.js",
9
+ "discord",
10
+ "framework",
11
+ "mjs",
12
+ "esm",
13
+ "cjs",
14
+ "ts"
15
+ ],
16
+ "author": "Dummi",
17
+ "license": "MIT",
18
+ "homepage": "https://xernerx.github.io/xernerx",
19
+ "packageManager": "npm@8.5.5",
20
+ "scripts": {
21
+ "start": "npm i && npm fund && npm audit fix --force && npm link && tsc -w",
22
+ "commit": "npm run write && git add . && node ./.github/scripts/message.js",
23
+ "tag": "node ./.github/scripts/tag.js",
24
+ "patch": "npm run commit && npm version patch && npm run tag && npm publish && git push",
25
+ "minor": "npm run commit && npm version minor && npm run tag && npm publish && git push",
26
+ "major": "npm run commit && npm version major && npm run tag && npm publish && git push",
27
+ "site": "git add docs && npm run commit && git push",
28
+ "write": "npm run build && npm run format",
29
+ "format": "npx prettier --write src dist",
30
+ "build": "tsc && npm run format"
31
+ },
32
+ "repository": {
33
+ "type": "git",
34
+ "url": "git+https://github.com/xernerx/xernerx.git"
35
+ },
36
+ "bugs": {
37
+ "url": "https://github.com/xernerx/xernerx/issues"
38
+ },
39
+ "dependencies": {
40
+ "dbl-sdk": "^1.2.0",
41
+ "discord.js": "^14.11.0",
42
+ "dumfunctions": "^2.1.2",
43
+ "readline": "^1.3.0",
44
+ "xernerx-extension-builder": "^0.0.16",
45
+ "zod": "^3.21.4"
46
+ },
47
+ "devDependencies": {
48
+ "prettier": "^2.8.7",
49
+ "typescript": "^5.0.3"
50
+ }
49
51
  }