@skroz/telegram-bot 1.0.26 → 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;IAgEV,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;
@@ -103,14 +120,12 @@ class TelegramBot {
103
120
  return;
104
121
  }
105
122
  if (!callbackQuery) {
106
- // && message
107
123
  /* разбираем входящий текст */
108
124
  await handleMessage(message);
109
125
  }
110
126
  }
111
127
  }
112
128
  async sendPhoto(input, message, onExpire) {
113
- // const { chat_id, reply_markup, caption, photo } = input;
114
129
  let sendResult;
115
130
  const sendPhotoFunction = () => telegram_api_1.default.sendPhoto({
116
131
  protect_content: this.protect_content, // переписывается инпутом
@@ -139,10 +154,7 @@ class TelegramBot {
139
154
  }
140
155
  if (sendResult.ok && sendResult.result) {
141
156
  if (onExpire) {
142
- pushMessageToExpireList(sendResult.result,
143
- // sendResult.result,
144
- // sendResult.result.from,
145
- {
157
+ pushMessageToExpireList(sendResult.result, {
146
158
  seconds: this.expiresMessageSeconds,
147
159
  onExpire,
148
160
  });
@@ -154,23 +166,16 @@ class TelegramBot {
154
166
  return sendResult;
155
167
  }
156
168
  async sendMessage(input, message, onExpire) {
157
- // const { chat_id, reply_markup, text, protect_content } = input;
158
169
  let sendResult;
159
170
  const sendPhotoFunction = () => telegram_api_1.default.sendMessage({
160
- // chat_id,
161
- // text,
162
171
  parse_mode: 'HTML',
163
172
  protect_content: this.protect_content, // переписывается инпутом
164
- // reply_markup,
165
173
  ...input,
166
174
  }, this.botToken);
167
175
  if (message) {
168
176
  try {
169
177
  sendResult = await telegram_api_1.default.editMessageText({
170
- // text,
171
178
  message_id: message.message_id,
172
- // reply_markup,
173
- // chat_id,
174
179
  ...input,
175
180
  }, this.botToken);
176
181
  }
@@ -215,6 +220,25 @@ class TelegramBot {
215
220
  async deleteMessage(input) {
216
221
  return telegram_api_1.default.deleteMessage(input, this.botToken);
217
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
+ }
218
242
  }
219
243
  exports.default = TelegramBot;
220
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.26",
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": "9ee3bab18de5a25c7be2b71d3eb1daf71995a239"
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,
@@ -179,7 +231,6 @@ class TelegramBot {
179
231
  }
180
232
 
181
233
  if (!callbackQuery) {
182
- // && message
183
234
  /* разбираем входящий текст */
184
235
  await handleMessage(message);
185
236
  }
@@ -191,8 +242,6 @@ class TelegramBot {
191
242
  message?: TG_Message,
192
243
  onExpire?: (resultMessage: TG_Message) => void
193
244
  ): Promise<TG_SendMessageResponse> {
194
- // const { chat_id, reply_markup, caption, photo } = input;
195
-
196
245
  let sendResult: TG_SendMessageResponse;
197
246
 
198
247
  const sendPhotoFunction = () =>
@@ -229,16 +278,10 @@ class TelegramBot {
229
278
 
230
279
  if (sendResult.ok && sendResult.result) {
231
280
  if (onExpire) {
232
- pushMessageToExpireList(
233
- sendResult.result,
234
-
235
- // sendResult.result,
236
- // sendResult.result.from,
237
- {
238
- seconds: this.expiresMessageSeconds,
239
- onExpire,
240
- }
241
- );
281
+ pushMessageToExpireList(sendResult.result, {
282
+ seconds: this.expiresMessageSeconds,
283
+ onExpire,
284
+ });
242
285
  } else {
243
286
  deleteMessageFromExpiringList(sendResult.result);
244
287
  }
@@ -252,18 +295,13 @@ class TelegramBot {
252
295
  message?: TG_Message,
253
296
  onExpire?: (resultMessage: TG_Message) => void
254
297
  ): Promise<TG_SendMessageResponse> {
255
- // const { chat_id, reply_markup, text, protect_content } = input;
256
-
257
298
  let sendResult: TG_SendMessageResponse;
258
299
 
259
300
  const sendPhotoFunction = () =>
260
301
  TelegramApi.sendMessage(
261
302
  {
262
- // chat_id,
263
- // text,
264
303
  parse_mode: 'HTML',
265
304
  protect_content: this.protect_content, // переписывается инпутом
266
- // reply_markup,
267
305
  ...input,
268
306
  },
269
307
  this.botToken
@@ -273,10 +311,7 @@ class TelegramBot {
273
311
  try {
274
312
  sendResult = await TelegramApi.editMessageText(
275
313
  {
276
- // text,
277
314
  message_id: message.message_id,
278
- // reply_markup,
279
- // chat_id,
280
315
  ...input,
281
316
  },
282
317
  this.botToken
@@ -331,6 +366,61 @@ class TelegramBot {
331
366
  async deleteMessage(input: TG_DeleteMessageInput): Promise<boolean> {
332
367
  return TelegramApi.deleteMessage(input, this.botToken);
333
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
+ }
334
424
  }
335
425
 
336
426
  export default TelegramBot;