@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,31 +11,31 @@ export class MessageContextBase {
11
11
  this.update = update;
12
12
  Object.assign(this, update.message ?? {});
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.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
  }
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
  }
38
- /** Reply to this message. */
38
+ /** reply to this message. */
39
39
  reply(params: Omit<t.SendMessageParams, "chat_id">) {
40
40
  return this.api.call<t.Message>("sendMessage", { chat_id: this.chat.id, reply_parameters: { message_id: this.message_id }, ...params });
41
41
  }
@@ -47,6 +47,10 @@ export class MessageContextBase {
47
47
  sendPhoto(params: Omit<t.SendPhotoParams, "chat_id">) {
48
48
  return this.api.call<t.Message>("sendPhoto", { chat_id: this.chat.id, ...params });
49
49
  }
50
+ /** Use this method to send live photos. On success, the sent [Message](https://core.telegram.org/bots/api/#message) is returned. */
51
+ sendLivePhoto(params: Omit<t.SendLivePhotoParams, "chat_id">) {
52
+ return this.api.call<t.Message>("sendLivePhoto", { chat_id: this.chat.id, ...params });
53
+ }
50
54
  /** 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. */
51
55
  sendAudio(params: Omit<t.SendAudioParams, "chat_id">) {
52
56
  return this.api.call<t.Message>("sendAudio", { chat_id: this.chat.id, ...params });
@@ -75,7 +79,7 @@ export class MessageContextBase {
75
79
  sendPaidMedia(params: Omit<t.SendPaidMediaParams, "chat_id">) {
76
80
  return this.api.call<t.Message>("sendPaidMedia", { chat_id: this.chat.id, ...params });
77
81
  }
78
- /** 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. */
82
+ /** 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. */
79
83
  sendMediaGroup(params: Omit<t.SendMediaGroupParams, "chat_id">) {
80
84
  return this.api.call<t.Message[]>("sendMediaGroup", { chat_id: this.chat.id, ...params });
81
85
  }
@@ -95,10 +99,18 @@ export class MessageContextBase {
95
99
  sendPoll(params: Omit<t.SendPollParams, "chat_id">) {
96
100
  return this.api.call<t.Message>("sendPoll", { chat_id: this.chat.id, ...params });
97
101
  }
102
+ /** 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. */
103
+ sendChecklist(params: Omit<t.SendChecklistParams, "chat_id">) {
104
+ return this.api.call<t.Message>("sendChecklist", { chat_id: this.chat.id, ...params });
105
+ }
98
106
  /** 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. */
99
107
  sendDice(params: Omit<t.SendDiceParams, "chat_id">) {
100
108
  return this.api.call<t.Message>("sendDice", { chat_id: this.chat.id, ...params });
101
109
  }
110
+ /** 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. */
111
+ sendMessageDraft(params: Omit<t.SendMessageDraftParams, "chat_id">) {
112
+ return this.api.call<boolean>("sendMessageDraft", { chat_id: this.chat.id, ...params });
113
+ }
102
114
  /** 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. */
103
115
  sendChatAction(params: Omit<t.SendChatActionParams, "chat_id">) {
104
116
  return this.api.call<boolean>("sendChatAction", { chat_id: this.chat.id, ...params });
@@ -111,7 +123,11 @@ export class MessageContextBase {
111
123
  getUserProfilePhotos(params: Omit<t.GetUserProfilePhotosParams, "user_id">) {
112
124
  return this.api.call<t.UserProfilePhotos>("getUserProfilePhotos", { user_id: this.from?.id, ...params });
113
125
  }
114
- /** 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. */
126
+ /** Use this method to get a list of profile audios for a user. Returns a [UserProfileAudios](https://core.telegram.org/bots/api/#userprofileaudios) object. */
127
+ getUserProfileAudios(params: Omit<t.GetUserProfileAudiosParams, "user_id">) {
128
+ return this.api.call<t.UserProfileAudios>("getUserProfileAudios", { user_id: this.from?.id, ...params });
129
+ }
130
+ /** 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. */
115
131
  setUserEmojiStatus(params: Omit<t.SetUserEmojiStatusParams, "user_id">) {
116
132
  return this.api.call<boolean>("setUserEmojiStatus", { user_id: this.from?.id, ...params });
117
133
  }
@@ -135,6 +151,10 @@ export class MessageContextBase {
135
151
  setChatAdministratorCustomTitle(params: Omit<t.SetChatAdministratorCustomTitleParams, "chat_id" | "user_id">) {
136
152
  return this.api.call<boolean>("setChatAdministratorCustomTitle", { chat_id: this.chat.id, user_id: this.from?.id, ...params });
137
153
  }
154
+ /** Use this method to set a tag for a regular member in a group or a supergroup. The bot must be an administrator in the chat for this to work and must have the *can\_manage\_tags* administrator right. Returns *True* on success. */
155
+ setChatMemberTag(params: Omit<t.SetChatMemberTagParams, "chat_id" | "user_id">) {
156
+ return this.api.call<boolean>("setChatMemberTag", { chat_id: this.chat.id, user_id: this.from?.id, ...params });
157
+ }
138
158
  /** Use this method to ban a channel chat in a supergroup or a channel. Until the chat is [unbanned](https://core.telegram.org/bots/api/#unbanchatsenderchat), the owner of the banned chat won't be able to send messages on behalf of **any of their channels**. The bot must be an administrator in the supergroup or channel for this to work and must have the appropriate administrator rights. Returns *True* on success. */
139
159
  banChatSenderChat(params: Omit<t.BanChatSenderChatParams, "chat_id">) {
140
160
  return this.api.call<boolean>("banChatSenderChat", { chat_id: this.chat.id, ...params });
@@ -195,15 +215,15 @@ export class MessageContextBase {
195
215
  setChatDescription(params: Omit<t.SetChatDescriptionParams, "chat_id">) {
196
216
  return this.api.call<boolean>("setChatDescription", { chat_id: this.chat.id, ...params });
197
217
  }
198
- /** 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. */
218
+ /** 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. */
199
219
  pin(params: Omit<t.PinChatMessageParams, "chat_id" | "message_id">) {
200
220
  return this.api.call<boolean>("pinChatMessage", { chat_id: this.chat.id, message_id: this.message_id, ...params });
201
221
  }
202
- /** 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. */
222
+ /** 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. */
203
223
  unpin(params: Omit<t.UnpinChatMessageParams, "chat_id" | "message_id">) {
204
224
  return this.api.call<boolean>("unpinChatMessage", { chat_id: this.chat.id, message_id: this.message_id, ...params });
205
225
  }
206
- /** 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. */
226
+ /** 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. */
207
227
  unpinAllChatMessages(params?: Omit<t.UnpinAllChatMessagesParams, "chat_id">) {
208
228
  return this.api.call<boolean>("unpinAllChatMessages", { chat_id: this.chat.id, ...params });
209
229
  }
@@ -215,8 +235,8 @@ export class MessageContextBase {
215
235
  getChat(params?: Omit<t.GetChatParams, "chat_id">) {
216
236
  return this.api.call<t.ChatFullInfo>("getChat", { chat_id: this.chat.id, ...params });
217
237
  }
218
- /** 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. */
219
- getChatAdministrators(params?: Omit<t.GetChatAdministratorsParams, "chat_id">) {
238
+ /** 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. */
239
+ getChatAdministrators(params: Omit<t.GetChatAdministratorsParams, "chat_id">) {
220
240
  return this.api.call<t.ChatMember[]>("getChatAdministrators", { chat_id: this.chat.id, ...params });
221
241
  }
222
242
  /** Use this method to get the number of members in a chat. Returns *Int* on success. */
@@ -227,6 +247,10 @@ export class MessageContextBase {
227
247
  getChatMember(params?: Omit<t.GetChatMemberParams, "chat_id" | "user_id">) {
228
248
  return this.api.call<t.ChatMember>("getChatMember", { chat_id: this.chat.id, user_id: this.from?.id, ...params });
229
249
  }
250
+ /** 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. */
251
+ getUserPersonalChatMessages(params: Omit<t.GetUserPersonalChatMessagesParams, "user_id">) {
252
+ return this.api.call<t.Message[]>("getUserPersonalChatMessages", { user_id: this.from?.id, ...params });
253
+ }
230
254
  /** Use this method to set a new group sticker set for a supergroup. The bot must be an administrator in the chat for this to work and must have the appropriate administrator rights. Use the field *can\_set\_sticker\_set* optionally returned in [getChat](https://core.telegram.org/bots/api/#getchat) requests to check if the bot can use this method. Returns *True* on success. */
231
255
  setChatStickerSet(params: Omit<t.SetChatStickerSetParams, "chat_id">) {
232
256
  return this.api.call<boolean>("setChatStickerSet", { chat_id: this.chat.id, ...params });
@@ -235,11 +259,11 @@ export class MessageContextBase {
235
259
  deleteChatStickerSet(params?: Omit<t.DeleteChatStickerSetParams, "chat_id">) {
236
260
  return this.api.call<boolean>("deleteChatStickerSet", { chat_id: this.chat.id, ...params });
237
261
  }
238
- /** 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. */
262
+ /** 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. */
239
263
  createForumTopic(params: Omit<t.CreateForumTopicParams, "chat_id">) {
240
264
  return this.api.call<t.ForumTopic>("createForumTopic", { chat_id: this.chat.id, ...params });
241
265
  }
242
- /** 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. */
266
+ /** 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. */
243
267
  editForumTopic(params: Omit<t.EditForumTopicParams, "chat_id">) {
244
268
  return this.api.call<boolean>("editForumTopic", { chat_id: this.chat.id, ...params });
245
269
  }
@@ -251,11 +275,11 @@ export class MessageContextBase {
251
275
  reopenForumTopic(params: Omit<t.ReopenForumTopicParams, "chat_id">) {
252
276
  return this.api.call<boolean>("reopenForumTopic", { chat_id: this.chat.id, ...params });
253
277
  }
254
- /** 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. */
278
+ /** 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. */
255
279
  deleteForumTopic(params: Omit<t.DeleteForumTopicParams, "chat_id">) {
256
280
  return this.api.call<boolean>("deleteForumTopic", { chat_id: this.chat.id, ...params });
257
281
  }
258
- /** 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. */
282
+ /** 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. */
259
283
  unpinAllForumTopicMessages(params: Omit<t.UnpinAllForumTopicMessagesParams, "chat_id">) {
260
284
  return this.api.call<boolean>("unpinAllForumTopicMessages", { chat_id: this.chat.id, ...params });
261
285
  }
@@ -287,6 +311,22 @@ export class MessageContextBase {
287
311
  getUserChatBoosts(params?: Omit<t.GetUserChatBoostsParams, "chat_id" | "user_id">) {
288
312
  return this.api.call<t.UserChatBoosts>("getUserChatBoosts", { chat_id: this.chat.id, user_id: this.from?.id, ...params });
289
313
  }
314
+ /** Use this method to get the token of a managed bot. Returns the token as *String* on success. */
315
+ getManagedBotToken(params?: Omit<t.GetManagedBotTokenParams, "user_id">) {
316
+ return this.api.call<string>("getManagedBotToken", { user_id: this.from?.id, ...params });
317
+ }
318
+ /** 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. */
319
+ replaceManagedBotToken(params?: Omit<t.ReplaceManagedBotTokenParams, "user_id">) {
320
+ return this.api.call<string>("replaceManagedBotToken", { user_id: this.from?.id, ...params });
321
+ }
322
+ /** 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. */
323
+ getManagedBotAccessSettings(params?: Omit<t.GetManagedBotAccessSettingsParams, "user_id">) {
324
+ return this.api.call<t.BotAccessSettings>("getManagedBotAccessSettings", { user_id: this.from?.id, ...params });
325
+ }
326
+ /** Use this method to change the access settings of a managed bot. Returns *True* on success. */
327
+ setManagedBotAccessSettings(params: Omit<t.SetManagedBotAccessSettingsParams, "user_id">) {
328
+ return this.api.call<boolean>("setManagedBotAccessSettings", { user_id: this.from?.id, ...params });
329
+ }
290
330
  /** Use this method to change the bot's menu button in a private chat, or the default menu button. Returns *True* on success. */
291
331
  setChatMenuButton(params: Omit<t.SetChatMenuButtonParams, "chat_id">) {
292
332
  return this.api.call<boolean>("setChatMenuButton", { chat_id: this.chat.id, ...params });
@@ -295,7 +335,51 @@ export class MessageContextBase {
295
335
  getChatMenuButton(params?: Omit<t.GetChatMenuButtonParams, "chat_id">) {
296
336
  return this.api.call<t.MenuButton>("getChatMenuButton", { chat_id: this.chat.id, ...params });
297
337
  }
298
- /** 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. */
338
+ /** 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. */
339
+ sendGift(params: Omit<t.SendGiftParams, "user_id" | "chat_id">) {
340
+ return this.api.call<boolean>("sendGift", { user_id: this.from?.id, chat_id: this.chat.id, ...params });
341
+ }
342
+ /** Gifts a Telegram Premium subscription to the given user. Returns *True* on success. */
343
+ giftPremiumSubscription(params: Omit<t.GiftPremiumSubscriptionParams, "user_id">) {
344
+ return this.api.call<boolean>("giftPremiumSubscription", { user_id: this.from?.id, ...params });
345
+ }
346
+ /** 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. */
347
+ verifyUser(params: Omit<t.VerifyUserParams, "user_id">) {
348
+ return this.api.call<boolean>("verifyUser", { user_id: this.from?.id, ...params });
349
+ }
350
+ /** 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. */
351
+ verifyChat(params: Omit<t.VerifyChatParams, "chat_id">) {
352
+ return this.api.call<boolean>("verifyChat", { chat_id: this.chat.id, ...params });
353
+ }
354
+ /** 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. */
355
+ removeUserVerification(params?: Omit<t.RemoveUserVerificationParams, "user_id">) {
356
+ return this.api.call<boolean>("removeUserVerification", { user_id: this.from?.id, ...params });
357
+ }
358
+ /** 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. */
359
+ removeChatVerification(params?: Omit<t.RemoveChatVerificationParams, "chat_id">) {
360
+ return this.api.call<boolean>("removeChatVerification", { chat_id: this.chat.id, ...params });
361
+ }
362
+ /** Marks incoming message as read on behalf of a business account. Requires the *can\_read\_messages* business bot right. Returns *True* on success. */
363
+ readBusinessMessage(params: Omit<t.ReadBusinessMessageParams, "chat_id" | "message_id">) {
364
+ return this.api.call<boolean>("readBusinessMessage", { chat_id: this.chat.id, message_id: this.message_id, ...params });
365
+ }
366
+ /** Returns the gifts owned and hosted by a user. Returns [OwnedGifts](https://core.telegram.org/bots/api/#ownedgifts) on success. */
367
+ getUserGifts(params: Omit<t.GetUserGiftsParams, "user_id">) {
368
+ return this.api.call<t.OwnedGifts>("getUserGifts", { user_id: this.from?.id, ...params });
369
+ }
370
+ /** Returns the gifts owned by a chat. Returns [OwnedGifts](https://core.telegram.org/bots/api/#ownedgifts) on success. */
371
+ getChatGifts(params: Omit<t.GetChatGiftsParams, "chat_id">) {
372
+ return this.api.call<t.OwnedGifts>("getChatGifts", { chat_id: this.chat.id, ...params });
373
+ }
374
+ /** 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. */
375
+ savePreparedInlineMessage(params: Omit<t.SavePreparedInlineMessageParams, "user_id">) {
376
+ return this.api.call<t.PreparedInlineMessage>("savePreparedInlineMessage", { user_id: this.from?.id, ...params });
377
+ }
378
+ /** 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. */
379
+ savePreparedKeyboardButton(params: Omit<t.SavePreparedKeyboardButtonParams, "user_id">) {
380
+ return this.api.call<t.PreparedKeyboardButton>("savePreparedKeyboardButton", { user_id: this.from?.id, ...params });
381
+ }
382
+ /** 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. */
299
383
  editText(params: Omit<t.EditMessageTextParams, "chat_id" | "message_id">) {
300
384
  return this.api.call<t.Message | boolean>("editMessageText", { chat_id: this.chat.id, message_id: this.message_id, ...params });
301
385
  }
@@ -303,7 +387,7 @@ export class MessageContextBase {
303
387
  editCaption(params: Omit<t.EditMessageCaptionParams, "chat_id" | "message_id">) {
304
388
  return this.api.call<t.Message | boolean>("editMessageCaption", { chat_id: this.chat.id, message_id: this.message_id, ...params });
305
389
  }
306
- /** 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. */
390
+ /** 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. */
307
391
  editMedia(params: Omit<t.EditMessageMediaParams, "chat_id" | "message_id">) {
308
392
  return this.api.call<t.Message | boolean>("editMessageMedia", { chat_id: this.chat.id, message_id: this.message_id, ...params });
309
393
  }
@@ -315,6 +399,10 @@ export class MessageContextBase {
315
399
  stopMessageLiveLocation(params: Omit<t.StopMessageLiveLocationParams, "chat_id" | "message_id">) {
316
400
  return this.api.call<t.Message | boolean>("stopMessageLiveLocation", { chat_id: this.chat.id, message_id: this.message_id, ...params });
317
401
  }
402
+ /** 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. */
403
+ editMessageChecklist(params: Omit<t.EditMessageChecklistParams, "chat_id" | "message_id">) {
404
+ return this.api.call<t.Message>("editMessageChecklist", { chat_id: this.chat.id, message_id: this.message_id, ...params });
405
+ }
318
406
  /** 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. */
319
407
  editReplyMarkup(params: Omit<t.EditMessageReplyMarkupParams, "chat_id" | "message_id">) {
320
408
  return this.api.call<t.Message | boolean>("editMessageReplyMarkup", { chat_id: this.chat.id, message_id: this.message_id, ...params });
@@ -323,7 +411,15 @@ export class MessageContextBase {
323
411
  stopPoll(params: Omit<t.StopPollParams, "chat_id" | "message_id">) {
324
412
  return this.api.call<t.Poll>("stopPoll", { chat_id: this.chat.id, message_id: this.message_id, ...params });
325
413
  }
326
- /** 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. */
414
+ /** 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. */
415
+ approveSuggestedPost(params: Omit<t.ApproveSuggestedPostParams, "chat_id" | "message_id">) {
416
+ return this.api.call<boolean>("approveSuggestedPost", { chat_id: this.chat.id, message_id: this.message_id, ...params });
417
+ }
418
+ /** 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. */
419
+ declineSuggestedPost(params: Omit<t.DeclineSuggestedPostParams, "chat_id" | "message_id">) {
420
+ return this.api.call<boolean>("declineSuggestedPost", { chat_id: this.chat.id, message_id: this.message_id, ...params });
421
+ }
422
+ /** 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. */
327
423
  delete(params?: Omit<t.DeleteMessageParams, "chat_id" | "message_id">) {
328
424
  return this.api.call<boolean>("deleteMessage", { chat_id: this.chat.id, message_id: this.message_id, ...params });
329
425
  }
@@ -331,6 +427,14 @@ export class MessageContextBase {
331
427
  deleteMessages(params: Omit<t.DeleteMessagesParams, "chat_id">) {
332
428
  return this.api.call<boolean>("deleteMessages", { chat_id: this.chat.id, ...params });
333
429
  }
430
+ /** 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. */
431
+ deleteMessageReaction(params: Omit<t.DeleteMessageReactionParams, "chat_id" | "message_id" | "user_id">) {
432
+ return this.api.call<boolean>("deleteMessageReaction", { chat_id: this.chat.id, message_id: this.message_id, user_id: this.from?.id, ...params });
433
+ }
434
+ /** 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. */
435
+ deleteAllMessageReactions(params: Omit<t.DeleteAllMessageReactionsParams, "chat_id" | "user_id">) {
436
+ return this.api.call<boolean>("deleteAllMessageReactions", { chat_id: this.chat.id, user_id: this.from?.id, ...params });
437
+ }
334
438
  /** 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. */
335
439
  sendSticker(params: Omit<t.SendStickerParams, "chat_id">) {
336
440
  return this.api.call<t.Message>("sendSticker", { chat_id: this.chat.id, ...params });
@@ -355,29 +459,13 @@ export class MessageContextBase {
355
459
  setStickerSetThumbnail(params: Omit<t.SetStickerSetThumbnailParams, "user_id">) {
356
460
  return this.api.call<boolean>("setStickerSetThumbnail", { user_id: this.from?.id, ...params });
357
461
  }
358
- /** 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. */
359
- sendGift(params: Omit<t.SendGiftParams, "user_id" | "chat_id">) {
360
- return this.api.call<boolean>("sendGift", { user_id: this.from?.id, chat_id: this.chat.id, ...params });
462
+ /** 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. */
463
+ sendRichMessage(params: Omit<t.SendRichMessageParams, "chat_id">) {
464
+ return this.api.call<t.Message>("sendRichMessage", { chat_id: this.chat.id, ...params });
361
465
  }
362
- /** 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. */
363
- verifyUser(params: Omit<t.VerifyUserParams, "user_id">) {
364
- return this.api.call<boolean>("verifyUser", { user_id: this.from?.id, ...params });
365
- }
366
- /** 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. */
367
- verifyChat(params: Omit<t.VerifyChatParams, "chat_id">) {
368
- return this.api.call<boolean>("verifyChat", { chat_id: this.chat.id, ...params });
369
- }
370
- /** 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. */
371
- removeUserVerification(params?: Omit<t.RemoveUserVerificationParams, "user_id">) {
372
- return this.api.call<boolean>("removeUserVerification", { user_id: this.from?.id, ...params });
373
- }
374
- /** 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. */
375
- removeChatVerification(params?: Omit<t.RemoveChatVerificationParams, "chat_id">) {
376
- return this.api.call<boolean>("removeChatVerification", { chat_id: this.chat.id, ...params });
377
- }
378
- /** 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. */
379
- savePreparedInlineMessage(params: Omit<t.SavePreparedInlineMessageParams, "user_id">) {
380
- return this.api.call<t.PreparedInlineMessage>("savePreparedInlineMessage", { user_id: this.from?.id, ...params });
466
+ /** 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. */
467
+ sendRichMessageDraft(params: Omit<t.SendRichMessageDraftParams, "chat_id">) {
468
+ return this.api.call<boolean>("sendRichMessageDraft", { chat_id: this.chat.id, ...params });
381
469
  }
382
470
  /** Use this method to send invoices. On success, the sent [Message](https://core.telegram.org/bots/api/#message) is returned. */
383
471
  sendInvoice(params: Omit<t.SendInvoiceParams, "chat_id">) {