@edgenets/utils 0.1.4 → 0.1.6
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/types/notification.d.ts +44 -0
- package/dist/types/notification.d.ts.map +1 -0
- package/dist/types/notification.js +10 -0
- package/dist/types/notification.js.map +1 -0
- package/dist/utils/logger/default.d.ts +13 -0
- package/dist/utils/logger/default.d.ts.map +1 -0
- package/dist/utils/logger/default.js +27 -0
- package/dist/utils/logger/default.js.map +1 -0
- package/dist/utils/tasks/scheduler.d.ts +2 -1
- package/dist/utils/tasks/scheduler.d.ts.map +1 -1
- package/dist/utils/tasks/scheduler.js +5 -4
- package/dist/utils/tasks/scheduler.js.map +1 -1
- package/package.json +1 -1
@@ -0,0 +1,44 @@
|
|
1
|
+
export declare enum BotId {
|
2
|
+
edgenets = 7001972098,
|
3
|
+
ariagame = 6725302634,
|
4
|
+
zoomania = 7076105558,
|
5
|
+
playaria = 7075595472,
|
6
|
+
playgam = 7171779056
|
7
|
+
}
|
8
|
+
/** 样例说明
|
9
|
+
{
|
10
|
+
"chatId": "123456789",
|
11
|
+
"sendStatus": false,
|
12
|
+
"messageText": "Hello, this is your scheduled message!",
|
13
|
+
"mediaUrl": "https://example.com/media.mp4",
|
14
|
+
"keyboard": [
|
15
|
+
{
|
16
|
+
"text": "Visit Website",
|
17
|
+
"url": "https://example.com"
|
18
|
+
}
|
19
|
+
],
|
20
|
+
"messageFormat": "markdown",
|
21
|
+
"botId": 7171779056
|
22
|
+
}
|
23
|
+
*/
|
24
|
+
export interface Notification {
|
25
|
+
id: string;
|
26
|
+
jobId: string;
|
27
|
+
botId: BotId;
|
28
|
+
chatId: string;
|
29
|
+
sendStatus: boolean;
|
30
|
+
messageText: string;
|
31
|
+
messageFormat: "HTML" | "Markdown" | "MarkdownV2";
|
32
|
+
mediaUrl?: string;
|
33
|
+
mediaType: "Image" | "Video" | undefined;
|
34
|
+
keyboard?: {
|
35
|
+
text: string;
|
36
|
+
callback_data?: string;
|
37
|
+
url?: string;
|
38
|
+
}[];
|
39
|
+
errCount: number;
|
40
|
+
createdAt: Date;
|
41
|
+
alertedAt: Date;
|
42
|
+
updatedAt?: Date;
|
43
|
+
}
|
44
|
+
//# sourceMappingURL=notification.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"notification.d.ts","sourceRoot":"","sources":["../../src/types/notification.ts"],"names":[],"mappings":"AACA,oBAAY,KAAK;IACf,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,OAAO,aAAa;CACrB;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,GAAG,UAAU,GAAG,YAAY,CAAC;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,EAAE;QACT,IAAI,EAAE,MAAM,CAAC;QACb,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,EAAE,CAAC;IAEJ,QAAQ,EAAE,MAAM,CAAC;IAEjB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB"}
|
@@ -0,0 +1,10 @@
|
|
1
|
+
// ## Notification
|
2
|
+
export var BotId;
|
3
|
+
(function (BotId) {
|
4
|
+
BotId[BotId["edgenets"] = 7001972098] = "edgenets";
|
5
|
+
BotId[BotId["ariagame"] = 6725302634] = "ariagame";
|
6
|
+
BotId[BotId["zoomania"] = 7076105558] = "zoomania";
|
7
|
+
BotId[BotId["playaria"] = 7075595472] = "playaria";
|
8
|
+
BotId[BotId["playgam"] = 7171779056] = "playgam";
|
9
|
+
})(BotId || (BotId = {}));
|
10
|
+
//# sourceMappingURL=notification.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"notification.js","sourceRoot":"","sources":["../../src/types/notification.ts"],"names":[],"mappings":"AAAA,kBAAkB;AAClB,MAAM,CAAN,IAAY,KAMX;AAND,WAAY,KAAK;IACf,kDAAqB,CAAA;IACrB,kDAAqB,CAAA;IACrB,kDAAqB,CAAA;IACrB,kDAAqB,CAAA;IACrB,gDAAoB,CAAA;AACtB,CAAC,EANW,KAAK,KAAL,KAAK,QAMhB"}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import type { Logger } from "../../types/logger.js";
|
2
|
+
declare class ConsoleLogger implements Logger {
|
3
|
+
private static instance;
|
4
|
+
private constructor();
|
5
|
+
static getInstance(): ConsoleLogger;
|
6
|
+
debug(message: string): void;
|
7
|
+
warn(message: string): void;
|
8
|
+
info(message: string): void;
|
9
|
+
error(message: string): void;
|
10
|
+
}
|
11
|
+
export declare const consoleLogger: ConsoleLogger;
|
12
|
+
export {};
|
13
|
+
//# sourceMappingURL=default.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../../src/utils/logger/default.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,cAAM,aAAc,YAAW,MAAM;IACnC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA8B;IAErD,OAAO;WAEO,WAAW,IAAI,aAAa;IAO1C,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAG5B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAG3B,IAAI,CAAC,OAAO,EAAE,MAAM;IAGpB,KAAK,CAAC,OAAO,EAAE,MAAM;CAGtB;AAGD,eAAO,MAAM,aAAa,eAA8B,CAAC"}
|
@@ -0,0 +1,27 @@
|
|
1
|
+
class ConsoleLogger {
|
2
|
+
static instance = null;
|
3
|
+
// 私有构造函数,防止外部实例化
|
4
|
+
constructor() { }
|
5
|
+
// 获取单例实例的静态方法
|
6
|
+
static getInstance() {
|
7
|
+
if (!ConsoleLogger.instance) {
|
8
|
+
ConsoleLogger.instance = new ConsoleLogger();
|
9
|
+
}
|
10
|
+
return ConsoleLogger.instance;
|
11
|
+
}
|
12
|
+
debug(message) {
|
13
|
+
console.debug(`[DEBUG] ${message}`);
|
14
|
+
}
|
15
|
+
warn(message) {
|
16
|
+
console.warn(`[WARN] ${message}`);
|
17
|
+
}
|
18
|
+
info(message) {
|
19
|
+
console.log(`[INFO] ${message}`);
|
20
|
+
}
|
21
|
+
error(message) {
|
22
|
+
console.error(`[ERROR] ${message}`);
|
23
|
+
}
|
24
|
+
}
|
25
|
+
// 导出单一实例,保证全局唯一
|
26
|
+
export const consoleLogger = ConsoleLogger.getInstance();
|
27
|
+
//# sourceMappingURL=default.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"default.js","sourceRoot":"","sources":["../../../src/utils/logger/default.ts"],"names":[],"mappings":"AAEA,MAAM,aAAa;IACT,MAAM,CAAC,QAAQ,GAAyB,IAAI,CAAC;IACrD,iBAAiB;IACjB,gBAAuB,CAAC;IACxB,cAAc;IACP,MAAM,CAAC,WAAW;QACvB,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;YAC5B,aAAa,CAAC,QAAQ,GAAG,IAAI,aAAa,EAAE,CAAC;QAC/C,CAAC;QACD,OAAO,aAAa,CAAC,QAAQ,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,OAAe;QACnB,OAAO,CAAC,KAAK,CAAC,WAAW,OAAO,EAAE,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,CAAC,OAAe;QAClB,OAAO,CAAC,IAAI,CAAC,UAAU,OAAO,EAAE,CAAC,CAAC;IACpC,CAAC;IACD,IAAI,CAAC,OAAe;QAClB,OAAO,CAAC,GAAG,CAAC,UAAU,OAAO,EAAE,CAAC,CAAC;IACnC,CAAC;IACD,KAAK,CAAC,OAAe;QACnB,OAAO,CAAC,KAAK,CAAC,WAAW,OAAO,EAAE,CAAC,CAAC;IACtC,CAAC;;AAGH,gBAAgB;AAChB,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC"}
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import type { Logger } from "../../types/logger.js";
|
1
2
|
export type SchedulerTask = () => Promise<boolean>;
|
2
3
|
export interface SchedulerOptions {
|
3
4
|
interval?: number;
|
@@ -12,7 +13,7 @@ declare class Scheduler {
|
|
12
13
|
private tasks;
|
13
14
|
private constructor();
|
14
15
|
static getInstance(): Scheduler;
|
15
|
-
run(task: SchedulerTask, options: SchedulerOptions): void;
|
16
|
+
run(task: SchedulerTask, options: SchedulerOptions, logger?: Logger): void;
|
16
17
|
private handleTaskError;
|
17
18
|
private timeout;
|
18
19
|
private delay;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../../src/utils/tasks/scheduler.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;AAEnD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,cAAM,SAAS;IACb,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA0B;IACjD,OAAO,CAAC,KAAK,CAA2D;IAExE,OAAO;WAEO,WAAW,IAAI,SAAS;IAO/B,GAAG,
|
1
|
+
{"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../../src/utils/tasks/scheduler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAGpD,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;AAEnD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,cAAM,SAAS;IACb,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA0B;IACjD,OAAO,CAAC,KAAK,CAA2D;IAExE,OAAO;WAEO,WAAW,IAAI,SAAS;IAO/B,GAAG,CACR,IAAI,EAAE,aAAa,EACnB,OAAO,EAAE,gBAAgB,EACzB,MAAM,GAAE,MAAsB,GAC7B,IAAI;YAuDO,eAAe;IAmB7B,OAAO,CAAC,OAAO;IAMf,OAAO,CAAC,KAAK;IAIN,SAAS,IAAI,IAAI;CAMzB;AAGD,eAAO,MAAM,SAAS,WAA0B,CAAC"}
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import { consoleLogger } from "../logger/default.js";
|
1
2
|
class Scheduler {
|
2
3
|
static instance = null;
|
3
4
|
tasks = new Map();
|
@@ -10,7 +11,7 @@ class Scheduler {
|
|
10
11
|
}
|
11
12
|
return Scheduler.instance;
|
12
13
|
}
|
13
|
-
run(task, options) {
|
14
|
+
run(task, options, logger = consoleLogger) {
|
14
15
|
const { interval = 1000, // 默认 1000 毫秒
|
15
16
|
maxRecursions = 0, // 默认不迭代
|
16
17
|
maxRetries = 0, // 默认不重试
|
@@ -24,7 +25,7 @@ class Scheduler {
|
|
24
25
|
const executeTask = async () => {
|
25
26
|
try {
|
26
27
|
if (maxTotalTime && Date.now() - startTime > maxTotalTime) {
|
27
|
-
|
28
|
+
logger.info("达到总的最大执行时间,停止任务。");
|
28
29
|
this.cancelAll();
|
29
30
|
return;
|
30
31
|
}
|
@@ -35,7 +36,7 @@ class Scheduler {
|
|
35
36
|
counter++;
|
36
37
|
if (shouldContinue && counter < maxRecursions) {
|
37
38
|
if (counter % logInterval === 0) {
|
38
|
-
|
39
|
+
logger.info(`递归执行, 第 ${counter} 次, 已执行 ${(Date.now() - startTime) / 1000} 秒`);
|
39
40
|
}
|
40
41
|
this.tasks.set(setTimeout(async () => {
|
41
42
|
await executeTask();
|
@@ -76,7 +77,7 @@ class Scheduler {
|
|
76
77
|
this.tasks.clear();
|
77
78
|
}
|
78
79
|
}
|
79
|
-
//
|
80
|
+
// 导出单一实例,保证全局唯一
|
80
81
|
export const scheduler = Scheduler.getInstance();
|
81
82
|
///////////////
|
82
83
|
// 使用示例
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../../src/utils/tasks/scheduler.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../../src/utils/tasks/scheduler.ts"],"names":[],"mappings":"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"}
|