@sapphire/plugin-pattern-commands 6.0.4-next.ebf804c → 6.0.4-next.ef59b2e

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.
@@ -10,7 +10,7 @@ var PluginPreCommandRun_cjs = require('./listeners/PluginPreCommandRun.cjs');
10
10
  var _load_cjs = require('./listeners/_load.cjs');
11
11
 
12
12
  // src/index.ts
13
- var version = "6.0.4-next.ebf804c";
13
+ var version = "6.0.4-next.ef59b2e";
14
14
 
15
15
  Object.defineProperty(exports, "PluginPatternCommandsCommandAcceptedListener", {
16
16
  enumerable: true,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAyBO,IAAM,OAAkB,GAAA","file":"index.cjs","sourcesContent":["import type { PatternCommandStore } from './lib/structures/PatternCommandStore';\n\nexport * from './lib/structures/PatternCommandStore';\nexport * from './lib/structures/PatternCommand';\nexport * from './lib/utils/PatternCommandEvents';\nexport * from './lib/utils/PatternCommandInterfaces';\nexport { PluginListener as PluginPatternCommandsCommandAcceptedListener } from './listeners/PluginCommandAccepted';\nexport { PluginListener as PluginPatternCommandsMessageParseListener } from './listeners/PluginMessageParse';\nexport { PluginListener as PluginPatternCommandsPreCommandRunListener } from './listeners/PluginPreCommandRun';\n\nexport { loadListeners } from './listeners/_load';\n\ndeclare module '@sapphire/pieces' {\n\tinterface StoreRegistryEntries {\n\t\t'pattern-commands': PatternCommandStore;\n\t}\n}\n\n/**\n * The [@sapphire/plugin-pattern-commands](https://github.com/sapphiredev/plugins/blob/main/packages/pattern-commands) version that you are currently using.\n * An example use of this is showing it of in a bot information command.\n *\n * Note to Sapphire developers: This needs to explicitly be `string` so it is not typed as the string that gets replaced by esbuild\n */\n// eslint-disable-next-line @typescript-eslint/no-inferrable-types\nexport const version: string = '6.0.4-next.ebf804c';\n"]}
1
+ {"version":3,"sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAyBO,IAAM,OAAkB,GAAA","file":"index.cjs","sourcesContent":["import type { PatternCommandStore } from './lib/structures/PatternCommandStore';\n\nexport * from './lib/structures/PatternCommandStore';\nexport * from './lib/structures/PatternCommand';\nexport * from './lib/utils/PatternCommandEvents';\nexport * from './lib/utils/PatternCommandInterfaces';\nexport { PluginListener as PluginPatternCommandsCommandAcceptedListener } from './listeners/PluginCommandAccepted';\nexport { PluginListener as PluginPatternCommandsMessageParseListener } from './listeners/PluginMessageParse';\nexport { PluginListener as PluginPatternCommandsPreCommandRunListener } from './listeners/PluginPreCommandRun';\n\nexport { loadListeners } from './listeners/_load';\n\ndeclare module '@sapphire/pieces' {\n\tinterface StoreRegistryEntries {\n\t\t'pattern-commands': PatternCommandStore;\n\t}\n}\n\n/**\n * The [@sapphire/plugin-pattern-commands](https://github.com/sapphiredev/plugins/blob/main/packages/pattern-commands) version that you are currently using.\n * An example use of this is showing it of in a bot information command.\n *\n * Note to Sapphire developers: This needs to explicitly be `string` so it is not typed as the string that gets replaced by esbuild\n */\n// eslint-disable-next-line @typescript-eslint/no-inferrable-types\nexport const version: string = '6.0.4-next.ef59b2e';\n"]}
@@ -1,5 +1,5 @@
1
1
  import { AliasStore } from '@sapphire/pieces';
2
- import { MessageCommand, Command, Args, Listener, Events } from '@sapphire/framework';
2
+ import { Command, Args, MessageCommand, Listener, Events } from '@sapphire/framework';
3
3
  import { Message, Awaitable } from 'discord.js';
4
4
 
5
5
  interface PatternCommandOptions extends MessageCommand.Options {
@@ -45,7 +45,7 @@ var _PluginListener = class _PluginListener extends framework.Listener {
45
45
  });
46
46
  continue;
47
47
  }
48
- if (content.match(new RegExp(patternCommand.matchFullName ? `\b${key}\b` : key, client.options.caseInsensitiveCommands ? "i" : undefined))) {
48
+ if (content.match(new RegExp(patternCommand.matchFullName ? `\b${key}\b` : key, client.options.caseInsensitiveCommands ? "i" : void 0))) {
49
49
  possiblePatternCommands.push({
50
50
  command: patternCommand,
51
51
  alias: content,
@@ -54,7 +54,7 @@ var _PluginListener = class _PluginListener extends framework.Listener {
54
54
  continue;
55
55
  }
56
56
  const aliasRegexMatch = patternCommand.aliases.find(
57
- (alias) => content.match(new RegExp(alias, client.options.caseInsensitiveCommands ? "i" : undefined))
57
+ (alias) => content.match(new RegExp(alias, client.options.caseInsensitiveCommands ? "i" : void 0))
58
58
  );
59
59
  if (aliasRegexMatch) {
60
60
  possiblePatternCommands.push({
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/listeners/PluginMessageParse.ts"],"names":["Listener","Events","PermissionsBitField","PermissionFlagsBits","PatternCommandEvents","isDMChannel"],"mappings":"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","file":"PluginMessageParse.cjs","sourcesContent":["import { isDMChannel, type GuildBasedChannelTypes } from '@sapphire/discord.js-utilities';\nimport { Events, Listener } from '@sapphire/framework';\nimport { Message, PermissionFlagsBits, PermissionsBitField } from 'discord.js';\nimport type { PatternCommandStore } from '../lib/structures/PatternCommandStore';\nimport { PatternCommandEvents } from '../lib/utils/PatternCommandEvents';\nimport type { PossiblePatternCommand } from '../lib/utils/PatternCommandInterfaces';\n\nexport class PluginListener extends Listener<typeof Events.PreMessageParsed> {\n\tprivate readonly requiredPermissions = new PermissionsBitField([PermissionFlagsBits.ViewChannel, PermissionFlagsBits.SendMessages]).freeze();\n\tpublic constructor(context: Listener.LoaderContext) {\n\t\tsuper(context, { event: Events.PreMessageParsed });\n\t}\n\n\tpublic override async run(message: Message) {\n\t\tconst canRun = await this.canRunInChannel(message);\n\t\tif (!canRun) return;\n\n\t\tlet { content } = message;\n\t\tconst { client, stores } = this.container;\n\n\t\tconst patternCommandStore = stores.get('pattern-commands') as PatternCommandStore | undefined;\n\n\t\tif (!patternCommandStore) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (client.options.caseInsensitiveCommands) {\n\t\t\tcontent = content.toLowerCase();\n\t\t}\n\n\t\tconst possiblePatternCommands: PossiblePatternCommand[] = [];\n\n\t\tfor (const [key, patternCommand] of patternCommandStore) {\n\t\t\tif (content === key) {\n\t\t\t\tpossiblePatternCommands.push({\n\t\t\t\t\tcommand: patternCommand,\n\t\t\t\t\talias: key,\n\t\t\t\t\tweight: patternCommand.weight\n\t\t\t\t});\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tconst aliasMatch = patternCommand.aliases.find((alias) => alias === content);\n\n\t\t\tif (aliasMatch) {\n\t\t\t\tpossiblePatternCommands.push({\n\t\t\t\t\tcommand: patternCommand,\n\t\t\t\t\talias: aliasMatch,\n\t\t\t\t\tweight: patternCommand.weight\n\t\t\t\t});\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tcontent.match(new RegExp(patternCommand.matchFullName ? `\\b${key}\\b` : key, client.options.caseInsensitiveCommands ? 'i' : undefined))\n\t\t\t) {\n\t\t\t\tpossiblePatternCommands.push({\n\t\t\t\t\tcommand: patternCommand,\n\t\t\t\t\talias: content,\n\t\t\t\t\tweight: patternCommand.weight\n\t\t\t\t});\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tconst aliasRegexMatch = patternCommand.aliases.find((alias) =>\n\t\t\t\tcontent.match(new RegExp(alias, client.options.caseInsensitiveCommands ? 'i' : undefined))\n\t\t\t);\n\n\t\t\tif (aliasRegexMatch) {\n\t\t\t\tpossiblePatternCommands.push({\n\t\t\t\t\tcommand: patternCommand,\n\t\t\t\t\talias: aliasRegexMatch,\n\t\t\t\t\tweight: patternCommand.weight\n\t\t\t\t});\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\n\t\tif (possiblePatternCommands.length > 0) {\n\t\t\tconst sortedPossiblePatternCommands = possiblePatternCommands.sort((first, second) => {\n\t\t\t\treturn second.weight - first.weight;\n\t\t\t});\n\n\t\t\tclient.emit(PatternCommandEvents.PreCommandRun, { message, possibleCommands: sortedPossiblePatternCommands });\n\t\t}\n\t}\n\n\tprivate async canRunInChannel(message: Message): Promise<boolean> {\n\t\tif (isDMChannel(message.channel)) return true;\n\n\t\tconst me = await message.guild?.members.fetchMe();\n\t\tif (!me) return false;\n\n\t\tconst channel = message.channel as GuildBasedChannelTypes;\n\t\treturn channel.permissionsFor(me).has(this.requiredPermissions, false);\n\t}\n}\n"]}
1
+ {"version":3,"sources":["../../../src/listeners/PluginMessageParse.ts"],"names":["Listener","Events","PermissionsBitField","PermissionFlagsBits","PatternCommandEvents","isDMChannel"],"mappings":"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","file":"PluginMessageParse.cjs","sourcesContent":["import { isDMChannel, type GuildBasedChannelTypes } from '@sapphire/discord.js-utilities';\nimport { Events, Listener } from '@sapphire/framework';\nimport { Message, PermissionFlagsBits, PermissionsBitField } from 'discord.js';\nimport type { PatternCommandStore } from '../lib/structures/PatternCommandStore';\nimport { PatternCommandEvents } from '../lib/utils/PatternCommandEvents';\nimport type { PossiblePatternCommand } from '../lib/utils/PatternCommandInterfaces';\n\nexport class PluginListener extends Listener<typeof Events.PreMessageParsed> {\n\tprivate readonly requiredPermissions = new PermissionsBitField([PermissionFlagsBits.ViewChannel, PermissionFlagsBits.SendMessages]).freeze();\n\tpublic constructor(context: Listener.LoaderContext) {\n\t\tsuper(context, { event: Events.PreMessageParsed });\n\t}\n\n\tpublic override async run(message: Message) {\n\t\tconst canRun = await this.canRunInChannel(message);\n\t\tif (!canRun) return;\n\n\t\tlet { content } = message;\n\t\tconst { client, stores } = this.container;\n\n\t\tconst patternCommandStore = stores.get('pattern-commands') as PatternCommandStore | undefined;\n\n\t\tif (!patternCommandStore) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (client.options.caseInsensitiveCommands) {\n\t\t\tcontent = content.toLowerCase();\n\t\t}\n\n\t\tconst possiblePatternCommands: PossiblePatternCommand[] = [];\n\n\t\tfor (const [key, patternCommand] of patternCommandStore) {\n\t\t\tif (content === key) {\n\t\t\t\tpossiblePatternCommands.push({\n\t\t\t\t\tcommand: patternCommand,\n\t\t\t\t\talias: key,\n\t\t\t\t\tweight: patternCommand.weight\n\t\t\t\t});\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tconst aliasMatch = patternCommand.aliases.find((alias) => alias === content);\n\n\t\t\tif (aliasMatch) {\n\t\t\t\tpossiblePatternCommands.push({\n\t\t\t\t\tcommand: patternCommand,\n\t\t\t\t\talias: aliasMatch,\n\t\t\t\t\tweight: patternCommand.weight\n\t\t\t\t});\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tcontent.match(new RegExp(patternCommand.matchFullName ? `\\b${key}\\b` : key, client.options.caseInsensitiveCommands ? 'i' : undefined))\n\t\t\t) {\n\t\t\t\tpossiblePatternCommands.push({\n\t\t\t\t\tcommand: patternCommand,\n\t\t\t\t\talias: content,\n\t\t\t\t\tweight: patternCommand.weight\n\t\t\t\t});\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tconst aliasRegexMatch = patternCommand.aliases.find((alias) =>\n\t\t\t\tcontent.match(new RegExp(alias, client.options.caseInsensitiveCommands ? 'i' : undefined))\n\t\t\t);\n\n\t\t\tif (aliasRegexMatch) {\n\t\t\t\tpossiblePatternCommands.push({\n\t\t\t\t\tcommand: patternCommand,\n\t\t\t\t\talias: aliasRegexMatch,\n\t\t\t\t\tweight: patternCommand.weight\n\t\t\t\t});\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\n\t\tif (possiblePatternCommands.length > 0) {\n\t\t\tconst sortedPossiblePatternCommands = possiblePatternCommands.sort((first, second) => {\n\t\t\t\treturn second.weight - first.weight;\n\t\t\t});\n\n\t\t\tclient.emit(PatternCommandEvents.PreCommandRun, { message, possibleCommands: sortedPossiblePatternCommands });\n\t\t}\n\t}\n\n\tprivate async canRunInChannel(message: Message): Promise<boolean> {\n\t\tif (isDMChannel(message.channel)) return true;\n\n\t\tconst me = await message.guild?.members.fetchMe();\n\t\tif (!me) return false;\n\n\t\tconst channel = message.channel as GuildBasedChannelTypes;\n\t\treturn channel.permissionsFor(me).has(this.requiredPermissions, false);\n\t}\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import { AliasStore } from '@sapphire/pieces';
2
- import { MessageCommand, Command, Args, Listener, Events } from '@sapphire/framework';
2
+ import { Command, Args, MessageCommand, Listener, Events } from '@sapphire/framework';
3
3
  import { Message, Awaitable } from 'discord.js';
4
4
 
5
5
  interface PatternCommandOptions extends MessageCommand.Options {
@@ -8,7 +8,7 @@ export { PluginListener as PluginPatternCommandsMessageParseListener } from './l
8
8
  export { PluginListener as PluginPatternCommandsPreCommandRunListener } from './listeners/PluginPreCommandRun.mjs';
9
9
  export { loadListeners } from './listeners/_load.mjs';
10
10
 
11
- var version = "6.0.4-next.ebf804c";
11
+ var version = "6.0.4-next.ef59b2e";
12
12
 
13
13
  export { version };
14
14
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;AAyBO,IAAM,OAAkB,GAAA","file":"index.mjs","sourcesContent":["import type { PatternCommandStore } from './lib/structures/PatternCommandStore';\n\nexport * from './lib/structures/PatternCommandStore';\nexport * from './lib/structures/PatternCommand';\nexport * from './lib/utils/PatternCommandEvents';\nexport * from './lib/utils/PatternCommandInterfaces';\nexport { PluginListener as PluginPatternCommandsCommandAcceptedListener } from './listeners/PluginCommandAccepted';\nexport { PluginListener as PluginPatternCommandsMessageParseListener } from './listeners/PluginMessageParse';\nexport { PluginListener as PluginPatternCommandsPreCommandRunListener } from './listeners/PluginPreCommandRun';\n\nexport { loadListeners } from './listeners/_load';\n\ndeclare module '@sapphire/pieces' {\n\tinterface StoreRegistryEntries {\n\t\t'pattern-commands': PatternCommandStore;\n\t}\n}\n\n/**\n * The [@sapphire/plugin-pattern-commands](https://github.com/sapphiredev/plugins/blob/main/packages/pattern-commands) version that you are currently using.\n * An example use of this is showing it of in a bot information command.\n *\n * Note to Sapphire developers: This needs to explicitly be `string` so it is not typed as the string that gets replaced by esbuild\n */\n// eslint-disable-next-line @typescript-eslint/no-inferrable-types\nexport const version: string = '6.0.4-next.ebf804c';\n"]}
1
+ {"version":3,"sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;AAyBO,IAAM,OAAkB,GAAA","file":"index.mjs","sourcesContent":["import type { PatternCommandStore } from './lib/structures/PatternCommandStore';\n\nexport * from './lib/structures/PatternCommandStore';\nexport * from './lib/structures/PatternCommand';\nexport * from './lib/utils/PatternCommandEvents';\nexport * from './lib/utils/PatternCommandInterfaces';\nexport { PluginListener as PluginPatternCommandsCommandAcceptedListener } from './listeners/PluginCommandAccepted';\nexport { PluginListener as PluginPatternCommandsMessageParseListener } from './listeners/PluginMessageParse';\nexport { PluginListener as PluginPatternCommandsPreCommandRunListener } from './listeners/PluginPreCommandRun';\n\nexport { loadListeners } from './listeners/_load';\n\ndeclare module '@sapphire/pieces' {\n\tinterface StoreRegistryEntries {\n\t\t'pattern-commands': PatternCommandStore;\n\t}\n}\n\n/**\n * The [@sapphire/plugin-pattern-commands](https://github.com/sapphiredev/plugins/blob/main/packages/pattern-commands) version that you are currently using.\n * An example use of this is showing it of in a bot information command.\n *\n * Note to Sapphire developers: This needs to explicitly be `string` so it is not typed as the string that gets replaced by esbuild\n */\n// eslint-disable-next-line @typescript-eslint/no-inferrable-types\nexport const version: string = '6.0.4-next.ef59b2e';\n"]}
@@ -40,7 +40,7 @@ var _PluginListener = class _PluginListener extends Listener {
40
40
  });
41
41
  continue;
42
42
  }
43
- if (content.match(new RegExp(patternCommand.matchFullName ? `\b${key}\b` : key, client.options.caseInsensitiveCommands ? "i" : undefined))) {
43
+ if (content.match(new RegExp(patternCommand.matchFullName ? `\b${key}\b` : key, client.options.caseInsensitiveCommands ? "i" : void 0))) {
44
44
  possiblePatternCommands.push({
45
45
  command: patternCommand,
46
46
  alias: content,
@@ -49,7 +49,7 @@ var _PluginListener = class _PluginListener extends Listener {
49
49
  continue;
50
50
  }
51
51
  const aliasRegexMatch = patternCommand.aliases.find(
52
- (alias) => content.match(new RegExp(alias, client.options.caseInsensitiveCommands ? "i" : undefined))
52
+ (alias) => content.match(new RegExp(alias, client.options.caseInsensitiveCommands ? "i" : void 0))
53
53
  );
54
54
  if (aliasRegexMatch) {
55
55
  possiblePatternCommands.push({
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/listeners/PluginMessageParse.ts"],"names":[],"mappings":"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","file":"PluginMessageParse.mjs","sourcesContent":["import { isDMChannel, type GuildBasedChannelTypes } from '@sapphire/discord.js-utilities';\nimport { Events, Listener } from '@sapphire/framework';\nimport { Message, PermissionFlagsBits, PermissionsBitField } from 'discord.js';\nimport type { PatternCommandStore } from '../lib/structures/PatternCommandStore';\nimport { PatternCommandEvents } from '../lib/utils/PatternCommandEvents';\nimport type { PossiblePatternCommand } from '../lib/utils/PatternCommandInterfaces';\n\nexport class PluginListener extends Listener<typeof Events.PreMessageParsed> {\n\tprivate readonly requiredPermissions = new PermissionsBitField([PermissionFlagsBits.ViewChannel, PermissionFlagsBits.SendMessages]).freeze();\n\tpublic constructor(context: Listener.LoaderContext) {\n\t\tsuper(context, { event: Events.PreMessageParsed });\n\t}\n\n\tpublic override async run(message: Message) {\n\t\tconst canRun = await this.canRunInChannel(message);\n\t\tif (!canRun) return;\n\n\t\tlet { content } = message;\n\t\tconst { client, stores } = this.container;\n\n\t\tconst patternCommandStore = stores.get('pattern-commands') as PatternCommandStore | undefined;\n\n\t\tif (!patternCommandStore) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (client.options.caseInsensitiveCommands) {\n\t\t\tcontent = content.toLowerCase();\n\t\t}\n\n\t\tconst possiblePatternCommands: PossiblePatternCommand[] = [];\n\n\t\tfor (const [key, patternCommand] of patternCommandStore) {\n\t\t\tif (content === key) {\n\t\t\t\tpossiblePatternCommands.push({\n\t\t\t\t\tcommand: patternCommand,\n\t\t\t\t\talias: key,\n\t\t\t\t\tweight: patternCommand.weight\n\t\t\t\t});\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tconst aliasMatch = patternCommand.aliases.find((alias) => alias === content);\n\n\t\t\tif (aliasMatch) {\n\t\t\t\tpossiblePatternCommands.push({\n\t\t\t\t\tcommand: patternCommand,\n\t\t\t\t\talias: aliasMatch,\n\t\t\t\t\tweight: patternCommand.weight\n\t\t\t\t});\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tcontent.match(new RegExp(patternCommand.matchFullName ? `\\b${key}\\b` : key, client.options.caseInsensitiveCommands ? 'i' : undefined))\n\t\t\t) {\n\t\t\t\tpossiblePatternCommands.push({\n\t\t\t\t\tcommand: patternCommand,\n\t\t\t\t\talias: content,\n\t\t\t\t\tweight: patternCommand.weight\n\t\t\t\t});\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tconst aliasRegexMatch = patternCommand.aliases.find((alias) =>\n\t\t\t\tcontent.match(new RegExp(alias, client.options.caseInsensitiveCommands ? 'i' : undefined))\n\t\t\t);\n\n\t\t\tif (aliasRegexMatch) {\n\t\t\t\tpossiblePatternCommands.push({\n\t\t\t\t\tcommand: patternCommand,\n\t\t\t\t\talias: aliasRegexMatch,\n\t\t\t\t\tweight: patternCommand.weight\n\t\t\t\t});\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\n\t\tif (possiblePatternCommands.length > 0) {\n\t\t\tconst sortedPossiblePatternCommands = possiblePatternCommands.sort((first, second) => {\n\t\t\t\treturn second.weight - first.weight;\n\t\t\t});\n\n\t\t\tclient.emit(PatternCommandEvents.PreCommandRun, { message, possibleCommands: sortedPossiblePatternCommands });\n\t\t}\n\t}\n\n\tprivate async canRunInChannel(message: Message): Promise<boolean> {\n\t\tif (isDMChannel(message.channel)) return true;\n\n\t\tconst me = await message.guild?.members.fetchMe();\n\t\tif (!me) return false;\n\n\t\tconst channel = message.channel as GuildBasedChannelTypes;\n\t\treturn channel.permissionsFor(me).has(this.requiredPermissions, false);\n\t}\n}\n"]}
1
+ {"version":3,"sources":["../../../src/listeners/PluginMessageParse.ts"],"names":[],"mappings":"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","file":"PluginMessageParse.mjs","sourcesContent":["import { isDMChannel, type GuildBasedChannelTypes } from '@sapphire/discord.js-utilities';\nimport { Events, Listener } from '@sapphire/framework';\nimport { Message, PermissionFlagsBits, PermissionsBitField } from 'discord.js';\nimport type { PatternCommandStore } from '../lib/structures/PatternCommandStore';\nimport { PatternCommandEvents } from '../lib/utils/PatternCommandEvents';\nimport type { PossiblePatternCommand } from '../lib/utils/PatternCommandInterfaces';\n\nexport class PluginListener extends Listener<typeof Events.PreMessageParsed> {\n\tprivate readonly requiredPermissions = new PermissionsBitField([PermissionFlagsBits.ViewChannel, PermissionFlagsBits.SendMessages]).freeze();\n\tpublic constructor(context: Listener.LoaderContext) {\n\t\tsuper(context, { event: Events.PreMessageParsed });\n\t}\n\n\tpublic override async run(message: Message) {\n\t\tconst canRun = await this.canRunInChannel(message);\n\t\tif (!canRun) return;\n\n\t\tlet { content } = message;\n\t\tconst { client, stores } = this.container;\n\n\t\tconst patternCommandStore = stores.get('pattern-commands') as PatternCommandStore | undefined;\n\n\t\tif (!patternCommandStore) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (client.options.caseInsensitiveCommands) {\n\t\t\tcontent = content.toLowerCase();\n\t\t}\n\n\t\tconst possiblePatternCommands: PossiblePatternCommand[] = [];\n\n\t\tfor (const [key, patternCommand] of patternCommandStore) {\n\t\t\tif (content === key) {\n\t\t\t\tpossiblePatternCommands.push({\n\t\t\t\t\tcommand: patternCommand,\n\t\t\t\t\talias: key,\n\t\t\t\t\tweight: patternCommand.weight\n\t\t\t\t});\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tconst aliasMatch = patternCommand.aliases.find((alias) => alias === content);\n\n\t\t\tif (aliasMatch) {\n\t\t\t\tpossiblePatternCommands.push({\n\t\t\t\t\tcommand: patternCommand,\n\t\t\t\t\talias: aliasMatch,\n\t\t\t\t\tweight: patternCommand.weight\n\t\t\t\t});\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tcontent.match(new RegExp(patternCommand.matchFullName ? `\\b${key}\\b` : key, client.options.caseInsensitiveCommands ? 'i' : undefined))\n\t\t\t) {\n\t\t\t\tpossiblePatternCommands.push({\n\t\t\t\t\tcommand: patternCommand,\n\t\t\t\t\talias: content,\n\t\t\t\t\tweight: patternCommand.weight\n\t\t\t\t});\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tconst aliasRegexMatch = patternCommand.aliases.find((alias) =>\n\t\t\t\tcontent.match(new RegExp(alias, client.options.caseInsensitiveCommands ? 'i' : undefined))\n\t\t\t);\n\n\t\t\tif (aliasRegexMatch) {\n\t\t\t\tpossiblePatternCommands.push({\n\t\t\t\t\tcommand: patternCommand,\n\t\t\t\t\talias: aliasRegexMatch,\n\t\t\t\t\tweight: patternCommand.weight\n\t\t\t\t});\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\n\t\tif (possiblePatternCommands.length > 0) {\n\t\t\tconst sortedPossiblePatternCommands = possiblePatternCommands.sort((first, second) => {\n\t\t\t\treturn second.weight - first.weight;\n\t\t\t});\n\n\t\t\tclient.emit(PatternCommandEvents.PreCommandRun, { message, possibleCommands: sortedPossiblePatternCommands });\n\t\t}\n\t}\n\n\tprivate async canRunInChannel(message: Message): Promise<boolean> {\n\t\tif (isDMChannel(message.channel)) return true;\n\n\t\tconst me = await message.guild?.members.fetchMe();\n\t\tif (!me) return false;\n\n\t\tconst channel = message.channel as GuildBasedChannelTypes;\n\t\treturn channel.permissionsFor(me).has(this.requiredPermissions, false);\n\t}\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sapphire/plugin-pattern-commands",
3
- "version": "6.0.4-next.ebf804c",
3
+ "version": "6.0.4-next.ef59b2e",
4
4
  "description": "Plugin for @sapphire/framework that adds support for pattern commands.",
5
5
  "author": "@sapphire",
6
6
  "license": "MIT",
@@ -81,7 +81,7 @@
81
81
  "@favware/cliff-jumper": "^6.0.0",
82
82
  "@favware/rollup-type-bundler": "^4.0.0",
83
83
  "concurrently": "^9.1.2",
84
- "tsup": "^8.3.5",
84
+ "tsup": "^8.3.6",
85
85
  "tsx": "^4.19.2",
86
86
  "typedoc": "^0.26.11",
87
87
  "typedoc-json-parser": "^10.2.0",