beatsaber-bot-core 0.2.0-rc.11 → 0.2.0-rc.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/cmd/deprecated/tmp.js +2 -2
- package/dist/cjs/cmd/deprecated/tmp.js.map +1 -1
- package/dist/cjs/cmd/score.js.map +1 -1
- package/dist/cjs/config.js.map +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/infra/i18n/default.js +10 -0
- package/dist/cjs/infra/i18n/default.js.map +1 -0
- package/dist/cjs/infra/i18n/index.js +29 -104
- package/dist/cjs/infra/i18n/index.js.map +1 -1
- package/dist/cjs/infra/i18n/util.js +76 -0
- package/dist/cjs/infra/i18n/util.js.map +1 -0
- package/dist/cjs/infra/i18n/zh-cn.json +1 -1
- package/dist/cjs/infra/index.js +8 -3
- package/dist/cjs/infra/index.js.map +1 -1
- package/dist/cjs/infra/support/render/index.js +9 -3
- package/dist/cjs/infra/support/render/index.js.map +1 -1
- package/dist/cjs/interface/bot.js.map +1 -1
- package/dist/cjs/interface/cmd/type.js.map +1 -1
- package/dist/cjs/interface/db/index.js +0 -6
- package/dist/cjs/interface/db/index.js.map +1 -1
- package/dist/cjs/interface/index.js.map +1 -1
- package/dist/cjs/schedules/index.js +2 -2
- package/dist/cjs/schedules/index.js.map +1 -1
- package/dist/cjs/schedules/interface.js.map +1 -1
- package/dist/cjs/schedules/temp.js.map +1 -1
- package/dist/cjs/service/api/index.js +1 -1
- package/dist/cjs/service/api/index.js.map +1 -1
- package/dist/cjs/service/index.js +15 -0
- package/dist/cjs/service/index.js.map +1 -1
- package/dist/cjs/service/preference.js.map +1 -1
- package/dist/cjs/service/render/index.js +12 -2
- package/dist/cjs/service/render/index.js.map +1 -1
- package/dist/cjs/ws/beatleader.js.map +1 -1
- package/dist/cjs/ws/beatsaver.js.map +1 -1
- package/dist/cjs/ws/index.js +0 -2
- package/dist/cjs/ws/index.js.map +1 -1
- package/dist/esm/cmd/deprecated/tmp.js +2 -2
- package/dist/esm/cmd/deprecated/tmp.js.map +1 -1
- package/dist/esm/cmd/score.js.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/infra/i18n/default.js +10 -0
- package/dist/esm/infra/i18n/default.js.map +1 -0
- package/dist/esm/infra/i18n/index.js +29 -92
- package/dist/esm/infra/i18n/index.js.map +1 -1
- package/dist/esm/infra/i18n/util.js +51 -0
- package/dist/esm/infra/i18n/util.js.map +1 -0
- package/dist/esm/infra/index.js +5 -2
- package/dist/esm/infra/index.js.map +1 -1
- package/dist/esm/infra/support/render/index.js +9 -3
- package/dist/esm/infra/support/render/index.js.map +1 -1
- package/dist/esm/interface/db/index.js +0 -1
- package/dist/esm/interface/db/index.js.map +1 -1
- package/dist/esm/interface/index.js.map +1 -1
- package/dist/esm/schedules/index.js +2 -2
- package/dist/esm/schedules/index.js.map +1 -1
- package/dist/esm/schedules/temp.js.map +1 -1
- package/dist/esm/service/api/index.js +1 -1
- package/dist/esm/service/api/index.js.map +1 -1
- package/dist/esm/service/index.js +6 -0
- package/dist/esm/service/index.js.map +1 -1
- package/dist/esm/service/preference.js.map +1 -1
- package/dist/esm/service/render/index.js +12 -2
- package/dist/esm/service/render/index.js.map +1 -1
- package/dist/esm/ws/beatleader.js.map +1 -1
- package/dist/esm/ws/beatsaver.js.map +1 -1
- package/dist/esm/ws/index.js +0 -1
- package/dist/esm/ws/index.js.map +1 -1
- package/dist/types/index.d.ts +1030 -44
- package/package.json +7 -7
- package/dist/cjs/ws/scoresaber.js +0 -75
- package/dist/cjs/ws/scoresaber.js.map +0 -1
- package/dist/esm/ws/scoresaber.js +0 -53
- package/dist/esm/ws/scoresaber.js.map +0 -1
- package/dist/types/cmd/bind/bind-beatleader.d.ts +0 -34
- package/dist/types/cmd/bind/bind-beatsaver.d.ts +0 -34
- package/dist/types/cmd/bind/bind-id-beatleader.d.ts +0 -34
- package/dist/types/cmd/bind/bind-id-beatsaver.d.ts +0 -34
- package/dist/types/cmd/bind/bind-scoresaber.d.ts +0 -34
- package/dist/types/cmd/bind/index.d.ts +0 -41
- package/dist/types/cmd/bsmap/id-search.d.ts +0 -41
- package/dist/types/cmd/bsmap/key-search.d.ts +0 -41
- package/dist/types/cmd/bsmap/latest.d.ts +0 -41
- package/dist/types/cmd/config/index.d.ts +0 -2
- package/dist/types/cmd/deprecated/tmp.d.ts +0 -41
- package/dist/types/cmd/index.d.ts +0 -34
- package/dist/types/cmd/rank.d.ts +0 -41
- package/dist/types/cmd/score.d.ts +0 -41
- package/dist/types/cmd/subscribe/beatleader.d.ts +0 -34
- package/dist/types/cmd/subscribe/beatsaver.d.ts +0 -34
- package/dist/types/cmd/subscribe/id-beatleader-score.d.ts +0 -34
- package/dist/types/cmd/subscribe/id-beatsaver-mapper.d.ts +0 -34
- package/dist/types/cmd/subscribe/index.d.ts +0 -41
- package/dist/types/cmd/subscribe/subjoin.d.ts +0 -41
- package/dist/types/cmd/subscribe/subleave.d.ts +0 -41
- package/dist/types/cmd/subscribe/unsubscribe.d.ts +0 -41
- package/dist/types/components/components/RankDifficulty.d.ts +0 -10
- package/dist/types/components/components/base/avatar.d.ts +0 -10
- package/dist/types/components/components/bl-rank-score-item.d.ts +0 -21
- package/dist/types/components/components/bl-score-item.d.ts +0 -10
- package/dist/types/components/components/characteristic.d.ts +0 -9
- package/dist/types/components/components/flag.d.ts +0 -9
- package/dist/types/components/components/icons/BeatLeader.d.ts +0 -6
- package/dist/types/components/components/icons/RankIcon.d.ts +0 -8
- package/dist/types/components/components/icons/ScoreSaberIcon.d.ts +0 -6
- package/dist/types/components/components/progressbar.d.ts +0 -8
- package/dist/types/components/components/scoreItem.d.ts +0 -8
- package/dist/types/components/components/scoregraph.d.ts +0 -15
- package/dist/types/components/components/skill-graph.d.ts +0 -9
- package/dist/types/components/components/socre-badge.d.ts +0 -9
- package/dist/types/components/components/ss-rank-score-item.d.ts +0 -21
- package/dist/types/components/components/ss-score-item.d.ts +0 -8
- package/dist/types/components/index.d.ts +0 -5
- package/dist/types/components/pages/bl-player.d.ts +0 -11
- package/dist/types/components/pages/bl-score-with-rank.d.ts +0 -18
- package/dist/types/components/pages/bl-score.d.ts +0 -15
- package/dist/types/components/pages/bs-map.d.ts +0 -11
- package/dist/types/components/pages/index.d.ts +0 -14
- package/dist/types/components/pages/ss-player.d.ts +0 -13
- package/dist/types/components/utils/bl/beatleader.d.ts +0 -15
- package/dist/types/components/utils/bl/blheadset.d.ts +0 -275
- package/dist/types/components/utils/bl/bsorDecoder.d.ts +0 -189
- package/dist/types/components/utils/bl/bsorReplayAcc.d.ts +0 -38
- package/dist/types/components/utils/bl/getPart.d.ts +0 -9
- package/dist/types/components/utils/bl/stastic.d.ts +0 -3
- package/dist/types/components/utils/canvas.d.ts +0 -2
- package/dist/types/components/utils/format.d.ts +0 -8
- package/dist/types/components/utils/getMods.d.ts +0 -5
- package/dist/types/components/utils/index.d.ts +0 -6
- package/dist/types/components/utils/qrcode.d.ts +0 -3
- package/dist/types/components/utils/sleep.d.ts +0 -3
- package/dist/types/components/utils/tag-format.d.ts +0 -3
- package/dist/types/components/utils/tw-join.d.ts +0 -5
- package/dist/types/config.d.ts +0 -30
- package/dist/types/index-Dagy_c8G.d.ts +0 -74
- package/dist/types/infra/errors/index.d.ts +0 -69
- package/dist/types/infra/i18n/index.d.ts +0 -4
- package/dist/types/infra/i18n/parser.d.ts +0 -16
- package/dist/types/infra/index.d.ts +0 -6
- package/dist/types/infra/s3/index.d.ts +0 -20
- package/dist/types/infra/support/cache.d.ts +0 -6
- package/dist/types/infra/support/fetch/error.d.ts +0 -11
- package/dist/types/infra/support/fetch/index.d.ts +0 -7
- package/dist/types/infra/support/fetch/ofetch.d.ts +0 -24
- package/dist/types/infra/support/render/index.d.ts +0 -38
- package/dist/types/infra/support/render/puppeteer.d.ts +0 -43
- package/dist/types/interface/bot.d.ts +0 -22
- package/dist/types/interface/cmd/builder.d.ts +0 -53
- package/dist/types/interface/cmd/type.d.ts +0 -30
- package/dist/types/interface/db/index.d.ts +0 -45
- package/dist/types/interface/db/models.d.ts +0 -41
- package/dist/types/interface/index.d.ts +0 -30
- package/dist/types/interface/logger.d.ts +0 -8
- package/dist/types/schedules/index.d.ts +0 -40
- package/dist/types/schedules/interface.d.ts +0 -45
- package/dist/types/schedules/temp.d.ts +0 -35
- package/dist/types/service/api/base/aioclient.d.ts +0 -13
- package/dist/types/service/api/base/blclient.d.ts +0 -28
- package/dist/types/service/api/base/bsclient.d.ts +0 -29
- package/dist/types/service/api/base/index.d.ts +0 -19
- package/dist/types/service/api/base/ssclient.d.ts +0 -17
- package/dist/types/service/api/index.d.ts +0 -59
- package/dist/types/service/api/interfaces/aiosaber/index.d.ts +0 -9
- package/dist/types/service/api/interfaces/beatleader/bsor.d.ts +0 -113
- package/dist/types/service/api/interfaces/beatleader/index.d.ts +0 -5
- package/dist/types/service/api/interfaces/beatleader/req.d.ts +0 -22
- package/dist/types/service/api/interfaces/beatleader/score.d.ts +0 -164
- package/dist/types/service/api/interfaces/beatleader/user.d.ts +0 -173
- package/dist/types/service/api/interfaces/beatleader/ws.d.ts +0 -90
- package/dist/types/service/api/interfaces/beatsaver/alert.d.ts +0 -20
- package/dist/types/service/api/interfaces/beatsaver/bsmap.d.ts +0 -70
- package/dist/types/service/api/interfaces/beatsaver/index.d.ts +0 -13
- package/dist/types/service/api/interfaces/beatsaver/resp.d.ts +0 -11
- package/dist/types/service/api/interfaces/beatsaver/user.d.ts +0 -10
- package/dist/types/service/api/interfaces/beatsaver/ws.d.ts +0 -13
- package/dist/types/service/api/interfaces/index.d.ts +0 -14
- package/dist/types/service/api/interfaces/scoresaber/index.d.ts +0 -3
- package/dist/types/service/api/interfaces/scoresaber/item.d.ts +0 -67
- package/dist/types/service/api/interfaces/scoresaber/leaderboard.d.ts +0 -13
- package/dist/types/service/api/interfaces/scoresaber/resp.d.ts +0 -12
- package/dist/types/service/api/interfaces/scoresaber/user.d.ts +0 -35
- package/dist/types/service/api/interfaces/scoresaber/ws.d.ts +0 -80
- package/dist/types/service/api/sortScore.d.ts +0 -5
- package/dist/types/service/index.d.ts +0 -30
- package/dist/types/service/preference.d.ts +0 -38
- package/dist/types/service/render/index.d.ts +0 -43
- package/dist/types/service/render/interfaces.d.ts +0 -30
- package/dist/types/utils/index.d.ts +0 -5
- package/dist/types/ws/beatleader.d.ts +0 -47
- package/dist/types/ws/beatsaver.d.ts +0 -52
- package/dist/types/ws/bl-filter.d.ts +0 -2
- package/dist/types/ws/handler.d.ts +0 -8
- package/dist/types/ws/index.d.ts +0 -36
- package/dist/types/ws/scoresaber.d.ts +0 -47
@@ -1,74 +0,0 @@
|
|
1
|
-
import { DB } from './interface/db/index.js';
|
2
|
-
import { Logger } from './interface/logger.js';
|
3
|
-
import { Session } from './interface/bot.js';
|
4
|
-
import { Config } from './config.js';
|
5
|
-
import { APIService } from './service/api/index.js';
|
6
|
-
import './interface/db/models.js';
|
7
|
-
import { UserPreferenceStore } from './service/preference.js';
|
8
|
-
import { BSMap } from './service/api/interfaces/beatsaver/bsmap.js';
|
9
|
-
import { RenderOptions as RenderOptions$1 } from './infra/support/render/puppeteer.js';
|
10
|
-
|
11
|
-
type RenderOption = RenderOptions & RenderOptions$1;
|
12
|
-
type RenderOptions = {
|
13
|
-
userPreference?: UserPreferenceStore;
|
14
|
-
onRenderStart?: () => void;
|
15
|
-
onRenderError?: (e: any) => void;
|
16
|
-
};
|
17
|
-
interface IRenderService {
|
18
|
-
renderRank(accountId: string, platform: Platform, renderOpts?: RenderOption): Promise<Buffer>;
|
19
|
-
renderScore(scoreId: string, renderOpts?: RenderOption): Promise<Buffer>;
|
20
|
-
renderMapById(mapId: string, renderOpts?: RenderOption): Promise<Buffer>;
|
21
|
-
renderMap(bsMap: BSMap, renderOpts?: RenderOption): Promise<Buffer>;
|
22
|
-
renderUrl(url: string, renderOpts?: RenderOption): Promise<Buffer>;
|
23
|
-
}
|
24
|
-
|
25
|
-
type Services<T> = {
|
26
|
-
render: IRenderService;
|
27
|
-
api: APIService;
|
28
|
-
db: DB<T>;
|
29
|
-
};
|
30
|
-
|
31
|
-
interface CmdContext<CHANNEL, OPT> {
|
32
|
-
logger: Logger;
|
33
|
-
config: Config;
|
34
|
-
session: Session;
|
35
|
-
options: OPT;
|
36
|
-
services: Services<CHANNEL>;
|
37
|
-
input: string;
|
38
|
-
}
|
39
|
-
type CmdExecutor<CHANNEL, OPT extends object = object> = (c: CmdContext<CHANNEL, OPT>) => Promise<void>;
|
40
|
-
interface CmdOption {
|
41
|
-
type: 'boolean' | 'number' | 'string';
|
42
|
-
name: string;
|
43
|
-
short?: string;
|
44
|
-
description?: string;
|
45
|
-
required?: boolean;
|
46
|
-
}
|
47
|
-
type CmdAlias = {
|
48
|
-
alias: string;
|
49
|
-
option?: object;
|
50
|
-
};
|
51
|
-
interface Command<CHANNEL> {
|
52
|
-
name: string;
|
53
|
-
description: string;
|
54
|
-
aliases: CmdAlias[];
|
55
|
-
options: CmdOption[];
|
56
|
-
callback: CmdExecutor<CHANNEL>;
|
57
|
-
children: Command<CHANNEL>[];
|
58
|
-
}
|
59
|
-
type Extend<BASE extends {}, N extends string, D> = {
|
60
|
-
[P in N | keyof BASE]?: (P extends keyof BASE ? BASE[P] : unknown) & (P extends N ? D : unknown);
|
61
|
-
};
|
62
|
-
type ExtractType<T extends string> = T extends 'string' ? string : T extends 'boolean' ? boolean : T extends 'number' ? number : any;
|
63
|
-
type Nullable<T> = T | null;
|
64
|
-
type ExtractNullSafeType<T extends string> = T extends `${infer Type}?` ? Nullable<ExtractType<Type>> : ExtractType<T>;
|
65
|
-
type OptionType<T extends string> = T extends `${infer L}:${infer R}` ? ExtractNullSafeType<R> : unknown;
|
66
|
-
|
67
|
-
declare enum Platform {
|
68
|
-
SS = "scoresaber",
|
69
|
-
BS = "beatsaver",
|
70
|
-
BL = "beatleader"
|
71
|
-
}
|
72
|
-
declare const parsePlatform: (p: string) => Platform.SS | Platform.BL;
|
73
|
-
|
74
|
-
export { type Command as C, type Extend as E, type IRenderService as I, type OptionType as O, Platform as P, type RenderOption as R, type Services as S, type CmdContext as a, type CmdExecutor as b, type CmdOption as c, type CmdAlias as d, parsePlatform as p };
|
@@ -1,69 +0,0 @@
|
|
1
|
-
declare class UnexpectedError extends Error {
|
2
|
-
constructor();
|
3
|
-
}
|
4
|
-
declare class BizError extends Error {
|
5
|
-
id: string;
|
6
|
-
params?: any;
|
7
|
-
}
|
8
|
-
declare class ScoreNotFoundError extends BizError {
|
9
|
-
constructor(params?: any);
|
10
|
-
}
|
11
|
-
declare class AccountBindingNotFoundError extends BizError {
|
12
|
-
constructor(params?: any);
|
13
|
-
}
|
14
|
-
declare class UnknownUserIDError extends BizError {
|
15
|
-
constructor(params?: any);
|
16
|
-
}
|
17
|
-
declare class InvalidMapIdError extends BizError {
|
18
|
-
constructor(params?: any);
|
19
|
-
}
|
20
|
-
declare class MapIdNotFoundError extends BizError {
|
21
|
-
constructor(params?: any);
|
22
|
-
}
|
23
|
-
declare class BLIDNotFoundError extends BizError {
|
24
|
-
constructor(params?: any);
|
25
|
-
}
|
26
|
-
declare class SSIDNotFoundError extends BizError {
|
27
|
-
constructor(params?: any);
|
28
|
-
}
|
29
|
-
declare class BSIDNotFoundError extends BizError {
|
30
|
-
constructor(params?: any);
|
31
|
-
}
|
32
|
-
declare class ScoreSaberIDNotFoundError extends BizError {
|
33
|
-
constructor(params?: any);
|
34
|
-
}
|
35
|
-
declare class SessionPromotionTimeoutError extends BizError {
|
36
|
-
constructor(params?: any);
|
37
|
-
}
|
38
|
-
declare class SessionPromotionCancelError extends BizError {
|
39
|
-
constructor(params?: any);
|
40
|
-
}
|
41
|
-
declare class SubscriptionExistError extends BizError {
|
42
|
-
constructor(params?: any);
|
43
|
-
}
|
44
|
-
declare class NoneSubscriptionExistError extends BizError {
|
45
|
-
constructor(params?: any);
|
46
|
-
}
|
47
|
-
declare class SubscriptionNotExistError extends BizError {
|
48
|
-
constructor(params?: any);
|
49
|
-
}
|
50
|
-
declare class BSMapperSubscriptionNotExistError extends BizError {
|
51
|
-
constructor(params?: any);
|
52
|
-
}
|
53
|
-
declare class ImageRenderError extends BizError {
|
54
|
-
constructor(params?: any);
|
55
|
-
}
|
56
|
-
declare class RequestError extends BizError {
|
57
|
-
constructor(params?: any);
|
58
|
-
}
|
59
|
-
declare class ReachNetworkRetryLimitError extends BizError {
|
60
|
-
constructor(params?: any);
|
61
|
-
}
|
62
|
-
declare class NotImplementedError extends BizError {
|
63
|
-
constructor(params?: any);
|
64
|
-
}
|
65
|
-
declare class EmptyPromptError extends BizError {
|
66
|
-
constructor(params?: any);
|
67
|
-
}
|
68
|
-
|
69
|
-
export { AccountBindingNotFoundError, BLIDNotFoundError, BSIDNotFoundError, BSMapperSubscriptionNotExistError, BizError, EmptyPromptError, ImageRenderError, InvalidMapIdError, MapIdNotFoundError, NoneSubscriptionExistError, NotImplementedError, ReachNetworkRetryLimitError, RequestError, SSIDNotFoundError, ScoreNotFoundError, ScoreSaberIDNotFoundError, SessionPromotionCancelError, SessionPromotionTimeoutError, SubscriptionExistError, SubscriptionNotExistError, UnexpectedError, UnknownUserIDError };
|
@@ -1,16 +0,0 @@
|
|
1
|
-
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
|
-
declare function interpolate(template: string, data: any): string;
|
15
|
-
|
16
|
-
export { Parser, interpolate };
|
@@ -1,6 +0,0 @@
|
|
1
|
-
export { CFBrowserRendering, ImageRender, PuppeteerRendering, RemoteBrowserGetter, RenderConfig, getImageRender } from './support/render/index.js';
|
2
|
-
export { tran } from './i18n/index.js';
|
3
|
-
export { RenderOptions as PuppeteerOptions } from './support/render/puppeteer.js';
|
4
|
-
import 'puppeteer-core';
|
5
|
-
import './support/fetch/ofetch.js';
|
6
|
-
import 'ofetch';
|
@@ -1,20 +0,0 @@
|
|
1
|
-
interface S3Config {
|
2
|
-
s3AccessKey: string;
|
3
|
-
s3SecretKey: string;
|
4
|
-
endpoint: string;
|
5
|
-
region: string | undefined;
|
6
|
-
bucketName: string;
|
7
|
-
keyPrefix: string;
|
8
|
-
baseURL: string;
|
9
|
-
}
|
10
|
-
declare class S3Service {
|
11
|
-
private s3Client;
|
12
|
-
private readonly bucket;
|
13
|
-
private readonly keyPrefix;
|
14
|
-
private readonly baseURL;
|
15
|
-
constructor(config: S3Config);
|
16
|
-
uploadImgWithUrl(url: string, mimeType?: string): Promise<string>;
|
17
|
-
uploadImg(buffer: Buffer, mimeType?: string): Promise<string>;
|
18
|
-
}
|
19
|
-
|
20
|
-
export { type S3Config, S3Service };
|
@@ -1,11 +0,0 @@
|
|
1
|
-
declare class RequestError extends Error {
|
2
|
-
constructor(message?: string);
|
3
|
-
}
|
4
|
-
declare class NotFoundError extends Error {
|
5
|
-
constructor(message?: string);
|
6
|
-
}
|
7
|
-
declare class RateLimitError extends Error {
|
8
|
-
constructor(message?: string);
|
9
|
-
}
|
10
|
-
|
11
|
-
export { NotFoundError, RateLimitError, RequestError };
|
@@ -1,24 +0,0 @@
|
|
1
|
-
import * as ofetch from 'ofetch';
|
2
|
-
import { $Fetch, FetchOptions, ResponseType } from 'ofetch';
|
3
|
-
export { createFetch } from 'ofetch';
|
4
|
-
|
5
|
-
declare const rofetch: $Fetch;
|
6
|
-
type ExtendFetchOptions<R extends ResponseType = ResponseType, T = any> = {
|
7
|
-
form?: Record<string, any>;
|
8
|
-
} & FetchOptions<R, T>;
|
9
|
-
declare class Fetch {
|
10
|
-
private options?;
|
11
|
-
private ofetchInstance;
|
12
|
-
constructor(fetchInstance?: $Fetch, options?: FetchOptions);
|
13
|
-
fetch<T, R extends ResponseType>(request: string, options?: ExtendFetchOptions<R, T>): Promise<ofetch.MappedResponseType<R, T>>;
|
14
|
-
get<T = any, R extends ResponseType = 'json'>(request: string, options?: ExtendFetchOptions<R>): Promise<ofetch.MappedResponseType<R, T>>;
|
15
|
-
post<T = any, R extends ResponseType = 'json'>(request: string, options?: ExtendFetchOptions<R>): Promise<ofetch.MappedResponseType<R, T>>;
|
16
|
-
put<T = any, R extends ResponseType = 'json'>(request: string, options?: ExtendFetchOptions<R>): Promise<ofetch.MappedResponseType<R, any>>;
|
17
|
-
patch<T = any, R extends ResponseType = 'json'>(request: string, options?: ExtendFetchOptions<R>): Promise<ofetch.MappedResponseType<R, any>>;
|
18
|
-
delete<T = any, R extends ResponseType = 'json'>(request: string, options?: ExtendFetchOptions<R>): Promise<ofetch.MappedResponseType<R, any>>;
|
19
|
-
head(request: string, options?: FetchOptions): Promise<any>;
|
20
|
-
extend(options: FetchOptions): Fetch;
|
21
|
-
baseUrl(url: string): Fetch;
|
22
|
-
}
|
23
|
-
|
24
|
-
export { type ExtendFetchOptions, Fetch, rofetch };
|
@@ -1,38 +0,0 @@
|
|
1
|
-
import { RenderOptions } from './puppeteer.js';
|
2
|
-
import { Browser } from 'puppeteer-core';
|
3
|
-
import { Fetch } from '../fetch/ofetch.js';
|
4
|
-
import 'ofetch';
|
5
|
-
|
6
|
-
interface ImageRender {
|
7
|
-
html2img: (html: string, opt: RenderOptions) => Promise<Buffer>;
|
8
|
-
url2img: (url: string, opt: RenderOptions) => Promise<Buffer>;
|
9
|
-
}
|
10
|
-
type RenderConfig = {
|
11
|
-
mode: 'cf' | 'puppeteer';
|
12
|
-
puppeteerURL?: string;
|
13
|
-
defaultWaitTimeout?: number;
|
14
|
-
waitTimeout?: number;
|
15
|
-
cfAccountId?: string;
|
16
|
-
cfAPIKey?: string;
|
17
|
-
};
|
18
|
-
declare class CFBrowserRendering implements ImageRender {
|
19
|
-
private accountId;
|
20
|
-
private cfAPIKey;
|
21
|
-
f: Fetch;
|
22
|
-
constructor(accountId: string, cfAPIKey: string);
|
23
|
-
private post;
|
24
|
-
html2img(html: string, opt: RenderOptions): Promise<Buffer>;
|
25
|
-
url2img(url: string, opt: RenderOptions): Promise<Buffer>;
|
26
|
-
}
|
27
|
-
declare class PuppeteerRendering implements ImageRender {
|
28
|
-
private browserGetter;
|
29
|
-
constructor(browserGetter: () => Promise<Browser>);
|
30
|
-
html2img(html: string, opt: RenderOptions): Promise<Buffer>;
|
31
|
-
url2img(html: string, opt: RenderOptions): Promise<Buffer>;
|
32
|
-
}
|
33
|
-
declare const RemoteBrowserGetter: (addr: string) => () => Promise<Browser>;
|
34
|
-
declare const getImageRender: (cfg: RenderConfig & {
|
35
|
-
browserGetter?: () => Promise<Browser>;
|
36
|
-
}) => CFBrowserRendering | PuppeteerRendering;
|
37
|
-
|
38
|
-
export { CFBrowserRendering, type ImageRender, RenderOptions as PuppeteerOptions, PuppeteerRendering, RemoteBrowserGetter, type RenderConfig, getImageRender };
|
@@ -1,43 +0,0 @@
|
|
1
|
-
import { ScreenshotOptions, Viewport, Browser } from 'puppeteer-core';
|
2
|
-
|
3
|
-
/**
|
4
|
-
* Extends Puppeteer's ScreenshotOptions to include an optional viewport setting
|
5
|
-
* and a selector for element-specific screenshots.
|
6
|
-
*/
|
7
|
-
interface RenderOptions extends ScreenshotOptions {
|
8
|
-
/**
|
9
|
-
* Sets the viewport of the page.
|
10
|
-
*/
|
11
|
-
viewport?: Viewport;
|
12
|
-
/**
|
13
|
-
* A CSS selector for an element to screenshot. If provided, the output
|
14
|
-
* will be a screenshot of just this element.
|
15
|
-
*/
|
16
|
-
selector?: string;
|
17
|
-
/**
|
18
|
-
* The maximum time in milliseconds to wait for the selector to appear.
|
19
|
-
* If the element is not found within this time, an error will be thrown.
|
20
|
-
* Defaults to Puppeteer's default (usually 30000ms).
|
21
|
-
*/
|
22
|
-
timeout?: number;
|
23
|
-
}
|
24
|
-
/**
|
25
|
-
* Renders an HTML string into an image buffer using a provided Puppeteer browser instance.
|
26
|
-
*
|
27
|
-
* @param browser The active Puppeteer Browser instance.
|
28
|
-
* @param html The HTML content to render.
|
29
|
-
* @param options Configuration for the rendering process.
|
30
|
-
* @returns A Promise that resolves to a Buffer containing the screenshot image.
|
31
|
-
*/
|
32
|
-
declare function html2imgBuffer(browser: Browser | (() => Promise<Browser>), html: string, options?: RenderOptions): Promise<Buffer>;
|
33
|
-
/**
|
34
|
-
* Captures a screenshot of a given URL and returns it as an image buffer.
|
35
|
-
*
|
36
|
-
* @param browser The active Puppeteer Browser instance.
|
37
|
-
* @param url The URL of the webpage to capture.
|
38
|
-
* @param options Configuration for the rendering process.
|
39
|
-
* @returns A Promise that resolves to a Buffer containing the screenshot image.
|
40
|
-
*/
|
41
|
-
declare function url2imgBuffer(browser: Browser | (() => Promise<Browser>), url: string, options?: RenderOptions): Promise<Buffer>;
|
42
|
-
|
43
|
-
export { type RenderOptions, html2imgBuffer, url2imgBuffer };
|
@@ -1,22 +0,0 @@
|
|
1
|
-
import { RelateChannelInfo } from './db/models.js';
|
2
|
-
|
3
|
-
type ChannelInfo = any;
|
4
|
-
interface BotService<T extends ChannelInfo, S extends Session<T>> {
|
5
|
-
getSessionByChannelInfo(channelInfo: T): S;
|
6
|
-
}
|
7
|
-
interface Session<T extends any = any> {
|
8
|
-
u: RelateChannelInfo<T>;
|
9
|
-
g: RelateChannelInfo<T>;
|
10
|
-
mentions: (RelateChannelInfo<T> | undefined)[];
|
11
|
-
getSessionInfo(): T;
|
12
|
-
sendImgBuffer(content: any, mimeType?: string): Promise<void>;
|
13
|
-
sendImgByUrl(url: string): Promise<void>;
|
14
|
-
sendAudioByUrl(url: string): Promise<void>;
|
15
|
-
send(msg: string): Promise<void>;
|
16
|
-
sendQueued(msg: string): Promise<void>;
|
17
|
-
sendQuote(msg: string): Promise<void>;
|
18
|
-
text(path: string, args?: any): string;
|
19
|
-
prompt(timeout?: number): Promise<string | undefined>;
|
20
|
-
}
|
21
|
-
|
22
|
-
export type { BotService, Session };
|
@@ -1,53 +0,0 @@
|
|
1
|
-
import { E as Extend, O as OptionType, b as CmdExecutor, d as CmdAlias, c as CmdOption, a as CmdContext } from '../../index-Dagy_c8G.js';
|
2
|
-
import '../db/index.js';
|
3
|
-
import '../db/models.js';
|
4
|
-
import '../logger.js';
|
5
|
-
import '../bot.js';
|
6
|
-
import '../../config.js';
|
7
|
-
import '../../infra/s3/index.js';
|
8
|
-
import '../../infra/support/render/index.js';
|
9
|
-
import '../../infra/support/render/puppeteer.js';
|
10
|
-
import 'puppeteer-core';
|
11
|
-
import '../../infra/support/fetch/ofetch.js';
|
12
|
-
import 'ofetch';
|
13
|
-
import '../../service/api/index.js';
|
14
|
-
import '../../service/api/interfaces/scoresaber/item.js';
|
15
|
-
import '../../service/api/interfaces/scoresaber/user.js';
|
16
|
-
import '../../service/api/interfaces/beatleader/score.js';
|
17
|
-
import '../../service/api/interfaces/beatleader/user.js';
|
18
|
-
import '../../service/api/base/ssclient.js';
|
19
|
-
import '../../service/api/interfaces/scoresaber/resp.js';
|
20
|
-
import '../../service/api/interfaces/scoresaber/leaderboard.js';
|
21
|
-
import '../../service/api/base/blclient.js';
|
22
|
-
import '../../service/api/interfaces/index.js';
|
23
|
-
import '../../service/api/interfaces/beatleader/req.js';
|
24
|
-
import '../../service/api/base/aioclient.js';
|
25
|
-
import '../../service/api/interfaces/aiosaber/index.js';
|
26
|
-
import '../../service/api/base/bsclient.js';
|
27
|
-
import '../../service/api/interfaces/beatsaver/bsmap.js';
|
28
|
-
import '../../service/api/interfaces/beatsaver/resp.js';
|
29
|
-
import '../../service/api/interfaces/beatsaver/user.js';
|
30
|
-
import '../../service/preference.js';
|
31
|
-
|
32
|
-
declare class CommandBuilder<CHANNEL, OPT extends {} = {}> {
|
33
|
-
private name;
|
34
|
-
private description;
|
35
|
-
private options;
|
36
|
-
private aliases;
|
37
|
-
constructor();
|
38
|
-
static create(name: string): CommandBuilder<unknown, {}>;
|
39
|
-
addOption<N extends string, D extends string>(name: N, description: D): CommandBuilder<CHANNEL, Extend<OPT, N, OptionType<D>>>;
|
40
|
-
addAlias(alias: string, option?: object): this;
|
41
|
-
setName<T extends string>(name: T): this;
|
42
|
-
setDescription(description: string): this;
|
43
|
-
setExecutor(executor: CmdExecutor<CHANNEL, OPT>): {
|
44
|
-
name: string;
|
45
|
-
description: string;
|
46
|
-
aliases: CmdAlias[];
|
47
|
-
options: CmdOption[];
|
48
|
-
callback: (c: CmdContext<CHANNEL, OPT>) => Promise<void>;
|
49
|
-
children: any[];
|
50
|
-
};
|
51
|
-
}
|
52
|
-
|
53
|
-
export { CommandBuilder };
|
@@ -1,30 +0,0 @@
|
|
1
|
-
import '../../config.js';
|
2
|
-
import '../logger.js';
|
3
|
-
import '../bot.js';
|
4
|
-
export { d as CmdAlias, a as CmdContext, b as CmdExecutor, c as CmdOption, C as Command, E as Extend, O as OptionType } from '../../index-Dagy_c8G.js';
|
5
|
-
import '../../infra/s3/index.js';
|
6
|
-
import '../../infra/support/render/index.js';
|
7
|
-
import '../../infra/support/render/puppeteer.js';
|
8
|
-
import 'puppeteer-core';
|
9
|
-
import '../../infra/support/fetch/ofetch.js';
|
10
|
-
import 'ofetch';
|
11
|
-
import '../db/models.js';
|
12
|
-
import '../db/index.js';
|
13
|
-
import '../../service/api/index.js';
|
14
|
-
import '../../service/api/interfaces/scoresaber/item.js';
|
15
|
-
import '../../service/api/interfaces/scoresaber/user.js';
|
16
|
-
import '../../service/api/interfaces/beatleader/score.js';
|
17
|
-
import '../../service/api/interfaces/beatleader/user.js';
|
18
|
-
import '../../service/api/base/ssclient.js';
|
19
|
-
import '../../service/api/interfaces/scoresaber/resp.js';
|
20
|
-
import '../../service/api/interfaces/scoresaber/leaderboard.js';
|
21
|
-
import '../../service/api/base/blclient.js';
|
22
|
-
import '../../service/api/interfaces/index.js';
|
23
|
-
import '../../service/api/interfaces/beatleader/req.js';
|
24
|
-
import '../../service/api/base/aioclient.js';
|
25
|
-
import '../../service/api/interfaces/aiosaber/index.js';
|
26
|
-
import '../../service/api/base/bsclient.js';
|
27
|
-
import '../../service/api/interfaces/beatsaver/bsmap.js';
|
28
|
-
import '../../service/api/interfaces/beatsaver/resp.js';
|
29
|
-
import '../../service/api/interfaces/beatsaver/user.js';
|
30
|
-
import '../../service/preference.js';
|
@@ -1,45 +0,0 @@
|
|
1
|
-
import { RelateAccount, RelateChannelInfo, Subscribe, SubscribeMember } from './models.js';
|
2
|
-
export { UserPreference } from './models.js';
|
3
|
-
|
4
|
-
interface SubInfoRes {
|
5
|
-
subscribe: Subscribe;
|
6
|
-
memberCount: number;
|
7
|
-
me: any;
|
8
|
-
}
|
9
|
-
interface SubInfoRes {
|
10
|
-
subscribe: Subscribe;
|
11
|
-
memberCount: number;
|
12
|
-
me: any;
|
13
|
-
}
|
14
|
-
interface SubDetailWithGroupRes<T> {
|
15
|
-
account: RelateAccount;
|
16
|
-
accountChannel: RelateChannelInfo<T>;
|
17
|
-
subscribeMember: SubscribeMember;
|
18
|
-
subscribe: Subscribe;
|
19
|
-
groupChannel: RelateChannelInfo<T>;
|
20
|
-
}
|
21
|
-
interface SubWithGroupRes<T> {
|
22
|
-
subscribe: Subscribe;
|
23
|
-
groupChannel: RelateChannelInfo<T>;
|
24
|
-
}
|
25
|
-
interface DB<T> {
|
26
|
-
storeUserPreference<V = any>(uid: number, value: V): Promise<boolean>;
|
27
|
-
getUserPreference<V = any>(uid: number): Promise<V>;
|
28
|
-
getUserAccountsByUid(id: number): Promise<Record<string, RelateAccount>>;
|
29
|
-
batchGetOrCreateUBySessionInfo(s: T[]): Promise<RelateChannelInfo<T>[]>;
|
30
|
-
getUAndGBySessionInfo(s: T): Promise<[RelateChannelInfo<T>, RelateChannelInfo<T>]>;
|
31
|
-
addUserBindingInfo(account: Partial<RelateAccount>): Promise<void>;
|
32
|
-
upsertSubscription(data: Partial<Subscribe>): Promise<void>;
|
33
|
-
getSubscriptionInfoByUGID(gid: number, uid: number): Promise<SubInfoRes[]>;
|
34
|
-
getSubscriptionsByGID(gid: number): Promise<Record<string, Subscribe>>;
|
35
|
-
getIDSubscriptionByGID(gid: number): Promise<Subscribe[]>;
|
36
|
-
getIDSubscriptionByType(type: string): Promise<SubWithGroupRes<T>[]>;
|
37
|
-
removeIDSubscriptionByID(id: number): Promise<void>;
|
38
|
-
getIDSubscriptionByGIDAndType(gid: number, type: string): Promise<Subscribe[]>;
|
39
|
-
getAllSubscriptionByUIDAndPlatform(id: string | number, type: string): Promise<SubDetailWithGroupRes<T>[]>;
|
40
|
-
getSubscriptionsByType(type: string): Promise<SubDetailWithGroupRes<T>[]>;
|
41
|
-
addSubscribeMember(data: Partial<SubscribeMember>): Promise<void>;
|
42
|
-
removeFromSubGroupBySubAndUid(subId: number, id: number): Promise<void>;
|
43
|
-
}
|
44
|
-
|
45
|
-
export { type DB, RelateAccount, RelateChannelInfo, type SubDetailWithGroupRes, type SubInfoRes, type SubWithGroupRes, Subscribe, SubscribeMember };
|
@@ -1,41 +0,0 @@
|
|
1
|
-
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
|
-
interface SubscribeMember {
|
17
|
-
subscribeId: number;
|
18
|
-
memberUid: number;
|
19
|
-
subscribeData: any;
|
20
|
-
joinedAt: Date;
|
21
|
-
}
|
22
|
-
interface Subscribe {
|
23
|
-
id: number;
|
24
|
-
gid: number;
|
25
|
-
type: string;
|
26
|
-
time: Date;
|
27
|
-
enable: boolean;
|
28
|
-
data: any;
|
29
|
-
}
|
30
|
-
type RelateChannelInfo<CHANNEL> = {
|
31
|
-
id: number;
|
32
|
-
name: string;
|
33
|
-
type: 'user' | 'group' | string;
|
34
|
-
} & CHANNEL;
|
35
|
-
type UserPreference<T = any> = {
|
36
|
-
uid: number;
|
37
|
-
gid: number;
|
38
|
-
data: T;
|
39
|
-
};
|
40
|
-
|
41
|
-
export type { RelateAccount, RelateChannelInfo, Subscribe, SubscribeMember, UserPreference };
|
@@ -1,30 +0,0 @@
|
|
1
|
-
export { DB, SubDetailWithGroupRes, SubInfoRes, SubWithGroupRes } from './db/index.js';
|
2
|
-
export { Logger } from './logger.js';
|
3
|
-
export { BotService, Session } from './bot.js';
|
4
|
-
export { d as CmdAlias, a as CmdContext, b as CmdExecutor, c as CmdOption, C as Command, E as Extend, O as OptionType, P as Platform, p as parsePlatform } from '../index-Dagy_c8G.js';
|
5
|
-
export { RelateAccount, RelateChannelInfo, Subscribe, SubscribeMember, UserPreference } from './db/models.js';
|
6
|
-
import '../config.js';
|
7
|
-
import '../infra/s3/index.js';
|
8
|
-
import '../infra/support/render/index.js';
|
9
|
-
import '../infra/support/render/puppeteer.js';
|
10
|
-
import 'puppeteer-core';
|
11
|
-
import '../infra/support/fetch/ofetch.js';
|
12
|
-
import 'ofetch';
|
13
|
-
import '../service/api/index.js';
|
14
|
-
import '../service/api/interfaces/scoresaber/item.js';
|
15
|
-
import '../service/api/interfaces/scoresaber/user.js';
|
16
|
-
import '../service/api/interfaces/beatleader/score.js';
|
17
|
-
import '../service/api/interfaces/beatleader/user.js';
|
18
|
-
import '../service/api/base/ssclient.js';
|
19
|
-
import '../service/api/interfaces/scoresaber/resp.js';
|
20
|
-
import '../service/api/interfaces/scoresaber/leaderboard.js';
|
21
|
-
import '../service/api/base/blclient.js';
|
22
|
-
import '../service/api/interfaces/index.js';
|
23
|
-
import '../service/api/interfaces/beatleader/req.js';
|
24
|
-
import '../service/api/base/aioclient.js';
|
25
|
-
import '../service/api/interfaces/aiosaber/index.js';
|
26
|
-
import '../service/api/base/bsclient.js';
|
27
|
-
import '../service/api/interfaces/beatsaver/bsmap.js';
|
28
|
-
import '../service/api/interfaces/beatsaver/resp.js';
|
29
|
-
import '../service/api/interfaces/beatsaver/user.js';
|
30
|
-
import '../service/preference.js';
|
@@ -1,40 +0,0 @@
|
|
1
|
-
import { ScheduleTaskCtx } from './interface.js';
|
2
|
-
import { Config } from '../config.js';
|
3
|
-
import '../interface/logger.js';
|
4
|
-
import '../interface/bot.js';
|
5
|
-
import '../interface/db/models.js';
|
6
|
-
import '../index-Dagy_c8G.js';
|
7
|
-
import '../interface/db/index.js';
|
8
|
-
import '../service/api/index.js';
|
9
|
-
import '../service/api/interfaces/scoresaber/item.js';
|
10
|
-
import '../service/api/interfaces/scoresaber/user.js';
|
11
|
-
import '../service/api/interfaces/beatleader/score.js';
|
12
|
-
import '../service/api/interfaces/beatleader/user.js';
|
13
|
-
import '../service/api/base/ssclient.js';
|
14
|
-
import '../infra/support/fetch/ofetch.js';
|
15
|
-
import 'ofetch';
|
16
|
-
import '../service/api/interfaces/scoresaber/resp.js';
|
17
|
-
import '../service/api/interfaces/scoresaber/leaderboard.js';
|
18
|
-
import '../service/api/base/blclient.js';
|
19
|
-
import '../service/api/interfaces/index.js';
|
20
|
-
import '../service/api/interfaces/beatleader/req.js';
|
21
|
-
import '../service/api/base/aioclient.js';
|
22
|
-
import '../service/api/interfaces/aiosaber/index.js';
|
23
|
-
import '../service/api/base/bsclient.js';
|
24
|
-
import '../service/api/interfaces/beatsaver/bsmap.js';
|
25
|
-
import '../service/api/interfaces/beatsaver/resp.js';
|
26
|
-
import '../service/api/interfaces/beatsaver/user.js';
|
27
|
-
import '../service/preference.js';
|
28
|
-
import '../infra/support/render/puppeteer.js';
|
29
|
-
import 'puppeteer-core';
|
30
|
-
import '../infra/s3/index.js';
|
31
|
-
import '../infra/support/render/index.js';
|
32
|
-
|
33
|
-
declare const getScheduleTasks: (config: Config) => {
|
34
|
-
name: string;
|
35
|
-
handler: <T>(c: ScheduleTaskCtx<T>) => Promise<void>;
|
36
|
-
cron: string;
|
37
|
-
enable: boolean;
|
38
|
-
}[];
|
39
|
-
|
40
|
-
export { getScheduleTasks };
|
@@ -1,45 +0,0 @@
|
|
1
|
-
import { Config } from '../config.js';
|
2
|
-
import { Logger } from '../interface/logger.js';
|
3
|
-
import { BotService, Session } from '../interface/bot.js';
|
4
|
-
import { S as Services } from '../index-Dagy_c8G.js';
|
5
|
-
import '../infra/s3/index.js';
|
6
|
-
import '../infra/support/render/index.js';
|
7
|
-
import '../infra/support/render/puppeteer.js';
|
8
|
-
import 'puppeteer-core';
|
9
|
-
import '../infra/support/fetch/ofetch.js';
|
10
|
-
import 'ofetch';
|
11
|
-
import '../interface/db/models.js';
|
12
|
-
import '../interface/db/index.js';
|
13
|
-
import '../service/api/index.js';
|
14
|
-
import '../service/api/interfaces/scoresaber/item.js';
|
15
|
-
import '../service/api/interfaces/scoresaber/user.js';
|
16
|
-
import '../service/api/interfaces/beatleader/score.js';
|
17
|
-
import '../service/api/interfaces/beatleader/user.js';
|
18
|
-
import '../service/api/base/ssclient.js';
|
19
|
-
import '../service/api/interfaces/scoresaber/resp.js';
|
20
|
-
import '../service/api/interfaces/scoresaber/leaderboard.js';
|
21
|
-
import '../service/api/base/blclient.js';
|
22
|
-
import '../service/api/interfaces/index.js';
|
23
|
-
import '../service/api/interfaces/beatleader/req.js';
|
24
|
-
import '../service/api/base/aioclient.js';
|
25
|
-
import '../service/api/interfaces/aiosaber/index.js';
|
26
|
-
import '../service/api/base/bsclient.js';
|
27
|
-
import '../service/api/interfaces/beatsaver/bsmap.js';
|
28
|
-
import '../service/api/interfaces/beatsaver/resp.js';
|
29
|
-
import '../service/api/interfaces/beatsaver/user.js';
|
30
|
-
import '../service/preference.js';
|
31
|
-
|
32
|
-
type ScheduleTaskCtx<T> = {
|
33
|
-
config: Config;
|
34
|
-
logger: Logger;
|
35
|
-
services: Services<T>;
|
36
|
-
botService: BotService<T, Session<T>>;
|
37
|
-
};
|
38
|
-
type ScheduleTask = {
|
39
|
-
name: string;
|
40
|
-
cron: string;
|
41
|
-
handler: <T>(c: ScheduleTaskCtx<T>) => Promise<void>;
|
42
|
-
enable: boolean;
|
43
|
-
};
|
44
|
-
|
45
|
-
export type { ScheduleTask, ScheduleTaskCtx };
|