@skroz/telegram-bot 1.0.17 → 1.0.19
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/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -10
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/src/index.ts +20 -10
package/dist/index.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { TG_BotCommand, TG_CallbackQuery, TG_ChatResponse, TG_Message, TG_SendActionInput, TG_SendMessageInput, TG_SendMessageResponse, TG_SendPhotoInput, TG_SetMyCommandsResponse, TG_Update } from '@skroz/telegram-api/dist/TelegramTypes';
|
|
1
|
+
import { TG_BotCommand, TG_CallbackQuery, TG_ChatResponse, TG_DeleteMessageInput, TG_Message, TG_SendActionInput, TG_SendMessageInput, TG_SendMessageResponse, TG_SendPhotoInput, TG_SetMyCommandsResponse, TG_Update } from '@skroz/telegram-api/dist/TelegramTypes';
|
|
2
2
|
export declare const createCallbackData: (telegramId: number | string, data: (string | number)[]) => string;
|
|
3
3
|
export declare const getCallbackData: (data: string) => string[];
|
|
4
4
|
declare class TelegramBot {
|
|
5
5
|
private readonly botToken;
|
|
6
6
|
private readonly expiresMessageSeconds?;
|
|
7
|
-
|
|
7
|
+
private readonly protect_content?;
|
|
8
|
+
constructor(botToken: string, expiresMessageSeconds?: number | undefined, protect_content?: boolean | undefined);
|
|
8
9
|
handleUpdate(update: TG_Update, handleCallback: (callbackQuery: TG_CallbackQuery, callbackDataParams: string[]) => Promise<void>, handleMessage: (message: TG_Message) => void): Promise<void>;
|
|
9
10
|
sendPhoto(input: TG_SendPhotoInput, message?: TG_Message, onExpire?: (resultMessage: TG_Message) => void): Promise<TG_SendMessageResponse>;
|
|
10
11
|
sendMessage(input: TG_SendMessageInput, message?: TG_Message, onExpire?: (resultMessage: TG_Message) => void): Promise<TG_SendMessageResponse>;
|
|
@@ -14,6 +15,7 @@ declare class TelegramBot {
|
|
|
14
15
|
setMyCommands(commands: TG_BotCommand[]): Promise<TG_SetMyCommandsResponse>;
|
|
15
16
|
getChatInfo(telegramId: string | number): Promise<TG_ChatResponse>;
|
|
16
17
|
sendChatAction(input: TG_SendActionInput): Promise<boolean>;
|
|
18
|
+
deleteMessage(input: TG_DeleteMessageInput): Promise<boolean>;
|
|
17
19
|
}
|
|
18
20
|
export default TelegramBot;
|
|
19
21
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,UAAU,EACV,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,wBAAwB,EACxB,SAAS,EACV,MAAM,wCAAwC,CAAC;AAYhD,eAAO,MAAM,kBAAkB,eACjB,MAAM,GAAG,MAAM,QACrB,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,KACxB,MAC0E,CAAC;AAG9E,eAAO,MAAM,eAAe,SAAU,MAAM,KAAG,MAAM,EACf,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,UAAU,EACV,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,wBAAwB,EACxB,SAAS,EACV,MAAM,wCAAwC,CAAC;AAYhD,eAAO,MAAM,kBAAkB,eACjB,MAAM,GAAG,MAAM,QACrB,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,KACxB,MAC0E,CAAC;AAG9E,eAAO,MAAM,eAAe,SAAU,MAAM,KAAG,MAAM,EACf,CAAC;AAoEvC,cAAM,WAAW;IAEb,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IACvC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;gBAFhB,QAAQ,EAAE,MAAM,EAChB,qBAAqB,CAAC,oBAAQ,EAC9B,eAAe,CAAC,qBAAS;IAGtC,YAAY,CAChB,MAAM,EAAE,SAAS,EACjB,cAAc,EAAE,CACd,aAAa,EAAE,gBAAgB,EAC/B,kBAAkB,EAAE,MAAM,EAAE,KACzB,OAAO,CAAC,IAAI,CAAC,EAClB,aAAa,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK,IAAI,GAC3C,OAAO,CAAC,IAAI,CAAC;IAmCV,SAAS,CACb,KAAK,EAAE,iBAAiB,EACxB,OAAO,CAAC,EAAE,UAAU,EACpB,QAAQ,CAAC,EAAE,CAAC,aAAa,EAAE,UAAU,KAAK,IAAI,GAC7C,OAAO,CAAC,sBAAsB,CAAC;IAyD5B,WAAW,CACf,KAAK,EAAE,mBAAmB,EAC1B,OAAO,CAAC,EAAE,UAAU,EACpB,QAAQ,CAAC,EAAE,CAAC,aAAa,EAAE,UAAU,KAAK,IAAI,GAC7C,OAAO,CAAC,sBAAsB,CAAC;IAmD5B,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM;IAI1B,UAAU,CAAC,UAAU,EAAE,MAAM;IAI7B,aAAa;IAIb,aAAa,CACjB,QAAQ,EAAE,aAAa,EAAE,GACxB,OAAO,CAAC,wBAAwB,CAAC;IAI9B,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAIlE,cAAc,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IAI3D,aAAa,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,OAAO,CAAC;CAGpE;AAED,eAAe,WAAW,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -19,11 +19,13 @@ exports.createCallbackData = createCallbackData;
|
|
|
19
19
|
const getCallbackData = (data) => data.split(callbackDivider).slice(1);
|
|
20
20
|
exports.getCallbackData = getCallbackData;
|
|
21
21
|
const expiredMessagesList = [];
|
|
22
|
-
const pushMessageToExpireList = (message,
|
|
22
|
+
const pushMessageToExpireList = (message,
|
|
23
|
+
// user: TG_User,
|
|
24
|
+
expires) => {
|
|
23
25
|
const expiresAt = Date.now() + (expires.seconds || expiresSecondsDefault) * 1000;
|
|
24
26
|
expiredMessagesList.push({
|
|
25
27
|
message,
|
|
26
|
-
//
|
|
28
|
+
// user,
|
|
27
29
|
expiresAt,
|
|
28
30
|
onExpire: expires.onExpire,
|
|
29
31
|
});
|
|
@@ -42,6 +44,7 @@ const deleteMessageFromExpiringList = (message) => {
|
|
|
42
44
|
expiredMessagesList.splice(index, 1);
|
|
43
45
|
}
|
|
44
46
|
};
|
|
47
|
+
/* обрабатываем истекшие сообщения по таймеру */
|
|
45
48
|
setInterval(async () => {
|
|
46
49
|
const expired = shiftExpiredMessages();
|
|
47
50
|
if (expired.length > 0) {
|
|
@@ -51,9 +54,10 @@ setInterval(async () => {
|
|
|
51
54
|
}
|
|
52
55
|
}, 15000);
|
|
53
56
|
class TelegramBot {
|
|
54
|
-
constructor(botToken, expiresMessageSeconds) {
|
|
57
|
+
constructor(botToken, expiresMessageSeconds, protect_content) {
|
|
55
58
|
this.botToken = botToken;
|
|
56
59
|
this.expiresMessageSeconds = expiresMessageSeconds;
|
|
60
|
+
this.protect_content = protect_content;
|
|
57
61
|
}
|
|
58
62
|
async handleUpdate(update, handleCallback, handleMessage) {
|
|
59
63
|
const callbackQuery = update.callback_query;
|
|
@@ -88,12 +92,9 @@ class TelegramBot {
|
|
|
88
92
|
// const { chat_id, reply_markup, caption, photo } = input;
|
|
89
93
|
let sendResult;
|
|
90
94
|
const sendPhotoFunction = () => telegram_api_1.default.sendPhoto({
|
|
91
|
-
|
|
92
|
-
// chat_id,
|
|
93
|
-
// caption,
|
|
94
|
-
// photo,
|
|
95
|
+
protect_content: this.protect_content, // переписывается инпутом
|
|
95
96
|
parse_mode: 'HTML',
|
|
96
|
-
|
|
97
|
+
...input,
|
|
97
98
|
}, this.botToken);
|
|
98
99
|
if (message) {
|
|
99
100
|
try {
|
|
@@ -106,8 +107,6 @@ class TelegramBot {
|
|
|
106
107
|
},
|
|
107
108
|
...input,
|
|
108
109
|
message_id: message.message_id,
|
|
109
|
-
// reply_markup,
|
|
110
|
-
// chat_id,
|
|
111
110
|
}, this.botToken);
|
|
112
111
|
}
|
|
113
112
|
catch (e) {
|
|
@@ -140,6 +139,7 @@ class TelegramBot {
|
|
|
140
139
|
// chat_id,
|
|
141
140
|
// text,
|
|
142
141
|
parse_mode: 'HTML',
|
|
142
|
+
protect_content: this.protect_content, // переписывается инпутом
|
|
143
143
|
// reply_markup,
|
|
144
144
|
...input,
|
|
145
145
|
}, this.botToken);
|
|
@@ -191,6 +191,9 @@ class TelegramBot {
|
|
|
191
191
|
async sendChatAction(input) {
|
|
192
192
|
return telegram_api_1.default.sendChatAction(input, this.botToken);
|
|
193
193
|
}
|
|
194
|
+
async deleteMessage(input) {
|
|
195
|
+
return telegram_api_1.default.deleteMessage(input, this.botToken);
|
|
196
|
+
}
|
|
194
197
|
}
|
|
195
198
|
exports.default = TelegramBot;
|
|
196
199
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,uEAA8C;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@skroz/telegram-bot",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.19",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": "git@gitlab.com:skroz/libs/utils.git",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -21,5 +21,5 @@
|
|
|
21
21
|
"dependencies": {
|
|
22
22
|
"@skroz/telegram-api": "^1.0.11"
|
|
23
23
|
},
|
|
24
|
-
"gitHead": "
|
|
24
|
+
"gitHead": "17b7f87814f7cb5cbe06748b19eeb81647b48f6b"
|
|
25
25
|
}
|
package/src/index.ts
CHANGED
|
@@ -3,6 +3,7 @@ import {
|
|
|
3
3
|
TG_BotCommand,
|
|
4
4
|
TG_CallbackQuery,
|
|
5
5
|
TG_ChatResponse,
|
|
6
|
+
TG_DeleteMessageInput,
|
|
6
7
|
TG_Message,
|
|
7
8
|
TG_SendActionInput,
|
|
8
9
|
TG_SendMessageInput,
|
|
@@ -34,12 +35,14 @@ export const getCallbackData = (data: string): string[] =>
|
|
|
34
35
|
|
|
35
36
|
const expiredMessagesList: {
|
|
36
37
|
message: TG_Message;
|
|
38
|
+
// user: TG_User;
|
|
37
39
|
expiresAt: number;
|
|
38
40
|
onExpire: (message: TG_Message) => void;
|
|
39
41
|
}[] = [];
|
|
40
42
|
|
|
41
43
|
const pushMessageToExpireList = (
|
|
42
44
|
message: TG_Message,
|
|
45
|
+
// user: TG_User,
|
|
43
46
|
expires: ExpiresInput
|
|
44
47
|
) => {
|
|
45
48
|
const expiresAt =
|
|
@@ -47,7 +50,7 @@ const pushMessageToExpireList = (
|
|
|
47
50
|
|
|
48
51
|
expiredMessagesList.push({
|
|
49
52
|
message,
|
|
50
|
-
//
|
|
53
|
+
// user,
|
|
51
54
|
expiresAt,
|
|
52
55
|
onExpire: expires.onExpire,
|
|
53
56
|
});
|
|
@@ -56,8 +59,12 @@ const pushMessageToExpireList = (
|
|
|
56
59
|
// забирает и сразу удаляет
|
|
57
60
|
const shiftExpiredMessages = (): {
|
|
58
61
|
message: TG_Message;
|
|
62
|
+
// user: TG_User;
|
|
59
63
|
// from: TG_User;
|
|
60
|
-
onExpire: (
|
|
64
|
+
onExpire: (
|
|
65
|
+
message: TG_Message
|
|
66
|
+
// , user: TG_User
|
|
67
|
+
) => void;
|
|
61
68
|
}[] => {
|
|
62
69
|
const now = Date.now();
|
|
63
70
|
const expired = expiredMessagesList.filter((msg) => msg.expiresAt <= now);
|
|
@@ -75,6 +82,7 @@ const deleteMessageFromExpiringList = (message: TG_Message) => {
|
|
|
75
82
|
}
|
|
76
83
|
};
|
|
77
84
|
|
|
85
|
+
/* обрабатываем истекшие сообщения по таймеру */
|
|
78
86
|
setInterval(async () => {
|
|
79
87
|
const expired = shiftExpiredMessages();
|
|
80
88
|
if (expired.length > 0) {
|
|
@@ -94,7 +102,8 @@ type ExpiresInput = {
|
|
|
94
102
|
class TelegramBot {
|
|
95
103
|
constructor(
|
|
96
104
|
private readonly botToken: string,
|
|
97
|
-
private readonly expiresMessageSeconds?: number
|
|
105
|
+
private readonly expiresMessageSeconds?: number,
|
|
106
|
+
private readonly protect_content?: boolean
|
|
98
107
|
) {}
|
|
99
108
|
|
|
100
109
|
async handleUpdate(
|
|
@@ -151,12 +160,9 @@ class TelegramBot {
|
|
|
151
160
|
const sendPhotoFunction = () =>
|
|
152
161
|
TelegramApi.sendPhoto(
|
|
153
162
|
{
|
|
154
|
-
|
|
155
|
-
// chat_id,
|
|
156
|
-
// caption,
|
|
157
|
-
// photo,
|
|
163
|
+
protect_content: this.protect_content, // переписывается инпутом
|
|
158
164
|
parse_mode: 'HTML',
|
|
159
|
-
|
|
165
|
+
...input,
|
|
160
166
|
},
|
|
161
167
|
this.botToken
|
|
162
168
|
);
|
|
@@ -173,8 +179,6 @@ class TelegramBot {
|
|
|
173
179
|
},
|
|
174
180
|
...input,
|
|
175
181
|
message_id: message.message_id,
|
|
176
|
-
// reply_markup,
|
|
177
|
-
// chat_id,
|
|
178
182
|
},
|
|
179
183
|
this.botToken
|
|
180
184
|
);
|
|
@@ -189,6 +193,7 @@ class TelegramBot {
|
|
|
189
193
|
if (onExpire) {
|
|
190
194
|
pushMessageToExpireList(
|
|
191
195
|
sendResult.result,
|
|
196
|
+
|
|
192
197
|
// sendResult.result,
|
|
193
198
|
// sendResult.result.from,
|
|
194
199
|
{
|
|
@@ -219,6 +224,7 @@ class TelegramBot {
|
|
|
219
224
|
// chat_id,
|
|
220
225
|
// text,
|
|
221
226
|
parse_mode: 'HTML',
|
|
227
|
+
protect_content: this.protect_content, // переписывается инпутом
|
|
222
228
|
// reply_markup,
|
|
223
229
|
...input,
|
|
224
230
|
},
|
|
@@ -283,6 +289,10 @@ class TelegramBot {
|
|
|
283
289
|
async sendChatAction(input: TG_SendActionInput): Promise<boolean> {
|
|
284
290
|
return TelegramApi.sendChatAction(input, this.botToken);
|
|
285
291
|
}
|
|
292
|
+
|
|
293
|
+
async deleteMessage(input: TG_DeleteMessageInput): Promise<boolean> {
|
|
294
|
+
return TelegramApi.deleteMessage(input, this.botToken);
|
|
295
|
+
}
|
|
286
296
|
}
|
|
287
297
|
|
|
288
298
|
export default TelegramBot;
|