beatsaber-bot-core 0.2.0-dev.3 → 0.2.0-dev.30
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/lib/api/base/aioclient.d.ts +10 -0
- package/lib/api/base/aioclient.js +25 -0
- package/lib/api/base/aioclient.js.map +1 -0
- package/lib/api/base/blRequset.js +7 -7
- package/lib/api/base/blRequset.js.map +1 -1
- package/lib/api/base/blclient.d.ts +16 -0
- package/lib/api/base/blclient.js +60 -0
- package/lib/api/base/blclient.js.map +1 -0
- package/lib/api/base/bsclient.d.ts +16 -0
- package/lib/api/base/bsclient.js +69 -0
- package/lib/api/base/bsclient.js.map +1 -0
- package/lib/api/base/index.d.ts +4 -12
- package/lib/api/base/index.js +4 -4
- package/lib/api/base/index.js.map +1 -1
- package/lib/api/base/scRequest.d.ts +2 -0
- package/lib/api/base/scRequest.js +28 -13
- package/lib/api/base/scRequest.js.map +1 -1
- package/lib/api/base/ssclient.d.ts +12 -0
- package/lib/api/base/ssclient.js +43 -0
- package/lib/api/base/ssclient.js.map +1 -0
- package/lib/api/composed/beatleader.d.ts +7 -2
- package/lib/api/composed/beatleader.js +26 -5
- package/lib/api/composed/beatleader.js.map +1 -1
- package/lib/api/composed/beatsaver.d.ts +2 -3
- package/lib/api/composed/beatsaver.js +2 -1
- package/lib/api/composed/beatsaver.js.map +1 -1
- package/lib/api/composed/scoresaber.js.map +1 -1
- package/lib/api/helper.d.ts +19 -0
- package/lib/api/helper.js +102 -0
- package/lib/api/helper.js.map +1 -0
- package/lib/api/index.d.ts +1 -18
- package/lib/api/index.js +8 -98
- package/lib/api/index.js.map +1 -1
- package/lib/api/interfaces/beatsaver/bsmap.d.ts +2 -0
- package/lib/api/interfaces/beatsaver/ws.d.ts +8 -2
- package/lib/api/interfaces/index.d.ts +12 -0
- package/lib/{interface/db.js → api/interfaces/index.js} +1 -1
- package/lib/api/interfaces/index.js.map +1 -0
- package/lib/api/interfaces/scoresaber/item.d.ts +12 -3
- package/lib/api/interfaces/scoresaber/leaderboard.d.ts +10 -0
- package/lib/api/interfaces/scoresaber/leaderboard.js +3 -0
- package/lib/api/interfaces/scoresaber/leaderboard.js.map +1 -0
- package/lib/cmd/bind/bind-beatleader.js.map +1 -1
- package/lib/cmd/bind/bind-beatsaver.js.map +1 -1
- package/lib/cmd/bind/bind-id-beatleader.js.map +1 -1
- package/lib/cmd/bind/bind-scoresaber.js.map +1 -1
- package/lib/cmd/bind/index.d.ts +2 -2
- package/lib/cmd/bind/index.js +4 -0
- package/lib/cmd/bind/index.js.map +1 -1
- package/lib/cmd/bsmap/id-search.d.ts +1 -1
- package/lib/cmd/bsmap/id-search.js +3 -3
- package/lib/cmd/bsmap/id-search.js.map +1 -1
- package/lib/cmd/bsmap/key-search.d.ts +1 -1
- package/lib/cmd/bsmap/key-search.js +6 -6
- package/lib/cmd/bsmap/key-search.js.map +1 -1
- package/lib/cmd/bsmap/latest.d.ts +1 -1
- package/lib/cmd/bsmap/latest.js +11 -3
- package/lib/cmd/bsmap/latest.js.map +1 -1
- package/lib/cmd/builder.d.ts +2 -2
- package/lib/cmd/builder.js +20 -1
- package/lib/cmd/builder.js.map +1 -1
- package/lib/cmd/config/index.d.ts +12 -0
- package/lib/cmd/config/index.js +70 -0
- package/lib/cmd/config/index.js.map +1 -0
- package/lib/cmd/deprecated/cmp.d.ts +1 -1
- package/lib/cmd/deprecated/me.d.ts +3 -3
- package/lib/cmd/deprecated/me.js +6 -6
- package/lib/cmd/deprecated/me.js.map +1 -1
- package/lib/cmd/deprecated/tmp.d.ts +1 -1
- package/lib/cmd/deprecated/tmp.js +2 -0
- package/lib/cmd/deprecated/tmp.js.map +1 -1
- package/lib/cmd/deprecated/whois.d.ts +2 -2
- package/lib/cmd/deprecated/whois.js +2 -2
- package/lib/cmd/deprecated/whois.js.map +1 -1
- package/lib/cmd/help.d.ts +1 -1
- package/lib/cmd/index.js +3 -1
- package/lib/cmd/index.js.map +1 -1
- package/lib/cmd/rank.d.ts +2 -2
- package/lib/cmd/rank.js +16 -11
- package/lib/cmd/rank.js.map +1 -1
- package/lib/cmd/score.d.ts +3 -3
- package/lib/cmd/score.js +26 -10
- package/lib/cmd/score.js.map +1 -1
- package/lib/cmd/subscribe/index.d.ts +2 -2
- package/lib/cmd/subscribe/subjoin.d.ts +2 -2
- package/lib/cmd/subscribe/subleave.d.ts +2 -2
- package/lib/cmd/subscribe/unsubscribe.d.ts +2 -2
- package/lib/config.d.ts +21 -4
- package/lib/db/index.d.ts +0 -34
- package/lib/db/index.js +0 -2
- package/lib/errors/index.d.ts +43 -41
- package/lib/errors/index.js +108 -59
- package/lib/errors/index.js.map +1 -1
- package/lib/i18n/index.js +17 -11
- package/lib/i18n/index.js.map +1 -1
- package/lib/i18n/parser.d.ts +14 -0
- package/lib/i18n/parser.js +165 -0
- package/lib/i18n/parser.js.map +1 -0
- package/lib/i18n/zh-cn.json +1 -1
- package/lib/img-render/components/RankDifficulty.d.ts +6 -0
- package/lib/img-render/components/RankDifficulty.js +17 -0
- package/lib/img-render/components/RankDifficulty.js.map +1 -0
- package/lib/img-render/components/base/avatar.d.ts +7 -0
- package/lib/img-render/components/base/avatar.js +11 -0
- package/lib/img-render/components/base/avatar.js.map +1 -1
- package/lib/img-render/components/bl-rank-score-item.d.ts +18 -0
- package/lib/img-render/components/bl-rank-score-item.js +42 -0
- package/lib/img-render/components/bl-rank-score-item.js.map +1 -0
- package/lib/img-render/components/bl-score-item.d.ts +6 -0
- package/lib/img-render/components/bl-score-item.js +14 -0
- package/lib/img-render/components/bl-score-item.js.map +1 -0
- package/lib/img-render/components/blScoreItem.js +2 -2
- package/lib/img-render/components/blScoreItem.js.map +1 -1
- package/lib/img-render/components/rankScoreItem.d.ts +18 -0
- package/lib/img-render/components/rankScoreItem.js +42 -0
- package/lib/img-render/components/rankScoreItem.js.map +1 -0
- package/lib/img-render/components/scoregraph.d.ts +3 -1
- package/lib/img-render/components/scoregraph.js +5 -4
- package/lib/img-render/components/scoregraph.js.map +1 -1
- package/lib/img-render/components/ss-rank-score-item.d.ts +18 -0
- package/lib/img-render/components/ss-rank-score-item.js +42 -0
- package/lib/img-render/components/ss-rank-score-item.js.map +1 -0
- package/lib/img-render/components/ss-score-item.d.ts +4 -0
- package/lib/img-render/components/ss-score-item.js +14 -0
- package/lib/img-render/components/ss-score-item.js.map +1 -0
- package/lib/img-render/components/ssScoreItem.js +1 -1
- package/lib/img-render/components/ssScoreItem.js.map +1 -1
- package/lib/img-render/index.d.ts +13 -10
- package/lib/img-render/index.js +51 -23
- package/lib/img-render/index.js.map +1 -1
- package/lib/img-render/interfaces.d.ts +2 -0
- package/lib/img-render/render.js +26 -1
- package/lib/img-render/render.js.map +1 -1
- package/lib/img-render/result/bl-player.d.ts +2 -1
- package/lib/img-render/result/bl-player.js +3 -4
- package/lib/img-render/result/bl-player.js.map +1 -1
- package/lib/img-render/result/bl-score-with-rank.d.ts +14 -0
- package/lib/img-render/result/bl-score-with-rank.js +33 -0
- package/lib/img-render/result/bl-score-with-rank.js.map +1 -0
- package/lib/img-render/result/bl-score.js +1 -1
- package/lib/img-render/result/bl-score.js.map +1 -1
- package/lib/img-render/result/bs-score-with-rank.d.ts +13 -0
- package/lib/img-render/result/bs-score-with-rank.js +33 -0
- package/lib/img-render/result/bs-score-with-rank.js.map +1 -0
- package/lib/img-render/result/index.d.ts +3 -2
- package/lib/img-render/result/index.js +10 -5
- package/lib/img-render/result/index.js.map +1 -1
- package/lib/img-render/result/ss-player.d.ts +2 -1
- package/lib/img-render/result/ss-player.js +3 -4
- package/lib/img-render/result/ss-player.js.map +1 -1
- package/lib/img-render/result/ss-score-with-rank.js +277 -0
- package/lib/img-render/result/ss-score-with-rank.js.map +1 -0
- package/lib/img-render/utils/canvas.js +10 -4
- package/lib/img-render/utils/canvas.js.map +1 -1
- package/lib/img-render/utils/format.d.ts +3 -0
- package/lib/img-render/utils/format.js +25 -1
- package/lib/img-render/utils/format.js.map +1 -1
- package/lib/img-render/utils/index.d.ts +1 -1
- package/lib/img-render/utils/index.js +1 -1
- package/lib/img-render/utils/index.js.map +1 -1
- package/lib/img-render/utils/qrcode.js +8 -1
- package/lib/img-render/utils/qrcode.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/interface/bot.d.ts +1 -1
- package/lib/interface/cmd.d.ts +3 -0
- package/lib/interface/{db.d.ts → db/index.d.ts} +5 -2
- package/lib/interface/db/index.js +18 -0
- package/lib/interface/db/index.js.map +1 -0
- package/lib/interface/db/models.d.ts +39 -0
- package/lib/interface/db/models.js +3 -0
- package/lib/interface/db/models.js.map +1 -0
- package/lib/interface/index.d.ts +0 -1
- package/lib/interface/index.js +0 -1
- package/lib/interface/index.js.map +1 -1
- package/lib/interface/render.d.ts +7 -5
- package/lib/schedules/index.d.ts +7 -2
- package/lib/schedules/index.js +20 -16
- package/lib/schedules/index.js.map +1 -1
- package/lib/schedules/interface.d.ts +18 -0
- package/lib/schedules/interface.js +3 -0
- package/lib/schedules/interface.js.map +1 -0
- package/lib/schedules/oauthTokenRefreshTask.d.ts +2 -5
- package/lib/schedules/oauthTokenRefreshTask.js +9 -9
- package/lib/schedules/oauthTokenRefreshTask.js.map +1 -1
- package/lib/schedules/temp.d.ts +2 -5
- package/lib/schedules/temp.js +5 -5
- package/lib/schedules/temp.js.map +1 -1
- package/lib/utils/cache.d.ts +3 -0
- package/lib/utils/cache.js +30 -0
- package/lib/utils/cache.js.map +1 -0
- package/lib/utils/fetch/index.d.ts +3 -0
- package/lib/utils/fetch/index.js +21 -0
- package/lib/utils/fetch/index.js.map +1 -0
- package/lib/utils/fetch/ofetch.d.ts +22 -0
- package/lib/utils/fetch/ofetch.js +87 -0
- package/lib/utils/fetch/ofetch.js.map +1 -0
- package/lib/utils/index.d.ts +8 -0
- package/lib/utils/index.js +80 -0
- package/lib/utils/index.js.map +1 -0
- package/lib/utils/preference.d.ts +35 -0
- package/lib/utils/preference.js +115 -0
- package/lib/utils/preference.js.map +1 -0
- package/lib/utils/puppeteer.d.ts +20 -0
- package/lib/utils/puppeteer.js +79 -0
- package/lib/utils/puppeteer.js.map +1 -0
- package/lib/utils/s3.d.ts +11 -0
- package/lib/utils/s3.js +60 -0
- package/lib/utils/s3.js.map +1 -0
- package/lib/ws/beatleader.js +1 -0
- package/lib/ws/beatleader.js.map +1 -1
- package/lib/ws/beatsaver.d.ts +6 -1
- package/lib/ws/beatsaver.js +28 -26
- package/lib/ws/beatsaver.js.map +1 -1
- package/package.json +9 -4
- package/lib/interface/db.js.map +0 -1
- package/lib/interface/tables.js +0 -1
- package/lib/interface/tables.js.map +0 -1
- package/lib/utils.d.ts +0 -2
- package/lib/utils.js +0 -25
- package/lib/utils.js.map +0 -1
- /package/lib/{interface/tables.d.ts → img-render/result/ss-score-with-rank.d.ts} +0 -0
package/lib/db/index.d.ts
CHANGED
@@ -1,34 +0,0 @@
|
|
1
|
-
export interface RelateAccount {
|
2
|
-
id: number;
|
3
|
-
uid: number;
|
4
|
-
type: string;
|
5
|
-
platform: string;
|
6
|
-
platformUname: string;
|
7
|
-
platformUid: string;
|
8
|
-
platformScope: string;
|
9
|
-
accessToken: string;
|
10
|
-
refreshToken: string;
|
11
|
-
otherPlatformInfo: any;
|
12
|
-
lastModifiedAt: Date;
|
13
|
-
lastRefreshAt: Date;
|
14
|
-
status: string;
|
15
|
-
}
|
16
|
-
export interface SubscribeMember {
|
17
|
-
subscribeId: number;
|
18
|
-
memberUid: number;
|
19
|
-
subscribeData: any;
|
20
|
-
joinedAt: Date;
|
21
|
-
}
|
22
|
-
export interface Subscribe {
|
23
|
-
id: number;
|
24
|
-
gid: number;
|
25
|
-
type: string;
|
26
|
-
time: Date;
|
27
|
-
enable: boolean;
|
28
|
-
data: any;
|
29
|
-
}
|
30
|
-
export type RelateChannelInfo<CHANNEL> = {
|
31
|
-
id: number;
|
32
|
-
name: string;
|
33
|
-
type: 'user' | 'group' | string;
|
34
|
-
} & CHANNEL;
|
package/lib/db/index.js
CHANGED
package/lib/errors/index.d.ts
CHANGED
@@ -1,53 +1,55 @@
|
|
1
|
-
export declare class
|
2
|
-
|
3
|
-
params: any;
|
4
|
-
constructor(message: any);
|
1
|
+
export declare class UnexpectedError extends Error {
|
2
|
+
constructor();
|
5
3
|
}
|
6
|
-
export declare class
|
4
|
+
export declare class BizError extends Error {
|
7
5
|
id: string;
|
8
|
-
params
|
9
|
-
constructor(message?: string);
|
6
|
+
params?: any;
|
10
7
|
}
|
11
|
-
export declare class
|
12
|
-
|
13
|
-
params: any;
|
14
|
-
constructor(message: any);
|
8
|
+
export declare class ScoreNotFoundError extends BizError {
|
9
|
+
constructor(params?: any);
|
15
10
|
}
|
16
|
-
export declare class
|
17
|
-
|
18
|
-
params: any;
|
19
|
-
constructor(message: any);
|
11
|
+
export declare class AccountBindingNotFoundError extends BizError {
|
12
|
+
constructor(params?: any);
|
20
13
|
}
|
21
|
-
export declare class
|
22
|
-
|
23
|
-
params: any;
|
24
|
-
constructor(message: any);
|
14
|
+
export declare class UnknownUserIDError extends BizError {
|
15
|
+
constructor(params?: any);
|
25
16
|
}
|
26
|
-
export declare class
|
27
|
-
|
28
|
-
params: any;
|
29
|
-
constructor(input: string);
|
17
|
+
export declare class InvalidMapIdError extends BizError {
|
18
|
+
constructor(params?: any);
|
30
19
|
}
|
31
|
-
export declare class
|
32
|
-
|
33
|
-
constructor();
|
20
|
+
export declare class MapIdNotFoundError extends BizError {
|
21
|
+
constructor(params?: any);
|
34
22
|
}
|
35
|
-
export declare class
|
36
|
-
|
37
|
-
constructor();
|
23
|
+
export declare class ScoreSaberIDNotFoundError extends BizError {
|
24
|
+
constructor(params?: any);
|
38
25
|
}
|
39
|
-
export declare class
|
40
|
-
|
41
|
-
params: any;
|
42
|
-
constructor(message?: string);
|
26
|
+
export declare class SessionPromotionTimeoutError extends BizError {
|
27
|
+
constructor(params?: any);
|
43
28
|
}
|
44
|
-
export declare class
|
45
|
-
|
46
|
-
params: any;
|
47
|
-
constructor(message?: string);
|
29
|
+
export declare class SessionPromotionCancelError extends BizError {
|
30
|
+
constructor(params?: any);
|
48
31
|
}
|
49
|
-
export declare class
|
50
|
-
|
51
|
-
|
52
|
-
|
32
|
+
export declare class SubscriptionExistError extends BizError {
|
33
|
+
constructor(params?: any);
|
34
|
+
}
|
35
|
+
export declare class NoneSubscriptionExistError extends BizError {
|
36
|
+
constructor(params?: any);
|
37
|
+
}
|
38
|
+
export declare class SubscriptionNotExistError extends BizError {
|
39
|
+
constructor(params?: any);
|
40
|
+
}
|
41
|
+
export declare class ImageRenderError extends BizError {
|
42
|
+
constructor(params?: any);
|
43
|
+
}
|
44
|
+
export declare class RequestError extends BizError {
|
45
|
+
constructor(params?: any);
|
46
|
+
}
|
47
|
+
export declare class ReachNetworkRetryLimitError extends BizError {
|
48
|
+
constructor(params?: any);
|
49
|
+
}
|
50
|
+
export declare class NotImplementedError extends BizError {
|
51
|
+
constructor(params?: any);
|
52
|
+
}
|
53
|
+
export declare class EmptyPromptError extends BizError {
|
54
|
+
constructor(params?: any);
|
53
55
|
}
|
package/lib/errors/index.js
CHANGED
@@ -1,113 +1,162 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.SubscriptionNotExistError = exports.NoneSubscriptionExistError = exports.SubscriptionExistError = exports.SessionPromotionCancelError = exports.SessionPromotionTimeoutError = exports.ScoreSaberIDNotFoundError = exports.
|
4
|
-
class
|
3
|
+
exports.EmptyPromptError = exports.NotImplementedError = exports.ReachNetworkRetryLimitError = exports.RequestError = exports.ImageRenderError = exports.SubscriptionNotExistError = exports.NoneSubscriptionExistError = exports.SubscriptionExistError = exports.SessionPromotionCancelError = exports.SessionPromotionTimeoutError = exports.ScoreSaberIDNotFoundError = exports.MapIdNotFoundError = exports.InvalidMapIdError = exports.UnknownUserIDError = exports.AccountBindingNotFoundError = exports.ScoreNotFoundError = exports.BizError = exports.UnexpectedError = void 0;
|
4
|
+
class UnexpectedError extends Error {
|
5
|
+
constructor() {
|
6
|
+
super('UnexpectedError');
|
7
|
+
}
|
8
|
+
}
|
9
|
+
exports.UnexpectedError = UnexpectedError;
|
10
|
+
class BizError extends Error {
|
5
11
|
id;
|
6
12
|
params;
|
7
|
-
|
8
|
-
|
13
|
+
}
|
14
|
+
exports.BizError = BizError;
|
15
|
+
class ScoreNotFoundError extends BizError {
|
16
|
+
constructor(params) {
|
17
|
+
super('ScoreNotFoundError');
|
9
18
|
this.name = 'ScoreNotFoundError';
|
10
19
|
this.id = 'commands.bsbot.me.score-not-found';
|
20
|
+
this.params = params;
|
11
21
|
}
|
12
22
|
}
|
13
23
|
exports.ScoreNotFoundError = ScoreNotFoundError;
|
14
|
-
class AccountBindingNotFoundError extends
|
15
|
-
|
16
|
-
|
17
|
-
constructor(message) {
|
18
|
-
super(message);
|
24
|
+
class AccountBindingNotFoundError extends BizError {
|
25
|
+
constructor(params) {
|
26
|
+
super('AccountBindingNotFoundError');
|
19
27
|
this.name = 'AccountBindingNotFoundError';
|
20
28
|
this.id = 'commands.bsbot.score.not-bind';
|
29
|
+
this.params = params;
|
21
30
|
}
|
22
31
|
}
|
23
32
|
exports.AccountBindingNotFoundError = AccountBindingNotFoundError;
|
24
|
-
class
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
33
|
+
class UnknownUserIDError extends BizError {
|
34
|
+
constructor(params) {
|
35
|
+
super('UnknownUserIDError');
|
36
|
+
this.name = 'UnknownUserIDError';
|
37
|
+
this.id = 'commands.bsbot.me.not-found';
|
38
|
+
this.params = params;
|
39
|
+
}
|
40
|
+
}
|
41
|
+
exports.UnknownUserIDError = UnknownUserIDError;
|
42
|
+
class InvalidMapIdError extends BizError {
|
43
|
+
constructor(params) {
|
44
|
+
super('InvalidMapIdError');
|
29
45
|
this.name = 'InvalidMapIdError';
|
30
46
|
this.id = 'commands.bsbot.id.error-map-id';
|
47
|
+
this.params = params;
|
31
48
|
}
|
32
49
|
}
|
33
50
|
exports.InvalidMapIdError = InvalidMapIdError;
|
34
|
-
class MapIdNotFoundError extends
|
35
|
-
|
36
|
-
|
37
|
-
constructor(message) {
|
38
|
-
super(message);
|
51
|
+
class MapIdNotFoundError extends BizError {
|
52
|
+
constructor(params) {
|
53
|
+
super('MapIdNotFoundError');
|
39
54
|
this.name = 'MapIdNotFoundError';
|
40
55
|
this.id = 'commands.bsbot.id.not-found';
|
56
|
+
this.params = params;
|
41
57
|
}
|
42
58
|
}
|
43
59
|
exports.MapIdNotFoundError = MapIdNotFoundError;
|
44
|
-
class
|
45
|
-
|
46
|
-
|
47
|
-
constructor(message) {
|
48
|
-
super(message);
|
49
|
-
this.name = 'NetworkError';
|
50
|
-
this.id = 'commands.bsbot.id.not-found';
|
51
|
-
}
|
52
|
-
}
|
53
|
-
exports.NetworkError = NetworkError;
|
54
|
-
class ScoreSaberIDNotFoundError extends Error {
|
55
|
-
id;
|
56
|
-
params;
|
57
|
-
constructor(input) {
|
58
|
-
super();
|
60
|
+
class ScoreSaberIDNotFoundError extends BizError {
|
61
|
+
constructor(params) {
|
62
|
+
super('ScoreSaberIdNotFoundError');
|
59
63
|
this.name = 'ScoreSaberIdNotFoundError';
|
60
64
|
this.id = 'commands.bsbot.bind.not-found';
|
61
|
-
this.params =
|
65
|
+
this.params = params;
|
66
|
+
this.params = params;
|
62
67
|
}
|
63
68
|
}
|
64
69
|
exports.ScoreSaberIDNotFoundError = ScoreSaberIDNotFoundError;
|
65
|
-
class SessionPromotionTimeoutError extends
|
66
|
-
|
67
|
-
|
68
|
-
super();
|
70
|
+
class SessionPromotionTimeoutError extends BizError {
|
71
|
+
constructor(params) {
|
72
|
+
super('SessionPromotionTimeoutError');
|
69
73
|
this.name = 'SessionPromotionTimeoutError';
|
70
74
|
this.id = 'commands.bsbot.session-promotion-timeout';
|
75
|
+
this.params = params;
|
71
76
|
}
|
72
77
|
}
|
73
78
|
exports.SessionPromotionTimeoutError = SessionPromotionTimeoutError;
|
74
|
-
class SessionPromotionCancelError extends
|
75
|
-
|
76
|
-
|
77
|
-
super();
|
78
|
-
this.name =
|
79
|
+
class SessionPromotionCancelError extends BizError {
|
80
|
+
constructor(params) {
|
81
|
+
const name = 'SessionPromotionCancelError';
|
82
|
+
super(name);
|
83
|
+
this.name = name;
|
79
84
|
this.id = 'commands.bsbot.bind.cancel';
|
85
|
+
this.params = params;
|
80
86
|
}
|
81
87
|
}
|
82
88
|
exports.SessionPromotionCancelError = SessionPromotionCancelError;
|
83
|
-
class SubscriptionExistError extends
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
super(message);
|
89
|
+
class SubscriptionExistError extends BizError {
|
90
|
+
constructor(params) {
|
91
|
+
super('SubscriptionExistError');
|
92
|
+
this.params = params;
|
88
93
|
this.name = 'SubscriptionExistError';
|
89
94
|
this.id = 'commands.bsbot.subscribe.exist';
|
95
|
+
this.params = params;
|
90
96
|
}
|
91
97
|
}
|
92
98
|
exports.SubscriptionExistError = SubscriptionExistError;
|
93
|
-
class NoneSubscriptionExistError extends
|
94
|
-
|
95
|
-
|
96
|
-
constructor(message) {
|
97
|
-
super(message);
|
99
|
+
class NoneSubscriptionExistError extends BizError {
|
100
|
+
constructor(params) {
|
101
|
+
super('NoneSubscriptionExistError');
|
98
102
|
this.name = 'NoneSubscriptionExistError';
|
99
103
|
this.id = 'commands.bsbot.subscribe.info.none';
|
104
|
+
this.params = params;
|
100
105
|
}
|
101
106
|
}
|
102
107
|
exports.NoneSubscriptionExistError = NoneSubscriptionExistError;
|
103
|
-
class SubscriptionNotExistError extends
|
104
|
-
|
105
|
-
|
106
|
-
constructor(message) {
|
107
|
-
super(message);
|
108
|
+
class SubscriptionNotExistError extends BizError {
|
109
|
+
constructor(params) {
|
110
|
+
super('SubscriptionNotExistError');
|
108
111
|
this.name = 'SubscriptionNotExistError';
|
109
112
|
this.id = 'commands.bsbot.unsubscribe.nosub';
|
113
|
+
this.params = params;
|
110
114
|
}
|
111
115
|
}
|
112
116
|
exports.SubscriptionNotExistError = SubscriptionNotExistError;
|
117
|
+
class ImageRenderError extends BizError {
|
118
|
+
constructor(params) {
|
119
|
+
super('ImageRenderError');
|
120
|
+
this.name = 'ImageRenderError';
|
121
|
+
this.id = 'commands.bsbot.render.error';
|
122
|
+
this.params = params;
|
123
|
+
}
|
124
|
+
}
|
125
|
+
exports.ImageRenderError = ImageRenderError;
|
126
|
+
class RequestError extends BizError {
|
127
|
+
constructor(params) {
|
128
|
+
super('RequestError');
|
129
|
+
this.name = 'RequestError';
|
130
|
+
this.id = 'commands.bsbot.request.error';
|
131
|
+
this.params = params;
|
132
|
+
}
|
133
|
+
}
|
134
|
+
exports.RequestError = RequestError;
|
135
|
+
class ReachNetworkRetryLimitError extends BizError {
|
136
|
+
constructor(params) {
|
137
|
+
super('ReachNetworkRetryLimitError');
|
138
|
+
this.name = 'ReachNetworkRetryLimitError';
|
139
|
+
this.id = 'commands.bsbot.common.error.reach-request-retry-limit';
|
140
|
+
this.params = params;
|
141
|
+
}
|
142
|
+
}
|
143
|
+
exports.ReachNetworkRetryLimitError = ReachNetworkRetryLimitError;
|
144
|
+
class NotImplementedError extends BizError {
|
145
|
+
constructor(params) {
|
146
|
+
super('NotImplementedError');
|
147
|
+
this.name = 'NotImplementedError';
|
148
|
+
this.id = 'commands.bsbot.common.error.not-implemented';
|
149
|
+
this.params = params;
|
150
|
+
}
|
151
|
+
}
|
152
|
+
exports.NotImplementedError = NotImplementedError;
|
153
|
+
class EmptyPromptError extends BizError {
|
154
|
+
constructor(params) {
|
155
|
+
super('EmptyPromptError');
|
156
|
+
this.name = 'EmptyPromptError';
|
157
|
+
this.id = 'commands.bsbot.common.error.empty-prompt';
|
158
|
+
this.params = params;
|
159
|
+
}
|
160
|
+
}
|
161
|
+
exports.EmptyPromptError = EmptyPromptError;
|
113
162
|
//# sourceMappingURL=index.js.map
|
package/lib/errors/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":";;;AAAA,MAAa,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"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"}
|
package/lib/i18n/index.js
CHANGED
@@ -24,6 +24,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
24
24
|
};
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
26
26
|
exports.tran = exports.loadI18nConfig = void 0;
|
27
|
+
const parser_1 = require("../i18n/parser");
|
27
28
|
const i18nObj = {};
|
28
29
|
init().then((_) => console.log('i18n loaded'));
|
29
30
|
async function init() {
|
@@ -58,16 +59,6 @@ function loadI18nConfig(lang, obj) {
|
|
58
59
|
console.log(`overwrite i18n ${lang} `);
|
59
60
|
}
|
60
61
|
exports.loadI18nConfig = loadI18nConfig;
|
61
|
-
function safeEval(expr, context) {
|
62
|
-
try {
|
63
|
-
const fn = new Function(...Object.keys(context), `return ${expr}`);
|
64
|
-
return fn(...Object.values(context));
|
65
|
-
}
|
66
|
-
catch (e) {
|
67
|
-
console.error(expr, context, e);
|
68
|
-
return expr;
|
69
|
-
}
|
70
|
-
}
|
71
62
|
function tran(path, params = {}, lang = 'zh-cn') {
|
72
63
|
const keys = path.split('.');
|
73
64
|
let result = i18nObj[lang];
|
@@ -79,7 +70,12 @@ function tran(path, params = {}, lang = 'zh-cn') {
|
|
79
70
|
return null;
|
80
71
|
}
|
81
72
|
}
|
82
|
-
|
73
|
+
try {
|
74
|
+
if (typeof result === 'string') {
|
75
|
+
return (0, parser_1.interpolate)(result, params);
|
76
|
+
}
|
77
|
+
}
|
78
|
+
catch (e) {
|
83
79
|
return interpolateString(result, params);
|
84
80
|
}
|
85
81
|
return null;
|
@@ -109,4 +105,14 @@ function interpolateString(str, context) {
|
|
109
105
|
str = str.replace(variableRegex, (match, expr) => safeEval(expr, context));
|
110
106
|
return str;
|
111
107
|
}
|
108
|
+
function safeEval(expr, context) {
|
109
|
+
try {
|
110
|
+
const fn = new Function(...Object.keys(context), `return ${expr}`);
|
111
|
+
return fn(...Object.values(context));
|
112
|
+
}
|
113
|
+
catch (e) {
|
114
|
+
console.error(expr, context, e);
|
115
|
+
return expr;
|
116
|
+
}
|
117
|
+
}
|
112
118
|
//# sourceMappingURL=index.js.map
|
package/lib/i18n/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/i18n/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,MAAM,OAAO,GAAG,EAAE,CAAA;AAElB,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAA;AAE9C,KAAK,UAAU,IAAI;IACjB,mBAAmB;IACnB,MAAM,EAAE,GAAG,wDAAa,cAAc,GAAC,CAAA;IACvC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAA;AACvB,CAAC;AAED,SAAS,QAAQ,CAAC,IAAI;IACpB,OAAO,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;AACjE,CAAC;AAED,SAAS,KAAK,CAAC,MAAM,EAAE,GAAG,OAAO;IAC/B,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,MAAM,CAAA;IAClC,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAA;IAC9B,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACzC,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBAC1B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;oBAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;gBACtD,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;YACjC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAC/C,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,CAAA;AAClC,CAAC;AAED,SAAgB,cAAc,CAAC,IAAY,EAAE,GAAQ;IACnD,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACzB,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IAC/B,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,GAAG,CAAC,CAAA;AACxC,CAAC;AAJD,wCAIC;AAED,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/i18n/index.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
export declare class Parser {
|
2
|
+
private template;
|
3
|
+
private data;
|
4
|
+
private tokens;
|
5
|
+
private current;
|
6
|
+
constructor(template: string, data: any);
|
7
|
+
private tokenize;
|
8
|
+
private match;
|
9
|
+
private consume;
|
10
|
+
private parseExpression;
|
11
|
+
private parseInterpolation;
|
12
|
+
parse(): string;
|
13
|
+
}
|
14
|
+
export declare function interpolate(template: string, data: any): string;
|
@@ -0,0 +1,165 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.interpolate = exports.Parser = void 0;
|
4
|
+
var TokenType;
|
5
|
+
(function (TokenType) {
|
6
|
+
TokenType[TokenType["TEXT"] = 0] = "TEXT";
|
7
|
+
TokenType[TokenType["OPEN_BRACE"] = 1] = "OPEN_BRACE";
|
8
|
+
TokenType[TokenType["CLOSE_BRACE"] = 2] = "CLOSE_BRACE";
|
9
|
+
TokenType[TokenType["IDENTIFIER"] = 3] = "IDENTIFIER";
|
10
|
+
TokenType[TokenType["QUESTION"] = 4] = "QUESTION";
|
11
|
+
TokenType[TokenType["COLON"] = 5] = "COLON";
|
12
|
+
TokenType[TokenType["STRING"] = 6] = "STRING";
|
13
|
+
})(TokenType || (TokenType = {}));
|
14
|
+
// 插值解析Parser {{}},暂时没转义支持
|
15
|
+
// "😯,没有找到用户「{{user}}」的谱面「{{id}} ({{mode ? '{{mode}}' : '' }} {{diff ? '-{{diff}}' : '' }})」的打分数据"
|
16
|
+
class Parser {
|
17
|
+
template;
|
18
|
+
data;
|
19
|
+
tokens = [];
|
20
|
+
current = 0;
|
21
|
+
constructor(template, data) {
|
22
|
+
this.template = template;
|
23
|
+
this.data = data;
|
24
|
+
this.tokenize();
|
25
|
+
}
|
26
|
+
tokenize() {
|
27
|
+
let current = 0;
|
28
|
+
while (current < this.template.length) {
|
29
|
+
let char = this.template[current];
|
30
|
+
if (char === '\\' && current + 1 < this.template.length) {
|
31
|
+
// 处理转义字符
|
32
|
+
const nextChar = this.template[current + 1];
|
33
|
+
if (nextChar === '{' ||
|
34
|
+
nextChar === '}' ||
|
35
|
+
nextChar === '?' ||
|
36
|
+
nextChar === ':' ||
|
37
|
+
nextChar === "'" ||
|
38
|
+
nextChar === '\\') {
|
39
|
+
this.tokens.push({ type: TokenType.TEXT, value: nextChar });
|
40
|
+
current += 2;
|
41
|
+
continue;
|
42
|
+
}
|
43
|
+
}
|
44
|
+
if (char === '{' && this.template[current + 1] === '{') {
|
45
|
+
this.tokens.push({ type: TokenType.OPEN_BRACE, value: '{{' });
|
46
|
+
current += 2;
|
47
|
+
continue;
|
48
|
+
}
|
49
|
+
if (char === '}' && this.template[current + 1] === '}') {
|
50
|
+
this.tokens.push({ type: TokenType.CLOSE_BRACE, value: '}}' });
|
51
|
+
current += 2;
|
52
|
+
continue;
|
53
|
+
}
|
54
|
+
if (char === '?') {
|
55
|
+
this.tokens.push({ type: TokenType.QUESTION, value: '?' });
|
56
|
+
current++;
|
57
|
+
continue;
|
58
|
+
}
|
59
|
+
if (char === ':') {
|
60
|
+
this.tokens.push({ type: TokenType.COLON, value: ':' });
|
61
|
+
current++;
|
62
|
+
continue;
|
63
|
+
}
|
64
|
+
if (char === "'") {
|
65
|
+
let value = '';
|
66
|
+
char = this.template[++current];
|
67
|
+
while (char !== "'" && current < this.template.length) {
|
68
|
+
if (char === '\\' && current + 1 < this.template.length) {
|
69
|
+
char = this.template[++current];
|
70
|
+
}
|
71
|
+
value += char;
|
72
|
+
char = this.template[++current];
|
73
|
+
}
|
74
|
+
if (char === "'")
|
75
|
+
current++;
|
76
|
+
this.tokens.push({ type: TokenType.STRING, value });
|
77
|
+
continue;
|
78
|
+
}
|
79
|
+
if (/[a-zA-Z0-9_]/.test(char)) {
|
80
|
+
let value = '';
|
81
|
+
while (/[a-zA-Z0-9_]/.test(char)) {
|
82
|
+
value += char;
|
83
|
+
char = this.template[++current];
|
84
|
+
}
|
85
|
+
this.tokens.push({ type: TokenType.IDENTIFIER, value });
|
86
|
+
continue;
|
87
|
+
}
|
88
|
+
if (/\s/.test(char)) {
|
89
|
+
current++;
|
90
|
+
continue;
|
91
|
+
}
|
92
|
+
let value = '';
|
93
|
+
while (current < this.template.length &&
|
94
|
+
char !== '{' &&
|
95
|
+
char !== '}' &&
|
96
|
+
char !== '?' &&
|
97
|
+
char !== ':' &&
|
98
|
+
char !== "'"
|
99
|
+
// &&
|
100
|
+
// !/[a-zA-Z0-9_]/.test(char)
|
101
|
+
) {
|
102
|
+
if (char === '\\' && current + 1 < this.template.length) {
|
103
|
+
value += this.template[++current];
|
104
|
+
}
|
105
|
+
else {
|
106
|
+
value += char;
|
107
|
+
}
|
108
|
+
char = this.template[++current];
|
109
|
+
}
|
110
|
+
if (value) {
|
111
|
+
this.tokens.push({ type: TokenType.TEXT, value });
|
112
|
+
}
|
113
|
+
}
|
114
|
+
}
|
115
|
+
match(...types) {
|
116
|
+
if (this.current >= this.tokens.length)
|
117
|
+
return false;
|
118
|
+
return types.includes(this.tokens[this.current].type);
|
119
|
+
}
|
120
|
+
consume(type) {
|
121
|
+
if (this.match(type)) {
|
122
|
+
return this.tokens[this.current++];
|
123
|
+
}
|
124
|
+
throw new Error(`Expected token type ${type}, but got ${this.tokens[this.current].type}`);
|
125
|
+
}
|
126
|
+
parseExpression() {
|
127
|
+
if (this.match(TokenType.OPEN_BRACE)) {
|
128
|
+
this.consume(TokenType.OPEN_BRACE);
|
129
|
+
const result = this.parseInterpolation();
|
130
|
+
this.consume(TokenType.CLOSE_BRACE);
|
131
|
+
return result;
|
132
|
+
}
|
133
|
+
if (this.match(TokenType.STRING)) {
|
134
|
+
const tmp = this.consume(TokenType.STRING).value;
|
135
|
+
return interpolate(tmp, this.data);
|
136
|
+
}
|
137
|
+
return this.consume(TokenType.TEXT).value;
|
138
|
+
}
|
139
|
+
parseInterpolation() {
|
140
|
+
const identifier = this.consume(TokenType.IDENTIFIER).value;
|
141
|
+
if (this.match(TokenType.QUESTION)) {
|
142
|
+
this.consume(TokenType.QUESTION);
|
143
|
+
const truePart = this.parseExpression();
|
144
|
+
this.consume(TokenType.COLON);
|
145
|
+
const falsePart = this.parseExpression();
|
146
|
+
return this.data[identifier] ? truePart : falsePart;
|
147
|
+
}
|
148
|
+
return this.data[identifier]?.toString() || '';
|
149
|
+
}
|
150
|
+
parse() {
|
151
|
+
// console.log(this.current, this.tokens)
|
152
|
+
let result = '';
|
153
|
+
while (this.current < this.tokens.length) {
|
154
|
+
result += this.parseExpression();
|
155
|
+
}
|
156
|
+
return result;
|
157
|
+
}
|
158
|
+
}
|
159
|
+
exports.Parser = Parser;
|
160
|
+
function interpolate(template, data) {
|
161
|
+
const parser = new Parser(template, data);
|
162
|
+
return parser.parse();
|
163
|
+
}
|
164
|
+
exports.interpolate = interpolate;
|
165
|
+
//# sourceMappingURL=parser.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/i18n/parser.ts"],"names":[],"mappings":"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"}
|