@skroz/telegram-bot 1.0.8 → 1.0.9
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 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -8
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/src/index.ts +17 -8
package/dist/index.d.ts
CHANGED
|
@@ -1,16 +1,13 @@
|
|
|
1
1
|
import { TG_CallbackQuery, TG_Message, TG_SendMessageInput, TG_SendMessageResponse, TG_SendPhotoInput, TG_Update } from '@skroz/telegram-api/dist/TelegramTypes';
|
|
2
2
|
export declare const createCallbackData: (telegramId: number | string, data: string[]) => string;
|
|
3
3
|
export declare const getCallbackData: (data: string) => string[];
|
|
4
|
-
type ExpiresInput = {
|
|
5
|
-
seconds?: number;
|
|
6
|
-
onExpire: (resultMessage: TG_Message) => void;
|
|
7
|
-
};
|
|
8
4
|
declare class TelegramBot {
|
|
9
5
|
private readonly botToken;
|
|
10
|
-
|
|
6
|
+
private readonly expiresMessageSeconds?;
|
|
7
|
+
constructor(botToken: string, expiresMessageSeconds?: number | undefined);
|
|
11
8
|
handleUpdate(update: TG_Update, handleCallback: (callbackQuery: TG_CallbackQuery, callbackDataParams: string[]) => Promise<void>, handleMessage: (message: TG_Message) => void): Promise<void>;
|
|
12
|
-
sendPhoto(input: TG_SendPhotoInput, message?: TG_Message,
|
|
13
|
-
sendMessage(input: TG_SendMessageInput, message?: TG_Message,
|
|
9
|
+
sendPhoto(input: TG_SendPhotoInput, message?: TG_Message, onExpire?: (resultMessage: TG_Message) => void): Promise<TG_SendMessageResponse>;
|
|
10
|
+
sendMessage(input: TG_SendMessageInput, message?: TG_Message, onExpire?: (resultMessage: TG_Message) => void): Promise<TG_SendMessageResponse>;
|
|
14
11
|
getUpdates(offset?: number): Promise<import("@skroz/telegram-api/dist/TelegramTypes").TG_GetUpdatesResponse>;
|
|
15
12
|
setWebhook(webhookUrl: string): Promise<import("@skroz/telegram-api/dist/ResultAndDescription").default>;
|
|
16
13
|
deleteWebhook(): Promise<void>;
|
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,gBAAgB,EAChB,UAAU,EACV,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,SAAS,EACV,MAAM,wCAAwC,CAAC;AAYhD,eAAO,MAAM,kBAAkB,eACjB,MAAM,GAAG,MAAM,QACrB,MAAM,EAAE,KACb,MAC0E,CAAC;AAG9E,eAAO,MAAM,eAAe,SAAU,MAAM,KAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,SAAS,EACV,MAAM,wCAAwC,CAAC;AAYhD,eAAO,MAAM,kBAAkB,eACjB,MAAM,GAAG,MAAM,QACrB,MAAM,EAAE,KACb,MAC0E,CAAC;AAG9E,eAAO,MAAM,eAAe,SAAU,MAAM,KAAG,MAAM,EACf,CAAC;AA6DvC,cAAM,WAAW;IAEb,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC;gBADtB,QAAQ,EAAE,MAAM,EAChB,qBAAqB,CAAC,oBAAQ;IAG3C,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;IA2D5B,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;IAgD5B,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM;IAI1B,UAAU,CAAC,UAAU,EAAE,MAAM;IAI7B,aAAa;CAGpB;AAED,eAAe,WAAW,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -16,7 +16,7 @@ const expiresSecondsDefault = 5 * 60; // 5 минут
|
|
|
16
16
|
const createCallbackData = (telegramId, data) => [`${Date.now()}_${telegramId}`, ...data].join(callbackDivider).slice(0, 64);
|
|
17
17
|
exports.createCallbackData = createCallbackData;
|
|
18
18
|
/* не больше 64 символов по документации, внутри защита от повторных кликов */
|
|
19
|
-
const getCallbackData = (data) => data.split(callbackDivider);
|
|
19
|
+
const getCallbackData = (data) => data.split(callbackDivider).slice(1);
|
|
20
20
|
exports.getCallbackData = getCallbackData;
|
|
21
21
|
const expiredMessagesList = [];
|
|
22
22
|
const pushMessageToExpireList = (message, expires) => {
|
|
@@ -51,8 +51,9 @@ setInterval(async () => {
|
|
|
51
51
|
}
|
|
52
52
|
}, 15000);
|
|
53
53
|
class TelegramBot {
|
|
54
|
-
constructor(botToken) {
|
|
54
|
+
constructor(botToken, expiresMessageSeconds) {
|
|
55
55
|
this.botToken = botToken;
|
|
56
|
+
this.expiresMessageSeconds = expiresMessageSeconds;
|
|
56
57
|
}
|
|
57
58
|
async handleUpdate(update, handleCallback, handleMessage) {
|
|
58
59
|
const callbackQuery = update.callback_query;
|
|
@@ -83,7 +84,7 @@ class TelegramBot {
|
|
|
83
84
|
await handleMessage(message);
|
|
84
85
|
}
|
|
85
86
|
}
|
|
86
|
-
async sendPhoto(input, message,
|
|
87
|
+
async sendPhoto(input, message, onExpire) {
|
|
87
88
|
const { chat_id, reply_markup, caption, photo } = input;
|
|
88
89
|
let sendResult;
|
|
89
90
|
const sendPhotoFunction = () => telegram_api_1.default.sendPhoto({
|
|
@@ -115,11 +116,14 @@ class TelegramBot {
|
|
|
115
116
|
sendResult = await sendPhotoFunction();
|
|
116
117
|
}
|
|
117
118
|
if (sendResult.ok && sendResult.result) {
|
|
118
|
-
if (
|
|
119
|
+
if (onExpire) {
|
|
119
120
|
pushMessageToExpireList(sendResult.result,
|
|
120
121
|
// sendResult.result,
|
|
121
122
|
// sendResult.result.from,
|
|
122
|
-
|
|
123
|
+
{
|
|
124
|
+
seconds: this.expiresMessageSeconds,
|
|
125
|
+
onExpire,
|
|
126
|
+
});
|
|
123
127
|
}
|
|
124
128
|
else {
|
|
125
129
|
deleteMessageFromExpiringList(sendResult.result);
|
|
@@ -127,7 +131,7 @@ class TelegramBot {
|
|
|
127
131
|
}
|
|
128
132
|
return sendResult;
|
|
129
133
|
}
|
|
130
|
-
async sendMessage(input, message,
|
|
134
|
+
async sendMessage(input, message, onExpire) {
|
|
131
135
|
const { chat_id, reply_markup, text } = input;
|
|
132
136
|
let sendResult;
|
|
133
137
|
const sendPhotoFunction = () => telegram_api_1.default.sendMessage({
|
|
@@ -153,8 +157,11 @@ class TelegramBot {
|
|
|
153
157
|
sendResult = await sendPhotoFunction();
|
|
154
158
|
}
|
|
155
159
|
if (sendResult.ok && sendResult.result) {
|
|
156
|
-
if (
|
|
157
|
-
pushMessageToExpireList(sendResult.result,
|
|
160
|
+
if (onExpire) {
|
|
161
|
+
pushMessageToExpireList(sendResult.result, {
|
|
162
|
+
seconds: this.expiresMessageSeconds,
|
|
163
|
+
onExpire,
|
|
164
|
+
});
|
|
158
165
|
}
|
|
159
166
|
else {
|
|
160
167
|
deleteMessageFromExpiringList(sendResult.result);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,uEAA8C;AAU9C,yDAAyD;AAEzD,kEAAkE;AAClE,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAE,CAAC;AACrC,wCAAwC;AACxC,MAAM,eAAe,GAAG,OAAO,CAAC;AAChC,uCAAuC;AACvC,MAAM,qBAAqB,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,UAAU;AAEhD,8EAA8E;AACvE,MAAM,kBAAkB,GAAG,CAChC,UAA2B,EAC3B,IAAc,EACN,EAAE,CACV,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,UAAU,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAJjE,QAAA,kBAAkB,sBAI+C;AAE9E,8EAA8E;AACvE,MAAM,eAAe,GAAG,CAAC,IAAY,EAAY,EAAE,CACxD,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;
|
|
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.9",
|
|
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.10"
|
|
23
23
|
},
|
|
24
|
-
"gitHead": "
|
|
24
|
+
"gitHead": "6a5379bc0cc9296e7fe93a4c48dae69fb8484b7d"
|
|
25
25
|
}
|
package/src/index.ts
CHANGED
|
@@ -26,7 +26,7 @@ export const createCallbackData = (
|
|
|
26
26
|
|
|
27
27
|
/* не больше 64 символов по документации, внутри защита от повторных кликов */
|
|
28
28
|
export const getCallbackData = (data: string): string[] =>
|
|
29
|
-
data.split(callbackDivider);
|
|
29
|
+
data.split(callbackDivider).slice(1);
|
|
30
30
|
|
|
31
31
|
const expiredMessagesList: {
|
|
32
32
|
message: TG_Message;
|
|
@@ -88,7 +88,10 @@ type ExpiresInput = {
|
|
|
88
88
|
};
|
|
89
89
|
|
|
90
90
|
class TelegramBot {
|
|
91
|
-
constructor(
|
|
91
|
+
constructor(
|
|
92
|
+
private readonly botToken: string,
|
|
93
|
+
private readonly expiresMessageSeconds?: number
|
|
94
|
+
) {}
|
|
92
95
|
|
|
93
96
|
async handleUpdate(
|
|
94
97
|
update: TG_Update,
|
|
@@ -135,7 +138,7 @@ class TelegramBot {
|
|
|
135
138
|
async sendPhoto(
|
|
136
139
|
input: TG_SendPhotoInput,
|
|
137
140
|
message?: TG_Message,
|
|
138
|
-
|
|
141
|
+
onExpire?: (resultMessage: TG_Message) => void
|
|
139
142
|
): Promise<TG_SendMessageResponse> {
|
|
140
143
|
const { chat_id, reply_markup, caption, photo } = input;
|
|
141
144
|
|
|
@@ -177,12 +180,15 @@ class TelegramBot {
|
|
|
177
180
|
}
|
|
178
181
|
|
|
179
182
|
if (sendResult.ok && sendResult.result) {
|
|
180
|
-
if (
|
|
183
|
+
if (onExpire) {
|
|
181
184
|
pushMessageToExpireList(
|
|
182
185
|
sendResult.result,
|
|
183
186
|
// sendResult.result,
|
|
184
187
|
// sendResult.result.from,
|
|
185
|
-
|
|
188
|
+
{
|
|
189
|
+
seconds: this.expiresMessageSeconds,
|
|
190
|
+
onExpire,
|
|
191
|
+
}
|
|
186
192
|
);
|
|
187
193
|
} else {
|
|
188
194
|
deleteMessageFromExpiringList(sendResult.result);
|
|
@@ -195,7 +201,7 @@ class TelegramBot {
|
|
|
195
201
|
async sendMessage(
|
|
196
202
|
input: TG_SendMessageInput,
|
|
197
203
|
message?: TG_Message,
|
|
198
|
-
|
|
204
|
+
onExpire?: (resultMessage: TG_Message) => void
|
|
199
205
|
): Promise<TG_SendMessageResponse> {
|
|
200
206
|
const { chat_id, reply_markup, text } = input;
|
|
201
207
|
|
|
@@ -231,8 +237,11 @@ class TelegramBot {
|
|
|
231
237
|
}
|
|
232
238
|
|
|
233
239
|
if (sendResult.ok && sendResult.result) {
|
|
234
|
-
if (
|
|
235
|
-
pushMessageToExpireList(sendResult.result,
|
|
240
|
+
if (onExpire) {
|
|
241
|
+
pushMessageToExpireList(sendResult.result, {
|
|
242
|
+
seconds: this.expiresMessageSeconds,
|
|
243
|
+
onExpire,
|
|
244
|
+
});
|
|
236
245
|
} else {
|
|
237
246
|
deleteMessageFromExpiringList(sendResult.result);
|
|
238
247
|
}
|