@skroz/telegram-bot 1.0.25 → 1.0.27

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
@@ -5,7 +5,18 @@ 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
+ constructor(botToken: string, messages: {
9
+ text?: Record<string, (input: TG_SendMessageInput) => TG_SendMessageInput>;
10
+ photo?: Record<string, (input: TG_SendPhotoInput) => TG_SendPhotoInput>;
11
+ }, expiresMessageSeconds?: number | undefined, protect_content?: boolean | undefined);
12
+ readonly messages: {
13
+ text: Record<string, {
14
+ send: (input?: TG_SendMessageInput, message?: TG_Message, onExpire?: (resultMessage: TG_Message) => void) => Promise<TG_SendMessageResponse>;
15
+ }>;
16
+ photo: Record<string, {
17
+ send: (input?: TG_SendPhotoInput, message?: TG_Message, onExpire?: (resultMessage: TG_Message) => void) => Promise<TG_SendMessageResponse>;
18
+ }>;
19
+ };
9
20
  handleUpdate(update: TG_Update, handleCallback: (callbackQuery: TG_CallbackQuery, callbackDataParams: string[]) => Promise<void>, handleMessage: (message: TG_Message) => void, handlePreCheckoutQuery: (preCheckoutQuery: TG_PreCheckoutQuery) => Promise<{
10
21
  ok: boolean;
11
22
  error_message?: string;
@@ -19,6 +30,8 @@ declare class TelegramBot {
19
30
  getChatInfo(telegramId: string | number): Promise<TG_ChatResponse>;
20
31
  sendChatAction(input: TG_SendActionInput): Promise<boolean>;
21
32
  deleteMessage(input: TG_DeleteMessageInput): Promise<boolean>;
33
+ private wrapTextMessages;
34
+ private wrapPhotoMessages;
22
35
  }
23
36
  export default TelegramBot;
24
37
  //# sourceMappingURL=index.d.ts.map
@@ -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,qBAAqB,EACrB,UAAU,EACV,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,wBAAwB,EACxB,oBAAoB,EACpB,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,EAC5C,sBAAsB,EAAE,CACtB,gBAAgB,EAAE,mBAAmB,KAClC,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,EACrD,uBAAuB,EAAE,CACvB,iBAAiB,EAAE,oBAAoB,EACvC,OAAO,EAAE,UAAU,KAChB,OAAO,CAAC,IAAI,CAAC,GACjB,OAAO,CAAC,IAAI,CAAC;IA8DV,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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -53,11 +53,28 @@ setInterval(async () => {
53
53
  }));
54
54
  }
55
55
  }, 15000);
56
+ /* Тип функции отправки в телеграм */
57
+ /* type TelegramSendFunction<TInput, TResponse> = (
58
+ input: TInput
59
+ ) => Promise<TResponse>; */
60
+ /* Тип типов функций отправки */
61
+ /* type TG_SendFunction =
62
+ | TelegramSendFunction<TG_SendMessageInput, TG_SendMessageResponse>
63
+ | TelegramSendFunction<TG_SendPhotoInput, TG_SendMessageResponse>; */
64
+ // в будущем:
65
+ // | TelegramSendFunction<TG_SendDocumentInput, TG_SendDocumentResponse>
66
+ // interface TelegramMessageHandler<TInput, TResponse> {
67
+ // send: (input: TInput) => Promise<TResponse>;
68
+ // }
56
69
  class TelegramBot {
57
- constructor(botToken, expiresMessageSeconds, protect_content) {
70
+ constructor(botToken, messages, expiresMessageSeconds, protect_content) {
58
71
  this.botToken = botToken;
59
72
  this.expiresMessageSeconds = expiresMessageSeconds;
60
73
  this.protect_content = protect_content;
74
+ this.messages = {
75
+ text: this.wrapTextMessages(messages.text ?? {}),
76
+ photo: this.wrapPhotoMessages(messages.photo ?? {}),
77
+ };
61
78
  }
62
79
  async handleUpdate(update, handleCallback, handleMessage, handlePreCheckoutQuery, handleSuccessfulPayment) {
63
80
  const callbackQuery = update.callback_query;
@@ -100,15 +117,15 @@ class TelegramBot {
100
117
  if (successful_payment) {
101
118
  /* Успешная оплата */
102
119
  await handleSuccessfulPayment(successful_payment, message);
120
+ return;
121
+ }
122
+ if (!callbackQuery) {
123
+ /* разбираем входящий текст */
124
+ await handleMessage(message);
103
125
  }
104
- }
105
- if (!callbackQuery && message) {
106
- /* разбираем входящий текст */
107
- await handleMessage(message);
108
126
  }
109
127
  }
110
128
  async sendPhoto(input, message, onExpire) {
111
- // const { chat_id, reply_markup, caption, photo } = input;
112
129
  let sendResult;
113
130
  const sendPhotoFunction = () => telegram_api_1.default.sendPhoto({
114
131
  protect_content: this.protect_content, // переписывается инпутом
@@ -137,10 +154,7 @@ class TelegramBot {
137
154
  }
138
155
  if (sendResult.ok && sendResult.result) {
139
156
  if (onExpire) {
140
- pushMessageToExpireList(sendResult.result,
141
- // sendResult.result,
142
- // sendResult.result.from,
143
- {
157
+ pushMessageToExpireList(sendResult.result, {
144
158
  seconds: this.expiresMessageSeconds,
145
159
  onExpire,
146
160
  });
@@ -152,23 +166,16 @@ class TelegramBot {
152
166
  return sendResult;
153
167
  }
154
168
  async sendMessage(input, message, onExpire) {
155
- // const { chat_id, reply_markup, text, protect_content } = input;
156
169
  let sendResult;
157
170
  const sendPhotoFunction = () => telegram_api_1.default.sendMessage({
158
- // chat_id,
159
- // text,
160
171
  parse_mode: 'HTML',
161
172
  protect_content: this.protect_content, // переписывается инпутом
162
- // reply_markup,
163
173
  ...input,
164
174
  }, this.botToken);
165
175
  if (message) {
166
176
  try {
167
177
  sendResult = await telegram_api_1.default.editMessageText({
168
- // text,
169
178
  message_id: message.message_id,
170
- // reply_markup,
171
- // chat_id,
172
179
  ...input,
173
180
  }, this.botToken);
174
181
  }
@@ -213,6 +220,25 @@ class TelegramBot {
213
220
  async deleteMessage(input) {
214
221
  return telegram_api_1.default.deleteMessage(input, this.botToken);
215
222
  }
223
+ // генераторы типовых методов
224
+ wrapTextMessages(defs) {
225
+ const result = {};
226
+ Object.entries(defs).forEach(([key, builder]) => {
227
+ result[key] = {
228
+ send: (input, message, onExpire) => this.sendMessage(builder(input ?? {}), message, onExpire),
229
+ };
230
+ });
231
+ return result;
232
+ }
233
+ wrapPhotoMessages(defs) {
234
+ const result = {};
235
+ Object.entries(defs).forEach(([key, builder]) => {
236
+ result[key] = {
237
+ send: (input, message, onExpire) => this.sendPhoto(builder(input ?? {}), message, onExpire),
238
+ };
239
+ });
240
+ return result;
241
+ }
216
242
  }
217
243
  exports.default = TelegramBot;
218
244
  //# 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":"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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.25",
3
+ "version": "1.0.27",
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.14"
23
23
  },
24
- "gitHead": "8347f084dcc58b19e4d8202f3c6a061a4f1c1c42"
24
+ "gitHead": "cc51ca25fd82020cb26e2f3a6092d73a0530a690"
25
25
  }
package/src/index.ts CHANGED
@@ -101,12 +101,64 @@ type ExpiresInput = {
101
101
  onExpire: (resultMessage: TG_Message) => void;
102
102
  };
103
103
 
104
+ /* Тип функции отправки в телеграм */
105
+ /* type TelegramSendFunction<TInput, TResponse> = (
106
+ input: TInput
107
+ ) => Promise<TResponse>; */
108
+
109
+ /* Тип типов функций отправки */
110
+ /* type TG_SendFunction =
111
+ | TelegramSendFunction<TG_SendMessageInput, TG_SendMessageResponse>
112
+ | TelegramSendFunction<TG_SendPhotoInput, TG_SendMessageResponse>; */
113
+ // в будущем:
114
+ // | TelegramSendFunction<TG_SendDocumentInput, TG_SendDocumentResponse>
115
+
116
+ // interface TelegramMessageHandler<TInput, TResponse> {
117
+ // send: (input: TInput) => Promise<TResponse>;
118
+ // }
119
+
104
120
  class TelegramBot {
105
121
  constructor(
106
122
  private readonly botToken: string,
123
+ messages: {
124
+ text?: Record<
125
+ string,
126
+ (input: TG_SendMessageInput) => TG_SendMessageInput
127
+ >;
128
+ photo?: Record<string, (input: TG_SendPhotoInput) => TG_SendPhotoInput>;
129
+ },
107
130
  private readonly expiresMessageSeconds?: number,
108
131
  private readonly protect_content?: boolean
109
- ) {}
132
+ ) {
133
+ this.messages = {
134
+ text: this.wrapTextMessages(messages.text ?? {}),
135
+ photo: this.wrapPhotoMessages(messages.photo ?? {}),
136
+ };
137
+ }
138
+
139
+ // публичный контейнер
140
+ readonly messages: {
141
+ text: Record<
142
+ string,
143
+ {
144
+ send: (
145
+ input?: TG_SendMessageInput,
146
+ message?: TG_Message,
147
+ onExpire?: (resultMessage: TG_Message) => void
148
+ ) => Promise<TG_SendMessageResponse>;
149
+ }
150
+ >;
151
+ photo: Record<
152
+ string,
153
+ {
154
+ send: (
155
+ input?: TG_SendPhotoInput,
156
+ message?: TG_Message,
157
+ onExpire?: (resultMessage: TG_Message) => void
158
+ ) => Promise<TG_SendMessageResponse>;
159
+ }
160
+ >;
161
+ };
110
162
 
111
163
  async handleUpdate(
112
164
  update: TG_Update,
@@ -175,12 +227,13 @@ class TelegramBot {
175
227
  if (successful_payment) {
176
228
  /* Успешная оплата */
177
229
  await handleSuccessfulPayment(successful_payment, message);
230
+ return;
178
231
  }
179
- }
180
232
 
181
- if (!callbackQuery && message) {
182
- /* разбираем входящий текст */
183
- await handleMessage(message);
233
+ if (!callbackQuery) {
234
+ /* разбираем входящий текст */
235
+ await handleMessage(message);
236
+ }
184
237
  }
185
238
  }
186
239
 
@@ -189,8 +242,6 @@ class TelegramBot {
189
242
  message?: TG_Message,
190
243
  onExpire?: (resultMessage: TG_Message) => void
191
244
  ): Promise<TG_SendMessageResponse> {
192
- // const { chat_id, reply_markup, caption, photo } = input;
193
-
194
245
  let sendResult: TG_SendMessageResponse;
195
246
 
196
247
  const sendPhotoFunction = () =>
@@ -227,16 +278,10 @@ class TelegramBot {
227
278
 
228
279
  if (sendResult.ok && sendResult.result) {
229
280
  if (onExpire) {
230
- pushMessageToExpireList(
231
- sendResult.result,
232
-
233
- // sendResult.result,
234
- // sendResult.result.from,
235
- {
236
- seconds: this.expiresMessageSeconds,
237
- onExpire,
238
- }
239
- );
281
+ pushMessageToExpireList(sendResult.result, {
282
+ seconds: this.expiresMessageSeconds,
283
+ onExpire,
284
+ });
240
285
  } else {
241
286
  deleteMessageFromExpiringList(sendResult.result);
242
287
  }
@@ -250,18 +295,13 @@ class TelegramBot {
250
295
  message?: TG_Message,
251
296
  onExpire?: (resultMessage: TG_Message) => void
252
297
  ): Promise<TG_SendMessageResponse> {
253
- // const { chat_id, reply_markup, text, protect_content } = input;
254
-
255
298
  let sendResult: TG_SendMessageResponse;
256
299
 
257
300
  const sendPhotoFunction = () =>
258
301
  TelegramApi.sendMessage(
259
302
  {
260
- // chat_id,
261
- // text,
262
303
  parse_mode: 'HTML',
263
304
  protect_content: this.protect_content, // переписывается инпутом
264
- // reply_markup,
265
305
  ...input,
266
306
  },
267
307
  this.botToken
@@ -271,10 +311,7 @@ class TelegramBot {
271
311
  try {
272
312
  sendResult = await TelegramApi.editMessageText(
273
313
  {
274
- // text,
275
314
  message_id: message.message_id,
276
- // reply_markup,
277
- // chat_id,
278
315
  ...input,
279
316
  },
280
317
  this.botToken
@@ -329,6 +366,61 @@ class TelegramBot {
329
366
  async deleteMessage(input: TG_DeleteMessageInput): Promise<boolean> {
330
367
  return TelegramApi.deleteMessage(input, this.botToken);
331
368
  }
369
+
370
+ // генераторы типовых методов
371
+ private wrapTextMessages(
372
+ defs: Record<string, (input: TG_SendMessageInput) => TG_SendMessageInput>
373
+ ) {
374
+ const result: Record<
375
+ string,
376
+ {
377
+ send: (
378
+ input?: TG_SendMessageInput,
379
+ message?: TG_Message,
380
+ onExpire?: (m: TG_Message) => void
381
+ ) => Promise<TG_SendMessageResponse>;
382
+ }
383
+ > = {};
384
+
385
+ Object.entries(defs).forEach(([key, builder]) => {
386
+ result[key] = {
387
+ send: (input, message, onExpire) =>
388
+ this.sendMessage(
389
+ builder(input ?? ({} as TG_SendMessageInput)),
390
+ message,
391
+ onExpire
392
+ ),
393
+ };
394
+ });
395
+ return result;
396
+ }
397
+
398
+ private wrapPhotoMessages(
399
+ defs: Record<string, (input: TG_SendPhotoInput) => TG_SendPhotoInput>
400
+ ) {
401
+ const result: Record<
402
+ string,
403
+ {
404
+ send: (
405
+ input?: TG_SendPhotoInput,
406
+ message?: TG_Message,
407
+ onExpire?: (m: TG_Message) => void
408
+ ) => Promise<TG_SendMessageResponse>;
409
+ }
410
+ > = {};
411
+
412
+ Object.entries(defs).forEach(([key, builder]) => {
413
+ result[key] = {
414
+ send: (input, message, onExpire) =>
415
+ this.sendPhoto(
416
+ builder(input ?? ({} as TG_SendPhotoInput)),
417
+ message,
418
+ onExpire
419
+ ),
420
+ };
421
+ });
422
+ return result;
423
+ }
332
424
  }
333
425
 
334
426
  export default TelegramBot;