@sapphire/plugin-pattern-commands 0.1.0-next.0db56ac.0

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 (48) hide show
  1. package/LICENSE.md +24 -0
  2. package/README.md +125 -0
  3. package/dist/index.d.ts +6 -0
  4. package/dist/index.d.ts.map +1 -0
  5. package/dist/index.js +10 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/index.mjs +7 -0
  8. package/dist/lib/structures/PaternCommandStore.d.ts +6 -0
  9. package/dist/lib/structures/PaternCommandStore.d.ts.map +1 -0
  10. package/dist/lib/structures/PaternCommandStore.js +12 -0
  11. package/dist/lib/structures/PaternCommandStore.js.map +1 -0
  12. package/dist/lib/structures/PatternCommand.d.ts +33 -0
  13. package/dist/lib/structures/PatternCommand.d.ts.map +1 -0
  14. package/dist/lib/structures/PatternCommand.js +18 -0
  15. package/dist/lib/structures/PatternCommand.js.map +1 -0
  16. package/dist/lib/utils/PaternCommandEvents.d.ts +9 -0
  17. package/dist/lib/utils/PaternCommandEvents.d.ts.map +1 -0
  18. package/dist/lib/utils/PaternCommandEvents.js +13 -0
  19. package/dist/lib/utils/PaternCommandEvents.js.map +1 -0
  20. package/dist/lib/utils/PatternCommandInterfaces.d.ts +21 -0
  21. package/dist/lib/utils/PatternCommandInterfaces.d.ts.map +1 -0
  22. package/dist/lib/utils/PatternCommandInterfaces.js +3 -0
  23. package/dist/lib/utils/PatternCommandInterfaces.js.map +1 -0
  24. package/dist/listeners/PluginCommandAccepted.d.ts +9 -0
  25. package/dist/listeners/PluginCommandAccepted.d.ts.map +1 -0
  26. package/dist/listeners/PluginCommandAccepted.js +23 -0
  27. package/dist/listeners/PluginCommandAccepted.js.map +1 -0
  28. package/dist/listeners/PluginMessageParse.d.ts +10 -0
  29. package/dist/listeners/PluginMessageParse.d.ts.map +1 -0
  30. package/dist/listeners/PluginMessageParse.js +68 -0
  31. package/dist/listeners/PluginMessageParse.js.map +1 -0
  32. package/dist/listeners/PluginPreCommandRun.d.ts +9 -0
  33. package/dist/listeners/PluginPreCommandRun.d.ts.map +1 -0
  34. package/dist/listeners/PluginPreCommandRun.js +28 -0
  35. package/dist/listeners/PluginPreCommandRun.js.map +1 -0
  36. package/dist/listeners/index.d.ts +4 -0
  37. package/dist/listeners/index.d.ts.map +1 -0
  38. package/dist/listeners/index.js +10 -0
  39. package/dist/listeners/index.js.map +1 -0
  40. package/dist/register.d.ts +12 -0
  41. package/dist/register.d.ts.map +1 -0
  42. package/dist/register.js +21 -0
  43. package/dist/register.js.map +1 -0
  44. package/dist/register.mjs +4 -0
  45. package/package.json +69 -0
  46. package/register.d.ts +1 -0
  47. package/register.js +4 -0
  48. package/register.mjs +1 -0
package/LICENSE.md ADDED
@@ -0,0 +1,24 @@
1
+ # The MIT License (MIT)
2
+
3
+ Copyright © `2020` `The Sapphire Community and its contributors`
4
+
5
+ Permission is hereby granted, free of charge, to any person
6
+ obtaining a copy of this software and associated documentation
7
+ files (the “Software”), to deal in the Software without
8
+ restriction, including without limitation the rights to use,
9
+ copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ copies of the Software, and to permit persons to whom the
11
+ Software is furnished to do so, subject to the following
12
+ conditions:
13
+
14
+ The above copyright notice and this permission notice shall be
15
+ included in all copies or substantial portions of the Software.
16
+
17
+ THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND,
18
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
19
+ OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
20
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
21
+ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
22
+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
23
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
24
+ OTHER DEALINGS IN THE SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,125 @@
1
+ <div align="center">
2
+
3
+ ![Sapphire Logo](https://cdn.skyra.pw/gh-assets/sapphire-banner.png)
4
+
5
+ # @sapphire/plugin-pattern-commands
6
+
7
+ **Plugin for <a href="https://github.com/sapphiredev/framework">@sapphire/framework</a> so you can have pattern commands.**
8
+
9
+ [![GitHub](https://img.shields.io/github/license/sapphiredev/plugins)](https://github.com/sapphiredev/plugins/blob/main/LICENSE.md)
10
+ [![codecov](https://codecov.io/gh/sapphiredev/plugins/branch/main/graph/badge.svg?token=QWL8FB16BR)](https://codecov.io/gh/sapphiredev/plugins)
11
+ [![npm bundle size](https://img.shields.io/bundlephobia/min/@sapphire/plugin-pattern-commands?logo=webpack&style=flat-square)](https://bundlephobia.com/result?p=@sapphire/plugin-pattern-commands)
12
+ [![npm](https://img.shields.io/npm/v/@sapphire/plugin-pattern-commands?color=crimson&logo=npm&style=flat-square)](https://www.npmjs.com/package/@sapphire/plugin-pattern-commands)
13
+
14
+ </div>
15
+
16
+ ## Description
17
+
18
+ With pattern commands you can define rulesets to which the bot may respond.
19
+
20
+ ## Important notes
21
+
22
+ - Starting April 2022 this plugin will only work with Message Intent. This is because this plugin relies on scanning messages, which is impossible without the intent.
23
+
24
+ ## Features
25
+
26
+ - Fully ready for TypeScript!
27
+ - Includes ESM ready entrypoint
28
+ - Type generics for easy extension in TypeScript
29
+ - Input/Output mapping
30
+
31
+ ## Installation
32
+
33
+ `@sapphire/plugin-pattern-commands` depends on the following packages. Be sure to install these along with this package!
34
+
35
+ - [`@sapphire/framework`](https://www.npmjs.com/package/@sapphire/framework)
36
+ - [`@sapphire/utilities`](https://www.npmjs.com/package/@sapphire/utilities)
37
+ - [`discord.js`](https://www.npmjs.com/package/discord.js)
38
+
39
+ You can use the following command to install this package, or replace `npm install` with your package manager of choice.
40
+
41
+ ```sh
42
+ npm install @sapphire/plugin-pattern-commands @sapphire/framework @sapphire/utilities discord.js
43
+ ```
44
+
45
+ ---
46
+
47
+ ## Usage
48
+
49
+ - Paste this in your Bot.ts (or where you initiate your client)
50
+
51
+ ```typescript
52
+ import '@sapphire/plugin-pattern-commands/register';
53
+ ```
54
+
55
+ - Create a new `pattern-commands` directory under `/src`
56
+ - Make your first pattern command:
57
+
58
+ ```typescript
59
+ import type { Message } from 'discord.js';
60
+ import { PatternCommand } from '@sapphire/plugin-pattern-commands';
61
+ import { ApplyOptions } from '@sapphire/decorators';
62
+
63
+ @ApplyOptions<PatternCommand.Options>({
64
+ aliases: ['cat', 'postman'],
65
+ chance: 85
66
+ })
67
+ export class AwooCommand extends PatternCommand {
68
+ public messageRun(message: Message) {
69
+ message.reply('Woof!');
70
+ }
71
+ }
72
+ ```
73
+
74
+ In this example there's a 85% chance when your bot will bark at someone who says cat or postman.
75
+ The matcher is case-insensitive and can match at substrings as well (so in the example above the word catnip also can trigger your bot)
76
+ For aliases you can use regexp as well, but you have to encapsulate them as a string. For example:
77
+
78
+ ```typescript
79
+ @ApplyOptions<PatternCommand.Options>({
80
+ aliases: ['a{3,}'],
81
+ })
82
+ ```
83
+
84
+ ## Buy us some doughnuts
85
+
86
+ Sapphire Community is and always will be open source, even if we don't get donations. That being said, we know there are amazing people who may still want to donate just to show their appreciation. Thank you very much in advance!
87
+
88
+ We accept donations through Open Collective, Ko-fi, Paypal, Patreon and GitHub Sponsorships. You can use the buttons below to donate through your method of choice.
89
+
90
+ | Donate With | Address |
91
+ | :-------------: | :-------------------------------------------------: |
92
+ | Open Collective | [Click Here](https://sapphirejs.dev/opencollective) |
93
+ | Ko-fi | [Click Here](https://sapphirejs.dev/kofi) |
94
+ | Patreon | [Click Here](https://sapphirejs.dev/patreon) |
95
+ | PayPal | [Click Here](https://sapphirejs.dev/paypal) |
96
+
97
+ ## Contributors ✨
98
+
99
+ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
100
+
101
+ <!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
102
+ <!-- prettier-ignore-start -->
103
+ <!-- markdownlint-disable -->
104
+ <table>
105
+ <tr>
106
+ <td align="center"><a href="https://favware.tech/"><img src="https://avatars3.githubusercontent.com/u/4019718?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Jeroen Claassens</b></sub></a><br /><a href="https://github.com/sapphiredev/plugins/commits?author=Favna" title="Code">💻</a> <a href="#infra-Favna" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="#projectManagement-Favna" title="Project Management">📆</a></td>
107
+ <td align="center"><a href="https://quantumlytangled.com"><img src="https://avatars1.githubusercontent.com/u/7919610?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Nejc Drobnic</b></sub></a><br /><a href="https://github.com/sapphiredev/plugins/commits?author=QuantumlyTangled" title="Code">💻</a> <a href="https://github.com/sapphiredev/plugins/commits?author=QuantumlyTangled" title="Documentation">📖</a></td>
108
+ <td align="center"><a href="https://github.com/kyranet"><img src="https://avatars0.githubusercontent.com/u/24852502?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Antonio Román</b></sub></a><br /><a href="https://github.com/sapphiredev/plugins/commits?author=kyranet" title="Code">💻</a></td>
109
+ <td align="center"><a href="https://github.com/vladfrangu"><img src="https://avatars3.githubusercontent.com/u/17960496?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Vlad Frangu</b></sub></a><br /><a href="https://github.com/sapphiredev/plugins/pulls?q=is%3Apr+reviewed-by%3Avladfrangu" title="Reviewed Pull Requests">👀</a></td>
110
+ <td align="center"><a href="https://github.com/apps/depfu"><img src="https://avatars3.githubusercontent.com/in/715?v=4?s=100" width="100px;" alt=""/><br /><sub><b>depfu[bot]</b></sub></a><br /><a href="#maintenance-depfu[bot]" title="Maintenance">🚧</a></td>
111
+ <td align="center"><a href="https://github.com/apps/dependabot"><img src="https://avatars0.githubusercontent.com/in/29110?v=4?s=100" width="100px;" alt=""/><br /><sub><b>dependabot[bot]</b></sub></a><br /><a href="#maintenance-dependabot[bot]" title="Maintenance">🚧</a></td>
112
+ <td align="center"><a href="https://github.com/apps/allcontributors"><img src="https://avatars0.githubusercontent.com/in/23186?v=4?s=100" width="100px;" alt=""/><br /><sub><b>allcontributors[bot]</b></sub></a><br /><a href="https://github.com/sapphiredev/plugins/commits?author=allcontributors[bot]" title="Documentation">📖</a></td>
113
+ </tr>
114
+ <tr>
115
+ <td align="center"><a href="https://github.com/Nytelife26"><img src="https://avatars1.githubusercontent.com/u/22531310?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Tyler J Russell</b></sub></a><br /><a href="https://github.com/sapphiredev/plugins/commits?author=Nytelife26" title="Code">💻</a></td>
116
+ <td align="center"><a href="https://github.com/Stitch07"><img src="https://avatars.githubusercontent.com/u/29275227?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Stitch07</b></sub></a><br /><a href="https://github.com/sapphiredev/plugins/commits?author=Stitch07" title="Code">💻</a> <a href="https://github.com/sapphiredev/plugins/issues?q=author%3AStitch07" title="Bug reports">🐛</a></td>
117
+ </tr>
118
+ </table>
119
+
120
+ <!-- markdownlint-restore -->
121
+ <!-- prettier-ignore-end -->
122
+
123
+ <!-- ALL-CONTRIBUTORS-LIST:END -->
124
+
125
+ This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
@@ -0,0 +1,6 @@
1
+ export * from './lib/structures/PaternCommandStore';
2
+ export * from './lib/structures/PatternCommand';
3
+ export * from './lib/utils/PaternCommandEvents';
4
+ export * from './lib/utils/PatternCommandInterfaces';
5
+ export * as PatternCommandListeners from './listeners';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAC;AACpD,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,sCAAsC,CAAC;AACrD,OAAO,KAAK,uBAAuB,MAAM,aAAa,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PatternCommandListeners = void 0;
4
+ const tslib_1 = require("tslib");
5
+ (0, tslib_1.__exportStar)(require("./lib/structures/PaternCommandStore"), exports);
6
+ (0, tslib_1.__exportStar)(require("./lib/structures/PatternCommand"), exports);
7
+ (0, tslib_1.__exportStar)(require("./lib/utils/PaternCommandEvents"), exports);
8
+ (0, tslib_1.__exportStar)(require("./lib/utils/PatternCommandInterfaces"), exports);
9
+ exports.PatternCommandListeners = (0, tslib_1.__importStar)(require("./listeners"));
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAAA,mFAAoD;AACpD,+EAAgD;AAChD,+EAAgD;AAChD,oFAAqD;AACrD,oFAAuD"}
package/dist/index.mjs ADDED
@@ -0,0 +1,7 @@
1
+ import mod from "./index.js";
2
+
3
+ export default mod;
4
+ export const PatternCommand = mod.PatternCommand;
5
+ export const PatternCommandEvents = mod.PatternCommandEvents;
6
+ export const PatternCommandListeners = mod.PatternCommandListeners;
7
+ export const PatternCommandStore = mod.PatternCommandStore;
@@ -0,0 +1,6 @@
1
+ import { AliasStore } from '@sapphire/pieces';
2
+ import { PatternCommand } from './PatternCommand';
3
+ export declare class PatternCommandStore extends AliasStore<PatternCommand> {
4
+ constructor();
5
+ }
6
+ //# sourceMappingURL=PaternCommandStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaternCommandStore.d.ts","sourceRoot":"","sources":["../../../src/lib/structures/PaternCommandStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,qBAAa,mBAAoB,SAAQ,UAAU,CAAC,cAAc,CAAC;;CAIlE"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PatternCommandStore = void 0;
4
+ const pieces_1 = require("@sapphire/pieces");
5
+ const PatternCommand_1 = require("./PatternCommand");
6
+ class PatternCommandStore extends pieces_1.AliasStore {
7
+ constructor() {
8
+ super(PatternCommand_1.PatternCommand, { name: 'pattern-commands' });
9
+ }
10
+ }
11
+ exports.PatternCommandStore = PatternCommandStore;
12
+ //# sourceMappingURL=PaternCommandStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaternCommandStore.js","sourceRoot":"","sources":["../../../src/lib/structures/PaternCommandStore.ts"],"names":[],"mappings":";;;AAAA,6CAA8C;AAC9C,qDAAkD;AAElD,MAAa,mBAAoB,SAAQ,mBAA0B;IAClE;QACC,KAAK,CAAC,+BAAqB,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAC5D,CAAC;CACD;AAJD,kDAIC"}
@@ -0,0 +1,33 @@
1
+ import { Args, Command } from '@sapphire/framework';
2
+ import type { Awaitable, Message } from 'discord.js';
3
+ export declare abstract class PatternCommand extends Command<Args, PatternCommand.Options> {
4
+ readonly chance: number;
5
+ constructor(context: PatternCommand.Context, options: PatternCommand.Options);
6
+ /**
7
+ * Executes the pattern command's logic.
8
+ * @param message The message that triggered the pattern command.
9
+ */
10
+ abstract messageRun(message: Message): Awaitable<unknown>;
11
+ }
12
+ export interface PatternCommandOptions extends Command.Options {
13
+ /**
14
+ * The chance that the pattern command is triggered.
15
+ * @default 100
16
+ */
17
+ chance?: number;
18
+ }
19
+ export declare namespace PatternCommand {
20
+ /** Re-export of {@link Command.Context} */
21
+ type Context = Command.Context;
22
+ /** Re-export of {@link Command.RunContext} */
23
+ type RunContext = Command.RunContext;
24
+ /** Re-export of {@link Command.JSON} */
25
+ type JSON = Command.JSON;
26
+ /** Re-export of {@link Command.RunInTypes} */
27
+ type RunInTypes = Command.RunInTypes;
28
+ /**
29
+ * The PatternCommand Options
30
+ */
31
+ type Options = PatternCommandOptions;
32
+ }
33
+ //# sourceMappingURL=PatternCommand.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PatternCommand.d.ts","sourceRoot":"","sources":["../../../src/lib/structures/PatternCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErD,8BAAsB,cAAe,SAAQ,OAAO,CAAC,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC;IACjF,SAAgB,MAAM,EAAE,MAAM,CAAC;gBACZ,OAAO,EAAE,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,cAAc,CAAC,OAAO;IAKnF;;;OAGG;aACa,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;CAChE;AAED,MAAM,WAAW,qBAAsB,SAAQ,OAAO,CAAC,OAAO;IAC7D;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,yBAAiB,cAAc,CAAC;IAC/B,2CAA2C;IAC3C,KAAY,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAEtC,8CAA8C;IAC9C,KAAY,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAE5C,wCAAwC;IACxC,KAAY,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAEhC,8CAA8C;IAC9C,KAAY,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAE5C;;OAEG;IACH,KAAY,OAAO,GAAG,qBAAqB,CAAC;CAC5C"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PatternCommand = void 0;
4
+ const framework_1 = require("@sapphire/framework");
5
+ class PatternCommand extends framework_1.Command {
6
+ constructor(context, options) {
7
+ super(context, options);
8
+ Object.defineProperty(this, "chance", {
9
+ enumerable: true,
10
+ configurable: true,
11
+ writable: true,
12
+ value: void 0
13
+ });
14
+ this.chance = options.chance ?? 100;
15
+ }
16
+ }
17
+ exports.PatternCommand = PatternCommand;
18
+ //# sourceMappingURL=PatternCommand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PatternCommand.js","sourceRoot":"","sources":["../../../src/lib/structures/PatternCommand.ts"],"names":[],"mappings":";;;AAAA,mDAAoD;AAGpD,MAAsB,cAAe,SAAQ,mBAAqC;IAEjF,YAAmB,OAA+B,EAAE,OAA+B;QAClF,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAFzB;;;;;WAA+B;QAG9B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC;IACrC,CAAC;CAOD;AAZD,wCAYC"}
@@ -0,0 +1,9 @@
1
+ export declare enum PatternCommandEvents {
2
+ CommandNoLuck = "patternCommandNoLuck",
3
+ PreCommandRun = "patternCommandPreRun",
4
+ CommandAccepted = "patternCommandAccepted",
5
+ CommandDenied = "patternCommandDenied",
6
+ CommandRun = "patternCommandRun",
7
+ CommandSuccess = "patternCommandSuccess"
8
+ }
9
+ //# sourceMappingURL=PaternCommandEvents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaternCommandEvents.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/PaternCommandEvents.ts"],"names":[],"mappings":"AAAA,oBAAY,oBAAoB;IAC/B,aAAa,yBAAyB;IACtC,aAAa,yBAAyB;IACtC,eAAe,2BAA2B;IAC1C,aAAa,yBAAyB;IACtC,UAAU,sBAAsB;IAChC,cAAc,0BAA0B;CACxC"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PatternCommandEvents = void 0;
4
+ var PatternCommandEvents;
5
+ (function (PatternCommandEvents) {
6
+ PatternCommandEvents["CommandNoLuck"] = "patternCommandNoLuck";
7
+ PatternCommandEvents["PreCommandRun"] = "patternCommandPreRun";
8
+ PatternCommandEvents["CommandAccepted"] = "patternCommandAccepted";
9
+ PatternCommandEvents["CommandDenied"] = "patternCommandDenied";
10
+ PatternCommandEvents["CommandRun"] = "patternCommandRun";
11
+ PatternCommandEvents["CommandSuccess"] = "patternCommandSuccess";
12
+ })(PatternCommandEvents = exports.PatternCommandEvents || (exports.PatternCommandEvents = {}));
13
+ //# sourceMappingURL=PaternCommandEvents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaternCommandEvents.js","sourceRoot":"","sources":["../../../src/lib/utils/PaternCommandEvents.ts"],"names":[],"mappings":";;;AAAA,IAAY,oBAOX;AAPD,WAAY,oBAAoB;IAC/B,8DAAsC,CAAA;IACtC,8DAAsC,CAAA;IACtC,kEAA0C,CAAA;IAC1C,8DAAsC,CAAA;IACtC,wDAAgC,CAAA;IAChC,gEAAwC,CAAA;AACzC,CAAC,EAPW,oBAAoB,GAApB,4BAAoB,KAApB,4BAAoB,QAO/B"}
@@ -0,0 +1,21 @@
1
+ import type { Message } from 'discord.js';
2
+ import type { PatternCommand } from '../structures/PatternCommand';
3
+ export interface PatternCommandPayload {
4
+ /** The message that triggered this PatternCommand */
5
+ message: Message;
6
+ /** The command that is triggered by this PatternCommand */
7
+ command: PatternCommand;
8
+ /** The alias of this pattern command */
9
+ alias: string;
10
+ }
11
+ export interface PatternPreCommandRunPayload extends PatternCommandDeniedPayload {
12
+ }
13
+ export interface PatternCommandDeniedPayload extends PatternCommandPayload {
14
+ parameters: string;
15
+ context: PatternCommand.RunContext;
16
+ }
17
+ export interface PatternCommandAcceptedPayload extends PatternCommandPayload {
18
+ parameters: string;
19
+ context: PatternCommand.RunContext;
20
+ }
21
+ //# sourceMappingURL=PatternCommandInterfaces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PatternCommandInterfaces.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/PatternCommandInterfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAEnE,MAAM,WAAW,qBAAqB;IACrC,qDAAqD;IACrD,OAAO,EAAE,OAAO,CAAC;IACjB,2DAA2D;IAC3D,OAAO,EAAE,cAAc,CAAC;IACxB,wCAAwC;IACxC,KAAK,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,2BAA4B,SAAQ,2BAA2B;CAAG;AAEnF,MAAM,WAAW,2BAA4B,SAAQ,qBAAqB;IACzE,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,cAAc,CAAC,UAAU,CAAC;CACnC;AAED,MAAM,WAAW,6BAA8B,SAAQ,qBAAqB;IAC3E,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,cAAc,CAAC,UAAU,CAAC;CACnC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=PatternCommandInterfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PatternCommandInterfaces.js","sourceRoot":"","sources":["../../../src/lib/utils/PatternCommandInterfaces.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ import { Listener } from '@sapphire/framework';
2
+ import type { PieceContext } from '@sapphire/pieces';
3
+ import { PatternCommandEvents } from '../lib/utils/PaternCommandEvents';
4
+ import type { PatternCommandAcceptedPayload } from '../lib/utils/PatternCommandInterfaces';
5
+ export declare class CommandAcceptedListener extends Listener<typeof PatternCommandEvents.CommandAccepted> {
6
+ constructor(context: PieceContext);
7
+ run(payload: PatternCommandAcceptedPayload): Promise<void>;
8
+ }
9
+ //# sourceMappingURL=PluginCommandAccepted.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PluginCommandAccepted.d.ts","sourceRoot":"","sources":["../../src/listeners/PluginCommandAccepted.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAC;AAE3F,qBAAa,uBAAwB,SAAQ,QAAQ,CAAC,OAAO,oBAAoB,CAAC,eAAe,CAAC;gBAC9E,OAAO,EAAE,YAAY;IAI3B,GAAG,CAAC,OAAO,EAAE,6BAA6B;CAWvD"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CommandAcceptedListener = void 0;
4
+ const framework_1 = require("@sapphire/framework");
5
+ const PaternCommandEvents_1 = require("../lib/utils/PaternCommandEvents");
6
+ class CommandAcceptedListener extends framework_1.Listener {
7
+ constructor(context) {
8
+ super(context, { event: PaternCommandEvents_1.PatternCommandEvents.CommandAccepted });
9
+ }
10
+ async run(payload) {
11
+ const { message, command, alias } = payload;
12
+ if (command.chance > Math.round(Math.random() * 99) + 1) {
13
+ message.client.emit(PaternCommandEvents_1.PatternCommandEvents.CommandRun, message, command, alias);
14
+ const result = await command.messageRun(message);
15
+ message.client.emit(PaternCommandEvents_1.PatternCommandEvents.CommandSuccess, result, command, alias);
16
+ }
17
+ else {
18
+ message.client.emit(PaternCommandEvents_1.PatternCommandEvents.CommandNoLuck, message, command, alias);
19
+ }
20
+ }
21
+ }
22
+ exports.CommandAcceptedListener = CommandAcceptedListener;
23
+ //# sourceMappingURL=PluginCommandAccepted.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PluginCommandAccepted.js","sourceRoot":"","sources":["../../src/listeners/PluginCommandAccepted.ts"],"names":[],"mappings":";;;AAAA,mDAA+C;AAE/C,0EAAwE;AAGxE,MAAa,uBAAwB,SAAQ,oBAAqD;IACjG,YAAmB,OAAqB;QACvC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,0CAAoB,CAAC,eAAe,EAAE,CAAC,CAAC;IACjE,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,OAAsC;QACtD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;QAE5C,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE;YACxD,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,0CAAoB,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YAC9E,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YACjD,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,0CAAoB,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;SACjF;aAAM;YACN,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,0CAAoB,CAAC,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;SACjF;IACF,CAAC;CACD;AAhBD,0DAgBC"}
@@ -0,0 +1,10 @@
1
+ import { Events, Listener } from '@sapphire/framework';
2
+ import type { PieceContext } from '@sapphire/pieces';
3
+ import { Message } from 'discord.js';
4
+ export declare class MessageParseListener extends Listener<typeof Events.PreMessageParsed> {
5
+ private readonly requiredPermissions;
6
+ constructor(context: PieceContext);
7
+ run(message: Message): Promise<void>;
8
+ private canRunInChannel;
9
+ }
10
+ //# sourceMappingURL=PluginMessageParse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PluginMessageParse.d.ts","sourceRoot":"","sources":["../../src/listeners/PluginMessageParse.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAe,MAAM,YAAY,CAAC;AAIlD,qBAAa,oBAAqB,SAAQ,QAAQ,CAAC,OAAO,MAAM,CAAC,gBAAgB,CAAC;IACjF,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA+D;gBAChF,OAAO,EAAE,YAAY;IAI3B,GAAG,CAAC,OAAO,EAAE,OAAO;YAsDnB,eAAe;CAS7B"}
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MessageParseListener = void 0;
4
+ const discord_js_utilities_1 = require("@sapphire/discord.js-utilities");
5
+ const framework_1 = require("@sapphire/framework");
6
+ const discord_js_1 = require("discord.js");
7
+ const PaternCommandEvents_1 = require("../lib/utils/PaternCommandEvents");
8
+ class MessageParseListener extends framework_1.Listener {
9
+ constructor(context) {
10
+ super(context, { event: framework_1.Events.PreMessageParsed });
11
+ Object.defineProperty(this, "requiredPermissions", {
12
+ enumerable: true,
13
+ configurable: true,
14
+ writable: true,
15
+ value: new discord_js_1.Permissions(['VIEW_CHANNEL', 'SEND_MESSAGES']).freeze()
16
+ });
17
+ }
18
+ async run(message) {
19
+ const canRun = await this.canRunInChannel(message);
20
+ if (!canRun)
21
+ return;
22
+ let { content } = message;
23
+ const { client, stores } = this.container;
24
+ const patternCommandStore = stores.get('pattern-commands');
25
+ if (!patternCommandStore) {
26
+ return;
27
+ }
28
+ if (client.options.caseInsensitiveCommands) {
29
+ content = content.toLowerCase();
30
+ }
31
+ let usedAlias;
32
+ const command = patternCommandStore.find((patternCommand, key) => {
33
+ if (content === key) {
34
+ usedAlias = key;
35
+ return true;
36
+ }
37
+ const aliasMatch = patternCommand.aliases.find((alias) => alias === content);
38
+ if (aliasMatch) {
39
+ usedAlias = aliasMatch;
40
+ return true;
41
+ }
42
+ if (content.match(new RegExp(key, client.options.caseInsensitiveCommands ? 'i' : undefined))) {
43
+ usedAlias = content;
44
+ return true;
45
+ }
46
+ const aliasRegexMatch = patternCommand.aliases.find((alias) => content.match(new RegExp(alias, client.options.caseInsensitiveCommands ? 'i' : undefined)));
47
+ if (aliasRegexMatch) {
48
+ usedAlias = aliasRegexMatch;
49
+ return true;
50
+ }
51
+ return false;
52
+ });
53
+ if (command && usedAlias !== undefined) {
54
+ client.emit(PaternCommandEvents_1.PatternCommandEvents.PreCommandRun, { message, command, alias: usedAlias });
55
+ }
56
+ }
57
+ async canRunInChannel(message) {
58
+ if ((0, discord_js_utilities_1.isDMChannel)(message.channel))
59
+ return true;
60
+ const me = message.guild.me ?? (message.client.id ? await message.guild.members.fetch(message.client.id) : null);
61
+ if (!me)
62
+ return false;
63
+ const channel = message.channel;
64
+ return channel.permissionsFor(me).has(this.requiredPermissions, false);
65
+ }
66
+ }
67
+ exports.MessageParseListener = MessageParseListener;
68
+ //# sourceMappingURL=PluginMessageParse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PluginMessageParse.js","sourceRoot":"","sources":["../../src/listeners/PluginMessageParse.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { Listener } from '@sapphire/framework';
2
+ import type { PieceContext } from '@sapphire/pieces';
3
+ import { PatternCommandEvents } from '../lib/utils/PaternCommandEvents';
4
+ import type { PatternPreCommandRunPayload } from '../lib/utils/PatternCommandInterfaces';
5
+ export declare class PreCommandRunListener extends Listener<typeof PatternCommandEvents.PreCommandRun> {
6
+ constructor(context: PieceContext);
7
+ run(payload: PatternPreCommandRunPayload): Promise<void>;
8
+ }
9
+ //# sourceMappingURL=PluginPreCommandRun.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PluginPreCommandRun.d.ts","sourceRoot":"","sources":["../../src/listeners/PluginPreCommandRun.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,uCAAuC,CAAC;AAEzF,qBAAa,qBAAsB,SAAQ,QAAQ,CAAC,OAAO,oBAAoB,CAAC,aAAa,CAAC;gBAC1E,OAAO,EAAE,YAAY;IAI3B,GAAG,CAAC,OAAO,EAAE,2BAA2B;CAmBrD"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PreCommandRunListener = void 0;
4
+ const framework_1 = require("@sapphire/framework");
5
+ const PaternCommandEvents_1 = require("../lib/utils/PaternCommandEvents");
6
+ class PreCommandRunListener extends framework_1.Listener {
7
+ constructor(context) {
8
+ super(context, { event: PaternCommandEvents_1.PatternCommandEvents.PreCommandRun });
9
+ }
10
+ async run(payload) {
11
+ const { message, command } = payload;
12
+ // Run global preconditions:
13
+ const globalResult = await this.container.stores.get('preconditions').run(message, command, payload);
14
+ if (!globalResult.success) {
15
+ message.client.emit(PaternCommandEvents_1.PatternCommandEvents.CommandDenied, globalResult.error, payload);
16
+ return;
17
+ }
18
+ // Run command-specific preconditions:
19
+ const localResult = await command.preconditions.run(message, command, payload);
20
+ if (!localResult.success) {
21
+ message.client.emit(PaternCommandEvents_1.PatternCommandEvents.CommandDenied, localResult.error, payload);
22
+ return;
23
+ }
24
+ message.client.emit(PaternCommandEvents_1.PatternCommandEvents.CommandAccepted, payload);
25
+ }
26
+ }
27
+ exports.PreCommandRunListener = PreCommandRunListener;
28
+ //# sourceMappingURL=PluginPreCommandRun.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PluginPreCommandRun.js","sourceRoot":"","sources":["../../src/listeners/PluginPreCommandRun.ts"],"names":[],"mappings":";;;AAAA,mDAA+C;AAE/C,0EAAwE;AAGxE,MAAa,qBAAsB,SAAQ,oBAAmD;IAC7F,YAAmB,OAAqB;QACvC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,0CAAoB,CAAC,aAAa,EAAE,CAAC,CAAC;IAC/D,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,OAAoC;QACpD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QAErC,4BAA4B;QAC5B,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAc,CAAC,CAAC;QAC5G,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;YAC1B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,0CAAoB,CAAC,aAAa,EAAE,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACrF,OAAO;SACP;QAED,sCAAsC;QACtC,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAc,CAAC,CAAC;QACtF,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;YACzB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,0CAAoB,CAAC,aAAa,EAAE,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACpF,OAAO;SACP;QAED,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,0CAAoB,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IACpE,CAAC;CACD;AAxBD,sDAwBC"}
@@ -0,0 +1,4 @@
1
+ export { CommandAcceptedListener as PluginPatternCommandsCommandAcceptedListener } from './PluginCommandAccepted';
2
+ export { MessageParseListener as PluginPatternCommandsMessageParseListener } from './PluginMessageParse';
3
+ export { PreCommandRunListener as PluginPatternCommandsPreCommandRunListener } from './PluginPreCommandRun';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/listeners/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,IAAI,4CAA4C,EAAE,MAAM,yBAAyB,CAAC;AAClH,OAAO,EAAE,oBAAoB,IAAI,yCAAyC,EAAE,MAAM,sBAAsB,CAAC;AACzG,OAAO,EAAE,qBAAqB,IAAI,0CAA0C,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PluginPatternCommandsPreCommandRunListener = exports.PluginPatternCommandsMessageParseListener = exports.PluginPatternCommandsCommandAcceptedListener = void 0;
4
+ var PluginCommandAccepted_1 = require("./PluginCommandAccepted");
5
+ Object.defineProperty(exports, "PluginPatternCommandsCommandAcceptedListener", { enumerable: true, get: function () { return PluginCommandAccepted_1.CommandAcceptedListener; } });
6
+ var PluginMessageParse_1 = require("./PluginMessageParse");
7
+ Object.defineProperty(exports, "PluginPatternCommandsMessageParseListener", { enumerable: true, get: function () { return PluginMessageParse_1.MessageParseListener; } });
8
+ var PluginPreCommandRun_1 = require("./PluginPreCommandRun");
9
+ Object.defineProperty(exports, "PluginPatternCommandsPreCommandRunListener", { enumerable: true, get: function () { return PluginPreCommandRun_1.PreCommandRunListener; } });
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/listeners/index.ts"],"names":[],"mappings":";;;AAAA,iEAAkH;AAAzG,qJAAA,uBAAuB,OAAgD;AAChF,2DAAyG;AAAhG,+IAAA,oBAAoB,OAA6C;AAC1E,6DAA4G;AAAnG,iJAAA,qBAAqB,OAA8C"}
@@ -0,0 +1,12 @@
1
+ import { Plugin, postInitialization, SapphireClient } from '@sapphire/framework';
2
+ import type { ClientOptions } from 'discord.js';
3
+ /**
4
+ * @since 1.0.0
5
+ */
6
+ export declare class PatternCommandPlugin extends Plugin {
7
+ /**
8
+ * @since 1.0.0
9
+ */
10
+ static [postInitialization](this: SapphireClient, _options: ClientOptions): void;
11
+ }
12
+ //# sourceMappingURL=register.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACjF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAIhD;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,MAAM;IAC/C;;OAEG;WACW,CAAC,kBAAkB,CAAC,CAAC,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI;CAIvF"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PatternCommandPlugin = void 0;
4
+ const framework_1 = require("@sapphire/framework");
5
+ const path_1 = require("path");
6
+ const PaternCommandStore_1 = require("./lib/structures/PaternCommandStore");
7
+ /**
8
+ * @since 1.0.0
9
+ */
10
+ class PatternCommandPlugin extends framework_1.Plugin {
11
+ /**
12
+ * @since 1.0.0
13
+ */
14
+ static [framework_1.postInitialization](_options) {
15
+ this.stores.register(new PaternCommandStore_1.PatternCommandStore().registerPath((0, path_1.join)(__dirname, PaternCommandStore_1.PatternCommandStore.name)));
16
+ this.stores.get('listeners').registerPath((0, path_1.join)(__dirname, 'listeners'));
17
+ }
18
+ }
19
+ exports.PatternCommandPlugin = PatternCommandPlugin;
20
+ framework_1.SapphireClient.plugins.registerPostInitializationHook(PatternCommandPlugin[framework_1.postInitialization], 'Pattern-Command-PostInitialization');
21
+ //# sourceMappingURL=register.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register.js","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":";;;AAAA,mDAAiF;AAEjF,+BAA4B;AAC5B,4EAA0E;AAE1E;;GAEG;AACH,MAAa,oBAAqB,SAAQ,kBAAM;IAC/C;;OAEG;IACI,MAAM,CAAC,CAAC,8BAAkB,CAAC,CAAuB,QAAuB;QAC/E,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,wCAAmB,EAAE,CAAC,YAAY,CAAC,IAAA,WAAI,EAAC,SAAS,EAAE,wCAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,IAAA,WAAI,EAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;IACzE,CAAC;CACD;AARD,oDAQC;AAED,0BAAc,CAAC,OAAO,CAAC,8BAA8B,CAAC,oBAAoB,CAAC,8BAAkB,CAAC,EAAE,oCAAoC,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import mod from "./register.js";
2
+
3
+ export default mod;
4
+ export const PatternCommandPlugin = mod.PatternCommandPlugin;
package/package.json ADDED
@@ -0,0 +1,69 @@
1
+ {
2
+ "name": "@sapphire/plugin-pattern-commands",
3
+ "version": "0.1.0-next.0db56ac.0",
4
+ "description": "Plugin for @sapphire/framework that adds support for pattern commands.",
5
+ "author": "@sapphire",
6
+ "license": "MIT",
7
+ "main": "dist/index.js",
8
+ "module": "dist/index.mjs",
9
+ "types": "dist/index.d.ts",
10
+ "typedocMain": "src/index.ts",
11
+ "exports": {
12
+ ".": {
13
+ "import": "./dist/index.mjs",
14
+ "require": "./dist/index.js"
15
+ },
16
+ "./register": {
17
+ "import": "./register.mjs",
18
+ "require": "./register.js"
19
+ }
20
+ },
21
+ "sideEffects": [
22
+ "./dist/register.js",
23
+ "./register.js",
24
+ "./register.mjs"
25
+ ],
26
+ "homepage": "https://github.com/sapphiredev/plugins/tree/main/packages/pattern-commands",
27
+ "scripts": {
28
+ "lint": "eslint src --ext ts --fix",
29
+ "build": "tsc -b src && yarn esm:register && yarn esm:default",
30
+ "esm:register": "gen-esm-wrapper dist/register.js dist/register.mjs",
31
+ "esm:default": "gen-esm-wrapper dist/index.js dist/index.mjs",
32
+ "prepublishOnly": "yarn build"
33
+ },
34
+ "dependencies": {
35
+ "tslib": "^2.3.1"
36
+ },
37
+ "repository": {
38
+ "type": "git",
39
+ "url": "git+https://github.com/sapphiredev/plugins.git",
40
+ "directory": "packages/pattern-commands"
41
+ },
42
+ "files": [
43
+ "dist",
44
+ "!dist/*.tsbuildinfo",
45
+ "register.*"
46
+ ],
47
+ "engines": {
48
+ "node": ">=v14.0.0",
49
+ "npm": ">=7.0.0"
50
+ },
51
+ "keywords": [
52
+ "sapphiredev",
53
+ "plugin",
54
+ "bot",
55
+ "typescript",
56
+ "ts",
57
+ "yarn",
58
+ "discord",
59
+ "sapphire",
60
+ "pattern-commands"
61
+ ],
62
+ "bugs": {
63
+ "url": "https://github.com/sapphiredev/plugins/issues"
64
+ },
65
+ "publishConfig": {
66
+ "access": "public"
67
+ },
68
+ "gitHead": "0db56ac5391b6959ff6f2627623ae8ae6eef2541"
69
+ }
package/register.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from './dist/register';
package/register.js ADDED
@@ -0,0 +1,4 @@
1
+ /* eslint-disable @typescript-eslint/no-var-requires */
2
+ const tslib = require('tslib');
3
+
4
+ tslib.__exportStar(require('./dist/register.js'), exports);
package/register.mjs ADDED
@@ -0,0 +1 @@
1
+ export * from './dist/register.mjs';