@yaebal/contexts 0.0.1 → 0.0.3

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 (138) hide show
  1. package/lib/generated/business-connection.d.ts +2 -2
  2. package/lib/generated/business-connection.js +2 -2
  3. package/lib/generated/business-message.d.ts +77 -33
  4. package/lib/generated/business-message.d.ts.map +1 -1
  5. package/lib/generated/business-message.js +130 -42
  6. package/lib/generated/business-message.js.map +1 -1
  7. package/lib/generated/callback-query.d.ts +73 -29
  8. package/lib/generated/callback-query.d.ts.map +1 -1
  9. package/lib/generated/callback-query.js +126 -38
  10. package/lib/generated/callback-query.js.map +1 -1
  11. package/lib/generated/channel-post.d.ts +77 -33
  12. package/lib/generated/channel-post.d.ts.map +1 -1
  13. package/lib/generated/channel-post.js +130 -42
  14. package/lib/generated/channel-post.js.map +1 -1
  15. package/lib/generated/chat-boost.d.ts +34 -20
  16. package/lib/generated/chat-boost.d.ts.map +1 -1
  17. package/lib/generated/chat-boost.js +51 -23
  18. package/lib/generated/chat-boost.js.map +1 -1
  19. package/lib/generated/chat-join-request.d.ts +63 -29
  20. package/lib/generated/chat-join-request.d.ts.map +1 -1
  21. package/lib/generated/chat-join-request.js +106 -38
  22. package/lib/generated/chat-join-request.js.map +1 -1
  23. package/lib/generated/chat-member.d.ts +63 -29
  24. package/lib/generated/chat-member.d.ts.map +1 -1
  25. package/lib/generated/chat-member.js +106 -38
  26. package/lib/generated/chat-member.js.map +1 -1
  27. package/lib/generated/chosen-inline-result.d.ts +29 -11
  28. package/lib/generated/chosen-inline-result.d.ts.map +1 -1
  29. package/lib/generated/chosen-inline-result.js +54 -18
  30. package/lib/generated/chosen-inline-result.js.map +1 -1
  31. package/lib/generated/deleted-business-messages.d.ts +34 -20
  32. package/lib/generated/deleted-business-messages.d.ts.map +1 -1
  33. package/lib/generated/deleted-business-messages.js +51 -23
  34. package/lib/generated/deleted-business-messages.js.map +1 -1
  35. package/lib/generated/edited-business-message.d.ts +77 -33
  36. package/lib/generated/edited-business-message.d.ts.map +1 -1
  37. package/lib/generated/edited-business-message.js +130 -42
  38. package/lib/generated/edited-business-message.js.map +1 -1
  39. package/lib/generated/edited-channel-post.d.ts +77 -33
  40. package/lib/generated/edited-channel-post.d.ts.map +1 -1
  41. package/lib/generated/edited-channel-post.js +130 -42
  42. package/lib/generated/edited-channel-post.js.map +1 -1
  43. package/lib/generated/edited-message.d.ts +77 -33
  44. package/lib/generated/edited-message.d.ts.map +1 -1
  45. package/lib/generated/edited-message.js +130 -42
  46. package/lib/generated/edited-message.js.map +1 -1
  47. package/lib/generated/guest-message.d.ts +252 -0
  48. package/lib/generated/guest-message.d.ts.map +1 -0
  49. package/lib/generated/guest-message.js +494 -0
  50. package/lib/generated/guest-message.js.map +1 -0
  51. package/lib/generated/index.d.ts +8 -2
  52. package/lib/generated/index.d.ts.map +1 -1
  53. package/lib/generated/index.js +7 -1
  54. package/lib/generated/index.js.map +1 -1
  55. package/lib/generated/inline-query.d.ts +30 -12
  56. package/lib/generated/inline-query.d.ts.map +1 -1
  57. package/lib/generated/inline-query.js +56 -20
  58. package/lib/generated/inline-query.js.map +1 -1
  59. package/lib/generated/managed-bot.d.ts +14 -0
  60. package/lib/generated/managed-bot.d.ts.map +1 -0
  61. package/lib/generated/managed-bot.js +18 -0
  62. package/lib/generated/managed-bot.js.map +1 -0
  63. package/lib/generated/message-reaction-count.d.ts +47 -23
  64. package/lib/generated/message-reaction-count.d.ts.map +1 -1
  65. package/lib/generated/message-reaction-count.js +74 -26
  66. package/lib/generated/message-reaction-count.js.map +1 -1
  67. package/lib/generated/message-reaction.d.ts +49 -25
  68. package/lib/generated/message-reaction.d.ts.map +1 -1
  69. package/lib/generated/message-reaction.js +76 -28
  70. package/lib/generated/message-reaction.js.map +1 -1
  71. package/lib/generated/message.d.ts +77 -33
  72. package/lib/generated/message.d.ts.map +1 -1
  73. package/lib/generated/message.js +130 -42
  74. package/lib/generated/message.js.map +1 -1
  75. package/lib/generated/my-chat-member.d.ts +63 -29
  76. package/lib/generated/my-chat-member.d.ts.map +1 -1
  77. package/lib/generated/my-chat-member.js +106 -38
  78. package/lib/generated/my-chat-member.js.map +1 -1
  79. package/lib/generated/poll-answer.d.ts +2 -2
  80. package/lib/generated/poll-answer.js +2 -2
  81. package/lib/generated/pre-checkout-query.d.ts +29 -11
  82. package/lib/generated/pre-checkout-query.d.ts.map +1 -1
  83. package/lib/generated/pre-checkout-query.js +54 -18
  84. package/lib/generated/pre-checkout-query.js.map +1 -1
  85. package/lib/generated/purchased-paid-media.d.ts +29 -11
  86. package/lib/generated/purchased-paid-media.d.ts.map +1 -1
  87. package/lib/generated/purchased-paid-media.js +54 -18
  88. package/lib/generated/purchased-paid-media.js.map +1 -1
  89. package/lib/generated/removed-chat-boost.d.ts +34 -20
  90. package/lib/generated/removed-chat-boost.d.ts.map +1 -1
  91. package/lib/generated/removed-chat-boost.js +51 -23
  92. package/lib/generated/removed-chat-boost.js.map +1 -1
  93. package/lib/generated/shipping-query.d.ts +29 -11
  94. package/lib/generated/shipping-query.d.ts.map +1 -1
  95. package/lib/generated/shipping-query.js +54 -18
  96. package/lib/generated/shipping-query.js.map +1 -1
  97. package/lib/index.test.js +1 -1
  98. package/lib/index.test.js.map +1 -1
  99. package/lib/sugar/business-message.d.ts +5 -0
  100. package/lib/sugar/business-message.d.ts.map +1 -1
  101. package/lib/sugar/channel-post.d.ts +5 -0
  102. package/lib/sugar/channel-post.d.ts.map +1 -1
  103. package/lib/sugar/edited-business-message.d.ts +5 -0
  104. package/lib/sugar/edited-business-message.d.ts.map +1 -1
  105. package/lib/sugar/edited-channel-post.d.ts +5 -0
  106. package/lib/sugar/edited-channel-post.d.ts.map +1 -1
  107. package/lib/sugar/edited-message.d.ts +5 -0
  108. package/lib/sugar/edited-message.d.ts.map +1 -1
  109. package/lib/sugar/message.d.ts +5 -0
  110. package/lib/sugar/message.d.ts.map +1 -1
  111. package/package.json +3 -3
  112. package/src/generated/business-connection.ts +3 -3
  113. package/src/generated/business-message.ts +132 -44
  114. package/src/generated/callback-query.ts +128 -40
  115. package/src/generated/channel-post.ts +132 -44
  116. package/src/generated/chat-boost.ts +53 -25
  117. package/src/generated/chat-join-request.ts +108 -40
  118. package/src/generated/chat-member.ts +108 -40
  119. package/src/generated/chosen-inline-result.ts +55 -19
  120. package/src/generated/deleted-business-messages.ts +53 -25
  121. package/src/generated/edited-business-message.ts +132 -44
  122. package/src/generated/edited-channel-post.ts +132 -44
  123. package/src/generated/edited-message.ts +132 -44
  124. package/src/generated/guest-message.ts +498 -0
  125. package/src/generated/index.ts +11 -3
  126. package/src/generated/inline-query.ts +57 -21
  127. package/src/generated/managed-bot.ts +22 -0
  128. package/src/generated/message-reaction-count.ts +76 -28
  129. package/src/generated/message-reaction.ts +78 -30
  130. package/src/generated/message.ts +132 -44
  131. package/src/generated/my-chat-member.ts +108 -40
  132. package/src/generated/poll-answer.ts +3 -3
  133. package/src/generated/poll.ts +1 -1
  134. package/src/generated/pre-checkout-query.ts +55 -19
  135. package/src/generated/purchased-paid-media.ts +55 -19
  136. package/src/generated/removed-chat-boost.ts +53 -25
  137. package/src/generated/shipping-query.ts +55 -19
  138. package/src/index.test.ts +1 -1
@@ -1,4 +1,4 @@
1
- // AUTO-GENERATED — do not edit by hand. Regenerate: pnpm --filter @yaebal/contexts generate
1
+ // AUTO-GENERATED — do not edit by hand. regenerate: pnpm --filter @yaebal/contexts generate
2
2
  import type { Api } from "@yaebal/core";
3
3
  import type * as t from "@yaebal/types";
4
4
 
@@ -11,11 +11,11 @@ export class InlineQueryContextBase {
11
11
  this.update = update;
12
12
  Object.assign(this, update.inline_query ?? {});
13
13
  }
14
- /** Id of the user this update is from. */
14
+ /** id of the user this update is from. */
15
15
  get senderId(): number {
16
16
  return this.from.id;
17
17
  }
18
- /** First name of the user this update is from. */
18
+ /** first name of the user this update is from. */
19
19
  get firstName(): string | undefined {
20
20
  return this.from.first_name;
21
21
  }
@@ -23,10 +23,62 @@ export class InlineQueryContextBase {
23
23
  getUserProfilePhotos(params: Omit<t.GetUserProfilePhotosParams, "user_id">) {
24
24
  return this.api.call<t.UserProfilePhotos>("getUserProfilePhotos", { user_id: this.from.id, ...params });
25
25
  }
26
- /** Changes the emoji status for a given user that previously allowed the bot to manage their emoji status via the Mini App method [requestEmojiStatusAccess](https://core.telegram.org/bots/webapps#initializing-mini-apps). Returns *True* on success. */
26
+ /** Use this method to get a list of profile audios for a user. Returns a [UserProfileAudios](https://core.telegram.org/bots/api/#userprofileaudios) object. */
27
+ getUserProfileAudios(params: Omit<t.GetUserProfileAudiosParams, "user_id">) {
28
+ return this.api.call<t.UserProfileAudios>("getUserProfileAudios", { user_id: this.from.id, ...params });
29
+ }
30
+ /** Changes the emoji status for a given user that previously allowed the bot to manage their emoji status via the Mini App method [requestEmojiStatusAccess](/bots/webapps#initializing-mini-apps). Returns *True* on success. */
27
31
  setUserEmojiStatus(params: Omit<t.SetUserEmojiStatusParams, "user_id">) {
28
32
  return this.api.call<boolean>("setUserEmojiStatus", { user_id: this.from.id, ...params });
29
33
  }
34
+ /** Use this method to get the last messages from the personal chat (i.e., the chat currently added to their profile) of a given user. On success, an array of [Message](https://core.telegram.org/bots/api/#message) objects is returned. */
35
+ getUserPersonalChatMessages(params: Omit<t.GetUserPersonalChatMessagesParams, "user_id">) {
36
+ return this.api.call<t.Message[]>("getUserPersonalChatMessages", { user_id: this.from.id, ...params });
37
+ }
38
+ /** Use this method to get the token of a managed bot. Returns the token as *String* on success. */
39
+ getManagedBotToken(params?: Omit<t.GetManagedBotTokenParams, "user_id">) {
40
+ return this.api.call<string>("getManagedBotToken", { user_id: this.from.id, ...params });
41
+ }
42
+ /** Use this method to revoke the current token of a managed bot and generate a new one. Returns the new token as *String* on success. */
43
+ replaceManagedBotToken(params?: Omit<t.ReplaceManagedBotTokenParams, "user_id">) {
44
+ return this.api.call<string>("replaceManagedBotToken", { user_id: this.from.id, ...params });
45
+ }
46
+ /** Use this method to get the access settings of a managed bot. Returns a [BotAccessSettings](https://core.telegram.org/bots/api/#botaccesssettings) object on success. */
47
+ getManagedBotAccessSettings(params?: Omit<t.GetManagedBotAccessSettingsParams, "user_id">) {
48
+ return this.api.call<t.BotAccessSettings>("getManagedBotAccessSettings", { user_id: this.from.id, ...params });
49
+ }
50
+ /** Use this method to change the access settings of a managed bot. Returns *True* on success. */
51
+ setManagedBotAccessSettings(params: Omit<t.SetManagedBotAccessSettingsParams, "user_id">) {
52
+ return this.api.call<boolean>("setManagedBotAccessSettings", { user_id: this.from.id, ...params });
53
+ }
54
+ /** Sends a gift to the given user or channel chat. The gift can't be converted to Telegram Stars by the receiver. Returns *True* on success. */
55
+ sendGift(params: Omit<t.SendGiftParams, "user_id">) {
56
+ return this.api.call<boolean>("sendGift", { user_id: this.from.id, ...params });
57
+ }
58
+ /** Gifts a Telegram Premium subscription to the given user. Returns *True* on success. */
59
+ giftPremiumSubscription(params: Omit<t.GiftPremiumSubscriptionParams, "user_id">) {
60
+ return this.api.call<boolean>("giftPremiumSubscription", { user_id: this.from.id, ...params });
61
+ }
62
+ /** Verifies a user [on behalf of the organization](https://telegram.org/verify#third-party-verification) which is represented by the bot. Returns *True* on success. */
63
+ verifyUser(params: Omit<t.VerifyUserParams, "user_id">) {
64
+ return this.api.call<boolean>("verifyUser", { user_id: this.from.id, ...params });
65
+ }
66
+ /** Removes verification from a user who is currently verified [on behalf of the organization](https://telegram.org/verify#third-party-verification) represented by the bot. Returns *True* on success. */
67
+ removeUserVerification(params?: Omit<t.RemoveUserVerificationParams, "user_id">) {
68
+ return this.api.call<boolean>("removeUserVerification", { user_id: this.from.id, ...params });
69
+ }
70
+ /** Returns the gifts owned and hosted by a user. Returns [OwnedGifts](https://core.telegram.org/bots/api/#ownedgifts) on success. */
71
+ getUserGifts(params: Omit<t.GetUserGiftsParams, "user_id">) {
72
+ return this.api.call<t.OwnedGifts>("getUserGifts", { user_id: this.from.id, ...params });
73
+ }
74
+ /** Stores a message that can be sent by a user of a Mini App. Returns a [PreparedInlineMessage](https://core.telegram.org/bots/api/#preparedinlinemessage) object. */
75
+ savePreparedInlineMessage(params: Omit<t.SavePreparedInlineMessageParams, "user_id">) {
76
+ return this.api.call<t.PreparedInlineMessage>("savePreparedInlineMessage", { user_id: this.from.id, ...params });
77
+ }
78
+ /** Stores a keyboard button that can be used by a user within a Mini App. Returns a [PreparedKeyboardButton](https://core.telegram.org/bots/api/#preparedkeyboardbutton) object. */
79
+ savePreparedKeyboardButton(params: Omit<t.SavePreparedKeyboardButtonParams, "user_id">) {
80
+ return this.api.call<t.PreparedKeyboardButton>("savePreparedKeyboardButton", { user_id: this.from.id, ...params });
81
+ }
30
82
  /** Use this method to upload a file with a sticker for later use in the [createNewStickerSet](https://core.telegram.org/bots/api/#createnewstickerset), [addStickerToSet](https://core.telegram.org/bots/api/#addstickertoset), or [replaceStickerInSet](https://core.telegram.org/bots/api/#replacestickerinset) methods (the file can be used multiple times). Returns the uploaded [File](https://core.telegram.org/bots/api/#file) on success. */
31
83
  uploadStickerFile(params: Omit<t.UploadStickerFileParams, "user_id">) {
32
84
  return this.api.call<t.File>("uploadStickerFile", { user_id: this.from.id, ...params });
@@ -47,26 +99,10 @@ export class InlineQueryContextBase {
47
99
  setStickerSetThumbnail(params: Omit<t.SetStickerSetThumbnailParams, "user_id">) {
48
100
  return this.api.call<boolean>("setStickerSetThumbnail", { user_id: this.from.id, ...params });
49
101
  }
50
- /** Sends a gift to the given user or channel chat. The gift can't be converted to Telegram Stars by the receiver. Returns *True* on success. */
51
- sendGift(params: Omit<t.SendGiftParams, "user_id">) {
52
- return this.api.call<boolean>("sendGift", { user_id: this.from.id, ...params });
53
- }
54
- /** Verifies a user [on behalf of the organization](https://telegram.org/verify#third-party-verification) which is represented by the bot. Returns *True* on success. */
55
- verifyUser(params: Omit<t.VerifyUserParams, "user_id">) {
56
- return this.api.call<boolean>("verifyUser", { user_id: this.from.id, ...params });
57
- }
58
- /** Removes verification from a user who is currently verified [on behalf of the organization](https://telegram.org/verify#third-party-verification) represented by the bot. Returns *True* on success. */
59
- removeUserVerification(params?: Omit<t.RemoveUserVerificationParams, "user_id">) {
60
- return this.api.call<boolean>("removeUserVerification", { user_id: this.from.id, ...params });
61
- }
62
- /** Use this method to send answers to an inline query. On success, *True* is returned. No more than **50** results per query are allowed. */
102
+ /** Use this method to send answers to an inline query. On success, *True* is returned. No more than **50** results per query are allowed. */
63
103
  answer(params: Omit<t.AnswerInlineQueryParams, "inline_query_id">) {
64
104
  return this.api.call<boolean>("answerInlineQuery", { inline_query_id: this.id, ...params });
65
105
  }
66
- /** Stores a message that can be sent by a user of a Mini App. Returns a [PreparedInlineMessage](https://core.telegram.org/bots/api/#preparedinlinemessage) object. */
67
- savePreparedInlineMessage(params: Omit<t.SavePreparedInlineMessageParams, "user_id">) {
68
- return this.api.call<t.PreparedInlineMessage>("savePreparedInlineMessage", { user_id: this.from.id, ...params });
69
- }
70
106
  /** Refunds a successful payment in [Telegram Stars](https://t.me/BotNews/90). Returns *True* on success. */
71
107
  refundStarPayment(params: Omit<t.RefundStarPaymentParams, "user_id">) {
72
108
  return this.api.call<boolean>("refundStarPayment", { user_id: this.from.id, ...params });
@@ -0,0 +1,22 @@
1
+ // AUTO-GENERATED — do not edit by hand. regenerate: pnpm --filter @yaebal/contexts generate
2
+ import type { Api } from "@yaebal/core";
3
+ import type * as t from "@yaebal/types";
4
+
5
+ export interface ManagedBotContext extends t.ManagedBotUpdated {}
6
+ export class ManagedBotContext {
7
+ readonly api: Api;
8
+ readonly update: t.Update;
9
+ constructor(api: Api, update: t.Update) {
10
+ this.api = api;
11
+ this.update = update;
12
+ Object.assign(this, update.managed_bot ?? {});
13
+ }
14
+ /** id of the user this update is from. */
15
+ get senderId(): number {
16
+ return this.user.id;
17
+ }
18
+ /** first name of the user this update is from. */
19
+ get firstName(): string | undefined {
20
+ return this.user.first_name;
21
+ }
22
+ }
@@ -1,4 +1,4 @@
1
- // AUTO-GENERATED — do not edit by hand. Regenerate: pnpm --filter @yaebal/contexts generate
1
+ // AUTO-GENERATED — do not edit by hand. regenerate: pnpm --filter @yaebal/contexts generate
2
2
  import type { Api } from "@yaebal/core";
3
3
  import type * as t from "@yaebal/types";
4
4
 
@@ -11,19 +11,19 @@ export class MessageReactionCountContext {
11
11
  this.update = update;
12
12
  Object.assign(this, update.message_reaction_count ?? {});
13
13
  }
14
- /** Id of the chat this update is in. */
14
+ /** id of the chat this update is in. */
15
15
  get chatId(): number {
16
16
  return this.chat.id;
17
17
  }
18
- /** Whether this is a private (1:1) chat. */
18
+ /** whether this is a private (1:1) chat. */
19
19
  get isPM(): boolean {
20
20
  return this.chat.type === "private";
21
21
  }
22
- /** Whether this is a group or supergroup. */
22
+ /** whether this is a group or supergroup. */
23
23
  get isGroup(): boolean {
24
24
  return this.chat.type === "group" || this.chat.type === "supergroup";
25
25
  }
26
- /** Camel-case alias for `message_id`. */
26
+ /** camel-case alias for `message_id`. */
27
27
  get messageId(): number {
28
28
  return this.message_id;
29
29
  }
@@ -35,6 +35,10 @@ export class MessageReactionCountContext {
35
35
  sendPhoto(params: Omit<t.SendPhotoParams, "chat_id">) {
36
36
  return this.api.call<t.Message>("sendPhoto", { chat_id: this.chat.id, ...params });
37
37
  }
38
+ /** Use this method to send live photos. On success, the sent [Message](https://core.telegram.org/bots/api/#message) is returned. */
39
+ sendLivePhoto(params: Omit<t.SendLivePhotoParams, "chat_id">) {
40
+ return this.api.call<t.Message>("sendLivePhoto", { chat_id: this.chat.id, ...params });
41
+ }
38
42
  /** Use this method to send audio files, if you want Telegram clients to display them in the music player. Your audio must be in the .MP3 or .M4A format. On success, the sent [Message](https://core.telegram.org/bots/api/#message) is returned. Bots can currently send audio files of up to 50 MB in size, this limit may be changed in the future. For sending voice messages, use the [sendVoice](https://core.telegram.org/bots/api/#sendvoice) method instead. */
39
43
  sendAudio(params: Omit<t.SendAudioParams, "chat_id">) {
40
44
  return this.api.call<t.Message>("sendAudio", { chat_id: this.chat.id, ...params });
@@ -63,7 +67,7 @@ export class MessageReactionCountContext {
63
67
  sendPaidMedia(params: Omit<t.SendPaidMediaParams, "chat_id">) {
64
68
  return this.api.call<t.Message>("sendPaidMedia", { chat_id: this.chat.id, ...params });
65
69
  }
66
- /** Use this method to send a group of photos, videos, documents or audios as an album. Documents and audio files can be only grouped in an album with messages of the same type. On success, an array of [Messages](https://core.telegram.org/bots/api/#message) that were sent is returned. */
70
+ /** Use this method to send a group of photos, live photos, videos, documents or audios as an album. Documents and audio files can be only grouped in an album with messages of the same type. On success, an array of [Message](https://core.telegram.org/bots/api/#message) objects that were sent is returned. */
67
71
  sendMediaGroup(params: Omit<t.SendMediaGroupParams, "chat_id">) {
68
72
  return this.api.call<t.Message[]>("sendMediaGroup", { chat_id: this.chat.id, ...params });
69
73
  }
@@ -83,10 +87,18 @@ export class MessageReactionCountContext {
83
87
  sendPoll(params: Omit<t.SendPollParams, "chat_id">) {
84
88
  return this.api.call<t.Message>("sendPoll", { chat_id: this.chat.id, ...params });
85
89
  }
90
+ /** Use this method to send a checklist on behalf of a connected business account. On success, the sent [Message](https://core.telegram.org/bots/api/#message) is returned. */
91
+ sendChecklist(params: Omit<t.SendChecklistParams, "chat_id">) {
92
+ return this.api.call<t.Message>("sendChecklist", { chat_id: this.chat.id, ...params });
93
+ }
86
94
  /** Use this method to send an animated emoji that will display a random value. On success, the sent [Message](https://core.telegram.org/bots/api/#message) is returned. */
87
95
  sendDice(params: Omit<t.SendDiceParams, "chat_id">) {
88
96
  return this.api.call<t.Message>("sendDice", { chat_id: this.chat.id, ...params });
89
97
  }
98
+ /** Use this method to stream a partial message to a user while the message is being generated. Note that the streamed draft is ephemeral and acts as a temporary 30-second preview - once the output is finalized, you **must** call [sendMessage](https://core.telegram.org/bots/api/#sendmessage) with the complete message to persist it in the user's chat. Returns *True* on success. */
99
+ sendMessageDraft(params: Omit<t.SendMessageDraftParams, "chat_id">) {
100
+ return this.api.call<boolean>("sendMessageDraft", { chat_id: this.chat.id, ...params });
101
+ }
90
102
  /** Use this method when you need to tell the user that something is happening on the bot's side. The status is set for 5 seconds or less (when a message arrives from your bot, Telegram clients clear its typing status). Returns *True* on success. Example: The [ImageBot](https://t.me/imagebot) needs some time to process a request and upload the image. Instead of sending a text message along the lines of “Retrieving image, please wait…”, the bot may use [sendChatAction](https://core.telegram.org/bots/api/#sendchataction) with *action* = *upload\_photo*. The user will see a “sending photo” status for the bot. We only recommend using this method when a response from the bot will take a **noticeable** amount of time to arrive. */
91
103
  sendChatAction(params: Omit<t.SendChatActionParams, "chat_id">) {
92
104
  return this.api.call<boolean>("sendChatAction", { chat_id: this.chat.id, ...params });
@@ -147,15 +159,15 @@ export class MessageReactionCountContext {
147
159
  setChatDescription(params: Omit<t.SetChatDescriptionParams, "chat_id">) {
148
160
  return this.api.call<boolean>("setChatDescription", { chat_id: this.chat.id, ...params });
149
161
  }
150
- /** Use this method to add a message to the list of pinned messages in a chat. If the chat is not a private chat, the bot must be an administrator in the chat for this to work and must have the 'can\_pin\_messages' administrator right in a supergroup or 'can\_edit\_messages' administrator right in a channel. Returns *True* on success. */
162
+ /** Use this method to add a message to the list of pinned messages in a chat. In private chats and channel direct messages chats, all non-service messages can be pinned. Conversely, the bot must be an administrator with the 'can_pin_messages' right or the 'can_edit_messages' right to pin messages in groups and channels respectively. Returns *True* on success. */
151
163
  pin(params: Omit<t.PinChatMessageParams, "chat_id" | "message_id">) {
152
164
  return this.api.call<boolean>("pinChatMessage", { chat_id: this.chat.id, message_id: this.message_id, ...params });
153
165
  }
154
- /** Use this method to remove a message from the list of pinned messages in a chat. If the chat is not a private chat, the bot must be an administrator in the chat for this to work and must have the 'can\_pin\_messages' administrator right in a supergroup or 'can\_edit\_messages' administrator right in a channel. Returns *True* on success. */
166
+ /** Use this method to remove a message from the list of pinned messages in a chat. In private chats and channel direct messages chats, all messages can be unpinned. Conversely, the bot must be an administrator with the 'can_pin_messages' right or the 'can_edit_messages' right to unpin messages in groups and channels respectively. Returns *True* on success. */
155
167
  unpin(params: Omit<t.UnpinChatMessageParams, "chat_id" | "message_id">) {
156
168
  return this.api.call<boolean>("unpinChatMessage", { chat_id: this.chat.id, message_id: this.message_id, ...params });
157
169
  }
158
- /** Use this method to clear the list of pinned messages in a chat. If the chat is not a private chat, the bot must be an administrator in the chat for this to work and must have the 'can\_pin\_messages' administrator right in a supergroup or 'can\_edit\_messages' administrator right in a channel. Returns *True* on success. */
170
+ /** Use this method to clear the list of pinned messages in a chat. In private chats and channel direct messages chats, no additional rights are required to unpin all pinned messages. Conversely, the bot must be an administrator with the 'can_pin_messages' right or the 'can_edit_messages' right to unpin all pinned messages in groups and channels respectively. Returns *True* on success. */
159
171
  unpinAllChatMessages(params?: Omit<t.UnpinAllChatMessagesParams, "chat_id">) {
160
172
  return this.api.call<boolean>("unpinAllChatMessages", { chat_id: this.chat.id, ...params });
161
173
  }
@@ -167,8 +179,8 @@ export class MessageReactionCountContext {
167
179
  getChat(params?: Omit<t.GetChatParams, "chat_id">) {
168
180
  return this.api.call<t.ChatFullInfo>("getChat", { chat_id: this.chat.id, ...params });
169
181
  }
170
- /** Use this method to get a list of administrators in a chat, which aren't bots. Returns an Array of [ChatMember](https://core.telegram.org/bots/api/#chatmember) objects. */
171
- getChatAdministrators(params?: Omit<t.GetChatAdministratorsParams, "chat_id">) {
182
+ /** Use this method to get a list of administrators in a chat. Returns an Array of [ChatMember](https://core.telegram.org/bots/api/#chatmember) objects. */
183
+ getChatAdministrators(params: Omit<t.GetChatAdministratorsParams, "chat_id">) {
172
184
  return this.api.call<t.ChatMember[]>("getChatAdministrators", { chat_id: this.chat.id, ...params });
173
185
  }
174
186
  /** Use this method to get the number of members in a chat. Returns *Int* on success. */
@@ -183,11 +195,11 @@ export class MessageReactionCountContext {
183
195
  deleteChatStickerSet(params?: Omit<t.DeleteChatStickerSetParams, "chat_id">) {
184
196
  return this.api.call<boolean>("deleteChatStickerSet", { chat_id: this.chat.id, ...params });
185
197
  }
186
- /** Use this method to create a topic in a forum supergroup chat. The bot must be an administrator in the chat for this to work and must have the *can\_manage\_topics* administrator rights. Returns information about the created topic as a [ForumTopic](https://core.telegram.org/bots/api/#forumtopic) object. */
198
+ /** Use this method to create a topic in a forum supergroup chat or a private chat with a user. In the case of a supergroup chat the bot must be an administrator in the chat for this to work and must have the *can\_manage\_topics* administrator right. Returns information about the created topic as a [ForumTopic](https://core.telegram.org/bots/api/#forumtopic) object. */
187
199
  createForumTopic(params: Omit<t.CreateForumTopicParams, "chat_id">) {
188
200
  return this.api.call<t.ForumTopic>("createForumTopic", { chat_id: this.chat.id, ...params });
189
201
  }
190
- /** Use this method to edit name and icon of a topic in a forum supergroup chat. The bot must be an administrator in the chat for this to work and must have the *can\_manage\_topics* administrator rights, unless it is the creator of the topic. Returns *True* on success. */
202
+ /** Use this method to edit name and icon of a topic in a forum supergroup chat or a private chat with a user. In the case of a supergroup chat the bot must be an administrator in the chat for this to work and must have the *can\_manage\_topics* administrator rights, unless it is the creator of the topic. Returns *True* on success. */
191
203
  editForumTopic(params: Omit<t.EditForumTopicParams, "chat_id">) {
192
204
  return this.api.call<boolean>("editForumTopic", { chat_id: this.chat.id, ...params });
193
205
  }
@@ -199,11 +211,11 @@ export class MessageReactionCountContext {
199
211
  reopenForumTopic(params: Omit<t.ReopenForumTopicParams, "chat_id">) {
200
212
  return this.api.call<boolean>("reopenForumTopic", { chat_id: this.chat.id, ...params });
201
213
  }
202
- /** Use this method to delete a forum topic along with all its messages in a forum supergroup chat. The bot must be an administrator in the chat for this to work and must have the *can\_delete\_messages* administrator rights. Returns *True* on success. */
214
+ /** Use this method to delete a forum topic along with all its messages in a forum supergroup chat or a private chat with a user. In the case of a supergroup chat the bot must be an administrator in the chat for this to work and must have the *can\_delete\_messages* administrator rights. Returns *True* on success. */
203
215
  deleteForumTopic(params: Omit<t.DeleteForumTopicParams, "chat_id">) {
204
216
  return this.api.call<boolean>("deleteForumTopic", { chat_id: this.chat.id, ...params });
205
217
  }
206
- /** Use this method to clear the list of pinned messages in a forum topic. The bot must be an administrator in the chat for this to work and must have the *can\_pin\_messages* administrator right in the supergroup. Returns *True* on success. */
218
+ /** Use this method to clear the list of pinned messages in a forum topic in a forum supergroup chat or a private chat with a user. In the case of a supergroup chat the bot must be an administrator in the chat for this to work and must have the *can\_pin\_messages* administrator right in the supergroup. Returns *True* on success. */
207
219
  unpinAllForumTopicMessages(params: Omit<t.UnpinAllForumTopicMessagesParams, "chat_id">) {
208
220
  return this.api.call<boolean>("unpinAllForumTopicMessages", { chat_id: this.chat.id, ...params });
209
221
  }
@@ -239,7 +251,27 @@ export class MessageReactionCountContext {
239
251
  getChatMenuButton(params?: Omit<t.GetChatMenuButtonParams, "chat_id">) {
240
252
  return this.api.call<t.MenuButton>("getChatMenuButton", { chat_id: this.chat.id, ...params });
241
253
  }
242
- /** Use this method to edit text and [game](https://core.telegram.org/bots/api/#games) messages. On success, if the edited message is not an inline message, the edited [Message](https://core.telegram.org/bots/api/#message) is returned, otherwise *True* is returned. Note that business messages that were not sent by the bot and do not contain an inline keyboard can only be edited within **48 hours** from the time they were sent. */
254
+ /** Sends a gift to the given user or channel chat. The gift can't be converted to Telegram Stars by the receiver. Returns *True* on success. */
255
+ sendGift(params: Omit<t.SendGiftParams, "chat_id">) {
256
+ return this.api.call<boolean>("sendGift", { chat_id: this.chat.id, ...params });
257
+ }
258
+ /** Verifies a chat [on behalf of the organization](https://telegram.org/verify#third-party-verification) which is represented by the bot. Returns *True* on success. */
259
+ verifyChat(params: Omit<t.VerifyChatParams, "chat_id">) {
260
+ return this.api.call<boolean>("verifyChat", { chat_id: this.chat.id, ...params });
261
+ }
262
+ /** Removes verification from a chat that is currently verified [on behalf of the organization](https://telegram.org/verify#third-party-verification) represented by the bot. Returns *True* on success. */
263
+ removeChatVerification(params?: Omit<t.RemoveChatVerificationParams, "chat_id">) {
264
+ return this.api.call<boolean>("removeChatVerification", { chat_id: this.chat.id, ...params });
265
+ }
266
+ /** Marks incoming message as read on behalf of a business account. Requires the *can\_read\_messages* business bot right. Returns *True* on success. */
267
+ readBusinessMessage(params: Omit<t.ReadBusinessMessageParams, "chat_id" | "message_id">) {
268
+ return this.api.call<boolean>("readBusinessMessage", { chat_id: this.chat.id, message_id: this.message_id, ...params });
269
+ }
270
+ /** Returns the gifts owned by a chat. Returns [OwnedGifts](https://core.telegram.org/bots/api/#ownedgifts) on success. */
271
+ getChatGifts(params: Omit<t.GetChatGiftsParams, "chat_id">) {
272
+ return this.api.call<t.OwnedGifts>("getChatGifts", { chat_id: this.chat.id, ...params });
273
+ }
274
+ /** Use this method to edit text, rich and [game](https://core.telegram.org/bots/api/#games) messages. On success, if the edited message is not an inline message, the edited [Message](https://core.telegram.org/bots/api/#message) is returned, otherwise *True* is returned. Note that business messages that were not sent by the bot and do not contain an inline keyboard can only be edited within **48 hours** from the time they were sent. */
243
275
  editText(params: Omit<t.EditMessageTextParams, "chat_id" | "message_id">) {
244
276
  return this.api.call<t.Message | boolean>("editMessageText", { chat_id: this.chat.id, message_id: this.message_id, ...params });
245
277
  }
@@ -247,7 +279,7 @@ export class MessageReactionCountContext {
247
279
  editCaption(params: Omit<t.EditMessageCaptionParams, "chat_id" | "message_id">) {
248
280
  return this.api.call<t.Message | boolean>("editMessageCaption", { chat_id: this.chat.id, message_id: this.message_id, ...params });
249
281
  }
250
- /** Use this method to edit animation, audio, document, photo, or video messages, or to add media to text messages. If a message is part of a message album, then it can be edited only to an audio for audio albums, only to a document for document albums and to a photo or a video otherwise. When an inline message is edited, a new file can't be uploaded; use a previously uploaded file via its file\_id or specify a URL. On success, if the edited message is not an inline message, the edited [Message](https://core.telegram.org/bots/api/#message) is returned, otherwise *True* is returned. Note that business messages that were not sent by the bot and do not contain an inline keyboard can only be edited within **48 hours** from the time they were sent. */
282
+ /** Use this method to edit animation, audio, document, live photo, photo, or video messages, or to replace a text or a rich message with a media. If a message is part of a message album, then it can be edited only to an audio for audio albums, only to a document for document albums and to a photo, a live photo, or a video otherwise. When an inline message is edited, a new file can't be uploaded; use a previously uploaded file via its file_id or specify a URL. On success, if the edited message is not an inline message, the edited [Message](https://core.telegram.org/bots/api/#message) is returned, otherwise *True* is returned. Note that business messages that were not sent by the bot and do not contain an inline keyboard can only be edited within **48 hours** from the time they were sent. */
251
283
  editMedia(params: Omit<t.EditMessageMediaParams, "chat_id" | "message_id">) {
252
284
  return this.api.call<t.Message | boolean>("editMessageMedia", { chat_id: this.chat.id, message_id: this.message_id, ...params });
253
285
  }
@@ -259,6 +291,10 @@ export class MessageReactionCountContext {
259
291
  stopMessageLiveLocation(params: Omit<t.StopMessageLiveLocationParams, "chat_id" | "message_id">) {
260
292
  return this.api.call<t.Message | boolean>("stopMessageLiveLocation", { chat_id: this.chat.id, message_id: this.message_id, ...params });
261
293
  }
294
+ /** Use this method to edit a checklist on behalf of a connected business account. On success, the edited [Message](https://core.telegram.org/bots/api/#message) is returned. */
295
+ editMessageChecklist(params: Omit<t.EditMessageChecklistParams, "chat_id" | "message_id">) {
296
+ return this.api.call<t.Message>("editMessageChecklist", { chat_id: this.chat.id, message_id: this.message_id, ...params });
297
+ }
262
298
  /** Use this method to edit only the reply markup of messages. On success, if the edited message is not an inline message, the edited [Message](https://core.telegram.org/bots/api/#message) is returned, otherwise *True* is returned. Note that business messages that were not sent by the bot and do not contain an inline keyboard can only be edited within **48 hours** from the time they were sent. */
263
299
  editReplyMarkup(params: Omit<t.EditMessageReplyMarkupParams, "chat_id" | "message_id">) {
264
300
  return this.api.call<t.Message | boolean>("editMessageReplyMarkup", { chat_id: this.chat.id, message_id: this.message_id, ...params });
@@ -267,7 +303,15 @@ export class MessageReactionCountContext {
267
303
  stopPoll(params: Omit<t.StopPollParams, "chat_id" | "message_id">) {
268
304
  return this.api.call<t.Poll>("stopPoll", { chat_id: this.chat.id, message_id: this.message_id, ...params });
269
305
  }
270
- /** Use this method to delete a message, including service messages, with the following limitations: \- A message can only be deleted if it was sent less than 48 hours ago. \- Service messages about a supergroup, channel, or forum topic creation can't be deleted. \- A dice message in a private chat can only be deleted if it was sent more than 24 hours ago. \- Bots can delete outgoing messages in private chats, groups, and supergroups. \- Bots can delete incoming messages in private chats. \- Bots granted *can\_post\_messages* permissions can delete outgoing messages in channels. \- If the bot is an administrator of a group, it can delete any message there. \- If the bot has *can\_delete\_messages* permission in a supergroup or a channel, it can delete any message there. Returns *True* on success. */
306
+ /** Use this method to approve a suggested post in a direct messages chat. The bot must have the 'can_post_messages' administrator right in the corresponding channel chat. Returns *True* on success. */
307
+ approveSuggestedPost(params: Omit<t.ApproveSuggestedPostParams, "chat_id" | "message_id">) {
308
+ return this.api.call<boolean>("approveSuggestedPost", { chat_id: this.chat.id, message_id: this.message_id, ...params });
309
+ }
310
+ /** Use this method to decline a suggested post in a direct messages chat. The bot must have the 'can_manage_direct_messages' administrator right in the corresponding channel chat. Returns *True* on success. */
311
+ declineSuggestedPost(params: Omit<t.DeclineSuggestedPostParams, "chat_id" | "message_id">) {
312
+ return this.api.call<boolean>("declineSuggestedPost", { chat_id: this.chat.id, message_id: this.message_id, ...params });
313
+ }
314
+ /** Use this method to delete a message, including service messages, with the following limitations: - A message can only be deleted if it was sent less than 48 hours ago. - Service messages about a supergroup, channel, or forum topic creation can't be deleted. - A dice message in a private chat can only be deleted if it was sent more than 24 hours ago. - Bots can delete outgoing messages in private chats, groups, and supergroups. - Bots can delete incoming messages in private chats. - Bots granted *can\_post\_messages* permissions can delete outgoing messages in channels. - If the bot is an administrator of a group, it can delete any message there. - If the bot has *can\_delete\_messages* administrator right in a supergroup or a channel, it can delete any message there. - If the bot has *can\_manage\_direct\_messages* administrator right in a channel, it can delete any message in the corresponding direct messages chat. Returns *True* on success. */
271
315
  delete(params?: Omit<t.DeleteMessageParams, "chat_id" | "message_id">) {
272
316
  return this.api.call<boolean>("deleteMessage", { chat_id: this.chat.id, message_id: this.message_id, ...params });
273
317
  }
@@ -275,21 +319,25 @@ export class MessageReactionCountContext {
275
319
  deleteMessages(params: Omit<t.DeleteMessagesParams, "chat_id">) {
276
320
  return this.api.call<boolean>("deleteMessages", { chat_id: this.chat.id, ...params });
277
321
  }
322
+ /** Use this method to remove a reaction from a message in a group or a supergroup chat. The bot must have the 'can_delete_messages' administrator right in the chat. Returns *True* on success. */
323
+ deleteMessageReaction(params: Omit<t.DeleteMessageReactionParams, "chat_id" | "message_id">) {
324
+ return this.api.call<boolean>("deleteMessageReaction", { chat_id: this.chat.id, message_id: this.message_id, ...params });
325
+ }
326
+ /** Use this method to remove up to 10000 recent reactions in a group or a supergroup chat added by a given user or chat. The bot must have the 'can_delete_messages' administrator right in the chat. Returns *True* on success. */
327
+ deleteAllMessageReactions(params: Omit<t.DeleteAllMessageReactionsParams, "chat_id">) {
328
+ return this.api.call<boolean>("deleteAllMessageReactions", { chat_id: this.chat.id, ...params });
329
+ }
278
330
  /** Use this method to send static .WEBP, [animated](https://telegram.org/blog/animated-stickers) .TGS, or [video](https://telegram.org/blog/video-stickers-better-reactions) .WEBM stickers. On success, the sent [Message](https://core.telegram.org/bots/api/#message) is returned. */
279
331
  sendSticker(params: Omit<t.SendStickerParams, "chat_id">) {
280
332
  return this.api.call<t.Message>("sendSticker", { chat_id: this.chat.id, ...params });
281
333
  }
282
- /** Sends a gift to the given user or channel chat. The gift can't be converted to Telegram Stars by the receiver. Returns *True* on success. */
283
- sendGift(params: Omit<t.SendGiftParams, "chat_id">) {
284
- return this.api.call<boolean>("sendGift", { chat_id: this.chat.id, ...params });
285
- }
286
- /** Verifies a chat [on behalf of the organization](https://telegram.org/verify#third-party-verification) which is represented by the bot. Returns *True* on success. */
287
- verifyChat(params: Omit<t.VerifyChatParams, "chat_id">) {
288
- return this.api.call<boolean>("verifyChat", { chat_id: this.chat.id, ...params });
334
+ /** Use this method to send rich messages. If the message contains a block with a media element, then the bot must have the right to send the media to the chat. On success, the sent [Message](https://core.telegram.org/bots/api/#message) is returned. */
335
+ sendRichMessage(params: Omit<t.SendRichMessageParams, "chat_id">) {
336
+ return this.api.call<t.Message>("sendRichMessage", { chat_id: this.chat.id, ...params });
289
337
  }
290
- /** Removes verification from a chat that is currently verified [on behalf of the organization](https://telegram.org/verify#third-party-verification) represented by the bot. Returns *True* on success. */
291
- removeChatVerification(params?: Omit<t.RemoveChatVerificationParams, "chat_id">) {
292
- return this.api.call<boolean>("removeChatVerification", { chat_id: this.chat.id, ...params });
338
+ /** Use this method to stream a partial rich message to a user while the message is being generated. Note that the streamed draft is ephemeral and acts as a temporary 30-second preview - once the output is finalized, you **must** call [sendRichMessage](https://core.telegram.org/bots/api/#sendrichmessage) with the complete message to persist it in the user's chat. Returns *True* on success. */
339
+ sendRichMessageDraft(params: Omit<t.SendRichMessageDraftParams, "chat_id">) {
340
+ return this.api.call<boolean>("sendRichMessageDraft", { chat_id: this.chat.id, ...params });
293
341
  }
294
342
  /** Use this method to send invoices. On success, the sent [Message](https://core.telegram.org/bots/api/#message) is returned. */
295
343
  sendInvoice(params: Omit<t.SendInvoiceParams, "chat_id">) {