@mtkruto/node 0.1.190 → 0.1.200

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 (205) hide show
  1. package/esm/0_errors.d.ts +12 -0
  2. package/esm/0_errors.js +19 -0
  3. package/esm/1_utilities.d.ts +1 -1
  4. package/esm/1_utilities.js +1 -1
  5. package/esm/2_tl.d.ts +6 -6
  6. package/esm/2_tl.js +6 -6
  7. package/esm/3_storage.d.ts +5 -5
  8. package/esm/3_storage.js +5 -5
  9. package/esm/3_types.d.ts +6 -5
  10. package/esm/3_types.js +6 -5
  11. package/esm/4_constants.d.ts +2 -2
  12. package/esm/4_constants.js +2 -2
  13. package/esm/5_client.d.ts +1 -1
  14. package/esm/5_client.js +1 -1
  15. package/esm/client/0_client_abstract.js +3 -2
  16. package/esm/client/0_html.js +4 -3
  17. package/esm/client/0_markdown.js +6 -5
  18. package/esm/client/0_params.d.ts +7 -1
  19. package/esm/client/0_types.d.ts +1 -2
  20. package/esm/client/0_types.js +1 -2
  21. package/esm/client/0_utilities.d.ts +0 -3
  22. package/esm/client/0_utilities.js +2 -21
  23. package/esm/client/1_business_connection_manager.d.ts +11 -0
  24. package/esm/client/1_business_connection_manager.js +47 -0
  25. package/esm/client/1_client_encrypted.js +1 -1
  26. package/esm/client/1_client_plain.js +3 -4
  27. package/esm/client/1_composer.js +3 -2
  28. package/esm/client/1_file_manager.js +4 -4
  29. package/esm/client/1_update_manager.d.ts +8 -1
  30. package/esm/client/1_update_manager.js +88 -8
  31. package/esm/client/2_message_manager.d.ts +7 -6
  32. package/esm/client/2_message_manager.js +89 -74
  33. package/esm/client/3_chat_list_manager.js +3 -2
  34. package/esm/client/3_story_manager.js +2 -1
  35. package/esm/client/4_client.d.ts +422 -421
  36. package/esm/client/4_client.js +578 -520
  37. package/esm/mod.d.ts +1 -0
  38. package/esm/mod.js +1 -0
  39. package/esm/storage/0_storage.d.ts +5 -0
  40. package/esm/storage/0_storage.js +20 -0
  41. package/esm/storage/{1_storage_indexed_db.js → 2_storage_indexed_db.js} +1 -1
  42. package/esm/storage/{1_storage_local_storage.js → 2_storage_local_storage.js} +1 -1
  43. package/{script/storage/1_storage_memory.d.ts → esm/storage/2_storage_memory.d.ts} +1 -4
  44. package/esm/storage/{1_storage_memory.js → 2_storage_memory.js} +8 -28
  45. package/esm/storage/{1_storage_session_storage.js → 2_storage_session_storage.js} +1 -1
  46. package/esm/tl/2_types.d.ts +1071 -183
  47. package/esm/tl/2_types.js +2916 -464
  48. package/esm/tl/3_functions.d.ts +381 -17
  49. package/esm/tl/3_functions.js +1002 -120
  50. package/{script/tl/4_tl_writer.d.ts → esm/tl/5_tl_writer.d.ts} +1 -1
  51. package/{script/tl/4_rpc_result.d.ts → esm/tl/6_rpc_result.d.ts} +1 -1
  52. package/esm/tl/{4_rpc_result.js → 6_rpc_result.js} +1 -1
  53. package/esm/tl/{6_message.d.ts → 7_message.d.ts} +2 -2
  54. package/esm/tl/{6_message.js → 7_message.js} +3 -3
  55. package/esm/tl/{7_message_container.d.ts → 8_message_container.d.ts} +1 -1
  56. package/esm/tl/{7_message_container.js → 8_message_container.js} +3 -3
  57. package/esm/types/0_chat_photo.d.ts +1 -0
  58. package/esm/types/0_chat_photo.js +8 -5
  59. package/esm/types/0_message_entity.d.ts +1 -1
  60. package/esm/types/0_thumbnail.js +1 -1
  61. package/esm/types/1_bot_command_scope.d.ts +1 -1
  62. package/esm/types/1_photo.js +2 -2
  63. package/esm/types/1_story_privacy.d.ts +1 -1
  64. package/esm/types/2_business_connection.d.ts +11 -0
  65. package/esm/types/2_business_connection.js +12 -0
  66. package/esm/types/2_chat_member.d.ts +1 -1
  67. package/esm/types/2_chosen_inline_result.d.ts +1 -1
  68. package/esm/types/2_game.js +1 -1
  69. package/esm/types/2_inline_keyboard_button.d.ts +1 -1
  70. package/esm/types/2_inline_query.d.ts +1 -1
  71. package/esm/types/2_invite_link.d.ts +1 -1
  72. package/esm/types/2_message_reaction_count.d.ts +1 -1
  73. package/esm/types/2_message_reactions.d.ts +1 -1
  74. package/esm/types/2_story_content.js +1 -1
  75. package/{script/types/1_story_interactive_area.d.ts → esm/types/2_story_interactive_area.d.ts} +2 -2
  76. package/esm/types/{1_story_interactive_area.js → 2_story_interactive_area.js} +1 -1
  77. package/esm/types/3_chat_member_updated.d.ts +1 -1
  78. package/esm/types/3_reply_markup.d.ts +1 -1
  79. package/esm/types/3_story.d.ts +2 -2
  80. package/esm/types/3_story.js +1 -1
  81. package/esm/types/4_inline_query_result.d.ts +1 -1
  82. package/esm/types/4_inline_query_result.js +1 -1
  83. package/esm/types/4_message.d.ts +9 -3
  84. package/esm/types/4_message.js +22 -5
  85. package/esm/types/5_callback_query.d.ts +1 -1
  86. package/esm/types/5_callback_query.js +2 -1
  87. package/esm/types/5_chat.d.ts +1 -1
  88. package/esm/types/6_update.d.ts +12 -2
  89. package/esm/types/{0__file_id.js → _file_id.js} +2 -1
  90. package/package.json +1 -1
  91. package/script/0_errors.d.ts +12 -0
  92. package/script/0_errors.js +27 -0
  93. package/script/1_utilities.d.ts +1 -1
  94. package/script/1_utilities.js +1 -1
  95. package/script/2_tl.d.ts +6 -6
  96. package/script/2_tl.js +6 -6
  97. package/script/3_storage.d.ts +5 -5
  98. package/script/3_storage.js +5 -5
  99. package/script/3_types.d.ts +6 -5
  100. package/script/3_types.js +6 -5
  101. package/script/4_constants.d.ts +2 -2
  102. package/script/4_constants.js +2 -2
  103. package/script/5_client.d.ts +1 -1
  104. package/script/5_client.js +1 -1
  105. package/script/client/0_client_abstract.js +3 -2
  106. package/script/client/0_html.js +4 -3
  107. package/script/client/0_markdown.js +6 -5
  108. package/script/client/0_params.d.ts +7 -1
  109. package/script/client/0_types.d.ts +1 -2
  110. package/script/client/0_types.js +0 -4
  111. package/script/client/0_utilities.d.ts +0 -3
  112. package/script/client/0_utilities.js +3 -24
  113. package/script/client/1_business_connection_manager.d.ts +11 -0
  114. package/script/client/1_business_connection_manager.js +51 -0
  115. package/script/client/1_client_encrypted.js +2 -2
  116. package/script/client/1_client_plain.js +3 -4
  117. package/script/client/1_composer.js +3 -2
  118. package/script/client/1_file_manager.js +5 -5
  119. package/script/client/1_update_manager.d.ts +8 -1
  120. package/script/client/1_update_manager.js +88 -8
  121. package/script/client/2_message_manager.d.ts +7 -6
  122. package/script/client/2_message_manager.js +88 -73
  123. package/script/client/3_chat_list_manager.js +3 -2
  124. package/script/client/3_story_manager.js +2 -1
  125. package/script/client/4_client.d.ts +422 -421
  126. package/script/client/4_client.js +578 -520
  127. package/script/mod.d.ts +1 -0
  128. package/script/mod.js +1 -0
  129. package/script/storage/0_storage.d.ts +5 -0
  130. package/script/storage/0_storage.js +20 -0
  131. package/script/storage/{1_storage_indexed_db.js → 2_storage_indexed_db.js} +7 -7
  132. package/script/storage/{1_storage_local_storage.js → 2_storage_local_storage.js} +10 -10
  133. package/{esm/storage/1_storage_memory.d.ts → script/storage/2_storage_memory.d.ts} +1 -4
  134. package/script/storage/{1_storage_memory.js → 2_storage_memory.js} +12 -32
  135. package/script/storage/{1_storage_session_storage.js → 2_storage_session_storage.js} +10 -10
  136. package/script/tl/2_types.d.ts +1071 -183
  137. package/script/tl/2_types.js +3028 -504
  138. package/script/tl/3_functions.d.ts +381 -17
  139. package/script/tl/3_functions.js +1047 -143
  140. package/{esm/tl/4_tl_writer.d.ts → script/tl/5_tl_writer.d.ts} +1 -1
  141. package/{esm/tl/4_rpc_result.d.ts → script/tl/6_rpc_result.d.ts} +1 -1
  142. package/script/tl/{4_rpc_result.js → 6_rpc_result.js} +2 -2
  143. package/script/tl/{6_message.d.ts → 7_message.d.ts} +2 -2
  144. package/script/tl/{6_message.js → 7_message.js} +8 -8
  145. package/script/tl/{7_message_container.d.ts → 8_message_container.d.ts} +1 -1
  146. package/script/tl/{7_message_container.js → 8_message_container.js} +7 -7
  147. package/script/types/0_chat_photo.d.ts +1 -0
  148. package/script/types/0_chat_photo.js +16 -13
  149. package/script/types/0_message_entity.d.ts +1 -1
  150. package/script/types/0_thumbnail.js +6 -6
  151. package/script/types/1_bot_command_scope.d.ts +1 -1
  152. package/script/types/1_photo.js +7 -7
  153. package/script/types/1_story_privacy.d.ts +1 -1
  154. package/script/types/2_business_connection.d.ts +11 -0
  155. package/script/types/2_business_connection.js +16 -0
  156. package/script/types/2_chat_member.d.ts +1 -1
  157. package/script/types/2_chosen_inline_result.d.ts +1 -1
  158. package/script/types/2_game.js +3 -3
  159. package/script/types/2_inline_keyboard_button.d.ts +1 -1
  160. package/script/types/2_inline_query.d.ts +1 -1
  161. package/script/types/2_invite_link.d.ts +1 -1
  162. package/script/types/2_message_reaction_count.d.ts +1 -1
  163. package/script/types/2_message_reactions.d.ts +1 -1
  164. package/script/types/2_story_content.js +4 -4
  165. package/{esm/types/1_story_interactive_area.d.ts → script/types/2_story_interactive_area.d.ts} +2 -2
  166. package/script/types/{1_story_interactive_area.js → 2_story_interactive_area.js} +2 -2
  167. package/script/types/3_chat_member_updated.d.ts +1 -1
  168. package/script/types/3_reply_markup.d.ts +1 -1
  169. package/script/types/3_story.d.ts +2 -2
  170. package/script/types/3_story.js +2 -2
  171. package/script/types/4_inline_query_result.d.ts +1 -1
  172. package/script/types/4_inline_query_result.js +2 -2
  173. package/script/types/4_message.d.ts +9 -3
  174. package/script/types/4_message.js +37 -20
  175. package/script/types/5_callback_query.d.ts +1 -1
  176. package/script/types/5_callback_query.js +2 -1
  177. package/script/types/5_chat.d.ts +1 -1
  178. package/script/types/6_update.d.ts +12 -2
  179. package/script/types/{0__file_id.js → _file_id.js} +2 -1
  180. /package/esm/storage/{0_utilities.d.ts → 1_utilities.d.ts} +0 -0
  181. /package/esm/storage/{0_utilities.js → 1_utilities.js} +0 -0
  182. /package/esm/storage/{1_storage_indexed_db.d.ts → 2_storage_indexed_db.d.ts} +0 -0
  183. /package/esm/storage/{1_storage_local_storage.d.ts → 2_storage_local_storage.d.ts} +0 -0
  184. /package/esm/storage/{1_storage_session_storage.d.ts → 2_storage_session_storage.d.ts} +0 -0
  185. /package/esm/tl/{3_tl_reader.d.ts → 4_tl_reader.d.ts} +0 -0
  186. /package/esm/tl/{3_tl_reader.js → 4_tl_reader.js} +0 -0
  187. /package/esm/tl/{4_tl_writer.js → 5_tl_writer.js} +0 -0
  188. /package/esm/types/{0_venue.d.ts → 1_venue.d.ts} +0 -0
  189. /package/esm/types/{0_venue.js → 1_venue.js} +0 -0
  190. /package/esm/types/{0__file_id.d.ts → _file_id.d.ts} +0 -0
  191. /package/esm/types/{1__getters.d.ts → _getters.d.ts} +0 -0
  192. /package/esm/types/{1__getters.js → _getters.js} +0 -0
  193. /package/script/storage/{0_utilities.d.ts → 1_utilities.d.ts} +0 -0
  194. /package/script/storage/{0_utilities.js → 1_utilities.js} +0 -0
  195. /package/script/storage/{1_storage_indexed_db.d.ts → 2_storage_indexed_db.d.ts} +0 -0
  196. /package/script/storage/{1_storage_local_storage.d.ts → 2_storage_local_storage.d.ts} +0 -0
  197. /package/script/storage/{1_storage_session_storage.d.ts → 2_storage_session_storage.d.ts} +0 -0
  198. /package/script/tl/{3_tl_reader.d.ts → 4_tl_reader.d.ts} +0 -0
  199. /package/script/tl/{3_tl_reader.js → 4_tl_reader.js} +0 -0
  200. /package/script/tl/{4_tl_writer.js → 5_tl_writer.js} +0 -0
  201. /package/script/types/{0_venue.d.ts → 1_venue.d.ts} +0 -0
  202. /package/script/types/{0_venue.js → 1_venue.js} +0 -0
  203. /package/script/types/{0__file_id.d.ts → _file_id.d.ts} +0 -0
  204. /package/script/types/{1__getters.d.ts → _getters.d.ts} +0 -0
  205. /package/script/types/{1__getters.js → _getters.js} +0 -0
@@ -11,8 +11,9 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
11
11
  };
12
12
  var _MessageManager_instances, _MessageManager_c, _MessageManager_LresolveFileId, _MessageManager_updatesToMessages, _MessageManager_constructReplyMarkup, _MessageManager_resolveSendAs, _MessageManager_constructReplyTo, _MessageManager_sendDocumentInner, _MessageManager_sendMedia, _MessageManager_sendReaction, _MessageManager_toggleJoinRequests;
13
13
  import { contentType } from "../0_deps.js";
14
+ import { InputError } from "../0_errors.js";
14
15
  import { getLogger, getRandomId, toUnixTimestamp, UNREACHABLE } from "../1_utilities.js";
15
- import { as, getChannelChatId, peerToChatId, types } from "../2_tl.js";
16
+ import { as, functions, getChannelChatId, peerToChatId, types } from "../2_tl.js";
16
17
  import { constructChatMemberUpdated, constructInviteLink, deserializeFileId } from "../3_types.js";
17
18
  import { assertMessageType, chatMemberRightsToTlObject, constructChatMember, constructMessage as constructMessage_, deserializeInlineMessageId, FileType, messageEntityToTlObject, reactionEqual, reactionToTlObject, replyMarkupToTlObject } from "../3_types.js";
18
19
  import { messageSearchFilterToTlObject } from "../types/0_message_search_filter.js";
@@ -20,7 +21,7 @@ import { parseHtml } from "./0_html.js";
20
21
  import { parseMarkdown } from "./0_markdown.js";
21
22
  import { getFileContents, isHttpUrl } from "./0_utilities.js";
22
23
  const FALLBACK_MIME_TYPE = "application/octet-stream";
23
- const STICKER_MIME_TYPES = ["image/webp", "video/webp", "application/x-tgsticker"];
24
+ const STICKER_MIME_TYPES = ["image/webp", "video/webm", "application/x-tgsticker"];
24
25
  export class MessageManager {
25
26
  constructor(c) {
26
27
  _MessageManager_instances.add(this);
@@ -125,8 +126,8 @@ export class MessageManager {
125
126
  const entities = entities_?.length > 0 ? await Promise.all(entities_.map((v) => messageEntityToTlObject(v, __classPrivateFieldGet(this, _MessageManager_c, "f").getEntity))) : undefined;
126
127
  return [text, entities];
127
128
  }
128
- async constructMessage(message_, r) {
129
- return await constructMessage_(message_, __classPrivateFieldGet(this, _MessageManager_c, "f").getEntity, this.getMessage.bind(this), __classPrivateFieldGet(this, _MessageManager_c, "f").fileManager.getStickerSetName.bind(__classPrivateFieldGet(this, _MessageManager_c, "f").fileManager), r);
129
+ async constructMessage(message_, r, business) {
130
+ return await constructMessage_(message_, __classPrivateFieldGet(this, _MessageManager_c, "f").getEntity, this.getMessage.bind(this), __classPrivateFieldGet(this, _MessageManager_c, "f").fileManager.getStickerSetName.bind(__classPrivateFieldGet(this, _MessageManager_c, "f").fileManager), r, business);
130
131
  }
131
132
  async forwardMessages(from, to, messageIds, params) {
132
133
  const result = await __classPrivateFieldGet(this, _MessageManager_c, "f").api.messages.forwardMessages({
@@ -192,7 +193,7 @@ export class MessageManager {
192
193
  const sendAs = await __classPrivateFieldGet(this, _MessageManager_instances, "m", _MessageManager_resolveSendAs).call(this, params);
193
194
  let result;
194
195
  if (!noWebpage && params?.linkPreview?.url) {
195
- result = await __classPrivateFieldGet(this, _MessageManager_c, "f").api.messages.sendMedia({
196
+ result = await __classPrivateFieldGet(this, _MessageManager_c, "f").invoke(new functions.messages.sendMedia({
196
197
  peer,
197
198
  random_id: randomId,
198
199
  media: new types.InputMediaWebPage({
@@ -209,10 +210,10 @@ export class MessageManager {
209
210
  send_as: sendAs,
210
211
  entities,
211
212
  reply_markup: replyMarkup,
212
- });
213
+ }), params?.businessConnectionId);
213
214
  }
214
215
  else {
215
- result = await __classPrivateFieldGet(this, _MessageManager_c, "f").api.messages.sendMessage({
216
+ result = await __classPrivateFieldGet(this, _MessageManager_c, "f").invoke(new functions.messages.sendMessage({
216
217
  peer,
217
218
  random_id: randomId,
218
219
  message,
@@ -224,9 +225,9 @@ export class MessageManager {
224
225
  send_as: sendAs,
225
226
  entities,
226
227
  reply_markup: replyMarkup,
227
- });
228
+ }), params?.businessConnectionId);
228
229
  }
229
- const message_ = await __classPrivateFieldGet(this, _MessageManager_instances, "m", _MessageManager_updatesToMessages).call(this, chatId, result).then((v) => v[0]);
230
+ const message_ = await __classPrivateFieldGet(this, _MessageManager_instances, "m", _MessageManager_updatesToMessages).call(this, chatId, result, params?.businessConnectionId).then((v) => v[0]);
230
231
  return assertMessageType(message_, "text");
231
232
  }
232
233
  async sendVenue(chatId, latitude, longitude, title, address, params) {
@@ -236,7 +237,7 @@ export class MessageManager {
236
237
  const noforwards = params?.protectContent ? true : undefined;
237
238
  const sendAs = params?.sendAs ? await __classPrivateFieldGet(this, _MessageManager_c, "f").getInputPeer(params.sendAs) : undefined; // TODO: check default sendAs
238
239
  const replyMarkup = await __classPrivateFieldGet(this, _MessageManager_instances, "m", _MessageManager_constructReplyMarkup).call(this, params);
239
- const result = await __classPrivateFieldGet(this, _MessageManager_c, "f").api.messages.sendMedia({
240
+ const result = await __classPrivateFieldGet(this, _MessageManager_c, "f").invoke(new functions.messages.sendMedia({
240
241
  peer,
241
242
  random_id: randomId,
242
243
  silent,
@@ -256,8 +257,8 @@ export class MessageManager {
256
257
  provider: "foursquare",
257
258
  }),
258
259
  message: "",
259
- });
260
- const message = await __classPrivateFieldGet(this, _MessageManager_instances, "m", _MessageManager_updatesToMessages).call(this, chatId, result).then((v) => v[0]);
260
+ }), params?.businessConnectionId);
261
+ const message = await __classPrivateFieldGet(this, _MessageManager_instances, "m", _MessageManager_updatesToMessages).call(this, chatId, result, params?.businessConnectionId).then((v) => v[0]);
261
262
  return assertMessageType(message, "venue");
262
263
  }
263
264
  async sendContact(chatId, firstName, number, params) {
@@ -267,7 +268,7 @@ export class MessageManager {
267
268
  const noforwards = params?.protectContent ? true : undefined;
268
269
  const sendAs = params?.sendAs ? await __classPrivateFieldGet(this, _MessageManager_c, "f").getInputPeer(params.sendAs) : undefined; // TODO: check default sendAs
269
270
  const replyMarkup = await __classPrivateFieldGet(this, _MessageManager_instances, "m", _MessageManager_constructReplyMarkup).call(this, params);
270
- const result = await __classPrivateFieldGet(this, _MessageManager_c, "f").api.messages.sendMedia({
271
+ const result = await __classPrivateFieldGet(this, _MessageManager_c, "f").invoke(new functions.messages.sendMedia({
271
272
  peer,
272
273
  random_id: randomId,
273
274
  silent,
@@ -282,8 +283,8 @@ export class MessageManager {
282
283
  vcard: params?.vcard ?? "",
283
284
  }),
284
285
  message: "",
285
- });
286
- const message = await __classPrivateFieldGet(this, _MessageManager_instances, "m", _MessageManager_updatesToMessages).call(this, chatId, result).then((v) => v[0]);
286
+ }), params?.businessConnectionId);
287
+ const message = await __classPrivateFieldGet(this, _MessageManager_instances, "m", _MessageManager_updatesToMessages).call(this, chatId, result, params?.businessConnectionId).then((v) => v[0]);
287
288
  return assertMessageType(message, "contact");
288
289
  }
289
290
  async sendDice(chatId, params) {
@@ -293,7 +294,7 @@ export class MessageManager {
293
294
  const noforwards = params?.protectContent ? true : undefined;
294
295
  const sendAs = params?.sendAs ? await __classPrivateFieldGet(this, _MessageManager_c, "f").getInputPeer(params.sendAs) : undefined; // TODO: check default sendAs
295
296
  const replyMarkup = await __classPrivateFieldGet(this, _MessageManager_instances, "m", _MessageManager_constructReplyMarkup).call(this, params);
296
- const result = await __classPrivateFieldGet(this, _MessageManager_c, "f").api.messages.sendMedia({
297
+ const result = await __classPrivateFieldGet(this, _MessageManager_c, "f").invoke(new functions.messages.sendMedia({
297
298
  peer,
298
299
  random_id: randomId,
299
300
  silent,
@@ -305,8 +306,8 @@ export class MessageManager {
305
306
  emoticon: params?.emoji ?? "🎲",
306
307
  }),
307
308
  message: "",
308
- });
309
- const message = await __classPrivateFieldGet(this, _MessageManager_instances, "m", _MessageManager_updatesToMessages).call(this, chatId, result).then((v) => v[0]);
309
+ }), params?.businessConnectionId);
310
+ const message = await __classPrivateFieldGet(this, _MessageManager_instances, "m", _MessageManager_updatesToMessages).call(this, chatId, result, params?.businessConnectionId).then((v) => v[0]);
310
311
  return assertMessageType(message, "dice");
311
312
  }
312
313
  async sendLocation(chatId, latitude, longitude, params) {
@@ -316,7 +317,7 @@ export class MessageManager {
316
317
  const noforwards = params?.protectContent ? true : undefined;
317
318
  const sendAs = params?.sendAs ? await __classPrivateFieldGet(this, _MessageManager_c, "f").getInputPeer(params.sendAs) : undefined; // TODO: check default sendAs
318
319
  const replyMarkup = await __classPrivateFieldGet(this, _MessageManager_instances, "m", _MessageManager_constructReplyMarkup).call(this, params);
319
- const result = await __classPrivateFieldGet(this, _MessageManager_c, "f").api.messages.sendMedia({
320
+ const result = await __classPrivateFieldGet(this, _MessageManager_c, "f").invoke(new functions.messages.sendMedia({
320
321
  peer,
321
322
  random_id: randomId,
322
323
  silent,
@@ -343,8 +344,8 @@ export class MessageManager {
343
344
  }),
344
345
  }),
345
346
  message: "",
346
- });
347
- const message = await __classPrivateFieldGet(this, _MessageManager_instances, "m", _MessageManager_updatesToMessages).call(this, chatId, result).then((v) => v[0]);
347
+ }), params?.businessConnectionId);
348
+ const message = await __classPrivateFieldGet(this, _MessageManager_instances, "m", _MessageManager_updatesToMessages).call(this, chatId, result, params?.businessConnectionId).then((v) => v[0]);
348
349
  return assertMessageType(message, "location");
349
350
  }
350
351
  async sendVideoNote(chatId, audio, params) {
@@ -483,7 +484,7 @@ export class MessageManager {
483
484
  solution,
484
485
  solution_entities: solutionEntities,
485
486
  });
486
- const result = await __classPrivateFieldGet(this, _MessageManager_c, "f").api.messages.sendMedia({
487
+ const result = await __classPrivateFieldGet(this, _MessageManager_c, "f").invoke(new functions.messages.sendMedia({
487
488
  peer,
488
489
  random_id: randomId,
489
490
  silent,
@@ -493,8 +494,8 @@ export class MessageManager {
493
494
  send_as: sendAs,
494
495
  media,
495
496
  message: "",
496
- });
497
- const message = await __classPrivateFieldGet(this, _MessageManager_instances, "m", _MessageManager_updatesToMessages).call(this, chatId, result).then((v) => v[0]);
497
+ }), params?.businessConnectionId);
498
+ const message = await __classPrivateFieldGet(this, _MessageManager_instances, "m", _MessageManager_updatesToMessages).call(this, chatId, result, params?.businessConnectionId).then((v) => v[0]);
498
499
  return assertMessageType(message, "poll");
499
500
  }
500
501
  async editMessageReplyMarkup(chatId, messageId, params) {
@@ -573,12 +574,9 @@ export class MessageManager {
573
574
  }
574
575
  }
575
576
  async deleteChatMemberMessages(chatId, memberId) {
576
- const channel = await __classPrivateFieldGet(this, _MessageManager_c, "f").getInputPeer(chatId);
577
- if (!(channel instanceof types.InputPeerChannel)) {
578
- throw new Error("Invalid chat ID");
579
- }
577
+ const channel = await __classPrivateFieldGet(this, _MessageManager_c, "f").getInputChannel(chatId);
580
578
  const participant = await __classPrivateFieldGet(this, _MessageManager_c, "f").getInputPeer(memberId);
581
- await __classPrivateFieldGet(this, _MessageManager_c, "f").api.channels.deleteParticipantHistory({ channel: new types.InputChannel(channel), participant });
579
+ await __classPrivateFieldGet(this, _MessageManager_c, "f").api.channels.deleteParticipantHistory({ channel, participant });
582
580
  }
583
581
  async pinMessage(chatId, messageId, params) {
584
582
  await __classPrivateFieldGet(this, _MessageManager_c, "f").api.messages.updatePinnedMessage({
@@ -633,6 +631,9 @@ export class MessageManager {
633
631
  update instanceof types.UpdateNewChannelMessage ||
634
632
  update instanceof types.UpdateEditMessage ||
635
633
  update instanceof types.UpdateEditChannelMessage ||
634
+ update instanceof types.UpdateBotNewBusinessMessage ||
635
+ update instanceof types.UpdateBotEditBusinessMessage ||
636
+ update instanceof types.UpdateBotDeleteBusinessMessage ||
636
637
  update instanceof types.UpdateDeleteMessages ||
637
638
  update instanceof types.UpdateDeleteChannelMessages ||
638
639
  update instanceof types.UpdateChannelParticipant ||
@@ -648,7 +649,9 @@ export class MessageManager {
648
649
  if (update instanceof types.UpdateNewMessage ||
649
650
  update instanceof types.UpdateNewChannelMessage ||
650
651
  update instanceof types.UpdateEditMessage ||
651
- update instanceof types.UpdateEditChannelMessage) {
652
+ update instanceof types.UpdateEditChannelMessage ||
653
+ update instanceof types.UpdateBotNewBusinessMessage ||
654
+ update instanceof types.UpdateBotEditBusinessMessage) {
652
655
  if (!(update.message instanceof types.MessageEmpty)) {
653
656
  const isOutgoing = update.message.out;
654
657
  let shouldIgnore = isOutgoing ? (await __classPrivateFieldGet(this, _MessageManager_c, "f").storage.getAccountType()) == "user" ? false : true : false;
@@ -656,8 +659,9 @@ export class MessageManager {
656
659
  shouldIgnore = __classPrivateFieldGet(this, _MessageManager_c, "f").ignoreOutgoing;
657
660
  }
658
661
  if (!shouldIgnore) {
659
- const message = await this.constructMessage(update.message);
660
- if (update instanceof types.UpdateNewMessage || update instanceof types.UpdateNewChannelMessage) {
662
+ const business = "connection_id" in update ? { connectionId: update.connection_id, replyToMessage: update.reply_to_message } : undefined;
663
+ const message = await this.constructMessage(update.message, undefined, business);
664
+ if (update instanceof types.UpdateNewMessage || update instanceof types.UpdateNewChannelMessage || update instanceof types.UpdateBotNewBusinessMessage) {
661
665
  return ({ message });
662
666
  }
663
667
  else {
@@ -689,6 +693,11 @@ export class MessageManager {
689
693
  }
690
694
  return { deletedMessages };
691
695
  }
696
+ else if (update instanceof types.UpdateBotDeleteBusinessMessage) {
697
+ const chatId = peerToChatId(update.peer);
698
+ const deletedMessages = update.messages.map((v) => ({ chatId, messageId: v }));
699
+ return { deletedMessages, businessConnectionId: update.connection_id };
700
+ }
692
701
  if (update instanceof types.UpdateChannelParticipant || update instanceof types.UpdateChatParticipant) {
693
702
  const chatMember = await constructChatMemberUpdated(update, __classPrivateFieldGet(this, _MessageManager_c, "f").getEntity);
694
703
  const selfId = await __classPrivateFieldGet(this, _MessageManager_c, "f").getSelfId();
@@ -738,9 +747,9 @@ export class MessageManager {
738
747
  action_ = new types.SendMessageUploadRoundAction({ progress: 0 });
739
748
  break;
740
749
  default:
741
- throw new Error("Invalid chat action: " + action);
750
+ throw new InputError(`Invalid chat action: ${action}`);
742
751
  }
743
- await __classPrivateFieldGet(this, _MessageManager_c, "f").api.messages.setTyping({ peer: await __classPrivateFieldGet(this, _MessageManager_c, "f").getInputPeer(chatId), action: action_, top_msg_id: params?.messageThreadId });
752
+ await __classPrivateFieldGet(this, _MessageManager_c, "f").invoke(new functions.messages.setTyping({ peer: await __classPrivateFieldGet(this, _MessageManager_c, "f").getInputPeer(chatId), action: action_, top_msg_id: params?.messageThreadId }), params?.businessConnectionId);
744
753
  }
745
754
  async deleteChatPhoto(chatId) {
746
755
  const peer = await __classPrivateFieldGet(this, _MessageManager_c, "f").getInputPeer(chatId);
@@ -772,7 +781,7 @@ export class MessageManager {
772
781
  async banChatMember(chatId, memberId, params) {
773
782
  const chat = await __classPrivateFieldGet(this, _MessageManager_c, "f").getInputPeer(chatId);
774
783
  if (!(chat instanceof types.InputPeerChannel) && !(chat instanceof types.InputPeerChat)) {
775
- throw new Error("Invalid chat ID");
784
+ throw new InputError("Expected a channel, supergroup, or group ID.");
776
785
  }
777
786
  const member = await __classPrivateFieldGet(this, _MessageManager_c, "f").getInputPeer(memberId);
778
787
  if (chat instanceof types.InputPeerChannel) {
@@ -802,7 +811,7 @@ export class MessageManager {
802
811
  }
803
812
  else if (chat instanceof types.InputPeerChat) {
804
813
  if (!(member instanceof types.InputPeerUser)) {
805
- throw new Error("Invalid user ID");
814
+ throw new InputError(`Invalid user ID: ${memberId}`);
806
815
  }
807
816
  await __classPrivateFieldGet(this, _MessageManager_c, "f").api.messages.deleteChatUser({
808
817
  chat_id: chat.chat_id,
@@ -812,25 +821,19 @@ export class MessageManager {
812
821
  }
813
822
  }
814
823
  async unbanChatMember(chatId, memberId) {
815
- const chat = await __classPrivateFieldGet(this, _MessageManager_c, "f").getInputPeer(chatId);
816
- if (!(chat instanceof types.InputPeerChannel)) {
817
- throw new Error("Invalid chat ID");
818
- }
824
+ const channel = await __classPrivateFieldGet(this, _MessageManager_c, "f").getInputChannel(chatId);
819
825
  const member = await __classPrivateFieldGet(this, _MessageManager_c, "f").getInputPeer(memberId);
820
826
  await __classPrivateFieldGet(this, _MessageManager_c, "f").api.channels.editBanned({
821
- channel: new types.InputChannel(chat),
827
+ channel,
822
828
  participant: member,
823
829
  banned_rights: new types.ChatBannedRights({ until_date: 0 }),
824
830
  });
825
831
  }
826
832
  async setChatMemberRights(chatId, memberId, params) {
827
- const chat = await __classPrivateFieldGet(this, _MessageManager_c, "f").getInputPeer(chatId);
828
- if (!(chat instanceof types.InputPeerChannel)) {
829
- throw new Error("Invalid chat ID");
830
- }
833
+ const channel = await __classPrivateFieldGet(this, _MessageManager_c, "f").getInputChannel(chatId);
831
834
  const member = await __classPrivateFieldGet(this, _MessageManager_c, "f").getInputPeer(memberId);
832
835
  await __classPrivateFieldGet(this, _MessageManager_c, "f").api.channels.editBanned({
833
- channel: new types.InputChannel(chat),
836
+ channel,
834
837
  participant: member,
835
838
  banned_rights: chatMemberRightsToTlObject(params?.rights, params?.untilDate),
836
839
  });
@@ -909,7 +912,7 @@ export class MessageManager {
909
912
  }
910
913
  async createInviteLink(chatId, params) {
911
914
  if (params?.requireApproval && params?.limit) {
912
- throw new Error("createInviteLink: requireApproval cannot be true while limit is specified");
915
+ throw new InputError("requireApproval cannot be true while limit is specified.");
913
916
  }
914
917
  const result = await __classPrivateFieldGet(this, _MessageManager_c, "f").api.messages.exportChatInvite({
915
918
  peer: await __classPrivateFieldGet(this, _MessageManager_c, "f").getInputPeer(chatId),
@@ -936,7 +939,7 @@ export class MessageManager {
936
939
  await __classPrivateFieldGet(this, _MessageManager_c, "f").storage.assertUser("joinChat");
937
940
  const peer = await __classPrivateFieldGet(this, _MessageManager_c, "f").getInputPeer(chatId);
938
941
  if (peer instanceof types.InputPeerUser) {
939
- throw new Error("joinChat: cannot join private chats");
942
+ throw new InputError("Cannot join private chats.");
940
943
  }
941
944
  else if (peer instanceof types.InputPeerChannel) {
942
945
  await __classPrivateFieldGet(this, _MessageManager_c, "f").api.channels.joinChannel({ channel: new types.InputChannel(peer) });
@@ -951,7 +954,7 @@ export class MessageManager {
951
954
  async leaveChat(chatId) {
952
955
  const peer = await __classPrivateFieldGet(this, _MessageManager_c, "f").getInputPeer(chatId);
953
956
  if (peer instanceof types.InputPeerUser) {
954
- throw new Error("leaveChat: cannot leave private chats");
957
+ throw new InputError("Cannot leave private chats.");
955
958
  }
956
959
  else if (peer instanceof types.InputPeerChannel) {
957
960
  await __classPrivateFieldGet(this, _MessageManager_c, "f").api.channels.leaveChannel({ channel: new types.InputChannel(peer) });
@@ -967,7 +970,7 @@ export class MessageManager {
967
970
  await __classPrivateFieldGet(this, _MessageManager_c, "f").storage.assertUser("blockUser");
968
971
  const id = await __classPrivateFieldGet(this, _MessageManager_c, "f").getInputPeer(userId);
969
972
  if (!(id instanceof types.User)) {
970
- throw new Error("blockUser: only users can be blocked or unblocked");
973
+ throw new InputError("Only users can be blocked or unblocked.");
971
974
  }
972
975
  await __classPrivateFieldGet(this, _MessageManager_c, "f").api.contacts.block({ id });
973
976
  }
@@ -975,7 +978,7 @@ export class MessageManager {
975
978
  await __classPrivateFieldGet(this, _MessageManager_c, "f").storage.assertUser("unblockUser");
976
979
  const id = await __classPrivateFieldGet(this, _MessageManager_c, "f").getInputPeer(userId);
977
980
  if (!(id instanceof types.User)) {
978
- throw new Error("unblockUser: only users can be blocked or unblocked");
981
+ throw new InputError("Only users can be blocked or unblocked.");
979
982
  }
980
983
  await __classPrivateFieldGet(this, _MessageManager_c, "f").api.contacts.unblock({ id });
981
984
  }
@@ -995,7 +998,7 @@ export class MessageManager {
995
998
  return await constructChatMember(participant, __classPrivateFieldGet(this, _MessageManager_c, "f").getEntity);
996
999
  }
997
1000
  else {
998
- throw new Error("Invalid chat ID");
1001
+ throw new InputError("Expected a channel, supergroup, or group ID. Got a user ID instead.");
999
1002
  }
1000
1003
  }
1001
1004
  async setChatStickerSet(chatId, setName) {
@@ -1008,24 +1011,30 @@ export class MessageManager {
1008
1011
  }
1009
1012
  async stopPoll(chatId, messageId, params) {
1010
1013
  const message = await this.getMessage(chatId, messageId);
1011
- if (message && "poll" in message && !message.poll.isClosed) {
1012
- const result = await __classPrivateFieldGet(this, _MessageManager_c, "f").api.messages.editMessage({
1013
- peer: await __classPrivateFieldGet(this, _MessageManager_c, "f").getInputPeer(chatId),
1014
- id: messageId,
1015
- media: new types.InputMediaPoll({
1016
- poll: new types.Poll({
1017
- id: BigInt(message.poll.id),
1018
- closed: true,
1019
- question: "",
1020
- answers: [],
1021
- }),
1022
- }),
1023
- reply_markup: await __classPrivateFieldGet(this, _MessageManager_instances, "m", _MessageManager_constructReplyMarkup).call(this, params),
1024
- });
1025
- const message_ = await __classPrivateFieldGet(this, _MessageManager_instances, "m", _MessageManager_updatesToMessages).call(this, chatId, result).then((v) => v[0]);
1026
- return assertMessageType(message_, "poll").poll;
1014
+ if (!message) {
1015
+ throw new InputError("Message not found.");
1027
1016
  }
1028
- UNREACHABLE();
1017
+ if (!("poll" in message)) {
1018
+ throw new InputError("Message is not a poll.");
1019
+ }
1020
+ if (message.poll.isClosed) {
1021
+ throw new InputError("Poll is already stopped.");
1022
+ }
1023
+ const result = await __classPrivateFieldGet(this, _MessageManager_c, "f").api.messages.editMessage({
1024
+ peer: await __classPrivateFieldGet(this, _MessageManager_c, "f").getInputPeer(chatId),
1025
+ id: messageId,
1026
+ media: new types.InputMediaPoll({
1027
+ poll: new types.Poll({
1028
+ id: BigInt(message.poll.id),
1029
+ closed: true,
1030
+ question: "",
1031
+ answers: [],
1032
+ }),
1033
+ }),
1034
+ reply_markup: await __classPrivateFieldGet(this, _MessageManager_instances, "m", _MessageManager_constructReplyMarkup).call(this, params),
1035
+ });
1036
+ const message_ = await __classPrivateFieldGet(this, _MessageManager_instances, "m", _MessageManager_updatesToMessages).call(this, chatId, result).then((v) => v[0]);
1037
+ return assertMessageType(message_, "poll").poll;
1029
1038
  }
1030
1039
  async editMessageLiveLocation(chatId, messageId, latitude, longitude, params) {
1031
1040
  const message = await this.getMessage(chatId, messageId);
@@ -1067,7 +1076,7 @@ export class MessageManager {
1067
1076
  });
1068
1077
  }
1069
1078
  }
1070
- _MessageManager_c = new WeakMap(), _MessageManager_LresolveFileId = new WeakMap(), _MessageManager_instances = new WeakSet(), _MessageManager_updatesToMessages = async function _MessageManager_updatesToMessages(chatId, updates) {
1079
+ _MessageManager_c = new WeakMap(), _MessageManager_LresolveFileId = new WeakMap(), _MessageManager_instances = new WeakSet(), _MessageManager_updatesToMessages = async function _MessageManager_updatesToMessages(chatId, updates, businessConnectionId) {
1071
1080
  const messages = new Array();
1072
1081
  if (updates instanceof types.Updates) {
1073
1082
  for (const update of updates.updates) {
@@ -1080,6 +1089,12 @@ _MessageManager_c = new WeakMap(), _MessageManager_LresolveFileId = new WeakMap(
1080
1089
  else if (update instanceof types.UpdateNewChannelMessage || update instanceof types.UpdateEditChannelMessage) {
1081
1090
  messages.push(await this.constructMessage(update.message));
1082
1091
  }
1092
+ else if (update instanceof types.UpdateBotNewBusinessMessage) {
1093
+ messages.push(await this.constructMessage(update.message, false, { connectionId: businessConnectionId ?? update.connection_id, replyToMessage: update.reply_to_message }));
1094
+ }
1095
+ else if (update instanceof types.UpdateBotEditBusinessMessage) {
1096
+ messages.push(await this.constructMessage(update.message, false, { connectionId: businessConnectionId ?? update.connection_id, replyToMessage: update.reply_to_message }));
1097
+ }
1083
1098
  }
1084
1099
  }
1085
1100
  else if (updates instanceof types.UpdateShortSentMessage) {
@@ -1120,7 +1135,7 @@ _MessageManager_c = new WeakMap(), _MessageManager_LresolveFileId = new WeakMap(
1120
1135
  if (media == null) {
1121
1136
  if (typeof document === "string" && isHttpUrl(document)) {
1122
1137
  if (!urlSupported) {
1123
- throw new Error("URL not supported");
1138
+ throw new InputError("URL not supported.");
1124
1139
  }
1125
1140
  media = new types.InputMediaDocumentExternal({ url: document, spoiler });
1126
1141
  }
@@ -1163,7 +1178,7 @@ _MessageManager_c = new WeakMap(), _MessageManager_LresolveFileId = new WeakMap(
1163
1178
  const parseResult = caption_ !== undefined ? await this.parseText(caption_, { parseMode: params?.parseMode, entities: params?.captionEntities }) : undefined;
1164
1179
  const caption = parseResult === undefined ? undefined : parseResult[0];
1165
1180
  const captionEntities = parseResult === undefined ? undefined : parseResult[1];
1166
- const result = await __classPrivateFieldGet(this, _MessageManager_c, "f").api.messages.sendMedia({
1181
+ const result = await __classPrivateFieldGet(this, _MessageManager_c, "f").invoke(new functions.messages.sendMedia({
1167
1182
  peer,
1168
1183
  random_id: randomId,
1169
1184
  silent,
@@ -1174,8 +1189,8 @@ _MessageManager_c = new WeakMap(), _MessageManager_LresolveFileId = new WeakMap(
1174
1189
  media,
1175
1190
  message: caption ?? "",
1176
1191
  entities: captionEntities,
1177
- });
1178
- return await __classPrivateFieldGet(this, _MessageManager_instances, "m", _MessageManager_updatesToMessages).call(this, chatId, result).then((v) => v[0]);
1192
+ }), params?.businessConnectionId);
1193
+ return await __classPrivateFieldGet(this, _MessageManager_instances, "m", _MessageManager_updatesToMessages).call(this, chatId, result, params?.businessConnectionId).then((v) => v[0]);
1179
1194
  }, _MessageManager_sendReaction = async function _MessageManager_sendReaction(chatId, messageId, reactions, params) {
1180
1195
  await __classPrivateFieldGet(this, _MessageManager_c, "f").api.messages.sendReaction({
1181
1196
  peer: await __classPrivateFieldGet(this, _MessageManager_c, "f").getInputPeer(chatId),
@@ -10,6 +10,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
10
10
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
11
  };
12
12
  var _ChatListManager_instances, _ChatListManager_c, _ChatListManager_LgetChats, _ChatListManager_sendChatUpdate, _ChatListManager_chats, _ChatListManager_archivedChats, _ChatListManager_chatsLoadedFromStorage, _ChatListManager_tryGetChatId, _ChatListManager_getChatAnywhere, _ChatListManager_getChatList, _ChatListManager_loadChatsFromStorage, _ChatListManager_getLoadedChats, _ChatListManager_pinnedChats, _ChatListManager_pinnedArchiveChats, _ChatListManager_storageHadPinnedChats, _ChatListManager_pinnedChatsLoaded, _ChatListManager_loadPinnedChats, _ChatListManager_fetchPinnedChats, _ChatListManager_getPinnedChats, _ChatListManager_updateOrAddChat, _ChatListManager_removeChat, _ChatListManager_handleUpdateFolderPeers, _ChatListManager_handleUpdatePinnedDialogs, _ChatListManager_handleUpdateChannel, _ChatListManager_handleUpdateChat, _ChatListManager_handleUpdateUser, _ChatListManager_fetchChats;
13
+ import { InputError } from "../0_errors.js";
13
14
  import { getLogger, toUnixTimestamp, UNREACHABLE } from "../1_utilities.js";
14
15
  import { as, peerToChatId, types } from "../2_tl.js";
15
16
  import { constructChat, constructChat2, constructChat3, constructChat4, getChatOrder } from "../3_types.js";
@@ -98,7 +99,7 @@ export class ChatListManager {
98
99
  await __classPrivateFieldGet(this, _ChatListManager_instances, "m", _ChatListManager_loadChatsFromStorage).call(this);
99
100
  }
100
101
  if (after && !__classPrivateFieldGet(this, _ChatListManager_chats, "f").get(after.id)) {
101
- throw new Error("Invalid after");
102
+ throw new InputError("Invalid after");
102
103
  }
103
104
  if (limit <= 0 || limit > 100) {
104
105
  limit = 100;
@@ -258,7 +259,7 @@ _ChatListManager_c = new WeakMap(), _ChatListManager_LgetChats = new WeakMap(),
258
259
  case 1:
259
260
  return __classPrivateFieldGet(this, _ChatListManager_archivedChats, "f");
260
261
  default:
261
- throw new Error("Invalid chat list: " + listId);
262
+ throw new Error(`Invalid chat list: ${listId}`);
262
263
  }
263
264
  }, _ChatListManager_loadChatsFromStorage = async function _ChatListManager_loadChatsFromStorage() {
264
265
  const chats = await __classPrivateFieldGet(this, _ChatListManager_c, "f").storage.getChats(0);
@@ -11,6 +11,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
11
11
  };
12
12
  var _StoryManager_instances, _StoryManager_c, _StoryManager_updatesToStory, _StoryManager_togglePinned;
13
13
  import { contentType } from "../0_deps.js";
14
+ import { InputError } from "../0_errors.js";
14
15
  import { getRandomId, UNREACHABLE } from "../1_utilities.js";
15
16
  import { as, inputPeerToPeer, peerToChatId, types } from "../2_tl.js";
16
17
  import { constructStory, FileType, storyInteractiveAreaToTlObject, storyPrivacyToTlObject } from "../3_types.js";
@@ -35,7 +36,7 @@ export class StoryManager {
35
36
  }
36
37
  if (media == null) {
37
38
  if (typeof source === "string" && isHttpUrl(source)) {
38
- throw new Error("URL not supported");
39
+ throw new InputError("URL not supported.");
39
40
  }
40
41
  else {
41
42
  const [contents, fileName_] = await getFileContents(source);