@skroz/telegram-bot 1.0.7 → 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 CHANGED
@@ -1,17 +1,15 @@
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
- constructor(botToken: string);
11
- setWebhook(webhookUrl: string): Promise<import("@skroz/telegram-api/dist/ResultAndDescription").default>;
6
+ private readonly expiresMessageSeconds?;
7
+ constructor(botToken: string, expiresMessageSeconds?: number | undefined);
12
8
  handleUpdate(update: TG_Update, handleCallback: (callbackQuery: TG_CallbackQuery, callbackDataParams: string[]) => Promise<void>, handleMessage: (message: TG_Message) => void): Promise<void>;
13
- sendPhoto(input: TG_SendPhotoInput, message?: TG_Message, expires?: ExpiresInput): Promise<TG_SendMessageResponse>;
14
- sendMessage(input: TG_SendMessageInput, message?: TG_Message, expires?: ExpiresInput): Promise<TG_SendMessageResponse>;
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>;
11
+ getUpdates(offset?: number): Promise<import("@skroz/telegram-api/dist/TelegramTypes").TG_GetUpdatesResponse>;
12
+ setWebhook(webhookUrl: string): Promise<import("@skroz/telegram-api/dist/ResultAndDescription").default>;
15
13
  deleteWebhook(): Promise<void>;
16
14
  }
17
15
  export default TelegramBot;
@@ -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,EACxB,CAAC;AA0D9B,KAAK,YAAY,GAAG;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,CAAC,aAAa,EAAE,UAAU,KAAK,IAAI,CAAC;CAC/C,CAAC;AAEF,cAAM,WAAW;IACH,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,MAAM;IAEvC,UAAU,CAAC,UAAU,EAAE,MAAM;IAI7B,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,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,sBAAsB,CAAC;IAwD5B,WAAW,CACf,KAAK,EAAE,mBAAmB,EAC1B,OAAO,CAAC,EAAE,UAAU,EACpB,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,sBAAsB,CAAC;IA6C5B,aAAa;CAGpB;AAED,eAAe,WAAW,CAAC"}
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,12 +16,10 @@ 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
- const pushMessageToExpireList = (
23
- // from: TG_User,
24
- message, expires) => {
22
+ const pushMessageToExpireList = (message, expires) => {
25
23
  const expiresAt = Date.now() + (expires.seconds || expiresSecondsDefault) * 1000;
26
24
  expiredMessagesList.push({
27
25
  message,
@@ -53,11 +51,9 @@ setInterval(async () => {
53
51
  }
54
52
  }, 15000);
55
53
  class TelegramBot {
56
- constructor(botToken) {
54
+ constructor(botToken, expiresMessageSeconds) {
57
55
  this.botToken = botToken;
58
- }
59
- async setWebhook(webhookUrl) {
60
- return telegram_api_1.default.setWebhook(this.botToken, webhookUrl);
56
+ this.expiresMessageSeconds = expiresMessageSeconds;
61
57
  }
62
58
  async handleUpdate(update, handleCallback, handleMessage) {
63
59
  const callbackQuery = update.callback_query;
@@ -88,7 +84,7 @@ class TelegramBot {
88
84
  await handleMessage(message);
89
85
  }
90
86
  }
91
- async sendPhoto(input, message, expires) {
87
+ async sendPhoto(input, message, onExpire) {
92
88
  const { chat_id, reply_markup, caption, photo } = input;
93
89
  let sendResult;
94
90
  const sendPhotoFunction = () => telegram_api_1.default.sendPhoto({
@@ -120,11 +116,14 @@ class TelegramBot {
120
116
  sendResult = await sendPhotoFunction();
121
117
  }
122
118
  if (sendResult.ok && sendResult.result) {
123
- if (expires) {
119
+ if (onExpire) {
124
120
  pushMessageToExpireList(sendResult.result,
125
121
  // sendResult.result,
126
122
  // sendResult.result.from,
127
- expires);
123
+ {
124
+ seconds: this.expiresMessageSeconds,
125
+ onExpire,
126
+ });
128
127
  }
129
128
  else {
130
129
  deleteMessageFromExpiringList(sendResult.result);
@@ -132,7 +131,7 @@ class TelegramBot {
132
131
  }
133
132
  return sendResult;
134
133
  }
135
- async sendMessage(input, message, expires) {
134
+ async sendMessage(input, message, onExpire) {
136
135
  const { chat_id, reply_markup, text } = input;
137
136
  let sendResult;
138
137
  const sendPhotoFunction = () => telegram_api_1.default.sendMessage({
@@ -158,8 +157,11 @@ class TelegramBot {
158
157
  sendResult = await sendPhotoFunction();
159
158
  }
160
159
  if (sendResult.ok && sendResult.result) {
161
- if (expires) {
162
- pushMessageToExpireList(sendResult.result, expires);
160
+ if (onExpire) {
161
+ pushMessageToExpireList(sendResult.result, {
162
+ seconds: this.expiresMessageSeconds,
163
+ onExpire,
164
+ });
163
165
  }
164
166
  else {
165
167
  deleteMessageFromExpiringList(sendResult.result);
@@ -167,6 +169,12 @@ class TelegramBot {
167
169
  }
168
170
  return sendResult;
169
171
  }
172
+ async getUpdates(offset) {
173
+ return telegram_api_1.default.getUpdates(this.botToken, offset);
174
+ }
175
+ async setWebhook(webhookUrl) {
176
+ return telegram_api_1.default.setWebhook(this.botToken, webhookUrl);
177
+ }
170
178
  async deleteWebhook() {
171
179
  return telegram_api_1.default.deleteWebhook(this.botToken);
172
180
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
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.7",
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": "40bb713f5bda32f52d0fabeca388573609698c3a"
24
+ "gitHead": "6a5379bc0cc9296e7fe93a4c48dae69fb8484b7d"
25
25
  }
package/src/index.ts CHANGED
@@ -26,17 +26,15 @@ 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
- // from: TG_User;
33
32
  message: TG_Message;
34
33
  expiresAt: number;
35
34
  onExpire: (message: TG_Message) => void;
36
35
  }[] = [];
37
36
 
38
37
  const pushMessageToExpireList = (
39
- // from: TG_User,
40
38
  message: TG_Message,
41
39
  expires: ExpiresInput
42
40
  ) => {
@@ -90,11 +88,10 @@ type ExpiresInput = {
90
88
  };
91
89
 
92
90
  class TelegramBot {
93
- constructor(private readonly botToken: string) {}
94
-
95
- async setWebhook(webhookUrl: string) {
96
- return TelegramApi.setWebhook(this.botToken, webhookUrl);
97
- }
91
+ constructor(
92
+ private readonly botToken: string,
93
+ private readonly expiresMessageSeconds?: number
94
+ ) {}
98
95
 
99
96
  async handleUpdate(
100
97
  update: TG_Update,
@@ -141,7 +138,7 @@ class TelegramBot {
141
138
  async sendPhoto(
142
139
  input: TG_SendPhotoInput,
143
140
  message?: TG_Message,
144
- expires?: ExpiresInput
141
+ onExpire?: (resultMessage: TG_Message) => void
145
142
  ): Promise<TG_SendMessageResponse> {
146
143
  const { chat_id, reply_markup, caption, photo } = input;
147
144
 
@@ -183,12 +180,15 @@ class TelegramBot {
183
180
  }
184
181
 
185
182
  if (sendResult.ok && sendResult.result) {
186
- if (expires) {
183
+ if (onExpire) {
187
184
  pushMessageToExpireList(
188
185
  sendResult.result,
189
186
  // sendResult.result,
190
187
  // sendResult.result.from,
191
- expires
188
+ {
189
+ seconds: this.expiresMessageSeconds,
190
+ onExpire,
191
+ }
192
192
  );
193
193
  } else {
194
194
  deleteMessageFromExpiringList(sendResult.result);
@@ -201,7 +201,7 @@ class TelegramBot {
201
201
  async sendMessage(
202
202
  input: TG_SendMessageInput,
203
203
  message?: TG_Message,
204
- expires?: ExpiresInput
204
+ onExpire?: (resultMessage: TG_Message) => void
205
205
  ): Promise<TG_SendMessageResponse> {
206
206
  const { chat_id, reply_markup, text } = input;
207
207
 
@@ -237,8 +237,11 @@ class TelegramBot {
237
237
  }
238
238
 
239
239
  if (sendResult.ok && sendResult.result) {
240
- if (expires) {
241
- pushMessageToExpireList(sendResult.result, expires);
240
+ if (onExpire) {
241
+ pushMessageToExpireList(sendResult.result, {
242
+ seconds: this.expiresMessageSeconds,
243
+ onExpire,
244
+ });
242
245
  } else {
243
246
  deleteMessageFromExpiringList(sendResult.result);
244
247
  }
@@ -247,6 +250,14 @@ class TelegramBot {
247
250
  return sendResult;
248
251
  }
249
252
 
253
+ async getUpdates(offset?: number) {
254
+ return TelegramApi.getUpdates(this.botToken, offset);
255
+ }
256
+
257
+ async setWebhook(webhookUrl: string) {
258
+ return TelegramApi.setWebhook(this.botToken, webhookUrl);
259
+ }
260
+
250
261
  async deleteWebhook() {
251
262
  return TelegramApi.deleteWebhook(this.botToken);
252
263
  }