@codebam/cf-workers-telegram-bot 11.13.0 → 11.18.0

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.
Files changed (57) hide show
  1. package/dist/main.d.ts +1 -21
  2. package/dist/main.js +1 -7
  3. package/dist/telegram_api.d.ts +1 -1
  4. package/dist/telegram_bot.d.ts +2 -3
  5. package/dist/telegram_bot.js +1 -3
  6. package/dist/telegram_execution_context.d.ts +1 -2
  7. package/dist/telegram_execution_context.js +16 -20
  8. package/dist/types/PartialTelegramUpdate.d.ts +6 -6
  9. package/dist/types/TelegramCommand.d.ts +1 -1
  10. package/dist/types/TelegramGuestMessage.d.ts +1 -1
  11. package/dist/types.d.ts +1 -13
  12. package/dist/types.js +1 -5
  13. package/package.json +2 -2
  14. package/dist/types/ChatPermissions.d.ts +0 -17
  15. package/dist/types/ChatPermissions.js +0 -1
  16. package/dist/types/TelegramBusinessConnection.d.ts +0 -10
  17. package/dist/types/TelegramBusinessConnection.js +0 -1
  18. package/dist/types/TelegramBusinessMessage.d.ts +0 -47
  19. package/dist/types/TelegramBusinessMessage.js +0 -1
  20. package/dist/types/TelegramCallbackQuery.d.ts +0 -15
  21. package/dist/types/TelegramCallbackQuery.js +0 -1
  22. package/dist/types/TelegramChat.d.ts +0 -21
  23. package/dist/types/TelegramChat.js +0 -1
  24. package/dist/types/TelegramDocument.d.ts +0 -10
  25. package/dist/types/TelegramDocument.js +0 -1
  26. package/dist/types/TelegramFrom.d.ts +0 -8
  27. package/dist/types/TelegramFrom.js +0 -1
  28. package/dist/types/TelegramInlineQuery.d.ts +0 -9
  29. package/dist/types/TelegramInlineQuery.js +0 -1
  30. package/dist/types/TelegramInlineQueryResult.d.ts +0 -6
  31. package/dist/types/TelegramInlineQueryResult.js +0 -8
  32. package/dist/types/TelegramInlineQueryResultArticle.d.ts +0 -13
  33. package/dist/types/TelegramInlineQueryResultArticle.js +0 -15
  34. package/dist/types/TelegramInlineQueryResultPhoto.d.ts +0 -21
  35. package/dist/types/TelegramInlineQueryResultPhoto.js +0 -23
  36. package/dist/types/TelegramInlineQueryResultVideo.d.ts +0 -21
  37. package/dist/types/TelegramInlineQueryResultVideo.js +0 -23
  38. package/dist/types/TelegramInlineQueryResultVoice.d.ts +0 -13
  39. package/dist/types/TelegramInlineQueryResultVoice.js +0 -14
  40. package/dist/types/TelegramInputMessageContent.d.ts +0 -5
  41. package/dist/types/TelegramInputMessageContent.js +0 -1
  42. package/dist/types/TelegramMessage.d.ts +0 -53
  43. package/dist/types/TelegramMessage.js +0 -1
  44. package/dist/types/TelegramMessageEntity.d.ts +0 -10
  45. package/dist/types/TelegramMessageEntity.js +0 -1
  46. package/dist/types/TelegramPhotoSize.d.ts +0 -8
  47. package/dist/types/TelegramPhotoSize.js +0 -1
  48. package/dist/types/TelegramPreCheckoutQuery.d.ts +0 -23
  49. package/dist/types/TelegramPreCheckoutQuery.js +0 -1
  50. package/dist/types/TelegramSuccessfulPayment.d.ts +0 -22
  51. package/dist/types/TelegramSuccessfulPayment.js +0 -1
  52. package/dist/types/TelegramUpdate.d.ts +0 -22
  53. package/dist/types/TelegramUpdate.js +0 -40
  54. package/dist/types/TelegramUser.d.ts +0 -13
  55. package/dist/types/TelegramUser.js +0 -1
  56. package/dist/types/TelegramVoice.d.ts +0 -7
  57. package/dist/types/TelegramVoice.js +0 -1
package/dist/main.d.ts CHANGED
@@ -1,32 +1,12 @@
1
+ import { Chat as TelegramChat, User as TelegramUser, User as TelegramFrom, MessageEntity as TelegramMessageEntity, PhotoSize as TelegramPhotoSize, Message as TelegramMessage, Voice as TelegramVoice, InputMessageContent as TelegramInputMessageContent, InlineQuery as TelegramInlineQuery, Update as TelegramUpdate, InlineQueryResult as TelegramInlineQueryResult, InlineQueryResultPhoto as TelegramInlineQueryResultPhoto, InlineQueryResultArticle as TelegramInlineQueryResultArticle, InlineQueryResultVideo as TelegramInlineQueryResultVideo, InlineQueryResultVoice as TelegramInlineQueryResultVoice, ChatPermissions as ChatPermissions, Message as TelegramBusinessMessage, CallbackQuery as TelegramCallbackQuery, PreCheckoutQuery as TelegramPreCheckoutQuery, Document as TelegramDocument, SuccessfulPayment as TelegramSuccessfulPayment } from '@grammyjs/types';
1
2
  import TelegramBot from './telegram_bot.js';
2
3
  import TelegramExecutionContext from './telegram_execution_context.js';
3
4
  import Webhook from './webhook.js';
4
5
  import TelegramApi, { TelegramApiBaseParams, SendMessageParams, SendMessageDraftParams, SendPhotoParams, SendVideoParams, SendVoiceParams, SendChatActionParams, AnswerCallbackParams, AnswerInlineParams, AnswerGuestParams, SendInvoiceParams, AnswerPreCheckoutParams, TelegramApiParams } from './telegram_api.js';
5
6
  import TelegramCommand from './types/TelegramCommand.js';
6
- import TelegramFrom from './types/TelegramFrom.js';
7
- import TelegramChat from './types/TelegramChat.js';
8
- import TelegramUser from './types/TelegramUser.js';
9
- import TelegramMessageEntity from './types/TelegramMessageEntity.js';
10
- import TelegramPhotoSize from './types/TelegramPhotoSize.js';
11
- import TelegramMessage from './types/TelegramMessage.js';
12
- import { TelegramVoice } from './types/TelegramVoice.js';
13
7
  import TelegramGuestMessage from './types/TelegramGuestMessage.js';
14
- import TelegramInputMessageContent from './types/TelegramInputMessageContent.js';
15
- import TelegramInlineQuery from './types/TelegramInlineQuery.js';
16
- import TelegramUpdate from './types/TelegramUpdate.js';
17
8
  import PartialTelegramUpdate from './types/PartialTelegramUpdate.js';
18
9
  import TelegramInlineQueryType from './types/TelegramInlineQueryType.js';
19
- import TelegramInlineQueryResult from './types/TelegramInlineQueryResult.js';
20
- import TelegramInlineQueryResultPhoto from './types/TelegramInlineQueryResultPhoto.js';
21
- import TelegramInlineQueryResultArticle from './types/TelegramInlineQueryResultArticle.js';
22
- import TelegramInlineQueryResultVideo from './types/TelegramInlineQueryResultVideo.js';
23
- import TelegramInlineQueryResultVoice from './types/TelegramInlineQueryResultVoice.js';
24
- import ChatPermissions from './types/ChatPermissions.js';
25
- import TelegramBusinessMessage from './types/TelegramBusinessMessage.js';
26
- import TelegramCallbackQuery from './types/TelegramCallbackQuery.js';
27
- import TelegramPreCheckoutQuery from './types/TelegramPreCheckoutQuery.js';
28
- import TelegramDocument from './types/TelegramDocument.js';
29
- import TelegramSuccessfulPayment from './types/TelegramSuccessfulPayment.js';
30
10
  import { markdownToHtml, fetchTool } from './utils.js';
31
11
  export default TelegramBot;
32
12
  export { TelegramBot, TelegramExecutionContext, Webhook, TelegramApi, TelegramApiBaseParams, SendMessageParams, SendMessageDraftParams, SendPhotoParams, SendVideoParams, SendVoiceParams, SendChatActionParams, AnswerCallbackParams, AnswerInlineParams, AnswerGuestParams, SendInvoiceParams, AnswerPreCheckoutParams, TelegramApiParams, TelegramCommand, TelegramFrom, TelegramChat, TelegramUser, TelegramMessageEntity, TelegramPhotoSize, TelegramMessage, TelegramVoice, TelegramGuestMessage, TelegramInputMessageContent, TelegramInlineQuery, TelegramUpdate, PartialTelegramUpdate, TelegramInlineQueryType, TelegramInlineQueryResult, TelegramInlineQueryResultPhoto, TelegramInlineQueryResultArticle, TelegramInlineQueryResultVideo, TelegramInlineQueryResultVoice, ChatPermissions, TelegramBusinessMessage, TelegramCallbackQuery, TelegramPreCheckoutQuery, TelegramDocument, TelegramSuccessfulPayment, markdownToHtml, fetchTool, };
package/dist/main.js CHANGED
@@ -2,12 +2,6 @@ import TelegramBot from './telegram_bot.js';
2
2
  import TelegramExecutionContext from './telegram_execution_context.js';
3
3
  import Webhook from './webhook.js';
4
4
  import TelegramApi from './telegram_api.js';
5
- import TelegramUpdate from './types/TelegramUpdate.js';
6
- import TelegramInlineQueryResult from './types/TelegramInlineQueryResult.js';
7
- import TelegramInlineQueryResultPhoto from './types/TelegramInlineQueryResultPhoto.js';
8
- import TelegramInlineQueryResultArticle from './types/TelegramInlineQueryResultArticle.js';
9
- import TelegramInlineQueryResultVideo from './types/TelegramInlineQueryResultVideo.js';
10
- import TelegramInlineQueryResultVoice from './types/TelegramInlineQueryResultVoice.js';
11
5
  import { markdownToHtml, fetchTool } from './utils.js';
12
6
  export default TelegramBot;
13
- export { TelegramBot, TelegramExecutionContext, Webhook, TelegramApi, TelegramUpdate, TelegramInlineQueryResult, TelegramInlineQueryResultPhoto, TelegramInlineQueryResultArticle, TelegramInlineQueryResultVideo, TelegramInlineQueryResultVoice, markdownToHtml, fetchTool, };
7
+ export { TelegramBot, TelegramExecutionContext, Webhook, TelegramApi, markdownToHtml, fetchTool, };
@@ -1,4 +1,4 @@
1
- import TelegramInlineQueryResult from './types/TelegramInlineQueryResult.js';
1
+ import { InlineQueryResult as TelegramInlineQueryResult } from '@grammyjs/types';
2
2
  /** Interface for common Telegram API parameters */
3
3
  export interface TelegramApiBaseParams {
4
4
  chat_id: number | string;
@@ -1,4 +1,4 @@
1
- import TelegramUpdate from './types/TelegramUpdate.js';
1
+ import { Update as TelegramUpdate } from '@grammyjs/types';
2
2
  import TelegramExecutionContext from './telegram_execution_context.js';
3
3
  import Webhook from './webhook.js';
4
4
  /** Class representing a telegram bot. */
@@ -10,8 +10,7 @@ export default class TelegramBot {
10
10
  /** The telegram webhook object */
11
11
  webhook: Webhook;
12
12
  /** The telegram update object */
13
- update: TelegramUpdate;
14
- /** The telegram commands record map */
13
+ update: TelegramUpdate; /** The telegram commands record map */
15
14
  commands: Record<string, (ctx: TelegramExecutionContext) => Promise<Response | void>>;
16
15
  /** Middleware functions to run before handlers */
17
16
  middleware: ((ctx: TelegramExecutionContext) => Promise<Response | void>)[];
@@ -1,4 +1,3 @@
1
- import TelegramUpdate from './types/TelegramUpdate.js';
2
1
  import TelegramExecutionContext from './telegram_execution_context.js';
3
2
  import Webhook from './webhook.js';
4
3
  /** Class representing a telegram bot. */
@@ -10,8 +9,7 @@ export default class TelegramBot {
10
9
  /** The telegram webhook object */
11
10
  webhook = new Webhook('', new Request('http://127.0.0.1'));
12
11
  /** The telegram update object */
13
- update = new TelegramUpdate({});
14
- /** The telegram commands record map */
12
+ update = { update_id: 0 }; /** The telegram commands record map */
15
13
  commands = {};
16
14
  /** Middleware functions to run before handlers */
17
15
  middleware = [];
@@ -1,7 +1,6 @@
1
+ import { Update as TelegramUpdate, InlineQueryResult as TelegramInlineQueryResult } from '@grammyjs/types';
1
2
  import TelegramApi from './telegram_api.js';
2
3
  import TelegramBot from './telegram_bot.js';
3
- import TelegramUpdate from './types/TelegramUpdate.js';
4
- import TelegramInlineQueryResult from './types/TelegramInlineQueryResult.js';
5
4
  /** Class representing the context of execution */
6
5
  export default class TelegramExecutionContext {
7
6
  /** an instance of the telegram bot */
@@ -1,8 +1,4 @@
1
1
  import TelegramApi from './telegram_api.js';
2
- import TelegramInlineQueryResultArticle from './types/TelegramInlineQueryResultArticle.js';
3
- import TelegramInlineQueryResultPhoto from './types/TelegramInlineQueryResultPhoto.js';
4
- import TelegramInlineQueryResultVideo from './types/TelegramInlineQueryResultVideo.js';
5
- import TelegramInlineQueryResultVoice from './types/TelegramInlineQueryResultVoice.js';
6
2
  /** Class representing the context of execution */
7
3
  export default class TelegramExecutionContext {
8
4
  /** an instance of the telegram bot */
@@ -45,7 +41,7 @@ export default class TelegramExecutionContext {
45
41
  * @returns The user ID or undefined if not available
46
42
  */
47
43
  get userId() {
48
- return this.update.message?.from.id ?? this.update.business_message?.from.id ?? this.update.guest_message?.from.id;
44
+ return this.update.message?.from?.id ?? this.update.business_message?.from?.id ?? this.update.guest_message?.from?.id;
49
45
  }
50
46
  /**
51
47
  * Parse arguments from the update
@@ -161,7 +157,7 @@ export default class TelegramExecutionContext {
161
157
  ...options,
162
158
  chat_id: this.getChatId(),
163
159
  message_thread_id: this.getThreadId(),
164
- business_connection_id: this.update.business_message?.business_connection_id.toString() ?? '',
160
+ business_connection_id: this.update.business_message?.business_connection_id?.toString() ?? '',
165
161
  video,
166
162
  });
167
163
  case 'guest_message':
@@ -170,7 +166,7 @@ export default class TelegramExecutionContext {
170
166
  return await this.api.answerInline(this.bot.api.toString(), {
171
167
  ...options,
172
168
  inline_query_id: this.update.inline_query?.id.toString() ?? '',
173
- results: [new TelegramInlineQueryResultVideo({ video })],
169
+ results: [{ type: 'video', id: crypto.randomUUID(), video_url: video, mime_type: 'video/mp4', thumbnail_url: video, title: 'Video' }],
174
170
  });
175
171
  default:
176
172
  return null;
@@ -209,7 +205,7 @@ export default class TelegramExecutionContext {
209
205
  ...options,
210
206
  chat_id: this.getChatId(),
211
207
  message_thread_id: this.getThreadId(),
212
- business_connection_id: this.update.business_message?.business_connection_id.toString() ?? '',
208
+ business_connection_id: this.update.business_message?.business_connection_id?.toString() ?? '',
213
209
  photo,
214
210
  caption,
215
211
  });
@@ -218,7 +214,7 @@ export default class TelegramExecutionContext {
218
214
  case 'inline':
219
215
  return await this.api.answerInline(this.bot.api.toString(), {
220
216
  inline_query_id: this.update.inline_query?.id.toString() ?? '',
221
- results: [new TelegramInlineQueryResultPhoto({ photo })],
217
+ results: [{ type: 'photo', id: crypto.randomUUID(), photo_url: photo, thumbnail_url: photo }],
222
218
  });
223
219
  default:
224
220
  return null;
@@ -248,7 +244,7 @@ export default class TelegramExecutionContext {
248
244
  ...options,
249
245
  chat_id: this.getChatId(),
250
246
  message_thread_id: this.getThreadId(),
251
- business_connection_id: this.update.business_message?.business_connection_id.toString() ?? '',
247
+ business_connection_id: this.update.business_message?.business_connection_id?.toString() ?? '',
252
248
  voice,
253
249
  caption,
254
250
  });
@@ -275,7 +271,7 @@ export default class TelegramExecutionContext {
275
271
  });
276
272
  case 'business_message':
277
273
  return await this.api.sendChatAction(this.bot.api.toString(), {
278
- business_connection_id: this.update.business_message?.business_connection_id.toString() ?? '',
274
+ business_connection_id: this.update.business_message?.business_connection_id?.toString() ?? '',
279
275
  chat_id: this.getChatId(),
280
276
  message_thread_id: this.getThreadId(),
281
277
  action: 'typing',
@@ -295,7 +291,7 @@ export default class TelegramExecutionContext {
295
291
  if (this.update_type === 'inline') {
296
292
  return await this.api.answerInline(this.bot.api.toString(), {
297
293
  inline_query_id: this.update.inline_query?.id.toString() ?? '',
298
- results: [new TelegramInlineQueryResultArticle({ content: message, title, parse_mode })],
294
+ results: [{ type: 'article', id: crypto.randomUUID(), title: title ?? '', input_message_content: { message_text: message, parse_mode: parse_mode } }],
299
295
  });
300
296
  }
301
297
  return null;
@@ -318,7 +314,7 @@ export default class TelegramExecutionContext {
318
314
  * @returns Promise with the API response
319
315
  */
320
316
  async answerGuestQueryText(message, parse_mode = '') {
321
- return await this.answerGuestQuery(new TelegramInlineQueryResultArticle({ content: message, title: 'Response', parse_mode }));
317
+ return await this.answerGuestQuery({ type: 'article', id: crypto.randomUUID(), title: 'Response', input_message_content: { message_text: message, parse_mode: parse_mode } });
322
318
  }
323
319
  /**
324
320
  * Answer a guest query with a photo
@@ -328,7 +324,7 @@ export default class TelegramExecutionContext {
328
324
  * @returns Promise with the API response
329
325
  */
330
326
  async answerGuestQueryPhoto(photo, caption = '', parse_mode = '') {
331
- return await this.answerGuestQuery(new TelegramInlineQueryResultPhoto({ photo, caption, parse_mode }));
327
+ return await this.answerGuestQuery({ type: 'photo', id: crypto.randomUUID(), photo_url: photo, thumbnail_url: photo, caption, parse_mode: parse_mode });
332
328
  }
333
329
  /**
334
330
  * Answer a guest query with a video
@@ -338,7 +334,7 @@ export default class TelegramExecutionContext {
338
334
  * @returns Promise with the API response
339
335
  */
340
336
  async answerGuestQueryVideo(video, caption = '', parse_mode = '') {
341
- return await this.answerGuestQuery(new TelegramInlineQueryResultVideo({ video, caption, parse_mode }));
337
+ return await this.answerGuestQuery({ type: 'video', id: crypto.randomUUID(), video_url: video, mime_type: 'video/mp4', thumbnail_url: video, title: 'Video', caption, parse_mode: parse_mode });
342
338
  }
343
339
  /**
344
340
  * Answer a guest query with a voice message
@@ -348,7 +344,7 @@ export default class TelegramExecutionContext {
348
344
  * @returns Promise with the API response
349
345
  */
350
346
  async answerGuestQueryVoice(voice, caption = '', parse_mode = '') {
351
- return await this.answerGuestQuery(new TelegramInlineQueryResultVoice({ voice, caption, parse_mode }));
347
+ return await this.answerGuestQuery({ type: 'voice', id: crypto.randomUUID(), voice_url: voice, title: 'Voice', caption, parse_mode: parse_mode });
352
348
  }
353
349
  /** Map of draft IDs to message IDs for streaming */
354
350
  drafts = new Map();
@@ -362,7 +358,7 @@ export default class TelegramExecutionContext {
362
358
  */
363
359
  async streamReply(message, draft_id, parse_mode = '', options = {}) {
364
360
  const message_id = this.drafts.get(draft_id);
365
- const business_connection_id = this.update.business_message?.business_connection_id.toString();
361
+ const business_connection_id = this.update.business_message?.business_connection_id?.toString();
366
362
  if (message_id) {
367
363
  return await this.api.editMessageText(this.bot.api.toString(), {
368
364
  chat_id: this.getChatId(),
@@ -439,11 +435,11 @@ export default class TelegramExecutionContext {
439
435
  chat_id: this.getChatId(),
440
436
  message_thread_id: this.getThreadId(),
441
437
  text: message,
442
- business_connection_id: this.update.business_message?.business_connection_id.toString() ?? '',
438
+ business_connection_id: this.update.business_message?.business_connection_id?.toString() ?? '',
443
439
  parse_mode,
444
440
  });
445
441
  case 'callback':
446
- if (this.update.callback_query?.message.chat.id) {
442
+ if (this.update.callback_query?.message?.chat.id) {
447
443
  return await this.api.sendMessage(this.bot.api.toString(), {
448
444
  ...options,
449
445
  chat_id: this.update.callback_query.message.chat.id.toString(),
@@ -471,7 +467,7 @@ export default class TelegramExecutionContext {
471
467
  return await this.api.sendInvoice(this.bot.api.toString(), {
472
468
  chat_id: this.getChatId(),
473
469
  message_thread_id: this.getThreadId(),
474
- business_connection_id: this.update.business_message?.business_connection_id.toString(),
470
+ business_connection_id: this.update.business_message?.business_connection_id?.toString(),
475
471
  title,
476
472
  description,
477
473
  payload,
@@ -1,10 +1,10 @@
1
- import TelegramBusinessMessage from './TelegramBusinessMessage.js';
2
- import TelegramInlineQuery from './TelegramInlineQuery.js';
3
- import TelegramMessage from './TelegramMessage.js';
1
+ import { Message as TelegramBusinessMessage } from '@grammyjs/types';
2
+ import { InlineQuery as TelegramInlineQuery } from '@grammyjs/types';
3
+ import { Message as TelegramMessage } from '@grammyjs/types';
4
4
  import TelegramGuestMessage from './TelegramGuestMessage.js';
5
- import TelegramPreCheckoutQuery from './TelegramPreCheckoutQuery.js';
6
- import TelegramCallbackQuery from './TelegramCallbackQuery.js';
7
- import TelegramBusinessConnection from './TelegramBusinessConnection.js';
5
+ import { PreCheckoutQuery as TelegramPreCheckoutQuery } from '@grammyjs/types';
6
+ import { CallbackQuery as TelegramCallbackQuery } from '@grammyjs/types';
7
+ import { BusinessConnection as TelegramBusinessConnection } from '@grammyjs/types';
8
8
  interface PartialTelegramUpdate {
9
9
  update_id?: number;
10
10
  message?: TelegramMessage;
@@ -1,4 +1,4 @@
1
1
  import TelegramBot from '../telegram_bot.js';
2
- import TelegramUpdate from './TelegramUpdate.js';
2
+ import { Update as TelegramUpdate } from '@grammyjs/types';
3
3
  type TelegramCommand = (bot: TelegramBot, update: TelegramUpdate, args: string[]) => Promise<Response>;
4
4
  export default TelegramCommand;
@@ -1,4 +1,4 @@
1
- import TelegramMessage from "./TelegramMessage.js";
1
+ import { Message as TelegramMessage } from '@grammyjs/types';
2
2
  export default interface TelegramGuestMessage extends TelegramMessage {
3
3
  guest_query_id: string;
4
4
  }
package/dist/types.d.ts CHANGED
@@ -1,22 +1,10 @@
1
+ import { Chat as TelegramChat, User as TelegramUser, User as TelegramFrom, MessageEntity as TelegramMessageEntity, PhotoSize as TelegramPhotoSize, Message as TelegramMessage, InputMessageContent as TelegramInputMessageContent, InlineQuery as TelegramInlineQuery, Update as TelegramUpdate, InlineQueryResult as TelegramInlineQueryResult, InlineQueryResultPhoto as TelegramInlineQueryResultPhoto, InlineQueryResultArticle as TelegramInlineQueryResultArticle, ChatPermissions as ChatPermissions } from '@grammyjs/types';
1
2
  import TelegramBot from './telegram_bot.js';
2
3
  import TelegramExecutionContext from './telegram_execution_context.js';
3
4
  import Webhook from './webhook.js';
4
5
  import TelegramApi from './telegram_api.js';
5
6
  import TelegramCommand from './types/TelegramCommand.js';
6
- import TelegramFrom from './types/TelegramFrom.js';
7
- import TelegramChat from './types/TelegramChat.js';
8
- import TelegramUser from './types/TelegramUser.js';
9
- import TelegramMessageEntity from './types/TelegramMessageEntity.js';
10
- import TelegramPhotoSize from './types/TelegramPhotoSize.js';
11
- import TelegramMessage from './types/TelegramMessage.js';
12
- import TelegramInputMessageContent from './types/TelegramInputMessageContent.js';
13
- import TelegramInlineQuery from './types/TelegramInlineQuery.js';
14
- import TelegramUpdate from './types/TelegramUpdate.js';
15
7
  import PartialTelegramUpdate from './types/PartialTelegramUpdate.js';
16
8
  import TelegramInlineQueryType from './types/TelegramInlineQueryType.js';
17
- import TelegramInlineQueryResult from './types/TelegramInlineQueryResult.js';
18
- import TelegramInlineQueryResultPhoto from './types/TelegramInlineQueryResultPhoto.js';
19
- import TelegramInlineQueryResultArticle from './types/TelegramInlineQueryResultArticle.js';
20
- import ChatPermissions from './types/ChatPermissions.js';
21
9
  export default TelegramBot;
22
10
  export { TelegramBot, TelegramExecutionContext, Webhook, TelegramApi, TelegramCommand, TelegramFrom, TelegramChat, TelegramUser, TelegramMessageEntity, TelegramPhotoSize, TelegramMessage, TelegramInputMessageContent, TelegramInlineQuery, TelegramUpdate, PartialTelegramUpdate, TelegramInlineQueryType, TelegramInlineQueryResult, TelegramInlineQueryResultPhoto, TelegramInlineQueryResultArticle, ChatPermissions, };
package/dist/types.js CHANGED
@@ -2,9 +2,5 @@ import TelegramBot from './telegram_bot.js';
2
2
  import TelegramExecutionContext from './telegram_execution_context.js';
3
3
  import Webhook from './webhook.js';
4
4
  import TelegramApi from './telegram_api.js';
5
- import TelegramUpdate from './types/TelegramUpdate.js';
6
- import TelegramInlineQueryResult from './types/TelegramInlineQueryResult.js';
7
- import TelegramInlineQueryResultPhoto from './types/TelegramInlineQueryResultPhoto.js';
8
- import TelegramInlineQueryResultArticle from './types/TelegramInlineQueryResultArticle.js';
9
5
  export default TelegramBot;
10
- export { TelegramBot, TelegramExecutionContext, Webhook, TelegramApi, TelegramUpdate, TelegramInlineQueryResult, TelegramInlineQueryResultPhoto, TelegramInlineQueryResultArticle, };
6
+ export { TelegramBot, TelegramExecutionContext, Webhook, TelegramApi, };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codebam/cf-workers-telegram-bot",
3
- "version": "11.13.0",
3
+ "version": "11.18.0",
4
4
  "description": "serverless telegram bot on cf workers",
5
5
  "main": "./dist/main.js",
6
6
  "module": "./dist/main.js",
@@ -17,7 +17,6 @@
17
17
  "webhook"
18
18
  ],
19
19
  "type": "module",
20
- "private": false,
21
20
  "publishConfig": {
22
21
  "access": "public"
23
22
  },
@@ -54,6 +53,7 @@
54
53
  },
55
54
  "dependencies": {
56
55
  "@eslint/eslintrc": "^3.3.5",
56
+ "@grammyjs/types": "^3.27.2",
57
57
  "marked": "^18.0.3"
58
58
  },
59
59
  "typedocOptions": {
@@ -1,17 +0,0 @@
1
- interface ChatPermissions {
2
- can_send_messages?: boolean;
3
- can_send_audios?: boolean;
4
- can_send_documents?: boolean;
5
- can_send_photos?: boolean;
6
- can_send_videos?: boolean;
7
- can_send_video_notes?: boolean;
8
- can_send_voice_notes?: boolean;
9
- can_send_polls?: boolean;
10
- can_send_other_messages?: boolean;
11
- can_add_web_page_previews?: boolean;
12
- can_change_info?: boolean;
13
- can_invite_users?: boolean;
14
- can_pin_messages?: boolean;
15
- can_manage_topics?: boolean;
16
- }
17
- export default ChatPermissions;
@@ -1 +0,0 @@
1
- export {};
@@ -1,10 +0,0 @@
1
- import TelegramUser from './TelegramUser.js';
2
- interface TelegramBusinessConnection {
3
- id: string;
4
- user: TelegramUser;
5
- user_chat_id: number;
6
- date: number;
7
- can_reply: boolean;
8
- is_enabled: boolean;
9
- }
10
- export default TelegramBusinessConnection;
@@ -1 +0,0 @@
1
- export {};
@@ -1,47 +0,0 @@
1
- import TelegramChat from './TelegramChat.js';
2
- import { TelegramDocument } from './TelegramDocument.js';
3
- import TelegramFrom from './TelegramFrom.js';
4
- import TelegramMessageEntity from './TelegramMessageEntity.js';
5
- import TelegramPhotoSize from './TelegramPhotoSize.js';
6
- import TelegramUser from './TelegramUser.js';
7
- import TelegramMessage from './TelegramMessage.js';
8
- interface TelegramBusinessMessage {
9
- message_id: number;
10
- business_connection_id: string;
11
- from: TelegramFrom;
12
- sender_chat?: TelegramChat;
13
- date: number;
14
- chat: TelegramChat;
15
- forward_from?: TelegramUser;
16
- forward_from_chat?: TelegramChat;
17
- forward_from_message_id?: number;
18
- forward_signature?: string;
19
- forward_sender_name?: string;
20
- forward_date?: number;
21
- is_automatic_forward?: boolean;
22
- reply_to_message?: TelegramMessage;
23
- via_bot?: TelegramUser;
24
- edit_date?: number;
25
- has_protected_content?: boolean;
26
- media_group_id?: string;
27
- author_signature?: string;
28
- text?: string;
29
- entities?: TelegramMessageEntity[];
30
- document?: TelegramDocument;
31
- photo?: TelegramPhotoSize[];
32
- caption?: string;
33
- caption_entities?: TelegramMessageEntity[];
34
- new_chat_members?: TelegramUser[];
35
- new_chat_member?: TelegramUser;
36
- left_chat_member?: TelegramUser;
37
- new_chat_title?: string;
38
- delete_chat_photo?: boolean;
39
- group_chat_created?: boolean;
40
- supergroup_chat_created?: boolean;
41
- channel_chat_created?: boolean;
42
- migrate_to_chat_id?: number;
43
- migrate_from_chat_id?: number;
44
- pinned_message?: TelegramMessage;
45
- connected_website?: string;
46
- }
47
- export default TelegramBusinessMessage;
@@ -1 +0,0 @@
1
- export {};
@@ -1,15 +0,0 @@
1
- import TelegramFrom from './TelegramFrom.js';
2
- import TelegramMessage from './TelegramMessage.js';
3
- interface TelegramCallbackQuery {
4
- chat_type: 'sender' | 'private' | 'group' | 'supergroup' | 'channel';
5
- from: TelegramFrom;
6
- id: number;
7
- offset: string;
8
- query: string;
9
- message: TelegramMessage;
10
- inline_message_id: string;
11
- chat_instance: string;
12
- data: string;
13
- game_short_name: string;
14
- }
15
- export default TelegramCallbackQuery;
@@ -1 +0,0 @@
1
- export {};
@@ -1,21 +0,0 @@
1
- import TelegramMessage from './TelegramMessage.js';
2
- interface TelegramChat {
3
- id: number;
4
- type: string;
5
- title?: string;
6
- username?: string;
7
- first_name?: string;
8
- last_name?: string;
9
- bio?: string;
10
- has_private_forwards: boolean;
11
- description?: string;
12
- invite_link?: string;
13
- pinned_message?: TelegramMessage;
14
- slow_mode_delay?: number;
15
- message_auto_delete_time?: number;
16
- has_protected_content?: boolean;
17
- sticker_set_name?: string;
18
- can_set_sticker_set?: boolean;
19
- linked_chat_id?: number;
20
- }
21
- export default TelegramChat;
@@ -1 +0,0 @@
1
- export {};
@@ -1,10 +0,0 @@
1
- import TelegramPhotoSize from './TelegramPhotoSize.js';
2
- export interface TelegramDocument {
3
- file_name: string;
4
- mime_type: string;
5
- thumbnail: TelegramPhotoSize;
6
- file_id: string;
7
- file_unique_id: string;
8
- file_size: number;
9
- }
10
- export default TelegramDocument;
@@ -1 +0,0 @@
1
- export {};
@@ -1,8 +0,0 @@
1
- interface TelegramFrom {
2
- first_name: string;
3
- id: number;
4
- is_bot: boolean;
5
- language_code: string;
6
- username: string;
7
- }
8
- export default TelegramFrom;
@@ -1 +0,0 @@
1
- export {};
@@ -1,9 +0,0 @@
1
- import TelegramFrom from './TelegramFrom.js';
2
- interface TelegramInlineQuery {
3
- chat_type: 'sender' | 'private' | 'group' | 'supergroup' | 'channel';
4
- from: TelegramFrom;
5
- id: number;
6
- offset: string;
7
- query: string;
8
- }
9
- export default TelegramInlineQuery;
@@ -1 +0,0 @@
1
- export {};
@@ -1,6 +0,0 @@
1
- import TelegramInlineQueryType from './TelegramInlineQueryType.js';
2
- export default class TelegramInlineQueryResult {
3
- type: TelegramInlineQueryType;
4
- id: string;
5
- constructor(type: TelegramInlineQueryType);
6
- }
@@ -1,8 +0,0 @@
1
- export default class TelegramInlineQueryResult {
2
- type;
3
- id;
4
- constructor(type) {
5
- this.type = type;
6
- this.id = crypto.randomUUID();
7
- }
8
- }
@@ -1,13 +0,0 @@
1
- import TelegramInlineQueryResult from './TelegramInlineQueryResult.js';
2
- import TelegramInputMessageContent from './TelegramInputMessageContent.js';
3
- export default class TelegramInlineQueryResultArticle extends TelegramInlineQueryResult {
4
- title: string;
5
- input_message_content: TelegramInputMessageContent;
6
- thumb_url: string;
7
- constructor(data: {
8
- content: string;
9
- title?: string;
10
- parse_mode?: string;
11
- thumb_url?: string;
12
- });
13
- }
@@ -1,15 +0,0 @@
1
- import TelegramInlineQueryResult from './TelegramInlineQueryResult.js';
2
- export default class TelegramInlineQueryResultArticle extends TelegramInlineQueryResult {
3
- title;
4
- input_message_content;
5
- thumb_url;
6
- constructor(data) {
7
- super('article');
8
- this.title = data.title ?? '';
9
- this.input_message_content = {
10
- message_text: data.content,
11
- parse_mode: data.parse_mode ?? '',
12
- };
13
- this.thumb_url = data.thumb_url ?? '';
14
- }
15
- }
@@ -1,21 +0,0 @@
1
- import TelegramInlineQueryResult from './TelegramInlineQueryResult.js';
2
- import TelegramInputMessageContent from './TelegramInputMessageContent.js';
3
- export default class TelegramInlineQueryResultPhoto extends TelegramInlineQueryResult {
4
- photo_url: string;
5
- thumb_url: string;
6
- photo_width?: number;
7
- photo_height?: number;
8
- title?: string;
9
- description?: string;
10
- caption?: string;
11
- parse_mode?: string;
12
- caption_entities?: string;
13
- input_message_content?: TelegramInputMessageContent;
14
- constructor(data: {
15
- photo: string;
16
- caption?: string;
17
- parse_mode?: string;
18
- title?: string;
19
- description?: string;
20
- });
21
- }
@@ -1,23 +0,0 @@
1
- import TelegramInlineQueryResult from './TelegramInlineQueryResult.js';
2
- export default class TelegramInlineQueryResultPhoto extends TelegramInlineQueryResult {
3
- photo_url; // must be a jpg
4
- thumb_url;
5
- photo_width;
6
- photo_height;
7
- title;
8
- description;
9
- caption;
10
- parse_mode;
11
- caption_entities;
12
- // reply_markup?: TelegramInlineKeyboardMarkup;
13
- input_message_content;
14
- constructor(data) {
15
- super('photo');
16
- this.photo_url = data.photo;
17
- this.thumb_url = data.photo;
18
- this.caption = data.caption;
19
- this.parse_mode = data.parse_mode;
20
- this.title = data.title;
21
- this.description = data.description;
22
- }
23
- }
@@ -1,21 +0,0 @@
1
- import TelegramInlineQueryResult from './TelegramInlineQueryResult.js';
2
- import TelegramInputMessageContent from './TelegramInputMessageContent.js';
3
- export default class TelegramInlineQueryResultVideo extends TelegramInlineQueryResult {
4
- video_url: string;
5
- mime_type: string;
6
- thumb_url: string;
7
- title: string;
8
- caption?: string;
9
- parse_mode?: string;
10
- video_width?: number;
11
- video_height?: number;
12
- video_duration?: number;
13
- description?: string;
14
- input_message_content?: TelegramInputMessageContent;
15
- constructor(data: {
16
- video: string;
17
- title?: string;
18
- caption?: string;
19
- parse_mode?: string;
20
- });
21
- }
@@ -1,23 +0,0 @@
1
- import TelegramInlineQueryResult from './TelegramInlineQueryResult.js';
2
- export default class TelegramInlineQueryResultVideo extends TelegramInlineQueryResult {
3
- video_url;
4
- mime_type;
5
- thumb_url;
6
- title;
7
- caption;
8
- parse_mode;
9
- video_width;
10
- video_height;
11
- video_duration;
12
- description;
13
- input_message_content;
14
- constructor(data) {
15
- super('video');
16
- this.video_url = data.video;
17
- this.mime_type = 'video/mp4';
18
- this.thumb_url = data.video;
19
- this.title = data.title ?? 'Video';
20
- this.caption = data.caption;
21
- this.parse_mode = data.parse_mode;
22
- }
23
- }
@@ -1,13 +0,0 @@
1
- import TelegramInlineQueryResult from './TelegramInlineQueryResult.js';
2
- export default class TelegramInlineQueryResultVoice extends TelegramInlineQueryResult {
3
- voice_url: string;
4
- title: string;
5
- caption?: string;
6
- parse_mode?: string;
7
- constructor(data: {
8
- voice: string;
9
- title?: string;
10
- caption?: string;
11
- parse_mode?: string;
12
- });
13
- }
@@ -1,14 +0,0 @@
1
- import TelegramInlineQueryResult from './TelegramInlineQueryResult.js';
2
- export default class TelegramInlineQueryResultVoice extends TelegramInlineQueryResult {
3
- voice_url;
4
- title;
5
- caption;
6
- parse_mode;
7
- constructor(data) {
8
- super('voice');
9
- this.voice_url = data.voice;
10
- this.title = data.title ?? 'Voice';
11
- this.caption = data.caption;
12
- this.parse_mode = data.parse_mode;
13
- }
14
- }
@@ -1,5 +0,0 @@
1
- interface TelegramInputMessageContent {
2
- message_text: string;
3
- parse_mode: string;
4
- }
5
- export default TelegramInputMessageContent;
@@ -1 +0,0 @@
1
- export {};
@@ -1,53 +0,0 @@
1
- import TelegramChat from './TelegramChat.js';
2
- import { TelegramDocument } from './TelegramDocument.js';
3
- import TelegramFrom from './TelegramFrom.js';
4
- import TelegramMessageEntity from './TelegramMessageEntity.js';
5
- import TelegramPhotoSize from './TelegramPhotoSize.js';
6
- import TelegramUser from './TelegramUser.js';
7
- import TelegramSuccessfulPayment from './TelegramSuccessfulPayment.js';
8
- import { TelegramVoice } from './TelegramVoice.js';
9
- interface TelegramMessage {
10
- message_id: number;
11
- message_thread_id?: number;
12
- from: TelegramFrom;
13
- sender_chat?: TelegramChat;
14
- date: number;
15
- chat: TelegramChat;
16
- forward_from?: TelegramUser;
17
- forward_from_chat?: TelegramChat;
18
- forward_from_message_id?: number;
19
- forward_signature?: string;
20
- forward_sender_name?: string;
21
- forward_date?: number;
22
- is_automatic_forward?: boolean;
23
- reply_to_message?: TelegramMessage;
24
- via_bot?: TelegramUser;
25
- edit_date?: number;
26
- has_protected_content?: boolean;
27
- media_group_id?: string;
28
- author_signature?: string;
29
- text?: string;
30
- entities?: TelegramMessageEntity[];
31
- document?: TelegramDocument;
32
- photo?: TelegramPhotoSize[];
33
- voice?: TelegramVoice;
34
- caption?: string;
35
- caption_entities?: TelegramMessageEntity[];
36
- new_chat_members?: TelegramUser[];
37
- new_chat_member?: TelegramUser;
38
- left_chat_member?: TelegramUser;
39
- new_chat_title?: string;
40
- delete_chat_photo?: boolean;
41
- group_chat_created?: boolean;
42
- supergroup_chat_created?: boolean;
43
- channel_chat_created?: boolean;
44
- migrate_to_chat_id?: number;
45
- migrate_from_chat_id?: number;
46
- pinned_message?: TelegramMessage;
47
- successful_payment?: TelegramSuccessfulPayment;
48
- connected_website?: string;
49
- guest_bot_caller_user?: TelegramUser;
50
- guest_bot_caller_chat?: TelegramChat;
51
- guest_query_id?: string;
52
- }
53
- export default TelegramMessage;
@@ -1 +0,0 @@
1
- export {};
@@ -1,10 +0,0 @@
1
- import TelegramUser from './TelegramUser.js';
2
- interface TelegramMessageEntity {
3
- type: string;
4
- offset: number;
5
- length: number;
6
- url?: string;
7
- user?: TelegramUser;
8
- language?: string;
9
- }
10
- export default TelegramMessageEntity;
@@ -1 +0,0 @@
1
- export {};
@@ -1,8 +0,0 @@
1
- interface TelegramPhotoSize {
2
- file_id: string;
3
- file_unique_id: string;
4
- width: number;
5
- height: number;
6
- file_size?: number;
7
- }
8
- export default TelegramPhotoSize;
@@ -1 +0,0 @@
1
- export {};
@@ -1,23 +0,0 @@
1
- import TelegramUser from './TelegramUser.js';
2
- interface TelegramPreCheckoutQuery {
3
- id: string;
4
- from: TelegramUser;
5
- currency: string;
6
- total_amount: number;
7
- invoice_payload: string;
8
- shipping_option_id?: string;
9
- order_info?: {
10
- name?: string;
11
- phone_number?: string;
12
- email?: string;
13
- shipping_address?: {
14
- country_code: string;
15
- state: string;
16
- city: string;
17
- street_line1: string;
18
- street_line2: string;
19
- post_code: string;
20
- };
21
- };
22
- }
23
- export default TelegramPreCheckoutQuery;
@@ -1 +0,0 @@
1
- export {};
@@ -1,22 +0,0 @@
1
- interface TelegramSuccessfulPayment {
2
- currency: string;
3
- total_amount: number;
4
- invoice_payload: string;
5
- shipping_option_id?: string;
6
- order_info?: {
7
- name?: string;
8
- phone_number?: string;
9
- email?: string;
10
- shipping_address?: {
11
- country_code: string;
12
- state: string;
13
- city: string;
14
- street_line1: string;
15
- street_line2: string;
16
- post_code: string;
17
- };
18
- };
19
- telegram_payment_charge_id: string;
20
- provider_payment_charge_id: string;
21
- }
22
- export default TelegramSuccessfulPayment;
@@ -1 +0,0 @@
1
- export {};
@@ -1,22 +0,0 @@
1
- import TelegramInlineQuery from './TelegramInlineQuery.js';
2
- import TelegramMessage from './TelegramMessage.js';
3
- import PartialTelegramUpdate from './PartialTelegramUpdate.js';
4
- import TelegramCallbackQuery from './TelegramCallbackQuery.js';
5
- import TelegramBusinessMessage from './TelegramBusinessMessage.js';
6
- import TelegramGuestMessage from './TelegramGuestMessage.js';
7
- import TelegramPreCheckoutQuery from './TelegramPreCheckoutQuery.js';
8
- import TelegramBusinessConnection from './TelegramBusinessConnection.js';
9
- export default class TelegramUpdate {
10
- update_id: number;
11
- message?: TelegramMessage;
12
- edited_message?: TelegramMessage;
13
- channel_post?: TelegramMessage;
14
- edited_channel_post?: TelegramMessage;
15
- inline_query?: TelegramInlineQuery;
16
- callback_query?: TelegramCallbackQuery;
17
- business_message?: TelegramBusinessMessage;
18
- guest_message?: TelegramGuestMessage;
19
- pre_checkout_query?: TelegramPreCheckoutQuery;
20
- business_connection?: TelegramBusinessConnection;
21
- constructor(update: PartialTelegramUpdate);
22
- }
@@ -1,40 +0,0 @@
1
- export default class TelegramUpdate {
2
- update_id;
3
- message;
4
- edited_message;
5
- channel_post;
6
- edited_channel_post;
7
- inline_query;
8
- // chosen_inline_result?: TelegramChosenInlineResult;
9
- callback_query;
10
- business_message;
11
- guest_message;
12
- // shipping_query?: TelegramShippingQuery;
13
- pre_checkout_query;
14
- // poll?: TelegramPoll;
15
- // poll_answer?: TelegramPollAnswer;
16
- // my_chat_member?: TelegramChatMemberUpdated;
17
- // chat_member?: TelegramChatMemberUpdated;
18
- // chat_join_request: TelegramChatJoinRequest;
19
- business_connection;
20
- constructor(update) {
21
- this.update_id = update.update_id ?? 0;
22
- this.message = update.message;
23
- this.edited_message = update.edited_message;
24
- this.channel_post = update.channel_post;
25
- this.edited_channel_post = update.edited_channel_post;
26
- this.inline_query = update.inline_query;
27
- this.business_message = update.business_message;
28
- this.guest_message = update.guest_message;
29
- // chosen_inline_result = update.chosen_inline_result;
30
- this.callback_query = update.callback_query;
31
- // shipping_query = update.shipping_query;
32
- this.pre_checkout_query = update.pre_checkout_query;
33
- this.business_connection = update.business_connection;
34
- // poll = update.poll;
35
- // poll_answer = update.poll_answer;
36
- // my_chat_member = update.my_chat_member;
37
- // chat_member = update.chat_member;
38
- // chat_join_request = update.chat_join_request;
39
- }
40
- }
@@ -1,13 +0,0 @@
1
- interface TelegramUser {
2
- id: number;
3
- is_bot: boolean;
4
- first_name: string;
5
- last_name?: string;
6
- username?: string;
7
- language_code?: string;
8
- can_join_groups?: boolean;
9
- can_read_all_group_messages?: boolean;
10
- supports_inline_queries: boolean;
11
- supports_guest_queries: boolean;
12
- }
13
- export default TelegramUser;
@@ -1 +0,0 @@
1
- export {};
@@ -1,7 +0,0 @@
1
- export interface TelegramVoice {
2
- file_id: string;
3
- file_unique_id: string;
4
- duration: number;
5
- mime_type?: string;
6
- file_size?: number;
7
- }
@@ -1 +0,0 @@
1
- export {};