chz-telegram-bot 0.0.40 → 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 -3
- 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 -8
- 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,14 +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
57
|
const msg = new incomingMessage_1.IncomingMessage(ctx.update.message);
|
|
58
58
|
const messageContent = msg.text || `<non-text message: ${msg.type}>`;
|
|
59
59
|
const messageFromName = msg.from?.first_name ?? 'Unknown';
|
|
60
60
|
const messageFromId = msg.from?.id ?? 'Unknown';
|
|
61
|
-
|
|
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
|
+
}
|
|
62
67
|
await this.processMessage(msg);
|
|
63
68
|
});
|
|
64
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,7 +114,9 @@ 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
122
|
const msg = new IncomingMessage(ctx.update.message);
|
|
@@ -120,12 +125,22 @@ export class BotInstance {
|
|
|
120
125
|
|
|
121
126
|
const messageFromName = msg.from?.first_name ?? 'Unknown';
|
|
122
127
|
const messageFromId = msg.from?.id ?? 'Unknown';
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
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
|
+
}
|
|
129
144
|
|
|
130
145
|
await this.processMessage(msg);
|
|
131
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,
|