@sapphire/plugin-pattern-commands 4.0.2-next.f820e12.0 → 4.1.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.
- package/CHANGELOG.md +10 -0
- package/dist/lib/structures/PatternCommand.d.ts +6 -0
- package/dist/lib/structures/PatternCommand.d.ts.map +1 -1
- package/dist/lib/structures/PatternCommand.js +20 -0
- package/dist/lib/structures/PatternCommand.js.map +1 -1
- package/dist/lib/utils/PatternCommandInterfaces.d.ts +11 -0
- package/dist/lib/utils/PatternCommandInterfaces.d.ts.map +1 -1
- package/dist/listeners/PluginCommandAccepted.d.ts +0 -1
- package/dist/listeners/PluginCommandAccepted.d.ts.map +1 -1
- package/dist/listeners/PluginCommandAccepted.js +0 -9
- package/dist/listeners/PluginCommandAccepted.js.map +1 -1
- package/dist/listeners/PluginMessageParse.d.ts.map +1 -1
- package/dist/listeners/PluginMessageParse.js +32 -14
- package/dist/listeners/PluginMessageParse.js.map +1 -1
- package/dist/listeners/PluginPreCommandRun.d.ts +2 -2
- package/dist/listeners/PluginPreCommandRun.d.ts.map +1 -1
- package/dist/listeners/PluginPreCommandRun.js +27 -13
- package/dist/listeners/PluginPreCommandRun.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
|
|
5
|
+
# [@sapphire/plugin-pattern-commands@4.1.0](https://github.com/sapphiredev/plugins/compare/@sapphire/plugin-pattern-commands@4.0.1...@sapphire/plugin-pattern-commands@4.1.0) - (2022-11-19)
|
|
6
|
+
|
|
7
|
+
## 🐛 Bug Fixes
|
|
8
|
+
|
|
9
|
+
- **deps:** Update all non-major dependencies (#387) ([e31f714](https://github.com/sapphiredev/plugins/commit/e31f7140c8bb7c34086540912eb595dd04adaef5))
|
|
10
|
+
|
|
11
|
+
## 🚀 Features
|
|
12
|
+
|
|
13
|
+
- **plugin-patterncommands:** Add command weight and allow to run another patternCommand if one was caught by a precondition (#389) ([a0c72f4](https://github.com/sapphiredev/plugins/commit/a0c72f48ea532fa423030c6288a17df6f289edcc))
|
|
14
|
+
|
|
5
15
|
# [@sapphire/plugin-pattern-commands@4.0.1](https://github.com/sapphiredev/plugins/compare/@sapphire/plugin-pattern-commands@4.0.0...@sapphire/plugin-pattern-commands@4.0.1) - (2022-10-24)
|
|
6
16
|
|
|
7
17
|
## 📝 Documentation
|
|
@@ -2,6 +2,7 @@ import { Args, Command, MessageCommand } from '@sapphire/framework';
|
|
|
2
2
|
import type { Awaitable, Message } from 'discord.js';
|
|
3
3
|
export declare abstract class PatternCommand extends Command<Args, PatternCommand.Options> {
|
|
4
4
|
readonly chance: number;
|
|
5
|
+
readonly weight: number;
|
|
5
6
|
readonly matchFullName: boolean;
|
|
6
7
|
constructor(context: PatternCommand.Context, options: PatternCommand.Options);
|
|
7
8
|
/**
|
|
@@ -16,6 +17,11 @@ export interface PatternCommandOptions extends MessageCommand.Options {
|
|
|
16
17
|
* @default 100
|
|
17
18
|
*/
|
|
18
19
|
chance?: number;
|
|
20
|
+
/**
|
|
21
|
+
* The matching weight of the command.
|
|
22
|
+
* @default 5
|
|
23
|
+
*/
|
|
24
|
+
weight?: number;
|
|
19
25
|
/**
|
|
20
26
|
* If true it will only trigger on full matches (for example, explore won't trigger lore)
|
|
21
27
|
* Note: It will only change the behavior of the command's name and not for the command's aliasses
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PatternCommand.d.ts","sourceRoot":"","sources":["../../../src/lib/structures/PatternCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACpE,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;IAC/B,SAAgB,aAAa,EAAE,OAAO,CAAC;gBACpB,OAAO,EAAE,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,cAAc,CAAC,OAAO;
|
|
1
|
+
{"version":3,"file":"PatternCommand.d.ts","sourceRoot":"","sources":["../../../src/lib/structures/PatternCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACpE,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;IAC/B,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,aAAa,EAAE,OAAO,CAAC;gBACpB,OAAO,EAAE,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,cAAc,CAAC,OAAO;IAiBnF;;;OAGG;aACa,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;CAChE;AAED,MAAM,WAAW,qBAAsB,SAAQ,cAAc,CAAC,OAAO;IACpE;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,yBAAiB,cAAc,CAAC;IAC/B,kDAAkD;IAClD,KAAY,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC;IAE7C,qDAAqD;IACrD,KAAY,UAAU,GAAG,cAAc,CAAC,UAAU,CAAC;IAEnD,+CAA+C;IAC/C,KAAY,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC;IAEvC,qDAAqD;IACrD,KAAY,UAAU,GAAG,cAAc,CAAC,UAAU,CAAC;IAEnD;;OAEG;IACH,KAAY,OAAO,GAAG,qBAAqB,CAAC;CAC5C"}
|
|
@@ -11,6 +11,12 @@ class PatternCommand extends framework_1.Command {
|
|
|
11
11
|
writable: true,
|
|
12
12
|
value: void 0
|
|
13
13
|
});
|
|
14
|
+
Object.defineProperty(this, "weight", {
|
|
15
|
+
enumerable: true,
|
|
16
|
+
configurable: true,
|
|
17
|
+
writable: true,
|
|
18
|
+
value: void 0
|
|
19
|
+
});
|
|
14
20
|
Object.defineProperty(this, "matchFullName", {
|
|
15
21
|
enumerable: true,
|
|
16
22
|
configurable: true,
|
|
@@ -18,6 +24,20 @@ class PatternCommand extends framework_1.Command {
|
|
|
18
24
|
value: void 0
|
|
19
25
|
});
|
|
20
26
|
this.chance = options.chance ?? 100;
|
|
27
|
+
if (options.weight) {
|
|
28
|
+
if (options.weight < 0) {
|
|
29
|
+
this.weight = 0;
|
|
30
|
+
}
|
|
31
|
+
else if (options.weight > 10) {
|
|
32
|
+
this.weight = 10;
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
this.weight = options.weight;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
this.weight = 5;
|
|
40
|
+
}
|
|
21
41
|
this.matchFullName = options.matchFullName ?? false;
|
|
22
42
|
}
|
|
23
43
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PatternCommand.js","sourceRoot":"","sources":["../../../src/lib/structures/PatternCommand.ts"],"names":[],"mappings":";;;AAAA,mDAAoE;AAGpE,MAAsB,cAAe,SAAQ,mBAAqC;
|
|
1
|
+
{"version":3,"file":"PatternCommand.js","sourceRoot":"","sources":["../../../src/lib/structures/PatternCommand.ts"],"names":[],"mappings":";;;AAAA,mDAAoE;AAGpE,MAAsB,cAAe,SAAQ,mBAAqC;IAIjF,YAAmB,OAA+B,EAAE,OAA+B;QAClF,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAJzB;;;;;WAA+B;QAC/B;;;;;WAA+B;QAC/B;;;;;WAAuC;QAGtC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC;QACpC,IAAI,OAAO,CAAC,MAAM,EAAE;YACnB,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;aAChB;iBAAM,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE,EAAE;gBAC/B,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;aACjB;iBAAM;gBACN,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;aAC7B;SACD;aAAM;YACN,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;SAChB;QACD,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,KAAK,CAAC;IACrD,CAAC;CAOD;AA1BD,wCA0BC"}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import type { Message } from 'discord.js';
|
|
2
2
|
import type { PatternCommand } from '../structures/PatternCommand';
|
|
3
|
+
export interface PatternCommandPrePayload {
|
|
4
|
+
message: Message;
|
|
5
|
+
possibleCommands: PossiblePatternCommand[];
|
|
6
|
+
}
|
|
3
7
|
export interface PatternCommandPayload {
|
|
4
8
|
/** The message that triggered this PatternCommand */
|
|
5
9
|
message: Message;
|
|
@@ -27,4 +31,11 @@ export interface PatternCommandFinishedPayload extends PatternCommandAcceptedPay
|
|
|
27
31
|
}
|
|
28
32
|
export interface PatternCommandErrorPayload extends PatternCommandFinishedPayload {
|
|
29
33
|
}
|
|
34
|
+
export interface PatternCommandNoLuckPayload extends PatternCommandAcceptedPayload {
|
|
35
|
+
}
|
|
36
|
+
export interface PossiblePatternCommand {
|
|
37
|
+
command: PatternCommand;
|
|
38
|
+
alias: string;
|
|
39
|
+
weight: number;
|
|
40
|
+
}
|
|
30
41
|
//# sourceMappingURL=PatternCommandInterfaces.d.ts.map
|
|
@@ -1 +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;AAED,MAAM,WAAW,4BAA6B,SAAQ,6BAA6B;IAClF,MAAM,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,6BAA8B,SAAQ,6BAA6B;IACnF,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,0BAA2B,SAAQ,6BAA6B;CAAG"}
|
|
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,wBAAwB;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,EAAE,sBAAsB,EAAE,CAAC;CAC3C;AAED,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;AAED,MAAM,WAAW,4BAA6B,SAAQ,6BAA6B;IAClF,MAAM,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,6BAA8B,SAAQ,6BAA6B;IACnF,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,0BAA2B,SAAQ,6BAA6B;CAAG;AAEpF,MAAM,WAAW,2BAA4B,SAAQ,6BAA6B;CAAG;AAErF,MAAM,WAAW,sBAAsB;IACtC,OAAO,EAAE,cAAc,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CACf"}
|
|
@@ -5,6 +5,5 @@ import type { PatternCommandAcceptedPayload } from '../lib/utils/PatternCommandI
|
|
|
5
5
|
export declare class CommandAcceptedListener extends Listener<typeof PatternCommandEvents.CommandAccepted> {
|
|
6
6
|
constructor(context: PieceContext);
|
|
7
7
|
run(payload: PatternCommandAcceptedPayload): Promise<void>;
|
|
8
|
-
runPatternCommand(payload: PatternCommandAcceptedPayload): Promise<void>;
|
|
9
8
|
}
|
|
10
9
|
//# sourceMappingURL=PluginCommandAccepted.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PluginCommandAccepted.d.ts","sourceRoot":"","sources":["../../src/listeners/PluginCommandAccepted.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,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;
|
|
1
|
+
{"version":3,"file":"PluginCommandAccepted.d.ts","sourceRoot":"","sources":["../../src/listeners/PluginCommandAccepted.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,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;CAuBvD"}
|
|
@@ -9,15 +9,6 @@ class CommandAcceptedListener extends framework_1.Listener {
|
|
|
9
9
|
super(context, { event: PaternCommandEvents_1.PatternCommandEvents.CommandAccepted });
|
|
10
10
|
}
|
|
11
11
|
async run(payload) {
|
|
12
|
-
const { message, command, alias } = payload;
|
|
13
|
-
if (command.chance >= Math.round(Math.random() * 99) + 1) {
|
|
14
|
-
await this.runPatternCommand(payload);
|
|
15
|
-
}
|
|
16
|
-
else {
|
|
17
|
-
message.client.emit(PaternCommandEvents_1.PatternCommandEvents.CommandNoLuck, message, command, alias);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
async runPatternCommand(payload) {
|
|
21
12
|
const { message, command } = payload;
|
|
22
13
|
const result = await framework_1.Result.fromAsync(async () => {
|
|
23
14
|
message.client.emit(PaternCommandEvents_1.PatternCommandEvents.CommandRun, message, command, payload);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PluginCommandAccepted.js","sourceRoot":"","sources":["../../src/listeners/PluginCommandAccepted.ts"],"names":[],"mappings":";;;AAAA,mDAAuD;AAEvD,mDAAgD;AAChD,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,
|
|
1
|
+
{"version":3,"file":"PluginCommandAccepted.js","sourceRoot":"","sources":["../../src/listeners/PluginCommandAccepted.ts"],"names":[],"mappings":";;;AAAA,mDAAuD;AAEvD,mDAAgD;AAChD,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,GAAG,OAAO,CAAC;QAErC,MAAM,MAAM,GAAG,MAAM,kBAAM,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE;YAChD,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,0CAAoB,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAEhF,MAAM,SAAS,GAAG,IAAI,qBAAS,EAAE,CAAC;YAClC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YACjD,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;YAEtC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,0CAAoB,CAAC,cAAc,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;YAE3F,OAAO,QAAQ,CAAC;QACjB,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,0CAAoB,CAAC,YAAY,EAAE,KAAK,EAAE,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAE1H,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,0CAAoB,CAAC,eAAe,EAAE,OAAO,EAAE,OAAO,EAAE;YAC3E,GAAG,OAAO;YACV,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE;YACtB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;SAC7B,CAAC,CAAC;IACJ,CAAC;CACD;AA5BD,0DA4BC"}
|
|
@@ -1 +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;
|
|
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;AAKlD,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;YA0EnB,eAAe;CAS7B"}
|
|
@@ -28,30 +28,48 @@ class MessageParseListener extends framework_1.Listener {
|
|
|
28
28
|
if (client.options.caseInsensitiveCommands) {
|
|
29
29
|
content = content.toLowerCase();
|
|
30
30
|
}
|
|
31
|
-
|
|
32
|
-
const
|
|
31
|
+
const possiblePatternCommands = [];
|
|
32
|
+
for (const [key, patternCommand] of patternCommandStore) {
|
|
33
33
|
if (content === key) {
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
possiblePatternCommands.push({
|
|
35
|
+
command: patternCommand,
|
|
36
|
+
alias: key,
|
|
37
|
+
weight: patternCommand.weight
|
|
38
|
+
});
|
|
39
|
+
continue;
|
|
36
40
|
}
|
|
37
41
|
const aliasMatch = patternCommand.aliases.find((alias) => alias === content);
|
|
38
42
|
if (aliasMatch) {
|
|
39
|
-
|
|
40
|
-
|
|
43
|
+
possiblePatternCommands.push({
|
|
44
|
+
command: patternCommand,
|
|
45
|
+
alias: aliasMatch,
|
|
46
|
+
weight: patternCommand.weight
|
|
47
|
+
});
|
|
48
|
+
continue;
|
|
41
49
|
}
|
|
42
50
|
if (content.match(new RegExp(patternCommand.matchFullName ? `\b${key}\b` : key, client.options.caseInsensitiveCommands ? 'i' : undefined))) {
|
|
43
|
-
|
|
44
|
-
|
|
51
|
+
possiblePatternCommands.push({
|
|
52
|
+
command: patternCommand,
|
|
53
|
+
alias: content,
|
|
54
|
+
weight: patternCommand.weight
|
|
55
|
+
});
|
|
56
|
+
continue;
|
|
45
57
|
}
|
|
46
58
|
const aliasRegexMatch = patternCommand.aliases.find((alias) => content.match(new RegExp(alias, client.options.caseInsensitiveCommands ? 'i' : undefined)));
|
|
47
59
|
if (aliasRegexMatch) {
|
|
48
|
-
|
|
49
|
-
|
|
60
|
+
possiblePatternCommands.push({
|
|
61
|
+
command: patternCommand,
|
|
62
|
+
alias: aliasRegexMatch,
|
|
63
|
+
weight: patternCommand.weight
|
|
64
|
+
});
|
|
65
|
+
continue;
|
|
50
66
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
67
|
+
}
|
|
68
|
+
if (possiblePatternCommands.length > 0) {
|
|
69
|
+
const sortedPossiblePatternCommands = possiblePatternCommands.sort((first, second) => {
|
|
70
|
+
return second.weight - first.weight;
|
|
71
|
+
});
|
|
72
|
+
client.emit(PaternCommandEvents_1.PatternCommandEvents.PreCommandRun, { message, possibleCommands: sortedPossiblePatternCommands });
|
|
55
73
|
}
|
|
56
74
|
}
|
|
57
75
|
async canRunInChannel(message) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PluginMessageParse.js","sourceRoot":"","sources":["../../src/listeners/PluginMessageParse.ts"],"names":[],"mappings":";;;AAAA,yEAAqF;AACrF,mDAAuD;AAEvD,2CAAkD;AAElD,0EAAwE;
|
|
1
|
+
{"version":3,"file":"PluginMessageParse.js","sourceRoot":"","sources":["../../src/listeners/PluginMessageParse.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Listener } from '@sapphire/framework';
|
|
2
2
|
import type { PieceContext } from '@sapphire/pieces';
|
|
3
3
|
import { PatternCommandEvents } from '../lib/utils/PaternCommandEvents';
|
|
4
|
-
import type {
|
|
4
|
+
import type { PatternCommandPrePayload } from '../lib/utils/PatternCommandInterfaces';
|
|
5
5
|
export declare class PreCommandRunListener extends Listener<typeof PatternCommandEvents.PreCommandRun> {
|
|
6
6
|
constructor(context: PieceContext);
|
|
7
|
-
run(payload:
|
|
7
|
+
run(payload: PatternCommandPrePayload): Promise<void>;
|
|
8
8
|
}
|
|
9
9
|
//# sourceMappingURL=PluginPreCommandRun.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PluginPreCommandRun.d.ts","sourceRoot":"","sources":["../../src/listeners/PluginPreCommandRun.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAA0B,MAAM,qBAAqB,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"PluginPreCommandRun.d.ts","sourceRoot":"","sources":["../../src/listeners/PluginPreCommandRun.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAA0B,MAAM,qBAAqB,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,KAAK,EAAyB,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AAE7G,qBAAa,qBAAsB,SAAQ,QAAQ,CAAC,OAAO,oBAAoB,CAAC,aAAa,CAAC;gBAC1E,OAAO,EAAE,YAAY;IAI3B,GAAG,CAAC,OAAO,EAAE,wBAAwB;CAsClD"}
|
|
@@ -8,20 +8,34 @@ class PreCommandRunListener extends framework_1.Listener {
|
|
|
8
8
|
super(context, { event: PaternCommandEvents_1.PatternCommandEvents.PreCommandRun });
|
|
9
9
|
}
|
|
10
10
|
async run(payload) {
|
|
11
|
-
const { message,
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
11
|
+
const { message, possibleCommands } = payload;
|
|
12
|
+
for (const possibleCommand of possibleCommands) {
|
|
13
|
+
const { command } = possibleCommand;
|
|
14
|
+
const commandPayload = {
|
|
15
|
+
message,
|
|
16
|
+
command,
|
|
17
|
+
alias: possibleCommand.alias
|
|
18
|
+
};
|
|
19
|
+
// Run global preconditions:
|
|
20
|
+
const globalResult = await this.container.stores.get('preconditions').messageRun(message, command, commandPayload);
|
|
21
|
+
if (globalResult.isErr()) {
|
|
22
|
+
message.client.emit(PaternCommandEvents_1.PatternCommandEvents.CommandDenied, globalResult.unwrapErr(), commandPayload);
|
|
23
|
+
continue;
|
|
24
|
+
}
|
|
25
|
+
// Run command-specific preconditions:
|
|
26
|
+
const localResult = await command.preconditions.messageRun(message, command, payload);
|
|
27
|
+
if (localResult.isErr()) {
|
|
28
|
+
message.client.emit(PaternCommandEvents_1.PatternCommandEvents.CommandDenied, localResult.unwrapErr(), commandPayload);
|
|
29
|
+
continue;
|
|
30
|
+
}
|
|
31
|
+
if (command.chance >= Math.round(Math.random() * 99) + 1) {
|
|
32
|
+
message.client.emit(PaternCommandEvents_1.PatternCommandEvents.CommandAccepted, commandPayload);
|
|
33
|
+
break;
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
message.client.emit(PaternCommandEvents_1.PatternCommandEvents.CommandNoLuck, commandPayload);
|
|
37
|
+
}
|
|
17
38
|
}
|
|
18
|
-
// Run command-specific preconditions:
|
|
19
|
-
const localResult = await command.preconditions.messageRun(message, command, payload);
|
|
20
|
-
if (localResult.isErr()) {
|
|
21
|
-
message.client.emit(PaternCommandEvents_1.PatternCommandEvents.CommandDenied, localResult.unwrapErr(), payload);
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
24
|
-
message.client.emit(PaternCommandEvents_1.PatternCommandEvents.CommandAccepted, payload);
|
|
25
39
|
}
|
|
26
40
|
}
|
|
27
41
|
exports.PreCommandRunListener = PreCommandRunListener;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PluginPreCommandRun.js","sourceRoot":"","sources":["../../src/listeners/PluginPreCommandRun.ts"],"names":[],"mappings":";;;AAAA,mDAAuE;AAEvE,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,
|
|
1
|
+
{"version":3,"file":"PluginPreCommandRun.js","sourceRoot":"","sources":["../../src/listeners/PluginPreCommandRun.ts"],"names":[],"mappings":";;;AAAA,mDAAuE;AAEvE,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,OAAiC;QACjD,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC;QAE9C,KAAK,MAAM,eAAe,IAAI,gBAAgB,EAAE;YAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,eAAe,CAAC;YACpC,MAAM,cAAc,GAA0B;gBAC7C,OAAO;gBACP,OAAO;gBACP,KAAK,EAAE,eAAe,CAAC,KAAK;aAC5B,CAAC;YAEF,4BAA4B;YAC5B,MAAM,YAAY,GAAG,MAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,CAAkC,CAAC,UAAU,CACjH,OAAO,EACP,OAAO,EACP,cAAqB,CACrB,CAAC;YAEF,IAAI,YAAY,CAAC,KAAK,EAAE,EAAE;gBACzB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,0CAAoB,CAAC,aAAa,EAAE,YAAY,CAAC,SAAS,EAAE,EAAE,cAAc,CAAC,CAAC;gBAClG,SAAS;aACT;YAED,sCAAsC;YACtC,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,OAAc,CAAC,CAAC;YAC7F,IAAI,WAAW,CAAC,KAAK,EAAE,EAAE;gBACxB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,0CAAoB,CAAC,aAAa,EAAE,WAAW,CAAC,SAAS,EAAE,EAAE,cAAc,CAAC,CAAC;gBACjG,SAAS;aACT;YAED,IAAI,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE;gBACzD,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,0CAAoB,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;gBAC1E,MAAM;aACN;iBAAM;gBACN,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,0CAAoB,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;aACxE;SACD;IACF,CAAC;CACD;AA3CD,sDA2CC"}
|
package/package.json
CHANGED