chz-telegram-bot 0.0.39 → 0.0.41
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/entities/botInstance.d.ts +1 -0
- package/dist/entities/botInstance.d.ts.map +1 -1
- package/dist/entities/botInstance.js +8 -4
- package/dist/services/logger.d.ts +1 -0
- package/dist/services/logger.d.ts.map +1 -1
- package/dist/services/logger.js +8 -0
- package/entities/botInstance.ts +23 -9
- package/package.json +1 -1
- package/services/logger.ts +13 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"botInstance.d.ts","sourceRoot":"","sources":["../../entities/botInstance.ts"],"names":[],"mappings":"AAKA,OAAO,EAAuB,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGlD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAM5D,qBAAa,WAAW;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,GAAG,CAAqB;IAChC,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,QAAQ,CAAgC;IAChD,OAAO,CAAC,SAAS,CAAkC;IACnD,OAAO,CAAC,KAAK,CAAyB;IACtC,OAAO,EAAE,cAAc,CAAC;gBAEZ,OAAO,EAAE;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,aAAa,CAAC,YAAY,CAAC,EAAE,CAAC;QACxC,SAAS,EAAE,eAAe,CAAC,YAAY,CAAC,EAAE,CAAC;QAC3C,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC9B,aAAa,CAAC,EAAE,cAAc,CAAC;QAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,eAAe,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"botInstance.d.ts","sourceRoot":"","sources":["../../entities/botInstance.ts"],"names":[],"mappings":"AAKA,OAAO,EAAuB,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGlD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAM5D,qBAAa,WAAW;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,GAAG,CAAqB;IAChC,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,QAAQ,CAAgC;IAChD,OAAO,CAAC,SAAS,CAAkC;IACnD,OAAO,CAAC,KAAK,CAAyB;IACtC,OAAO,EAAE,cAAc,CAAC;gBAEZ,OAAO,EAAE;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,aAAa,CAAC,YAAY,CAAC,EAAE,CAAC;QACxC,SAAS,EAAE,eAAe,CAAC,YAAY,CAAC,EAAE,CAAC;QAC3C,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC9B,aAAa,CAAC,EAAE,cAAc,CAAC;QAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,gCAAgC,CAAC,EAAE,OAAO,CAAC;KAC9C;IAqCD,OAAO,CAAC,6BAA6B;IA2CrC,OAAO,CAAC,2BAA2B;IAiC7B,IAAI,CAAC,IAAI,EAAE,MAAM;YAYT,YAAY;YAyBZ,cAAc;CAmB/B"}
|
|
@@ -25,7 +25,7 @@ class BotInstance {
|
|
|
25
25
|
options.storageClient ??
|
|
26
26
|
new jsonFileStorage_1.JsonFileStorage(options.name, actions, options.storagePath);
|
|
27
27
|
this.api = new telegramApi_1.TelegramApiService(this.name, this.telegraf.telegram, this.storage, this.chats);
|
|
28
|
-
this.initializeMessageProcessing();
|
|
28
|
+
this.initializeMessageProcessing(options.verboseLoggingForIncomingMessage ?? false);
|
|
29
29
|
this.initializeScheduledProcessing(options.scheduledPeriod ?? (0, timeConvertions_1.hoursToSeconds)(1));
|
|
30
30
|
this.storage.saveMetadata(actions, this.name);
|
|
31
31
|
this.telegraf.launch();
|
|
@@ -51,15 +51,19 @@ class BotInstance {
|
|
|
51
51
|
}, delay, this.name);
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
|
-
initializeMessageProcessing() {
|
|
54
|
+
initializeMessageProcessing(verboseLoggingForIncomingMessage) {
|
|
55
55
|
if (this.commands.length > 0) {
|
|
56
56
|
this.telegraf.on('message', async (ctx) => {
|
|
57
|
-
console.dir(ctx.update);
|
|
58
57
|
const msg = new incomingMessage_1.IncomingMessage(ctx.update.message);
|
|
59
58
|
const messageContent = msg.text || `<non-text message: ${msg.type}>`;
|
|
60
59
|
const messageFromName = msg.from?.first_name ?? 'Unknown';
|
|
61
60
|
const messageFromId = msg.from?.id ?? 'Unknown';
|
|
62
|
-
|
|
61
|
+
if (verboseLoggingForIncomingMessage) {
|
|
62
|
+
logger_1.Logger.logObjectWithTraceId(this.name, msg.traceId, msg.chatName, ctx.update.message);
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
logger_1.Logger.logWithTraceId(this.name, msg.traceId, msg.chatName, `${messageFromName} (${messageFromId}): ${messageContent}`);
|
|
66
|
+
}
|
|
63
67
|
await this.processMessage(msg);
|
|
64
68
|
});
|
|
65
69
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
declare class JsonLogger {
|
|
2
2
|
private serializeError;
|
|
3
|
+
logObjectWithTraceId(botName: string, traceId: string | number, chatName: string, data: any): void;
|
|
3
4
|
logWithTraceId(botName: string, traceId: string | number, chatName: string, text: string): void;
|
|
4
5
|
errorWithTraceId<TData>(botName: string, traceId: string | number, chatName: string, errorObj: unknown, extraData?: TData | undefined): void;
|
|
5
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../services/logger.ts"],"names":[],"mappings":"AAAA,cAAM,UAAU;IAEZ,OAAO,CAAC,cAAc;IAQtB,cAAc,CACV,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GAAG,MAAM,EACxB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM;IAOhB,gBAAgB,CAAC,KAAK,EAClB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GAAG,MAAM,EACxB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,OAAO,EACjB,SAAS,CAAC,EAAE,KAAK,GAAG,SAAS;CAQpC;AAED,eAAO,MAAM,MAAM,YAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../services/logger.ts"],"names":[],"mappings":"AAAA,cAAM,UAAU;IAEZ,OAAO,CAAC,cAAc;IAQtB,oBAAoB,CAChB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GAAG,MAAM,EACxB,QAAQ,EAAE,MAAM,EAEhB,IAAI,EAAE,GAAG;IAQb,cAAc,CACV,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GAAG,MAAM,EACxB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM;IAOhB,gBAAgB,CAAC,KAAK,EAClB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GAAG,MAAM,EACxB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,OAAO,EACjB,SAAS,CAAC,EAAE,KAAK,GAAG,SAAS;CAQpC;AAED,eAAO,MAAM,MAAM,YAAmB,CAAC"}
|
package/dist/services/logger.js
CHANGED
|
@@ -10,6 +10,14 @@ class JsonLogger {
|
|
|
10
10
|
});
|
|
11
11
|
return JSON.stringify(plainObject);
|
|
12
12
|
}
|
|
13
|
+
logObjectWithTraceId(botName, traceId, chatName,
|
|
14
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
15
|
+
data) {
|
|
16
|
+
data.botName = botName;
|
|
17
|
+
data.traceId = traceId;
|
|
18
|
+
data.chatName = chatName;
|
|
19
|
+
console.log(data);
|
|
20
|
+
}
|
|
13
21
|
logWithTraceId(botName, traceId, chatName, text) {
|
|
14
22
|
console.log(`{"botName":"${botName}","traceId":"${traceId}","chatName":"${chatName}","text":"${text}"}`);
|
|
15
23
|
}
|
package/entities/botInstance.ts
CHANGED
|
@@ -33,6 +33,7 @@ export class BotInstance {
|
|
|
33
33
|
storageClient?: IStorageClient;
|
|
34
34
|
storagePath?: string;
|
|
35
35
|
scheduledPeriod?: Seconds;
|
|
36
|
+
verboseLoggingForIncomingMessage?: boolean;
|
|
36
37
|
}) {
|
|
37
38
|
this.name = options.name;
|
|
38
39
|
this.commands = options.commands;
|
|
@@ -58,7 +59,9 @@ export class BotInstance {
|
|
|
58
59
|
this.chats
|
|
59
60
|
);
|
|
60
61
|
|
|
61
|
-
this.initializeMessageProcessing(
|
|
62
|
+
this.initializeMessageProcessing(
|
|
63
|
+
options.verboseLoggingForIncomingMessage ?? false
|
|
64
|
+
);
|
|
62
65
|
this.initializeScheduledProcessing(
|
|
63
66
|
options.scheduledPeriod ?? hoursToSeconds(1 as Hours)
|
|
64
67
|
);
|
|
@@ -111,22 +114,33 @@ export class BotInstance {
|
|
|
111
114
|
);
|
|
112
115
|
}
|
|
113
116
|
}
|
|
114
|
-
private initializeMessageProcessing(
|
|
117
|
+
private initializeMessageProcessing(
|
|
118
|
+
verboseLoggingForIncomingMessage: boolean
|
|
119
|
+
) {
|
|
115
120
|
if (this.commands.length > 0) {
|
|
116
121
|
this.telegraf.on('message', async (ctx) => {
|
|
117
|
-
console.dir(ctx.update);
|
|
118
122
|
const msg = new IncomingMessage(ctx.update.message);
|
|
119
123
|
const messageContent =
|
|
120
124
|
msg.text || `<non-text message: ${msg.type}>`;
|
|
121
125
|
|
|
122
126
|
const messageFromName = msg.from?.first_name ?? 'Unknown';
|
|
123
127
|
const messageFromId = msg.from?.id ?? 'Unknown';
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
128
|
+
|
|
129
|
+
if (verboseLoggingForIncomingMessage) {
|
|
130
|
+
Logger.logObjectWithTraceId(
|
|
131
|
+
this.name,
|
|
132
|
+
msg.traceId,
|
|
133
|
+
msg.chatName,
|
|
134
|
+
ctx.update.message
|
|
135
|
+
);
|
|
136
|
+
} else {
|
|
137
|
+
Logger.logWithTraceId(
|
|
138
|
+
this.name,
|
|
139
|
+
msg.traceId,
|
|
140
|
+
msg.chatName,
|
|
141
|
+
`${messageFromName} (${messageFromId}): ${messageContent}`
|
|
142
|
+
);
|
|
143
|
+
}
|
|
130
144
|
|
|
131
145
|
await this.processMessage(msg);
|
|
132
146
|
});
|
package/package.json
CHANGED
package/services/logger.ts
CHANGED
|
@@ -8,6 +8,19 @@ class JsonLogger {
|
|
|
8
8
|
return JSON.stringify(plainObject);
|
|
9
9
|
}
|
|
10
10
|
|
|
11
|
+
logObjectWithTraceId(
|
|
12
|
+
botName: string,
|
|
13
|
+
traceId: string | number,
|
|
14
|
+
chatName: string,
|
|
15
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
16
|
+
data: any
|
|
17
|
+
) {
|
|
18
|
+
data.botName = botName;
|
|
19
|
+
data.traceId = traceId;
|
|
20
|
+
data.chatName = chatName;
|
|
21
|
+
console.log(data);
|
|
22
|
+
}
|
|
23
|
+
|
|
11
24
|
logWithTraceId(
|
|
12
25
|
botName: string,
|
|
13
26
|
traceId: string | number,
|