chz-telegram-bot 0.0.40 → 0.0.42
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/main.d.ts +2 -0
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +2 -1
- 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/main.ts +5 -1
- 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
|
}
|
package/dist/main.d.ts
CHANGED
|
@@ -24,6 +24,8 @@ declare function startBot(options: {
|
|
|
24
24
|
storagePath?: string;
|
|
25
25
|
/** Period of time between execution of scheduled actions. */
|
|
26
26
|
scheduledPeriod?: Seconds;
|
|
27
|
+
/** If true, telegram API objects will be logged instead of message content. */
|
|
28
|
+
verboseLoggingForIncomingMessage?: boolean;
|
|
27
29
|
}): Promise<BotInstance>;
|
|
28
30
|
/**
|
|
29
31
|
* Terminates all scheduled tasks, closes storage connections and stops all bots.
|
package/dist/main.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../main.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAQ7C;;GAEG;AACH,iBAAe,QAAQ,CAAC,OAAO,EAAE;IAC7B,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,aAAa,EAAE,MAAM,CAAC;IACtB,2HAA2H;IAC3H,QAAQ,EAAE,aAAa,CAAC,YAAY,CAAC,EAAE,CAAC;IACxC,mGAAmG;IACnG,SAAS,EAAE,eAAe,CAAC,YAAY,CAAC,EAAE,CAAC;IAC3C,yGAAyG;IACzG,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,qGAAqG;IACrG,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B,2KAA2K;IAC3K,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6DAA6D;IAC7D,eAAe,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../main.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAQ7C;;GAEG;AACH,iBAAe,QAAQ,CAAC,OAAO,EAAE;IAC7B,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,aAAa,EAAE,MAAM,CAAC;IACtB,2HAA2H;IAC3H,QAAQ,EAAE,aAAa,CAAC,YAAY,CAAC,EAAE,CAAC;IACxC,mGAAmG;IACnG,SAAS,EAAE,eAAe,CAAC,YAAY,CAAC,EAAE,CAAC;IAC3C,yGAAyG;IACzG,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,qGAAqG;IACrG,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B,2KAA2K;IAC3K,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6DAA6D;IAC7D,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,+EAA+E;IAC/E,gCAAgC,CAAC,EAAE,OAAO,CAAC;CAC9C,wBAiBA;AAED;;GAEG;AACH,iBAAe,QAAQ,CAAC,MAAM,EAAE,MAAM,iBASrC;AAED,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC"}
|
package/dist/main.js
CHANGED
|
@@ -23,7 +23,8 @@ async function startBot(options) {
|
|
|
23
23
|
chats: options.chats,
|
|
24
24
|
storageClient: options.storageClient,
|
|
25
25
|
storagePath: options.storagePath,
|
|
26
|
-
scheduledPeriod: options.scheduledPeriod
|
|
26
|
+
scheduledPeriod: options.scheduledPeriod,
|
|
27
|
+
verboseLoggingForIncomingMessage: options.verboseLoggingForIncomingMessage
|
|
27
28
|
});
|
|
28
29
|
bots.push(bot);
|
|
29
30
|
return bot;
|
|
@@ -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/main.ts
CHANGED
|
@@ -34,6 +34,8 @@ async function startBot(options: {
|
|
|
34
34
|
storagePath?: string;
|
|
35
35
|
/** Period of time between execution of scheduled actions. */
|
|
36
36
|
scheduledPeriod?: Seconds;
|
|
37
|
+
/** If true, telegram API objects will be logged instead of message content. */
|
|
38
|
+
verboseLoggingForIncomingMessage?: boolean;
|
|
37
39
|
}) {
|
|
38
40
|
const token = await readFile(options.tokenFilePath, 'utf8');
|
|
39
41
|
const bot = new BotInstance({
|
|
@@ -44,7 +46,9 @@ async function startBot(options: {
|
|
|
44
46
|
chats: options.chats,
|
|
45
47
|
storageClient: options.storageClient,
|
|
46
48
|
storagePath: options.storagePath,
|
|
47
|
-
scheduledPeriod: options.scheduledPeriod
|
|
49
|
+
scheduledPeriod: options.scheduledPeriod,
|
|
50
|
+
verboseLoggingForIncomingMessage:
|
|
51
|
+
options.verboseLoggingForIncomingMessage
|
|
48
52
|
});
|
|
49
53
|
bots.push(bot);
|
|
50
54
|
|
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,
|