@yaebal/contexts 0.0.2 → 0.0.4

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 (143) 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 +254 -0
  48. package/lib/generated/guest-message.d.ts.map +1 -0
  49. package/lib/generated/guest-message.js +498 -0
  50. package/lib/generated/guest-message.js.map +1 -0
  51. package/lib/generated/index.d.ts +9 -2
  52. package/lib/generated/index.d.ts.map +1 -1
  53. package/lib/generated/index.js +8 -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 +32 -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/guest-message.d.ts +13 -0
  110. package/lib/sugar/guest-message.d.ts.map +1 -0
  111. package/lib/sugar/guest-message.js +13 -0
  112. package/lib/sugar/guest-message.js.map +1 -0
  113. package/lib/sugar/message.d.ts +5 -0
  114. package/lib/sugar/message.d.ts.map +1 -1
  115. package/package.json +3 -3
  116. package/src/generated/business-connection.ts +3 -3
  117. package/src/generated/business-message.ts +132 -44
  118. package/src/generated/callback-query.ts +128 -40
  119. package/src/generated/channel-post.ts +132 -44
  120. package/src/generated/chat-boost.ts +53 -25
  121. package/src/generated/chat-join-request.ts +108 -40
  122. package/src/generated/chat-member.ts +108 -40
  123. package/src/generated/chosen-inline-result.ts +55 -19
  124. package/src/generated/deleted-business-messages.ts +53 -25
  125. package/src/generated/edited-business-message.ts +132 -44
  126. package/src/generated/edited-channel-post.ts +132 -44
  127. package/src/generated/edited-message.ts +132 -44
  128. package/src/generated/guest-message.ts +502 -0
  129. package/src/generated/index.ts +12 -3
  130. package/src/generated/inline-query.ts +57 -21
  131. package/src/generated/managed-bot.ts +22 -0
  132. package/src/generated/message-reaction-count.ts +76 -28
  133. package/src/generated/message-reaction.ts +78 -30
  134. package/src/generated/message.ts +132 -44
  135. package/src/generated/my-chat-member.ts +108 -40
  136. package/src/generated/poll-answer.ts +3 -3
  137. package/src/generated/poll.ts +1 -1
  138. package/src/generated/pre-checkout-query.ts +55 -19
  139. package/src/generated/purchased-paid-media.ts +55 -19
  140. package/src/generated/removed-chat-boost.ts +53 -25
  141. package/src/generated/shipping-query.ts +55 -19
  142. package/src/index.test.ts +34 -0
  143. package/src/sugar/guest-message.ts +20 -0
@@ -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,27 +11,27 @@ export class MessageReactionContext {
11
11
  this.update = update;
12
12
  Object.assign(this, update.message_reaction ?? {});
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 | undefined {
16
16
  return this.user?.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.user?.first_name;
21
21
  }
22
- /** Id of the chat this update is in. */
22
+ /** id of the chat this update is in. */
23
23
  get chatId(): number {
24
24
  return this.chat.id;
25
25
  }
26
- /** Whether this is a private (1:1) chat. */
26
+ /** whether this is a private (1:1) chat. */
27
27
  get isPM(): boolean {
28
28
  return this.chat.type === "private";
29
29
  }
30
- /** Whether this is a group or supergroup. */
30
+ /** whether this is a group or supergroup. */
31
31
  get isGroup(): boolean {
32
32
  return this.chat.type === "group" || this.chat.type === "supergroup";
33
33
  }
34
- /** Camel-case alias for `message_id`. */
34
+ /** camel-case alias for `message_id`. */
35
35
  get messageId(): number {
36
36
  return this.message_id;
37
37
  }
@@ -43,6 +43,10 @@ export class MessageReactionContext {
43
43
  sendPhoto(params: Omit<t.SendPhotoParams, "chat_id">) {
44
44
  return this.api.call<t.Message>("sendPhoto", { chat_id: this.chat.id, ...params });
45
45
  }
46
+ /** Use this method to send live photos. On success, the sent [Message](https://core.telegram.org/bots/api/#message) is returned. */
47
+ sendLivePhoto(params: Omit<t.SendLivePhotoParams, "chat_id">) {
48
+ return this.api.call<t.Message>("sendLivePhoto", { chat_id: this.chat.id, ...params });
49
+ }
46
50
  /** 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. */
47
51
  sendAudio(params: Omit<t.SendAudioParams, "chat_id">) {
48
52
  return this.api.call<t.Message>("sendAudio", { chat_id: this.chat.id, ...params });
@@ -71,7 +75,7 @@ export class MessageReactionContext {
71
75
  sendPaidMedia(params: Omit<t.SendPaidMediaParams, "chat_id">) {
72
76
  return this.api.call<t.Message>("sendPaidMedia", { chat_id: this.chat.id, ...params });
73
77
  }
74
- /** 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. */
78
+ /** 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. */
75
79
  sendMediaGroup(params: Omit<t.SendMediaGroupParams, "chat_id">) {
76
80
  return this.api.call<t.Message[]>("sendMediaGroup", { chat_id: this.chat.id, ...params });
77
81
  }
@@ -91,10 +95,18 @@ export class MessageReactionContext {
91
95
  sendPoll(params: Omit<t.SendPollParams, "chat_id">) {
92
96
  return this.api.call<t.Message>("sendPoll", { chat_id: this.chat.id, ...params });
93
97
  }
98
+ /** 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. */
99
+ sendChecklist(params: Omit<t.SendChecklistParams, "chat_id">) {
100
+ return this.api.call<t.Message>("sendChecklist", { chat_id: this.chat.id, ...params });
101
+ }
94
102
  /** 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. */
95
103
  sendDice(params: Omit<t.SendDiceParams, "chat_id">) {
96
104
  return this.api.call<t.Message>("sendDice", { chat_id: this.chat.id, ...params });
97
105
  }
106
+ /** 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. */
107
+ sendMessageDraft(params: Omit<t.SendMessageDraftParams, "chat_id">) {
108
+ return this.api.call<boolean>("sendMessageDraft", { chat_id: this.chat.id, ...params });
109
+ }
98
110
  /** 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. */
99
111
  sendChatAction(params: Omit<t.SendChatActionParams, "chat_id">) {
100
112
  return this.api.call<boolean>("sendChatAction", { chat_id: this.chat.id, ...params });
@@ -155,15 +167,15 @@ export class MessageReactionContext {
155
167
  setChatDescription(params: Omit<t.SetChatDescriptionParams, "chat_id">) {
156
168
  return this.api.call<boolean>("setChatDescription", { chat_id: this.chat.id, ...params });
157
169
  }
158
- /** 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. */
170
+ /** 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. */
159
171
  pin(params: Omit<t.PinChatMessageParams, "chat_id" | "message_id">) {
160
172
  return this.api.call<boolean>("pinChatMessage", { chat_id: this.chat.id, message_id: this.message_id, ...params });
161
173
  }
162
- /** 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. */
174
+ /** 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. */
163
175
  unpin(params: Omit<t.UnpinChatMessageParams, "chat_id" | "message_id">) {
164
176
  return this.api.call<boolean>("unpinChatMessage", { chat_id: this.chat.id, message_id: this.message_id, ...params });
165
177
  }
166
- /** 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. */
178
+ /** 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. */
167
179
  unpinAllChatMessages(params?: Omit<t.UnpinAllChatMessagesParams, "chat_id">) {
168
180
  return this.api.call<boolean>("unpinAllChatMessages", { chat_id: this.chat.id, ...params });
169
181
  }
@@ -175,8 +187,8 @@ export class MessageReactionContext {
175
187
  getChat(params?: Omit<t.GetChatParams, "chat_id">) {
176
188
  return this.api.call<t.ChatFullInfo>("getChat", { chat_id: this.chat.id, ...params });
177
189
  }
178
- /** 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. */
179
- getChatAdministrators(params?: Omit<t.GetChatAdministratorsParams, "chat_id">) {
190
+ /** 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. */
191
+ getChatAdministrators(params: Omit<t.GetChatAdministratorsParams, "chat_id">) {
180
192
  return this.api.call<t.ChatMember[]>("getChatAdministrators", { chat_id: this.chat.id, ...params });
181
193
  }
182
194
  /** Use this method to get the number of members in a chat. Returns *Int* on success. */
@@ -191,11 +203,11 @@ export class MessageReactionContext {
191
203
  deleteChatStickerSet(params?: Omit<t.DeleteChatStickerSetParams, "chat_id">) {
192
204
  return this.api.call<boolean>("deleteChatStickerSet", { chat_id: this.chat.id, ...params });
193
205
  }
194
- /** 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. */
206
+ /** 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. */
195
207
  createForumTopic(params: Omit<t.CreateForumTopicParams, "chat_id">) {
196
208
  return this.api.call<t.ForumTopic>("createForumTopic", { chat_id: this.chat.id, ...params });
197
209
  }
198
- /** 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. */
210
+ /** 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. */
199
211
  editForumTopic(params: Omit<t.EditForumTopicParams, "chat_id">) {
200
212
  return this.api.call<boolean>("editForumTopic", { chat_id: this.chat.id, ...params });
201
213
  }
@@ -207,11 +219,11 @@ export class MessageReactionContext {
207
219
  reopenForumTopic(params: Omit<t.ReopenForumTopicParams, "chat_id">) {
208
220
  return this.api.call<boolean>("reopenForumTopic", { chat_id: this.chat.id, ...params });
209
221
  }
210
- /** 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. */
222
+ /** 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. */
211
223
  deleteForumTopic(params: Omit<t.DeleteForumTopicParams, "chat_id">) {
212
224
  return this.api.call<boolean>("deleteForumTopic", { chat_id: this.chat.id, ...params });
213
225
  }
214
- /** 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. */
226
+ /** 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. */
215
227
  unpinAllForumTopicMessages(params: Omit<t.UnpinAllForumTopicMessagesParams, "chat_id">) {
216
228
  return this.api.call<boolean>("unpinAllForumTopicMessages", { chat_id: this.chat.id, ...params });
217
229
  }
@@ -247,7 +259,27 @@ export class MessageReactionContext {
247
259
  getChatMenuButton(params?: Omit<t.GetChatMenuButtonParams, "chat_id">) {
248
260
  return this.api.call<t.MenuButton>("getChatMenuButton", { chat_id: this.chat.id, ...params });
249
261
  }
250
- /** 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. */
262
+ /** 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. */
263
+ sendGift(params: Omit<t.SendGiftParams, "chat_id">) {
264
+ return this.api.call<boolean>("sendGift", { chat_id: this.chat.id, ...params });
265
+ }
266
+ /** 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. */
267
+ verifyChat(params: Omit<t.VerifyChatParams, "chat_id">) {
268
+ return this.api.call<boolean>("verifyChat", { chat_id: this.chat.id, ...params });
269
+ }
270
+ /** 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. */
271
+ removeChatVerification(params?: Omit<t.RemoveChatVerificationParams, "chat_id">) {
272
+ return this.api.call<boolean>("removeChatVerification", { chat_id: this.chat.id, ...params });
273
+ }
274
+ /** Marks incoming message as read on behalf of a business account. Requires the *can\_read\_messages* business bot right. Returns *True* on success. */
275
+ readBusinessMessage(params: Omit<t.ReadBusinessMessageParams, "chat_id" | "message_id">) {
276
+ return this.api.call<boolean>("readBusinessMessage", { chat_id: this.chat.id, message_id: this.message_id, ...params });
277
+ }
278
+ /** Returns the gifts owned by a chat. Returns [OwnedGifts](https://core.telegram.org/bots/api/#ownedgifts) on success. */
279
+ getChatGifts(params: Omit<t.GetChatGiftsParams, "chat_id">) {
280
+ return this.api.call<t.OwnedGifts>("getChatGifts", { chat_id: this.chat.id, ...params });
281
+ }
282
+ /** 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. */
251
283
  editText(params: Omit<t.EditMessageTextParams, "chat_id" | "message_id">) {
252
284
  return this.api.call<t.Message | boolean>("editMessageText", { chat_id: this.chat.id, message_id: this.message_id, ...params });
253
285
  }
@@ -255,7 +287,7 @@ export class MessageReactionContext {
255
287
  editCaption(params: Omit<t.EditMessageCaptionParams, "chat_id" | "message_id">) {
256
288
  return this.api.call<t.Message | boolean>("editMessageCaption", { chat_id: this.chat.id, message_id: this.message_id, ...params });
257
289
  }
258
- /** 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. */
290
+ /** 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. */
259
291
  editMedia(params: Omit<t.EditMessageMediaParams, "chat_id" | "message_id">) {
260
292
  return this.api.call<t.Message | boolean>("editMessageMedia", { chat_id: this.chat.id, message_id: this.message_id, ...params });
261
293
  }
@@ -267,6 +299,10 @@ export class MessageReactionContext {
267
299
  stopMessageLiveLocation(params: Omit<t.StopMessageLiveLocationParams, "chat_id" | "message_id">) {
268
300
  return this.api.call<t.Message | boolean>("stopMessageLiveLocation", { chat_id: this.chat.id, message_id: this.message_id, ...params });
269
301
  }
302
+ /** 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. */
303
+ editMessageChecklist(params: Omit<t.EditMessageChecklistParams, "chat_id" | "message_id">) {
304
+ return this.api.call<t.Message>("editMessageChecklist", { chat_id: this.chat.id, message_id: this.message_id, ...params });
305
+ }
270
306
  /** 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. */
271
307
  editReplyMarkup(params: Omit<t.EditMessageReplyMarkupParams, "chat_id" | "message_id">) {
272
308
  return this.api.call<t.Message | boolean>("editMessageReplyMarkup", { chat_id: this.chat.id, message_id: this.message_id, ...params });
@@ -275,7 +311,15 @@ export class MessageReactionContext {
275
311
  stopPoll(params: Omit<t.StopPollParams, "chat_id" | "message_id">) {
276
312
  return this.api.call<t.Poll>("stopPoll", { chat_id: this.chat.id, message_id: this.message_id, ...params });
277
313
  }
278
- /** 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. */
314
+ /** 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. */
315
+ approveSuggestedPost(params: Omit<t.ApproveSuggestedPostParams, "chat_id" | "message_id">) {
316
+ return this.api.call<boolean>("approveSuggestedPost", { chat_id: this.chat.id, message_id: this.message_id, ...params });
317
+ }
318
+ /** 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. */
319
+ declineSuggestedPost(params: Omit<t.DeclineSuggestedPostParams, "chat_id" | "message_id">) {
320
+ return this.api.call<boolean>("declineSuggestedPost", { chat_id: this.chat.id, message_id: this.message_id, ...params });
321
+ }
322
+ /** 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. */
279
323
  delete(params?: Omit<t.DeleteMessageParams, "chat_id" | "message_id">) {
280
324
  return this.api.call<boolean>("deleteMessage", { chat_id: this.chat.id, message_id: this.message_id, ...params });
281
325
  }
@@ -283,21 +327,25 @@ export class MessageReactionContext {
283
327
  deleteMessages(params: Omit<t.DeleteMessagesParams, "chat_id">) {
284
328
  return this.api.call<boolean>("deleteMessages", { chat_id: this.chat.id, ...params });
285
329
  }
330
+ /** 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. */
331
+ deleteMessageReaction(params: Omit<t.DeleteMessageReactionParams, "chat_id" | "message_id">) {
332
+ return this.api.call<boolean>("deleteMessageReaction", { chat_id: this.chat.id, message_id: this.message_id, ...params });
333
+ }
334
+ /** 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. */
335
+ deleteAllMessageReactions(params: Omit<t.DeleteAllMessageReactionsParams, "chat_id">) {
336
+ return this.api.call<boolean>("deleteAllMessageReactions", { chat_id: this.chat.id, ...params });
337
+ }
286
338
  /** 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. */
287
339
  sendSticker(params: Omit<t.SendStickerParams, "chat_id">) {
288
340
  return this.api.call<t.Message>("sendSticker", { chat_id: this.chat.id, ...params });
289
341
  }
290
- /** 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. */
291
- sendGift(params: Omit<t.SendGiftParams, "chat_id">) {
292
- return this.api.call<boolean>("sendGift", { chat_id: this.chat.id, ...params });
293
- }
294
- /** 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. */
295
- verifyChat(params: Omit<t.VerifyChatParams, "chat_id">) {
296
- return this.api.call<boolean>("verifyChat", { chat_id: this.chat.id, ...params });
342
+ /** 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. */
343
+ sendRichMessage(params: Omit<t.SendRichMessageParams, "chat_id">) {
344
+ return this.api.call<t.Message>("sendRichMessage", { chat_id: this.chat.id, ...params });
297
345
  }
298
- /** 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. */
299
- removeChatVerification(params?: Omit<t.RemoveChatVerificationParams, "chat_id">) {
300
- return this.api.call<boolean>("removeChatVerification", { chat_id: this.chat.id, ...params });
346
+ /** 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. */
347
+ sendRichMessageDraft(params: Omit<t.SendRichMessageDraftParams, "chat_id">) {
348
+ return this.api.call<boolean>("sendRichMessageDraft", { chat_id: this.chat.id, ...params });
301
349
  }
302
350
  /** Use this method to send invoices. On success, the sent [Message](https://core.telegram.org/bots/api/#message) is returned. */
303
351
  sendInvoice(params: Omit<t.SendInvoiceParams, "chat_id">) {