@mtcute/core 0.10.2 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1309) hide show
  1. package/cjs/highlevel/base.d.ts +1 -1
  2. package/cjs/highlevel/base.js +29 -23
  3. package/cjs/highlevel/base.js.map +1 -1
  4. package/cjs/highlevel/client.d.ts +199 -18
  5. package/cjs/highlevel/client.js +54 -0
  6. package/cjs/highlevel/client.js.map +1 -1
  7. package/cjs/highlevel/managers/app-config-manager.js +7 -5
  8. package/cjs/highlevel/managers/app-config-manager.js.map +1 -1
  9. package/cjs/highlevel/methods/_imports.js.map +1 -1
  10. package/cjs/highlevel/methods/_init.js.map +1 -1
  11. package/cjs/highlevel/methods/auth/start-test.js.map +1 -1
  12. package/cjs/highlevel/methods/auth/start.js.map +1 -1
  13. package/cjs/highlevel/methods/auth/utils.d.ts +3 -0
  14. package/cjs/highlevel/methods/auth/utils.js.map +1 -1
  15. package/cjs/highlevel/methods/bots/get-callback-answer.js.map +1 -1
  16. package/cjs/highlevel/methods/bots/get-game-high-scores.js.map +1 -1
  17. package/cjs/highlevel/methods/bots/normalize-command-scope.d.ts +5 -1
  18. package/cjs/highlevel/methods/bots/normalize-command-scope.js.map +1 -1
  19. package/cjs/highlevel/methods/bots/set-my-commands.js.map +1 -1
  20. package/cjs/highlevel/methods/chats/add-chat-members.js.map +1 -1
  21. package/cjs/highlevel/methods/chats/ban-chat-member.js.map +1 -1
  22. package/cjs/highlevel/methods/chats/batched-queries.d.ts +10 -1
  23. package/cjs/highlevel/methods/chats/batched-queries.js.map +1 -1
  24. package/cjs/highlevel/methods/chats/delete-chat-photo.js.map +1 -1
  25. package/cjs/highlevel/methods/chats/delete-history.js.map +1 -1
  26. package/cjs/highlevel/methods/chats/get-chat-event-log.js.map +1 -1
  27. package/cjs/highlevel/methods/chats/get-chat-member.js.map +1 -1
  28. package/cjs/highlevel/methods/chats/get-chat-members.js.map +1 -1
  29. package/cjs/highlevel/methods/chats/get-chat-preview.js.map +1 -1
  30. package/cjs/highlevel/methods/chats/get-chat.js.map +1 -1
  31. package/cjs/highlevel/methods/chats/get-full-chat.d.ts +2 -2
  32. package/cjs/highlevel/methods/chats/get-full-chat.js +1 -1
  33. package/cjs/highlevel/methods/chats/get-full-chat.js.map +1 -1
  34. package/cjs/highlevel/methods/chats/get-nearby-chats.js.map +1 -1
  35. package/cjs/highlevel/methods/chats/get-similar-channels.js.map +1 -1
  36. package/cjs/highlevel/methods/chats/iter-chat-event-log.js.map +1 -1
  37. package/cjs/highlevel/methods/chats/iter-chat-members.js.map +1 -1
  38. package/cjs/highlevel/methods/chats/join-chat.js.map +1 -1
  39. package/cjs/highlevel/methods/chats/kick-chat-member.js.map +1 -1
  40. package/cjs/highlevel/methods/chats/leave-chat.js.map +1 -1
  41. package/cjs/highlevel/methods/chats/open-chat.js.map +1 -1
  42. package/cjs/highlevel/methods/chats/reorder-usernames.js.map +1 -1
  43. package/cjs/highlevel/methods/chats/restrict-chat-member.js.map +1 -1
  44. package/cjs/highlevel/methods/chats/save-draft.js.map +1 -1
  45. package/cjs/highlevel/methods/chats/set-chat-color.js.map +1 -1
  46. package/cjs/highlevel/methods/chats/set-chat-photo.js.map +1 -1
  47. package/cjs/highlevel/methods/chats/set-chat-title.js.map +1 -1
  48. package/cjs/highlevel/methods/chats/toggle-fragment-username.js.map +1 -1
  49. package/cjs/highlevel/methods/chats/unarchive-chats.js.map +1 -1
  50. package/cjs/highlevel/methods/chats/unban-chat-member.js.map +1 -1
  51. package/cjs/highlevel/methods/contacts/delete-contacts.js.map +1 -1
  52. package/cjs/highlevel/methods/dialogs/create-folder.js.map +1 -1
  53. package/cjs/highlevel/methods/dialogs/edit-folder.js.map +1 -1
  54. package/cjs/highlevel/methods/dialogs/find-folder.js.map +1 -1
  55. package/cjs/highlevel/methods/dialogs/get-folders.d.ts +3 -0
  56. package/cjs/highlevel/methods/dialogs/get-folders.js.map +1 -1
  57. package/cjs/highlevel/methods/dialogs/iter-dialogs.js.map +1 -1
  58. package/cjs/highlevel/methods/files/download-buffer.js.map +1 -1
  59. package/cjs/highlevel/methods/files/download-iterable.js +1 -1
  60. package/cjs/highlevel/methods/files/download-iterable.js.map +1 -1
  61. package/cjs/highlevel/methods/files/download-node-stream.js.map +1 -1
  62. package/cjs/highlevel/methods/files/download-stream.js.map +1 -1
  63. package/cjs/highlevel/methods/files/normalize-file-to-document.d.ts +9 -1
  64. package/cjs/highlevel/methods/files/normalize-file-to-document.js.map +1 -1
  65. package/cjs/highlevel/methods/files/normalize-input-file.js.map +1 -1
  66. package/cjs/highlevel/methods/files/normalize-input-media.d.ts +1 -0
  67. package/cjs/highlevel/methods/files/normalize-input-media.js +12 -12
  68. package/cjs/highlevel/methods/files/normalize-input-media.js.map +1 -1
  69. package/cjs/highlevel/methods/files/upload-file.js +7 -6
  70. package/cjs/highlevel/methods/files/upload-file.js.map +1 -1
  71. package/cjs/highlevel/methods/files/upload-media.js.map +1 -1
  72. package/cjs/highlevel/methods/forums/iter-forum-topics.js.map +1 -1
  73. package/cjs/highlevel/methods/invite-links/get-primary-invite-link.js.map +1 -1
  74. package/cjs/highlevel/methods/invite-links/iter-invite-link-members.js.map +1 -1
  75. package/cjs/highlevel/methods/invite-links/iter-invite-links.js.map +1 -1
  76. package/cjs/highlevel/methods/messages/_business-connection.d.ts +7 -0
  77. package/cjs/highlevel/methods/messages/_business-connection.js +42 -0
  78. package/cjs/highlevel/methods/messages/_business-connection.js.map +1 -0
  79. package/cjs/highlevel/methods/messages/close-poll.js +1 -1
  80. package/cjs/highlevel/methods/messages/close-poll.js.map +1 -1
  81. package/cjs/highlevel/methods/messages/delete-messages.js.map +1 -1
  82. package/cjs/highlevel/methods/messages/edit-inline-message.js.map +1 -1
  83. package/cjs/highlevel/methods/messages/edit-message.d.ts +1 -0
  84. package/cjs/highlevel/methods/messages/edit-message.js +2 -1
  85. package/cjs/highlevel/methods/messages/edit-message.js.map +1 -1
  86. package/cjs/highlevel/methods/messages/find-in-update.d.ts +13 -1
  87. package/cjs/highlevel/methods/messages/find-in-update.js +7 -2
  88. package/cjs/highlevel/methods/messages/find-in-update.js.map +1 -1
  89. package/cjs/highlevel/methods/messages/forward-messages.d.ts +5 -0
  90. package/cjs/highlevel/methods/messages/forward-messages.js +2 -0
  91. package/cjs/highlevel/methods/messages/forward-messages.js.map +1 -1
  92. package/cjs/highlevel/methods/messages/get-all-scheduled-messages.d.ts +8 -0
  93. package/cjs/highlevel/methods/messages/get-all-scheduled-messages.js +32 -0
  94. package/cjs/highlevel/methods/messages/get-all-scheduled-messages.js.map +1 -0
  95. package/cjs/highlevel/methods/messages/get-callback-query-message.js.map +1 -1
  96. package/cjs/highlevel/methods/messages/get-discussion-message.d.ts +4 -0
  97. package/cjs/highlevel/methods/messages/get-discussion-message.js.map +1 -1
  98. package/cjs/highlevel/methods/messages/get-history.js +5 -1
  99. package/cjs/highlevel/methods/messages/get-history.js.map +1 -1
  100. package/cjs/highlevel/methods/messages/get-message-by-link.js.map +1 -1
  101. package/cjs/highlevel/methods/messages/get-message-group.js.map +1 -1
  102. package/cjs/highlevel/methods/messages/get-message-reactions.js.map +1 -1
  103. package/cjs/highlevel/methods/messages/get-messages.js.map +1 -1
  104. package/cjs/highlevel/methods/messages/get-reply-to.js.map +1 -1
  105. package/cjs/highlevel/methods/messages/iter-history.js.map +1 -1
  106. package/cjs/highlevel/methods/messages/iter-reaction-users.js.map +1 -1
  107. package/cjs/highlevel/methods/messages/iter-search-global.js +2 -1
  108. package/cjs/highlevel/methods/messages/iter-search-global.js.map +1 -1
  109. package/cjs/highlevel/methods/messages/iter-search-messages.js.map +1 -1
  110. package/cjs/highlevel/methods/messages/read-history.js.map +1 -1
  111. package/cjs/highlevel/methods/messages/search-global.d.ts +4 -0
  112. package/cjs/highlevel/methods/messages/search-global.js +2 -1
  113. package/cjs/highlevel/methods/messages/search-global.js.map +1 -1
  114. package/cjs/highlevel/methods/messages/send-answer.js.map +1 -1
  115. package/cjs/highlevel/methods/messages/send-comment.js.map +1 -1
  116. package/cjs/highlevel/methods/messages/send-common.d.ts +28 -0
  117. package/cjs/highlevel/methods/messages/send-common.js +21 -1
  118. package/cjs/highlevel/methods/messages/send-common.js.map +1 -1
  119. package/cjs/highlevel/methods/messages/send-copy-group.js.map +1 -1
  120. package/cjs/highlevel/methods/messages/send-copy.js.map +1 -1
  121. package/cjs/highlevel/methods/messages/send-media-group.js +5 -2
  122. package/cjs/highlevel/methods/messages/send-media-group.js.map +1 -1
  123. package/cjs/highlevel/methods/messages/send-media.js +4 -2
  124. package/cjs/highlevel/methods/messages/send-media.js.map +1 -1
  125. package/cjs/highlevel/methods/messages/send-quote.js.map +1 -1
  126. package/cjs/highlevel/methods/messages/send-text.js +4 -2
  127. package/cjs/highlevel/methods/messages/send-text.js.map +1 -1
  128. package/cjs/highlevel/methods/messages/send-typing.d.ts +4 -0
  129. package/cjs/highlevel/methods/messages/send-typing.js +2 -1
  130. package/cjs/highlevel/methods/messages/send-typing.js.map +1 -1
  131. package/cjs/highlevel/methods/messages/send-vote.js.map +1 -1
  132. package/cjs/highlevel/methods/messages/translate-text.js.map +1 -1
  133. package/cjs/highlevel/methods/messages/unpin-all-messages.js.map +1 -1
  134. package/cjs/highlevel/methods/misc/chain-id.d.ts +4 -1
  135. package/cjs/highlevel/methods/misc/get-collectible-info.d.ts +6 -0
  136. package/cjs/highlevel/methods/misc/get-collectible-info.js +26 -0
  137. package/cjs/highlevel/methods/misc/get-collectible-info.js.map +1 -0
  138. package/cjs/highlevel/methods/misc/normalize-privacy-rules.js.map +1 -1
  139. package/cjs/highlevel/methods/misc/normalize-text.d.ts +5 -1
  140. package/cjs/highlevel/methods/misc/normalize-text.js.map +1 -1
  141. package/cjs/highlevel/methods/misc/with-params.js.map +1 -1
  142. package/cjs/highlevel/methods/password/change-cloud-password.js.map +1 -1
  143. package/cjs/highlevel/methods/password/enable-cloud-password.js.map +1 -1
  144. package/cjs/highlevel/methods/password/remove-cloud-password.js.map +1 -1
  145. package/cjs/highlevel/methods/premium/can-apply-boost.js.map +1 -1
  146. package/cjs/highlevel/methods/premium/create-business-chat-link.d.ts +12 -0
  147. package/cjs/highlevel/methods/premium/create-business-chat-link.js +26 -0
  148. package/cjs/highlevel/methods/premium/create-business-chat-link.js.map +1 -0
  149. package/cjs/highlevel/methods/premium/edit-business-chat-link.d.ts +20 -0
  150. package/cjs/highlevel/methods/premium/edit-business-chat-link.js +42 -0
  151. package/cjs/highlevel/methods/premium/edit-business-chat-link.js.map +1 -0
  152. package/cjs/highlevel/methods/premium/get-business-chat-links.d.ts +6 -0
  153. package/cjs/highlevel/methods/premium/get-business-chat-links.js +14 -0
  154. package/cjs/highlevel/methods/premium/get-business-chat-links.js.map +1 -0
  155. package/cjs/highlevel/methods/premium/get-business-connection.d.ts +8 -0
  156. package/cjs/highlevel/methods/premium/get-business-connection.js +25 -0
  157. package/cjs/highlevel/methods/premium/get-business-connection.js.map +1 -0
  158. package/cjs/highlevel/methods/premium/iter-boosters.js.map +1 -1
  159. package/cjs/highlevel/methods/premium/set-business-intro.d.ts +22 -0
  160. package/cjs/highlevel/methods/premium/set-business-intro.js +42 -0
  161. package/cjs/highlevel/methods/premium/set-business-intro.js.map +1 -0
  162. package/cjs/highlevel/methods/premium/set-business-work-hours.d.ts +18 -0
  163. package/cjs/highlevel/methods/premium/set-business-work-hours.js +33 -0
  164. package/cjs/highlevel/methods/premium/set-business-work-hours.js.map +1 -0
  165. package/cjs/highlevel/methods/stickers/_utils.d.ts +10 -0
  166. package/cjs/highlevel/methods/stickers/_utils.js +27 -0
  167. package/cjs/highlevel/methods/stickers/_utils.js.map +1 -0
  168. package/cjs/highlevel/methods/stickers/add-sticker-to-set.d.ts +1 -2
  169. package/cjs/highlevel/methods/stickers/add-sticker-to-set.js +3 -17
  170. package/cjs/highlevel/methods/stickers/add-sticker-to-set.js.map +1 -1
  171. package/cjs/highlevel/methods/stickers/create-sticker-set.d.ts +0 -3
  172. package/cjs/highlevel/methods/stickers/create-sticker-set.js +2 -19
  173. package/cjs/highlevel/methods/stickers/create-sticker-set.js.map +1 -1
  174. package/cjs/highlevel/methods/stickers/delete-sticker-from-set.d.ts +1 -2
  175. package/cjs/highlevel/methods/stickers/delete-sticker-from-set.js +1 -2
  176. package/cjs/highlevel/methods/stickers/delete-sticker-from-set.js.map +1 -1
  177. package/cjs/highlevel/methods/stickers/get-custom-emojis.js.map +1 -1
  178. package/cjs/highlevel/methods/stickers/get-installed-stickers.d.ts +1 -2
  179. package/cjs/highlevel/methods/stickers/get-installed-stickers.js +1 -2
  180. package/cjs/highlevel/methods/stickers/get-installed-stickers.js.map +1 -1
  181. package/cjs/highlevel/methods/stickers/get-my-sticker-sets.d.ts +13 -0
  182. package/cjs/highlevel/methods/stickers/get-my-sticker-sets.js +24 -0
  183. package/cjs/highlevel/methods/stickers/get-my-sticker-sets.js.map +1 -0
  184. package/cjs/highlevel/methods/stickers/get-sticker-set.d.ts +2 -2
  185. package/cjs/highlevel/methods/stickers/get-sticker-set.js +2 -2
  186. package/cjs/highlevel/methods/stickers/get-sticker-set.js.map +1 -1
  187. package/cjs/highlevel/methods/stickers/move-sticker-in-set.d.ts +2 -3
  188. package/cjs/highlevel/methods/stickers/move-sticker-in-set.js +2 -3
  189. package/cjs/highlevel/methods/stickers/move-sticker-in-set.js.map +1 -1
  190. package/cjs/highlevel/methods/stickers/replace-sticker-in-set.d.ts +24 -0
  191. package/cjs/highlevel/methods/stickers/replace-sticker-in-set.js +32 -0
  192. package/cjs/highlevel/methods/stickers/replace-sticker-in-set.js.map +1 -0
  193. package/cjs/highlevel/methods/stories/can-send-story.js.map +1 -1
  194. package/cjs/highlevel/methods/stories/edit-story.js.map +1 -1
  195. package/cjs/highlevel/methods/stories/find-in-update.d.ts +5 -1
  196. package/cjs/highlevel/methods/stories/find-in-update.js.map +1 -1
  197. package/cjs/highlevel/methods/stories/hide-my-stories-views.js.map +1 -1
  198. package/cjs/highlevel/methods/stories/iter-all-stories.js.map +1 -1
  199. package/cjs/highlevel/methods/stories/iter-profile-stories.js.map +1 -1
  200. package/cjs/highlevel/methods/stories/iter-story-viewers.js.map +1 -1
  201. package/cjs/highlevel/methods/stories/send-story.js.map +1 -1
  202. package/cjs/highlevel/methods/users/delete-profile-photos.js.map +1 -1
  203. package/cjs/highlevel/methods/users/get-users.js.map +1 -1
  204. package/cjs/highlevel/methods/users/iter-profile-photos.js.map +1 -1
  205. package/cjs/highlevel/methods/users/resolve-peer-many.js.map +1 -1
  206. package/cjs/highlevel/methods/users/resolve-peer.js.map +1 -1
  207. package/cjs/highlevel/methods/users/set-my-birthday.d.ts +12 -0
  208. package/cjs/highlevel/methods/users/set-my-birthday.js +22 -0
  209. package/cjs/highlevel/methods/users/set-my-birthday.js.map +1 -0
  210. package/cjs/highlevel/methods/users/set-my-emoji-status.js.map +1 -1
  211. package/cjs/highlevel/methods/users/set-my-profile-photo.js.map +1 -1
  212. package/cjs/highlevel/methods.d.ts +12 -0
  213. package/cjs/highlevel/methods.js +33 -3
  214. package/cjs/highlevel/methods.js.map +1 -1
  215. package/cjs/highlevel/storage/service/current-user.js +2 -0
  216. package/cjs/highlevel/storage/service/current-user.js.map +1 -1
  217. package/cjs/highlevel/storage/service/peers.js +5 -1
  218. package/cjs/highlevel/storage/service/peers.js.map +1 -1
  219. package/cjs/highlevel/storage/service/ref-messages.js +3 -0
  220. package/cjs/highlevel/storage/service/ref-messages.js.map +1 -1
  221. package/cjs/highlevel/storage/service/updates.js +1 -0
  222. package/cjs/highlevel/storage/service/updates.js.map +1 -1
  223. package/cjs/highlevel/storage/storage.d.ts +8 -3
  224. package/cjs/highlevel/storage/storage.js +17 -4
  225. package/cjs/highlevel/storage/storage.js.map +1 -1
  226. package/cjs/highlevel/types/auth/sent-code.d.ts +7 -2
  227. package/cjs/highlevel/types/auth/sent-code.js +15 -0
  228. package/cjs/highlevel/types/auth/sent-code.js.map +1 -1
  229. package/cjs/highlevel/types/bots/game-high-score.js +2 -0
  230. package/cjs/highlevel/types/bots/game-high-score.js.map +1 -1
  231. package/cjs/highlevel/types/bots/inline-message/factories.d.ts +5 -1
  232. package/cjs/highlevel/types/bots/inline-message/factories.js.map +1 -1
  233. package/cjs/highlevel/types/bots/inline-result/factories.d.ts +4 -1
  234. package/cjs/highlevel/types/bots/inline-result/factories.js.map +1 -1
  235. package/cjs/highlevel/types/bots/keyboards/builder.js +2 -1
  236. package/cjs/highlevel/types/bots/keyboards/builder.js.map +1 -1
  237. package/cjs/highlevel/types/bots/keyboards/factories.d.ts +7 -1
  238. package/cjs/highlevel/types/bots/keyboards/factories.js.map +1 -1
  239. package/cjs/highlevel/types/calls/discard-reason.d.ts +5 -0
  240. package/cjs/highlevel/types/calls/discard-reason.js.map +1 -1
  241. package/cjs/highlevel/types/conversation.js +13 -7
  242. package/cjs/highlevel/types/conversation.js.map +1 -1
  243. package/cjs/highlevel/types/errors.js +3 -0
  244. package/cjs/highlevel/types/errors.js.map +1 -1
  245. package/cjs/highlevel/types/files/file-location.js +3 -0
  246. package/cjs/highlevel/types/files/file-location.js.map +1 -1
  247. package/cjs/highlevel/types/files/uploaded-file.d.ts +2 -0
  248. package/cjs/highlevel/types/files/uploaded-file.js +1 -1
  249. package/cjs/highlevel/types/files/uploaded-file.js.map +1 -1
  250. package/cjs/highlevel/types/files/utils.d.ts +6 -5
  251. package/cjs/highlevel/types/files/utils.js.map +1 -1
  252. package/cjs/highlevel/types/files/web-document.js +1 -0
  253. package/cjs/highlevel/types/files/web-document.js.map +1 -1
  254. package/cjs/highlevel/types/media/audio.js +3 -2
  255. package/cjs/highlevel/types/media/audio.js.map +1 -1
  256. package/cjs/highlevel/types/media/contact.js +2 -1
  257. package/cjs/highlevel/types/media/contact.js.map +1 -1
  258. package/cjs/highlevel/types/media/dice.js +125 -124
  259. package/cjs/highlevel/types/media/dice.js.map +1 -1
  260. package/cjs/highlevel/types/media/document-utils.d.ts +5 -0
  261. package/cjs/highlevel/types/media/document-utils.js +9 -2
  262. package/cjs/highlevel/types/media/document-utils.js.map +1 -1
  263. package/cjs/highlevel/types/media/document.js +2 -4
  264. package/cjs/highlevel/types/media/document.js.map +1 -1
  265. package/cjs/highlevel/types/media/game.js +2 -1
  266. package/cjs/highlevel/types/media/game.js.map +1 -1
  267. package/cjs/highlevel/types/media/input-media/types.d.ts +2 -2
  268. package/cjs/highlevel/types/media/input-media/types.js.map +1 -1
  269. package/cjs/highlevel/types/media/invoice.js +4 -1
  270. package/cjs/highlevel/types/media/invoice.js.map +1 -1
  271. package/cjs/highlevel/types/media/location.js +4 -5
  272. package/cjs/highlevel/types/media/location.js.map +1 -1
  273. package/cjs/highlevel/types/media/photo.js +8 -1
  274. package/cjs/highlevel/types/media/photo.js.map +1 -1
  275. package/cjs/highlevel/types/media/poll.d.ts +17 -6
  276. package/cjs/highlevel/types/media/poll.js +69 -19
  277. package/cjs/highlevel/types/media/poll.js.map +1 -1
  278. package/cjs/highlevel/types/media/sticker.js +3 -1
  279. package/cjs/highlevel/types/media/sticker.js.map +1 -1
  280. package/cjs/highlevel/types/media/story.js +3 -1
  281. package/cjs/highlevel/types/media/story.js.map +1 -1
  282. package/cjs/highlevel/types/media/thumbnail.js +35 -22
  283. package/cjs/highlevel/types/media/thumbnail.js.map +1 -1
  284. package/cjs/highlevel/types/media/venue.js +2 -1
  285. package/cjs/highlevel/types/media/venue.js.map +1 -1
  286. package/cjs/highlevel/types/media/video.js +3 -1
  287. package/cjs/highlevel/types/media/video.js.map +1 -1
  288. package/cjs/highlevel/types/media/voice.js +2 -1
  289. package/cjs/highlevel/types/media/voice.js.map +1 -1
  290. package/cjs/highlevel/types/media/web-page.js +2 -1
  291. package/cjs/highlevel/types/media/web-page.js.map +1 -1
  292. package/cjs/highlevel/types/messages/dialog.js +4 -12
  293. package/cjs/highlevel/types/messages/dialog.js.map +1 -1
  294. package/cjs/highlevel/types/messages/draft-message.js +1 -0
  295. package/cjs/highlevel/types/messages/draft-message.js.map +1 -1
  296. package/cjs/highlevel/types/messages/input-message-id.d.ts +5 -0
  297. package/cjs/highlevel/types/messages/message-action.d.ts +19 -2
  298. package/cjs/highlevel/types/messages/message-action.js +6 -0
  299. package/cjs/highlevel/types/messages/message-action.js.map +1 -1
  300. package/cjs/highlevel/types/messages/message-entity.js +2 -0
  301. package/cjs/highlevel/types/messages/message-entity.js.map +1 -1
  302. package/cjs/highlevel/types/messages/message-forward.js +2 -0
  303. package/cjs/highlevel/types/messages/message-forward.js.map +1 -1
  304. package/cjs/highlevel/types/messages/message-media.d.ts +4 -0
  305. package/cjs/highlevel/types/messages/message-media.js.map +1 -1
  306. package/cjs/highlevel/types/messages/message-reactions.js +4 -0
  307. package/cjs/highlevel/types/messages/message-reactions.js.map +1 -1
  308. package/cjs/highlevel/types/messages/message-replies.js +2 -0
  309. package/cjs/highlevel/types/messages/message-replies.js.map +1 -1
  310. package/cjs/highlevel/types/messages/message.d.ts +59 -1
  311. package/cjs/highlevel/types/messages/message.js +102 -1
  312. package/cjs/highlevel/types/messages/message.js.map +1 -1
  313. package/cjs/highlevel/types/messages/replied-message.js +2 -0
  314. package/cjs/highlevel/types/messages/replied-message.js.map +1 -1
  315. package/cjs/highlevel/types/misc/collectible-info.d.ts +27 -0
  316. package/cjs/highlevel/types/misc/collectible-info.js +46 -0
  317. package/cjs/highlevel/types/misc/collectible-info.js.map +1 -0
  318. package/cjs/highlevel/types/misc/entities.d.ts +7 -0
  319. package/cjs/highlevel/types/misc/entities.js +15 -0
  320. package/cjs/highlevel/types/misc/entities.js.map +1 -1
  321. package/cjs/highlevel/types/misc/index.d.ts +1 -0
  322. package/cjs/highlevel/types/misc/index.js +1 -0
  323. package/cjs/highlevel/types/misc/index.js.map +1 -1
  324. package/cjs/highlevel/types/misc/sticker-set.d.ts +8 -1
  325. package/cjs/highlevel/types/misc/sticker-set.js +43 -6
  326. package/cjs/highlevel/types/misc/sticker-set.js.map +1 -1
  327. package/cjs/highlevel/types/misc/takeout-session.js +5 -0
  328. package/cjs/highlevel/types/misc/takeout-session.js.map +1 -1
  329. package/cjs/highlevel/types/peers/chat-colors.js +2 -0
  330. package/cjs/highlevel/types/peers/chat-colors.js.map +1 -1
  331. package/cjs/highlevel/types/peers/chat-event/actions.d.ts +3 -0
  332. package/cjs/highlevel/types/peers/chat-event/actions.js.map +1 -1
  333. package/cjs/highlevel/types/peers/chat-event/filters.d.ts +2 -0
  334. package/cjs/highlevel/types/peers/chat-event/filters.js.map +1 -1
  335. package/cjs/highlevel/types/peers/chat-event/index.js +2 -0
  336. package/cjs/highlevel/types/peers/chat-event/index.js.map +1 -1
  337. package/cjs/highlevel/types/peers/chat-invite-link-member.js +2 -0
  338. package/cjs/highlevel/types/peers/chat-invite-link-member.js.map +1 -1
  339. package/cjs/highlevel/types/peers/chat-invite-link.js +2 -0
  340. package/cjs/highlevel/types/peers/chat-invite-link.js.map +1 -1
  341. package/cjs/highlevel/types/peers/chat-location.js +1 -0
  342. package/cjs/highlevel/types/peers/chat-location.js.map +1 -1
  343. package/cjs/highlevel/types/peers/chat-member.js +2 -0
  344. package/cjs/highlevel/types/peers/chat-member.js.map +1 -1
  345. package/cjs/highlevel/types/peers/chat-permissions.js +1 -0
  346. package/cjs/highlevel/types/peers/chat-permissions.js.map +1 -1
  347. package/cjs/highlevel/types/peers/chat-photo.js +5 -0
  348. package/cjs/highlevel/types/peers/chat-photo.js.map +1 -1
  349. package/cjs/highlevel/types/peers/chat-preview.js +2 -0
  350. package/cjs/highlevel/types/peers/chat-preview.js.map +1 -1
  351. package/cjs/highlevel/types/peers/chat.d.ts +7 -93
  352. package/cjs/highlevel/types/peers/chat.js +10 -192
  353. package/cjs/highlevel/types/peers/chat.js.map +1 -1
  354. package/cjs/highlevel/types/peers/forum-topic.js +9 -6
  355. package/cjs/highlevel/types/peers/forum-topic.js.map +1 -1
  356. package/cjs/highlevel/types/peers/full-chat.d.ts +103 -0
  357. package/cjs/highlevel/types/peers/full-chat.js +237 -0
  358. package/cjs/highlevel/types/peers/full-chat.js.map +1 -0
  359. package/cjs/highlevel/types/peers/index.d.ts +1 -0
  360. package/cjs/highlevel/types/peers/index.js +1 -0
  361. package/cjs/highlevel/types/peers/index.js.map +1 -1
  362. package/cjs/highlevel/types/peers/peer.js.map +1 -1
  363. package/cjs/highlevel/types/peers/peers-index.js +3 -1
  364. package/cjs/highlevel/types/peers/peers-index.js.map +1 -1
  365. package/cjs/highlevel/types/peers/user.d.ts +5 -0
  366. package/cjs/highlevel/types/peers/user.js +12 -1
  367. package/cjs/highlevel/types/peers/user.js.map +1 -1
  368. package/cjs/highlevel/types/premium/boost-slot.js +2 -0
  369. package/cjs/highlevel/types/premium/boost-slot.js.map +1 -1
  370. package/cjs/highlevel/types/premium/boost-stats.js +1 -0
  371. package/cjs/highlevel/types/premium/boost-stats.js.map +1 -1
  372. package/cjs/highlevel/types/premium/boost.js +2 -0
  373. package/cjs/highlevel/types/premium/boost.js.map +1 -1
  374. package/cjs/highlevel/types/premium/business-account.d.ts +19 -0
  375. package/cjs/highlevel/types/premium/business-account.js +45 -0
  376. package/cjs/highlevel/types/premium/business-account.js.map +1 -0
  377. package/cjs/highlevel/types/premium/business-chat-link.d.ts +19 -0
  378. package/cjs/highlevel/types/premium/business-chat-link.js +39 -0
  379. package/cjs/highlevel/types/premium/business-chat-link.js.map +1 -0
  380. package/cjs/highlevel/types/premium/business-connection.d.ts +23 -0
  381. package/cjs/highlevel/types/premium/business-connection.js +45 -0
  382. package/cjs/highlevel/types/premium/business-connection.js.map +1 -0
  383. package/cjs/highlevel/types/premium/business-intro.d.ts +22 -0
  384. package/cjs/highlevel/types/premium/business-intro.js +43 -0
  385. package/cjs/highlevel/types/premium/business-intro.js.map +1 -0
  386. package/cjs/highlevel/types/premium/business-location.d.ts +10 -0
  387. package/cjs/highlevel/types/premium/business-location.js +26 -0
  388. package/cjs/highlevel/types/premium/business-location.js.map +1 -0
  389. package/cjs/highlevel/types/premium/business-work-hours.d.ts +42 -0
  390. package/cjs/highlevel/types/premium/business-work-hours.js +141 -0
  391. package/cjs/highlevel/types/premium/business-work-hours.js.map +1 -0
  392. package/cjs/highlevel/types/premium/index.d.ts +5 -0
  393. package/cjs/highlevel/types/premium/index.js +5 -0
  394. package/cjs/highlevel/types/premium/index.js.map +1 -1
  395. package/cjs/highlevel/types/reactions/emoji-status.js +1 -0
  396. package/cjs/highlevel/types/reactions/emoji-status.js.map +1 -1
  397. package/cjs/highlevel/types/reactions/peer-reaction.js +2 -0
  398. package/cjs/highlevel/types/reactions/peer-reaction.js.map +1 -1
  399. package/cjs/highlevel/types/reactions/reaction-count.js +1 -0
  400. package/cjs/highlevel/types/reactions/reaction-count.js.map +1 -1
  401. package/cjs/highlevel/types/reactions/types.js.map +1 -1
  402. package/cjs/highlevel/types/stories/all-stories.d.ts +2 -2
  403. package/cjs/highlevel/types/stories/all-stories.js +3 -1
  404. package/cjs/highlevel/types/stories/all-stories.js.map +1 -1
  405. package/cjs/highlevel/types/stories/interactive/base.js +1 -0
  406. package/cjs/highlevel/types/stories/interactive/base.js.map +1 -1
  407. package/cjs/highlevel/types/stories/interactive/channel-post.js +3 -1
  408. package/cjs/highlevel/types/stories/interactive/channel-post.js.map +1 -1
  409. package/cjs/highlevel/types/stories/interactive/index.js.map +1 -1
  410. package/cjs/highlevel/types/stories/interactive/input.js +1 -0
  411. package/cjs/highlevel/types/stories/interactive/input.js.map +1 -1
  412. package/cjs/highlevel/types/stories/interactive/location.js +2 -1
  413. package/cjs/highlevel/types/stories/interactive/location.js.map +1 -1
  414. package/cjs/highlevel/types/stories/interactive/reaction.js +2 -1
  415. package/cjs/highlevel/types/stories/interactive/reaction.js.map +1 -1
  416. package/cjs/highlevel/types/stories/interactive/venue.js +2 -1
  417. package/cjs/highlevel/types/stories/interactive/venue.js.map +1 -1
  418. package/cjs/highlevel/types/stories/peer-stories.js +2 -0
  419. package/cjs/highlevel/types/stories/peer-stories.js.map +1 -1
  420. package/cjs/highlevel/types/stories/stealth-mode.js +1 -0
  421. package/cjs/highlevel/types/stories/stealth-mode.js.map +1 -1
  422. package/cjs/highlevel/types/stories/story-interactions.js +2 -0
  423. package/cjs/highlevel/types/stories/story-interactions.js.map +1 -1
  424. package/cjs/highlevel/types/stories/story-viewer.d.ts +1 -1
  425. package/cjs/highlevel/types/stories/story-viewer.js +6 -0
  426. package/cjs/highlevel/types/stories/story-viewer.js.map +1 -1
  427. package/cjs/highlevel/types/stories/story.js +2 -0
  428. package/cjs/highlevel/types/stories/story.js.map +1 -1
  429. package/cjs/highlevel/types/updates/bot-chat-join-request.js +2 -0
  430. package/cjs/highlevel/types/updates/bot-chat-join-request.js.map +1 -1
  431. package/cjs/highlevel/types/updates/bot-reaction.js +4 -0
  432. package/cjs/highlevel/types/updates/bot-reaction.js.map +1 -1
  433. package/cjs/highlevel/types/updates/bot-stopped.js +2 -0
  434. package/cjs/highlevel/types/updates/bot-stopped.js.map +1 -1
  435. package/cjs/highlevel/types/updates/business-message.d.ts +18 -0
  436. package/cjs/highlevel/types/updates/business-message.js +35 -0
  437. package/cjs/highlevel/types/updates/business-message.js.map +1 -0
  438. package/cjs/highlevel/types/updates/callback-query.js +4 -0
  439. package/cjs/highlevel/types/updates/callback-query.js.map +1 -1
  440. package/cjs/highlevel/types/updates/chat-join-request.js +2 -0
  441. package/cjs/highlevel/types/updates/chat-join-request.js.map +1 -1
  442. package/cjs/highlevel/types/updates/chat-member-update.js +2 -0
  443. package/cjs/highlevel/types/updates/chat-member-update.js.map +1 -1
  444. package/cjs/highlevel/types/updates/chosen-inline-result.js +2 -0
  445. package/cjs/highlevel/types/updates/chosen-inline-result.js.map +1 -1
  446. package/cjs/highlevel/types/updates/delete-business-message-update.d.ts +21 -0
  447. package/cjs/highlevel/types/updates/delete-business-message-update.js +37 -0
  448. package/cjs/highlevel/types/updates/delete-business-message-update.js.map +1 -0
  449. package/cjs/highlevel/types/updates/delete-message-update.js +1 -0
  450. package/cjs/highlevel/types/updates/delete-message-update.js.map +1 -1
  451. package/cjs/highlevel/types/updates/delete-story-update.js +2 -0
  452. package/cjs/highlevel/types/updates/delete-story-update.js.map +1 -1
  453. package/cjs/highlevel/types/updates/history-read-update.js +1 -0
  454. package/cjs/highlevel/types/updates/history-read-update.js.map +1 -1
  455. package/cjs/highlevel/types/updates/index.d.ts +19 -2
  456. package/cjs/highlevel/types/updates/index.js +5 -1
  457. package/cjs/highlevel/types/updates/index.js.map +1 -1
  458. package/cjs/highlevel/types/updates/inline-query.js +2 -0
  459. package/cjs/highlevel/types/updates/inline-query.js.map +1 -1
  460. package/cjs/highlevel/types/updates/parse-update.d.ts +4 -1
  461. package/cjs/highlevel/types/updates/parse-update.js +8 -0
  462. package/cjs/highlevel/types/updates/parse-update.js.map +1 -1
  463. package/cjs/highlevel/types/updates/poll-update.js +4 -2
  464. package/cjs/highlevel/types/updates/poll-update.js.map +1 -1
  465. package/cjs/highlevel/types/updates/poll-vote.js +2 -0
  466. package/cjs/highlevel/types/updates/poll-vote.js.map +1 -1
  467. package/cjs/highlevel/types/updates/pre-checkout-query.js +2 -0
  468. package/cjs/highlevel/types/updates/pre-checkout-query.js.map +1 -1
  469. package/cjs/highlevel/types/updates/story-update.js +2 -0
  470. package/cjs/highlevel/types/updates/story-update.js.map +1 -1
  471. package/cjs/highlevel/types/updates/user-status-update.js +1 -0
  472. package/cjs/highlevel/types/updates/user-status-update.js.map +1 -1
  473. package/cjs/highlevel/types/updates/user-typing-update.js +1 -0
  474. package/cjs/highlevel/types/updates/user-typing-update.js.map +1 -1
  475. package/cjs/highlevel/updates/manager.d.ts +0 -1
  476. package/cjs/highlevel/updates/manager.js +57 -30
  477. package/cjs/highlevel/updates/manager.js.map +1 -1
  478. package/cjs/highlevel/updates/parsed.js +8 -2
  479. package/cjs/highlevel/updates/parsed.js.map +1 -1
  480. package/cjs/highlevel/updates/types.d.ts +57 -0
  481. package/cjs/highlevel/updates/utils.d.ts +2 -0
  482. package/cjs/highlevel/updates/utils.js.map +1 -1
  483. package/cjs/highlevel/utils/convert-file-id.js.map +1 -1
  484. package/cjs/highlevel/utils/entities.js.map +1 -1
  485. package/cjs/highlevel/utils/file-type.d.ts +1 -0
  486. package/cjs/highlevel/utils/file-type.js +35 -1
  487. package/cjs/highlevel/utils/file-type.js.map +1 -1
  488. package/cjs/highlevel/utils/file-utils.js +1 -1
  489. package/cjs/highlevel/utils/file-utils.js.map +1 -1
  490. package/cjs/highlevel/utils/inline-utils.js.map +1 -1
  491. package/cjs/highlevel/utils/inspectable.js +7 -0
  492. package/cjs/highlevel/utils/inspectable.js.map +1 -1
  493. package/cjs/highlevel/utils/memoize.js.map +1 -1
  494. package/cjs/highlevel/utils/peer-utils.js.map +1 -1
  495. package/cjs/highlevel/utils/query-batcher.js.map +1 -1
  496. package/cjs/highlevel/utils/rps-meter.js +3 -0
  497. package/cjs/highlevel/utils/rps-meter.js.map +1 -1
  498. package/cjs/highlevel/utils/stream-utils.js.map +1 -1
  499. package/cjs/highlevel/utils/string-session.d.ts +1 -2
  500. package/cjs/highlevel/utils/string-session.js +27 -7
  501. package/cjs/highlevel/utils/string-session.js.map +1 -1
  502. package/cjs/highlevel/utils/voice-utils.js.map +1 -1
  503. package/cjs/highlevel/worker/app-config.d.ts +2 -3
  504. package/cjs/highlevel/worker/app-config.js +6 -3
  505. package/cjs/highlevel/worker/app-config.js.map +1 -1
  506. package/cjs/highlevel/worker/errors.js.map +1 -1
  507. package/cjs/highlevel/worker/index.js +6 -0
  508. package/cjs/highlevel/worker/invoker.js +3 -2
  509. package/cjs/highlevel/worker/invoker.js.map +1 -1
  510. package/cjs/highlevel/worker/port.d.ts +16 -17
  511. package/cjs/highlevel/worker/port.js +74 -49
  512. package/cjs/highlevel/worker/port.js.map +1 -1
  513. package/cjs/highlevel/worker/protocol.d.ts +1 -2
  514. package/cjs/highlevel/worker/protocol.js.map +1 -1
  515. package/cjs/highlevel/worker/storage.d.ts +9 -13
  516. package/cjs/highlevel/worker/storage.js +34 -19
  517. package/cjs/highlevel/worker/storage.js.map +1 -1
  518. package/cjs/highlevel/worker/worker.js +3 -0
  519. package/cjs/highlevel/worker/worker.js.map +1 -1
  520. package/cjs/index.js +6 -0
  521. package/cjs/network/auth-key.js +8 -1
  522. package/cjs/network/auth-key.js.map +1 -1
  523. package/cjs/network/authorization.js.map +1 -1
  524. package/cjs/network/client.d.ts +0 -1
  525. package/cjs/network/client.js +39 -14
  526. package/cjs/network/client.js.map +1 -1
  527. package/cjs/network/config-manager.js.map +1 -1
  528. package/cjs/network/mtproto-session.d.ts +0 -1
  529. package/cjs/network/mtproto-session.js +40 -30
  530. package/cjs/network/mtproto-session.js.map +1 -1
  531. package/cjs/network/multi-session-connection.d.ts +1 -2
  532. package/cjs/network/multi-session-connection.js +13 -7
  533. package/cjs/network/multi-session-connection.js.map +1 -1
  534. package/cjs/network/network-manager.d.ts +10 -3
  535. package/cjs/network/network-manager.js +57 -31
  536. package/cjs/network/network-manager.js.map +1 -1
  537. package/cjs/network/persistent-connection.d.ts +2 -3
  538. package/cjs/network/persistent-connection.js +33 -22
  539. package/cjs/network/persistent-connection.js.map +1 -1
  540. package/cjs/network/server-salt.js +4 -5
  541. package/cjs/network/server-salt.js.map +1 -1
  542. package/cjs/network/session-connection.d.ts +1 -1
  543. package/cjs/network/session-connection.js +32 -12
  544. package/cjs/network/session-connection.js.map +1 -1
  545. package/cjs/network/transports/abstract.d.ts +1 -2
  546. package/cjs/network/transports/abstract.js +1 -0
  547. package/cjs/network/transports/abstract.js.map +1 -1
  548. package/cjs/network/transports/intermediate.js +1 -0
  549. package/cjs/network/transports/intermediate.js.map +1 -1
  550. package/cjs/network/transports/obfuscated.js +3 -0
  551. package/cjs/network/transports/obfuscated.js.map +1 -1
  552. package/cjs/network/transports/streamed.d.ts +0 -1
  553. package/cjs/network/transports/streamed.js +1 -4
  554. package/cjs/network/transports/streamed.js.map +1 -1
  555. package/cjs/network/transports/wrapped.d.ts +0 -1
  556. package/cjs/network/transports/wrapped.js +2 -0
  557. package/cjs/network/transports/wrapped.js.map +1 -1
  558. package/cjs/platform.js +6 -0
  559. package/cjs/platform.js.map +1 -1
  560. package/cjs/storage/driver.js +3 -4
  561. package/cjs/storage/driver.js.map +1 -1
  562. package/cjs/storage/memory/driver.js +1 -3
  563. package/cjs/storage/memory/driver.js.map +1 -1
  564. package/cjs/storage/memory/index.js +5 -7
  565. package/cjs/storage/memory/index.js.map +1 -1
  566. package/cjs/storage/memory/repository/auth-keys.d.ts +1 -1
  567. package/cjs/storage/memory/repository/auth-keys.js +2 -0
  568. package/cjs/storage/memory/repository/auth-keys.js.map +1 -1
  569. package/cjs/storage/memory/repository/kv.d.ts +1 -1
  570. package/cjs/storage/memory/repository/kv.js +2 -0
  571. package/cjs/storage/memory/repository/kv.js.map +1 -1
  572. package/cjs/storage/memory/repository/peers.d.ts +1 -1
  573. package/cjs/storage/memory/repository/peers.js +2 -0
  574. package/cjs/storage/memory/repository/peers.js.map +1 -1
  575. package/cjs/storage/memory/repository/ref-messages.d.ts +1 -1
  576. package/cjs/storage/memory/repository/ref-messages.js +2 -0
  577. package/cjs/storage/memory/repository/ref-messages.js.map +1 -1
  578. package/cjs/storage/service/auth-keys.js +2 -0
  579. package/cjs/storage/service/auth-keys.js.map +1 -1
  580. package/cjs/storage/service/base.js +4 -0
  581. package/cjs/storage/service/base.js.map +1 -1
  582. package/cjs/storage/service/default-dcs.js +2 -0
  583. package/cjs/storage/service/default-dcs.js.map +1 -1
  584. package/cjs/storage/service/future-salts.js +2 -1
  585. package/cjs/storage/service/future-salts.js.map +1 -1
  586. package/cjs/storage/sqlite/driver.js +10 -10
  587. package/cjs/storage/sqlite/driver.js.map +1 -1
  588. package/cjs/storage/sqlite/index.d.ts +1 -1
  589. package/cjs/storage/sqlite/index.js +5 -0
  590. package/cjs/storage/sqlite/index.js.map +1 -1
  591. package/cjs/storage/sqlite/repository/auth-keys.js +9 -0
  592. package/cjs/storage/sqlite/repository/auth-keys.js.map +1 -1
  593. package/cjs/storage/sqlite/repository/kv.js +5 -0
  594. package/cjs/storage/sqlite/repository/kv.js.map +1 -1
  595. package/cjs/storage/sqlite/repository/peers.js +7 -2
  596. package/cjs/storage/sqlite/repository/peers.js.map +1 -1
  597. package/cjs/storage/sqlite/repository/ref-messages.d.ts +1 -1
  598. package/cjs/storage/sqlite/repository/ref-messages.js +6 -0
  599. package/cjs/storage/sqlite/repository/ref-messages.js.map +1 -1
  600. package/cjs/storage/storage.d.ts +22 -3
  601. package/cjs/storage/storage.js +21 -13
  602. package/cjs/storage/storage.js.map +1 -1
  603. package/cjs/types/errors.js +13 -0
  604. package/cjs/types/errors.js.map +1 -1
  605. package/cjs/types/utils.d.ts +1 -0
  606. package/cjs/types/utils.js.map +1 -1
  607. package/cjs/utils/async-lock.js +1 -3
  608. package/cjs/utils/async-lock.js.map +1 -1
  609. package/cjs/utils/bigint-utils.js.map +1 -1
  610. package/cjs/utils/binary/asn1-parser.js.map +1 -1
  611. package/cjs/utils/buffer-utils.js.map +1 -1
  612. package/cjs/utils/condition-variable.js +2 -0
  613. package/cjs/utils/condition-variable.js.map +1 -1
  614. package/cjs/utils/crypto/factorization.js.map +1 -1
  615. package/cjs/utils/crypto/keys.js.map +1 -1
  616. package/cjs/utils/crypto/miller-rabin.js.map +1 -1
  617. package/cjs/utils/crypto/password.js.map +1 -1
  618. package/cjs/utils/crypto/utils.js.map +1 -1
  619. package/cjs/utils/dcs.js +1 -1
  620. package/cjs/utils/dcs.js.map +1 -1
  621. package/cjs/utils/deque.js +8 -2
  622. package/cjs/utils/deque.js.map +1 -1
  623. package/cjs/utils/early-timer.js +4 -1
  624. package/cjs/utils/early-timer.js.map +1 -1
  625. package/cjs/utils/error-reporting.js.map +1 -1
  626. package/cjs/utils/function-utils.js.map +1 -1
  627. package/cjs/utils/index.js +6 -0
  628. package/cjs/utils/linked-list.js +4 -1
  629. package/cjs/utils/linked-list.js.map +1 -1
  630. package/cjs/utils/links/bots.js.map +1 -1
  631. package/cjs/utils/links/chat.js.map +1 -1
  632. package/cjs/utils/links/common.js.map +1 -1
  633. package/cjs/utils/links/misc.js.map +1 -1
  634. package/cjs/utils/logger.d.ts +2 -2
  635. package/cjs/utils/logger.js +21 -14
  636. package/cjs/utils/logger.js.map +1 -1
  637. package/cjs/utils/long-utils.js +2 -6
  638. package/cjs/utils/long-utils.js.map +1 -1
  639. package/cjs/utils/lru-map.js +5 -1
  640. package/cjs/utils/lru-map.js.map +1 -1
  641. package/cjs/utils/lru-set.js +4 -0
  642. package/cjs/utils/lru-set.js.map +1 -1
  643. package/cjs/utils/peer-utils.js.map +1 -1
  644. package/cjs/utils/reloadable.d.ts +0 -1
  645. package/cjs/utils/reloadable.js +10 -7
  646. package/cjs/utils/reloadable.js.map +1 -1
  647. package/cjs/utils/sorted-array.js +2 -0
  648. package/cjs/utils/sorted-array.js.map +1 -1
  649. package/cjs/utils/tl-json.js.map +1 -1
  650. package/cjs/utils/type-assertions.js.map +1 -1
  651. package/client.d.ts +1 -0
  652. package/client.js +1 -0
  653. package/esm/highlevel/base.d.ts +1 -1
  654. package/esm/highlevel/base.js +29 -23
  655. package/esm/highlevel/base.js.map +1 -1
  656. package/esm/highlevel/client.d.ts +199 -18
  657. package/esm/highlevel/client.js +48 -0
  658. package/esm/highlevel/client.js.map +1 -1
  659. package/esm/highlevel/managers/app-config-manager.js +7 -5
  660. package/esm/highlevel/managers/app-config-manager.js.map +1 -1
  661. package/esm/highlevel/methods/_imports.js.map +1 -1
  662. package/esm/highlevel/methods/_init.js.map +1 -1
  663. package/esm/highlevel/methods/auth/start-test.js.map +1 -1
  664. package/esm/highlevel/methods/auth/start.js.map +1 -1
  665. package/esm/highlevel/methods/auth/utils.d.ts +3 -0
  666. package/esm/highlevel/methods/auth/utils.js.map +1 -1
  667. package/esm/highlevel/methods/bots/get-callback-answer.js.map +1 -1
  668. package/esm/highlevel/methods/bots/get-game-high-scores.js.map +1 -1
  669. package/esm/highlevel/methods/bots/normalize-command-scope.d.ts +5 -1
  670. package/esm/highlevel/methods/bots/normalize-command-scope.js.map +1 -1
  671. package/esm/highlevel/methods/bots/set-my-commands.js.map +1 -1
  672. package/esm/highlevel/methods/chats/add-chat-members.js.map +1 -1
  673. package/esm/highlevel/methods/chats/ban-chat-member.js.map +1 -1
  674. package/esm/highlevel/methods/chats/batched-queries.d.ts +10 -1
  675. package/esm/highlevel/methods/chats/batched-queries.js.map +1 -1
  676. package/esm/highlevel/methods/chats/delete-chat-photo.js.map +1 -1
  677. package/esm/highlevel/methods/chats/delete-history.js.map +1 -1
  678. package/esm/highlevel/methods/chats/get-chat-event-log.js.map +1 -1
  679. package/esm/highlevel/methods/chats/get-chat-member.js.map +1 -1
  680. package/esm/highlevel/methods/chats/get-chat-members.js.map +1 -1
  681. package/esm/highlevel/methods/chats/get-chat-preview.js.map +1 -1
  682. package/esm/highlevel/methods/chats/get-chat.js.map +1 -1
  683. package/esm/highlevel/methods/chats/get-full-chat.d.ts +2 -2
  684. package/esm/highlevel/methods/chats/get-full-chat.js +2 -2
  685. package/esm/highlevel/methods/chats/get-full-chat.js.map +1 -1
  686. package/esm/highlevel/methods/chats/get-nearby-chats.js.map +1 -1
  687. package/esm/highlevel/methods/chats/get-similar-channels.js.map +1 -1
  688. package/esm/highlevel/methods/chats/iter-chat-event-log.js.map +1 -1
  689. package/esm/highlevel/methods/chats/iter-chat-members.js.map +1 -1
  690. package/esm/highlevel/methods/chats/join-chat.js.map +1 -1
  691. package/esm/highlevel/methods/chats/kick-chat-member.js.map +1 -1
  692. package/esm/highlevel/methods/chats/leave-chat.js.map +1 -1
  693. package/esm/highlevel/methods/chats/open-chat.js.map +1 -1
  694. package/esm/highlevel/methods/chats/reorder-usernames.js.map +1 -1
  695. package/esm/highlevel/methods/chats/restrict-chat-member.js.map +1 -1
  696. package/esm/highlevel/methods/chats/save-draft.js.map +1 -1
  697. package/esm/highlevel/methods/chats/set-chat-color.js.map +1 -1
  698. package/esm/highlevel/methods/chats/set-chat-photo.js.map +1 -1
  699. package/esm/highlevel/methods/chats/set-chat-title.js.map +1 -1
  700. package/esm/highlevel/methods/chats/toggle-fragment-username.js.map +1 -1
  701. package/esm/highlevel/methods/chats/unarchive-chats.js.map +1 -1
  702. package/esm/highlevel/methods/chats/unban-chat-member.js.map +1 -1
  703. package/esm/highlevel/methods/contacts/delete-contacts.js.map +1 -1
  704. package/esm/highlevel/methods/dialogs/create-folder.js.map +1 -1
  705. package/esm/highlevel/methods/dialogs/edit-folder.js.map +1 -1
  706. package/esm/highlevel/methods/dialogs/find-folder.js.map +1 -1
  707. package/esm/highlevel/methods/dialogs/get-folders.d.ts +3 -0
  708. package/esm/highlevel/methods/dialogs/get-folders.js.map +1 -1
  709. package/esm/highlevel/methods/dialogs/iter-dialogs.js.map +1 -1
  710. package/esm/highlevel/methods/files/download-buffer.js.map +1 -1
  711. package/esm/highlevel/methods/files/download-iterable.js +1 -1
  712. package/esm/highlevel/methods/files/download-iterable.js.map +1 -1
  713. package/esm/highlevel/methods/files/download-node-stream.js.map +1 -1
  714. package/esm/highlevel/methods/files/download-stream.js.map +1 -1
  715. package/esm/highlevel/methods/files/normalize-file-to-document.d.ts +9 -1
  716. package/esm/highlevel/methods/files/normalize-file-to-document.js.map +1 -1
  717. package/esm/highlevel/methods/files/normalize-input-file.js.map +1 -1
  718. package/esm/highlevel/methods/files/normalize-input-media.d.ts +1 -0
  719. package/esm/highlevel/methods/files/normalize-input-media.js +12 -12
  720. package/esm/highlevel/methods/files/normalize-input-media.js.map +1 -1
  721. package/esm/highlevel/methods/files/upload-file.js +8 -7
  722. package/esm/highlevel/methods/files/upload-file.js.map +1 -1
  723. package/esm/highlevel/methods/files/upload-media.js.map +1 -1
  724. package/esm/highlevel/methods/forums/iter-forum-topics.js.map +1 -1
  725. package/esm/highlevel/methods/invite-links/get-primary-invite-link.js.map +1 -1
  726. package/esm/highlevel/methods/invite-links/iter-invite-link-members.js.map +1 -1
  727. package/esm/highlevel/methods/invite-links/iter-invite-links.js.map +1 -1
  728. package/esm/highlevel/methods/messages/_business-connection.d.ts +7 -0
  729. package/esm/highlevel/methods/messages/_business-connection.js +38 -0
  730. package/esm/highlevel/methods/messages/_business-connection.js.map +1 -0
  731. package/esm/highlevel/methods/messages/close-poll.js +1 -1
  732. package/esm/highlevel/methods/messages/close-poll.js.map +1 -1
  733. package/esm/highlevel/methods/messages/delete-messages.js.map +1 -1
  734. package/esm/highlevel/methods/messages/edit-inline-message.js.map +1 -1
  735. package/esm/highlevel/methods/messages/edit-message.d.ts +1 -0
  736. package/esm/highlevel/methods/messages/edit-message.js +2 -1
  737. package/esm/highlevel/methods/messages/edit-message.js.map +1 -1
  738. package/esm/highlevel/methods/messages/find-in-update.d.ts +13 -1
  739. package/esm/highlevel/methods/messages/find-in-update.js +7 -2
  740. package/esm/highlevel/methods/messages/find-in-update.js.map +1 -1
  741. package/esm/highlevel/methods/messages/forward-messages.d.ts +5 -0
  742. package/esm/highlevel/methods/messages/forward-messages.js +2 -0
  743. package/esm/highlevel/methods/messages/forward-messages.js.map +1 -1
  744. package/esm/highlevel/methods/messages/get-all-scheduled-messages.d.ts +8 -0
  745. package/esm/highlevel/methods/messages/get-all-scheduled-messages.js +25 -0
  746. package/esm/highlevel/methods/messages/get-all-scheduled-messages.js.map +1 -0
  747. package/esm/highlevel/methods/messages/get-callback-query-message.js.map +1 -1
  748. package/esm/highlevel/methods/messages/get-discussion-message.d.ts +4 -0
  749. package/esm/highlevel/methods/messages/get-discussion-message.js.map +1 -1
  750. package/esm/highlevel/methods/messages/get-history.js +5 -1
  751. package/esm/highlevel/methods/messages/get-history.js.map +1 -1
  752. package/esm/highlevel/methods/messages/get-message-by-link.js.map +1 -1
  753. package/esm/highlevel/methods/messages/get-message-group.js.map +1 -1
  754. package/esm/highlevel/methods/messages/get-message-reactions.js.map +1 -1
  755. package/esm/highlevel/methods/messages/get-messages.js.map +1 -1
  756. package/esm/highlevel/methods/messages/get-reply-to.js.map +1 -1
  757. package/esm/highlevel/methods/messages/iter-history.js.map +1 -1
  758. package/esm/highlevel/methods/messages/iter-reaction-users.js.map +1 -1
  759. package/esm/highlevel/methods/messages/iter-search-global.js +2 -1
  760. package/esm/highlevel/methods/messages/iter-search-global.js.map +1 -1
  761. package/esm/highlevel/methods/messages/iter-search-messages.js.map +1 -1
  762. package/esm/highlevel/methods/messages/read-history.js.map +1 -1
  763. package/esm/highlevel/methods/messages/search-global.d.ts +4 -0
  764. package/esm/highlevel/methods/messages/search-global.js +2 -1
  765. package/esm/highlevel/methods/messages/search-global.js.map +1 -1
  766. package/esm/highlevel/methods/messages/send-answer.js.map +1 -1
  767. package/esm/highlevel/methods/messages/send-comment.js.map +1 -1
  768. package/esm/highlevel/methods/messages/send-common.d.ts +28 -0
  769. package/esm/highlevel/methods/messages/send-common.js +19 -0
  770. package/esm/highlevel/methods/messages/send-common.js.map +1 -1
  771. package/esm/highlevel/methods/messages/send-copy-group.js.map +1 -1
  772. package/esm/highlevel/methods/messages/send-copy.js.map +1 -1
  773. package/esm/highlevel/methods/messages/send-media-group.js +5 -2
  774. package/esm/highlevel/methods/messages/send-media-group.js.map +1 -1
  775. package/esm/highlevel/methods/messages/send-media.js +4 -2
  776. package/esm/highlevel/methods/messages/send-media.js.map +1 -1
  777. package/esm/highlevel/methods/messages/send-quote.js.map +1 -1
  778. package/esm/highlevel/methods/messages/send-text.js +4 -2
  779. package/esm/highlevel/methods/messages/send-text.js.map +1 -1
  780. package/esm/highlevel/methods/messages/send-typing.d.ts +4 -0
  781. package/esm/highlevel/methods/messages/send-typing.js +2 -1
  782. package/esm/highlevel/methods/messages/send-typing.js.map +1 -1
  783. package/esm/highlevel/methods/messages/send-vote.js.map +1 -1
  784. package/esm/highlevel/methods/messages/translate-text.js.map +1 -1
  785. package/esm/highlevel/methods/messages/unpin-all-messages.js.map +1 -1
  786. package/esm/highlevel/methods/misc/chain-id.d.ts +4 -1
  787. package/esm/highlevel/methods/misc/get-collectible-info.d.ts +6 -0
  788. package/esm/highlevel/methods/misc/get-collectible-info.js +22 -0
  789. package/esm/highlevel/methods/misc/get-collectible-info.js.map +1 -0
  790. package/esm/highlevel/methods/misc/normalize-privacy-rules.js.map +1 -1
  791. package/esm/highlevel/methods/misc/normalize-text.d.ts +5 -1
  792. package/esm/highlevel/methods/misc/normalize-text.js.map +1 -1
  793. package/esm/highlevel/methods/misc/with-params.js.map +1 -1
  794. package/esm/highlevel/methods/password/change-cloud-password.js.map +1 -1
  795. package/esm/highlevel/methods/password/enable-cloud-password.js.map +1 -1
  796. package/esm/highlevel/methods/password/remove-cloud-password.js.map +1 -1
  797. package/esm/highlevel/methods/premium/can-apply-boost.js.map +1 -1
  798. package/esm/highlevel/methods/premium/create-business-chat-link.d.ts +12 -0
  799. package/esm/highlevel/methods/premium/create-business-chat-link.js +22 -0
  800. package/esm/highlevel/methods/premium/create-business-chat-link.js.map +1 -0
  801. package/esm/highlevel/methods/premium/edit-business-chat-link.d.ts +20 -0
  802. package/esm/highlevel/methods/premium/edit-business-chat-link.js +37 -0
  803. package/esm/highlevel/methods/premium/edit-business-chat-link.js.map +1 -0
  804. package/esm/highlevel/methods/premium/get-business-chat-links.d.ts +6 -0
  805. package/esm/highlevel/methods/premium/get-business-chat-links.js +10 -0
  806. package/esm/highlevel/methods/premium/get-business-chat-links.js.map +1 -0
  807. package/esm/highlevel/methods/premium/get-business-connection.d.ts +8 -0
  808. package/esm/highlevel/methods/premium/get-business-connection.js +21 -0
  809. package/esm/highlevel/methods/premium/get-business-connection.js.map +1 -0
  810. package/esm/highlevel/methods/premium/iter-boosters.js.map +1 -1
  811. package/esm/highlevel/methods/premium/set-business-intro.d.ts +22 -0
  812. package/esm/highlevel/methods/premium/set-business-intro.js +38 -0
  813. package/esm/highlevel/methods/premium/set-business-intro.js.map +1 -0
  814. package/esm/highlevel/methods/premium/set-business-work-hours.d.ts +18 -0
  815. package/esm/highlevel/methods/premium/set-business-work-hours.js +29 -0
  816. package/esm/highlevel/methods/premium/set-business-work-hours.js.map +1 -0
  817. package/esm/highlevel/methods/stickers/_utils.d.ts +10 -0
  818. package/esm/highlevel/methods/stickers/_utils.js +23 -0
  819. package/esm/highlevel/methods/stickers/_utils.js.map +1 -0
  820. package/esm/highlevel/methods/stickers/add-sticker-to-set.d.ts +1 -2
  821. package/esm/highlevel/methods/stickers/add-sticker-to-set.js +4 -18
  822. package/esm/highlevel/methods/stickers/add-sticker-to-set.js.map +1 -1
  823. package/esm/highlevel/methods/stickers/create-sticker-set.d.ts +0 -3
  824. package/esm/highlevel/methods/stickers/create-sticker-set.js +3 -20
  825. package/esm/highlevel/methods/stickers/create-sticker-set.js.map +1 -1
  826. package/esm/highlevel/methods/stickers/delete-sticker-from-set.d.ts +1 -2
  827. package/esm/highlevel/methods/stickers/delete-sticker-from-set.js +1 -2
  828. package/esm/highlevel/methods/stickers/delete-sticker-from-set.js.map +1 -1
  829. package/esm/highlevel/methods/stickers/get-custom-emojis.js.map +1 -1
  830. package/esm/highlevel/methods/stickers/get-installed-stickers.d.ts +1 -2
  831. package/esm/highlevel/methods/stickers/get-installed-stickers.js +1 -2
  832. package/esm/highlevel/methods/stickers/get-installed-stickers.js.map +1 -1
  833. package/esm/highlevel/methods/stickers/get-my-sticker-sets.d.ts +13 -0
  834. package/esm/highlevel/methods/stickers/get-my-sticker-sets.js +17 -0
  835. package/esm/highlevel/methods/stickers/get-my-sticker-sets.js.map +1 -0
  836. package/esm/highlevel/methods/stickers/get-sticker-set.d.ts +2 -2
  837. package/esm/highlevel/methods/stickers/get-sticker-set.js +2 -2
  838. package/esm/highlevel/methods/stickers/get-sticker-set.js.map +1 -1
  839. package/esm/highlevel/methods/stickers/move-sticker-in-set.d.ts +2 -3
  840. package/esm/highlevel/methods/stickers/move-sticker-in-set.js +2 -3
  841. package/esm/highlevel/methods/stickers/move-sticker-in-set.js.map +1 -1
  842. package/esm/highlevel/methods/stickers/replace-sticker-in-set.d.ts +24 -0
  843. package/esm/highlevel/methods/stickers/replace-sticker-in-set.js +28 -0
  844. package/esm/highlevel/methods/stickers/replace-sticker-in-set.js.map +1 -0
  845. package/esm/highlevel/methods/stories/can-send-story.js.map +1 -1
  846. package/esm/highlevel/methods/stories/edit-story.js.map +1 -1
  847. package/esm/highlevel/methods/stories/find-in-update.d.ts +5 -1
  848. package/esm/highlevel/methods/stories/find-in-update.js.map +1 -1
  849. package/esm/highlevel/methods/stories/hide-my-stories-views.js.map +1 -1
  850. package/esm/highlevel/methods/stories/iter-all-stories.js.map +1 -1
  851. package/esm/highlevel/methods/stories/iter-profile-stories.js.map +1 -1
  852. package/esm/highlevel/methods/stories/iter-story-viewers.js.map +1 -1
  853. package/esm/highlevel/methods/stories/send-story.js.map +1 -1
  854. package/esm/highlevel/methods/users/delete-profile-photos.js.map +1 -1
  855. package/esm/highlevel/methods/users/get-users.js.map +1 -1
  856. package/esm/highlevel/methods/users/iter-profile-photos.js.map +1 -1
  857. package/esm/highlevel/methods/users/resolve-peer-many.js.map +1 -1
  858. package/esm/highlevel/methods/users/resolve-peer.js.map +1 -1
  859. package/esm/highlevel/methods/users/set-my-birthday.d.ts +12 -0
  860. package/esm/highlevel/methods/users/set-my-birthday.js +18 -0
  861. package/esm/highlevel/methods/users/set-my-birthday.js.map +1 -0
  862. package/esm/highlevel/methods/users/set-my-emoji-status.js.map +1 -1
  863. package/esm/highlevel/methods/users/set-my-profile-photo.js.map +1 -1
  864. package/esm/highlevel/methods.d.ts +12 -0
  865. package/esm/highlevel/methods.js +12 -0
  866. package/esm/highlevel/methods.js.map +1 -1
  867. package/esm/highlevel/storage/service/current-user.js +2 -0
  868. package/esm/highlevel/storage/service/current-user.js.map +1 -1
  869. package/esm/highlevel/storage/service/peers.js +5 -1
  870. package/esm/highlevel/storage/service/peers.js.map +1 -1
  871. package/esm/highlevel/storage/service/ref-messages.js +3 -0
  872. package/esm/highlevel/storage/service/ref-messages.js.map +1 -1
  873. package/esm/highlevel/storage/service/updates.js +1 -0
  874. package/esm/highlevel/storage/service/updates.js.map +1 -1
  875. package/esm/highlevel/storage/storage.d.ts +8 -3
  876. package/esm/highlevel/storage/storage.js +17 -4
  877. package/esm/highlevel/storage/storage.js.map +1 -1
  878. package/esm/highlevel/types/auth/sent-code.d.ts +7 -2
  879. package/esm/highlevel/types/auth/sent-code.js +15 -0
  880. package/esm/highlevel/types/auth/sent-code.js.map +1 -1
  881. package/esm/highlevel/types/bots/game-high-score.js +2 -0
  882. package/esm/highlevel/types/bots/game-high-score.js.map +1 -1
  883. package/esm/highlevel/types/bots/inline-message/factories.d.ts +5 -1
  884. package/esm/highlevel/types/bots/inline-message/factories.js.map +1 -1
  885. package/esm/highlevel/types/bots/inline-result/factories.d.ts +4 -1
  886. package/esm/highlevel/types/bots/inline-result/factories.js.map +1 -1
  887. package/esm/highlevel/types/bots/keyboards/builder.js +2 -1
  888. package/esm/highlevel/types/bots/keyboards/builder.js.map +1 -1
  889. package/esm/highlevel/types/bots/keyboards/factories.d.ts +7 -1
  890. package/esm/highlevel/types/bots/keyboards/factories.js.map +1 -1
  891. package/esm/highlevel/types/calls/discard-reason.d.ts +5 -0
  892. package/esm/highlevel/types/calls/discard-reason.js.map +1 -1
  893. package/esm/highlevel/types/conversation.js +13 -7
  894. package/esm/highlevel/types/conversation.js.map +1 -1
  895. package/esm/highlevel/types/errors.js +3 -0
  896. package/esm/highlevel/types/errors.js.map +1 -1
  897. package/esm/highlevel/types/files/file-location.js +3 -0
  898. package/esm/highlevel/types/files/file-location.js.map +1 -1
  899. package/esm/highlevel/types/files/uploaded-file.d.ts +2 -0
  900. package/esm/highlevel/types/files/uploaded-file.js +1 -1
  901. package/esm/highlevel/types/files/uploaded-file.js.map +1 -1
  902. package/esm/highlevel/types/files/utils.d.ts +6 -5
  903. package/esm/highlevel/types/files/utils.js.map +1 -1
  904. package/esm/highlevel/types/files/web-document.js +1 -0
  905. package/esm/highlevel/types/files/web-document.js.map +1 -1
  906. package/esm/highlevel/types/media/audio.js +3 -2
  907. package/esm/highlevel/types/media/audio.js.map +1 -1
  908. package/esm/highlevel/types/media/contact.js +2 -1
  909. package/esm/highlevel/types/media/contact.js.map +1 -1
  910. package/esm/highlevel/types/media/dice.js +125 -124
  911. package/esm/highlevel/types/media/dice.js.map +1 -1
  912. package/esm/highlevel/types/media/document-utils.d.ts +5 -0
  913. package/esm/highlevel/types/media/document-utils.js +7 -1
  914. package/esm/highlevel/types/media/document-utils.js.map +1 -1
  915. package/esm/highlevel/types/media/document.js +2 -4
  916. package/esm/highlevel/types/media/document.js.map +1 -1
  917. package/esm/highlevel/types/media/game.js +2 -1
  918. package/esm/highlevel/types/media/game.js.map +1 -1
  919. package/esm/highlevel/types/media/input-media/types.d.ts +2 -2
  920. package/esm/highlevel/types/media/input-media/types.js.map +1 -1
  921. package/esm/highlevel/types/media/invoice.js +4 -1
  922. package/esm/highlevel/types/media/invoice.js.map +1 -1
  923. package/esm/highlevel/types/media/location.js +4 -5
  924. package/esm/highlevel/types/media/location.js.map +1 -1
  925. package/esm/highlevel/types/media/photo.js +8 -1
  926. package/esm/highlevel/types/media/photo.js.map +1 -1
  927. package/esm/highlevel/types/media/poll.d.ts +17 -6
  928. package/esm/highlevel/types/media/poll.js +68 -18
  929. package/esm/highlevel/types/media/poll.js.map +1 -1
  930. package/esm/highlevel/types/media/sticker.js +3 -1
  931. package/esm/highlevel/types/media/sticker.js.map +1 -1
  932. package/esm/highlevel/types/media/story.js +3 -1
  933. package/esm/highlevel/types/media/story.js.map +1 -1
  934. package/esm/highlevel/types/media/thumbnail.js +35 -22
  935. package/esm/highlevel/types/media/thumbnail.js.map +1 -1
  936. package/esm/highlevel/types/media/venue.js +2 -1
  937. package/esm/highlevel/types/media/venue.js.map +1 -1
  938. package/esm/highlevel/types/media/video.js +3 -1
  939. package/esm/highlevel/types/media/video.js.map +1 -1
  940. package/esm/highlevel/types/media/voice.js +2 -1
  941. package/esm/highlevel/types/media/voice.js.map +1 -1
  942. package/esm/highlevel/types/media/web-page.js +2 -1
  943. package/esm/highlevel/types/media/web-page.js.map +1 -1
  944. package/esm/highlevel/types/messages/dialog.js +4 -12
  945. package/esm/highlevel/types/messages/dialog.js.map +1 -1
  946. package/esm/highlevel/types/messages/draft-message.js +1 -0
  947. package/esm/highlevel/types/messages/draft-message.js.map +1 -1
  948. package/esm/highlevel/types/messages/input-message-id.d.ts +5 -0
  949. package/esm/highlevel/types/messages/message-action.d.ts +19 -2
  950. package/esm/highlevel/types/messages/message-action.js +6 -0
  951. package/esm/highlevel/types/messages/message-action.js.map +1 -1
  952. package/esm/highlevel/types/messages/message-entity.js +2 -0
  953. package/esm/highlevel/types/messages/message-entity.js.map +1 -1
  954. package/esm/highlevel/types/messages/message-forward.js +2 -0
  955. package/esm/highlevel/types/messages/message-forward.js.map +1 -1
  956. package/esm/highlevel/types/messages/message-media.d.ts +4 -0
  957. package/esm/highlevel/types/messages/message-media.js.map +1 -1
  958. package/esm/highlevel/types/messages/message-reactions.js +4 -0
  959. package/esm/highlevel/types/messages/message-reactions.js.map +1 -1
  960. package/esm/highlevel/types/messages/message-replies.js +2 -0
  961. package/esm/highlevel/types/messages/message-replies.js.map +1 -1
  962. package/esm/highlevel/types/messages/message.d.ts +59 -1
  963. package/esm/highlevel/types/messages/message.js +102 -1
  964. package/esm/highlevel/types/messages/message.js.map +1 -1
  965. package/esm/highlevel/types/messages/replied-message.js +2 -0
  966. package/esm/highlevel/types/messages/replied-message.js.map +1 -1
  967. package/esm/highlevel/types/misc/collectible-info.d.ts +27 -0
  968. package/esm/highlevel/types/misc/collectible-info.js +43 -0
  969. package/esm/highlevel/types/misc/collectible-info.js.map +1 -0
  970. package/esm/highlevel/types/misc/entities.d.ts +7 -0
  971. package/esm/highlevel/types/misc/entities.js +13 -1
  972. package/esm/highlevel/types/misc/entities.js.map +1 -1
  973. package/esm/highlevel/types/misc/index.d.ts +1 -0
  974. package/esm/highlevel/types/misc/index.js +1 -0
  975. package/esm/highlevel/types/misc/index.js.map +1 -1
  976. package/esm/highlevel/types/misc/sticker-set.d.ts +8 -1
  977. package/esm/highlevel/types/misc/sticker-set.js +45 -8
  978. package/esm/highlevel/types/misc/sticker-set.js.map +1 -1
  979. package/esm/highlevel/types/misc/takeout-session.js +5 -0
  980. package/esm/highlevel/types/misc/takeout-session.js.map +1 -1
  981. package/esm/highlevel/types/peers/chat-colors.js +2 -0
  982. package/esm/highlevel/types/peers/chat-colors.js.map +1 -1
  983. package/esm/highlevel/types/peers/chat-event/actions.d.ts +3 -0
  984. package/esm/highlevel/types/peers/chat-event/actions.js.map +1 -1
  985. package/esm/highlevel/types/peers/chat-event/filters.d.ts +2 -0
  986. package/esm/highlevel/types/peers/chat-event/filters.js.map +1 -1
  987. package/esm/highlevel/types/peers/chat-event/index.js +2 -0
  988. package/esm/highlevel/types/peers/chat-event/index.js.map +1 -1
  989. package/esm/highlevel/types/peers/chat-invite-link-member.js +2 -0
  990. package/esm/highlevel/types/peers/chat-invite-link-member.js.map +1 -1
  991. package/esm/highlevel/types/peers/chat-invite-link.js +2 -0
  992. package/esm/highlevel/types/peers/chat-invite-link.js.map +1 -1
  993. package/esm/highlevel/types/peers/chat-location.js +1 -0
  994. package/esm/highlevel/types/peers/chat-location.js.map +1 -1
  995. package/esm/highlevel/types/peers/chat-member.js +2 -0
  996. package/esm/highlevel/types/peers/chat-member.js.map +1 -1
  997. package/esm/highlevel/types/peers/chat-permissions.js +1 -0
  998. package/esm/highlevel/types/peers/chat-permissions.js.map +1 -1
  999. package/esm/highlevel/types/peers/chat-photo.js +5 -0
  1000. package/esm/highlevel/types/peers/chat-photo.js.map +1 -1
  1001. package/esm/highlevel/types/peers/chat-preview.js +2 -0
  1002. package/esm/highlevel/types/peers/chat-preview.js.map +1 -1
  1003. package/esm/highlevel/types/peers/chat.d.ts +7 -93
  1004. package/esm/highlevel/types/peers/chat.js +10 -192
  1005. package/esm/highlevel/types/peers/chat.js.map +1 -1
  1006. package/esm/highlevel/types/peers/forum-topic.js +9 -6
  1007. package/esm/highlevel/types/peers/forum-topic.js.map +1 -1
  1008. package/esm/highlevel/types/peers/full-chat.d.ts +103 -0
  1009. package/esm/highlevel/types/peers/full-chat.js +234 -0
  1010. package/esm/highlevel/types/peers/full-chat.js.map +1 -0
  1011. package/esm/highlevel/types/peers/index.d.ts +1 -0
  1012. package/esm/highlevel/types/peers/index.js +1 -0
  1013. package/esm/highlevel/types/peers/index.js.map +1 -1
  1014. package/esm/highlevel/types/peers/peer.js.map +1 -1
  1015. package/esm/highlevel/types/peers/peers-index.js +3 -1
  1016. package/esm/highlevel/types/peers/peers-index.js.map +1 -1
  1017. package/esm/highlevel/types/peers/user.d.ts +5 -0
  1018. package/esm/highlevel/types/peers/user.js +12 -1
  1019. package/esm/highlevel/types/peers/user.js.map +1 -1
  1020. package/esm/highlevel/types/premium/boost-slot.js +2 -0
  1021. package/esm/highlevel/types/premium/boost-slot.js.map +1 -1
  1022. package/esm/highlevel/types/premium/boost-stats.js +1 -0
  1023. package/esm/highlevel/types/premium/boost-stats.js.map +1 -1
  1024. package/esm/highlevel/types/premium/boost.js +2 -0
  1025. package/esm/highlevel/types/premium/boost.js.map +1 -1
  1026. package/esm/highlevel/types/premium/business-account.d.ts +19 -0
  1027. package/esm/highlevel/types/premium/business-account.js +42 -0
  1028. package/esm/highlevel/types/premium/business-account.js.map +1 -0
  1029. package/esm/highlevel/types/premium/business-chat-link.d.ts +19 -0
  1030. package/esm/highlevel/types/premium/business-chat-link.js +36 -0
  1031. package/esm/highlevel/types/premium/business-chat-link.js.map +1 -0
  1032. package/esm/highlevel/types/premium/business-connection.d.ts +23 -0
  1033. package/esm/highlevel/types/premium/business-connection.js +42 -0
  1034. package/esm/highlevel/types/premium/business-connection.js.map +1 -0
  1035. package/esm/highlevel/types/premium/business-intro.d.ts +22 -0
  1036. package/esm/highlevel/types/premium/business-intro.js +40 -0
  1037. package/esm/highlevel/types/premium/business-intro.js.map +1 -0
  1038. package/esm/highlevel/types/premium/business-location.d.ts +10 -0
  1039. package/esm/highlevel/types/premium/business-location.js +23 -0
  1040. package/esm/highlevel/types/premium/business-location.js.map +1 -0
  1041. package/esm/highlevel/types/premium/business-work-hours.d.ts +42 -0
  1042. package/esm/highlevel/types/premium/business-work-hours.js +137 -0
  1043. package/esm/highlevel/types/premium/business-work-hours.js.map +1 -0
  1044. package/esm/highlevel/types/premium/index.d.ts +5 -0
  1045. package/esm/highlevel/types/premium/index.js +5 -0
  1046. package/esm/highlevel/types/premium/index.js.map +1 -1
  1047. package/esm/highlevel/types/reactions/emoji-status.js +1 -0
  1048. package/esm/highlevel/types/reactions/emoji-status.js.map +1 -1
  1049. package/esm/highlevel/types/reactions/peer-reaction.js +2 -0
  1050. package/esm/highlevel/types/reactions/peer-reaction.js.map +1 -1
  1051. package/esm/highlevel/types/reactions/reaction-count.js +1 -0
  1052. package/esm/highlevel/types/reactions/reaction-count.js.map +1 -1
  1053. package/esm/highlevel/types/reactions/types.js.map +1 -1
  1054. package/esm/highlevel/types/stories/all-stories.d.ts +2 -2
  1055. package/esm/highlevel/types/stories/all-stories.js +3 -1
  1056. package/esm/highlevel/types/stories/all-stories.js.map +1 -1
  1057. package/esm/highlevel/types/stories/interactive/base.js +1 -0
  1058. package/esm/highlevel/types/stories/interactive/base.js.map +1 -1
  1059. package/esm/highlevel/types/stories/interactive/channel-post.js +3 -1
  1060. package/esm/highlevel/types/stories/interactive/channel-post.js.map +1 -1
  1061. package/esm/highlevel/types/stories/interactive/index.js.map +1 -1
  1062. package/esm/highlevel/types/stories/interactive/input.js +1 -0
  1063. package/esm/highlevel/types/stories/interactive/input.js.map +1 -1
  1064. package/esm/highlevel/types/stories/interactive/location.js +2 -1
  1065. package/esm/highlevel/types/stories/interactive/location.js.map +1 -1
  1066. package/esm/highlevel/types/stories/interactive/reaction.js +2 -1
  1067. package/esm/highlevel/types/stories/interactive/reaction.js.map +1 -1
  1068. package/esm/highlevel/types/stories/interactive/venue.js +2 -1
  1069. package/esm/highlevel/types/stories/interactive/venue.js.map +1 -1
  1070. package/esm/highlevel/types/stories/peer-stories.js +2 -0
  1071. package/esm/highlevel/types/stories/peer-stories.js.map +1 -1
  1072. package/esm/highlevel/types/stories/stealth-mode.js +1 -0
  1073. package/esm/highlevel/types/stories/stealth-mode.js.map +1 -1
  1074. package/esm/highlevel/types/stories/story-interactions.js +2 -0
  1075. package/esm/highlevel/types/stories/story-interactions.js.map +1 -1
  1076. package/esm/highlevel/types/stories/story-viewer.d.ts +1 -1
  1077. package/esm/highlevel/types/stories/story-viewer.js +6 -0
  1078. package/esm/highlevel/types/stories/story-viewer.js.map +1 -1
  1079. package/esm/highlevel/types/stories/story.js +2 -0
  1080. package/esm/highlevel/types/stories/story.js.map +1 -1
  1081. package/esm/highlevel/types/updates/bot-chat-join-request.js +2 -0
  1082. package/esm/highlevel/types/updates/bot-chat-join-request.js.map +1 -1
  1083. package/esm/highlevel/types/updates/bot-reaction.js +4 -0
  1084. package/esm/highlevel/types/updates/bot-reaction.js.map +1 -1
  1085. package/esm/highlevel/types/updates/bot-stopped.js +2 -0
  1086. package/esm/highlevel/types/updates/bot-stopped.js.map +1 -1
  1087. package/esm/highlevel/types/updates/business-message.d.ts +18 -0
  1088. package/esm/highlevel/types/updates/business-message.js +31 -0
  1089. package/esm/highlevel/types/updates/business-message.js.map +1 -0
  1090. package/esm/highlevel/types/updates/callback-query.js +4 -0
  1091. package/esm/highlevel/types/updates/callback-query.js.map +1 -1
  1092. package/esm/highlevel/types/updates/chat-join-request.js +2 -0
  1093. package/esm/highlevel/types/updates/chat-join-request.js.map +1 -1
  1094. package/esm/highlevel/types/updates/chat-member-update.js +2 -0
  1095. package/esm/highlevel/types/updates/chat-member-update.js.map +1 -1
  1096. package/esm/highlevel/types/updates/chosen-inline-result.js +2 -0
  1097. package/esm/highlevel/types/updates/chosen-inline-result.js.map +1 -1
  1098. package/esm/highlevel/types/updates/delete-business-message-update.d.ts +21 -0
  1099. package/esm/highlevel/types/updates/delete-business-message-update.js +34 -0
  1100. package/esm/highlevel/types/updates/delete-business-message-update.js.map +1 -0
  1101. package/esm/highlevel/types/updates/delete-message-update.js +1 -0
  1102. package/esm/highlevel/types/updates/delete-message-update.js.map +1 -1
  1103. package/esm/highlevel/types/updates/delete-story-update.js +2 -0
  1104. package/esm/highlevel/types/updates/delete-story-update.js.map +1 -1
  1105. package/esm/highlevel/types/updates/history-read-update.js +1 -0
  1106. package/esm/highlevel/types/updates/history-read-update.js.map +1 -1
  1107. package/esm/highlevel/types/updates/index.d.ts +19 -2
  1108. package/esm/highlevel/types/updates/index.js +3 -1
  1109. package/esm/highlevel/types/updates/index.js.map +1 -1
  1110. package/esm/highlevel/types/updates/inline-query.js +2 -0
  1111. package/esm/highlevel/types/updates/inline-query.js.map +1 -1
  1112. package/esm/highlevel/types/updates/parse-update.d.ts +4 -1
  1113. package/esm/highlevel/types/updates/parse-update.js +9 -1
  1114. package/esm/highlevel/types/updates/parse-update.js.map +1 -1
  1115. package/esm/highlevel/types/updates/poll-update.js +4 -2
  1116. package/esm/highlevel/types/updates/poll-update.js.map +1 -1
  1117. package/esm/highlevel/types/updates/poll-vote.js +2 -0
  1118. package/esm/highlevel/types/updates/poll-vote.js.map +1 -1
  1119. package/esm/highlevel/types/updates/pre-checkout-query.js +2 -0
  1120. package/esm/highlevel/types/updates/pre-checkout-query.js.map +1 -1
  1121. package/esm/highlevel/types/updates/story-update.js +2 -0
  1122. package/esm/highlevel/types/updates/story-update.js.map +1 -1
  1123. package/esm/highlevel/types/updates/user-status-update.js +1 -0
  1124. package/esm/highlevel/types/updates/user-status-update.js.map +1 -1
  1125. package/esm/highlevel/types/updates/user-typing-update.js +1 -0
  1126. package/esm/highlevel/types/updates/user-typing-update.js.map +1 -1
  1127. package/esm/highlevel/updates/manager.d.ts +0 -1
  1128. package/esm/highlevel/updates/manager.js +57 -30
  1129. package/esm/highlevel/updates/manager.js.map +1 -1
  1130. package/esm/highlevel/updates/parsed.js +8 -2
  1131. package/esm/highlevel/updates/parsed.js.map +1 -1
  1132. package/esm/highlevel/updates/types.d.ts +57 -0
  1133. package/esm/highlevel/updates/utils.d.ts +2 -0
  1134. package/esm/highlevel/updates/utils.js.map +1 -1
  1135. package/esm/highlevel/utils/convert-file-id.js.map +1 -1
  1136. package/esm/highlevel/utils/entities.js.map +1 -1
  1137. package/esm/highlevel/utils/file-type.d.ts +1 -0
  1138. package/esm/highlevel/utils/file-type.js +34 -0
  1139. package/esm/highlevel/utils/file-type.js.map +1 -1
  1140. package/esm/highlevel/utils/file-utils.js +1 -1
  1141. package/esm/highlevel/utils/file-utils.js.map +1 -1
  1142. package/esm/highlevel/utils/inline-utils.js.map +1 -1
  1143. package/esm/highlevel/utils/inspectable.js +4 -0
  1144. package/esm/highlevel/utils/inspectable.js.map +1 -1
  1145. package/esm/highlevel/utils/memoize.js.map +1 -1
  1146. package/esm/highlevel/utils/peer-utils.js.map +1 -1
  1147. package/esm/highlevel/utils/query-batcher.js.map +1 -1
  1148. package/esm/highlevel/utils/rps-meter.js +3 -0
  1149. package/esm/highlevel/utils/rps-meter.js.map +1 -1
  1150. package/esm/highlevel/utils/stream-utils.js.map +1 -1
  1151. package/esm/highlevel/utils/string-session.d.ts +1 -2
  1152. package/esm/highlevel/utils/string-session.js +27 -7
  1153. package/esm/highlevel/utils/string-session.js.map +1 -1
  1154. package/esm/highlevel/utils/voice-utils.js.map +1 -1
  1155. package/esm/highlevel/worker/app-config.d.ts +2 -3
  1156. package/esm/highlevel/worker/app-config.js +6 -3
  1157. package/esm/highlevel/worker/app-config.js.map +1 -1
  1158. package/esm/highlevel/worker/errors.js.map +1 -1
  1159. package/esm/highlevel/worker/invoker.js +3 -2
  1160. package/esm/highlevel/worker/invoker.js.map +1 -1
  1161. package/esm/highlevel/worker/port.d.ts +16 -17
  1162. package/esm/highlevel/worker/port.js +74 -49
  1163. package/esm/highlevel/worker/port.js.map +1 -1
  1164. package/esm/highlevel/worker/protocol.d.ts +1 -2
  1165. package/esm/highlevel/worker/protocol.js.map +1 -1
  1166. package/esm/highlevel/worker/storage.d.ts +9 -13
  1167. package/esm/highlevel/worker/storage.js +34 -19
  1168. package/esm/highlevel/worker/storage.js.map +1 -1
  1169. package/esm/highlevel/worker/worker.js +3 -0
  1170. package/esm/highlevel/worker/worker.js.map +1 -1
  1171. package/esm/network/auth-key.js +8 -1
  1172. package/esm/network/auth-key.js.map +1 -1
  1173. package/esm/network/authorization.js.map +1 -1
  1174. package/esm/network/client.d.ts +0 -1
  1175. package/esm/network/client.js +39 -14
  1176. package/esm/network/client.js.map +1 -1
  1177. package/esm/network/config-manager.js.map +1 -1
  1178. package/esm/network/mtproto-session.d.ts +0 -1
  1179. package/esm/network/mtproto-session.js +40 -30
  1180. package/esm/network/mtproto-session.js.map +1 -1
  1181. package/esm/network/multi-session-connection.d.ts +1 -2
  1182. package/esm/network/multi-session-connection.js +13 -7
  1183. package/esm/network/multi-session-connection.js.map +1 -1
  1184. package/esm/network/network-manager.d.ts +10 -3
  1185. package/esm/network/network-manager.js +57 -31
  1186. package/esm/network/network-manager.js.map +1 -1
  1187. package/esm/network/persistent-connection.d.ts +2 -3
  1188. package/esm/network/persistent-connection.js +33 -22
  1189. package/esm/network/persistent-connection.js.map +1 -1
  1190. package/esm/network/server-salt.js +4 -5
  1191. package/esm/network/server-salt.js.map +1 -1
  1192. package/esm/network/session-connection.d.ts +1 -1
  1193. package/esm/network/session-connection.js +32 -12
  1194. package/esm/network/session-connection.js.map +1 -1
  1195. package/esm/network/transports/abstract.d.ts +1 -2
  1196. package/esm/network/transports/abstract.js +1 -0
  1197. package/esm/network/transports/abstract.js.map +1 -1
  1198. package/esm/network/transports/intermediate.js +1 -0
  1199. package/esm/network/transports/intermediate.js.map +1 -1
  1200. package/esm/network/transports/obfuscated.js +3 -0
  1201. package/esm/network/transports/obfuscated.js.map +1 -1
  1202. package/esm/network/transports/streamed.d.ts +0 -1
  1203. package/esm/network/transports/streamed.js +1 -4
  1204. package/esm/network/transports/streamed.js.map +1 -1
  1205. package/esm/network/transports/wrapped.d.ts +0 -1
  1206. package/esm/network/transports/wrapped.js +2 -0
  1207. package/esm/network/transports/wrapped.js.map +1 -1
  1208. package/esm/platform.js.map +1 -1
  1209. package/esm/storage/driver.js +3 -4
  1210. package/esm/storage/driver.js.map +1 -1
  1211. package/esm/storage/memory/driver.js +1 -3
  1212. package/esm/storage/memory/driver.js.map +1 -1
  1213. package/esm/storage/memory/index.js +5 -7
  1214. package/esm/storage/memory/index.js.map +1 -1
  1215. package/esm/storage/memory/repository/auth-keys.d.ts +1 -1
  1216. package/esm/storage/memory/repository/auth-keys.js +2 -0
  1217. package/esm/storage/memory/repository/auth-keys.js.map +1 -1
  1218. package/esm/storage/memory/repository/kv.d.ts +1 -1
  1219. package/esm/storage/memory/repository/kv.js +2 -0
  1220. package/esm/storage/memory/repository/kv.js.map +1 -1
  1221. package/esm/storage/memory/repository/peers.d.ts +1 -1
  1222. package/esm/storage/memory/repository/peers.js +2 -0
  1223. package/esm/storage/memory/repository/peers.js.map +1 -1
  1224. package/esm/storage/memory/repository/ref-messages.d.ts +1 -1
  1225. package/esm/storage/memory/repository/ref-messages.js +2 -0
  1226. package/esm/storage/memory/repository/ref-messages.js.map +1 -1
  1227. package/esm/storage/service/auth-keys.js +2 -0
  1228. package/esm/storage/service/auth-keys.js.map +1 -1
  1229. package/esm/storage/service/base.js +4 -0
  1230. package/esm/storage/service/base.js.map +1 -1
  1231. package/esm/storage/service/default-dcs.js +2 -0
  1232. package/esm/storage/service/default-dcs.js.map +1 -1
  1233. package/esm/storage/service/future-salts.js +2 -1
  1234. package/esm/storage/service/future-salts.js.map +1 -1
  1235. package/esm/storage/sqlite/driver.js +10 -10
  1236. package/esm/storage/sqlite/driver.js.map +1 -1
  1237. package/esm/storage/sqlite/index.d.ts +1 -1
  1238. package/esm/storage/sqlite/index.js +5 -0
  1239. package/esm/storage/sqlite/index.js.map +1 -1
  1240. package/esm/storage/sqlite/repository/auth-keys.js +9 -0
  1241. package/esm/storage/sqlite/repository/auth-keys.js.map +1 -1
  1242. package/esm/storage/sqlite/repository/kv.js +5 -0
  1243. package/esm/storage/sqlite/repository/kv.js.map +1 -1
  1244. package/esm/storage/sqlite/repository/peers.js +7 -2
  1245. package/esm/storage/sqlite/repository/peers.js.map +1 -1
  1246. package/esm/storage/sqlite/repository/ref-messages.d.ts +1 -1
  1247. package/esm/storage/sqlite/repository/ref-messages.js +6 -0
  1248. package/esm/storage/sqlite/repository/ref-messages.js.map +1 -1
  1249. package/esm/storage/storage.d.ts +22 -3
  1250. package/esm/storage/storage.js +21 -13
  1251. package/esm/storage/storage.js.map +1 -1
  1252. package/esm/types/errors.js +13 -0
  1253. package/esm/types/errors.js.map +1 -1
  1254. package/esm/types/utils.d.ts +1 -0
  1255. package/esm/types/utils.js.map +1 -1
  1256. package/esm/utils/async-lock.js +1 -3
  1257. package/esm/utils/async-lock.js.map +1 -1
  1258. package/esm/utils/bigint-utils.js.map +1 -1
  1259. package/esm/utils/binary/asn1-parser.js.map +1 -1
  1260. package/esm/utils/buffer-utils.js.map +1 -1
  1261. package/esm/utils/condition-variable.js +2 -0
  1262. package/esm/utils/condition-variable.js.map +1 -1
  1263. package/esm/utils/crypto/factorization.js.map +1 -1
  1264. package/esm/utils/crypto/keys.js.map +1 -1
  1265. package/esm/utils/crypto/miller-rabin.js.map +1 -1
  1266. package/esm/utils/crypto/password.js.map +1 -1
  1267. package/esm/utils/crypto/utils.js.map +1 -1
  1268. package/esm/utils/dcs.js +1 -1
  1269. package/esm/utils/dcs.js.map +1 -1
  1270. package/esm/utils/deque.js +8 -2
  1271. package/esm/utils/deque.js.map +1 -1
  1272. package/esm/utils/early-timer.js +4 -1
  1273. package/esm/utils/early-timer.js.map +1 -1
  1274. package/esm/utils/error-reporting.js.map +1 -1
  1275. package/esm/utils/function-utils.js.map +1 -1
  1276. package/esm/utils/linked-list.js +4 -1
  1277. package/esm/utils/linked-list.js.map +1 -1
  1278. package/esm/utils/links/bots.js.map +1 -1
  1279. package/esm/utils/links/chat.js.map +1 -1
  1280. package/esm/utils/links/common.js.map +1 -1
  1281. package/esm/utils/links/misc.js.map +1 -1
  1282. package/esm/utils/logger.d.ts +2 -2
  1283. package/esm/utils/logger.js +21 -14
  1284. package/esm/utils/logger.js.map +1 -1
  1285. package/esm/utils/long-utils.js +2 -6
  1286. package/esm/utils/long-utils.js.map +1 -1
  1287. package/esm/utils/lru-map.js +5 -1
  1288. package/esm/utils/lru-map.js.map +1 -1
  1289. package/esm/utils/lru-set.js +4 -0
  1290. package/esm/utils/lru-set.js.map +1 -1
  1291. package/esm/utils/peer-utils.js.map +1 -1
  1292. package/esm/utils/reloadable.d.ts +0 -1
  1293. package/esm/utils/reloadable.js +10 -7
  1294. package/esm/utils/reloadable.js.map +1 -1
  1295. package/esm/utils/sorted-array.js +2 -0
  1296. package/esm/utils/sorted-array.js.map +1 -1
  1297. package/esm/utils/tl-json.js.map +1 -1
  1298. package/esm/utils/type-assertions.js.map +1 -1
  1299. package/index.d.ts +1 -0
  1300. package/index.js +1 -0
  1301. package/methods.d.ts +1 -0
  1302. package/methods.js +1 -0
  1303. package/package.json +13 -13
  1304. package/platform.d.ts +1 -0
  1305. package/platform.js +1 -0
  1306. package/utils.d.ts +1 -0
  1307. package/utils.js +1 -0
  1308. package/worker.d.ts +1 -0
  1309. package/worker.js +1 -0
@@ -0,0 +1,38 @@
1
+ import { LruMap } from '../../../utils/lru-map.js';
2
+ import { getBusinessConnection } from '../premium/get-business-connection.js';
3
+ // temporary solution
4
+ // todo – rework once we have either a more generic caching solution
5
+ const DC_MAP_SYMBOL = Symbol('dcMap');
6
+ const getDcMap = (client) => {
7
+ const client_ = client;
8
+ if (!client_[DC_MAP_SYMBOL]) {
9
+ client_[DC_MAP_SYMBOL] = new LruMap(50);
10
+ }
11
+ return client_[DC_MAP_SYMBOL];
12
+ };
13
+ // @available=both
14
+ /**
15
+ * @internal
16
+ */
17
+ export async function _maybeInvokeWithBusinessConnection(client, businessConnectionId, request, params) {
18
+ if (!businessConnectionId) {
19
+ return client.call(request, params);
20
+ }
21
+ const dcMap = getDcMap(client);
22
+ if (!dcMap.has(businessConnectionId)) {
23
+ const res = await getBusinessConnection(client, businessConnectionId);
24
+ dcMap.set(businessConnectionId, res.dcId);
25
+ }
26
+ const dcId = dcMap.get(businessConnectionId);
27
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return
28
+ return client.call({
29
+ _: 'invokeWithBusinessConnection',
30
+ connectionId: businessConnectionId,
31
+ query: request,
32
+ }, {
33
+ ...params,
34
+ localMigrate: true, // just in case
35
+ dcId,
36
+ });
37
+ }
38
+ //# sourceMappingURL=_business-connection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_business-connection.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/_business-connection.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAElD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAA;AAE7E,qBAAqB;AACrB,oEAAoE;AACpE,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;AAErC,MAAM,QAAQ,GAAG,CAAC,MAAuB,EAA0B,EAAE;IACjE,MAAM,OAAO,GAAG,MAAsE,CAAA;IAEtF,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,MAAM,CAAC,EAAE,CAAC,CAAA;IAC3C,CAAC;IAED,OAAO,OAAO,CAAC,aAAa,CAAC,CAAA;AACjC,CAAC,CAAA;AAED,kBAAkB;AAClB;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kCAAkC,CACpD,MAAuB,EACvB,oBAAwC,EACxC,OAAU,EACV,MAAuB;IAEvB,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACxB,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IACvC,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;IAE9B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,CAAC;QACnC,MAAM,GAAG,GAAG,MAAM,qBAAqB,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;QAErE,KAAK,CAAC,GAAG,CAAC,oBAAoB,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;IAC7C,CAAC;IAED,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,oBAAoB,CAAE,CAAA;IAE7C,+DAA+D;IAC/D,OAAO,MAAM,CAAC,IAAI,CACd;QACI,CAAC,EAAE,8BAA8B;QACjC,YAAY,EAAE,oBAAoB;QAClC,KAAK,EAAE,OAAO;KACjB,EACD;QACI,GAAG,MAAM;QACT,YAAY,EAAE,IAAI,EAAE,eAAe;QACnC,IAAI;KACP,CACJ,CAAA;AACL,CAAC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { RpcCallOptions } from '../../../network/network-manager.js'\nimport { LruMap } from '../../../utils/lru-map.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { getBusinessConnection } from '../premium/get-business-connection.js'\n\n// temporary solution\n// todo – rework once we have either a more generic caching solution\nconst DC_MAP_SYMBOL = Symbol('dcMap')\n\nconst getDcMap = (client: ITelegramClient): LruMap<string, number> => {\n const client_ = client as typeof client & { [DC_MAP_SYMBOL]?: LruMap<string, number> }\n\n if (!client_[DC_MAP_SYMBOL]) {\n client_[DC_MAP_SYMBOL] = new LruMap(50)\n }\n\n return client_[DC_MAP_SYMBOL]\n}\n\n// @available=both\n/**\n * @internal\n */\nexport async function _maybeInvokeWithBusinessConnection<T extends tl.RpcMethod>(\n client: ITelegramClient,\n businessConnectionId: string | undefined,\n request: T,\n params?: RpcCallOptions,\n): Promise<tl.RpcCallReturn[T['_']]> {\n if (!businessConnectionId) {\n return client.call(request, params)\n }\n\n const dcMap = getDcMap(client)\n\n if (!dcMap.has(businessConnectionId)) {\n const res = await getBusinessConnection(client, businessConnectionId)\n\n dcMap.set(businessConnectionId, res.dcId)\n }\n\n const dcId = dcMap.get(businessConnectionId)!\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return client.call(\n {\n _: 'invokeWithBusinessConnection',\n connectionId: businessConnectionId,\n query: request,\n },\n {\n ...params,\n localMigrate: true, // just in case\n dcId,\n },\n )\n}\n"]}
@@ -22,7 +22,7 @@ export async function closePoll(client, params) {
22
22
  _: 'poll',
23
23
  id: Long.ZERO,
24
24
  closed: true,
25
- question: '',
25
+ question: { _: 'textWithEntities', text: '', entities: [] },
26
26
  answers: [],
27
27
  },
28
28
  },
@@ -1 +1 @@
1
- {"version":3,"file":"close-poll.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/close-poll.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AAEvB,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AAEhE,OAAO,EAAkB,uBAAuB,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAChG,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAEtD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC3B,MAAuB,EACvB,MAMC;IAED,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAA;IAE3D,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC1B,CAAC,EAAE,sBAAsB;QACzB,IAAI,EAAE,MAAM,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC;QACvC,EAAE,EAAE,OAAO;QACX,KAAK,EAAE;YACH,CAAC,EAAE,gBAAgB;YACnB,IAAI,EAAE;gBACF,CAAC,EAAE,MAAM;gBACT,EAAE,EAAE,IAAI,CAAC,IAAI;gBACb,MAAM,EAAE,IAAI;gBACZ,QAAQ,EAAE,EAAE;gBACZ,OAAO,EAAE,EAAE;aACd;SACJ;KACJ,CAAC,CAAA;IAEF,oBAAoB,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAA;IAEjD,MAAM,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;IAEtD,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IAC1B,YAAY,CAAC,sCAAsC,EAAE,GAAG,EAAE,mBAAmB,CAAC,CAAA;IAE9E,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;QACX,MAAM,IAAI,oBAAoB,CAAC,2CAA2C,EAAE,MAAM,EAAE,WAAW,CAAC,CAAA;KACnG;IAED,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAElC,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;AACjD,CAAC","sourcesContent":["import Long from 'long'\n\nimport { MtTypeAssertionError } from '../../../types/errors.js'\nimport { assertTypeIs } from '../../../utils/type-assertions.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputMessageId, normalizeInputMessageId, PeersIndex, Poll } from '../../types/index.js'\nimport { assertIsUpdatesGroup } from '../../updates/utils.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\n\n/**\n * Close a poll sent by you.\n *\n * Once closed, poll can't be re-opened, and nobody\n * will be able to vote in it\n */\nexport async function closePoll(\n client: ITelegramClient,\n params: InputMessageId & {\n /**\n * Whether to dispatch the edit message event\n * to the client's update handler.\n */\n shouldDispatch?: true\n },\n): Promise<Poll> {\n const { chatId, message } = normalizeInputMessageId(params)\n\n const res = await client.call({\n _: 'messages.editMessage',\n peer: await resolvePeer(client, chatId),\n id: message,\n media: {\n _: 'inputMediaPoll',\n poll: {\n _: 'poll',\n id: Long.ZERO,\n closed: true,\n question: '',\n answers: [],\n },\n },\n })\n\n assertIsUpdatesGroup('messages.editMessage', res)\n\n client.handleClientUpdate(res, !params.shouldDispatch)\n\n const upd = res.updates[0]\n assertTypeIs('messages.editMessage (@ .updates[0])', upd, 'updateMessagePoll')\n\n if (!upd.poll) {\n throw new MtTypeAssertionError('messages.editMessage (@ .updates[0].poll)', 'poll', 'undefined')\n }\n\n const peers = PeersIndex.from(res)\n\n return new Poll(upd.poll, peers, upd.results)\n}\n"]}
1
+ {"version":3,"file":"close-poll.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/close-poll.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AAEvB,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AAEhE,OAAO,EAAkB,uBAAuB,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAChG,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAEtD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC3B,MAAuB,EACvB,MAMC;IAED,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAA;IAE3D,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC1B,CAAC,EAAE,sBAAsB;QACzB,IAAI,EAAE,MAAM,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC;QACvC,EAAE,EAAE,OAAO;QACX,KAAK,EAAE;YACH,CAAC,EAAE,gBAAgB;YACnB,IAAI,EAAE;gBACF,CAAC,EAAE,MAAM;gBACT,EAAE,EAAE,IAAI,CAAC,IAAI;gBACb,MAAM,EAAE,IAAI;gBACZ,QAAQ,EAAE,EAAE,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;gBAC3D,OAAO,EAAE,EAAE;aACd;SACJ;KACJ,CAAC,CAAA;IAEF,oBAAoB,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAA;IAEjD,MAAM,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;IAEtD,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IAC1B,YAAY,CAAC,sCAAsC,EAAE,GAAG,EAAE,mBAAmB,CAAC,CAAA;IAE9E,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACZ,MAAM,IAAI,oBAAoB,CAAC,2CAA2C,EAAE,MAAM,EAAE,WAAW,CAAC,CAAA;IACpG,CAAC;IAED,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAElC,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;AACjD,CAAC","sourcesContent":["import Long from 'long'\n\nimport { MtTypeAssertionError } from '../../../types/errors.js'\nimport { assertTypeIs } from '../../../utils/type-assertions.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputMessageId, normalizeInputMessageId, PeersIndex, Poll } from '../../types/index.js'\nimport { assertIsUpdatesGroup } from '../../updates/utils.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\n\n/**\n * Close a poll sent by you.\n *\n * Once closed, poll can't be re-opened, and nobody\n * will be able to vote in it\n */\nexport async function closePoll(\n client: ITelegramClient,\n params: InputMessageId & {\n /**\n * Whether to dispatch the edit message event\n * to the client's update handler.\n */\n shouldDispatch?: true\n },\n): Promise<Poll> {\n const { chatId, message } = normalizeInputMessageId(params)\n\n const res = await client.call({\n _: 'messages.editMessage',\n peer: await resolvePeer(client, chatId),\n id: message,\n media: {\n _: 'inputMediaPoll',\n poll: {\n _: 'poll',\n id: Long.ZERO,\n closed: true,\n question: { _: 'textWithEntities', text: '', entities: [] },\n answers: [],\n },\n },\n })\n\n assertIsUpdatesGroup('messages.editMessage', res)\n\n client.handleClientUpdate(res, !params.shouldDispatch)\n\n const upd = res.updates[0]\n assertTypeIs('messages.editMessage (@ .updates[0])', upd, 'updateMessagePoll')\n\n if (!upd.poll) {\n throw new MtTypeAssertionError('messages.editMessage (@ .updates[0].poll)', 'poll', 'undefined')\n }\n\n const peers = PeersIndex.from(res)\n\n return new Poll(upd.poll, peers, upd.results)\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"delete-messages.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/delete-messages.ts"],"names":[],"mappings":"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","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputPeerLike, Message } from '../../types/index.js'\nimport { createDummyUpdate } from '../../updates/utils.js'\nimport { isInputPeerChannel, toInputChannel } from '../../utils/peer-utils.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\nimport { deleteScheduledMessages } from './delete-scheduled-messages.js'\n\n// @exported\nexport interface DeleteMessagesParams {\n /**\n * Whether to \"revoke\" (i.e. delete for both sides).\n * Only used for chats and private chats.\n *\n * @default true\n */\n revoke?: boolean\n}\n\n/**\n * Delete messages by their IDs\n *\n * @param chatId Chat's marked ID, its username, phone or `\"me\"` or `\"self\"`.\n * @param ids Message(s) ID(s) to delete.\n */\nexport async function deleteMessagesById(\n client: ITelegramClient,\n chatId: InputPeerLike,\n ids: number[],\n params?: DeleteMessagesParams,\n): Promise<void> {\n const { revoke = true } = params ?? {}\n\n const peer = await resolvePeer(client, chatId)\n\n let upd\n\n if (isInputPeerChannel(peer)) {\n const channel = toInputChannel(peer)\n const res = await client.call({\n _: 'channels.deleteMessages',\n channel,\n id: ids,\n })\n upd = createDummyUpdate(res.pts, res.ptsCount, peer.channelId)\n } else {\n const res = await client.call({\n _: 'messages.deleteMessages',\n id: ids,\n revoke,\n })\n upd = createDummyUpdate(res.pts, res.ptsCount)\n }\n\n client.handleClientUpdate(upd)\n}\n\n/**\n * Delete one or more {@link Message}\n *\n * @param messages Message(s) to delete\n */\nexport async function deleteMessages(\n client: ITelegramClient,\n messages: Message[],\n params?: DeleteMessagesParams,\n): Promise<void> {\n if (messages.length === 1) {\n return deleteMessagesById(client, messages[0].chat.inputPeer, [messages[0].id], params)\n }\n\n const byChat = new Map<number, [tl.TypeInputPeer, number[]]>()\n const byChatScheduled = new Map<number, [tl.TypeInputPeer, number[]]>()\n\n for (const msg of messages) {\n const map = msg.isScheduled ? byChatScheduled : byChat\n\n if (!map.has(msg.chat.id)) {\n map.set(msg.chat.id, [msg.chat.inputPeer, []])\n }\n map.get(msg.chat.id)![1].push(msg.id)\n }\n\n for (const [peer, ids] of byChat.values()) {\n await deleteMessagesById(client, peer, ids, params)\n }\n\n for (const [peer, ids] of byChatScheduled.values()) {\n await deleteScheduledMessages(client, peer, ids)\n }\n}\n"]}
1
+ {"version":3,"file":"delete-messages.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/delete-messages.ts"],"names":[],"mappings":"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","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputPeerLike, Message } from '../../types/index.js'\nimport { createDummyUpdate } from '../../updates/utils.js'\nimport { isInputPeerChannel, toInputChannel } from '../../utils/peer-utils.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\nimport { deleteScheduledMessages } from './delete-scheduled-messages.js'\n\n// @exported\nexport interface DeleteMessagesParams {\n /**\n * Whether to \"revoke\" (i.e. delete for both sides).\n * Only used for chats and private chats.\n *\n * @default true\n */\n revoke?: boolean\n}\n\n/**\n * Delete messages by their IDs\n *\n * @param chatId Chat's marked ID, its username, phone or `\"me\"` or `\"self\"`.\n * @param ids Message(s) ID(s) to delete.\n */\nexport async function deleteMessagesById(\n client: ITelegramClient,\n chatId: InputPeerLike,\n ids: number[],\n params?: DeleteMessagesParams,\n): Promise<void> {\n const { revoke = true } = params ?? {}\n\n const peer = await resolvePeer(client, chatId)\n\n let upd\n\n if (isInputPeerChannel(peer)) {\n const channel = toInputChannel(peer)\n const res = await client.call({\n _: 'channels.deleteMessages',\n channel,\n id: ids,\n })\n upd = createDummyUpdate(res.pts, res.ptsCount, peer.channelId)\n } else {\n const res = await client.call({\n _: 'messages.deleteMessages',\n id: ids,\n revoke,\n })\n upd = createDummyUpdate(res.pts, res.ptsCount)\n }\n\n client.handleClientUpdate(upd)\n}\n\n/**\n * Delete one or more {@link Message}\n *\n * @param messages Message(s) to delete\n */\nexport async function deleteMessages(\n client: ITelegramClient,\n messages: Message[],\n params?: DeleteMessagesParams,\n): Promise<void> {\n if (messages.length === 1) {\n return deleteMessagesById(client, messages[0].chat.inputPeer, [messages[0].id], params)\n }\n\n const byChat = new Map<number, [tl.TypeInputPeer, number[]]>()\n const byChatScheduled = new Map<number, [tl.TypeInputPeer, number[]]>()\n\n for (const msg of messages) {\n const map = msg.isScheduled ? byChatScheduled : byChat\n\n if (!map.has(msg.chat.id)) {\n map.set(msg.chat.id, [msg.chat.inputPeer, []])\n }\n map.get(msg.chat.id)![1].push(msg.id)\n }\n\n for (const [peer, ids] of byChat.values()) {\n await deleteMessagesById(client, peer, ids, params)\n }\n\n for (const [peer, ids] of byChatScheduled.values()) {\n await deleteScheduledMessages(client, peer, ids)\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"edit-inline-message.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/edit-inline-message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAA;AAG/B,OAAO,EAAE,WAAW,EAA0C,MAAM,sBAAsB,CAAA;AAC1F,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAA;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAE/D;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACnC,MAAuB,EACvB,MA6CC;IAED,IAAI,OAAO,GAAuB,SAAS,CAAA;IAC3C,IAAI,QAA4C,CAAA;IAChD,IAAI,KAAK,GAAkC,SAAS,CAAA;IAEpD,MAAM,EAAE,GAAG,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IAE9C,IAAI,MAAM,CAAC,KAAK,EAAE;QACd,KAAK,GAAG,MAAM,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;QAEtE,wEAAwE;QACxE,+EAA+E;QAC/E,IAAI,SAAS,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE;YACjE,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;SAChF;KACJ;SAAM,IAAI,MAAM,CAAC,IAAI,EAAE;QACpB,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;KACvE;IAED,IAAI,OAAO,GAAG,CAAC,CAAA;IAEf,OAAO,OAAO,EAAE,EAAE;QACd,IAAI;YACA,MAAM,MAAM,CAAC,IAAI,CACb;gBACI,CAAC,EAAE,+BAA+B;gBAClC,EAAE;gBACF,SAAS,EAAE,MAAM,CAAC,iBAAiB;gBACnC,WAAW,EAAE,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC;gBACzD,OAAO,EAAE,OAAO;gBAChB,QAAQ;gBACR,KAAK;gBACL,WAAW,EAAE,MAAM,CAAC,WAAW;aAClC,EACD,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CACpB,CAAA;YAED,OAAM;SACT;QAAC,OAAO,CAAC,EAAE;YACR,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE;gBAClC,SAAQ;aACX;YAED,MAAM,CAAC,CAAA;SACV;KACJ;AACL,CAAC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { ITelegramClient } from '../../client.types.js'\nimport { BotKeyboard, InputMediaLike, InputText, ReplyMarkup } from '../../types/index.js'\nimport { normalizeInlineId } from '../../utils/inline-utils.js'\nimport { _normalizeInputMedia } from '../files/normalize-input-media.js'\nimport { _normalizeInputText } from '../misc/normalize-text.js'\n\n/**\n * Edit sent inline message text, media and reply markup.\n *\n * @param messageId\n * Inline message ID, either as a TL object, or as a\n * TDLib and Bot API compatible string\n * @param params\n */\nexport async function editInlineMessage(\n client: ITelegramClient,\n params: {\n /**\n * Inline message ID, either as a TL object, or as a\n * TDLib and Bot API compatible string\n */\n messageId: tl.TypeInputBotInlineMessageID | string\n\n /**\n * New message text\n *\n * When `media` is passed, `media.caption` is used instead\n */\n text?: InputText\n\n /**\n * New message media\n */\n media?: InputMediaLike\n\n /**\n * Whether to disable links preview in this message\n */\n disableWebPreview?: boolean\n\n /**\n * Whether to invert media position.\n *\n * Currently only supported for web previews and makes the\n * client render the preview above the caption and not below.\n */\n invertMedia?: boolean\n\n /**\n * For bots: new reply markup.\n * If omitted, existing markup will be removed.\n */\n replyMarkup?: ReplyMarkup\n\n /**\n * For media, upload progress callback.\n *\n * @param uploaded Number of bytes uploaded\n * @param total Total file size in bytes\n */\n progressCallback?: (uploaded: number, total: number) => void\n },\n): Promise<void> {\n let content: string | undefined = undefined\n let entities: tl.TypeMessageEntity[] | undefined\n let media: tl.TypeInputMedia | undefined = undefined\n\n const id = normalizeInlineId(params.messageId)\n\n if (params.media) {\n media = await _normalizeInputMedia(client, params.media, params, true)\n\n // if there's no caption in input media (i.e. not present or undefined),\n // user wants to keep current caption, thus `content` needs to stay `undefined`\n if ('caption' in params.media && params.media.caption !== undefined) {\n [content, entities] = await _normalizeInputText(client, params.media.caption)\n }\n } else if (params.text) {\n [content, entities] = await _normalizeInputText(client, params.text)\n }\n\n let retries = 3\n\n while (retries--) {\n try {\n await client.call(\n {\n _: 'messages.editInlineBotMessage',\n id,\n noWebpage: params.disableWebPreview,\n replyMarkup: BotKeyboard._convertToTl(params.replyMarkup),\n message: content,\n entities,\n media,\n invertMedia: params.invertMedia,\n },\n { dcId: id.dcId },\n )\n\n return\n } catch (e) {\n if (tl.RpcError.is(e, 'MEDIA_EMPTY')) {\n continue\n }\n\n throw e\n }\n }\n}\n"]}
1
+ {"version":3,"file":"edit-inline-message.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/edit-inline-message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAA;AAG/B,OAAO,EAAE,WAAW,EAA0C,MAAM,sBAAsB,CAAA;AAC1F,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAA;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAE/D;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACnC,MAAuB,EACvB,MA6CC;IAED,IAAI,OAAO,GAAuB,SAAS,CAAA;IAC3C,IAAI,QAA4C,CAAA;IAChD,IAAI,KAAK,GAAkC,SAAS,CAAA;IAEpD,MAAM,EAAE,GAAG,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IAE9C,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,KAAK,GAAG,MAAM,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;QAEtE,wEAAwE;QACxE,+EAA+E;QAC/E,IAAI,SAAS,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAClE,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACjF,CAAC;IACL,CAAC;SAAM,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QACrB,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;IACxE,CAAC;IAED,IAAI,OAAO,GAAG,CAAC,CAAA;IAEf,OAAO,OAAO,EAAE,EAAE,CAAC;QACf,IAAI,CAAC;YACD,MAAM,MAAM,CAAC,IAAI,CACb;gBACI,CAAC,EAAE,+BAA+B;gBAClC,EAAE;gBACF,SAAS,EAAE,MAAM,CAAC,iBAAiB;gBACnC,WAAW,EAAE,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC;gBACzD,OAAO,EAAE,OAAO;gBAChB,QAAQ;gBACR,KAAK;gBACL,WAAW,EAAE,MAAM,CAAC,WAAW;aAClC,EACD,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CACpB,CAAA;YAED,OAAM;QACV,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,CAAC;gBACnC,SAAQ;YACZ,CAAC;YAED,MAAM,CAAC,CAAA;QACX,CAAC;IACL,CAAC;AACL,CAAC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { ITelegramClient } from '../../client.types.js'\nimport { BotKeyboard, InputMediaLike, InputText, ReplyMarkup } from '../../types/index.js'\nimport { normalizeInlineId } from '../../utils/inline-utils.js'\nimport { _normalizeInputMedia } from '../files/normalize-input-media.js'\nimport { _normalizeInputText } from '../misc/normalize-text.js'\n\n/**\n * Edit sent inline message text, media and reply markup.\n *\n * @param messageId\n * Inline message ID, either as a TL object, or as a\n * TDLib and Bot API compatible string\n * @param params\n */\nexport async function editInlineMessage(\n client: ITelegramClient,\n params: {\n /**\n * Inline message ID, either as a TL object, or as a\n * TDLib and Bot API compatible string\n */\n messageId: tl.TypeInputBotInlineMessageID | string\n\n /**\n * New message text\n *\n * When `media` is passed, `media.caption` is used instead\n */\n text?: InputText\n\n /**\n * New message media\n */\n media?: InputMediaLike\n\n /**\n * Whether to disable links preview in this message\n */\n disableWebPreview?: boolean\n\n /**\n * Whether to invert media position.\n *\n * Currently only supported for web previews and makes the\n * client render the preview above the caption and not below.\n */\n invertMedia?: boolean\n\n /**\n * For bots: new reply markup.\n * If omitted, existing markup will be removed.\n */\n replyMarkup?: ReplyMarkup\n\n /**\n * For media, upload progress callback.\n *\n * @param uploaded Number of bytes uploaded\n * @param total Total file size in bytes\n */\n progressCallback?: (uploaded: number, total: number) => void\n },\n): Promise<void> {\n let content: string | undefined = undefined\n let entities: tl.TypeMessageEntity[] | undefined\n let media: tl.TypeInputMedia | undefined = undefined\n\n const id = normalizeInlineId(params.messageId)\n\n if (params.media) {\n media = await _normalizeInputMedia(client, params.media, params, true)\n\n // if there's no caption in input media (i.e. not present or undefined),\n // user wants to keep current caption, thus `content` needs to stay `undefined`\n if ('caption' in params.media && params.media.caption !== undefined) {\n [content, entities] = await _normalizeInputText(client, params.media.caption)\n }\n } else if (params.text) {\n [content, entities] = await _normalizeInputText(client, params.text)\n }\n\n let retries = 3\n\n while (retries--) {\n try {\n await client.call(\n {\n _: 'messages.editInlineBotMessage',\n id,\n noWebpage: params.disableWebPreview,\n replyMarkup: BotKeyboard._convertToTl(params.replyMarkup),\n message: content,\n entities,\n media,\n invertMedia: params.invertMedia,\n },\n { dcId: id.dcId },\n )\n\n return\n } catch (e) {\n if (tl.RpcError.is(e, 'MEDIA_EMPTY')) {\n continue\n }\n\n throw e\n }\n }\n}\n"]}
@@ -51,4 +51,5 @@ export declare function editMessage(client: ITelegramClient, params: InputMessag
51
51
  * client render the preview above the caption and not below.
52
52
  */
53
53
  invertMedia?: boolean;
54
+ businessConnectionId?: string;
54
55
  }): Promise<Message>;
@@ -2,6 +2,7 @@ import { BotKeyboard, normalizeInputMessageId, } from '../../types/index.js';
2
2
  import { _normalizeInputMedia } from '../files/normalize-input-media.js';
3
3
  import { _normalizeInputText } from '../misc/normalize-text.js';
4
4
  import { resolvePeer } from '../users/resolve-peer.js';
5
+ import { _maybeInvokeWithBusinessConnection } from './_business-connection.js';
5
6
  import { _findMessageInUpdate } from './find-in-update.js';
6
7
  /**
7
8
  * Edit message text, media, reply markup and schedule date.
@@ -26,7 +27,7 @@ export async function editMessage(client, params) {
26
27
  if (params.text) {
27
28
  [content, entities] = await _normalizeInputText(client, params.text);
28
29
  }
29
- const res = await client.call({
30
+ const res = await _maybeInvokeWithBusinessConnection(client, params.businessConnectionId, {
30
31
  _: 'messages.editMessage',
31
32
  id: message,
32
33
  peer: await resolvePeer(client, chatId),
@@ -1 +1 @@
1
- {"version":3,"file":"edit-message.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/edit-message.ts"],"names":[],"mappings":"AAGA,OAAO,EACH,WAAW,EAKX,uBAAuB,GAE1B,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAA;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAE1D;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC7B,MAAuB,EACvB,MAmDC;IAED,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAA;IAC3D,IAAI,OAAO,GAAuB,SAAS,CAAA;IAC3C,IAAI,QAA4C,CAAA;IAChD,IAAI,KAAK,GAAkC,SAAS,CAAA;IAEpD,IAAI,MAAM,CAAC,KAAK,EAAE;QACd,KAAK,GAAG,MAAM,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QAEhE,wEAAwE;QACxE,+EAA+E;QAC/E,IAAI,SAAS,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE;YACjE,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;SAChF;KACJ;IAED,IAAI,MAAM,CAAC,IAAI,EAAE;QACb,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;KACvE;IAED,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC1B,CAAC,EAAE,sBAAsB;QACzB,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,MAAM,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC;QACvC,SAAS,EAAE,MAAM,CAAC,iBAAiB;QACnC,WAAW,EAAE,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC;QACzD,OAAO,EAAE,OAAO;QAChB,QAAQ;QACR,KAAK;QACL,WAAW,EAAE,MAAM,CAAC,WAAW;KAClC,CAAC,CAAA;IAEF,OAAO,oBAAoB,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;AAC1E,CAAC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { ITelegramClient } from '../../client.types.js'\nimport {\n BotKeyboard,\n InputMediaLike,\n InputMessageId,\n InputText,\n Message,\n normalizeInputMessageId,\n ReplyMarkup,\n} from '../../types/index.js'\nimport { _normalizeInputMedia } from '../files/normalize-input-media.js'\nimport { _normalizeInputText } from '../misc/normalize-text.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\nimport { _findMessageInUpdate } from './find-in-update.js'\n\n/**\n * Edit message text, media, reply markup and schedule date.\n *\n * @param chatId ID of the chat, its username, phone or `\"me\"` or `\"self\"`\n * @param message Message or its ID\n * @param params\n */\nexport async function editMessage(\n client: ITelegramClient,\n params: InputMessageId & {\n /**\n * New message text\n *\n * When `media` is passed, `media.caption` is used instead\n */\n text?: InputText\n\n /**\n * New message media\n */\n media?: InputMediaLike\n\n /**\n * Whether to disable links preview in this message\n */\n disableWebPreview?: boolean\n\n /**\n * For bots: new reply markup.\n * If omitted, existing markup will be removed.\n */\n replyMarkup?: ReplyMarkup\n\n /**\n * To re-schedule a message: new schedule date.\n * When passing a number, a UNIX time in ms is expected.\n */\n scheduleDate?: Date | number\n\n /**\n * For media, upload progress callback.\n *\n * @param uploaded Number of bytes uploaded\n * @param total Total file size in bytes\n */\n progressCallback?: (uploaded: number, total: number) => void\n\n /**\n * Whether to dispatch the edit message event\n * to the client's update handler.\n */\n shouldDispatch?: true\n\n /**\n * Whether to invert media position.\n *\n * Currently only supported for web previews and makes the\n * client render the preview above the caption and not below.\n */\n invertMedia?: boolean\n },\n): Promise<Message> {\n const { chatId, message } = normalizeInputMessageId(params)\n let content: string | undefined = undefined\n let entities: tl.TypeMessageEntity[] | undefined\n let media: tl.TypeInputMedia | undefined = undefined\n\n if (params.media) {\n media = await _normalizeInputMedia(client, params.media, params)\n\n // if there's no caption in input media (i.e. not present or undefined),\n // user wants to keep current caption, thus `content` needs to stay `undefined`\n if ('caption' in params.media && params.media.caption !== undefined) {\n [content, entities] = await _normalizeInputText(client, params.media.caption)\n }\n }\n\n if (params.text) {\n [content, entities] = await _normalizeInputText(client, params.text)\n }\n\n const res = await client.call({\n _: 'messages.editMessage',\n id: message,\n peer: await resolvePeer(client, chatId),\n noWebpage: params.disableWebPreview,\n replyMarkup: BotKeyboard._convertToTl(params.replyMarkup),\n message: content,\n entities,\n media,\n invertMedia: params.invertMedia,\n })\n\n return _findMessageInUpdate(client, res, true, !params.shouldDispatch)\n}\n"]}
1
+ {"version":3,"file":"edit-message.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/edit-message.ts"],"names":[],"mappings":"AAGA,OAAO,EACH,WAAW,EAKX,uBAAuB,GAE1B,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAA;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,kCAAkC,EAAE,MAAM,2BAA2B,CAAA;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAE1D;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC7B,MAAuB,EACvB,MAqDC;IAED,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAA;IAC3D,IAAI,OAAO,GAAuB,SAAS,CAAA;IAC3C,IAAI,QAA4C,CAAA;IAChD,IAAI,KAAK,GAAkC,SAAS,CAAA;IAEpD,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,KAAK,GAAG,MAAM,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QAEhE,wEAAwE;QACxE,+EAA+E;QAC/E,IAAI,SAAS,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAClE,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACjF,CAAC;IACL,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QACd,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;IACxE,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,kCAAkC,CAAC,MAAM,EAAE,MAAM,CAAC,oBAAoB,EAAE;QACtF,CAAC,EAAE,sBAAsB;QACzB,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,MAAM,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC;QACvC,SAAS,EAAE,MAAM,CAAC,iBAAiB;QACnC,WAAW,EAAE,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC;QACzD,OAAO,EAAE,OAAO;QAChB,QAAQ;QACR,KAAK;QACL,WAAW,EAAE,MAAM,CAAC,WAAW;KAClC,CAAC,CAAA;IAEF,OAAO,oBAAoB,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;AAC1E,CAAC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { ITelegramClient } from '../../client.types.js'\nimport {\n BotKeyboard,\n InputMediaLike,\n InputMessageId,\n InputText,\n Message,\n normalizeInputMessageId,\n ReplyMarkup,\n} from '../../types/index.js'\nimport { _normalizeInputMedia } from '../files/normalize-input-media.js'\nimport { _normalizeInputText } from '../misc/normalize-text.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\nimport { _maybeInvokeWithBusinessConnection } from './_business-connection.js'\nimport { _findMessageInUpdate } from './find-in-update.js'\n\n/**\n * Edit message text, media, reply markup and schedule date.\n *\n * @param chatId ID of the chat, its username, phone or `\"me\"` or `\"self\"`\n * @param message Message or its ID\n * @param params\n */\nexport async function editMessage(\n client: ITelegramClient,\n params: InputMessageId & {\n /**\n * New message text\n *\n * When `media` is passed, `media.caption` is used instead\n */\n text?: InputText\n\n /**\n * New message media\n */\n media?: InputMediaLike\n\n /**\n * Whether to disable links preview in this message\n */\n disableWebPreview?: boolean\n\n /**\n * For bots: new reply markup.\n * If omitted, existing markup will be removed.\n */\n replyMarkup?: ReplyMarkup\n\n /**\n * To re-schedule a message: new schedule date.\n * When passing a number, a UNIX time in ms is expected.\n */\n scheduleDate?: Date | number\n\n /**\n * For media, upload progress callback.\n *\n * @param uploaded Number of bytes uploaded\n * @param total Total file size in bytes\n */\n progressCallback?: (uploaded: number, total: number) => void\n\n /**\n * Whether to dispatch the edit message event\n * to the client's update handler.\n */\n shouldDispatch?: true\n\n /**\n * Whether to invert media position.\n *\n * Currently only supported for web previews and makes the\n * client render the preview above the caption and not below.\n */\n invertMedia?: boolean\n\n businessConnectionId?: string\n },\n): Promise<Message> {\n const { chatId, message } = normalizeInputMessageId(params)\n let content: string | undefined = undefined\n let entities: tl.TypeMessageEntity[] | undefined\n let media: tl.TypeInputMedia | undefined = undefined\n\n if (params.media) {\n media = await _normalizeInputMedia(client, params.media, params)\n\n // if there's no caption in input media (i.e. not present or undefined),\n // user wants to keep current caption, thus `content` needs to stay `undefined`\n if ('caption' in params.media && params.media.caption !== undefined) {\n [content, entities] = await _normalizeInputText(client, params.media.caption)\n }\n }\n\n if (params.text) {\n [content, entities] = await _normalizeInputText(client, params.text)\n }\n\n const res = await _maybeInvokeWithBusinessConnection(client, params.businessConnectionId, {\n _: 'messages.editMessage',\n id: message,\n peer: await resolvePeer(client, chatId),\n noWebpage: params.disableWebPreview,\n replyMarkup: BotKeyboard._convertToTl(params.replyMarkup),\n message: content,\n entities,\n media,\n invertMedia: params.invertMedia,\n })\n\n return _findMessageInUpdate(client, res, true, !params.shouldDispatch)\n}\n"]}
@@ -1 +1,13 @@
1
- export {};
1
+ import { tl } from '@mtcute/tl';
2
+ import { ITelegramClient } from '../../client.types.js';
3
+ import { Message } from '../../types/messages/index.js';
4
+ /**
5
+ * @internal
6
+ * @noemit
7
+ */
8
+ export declare function _findMessageInUpdate(client: ITelegramClient, res: tl.TypeUpdates, isEdit?: boolean, noDispatch?: boolean, allowNull?: false, randomId?: tl.Long): Message;
9
+ /**
10
+ * @internal
11
+ * @noemit
12
+ */
13
+ export declare function _findMessageInUpdate(client: ITelegramClient, res: tl.TypeUpdates, isEdit?: boolean, noDispatch?: boolean, allowNull?: true, randomId?: tl.Long): Message | null;
@@ -16,13 +16,18 @@ export function _findMessageInUpdate(client, res, isEdit = false, noDispatch = t
16
16
  continue;
17
17
  }
18
18
  if (isEdit) {
19
- if (!(u._ === 'updateEditMessage' || u._ === 'updateEditChannelMessage'))
19
+ if (!(u._ === 'updateEditMessage' ||
20
+ u._ === 'updateEditChannelMessage' ||
21
+ u._ === 'updateBotEditBusinessMessage')) {
20
22
  continue;
23
+ }
21
24
  }
22
25
  else {
23
26
  if (!(u._ === 'updateNewMessage' ||
24
27
  u._ === 'updateNewChannelMessage' ||
25
- u._ === 'updateNewScheduledMessage')) {
28
+ u._ === 'updateNewScheduledMessage' ||
29
+ u._ === 'updateQuickReplyMessage' ||
30
+ u._ === 'updateBotNewBusinessMessage')) {
26
31
  continue;
27
32
  }
28
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"find-in-update.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/find-in-update.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAE/D,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AA2B7D;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAChC,MAAuB,EACvB,GAAmB,EACnB,MAAM,GAAG,KAAK,EACd,UAAU,GAAG,IAAI,EACjB,SAAS,GAAG,KAAK,EACjB,QAAkB;IAElB,oBAAoB,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAA;IAEjD,MAAM,CAAC,kBAAkB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;IAE1C,IAAI,YAAY,GAAG,CAAC,CAAA;IAEpB,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE;QACzB,IAAI,QAAQ,IAAI,CAAC,CAAC,CAAC,KAAK,iBAAiB,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE;YAClE,YAAY,GAAG,CAAC,CAAC,EAAE,CAAA;YACnB,SAAQ;SACX;QAED,IAAI,MAAM,EAAE;YACR,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,mBAAmB,IAAI,CAAC,CAAC,CAAC,KAAK,0BAA0B,CAAC;gBAAE,SAAQ;SACrF;aAAM;YACH,IACI,CAAC,CACG,CAAC,CAAC,CAAC,KAAK,kBAAkB;gBAC1B,CAAC,CAAC,CAAC,KAAK,yBAAyB;gBACjC,CAAC,CAAC,CAAC,KAAK,2BAA2B,CACtC,EACH;gBAAE,SAAQ;aAAE;SACjB;QAED,qEAAqE;QACrE,uDAAuD;QACvD,iEAAiE;QACjE,IAAI,YAAY,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,YAAY;YAAE,SAAQ;QAEjE,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAElC,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,2BAA2B,CAAC,CAAA;KAC5E;IAED,IAAI,SAAS;QAAE,OAAO,IAAI,CAAA;IAE1B,MAAM,IAAI,oBAAoB,CAC1B,+BAA+B,EAC/B,wEAAwE,EACxE,MAAM,CACT,CAAA;AACL,CAAC","sourcesContent":["/* eslint-disable max-params,no-lonely-if */\nimport { tl } from '@mtcute/tl'\n\nimport { MtTypeAssertionError } from '../../../types/errors.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { Message } from '../../types/messages/index.js'\nimport { PeersIndex } from '../../types/peers/index.js'\nimport { assertIsUpdatesGroup } from '../../updates/utils.js'\n\n/**\n * @internal\n * @noemit\n */\nexport function _findMessageInUpdate(\n client: ITelegramClient,\n res: tl.TypeUpdates,\n isEdit?: boolean,\n noDispatch?: boolean,\n allowNull?: false,\n randomId?: tl.Long,\n): Message\n/**\n * @internal\n * @noemit\n */\nexport function _findMessageInUpdate(\n client: ITelegramClient,\n res: tl.TypeUpdates,\n isEdit?: boolean,\n noDispatch?: boolean,\n allowNull?: true,\n randomId?: tl.Long,\n): Message | null\n\n/**\n * @internal\n * @noemit\n */\nexport function _findMessageInUpdate(\n client: ITelegramClient,\n res: tl.TypeUpdates,\n isEdit = false,\n noDispatch = true,\n allowNull = false,\n randomId?: tl.Long,\n): Message | null {\n assertIsUpdatesGroup('_findMessageInUpdate', res)\n\n client.handleClientUpdate(res, noDispatch)\n\n let ourMessageId = 0\n\n for (const u of res.updates) {\n if (randomId && u._ === 'updateMessageID' && u.randomId.eq(randomId)) {\n ourMessageId = u.id\n continue\n }\n\n if (isEdit) {\n if (!(u._ === 'updateEditMessage' || u._ === 'updateEditChannelMessage')) continue\n } else {\n if (\n !(\n u._ === 'updateNewMessage' ||\n u._ === 'updateNewChannelMessage' ||\n u._ === 'updateNewScheduledMessage'\n )\n ) { continue }\n }\n\n // this *may* break if updateMessageID comes after the message update\n // but it's unlikely and is not worth the effort to fix\n // we should eventually move to properly handling updateMessageID\n if (ourMessageId !== 0 && u.message.id !== ourMessageId) continue\n\n const peers = PeersIndex.from(res)\n\n return new Message(u.message, peers, u._ === 'updateNewScheduledMessage')\n }\n\n if (allowNull) return null\n\n throw new MtTypeAssertionError(\n '_findInUpdate (@ .updates[*])',\n 'updateNewMessage | updateNewChannelMessage | updateNewScheduledMessage',\n 'none',\n )\n}\n"]}
1
+ {"version":3,"file":"find-in-update.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/find-in-update.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAE/D,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AA2B7D;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAChC,MAAuB,EACvB,GAAmB,EACnB,MAAM,GAAG,KAAK,EACd,UAAU,GAAG,IAAI,EACjB,SAAS,GAAG,KAAK,EACjB,QAAkB;IAElB,oBAAoB,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAA;IAEjD,MAAM,CAAC,kBAAkB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;IAE1C,IAAI,YAAY,GAAG,CAAC,CAAA;IAEpB,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAC1B,IAAI,QAAQ,IAAI,CAAC,CAAC,CAAC,KAAK,iBAAiB,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnE,YAAY,GAAG,CAAC,CAAC,EAAE,CAAA;YACnB,SAAQ;QACZ,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACT,IACI,CAAC,CACG,CAAC,CAAC,CAAC,KAAK,mBAAmB;gBAC3B,CAAC,CAAC,CAAC,KAAK,0BAA0B;gBAClC,CAAC,CAAC,CAAC,KAAK,8BAA8B,CACzC,EACH,CAAC;gBACC,SAAQ;YACZ,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IACI,CAAC,CACG,CAAC,CAAC,CAAC,KAAK,kBAAkB;gBAC1B,CAAC,CAAC,CAAC,KAAK,yBAAyB;gBACjC,CAAC,CAAC,CAAC,KAAK,2BAA2B;gBACnC,CAAC,CAAC,CAAC,KAAK,yBAAyB;gBACjC,CAAC,CAAC,CAAC,KAAK,6BAA6B,CACxC,EACH,CAAC;gBACC,SAAQ;YACZ,CAAC;QACL,CAAC;QAED,qEAAqE;QACrE,uDAAuD;QACvD,iEAAiE;QACjE,IAAI,YAAY,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,YAAY;YAAE,SAAQ;QAEjE,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAElC,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,2BAA2B,CAAC,CAAA;IAC7E,CAAC;IAED,IAAI,SAAS;QAAE,OAAO,IAAI,CAAA;IAE1B,MAAM,IAAI,oBAAoB,CAC1B,+BAA+B,EAC/B,wEAAwE,EACxE,MAAM,CACT,CAAA;AACL,CAAC","sourcesContent":["/* eslint-disable max-params,no-lonely-if */\nimport { tl } from '@mtcute/tl'\n\nimport { MtTypeAssertionError } from '../../../types/errors.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { Message } from '../../types/messages/index.js'\nimport { PeersIndex } from '../../types/peers/index.js'\nimport { assertIsUpdatesGroup } from '../../updates/utils.js'\n\n/**\n * @internal\n * @noemit\n */\nexport function _findMessageInUpdate(\n client: ITelegramClient,\n res: tl.TypeUpdates,\n isEdit?: boolean,\n noDispatch?: boolean,\n allowNull?: false,\n randomId?: tl.Long,\n): Message\n/**\n * @internal\n * @noemit\n */\nexport function _findMessageInUpdate(\n client: ITelegramClient,\n res: tl.TypeUpdates,\n isEdit?: boolean,\n noDispatch?: boolean,\n allowNull?: true,\n randomId?: tl.Long,\n): Message | null\n\n/**\n * @internal\n * @noemit\n */\nexport function _findMessageInUpdate(\n client: ITelegramClient,\n res: tl.TypeUpdates,\n isEdit = false,\n noDispatch = true,\n allowNull = false,\n randomId?: tl.Long,\n): Message | null {\n assertIsUpdatesGroup('_findMessageInUpdate', res)\n\n client.handleClientUpdate(res, noDispatch)\n\n let ourMessageId = 0\n\n for (const u of res.updates) {\n if (randomId && u._ === 'updateMessageID' && u.randomId.eq(randomId)) {\n ourMessageId = u.id\n continue\n }\n\n if (isEdit) {\n if (\n !(\n u._ === 'updateEditMessage' ||\n u._ === 'updateEditChannelMessage' ||\n u._ === 'updateBotEditBusinessMessage'\n )\n ) {\n continue\n }\n } else {\n if (\n !(\n u._ === 'updateNewMessage' ||\n u._ === 'updateNewChannelMessage' ||\n u._ === 'updateNewScheduledMessage' ||\n u._ === 'updateQuickReplyMessage' ||\n u._ === 'updateBotNewBusinessMessage'\n )\n ) {\n continue\n }\n }\n\n // this *may* break if updateMessageID comes after the message update\n // but it's unlikely and is not worth the effort to fix\n // we should eventually move to properly handling updateMessageID\n if (ourMessageId !== 0 && u.message.id !== ourMessageId) continue\n\n const peers = PeersIndex.from(res)\n\n return new Message(u.message, peers, u._ === 'updateNewScheduledMessage')\n }\n\n if (allowNull) return null\n\n throw new MtTypeAssertionError(\n '_findInUpdate (@ .updates[*])',\n 'updateNewMessage | updateNewChannelMessage | updateNewScheduledMessage',\n 'none',\n )\n}\n"]}
@@ -41,6 +41,11 @@ export interface ForwardMessageOptions {
41
41
  * Peer to use when sending the message.
42
42
  */
43
43
  sendAs?: InputPeerLike;
44
+ /**
45
+ * If passed, instead of sending the message, it will be saved into the
46
+ * given quick reply shortcut (either its ID or its shortcut string).
47
+ */
48
+ quickReply?: number | string;
44
49
  /**
45
50
  * Whether to dispatch the forwarded messages
46
51
  * to the client's update handler.
@@ -4,6 +4,7 @@ import { Message, PeersIndex } from '../../types/index.js';
4
4
  import { assertIsUpdatesGroup } from '../../updates/utils.js';
5
5
  import { normalizeDate } from '../../utils/misc-utils.js';
6
6
  import { resolvePeer } from '../users/resolve-peer.js';
7
+ import { _normalizeQuickReplyShortcut } from './send-common.js';
7
8
  /**
8
9
  * Forward one or more messages by their IDs.
9
10
  * You can forward no more than 100 messages at once.
@@ -35,6 +36,7 @@ export async function forwardMessagesById(client, params) {
35
36
  dropMediaCaptions: noCaption,
36
37
  noforwards: forbidForwards,
37
38
  sendAs: sendAs ? await resolvePeer(client, sendAs) : undefined,
39
+ quickReplyShortcut: _normalizeQuickReplyShortcut(params.quickReply),
38
40
  });
39
41
  assertIsUpdatesGroup('messages.forwardMessages', res);
40
42
  client.handleClientUpdate(res, !params.shouldDispatch);
@@ -1 +1 @@
1
- {"version":3,"file":"forward-messages.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/forward-messages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAEzD,OAAO,EAAiB,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AA2DtD;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACrC,MAAuB,EACvB,MAKC;IAED,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,CAAA;IAEhH,yDAAyD;IACzD,uDAAuD;IACvD,4CAA4C;IAC5C,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,EAAE;QACvB,MAAM,IAAI,eAAe,CAAC,mDAAmD,CAAC,CAAA;KACjF;IAED,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IAElD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC1B,CAAC,EAAE,0BAA0B;QAC7B,MAAM;QACN,QAAQ,EAAE,MAAM,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC;QAC/C,EAAE,EAAE,QAAQ;QACZ,MAAM;QACN,YAAY,EAAE,aAAa,CAAC,QAAQ,CAAC;QACrC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC;QACrE,UAAU,EAAE,QAAQ;QACpB,iBAAiB,EAAE,SAAS;QAC5B,UAAU,EAAE,cAAc;QAC1B,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;KACjE,CAAC,CAAA;IAEF,oBAAoB,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAA;IAErD,MAAM,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;IAEtD,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAElC,MAAM,SAAS,GAAc,EAAE,CAAA;IAC/B,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACxB,QAAQ,GAAG,CAAC,CAAC,EAAE;YACX,KAAK,kBAAkB,CAAC;YACxB,KAAK,yBAAyB,CAAC;YAC/B,KAAK,2BAA2B;gBAC5B,SAAS,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,KAAK,2BAA2B,CAAC,CAAC,CAAA;gBACtF,MAAK;SACZ;IACL,CAAC,CAAC,CAAA;IAEF,OAAO,SAAS,CAAA;AACpB,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACjC,MAAuB,EACvB,MAEC;IAED,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAA;IAEpC,OAAO,mBAAmB,CAAC,MAAM,EAAE;QAC/B,GAAG,IAAI;QACP,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS;QACtC,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;KACxC,CAAC,CAAA;AACN,CAAC","sourcesContent":["import { MtArgumentError } from '../../../types/errors.js'\nimport { randomLong } from '../../../utils/long-utils.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputPeerLike, Message, PeersIndex } from '../../types/index.js'\nimport { assertIsUpdatesGroup } from '../../updates/utils.js'\nimport { normalizeDate } from '../../utils/misc-utils.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\n\n// @exported\nexport interface ForwardMessageOptions {\n /** Destination chat ID, username, phone, `\"me\"` or `\"self\"` */\n toChatId: InputPeerLike\n\n /**\n * Whether to forward silently (also applies to caption message).\n */\n silent?: boolean\n\n /**\n * If set, the forwarding will be scheduled to this date\n * (also applies to caption message).\n * When passing a number, a UNIX time in ms is expected.\n *\n * You can also pass `0x7FFFFFFE`, this will send the message\n * once the peer is online\n */\n schedule?: Date | number\n\n /**\n * Whether to clear draft after sending this message (only used for caption)\n *\n * @default `false`\n */\n clearDraft?: boolean\n\n /**\n * Whether to forward without author\n */\n noAuthor?: boolean\n\n /**\n * Whether to forward without caption (implies {@link noAuthor})\n */\n noCaption?: boolean\n\n /**\n * Whether to disallow further forwards of this message.\n *\n * Only for bots, works even if the target chat does not\n * have content protection.\n */\n forbidForwards?: boolean\n\n /**\n * Peer to use when sending the message.\n */\n sendAs?: InputPeerLike\n\n /**\n * Whether to dispatch the forwarded messages\n * to the client's update handler.\n */\n shouldDispatch?: true\n}\n\n/**\n * Forward one or more messages by their IDs.\n * You can forward no more than 100 messages at once.\n *\n * @param toChatId Destination chat ID, username, phone, `\"me\"` or `\"self\"`\n * @param fromChatId Source chat ID, username, phone, `\"me\"` or `\"self\"`\n * @param messages Message IDs\n * @param params Additional sending parameters\n * @returns Newly sent, forwarded messages in the destination chat.\n */\nexport async function forwardMessagesById(\n client: ITelegramClient,\n params: ForwardMessageOptions & {\n /** Source chat ID, username, phone, `\"me\"` or `\"self\"` */\n fromChatId: InputPeerLike\n /** Message IDs to forward */\n messages: number[]\n },\n): Promise<Message[]> {\n const { messages, toChatId, fromChatId, silent, schedule, forbidForwards, sendAs, noAuthor, noCaption } = params\n\n // sending more than 100 will not result in a server-sent\n // error, instead only first 100 IDs will be forwarded,\n // which is definitely not the best outcome.\n if (messages.length > 100) {\n throw new MtArgumentError('You can forward no more than 100 messages at once')\n }\n\n const toPeer = await resolvePeer(client, toChatId)\n\n const res = await client.call({\n _: 'messages.forwardMessages',\n toPeer,\n fromPeer: await resolvePeer(client, fromChatId),\n id: messages,\n silent,\n scheduleDate: normalizeDate(schedule),\n randomId: Array.from({ length: messages.length }, () => randomLong()),\n dropAuthor: noAuthor,\n dropMediaCaptions: noCaption,\n noforwards: forbidForwards,\n sendAs: sendAs ? await resolvePeer(client, sendAs) : undefined,\n })\n\n assertIsUpdatesGroup('messages.forwardMessages', res)\n\n client.handleClientUpdate(res, !params.shouldDispatch)\n\n const peers = PeersIndex.from(res)\n\n const forwarded: Message[] = []\n res.updates.forEach((upd) => {\n switch (upd._) {\n case 'updateNewMessage':\n case 'updateNewChannelMessage':\n case 'updateNewScheduledMessage':\n forwarded.push(new Message(upd.message, peers, upd._ === 'updateNewScheduledMessage'))\n break\n }\n })\n\n return forwarded\n}\n\n/**\n * Forward one or more {@link Message}s to another chat.\n *\n * > **Note**: all messages must be from the same chat.\n */\nexport async function forwardMessages(\n client: ITelegramClient,\n params: ForwardMessageOptions & {\n messages: Message[]\n },\n): Promise<Message[]> {\n const { messages, ...rest } = params\n\n return forwardMessagesById(client, {\n ...rest,\n fromChatId: messages[0].chat.inputPeer,\n messages: messages.map((it) => it.id),\n })\n}\n"]}
1
+ {"version":3,"file":"forward-messages.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/forward-messages.ts"],"names":[],"mappings":"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","sourcesContent":["import { MtArgumentError } from '../../../types/errors.js'\nimport { randomLong } from '../../../utils/long-utils.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputPeerLike, Message, PeersIndex } from '../../types/index.js'\nimport { assertIsUpdatesGroup } from '../../updates/utils.js'\nimport { normalizeDate } from '../../utils/misc-utils.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\nimport { _normalizeQuickReplyShortcut } from './send-common.js'\n\n// @exported\nexport interface ForwardMessageOptions {\n /** Destination chat ID, username, phone, `\"me\"` or `\"self\"` */\n toChatId: InputPeerLike\n\n /**\n * Whether to forward silently (also applies to caption message).\n */\n silent?: boolean\n\n /**\n * If set, the forwarding will be scheduled to this date\n * (also applies to caption message).\n * When passing a number, a UNIX time in ms is expected.\n *\n * You can also pass `0x7FFFFFFE`, this will send the message\n * once the peer is online\n */\n schedule?: Date | number\n\n /**\n * Whether to clear draft after sending this message (only used for caption)\n *\n * @default `false`\n */\n clearDraft?: boolean\n\n /**\n * Whether to forward without author\n */\n noAuthor?: boolean\n\n /**\n * Whether to forward without caption (implies {@link noAuthor})\n */\n noCaption?: boolean\n\n /**\n * Whether to disallow further forwards of this message.\n *\n * Only for bots, works even if the target chat does not\n * have content protection.\n */\n forbidForwards?: boolean\n\n /**\n * Peer to use when sending the message.\n */\n sendAs?: InputPeerLike\n\n /**\n * If passed, instead of sending the message, it will be saved into the\n * given quick reply shortcut (either its ID or its shortcut string).\n */\n quickReply?: number | string\n\n /**\n * Whether to dispatch the forwarded messages\n * to the client's update handler.\n */\n shouldDispatch?: true\n}\n\n/**\n * Forward one or more messages by their IDs.\n * You can forward no more than 100 messages at once.\n *\n * @param toChatId Destination chat ID, username, phone, `\"me\"` or `\"self\"`\n * @param fromChatId Source chat ID, username, phone, `\"me\"` or `\"self\"`\n * @param messages Message IDs\n * @param params Additional sending parameters\n * @returns Newly sent, forwarded messages in the destination chat.\n */\nexport async function forwardMessagesById(\n client: ITelegramClient,\n params: ForwardMessageOptions & {\n /** Source chat ID, username, phone, `\"me\"` or `\"self\"` */\n fromChatId: InputPeerLike\n /** Message IDs to forward */\n messages: number[]\n },\n): Promise<Message[]> {\n const { messages, toChatId, fromChatId, silent, schedule, forbidForwards, sendAs, noAuthor, noCaption } = params\n\n // sending more than 100 will not result in a server-sent\n // error, instead only first 100 IDs will be forwarded,\n // which is definitely not the best outcome.\n if (messages.length > 100) {\n throw new MtArgumentError('You can forward no more than 100 messages at once')\n }\n\n const toPeer = await resolvePeer(client, toChatId)\n\n const res = await client.call({\n _: 'messages.forwardMessages',\n toPeer,\n fromPeer: await resolvePeer(client, fromChatId),\n id: messages,\n silent,\n scheduleDate: normalizeDate(schedule),\n randomId: Array.from({ length: messages.length }, () => randomLong()),\n dropAuthor: noAuthor,\n dropMediaCaptions: noCaption,\n noforwards: forbidForwards,\n sendAs: sendAs ? await resolvePeer(client, sendAs) : undefined,\n quickReplyShortcut: _normalizeQuickReplyShortcut(params.quickReply),\n })\n\n assertIsUpdatesGroup('messages.forwardMessages', res)\n\n client.handleClientUpdate(res, !params.shouldDispatch)\n\n const peers = PeersIndex.from(res)\n\n const forwarded: Message[] = []\n res.updates.forEach((upd) => {\n switch (upd._) {\n case 'updateNewMessage':\n case 'updateNewChannelMessage':\n case 'updateNewScheduledMessage':\n forwarded.push(new Message(upd.message, peers, upd._ === 'updateNewScheduledMessage'))\n break\n }\n })\n\n return forwarded\n}\n\n/**\n * Forward one or more {@link Message}s to another chat.\n *\n * > **Note**: all messages must be from the same chat.\n */\nexport async function forwardMessages(\n client: ITelegramClient,\n params: ForwardMessageOptions & {\n messages: Message[]\n },\n): Promise<Message[]> {\n const { messages, ...rest } = params\n\n return forwardMessagesById(client, {\n ...rest,\n fromChatId: messages[0].chat.inputPeer,\n messages: messages.map((it) => it.id),\n })\n}\n"]}
@@ -0,0 +1,8 @@
1
+ import { ITelegramClient } from '../../client.types.js';
2
+ import { InputPeerLike, Message } from '../../types/index.js';
3
+ /**
4
+ * Get all scheduled messages in chat
5
+ *
6
+ * @param chatId Chat's marked ID, its username, phone or `"me"` or `"self"`
7
+ */
8
+ export declare function getAllScheduledMessages(client: ITelegramClient, chatId: InputPeerLike): Promise<Message[]>;
@@ -0,0 +1,25 @@
1
+ import Long from 'long';
2
+ import { assertTypeIsNot } from '../../../utils/type-assertions.js';
3
+ import { Message, PeersIndex } from '../../types/index.js';
4
+ import { resolvePeer } from '../users/resolve-peer.js';
5
+ /**
6
+ * Get all scheduled messages in chat
7
+ *
8
+ * @param chatId Chat's marked ID, its username, phone or `"me"` or `"self"`
9
+ */
10
+ export async function getAllScheduledMessages(client, chatId) {
11
+ const peer = await resolvePeer(client, chatId);
12
+ const res = await client.call({
13
+ _: 'messages.getScheduledHistory',
14
+ peer,
15
+ hash: Long.ZERO,
16
+ });
17
+ assertTypeIsNot('getScheduledMessages', res, 'messages.messagesNotModified');
18
+ const peers = PeersIndex.from(res);
19
+ const ret = res.messages.map((msg) => {
20
+ assertTypeIsNot('getScheduledMessages', msg, 'messageEmpty');
21
+ return new Message(msg, peers, true);
22
+ });
23
+ return ret;
24
+ }
25
+ //# sourceMappingURL=get-all-scheduled-messages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-all-scheduled-messages.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/get-all-scheduled-messages.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AAEvB,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAA;AAEnE,OAAO,EAAiB,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAEtD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,MAAuB,EAAE,MAAqB;IACxF,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE9C,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC1B,CAAC,EAAE,8BAA8B;QACjC,IAAI;QACJ,IAAI,EAAE,IAAI,CAAC,IAAI;KAClB,CAAC,CAAA;IAEF,eAAe,CAAC,sBAAsB,EAAE,GAAG,EAAE,8BAA8B,CAAC,CAAA;IAE5E,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAElC,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACjC,eAAe,CAAC,sBAAsB,EAAE,GAAG,EAAE,cAAc,CAAC,CAAA;QAE5D,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;IACxC,CAAC,CAAC,CAAA;IAEF,OAAO,GAAG,CAAA;AACd,CAAC","sourcesContent":["import Long from 'long'\n\nimport { assertTypeIsNot } from '../../../utils/type-assertions.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputPeerLike, Message, PeersIndex } from '../../types/index.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\n\n/**\n * Get all scheduled messages in chat\n *\n * @param chatId Chat's marked ID, its username, phone or `\"me\"` or `\"self\"`\n */\nexport async function getAllScheduledMessages(client: ITelegramClient, chatId: InputPeerLike): Promise<Message[]> {\n const peer = await resolvePeer(client, chatId)\n\n const res = await client.call({\n _: 'messages.getScheduledHistory',\n peer,\n hash: Long.ZERO,\n })\n\n assertTypeIsNot('getScheduledMessages', res, 'messages.messagesNotModified')\n\n const peers = PeersIndex.from(res)\n\n const ret = res.messages.map((msg) => {\n assertTypeIsNot('getScheduledMessages', msg, 'messageEmpty')\n\n return new Message(msg, peers, true)\n })\n\n return ret\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"get-callback-query-message.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/get-callback-query-message.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAA;AAEnE,OAAO,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAA;AACzD,OAAO,EAAiB,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAEtE,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAEtD,iBAAiB;AACjB;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CACzC,MAAuB,EACvB,EAOO;IAEP,IAAI,KAAa,CAAA;IACjB,IAAI,OAAgB,CAAA;IACpB,IAAI,IAAsB,CAAA;IAE1B,IAAI,GAAG,IAAI,EAAE,EAAE;QACX,KAAK,GAAG,EAAE,CAAC,KAAK,CAAA;QAChB,OAAO,GAAG,EAAE,CAAC,OAAO,CAAA;QACpB,IAAI,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,CAAA;KAC5C;SAAM,IAAI,KAAK,IAAI,EAAE,EAAE;QACpB,KAAK,GAAG,EAAE,CAAC,SAAS,CAAA;QACpB,OAAO,GAAG,EAAE,CAAC,EAAE,CAAA;QACf,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAA;KAC3B;SAAM;QACH,KAAK,GAAG,EAAE,CAAC,SAAS,CAAA;QACpB,OAAO,GAAG,EAAE,CAAC,OAAO,CAAA;QACpB,IAAI,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,CAAA;KAC5C;IAED,MAAM,YAAY,GAAwB;QACtC,CAAC,EAAE,2BAA2B;QAC9B,EAAE,EAAE,KAAK;QACT,OAAO;KACV,CAAA;IAED,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAA;IAE1C,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CACzB,SAAS,CAAC,CAAC;QACP;YACI,CAAC,EAAE,sBAAsB;YACzB,EAAE,EAAE,CAAC,YAAY,CAAC;YAClB,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC;SAChC,CAAC,CAAC;QACH;YACI,CAAC,EAAE,sBAAsB;YACzB,EAAE,EAAE,CAAC,YAAY,CAAC;SACrB,CACR,CAAA;IAED,eAAe,CAAC,yBAAyB,EAAE,GAAG,EAAE,8BAA8B,CAAC,CAAA;IAE/E,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,cAAc,EAAE;QACtC,OAAO,IAAI,CAAA;KACd;IAED,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AAC7D,CAAC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { assertTypeIsNot } from '../../../utils/type-assertions.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { Message } from '../../types/messages/message.js'\nimport { InputPeerLike, PeersIndex } from '../../types/peers/index.js'\nimport type { CallbackQuery } from '../../types/updates/callback-query.js'\nimport { isInputPeerChannel, toInputChannel } from '../../utils/peer-utils.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\n\n// @available=bot\n/**\n * Get the message containing the button being clicked\n * in the given callback query.\n */\nexport async function getCallbackQueryMessage(\n client: ITelegramClient,\n id:\n | CallbackQuery\n | tl.RawUpdateBotCallbackQuery\n | {\n messageId: number\n queryId: tl.Long\n peer: InputPeerLike\n },\n): Promise<Message | null> {\n let msgId: number\n let queryId: tl.Long\n let peer: tl.TypeInputPeer\n\n if ('_' in id) {\n msgId = id.msgId\n queryId = id.queryId\n peer = await resolvePeer(client, id.peer)\n } else if ('raw' in id) {\n msgId = id.messageId\n queryId = id.id\n peer = id.chat.inputPeer\n } else {\n msgId = id.messageId\n queryId = id.queryId\n peer = await resolvePeer(client, id.peer)\n }\n\n const inputMessage: tl.TypeInputMessage = {\n _: 'inputMessageCallbackQuery',\n id: msgId,\n queryId,\n }\n\n const isChannel = isInputPeerChannel(peer)\n\n const res = await client.call(\n isChannel ?\n {\n _: 'channels.getMessages',\n id: [inputMessage],\n channel: toInputChannel(peer),\n } :\n {\n _: 'messages.getMessages',\n id: [inputMessage],\n },\n )\n\n assertTypeIsNot('getCallbackQueryMessage', res, 'messages.messagesNotModified')\n\n if (res.messages[0]._ === 'messageEmpty') {\n return null\n }\n\n return new Message(res.messages[0], PeersIndex.from(res))\n}\n"]}
1
+ {"version":3,"file":"get-callback-query-message.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/get-callback-query-message.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAA;AAEnE,OAAO,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAA;AACzD,OAAO,EAAiB,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAEtE,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAEtD,iBAAiB;AACjB;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CACzC,MAAuB,EACvB,EAOO;IAEP,IAAI,KAAa,CAAA;IACjB,IAAI,OAAgB,CAAA;IACpB,IAAI,IAAsB,CAAA;IAE1B,IAAI,GAAG,IAAI,EAAE,EAAE,CAAC;QACZ,KAAK,GAAG,EAAE,CAAC,KAAK,CAAA;QAChB,OAAO,GAAG,EAAE,CAAC,OAAO,CAAA;QACpB,IAAI,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,CAAA;IAC7C,CAAC;SAAM,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC;QACrB,KAAK,GAAG,EAAE,CAAC,SAAS,CAAA;QACpB,OAAO,GAAG,EAAE,CAAC,EAAE,CAAA;QACf,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAA;IAC5B,CAAC;SAAM,CAAC;QACJ,KAAK,GAAG,EAAE,CAAC,SAAS,CAAA;QACpB,OAAO,GAAG,EAAE,CAAC,OAAO,CAAA;QACpB,IAAI,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,CAAA;IAC7C,CAAC;IAED,MAAM,YAAY,GAAwB;QACtC,CAAC,EAAE,2BAA2B;QAC9B,EAAE,EAAE,KAAK;QACT,OAAO;KACV,CAAA;IAED,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAA;IAE1C,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CACzB,SAAS,CAAC,CAAC;QACP;YACI,CAAC,EAAE,sBAAsB;YACzB,EAAE,EAAE,CAAC,YAAY,CAAC;YAClB,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC;SAChC,CAAC,CAAC;QACH;YACI,CAAC,EAAE,sBAAsB;YACzB,EAAE,EAAE,CAAC,YAAY,CAAC;SACrB,CACR,CAAA;IAED,eAAe,CAAC,yBAAyB,EAAE,GAAG,EAAE,8BAA8B,CAAC,CAAA;IAE/E,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,cAAc,EAAE,CAAC;QACvC,OAAO,IAAI,CAAA;IACf,CAAC;IAED,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AAC7D,CAAC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { assertTypeIsNot } from '../../../utils/type-assertions.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { Message } from '../../types/messages/message.js'\nimport { InputPeerLike, PeersIndex } from '../../types/peers/index.js'\nimport type { CallbackQuery } from '../../types/updates/callback-query.js'\nimport { isInputPeerChannel, toInputChannel } from '../../utils/peer-utils.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\n\n// @available=bot\n/**\n * Get the message containing the button being clicked\n * in the given callback query.\n */\nexport async function getCallbackQueryMessage(\n client: ITelegramClient,\n id:\n | CallbackQuery\n | tl.RawUpdateBotCallbackQuery\n | {\n messageId: number\n queryId: tl.Long\n peer: InputPeerLike\n },\n): Promise<Message | null> {\n let msgId: number\n let queryId: tl.Long\n let peer: tl.TypeInputPeer\n\n if ('_' in id) {\n msgId = id.msgId\n queryId = id.queryId\n peer = await resolvePeer(client, id.peer)\n } else if ('raw' in id) {\n msgId = id.messageId\n queryId = id.id\n peer = id.chat.inputPeer\n } else {\n msgId = id.messageId\n queryId = id.queryId\n peer = await resolvePeer(client, id.peer)\n }\n\n const inputMessage: tl.TypeInputMessage = {\n _: 'inputMessageCallbackQuery',\n id: msgId,\n queryId,\n }\n\n const isChannel = isInputPeerChannel(peer)\n\n const res = await client.call(\n isChannel ?\n {\n _: 'channels.getMessages',\n id: [inputMessage],\n channel: toInputChannel(peer),\n } :\n {\n _: 'messages.getMessages',\n id: [inputMessage],\n },\n )\n\n assertTypeIsNot('getCallbackQueryMessage', res, 'messages.messagesNotModified')\n\n if (res.messages[0]._ === 'messageEmpty') {\n return null\n }\n\n return new Message(res.messages[0], PeersIndex.from(res))\n}\n"]}
@@ -1,5 +1,9 @@
1
+ import { tl } from '@mtcute/tl';
1
2
  import { ITelegramClient } from '../../client.types.js';
2
3
  import { InputMessageId, Message } from '../../types/messages/index.js';
4
+ import { InputPeerLike } from '../../types/peers/index.js';
5
+ /** @internal */
6
+ export declare function _getDiscussionMessage(client: ITelegramClient, peer: InputPeerLike, message: number): Promise<[tl.TypeInputPeer, number]>;
3
7
  /**
4
8
  * Get discussion message for some channel post.
5
9
  *
@@ -1 +1 @@
1
- {"version":3,"file":"get-discussion-message.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/get-discussion-message.ts"],"names":[],"mappings":"AAGA,OAAO,EAAkB,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAA;AAChG,OAAO,EAAiB,UAAU,EAAE,MAAM,4BAA4B,CAAA;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAEtD,gBAAgB;AAChB,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACvC,MAAuB,EACvB,IAAmB,EACnB,OAAe;IAEf,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAEjD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC1B,CAAC,EAAE,+BAA+B;QAClC,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,OAAO;KACjB,CAAC,CAAA;IAEF,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,cAAc,EAAE;QAC9D,wDAAwD;QACxD,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;KAC9B;IAED,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;IAC3B,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAM,GAAG,CAAC,MAA4B,CAAC,SAAS,CAAmB,CAAA;IAE5G,OAAO;QACH;YACI,CAAC,EAAE,kBAAkB;YACrB,SAAS,EAAE,IAAI,CAAC,EAAE;YAClB,UAAU,EAAE,IAAI,CAAC,UAAW;SAC/B;QACD,GAAG,CAAC,EAAE;KACT,CAAA;AACL,CAAC;AAED,oDAAoD;AAEpD;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACtC,MAAuB,EACvB,MAAsB;IAEtB,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAA;IAE3D,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAEnD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC1B,CAAC,EAAE,+BAA+B;QAClC,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,OAAO;KACjB,CAAC,CAAA;IAEF,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,cAAc,EAAE;QAC9D,wDAAwD;QACxD,OAAO,IAAI,CAAA;KACd;IAED,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;IAC3B,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAElC,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;AAClC,CAAC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputMessageId, Message, normalizeInputMessageId } from '../../types/messages/index.js'\nimport { InputPeerLike, PeersIndex } from '../../types/peers/index.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\n\n/** @internal */\nexport async function _getDiscussionMessage(\n client: ITelegramClient,\n peer: InputPeerLike,\n message: number,\n): Promise<[tl.TypeInputPeer, number]> {\n const inputPeer = await resolvePeer(client, peer)\n\n const res = await client.call({\n _: 'messages.getDiscussionMessage',\n peer: inputPeer,\n msgId: message,\n })\n\n if (!res.messages.length || res.messages[0]._ === 'messageEmpty') {\n // no discussion message (i guess?), return the same msg\n return [inputPeer, message]\n }\n\n const msg = res.messages[0]\n const chat = res.chats.find((it) => it.id === (msg.peerId as tl.RawPeerChannel).channelId)! as tl.RawChannel\n\n return [\n {\n _: 'inputPeerChannel',\n channelId: chat.id,\n accessHash: chat.accessHash!,\n },\n msg.id,\n ]\n}\n\n// public version of the same method because why not\n\n/**\n * Get discussion message for some channel post.\n *\n * Returns `null` if the post does not have a discussion\n * message.\n *\n * This method might throw `FLOOD_WAIT_X` error in case\n * the discussion message was not *yet* created. Error\n * is usually handled by the client, but if you disabled that,\n * you'll need to handle it manually.\n *\n * @param peer Channel where the post was found\n * @param message ID of the channel post\n */\nexport async function getDiscussionMessage(\n client: ITelegramClient,\n params: InputMessageId,\n): Promise<Message | null> {\n const { chatId, message } = normalizeInputMessageId(params)\n\n const inputPeer = await resolvePeer(client, chatId)\n\n const res = await client.call({\n _: 'messages.getDiscussionMessage',\n peer: inputPeer,\n msgId: message,\n })\n\n if (!res.messages.length || res.messages[0]._ === 'messageEmpty') {\n // no discussion message (i guess?), return the same msg\n return null\n }\n\n const msg = res.messages[0]\n const peers = PeersIndex.from(res)\n\n return new Message(msg, peers)\n}\n"]}
1
+ {"version":3,"file":"get-discussion-message.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/get-discussion-message.ts"],"names":[],"mappings":"AAGA,OAAO,EAAkB,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAA;AAChG,OAAO,EAAiB,UAAU,EAAE,MAAM,4BAA4B,CAAA;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAEtD,gBAAgB;AAChB,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACvC,MAAuB,EACvB,IAAmB,EACnB,OAAe;IAEf,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAEjD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC1B,CAAC,EAAE,+BAA+B;QAClC,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,OAAO;KACjB,CAAC,CAAA;IAEF,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,cAAc,EAAE,CAAC;QAC/D,wDAAwD;QACxD,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IAC/B,CAAC;IAED,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;IAC3B,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAM,GAAG,CAAC,MAA4B,CAAC,SAAS,CAAmB,CAAA;IAE5G,OAAO;QACH;YACI,CAAC,EAAE,kBAAkB;YACrB,SAAS,EAAE,IAAI,CAAC,EAAE;YAClB,UAAU,EAAE,IAAI,CAAC,UAAW;SAC/B;QACD,GAAG,CAAC,EAAE;KACT,CAAA;AACL,CAAC;AAED,oDAAoD;AAEpD;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACtC,MAAuB,EACvB,MAAsB;IAEtB,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAA;IAE3D,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAEnD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC1B,CAAC,EAAE,+BAA+B;QAClC,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,OAAO;KACjB,CAAC,CAAA;IAEF,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,cAAc,EAAE,CAAC;QAC/D,wDAAwD;QACxD,OAAO,IAAI,CAAA;IACf,CAAC;IAED,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;IAC3B,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAElC,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;AAClC,CAAC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputMessageId, Message, normalizeInputMessageId } from '../../types/messages/index.js'\nimport { InputPeerLike, PeersIndex } from '../../types/peers/index.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\n\n/** @internal */\nexport async function _getDiscussionMessage(\n client: ITelegramClient,\n peer: InputPeerLike,\n message: number,\n): Promise<[tl.TypeInputPeer, number]> {\n const inputPeer = await resolvePeer(client, peer)\n\n const res = await client.call({\n _: 'messages.getDiscussionMessage',\n peer: inputPeer,\n msgId: message,\n })\n\n if (!res.messages.length || res.messages[0]._ === 'messageEmpty') {\n // no discussion message (i guess?), return the same msg\n return [inputPeer, message]\n }\n\n const msg = res.messages[0]\n const chat = res.chats.find((it) => it.id === (msg.peerId as tl.RawPeerChannel).channelId)! as tl.RawChannel\n\n return [\n {\n _: 'inputPeerChannel',\n channelId: chat.id,\n accessHash: chat.accessHash!,\n },\n msg.id,\n ]\n}\n\n// public version of the same method because why not\n\n/**\n * Get discussion message for some channel post.\n *\n * Returns `null` if the post does not have a discussion\n * message.\n *\n * This method might throw `FLOOD_WAIT_X` error in case\n * the discussion message was not *yet* created. Error\n * is usually handled by the client, but if you disabled that,\n * you'll need to handle it manually.\n *\n * @param peer Channel where the post was found\n * @param message ID of the channel post\n */\nexport async function getDiscussionMessage(\n client: ITelegramClient,\n params: InputMessageId,\n): Promise<Message | null> {\n const { chatId, message } = normalizeInputMessageId(params)\n\n const inputPeer = await resolvePeer(client, chatId)\n\n const res = await client.call({\n _: 'messages.getDiscussionMessage',\n peer: inputPeer,\n msgId: message,\n })\n\n if (!res.messages.length || res.messages[0]._ === 'messageEmpty') {\n // no discussion message (i guess?), return the same msg\n return null\n }\n\n const msg = res.messages[0]\n const peers = PeersIndex.from(res)\n\n return new Message(msg, peers)\n}\n"]}
@@ -7,6 +7,10 @@ const defaultOffset = {
7
7
  id: 0,
8
8
  date: 0,
9
9
  };
10
+ const defaultOffsetReverse = {
11
+ id: 1,
12
+ date: 0,
13
+ };
10
14
  /**
11
15
  * Get chat history.
12
16
  *
@@ -16,7 +20,7 @@ const defaultOffset = {
16
20
  export async function getHistory(client, chatId, params) {
17
21
  if (!params)
18
22
  params = {};
19
- const { limit = 100, offset: { id: offsetId = 0, date: offsetDate = 0 } = defaultOffset, addOffset = 0, minId = 0, maxId = 0, reverse = false, } = params;
23
+ const { reverse = false, limit = 100, offset: { id: offsetId, date: offsetDate } = reverse ? defaultOffsetReverse : defaultOffset, addOffset = 0, minId = 0, maxId = 0, } = params;
20
24
  const addOffsetAdjusted = addOffset + (reverse ? -limit : 0);
21
25
  const peer = await resolvePeer(client, chatId);
22
26
  const res = await client.call({
@@ -1 +1 @@
1
- {"version":3,"file":"get-history.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/get-history.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AAIvB,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAA;AAEnE,OAAO,EAAiC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACzF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAQtD,MAAM,aAAa,GAAqB;IACpC,EAAE,EAAE,CAAC;IACL,IAAI,EAAE,CAAC;CACV,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC5B,MAAuB,EACvB,MAAqB,EACrB,MAsDC;IAED,IAAI,CAAC,MAAM;QAAE,MAAM,GAAG,EAAE,CAAA;IAExB,MAAM,EACF,KAAK,GAAG,GAAG,EACX,MAAM,EAAE,EAAE,EAAE,EAAE,QAAQ,GAAG,CAAC,EAAE,IAAI,EAAE,UAAU,GAAG,CAAC,EAAE,GAAG,aAAa,EAClE,SAAS,GAAG,CAAC,EACb,KAAK,GAAG,CAAC,EACT,KAAK,GAAG,CAAC,EACT,OAAO,GAAG,KAAK,GAClB,GAAG,MAAM,CAAA;IAEV,MAAM,iBAAiB,GAAG,SAAS,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAE5D,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE9C,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC1B,CAAC,EAAE,qBAAqB;QACxB,IAAI;QACJ,QAAQ;QACR,UAAU;QACV,SAAS,EAAE,iBAAiB;QAC5B,KAAK;QACL,KAAK;QACL,KAAK;QACL,IAAI,EAAE,IAAI,CAAC,IAAI;KAClB,CAAC,CAAA;IAEF,eAAe,CAAC,YAAY,EAAE,GAAG,EAAE,8BAA8B,CAAC,CAAA;IAElE,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAClC,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAA;IAEzG,IAAI,OAAO;QAAE,IAAI,CAAC,OAAO,EAAE,CAAA;IAE3B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAClC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC;QACf;YACI,EAAE,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/B,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI;SACtB,CAAC,CAAC;QACH,SAAS,CAAA;IAEb,OAAO,kBAAkB,CAAC,IAAI,EAAG,GAAoC,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;AACrG,CAAC","sourcesContent":["import Long from 'long'\n\nimport { tl } from '@mtcute/tl'\n\nimport { assertTypeIsNot } from '../../../utils/type-assertions.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { ArrayPaginated, InputPeerLike, Message, PeersIndex } from '../../types/index.js'\nimport { makeArrayPaginated } from '../../utils/index.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\n\n// @exported\nexport interface GetHistoryOffset {\n id: number\n date: number\n}\n\nconst defaultOffset: GetHistoryOffset = {\n id: 0,\n date: 0,\n}\n\n/**\n * Get chat history.\n *\n * @param chatId Chat's marked ID, its username, phone or `\"me\"` or `\"self\"`.\n * @param params Additional fetch parameters\n */\nexport async function getHistory(\n client: ITelegramClient,\n chatId: InputPeerLike,\n params?: {\n /**\n * Limits the number of messages to be retrieved.\n *\n * @default 100\n */\n limit?: number\n\n /**\n * Offset for pagination\n */\n offset?: GetHistoryOffset\n\n /**\n * Additional offset from {@link offset}, in resulting messages.\n *\n * This can be used for advanced use cases, like:\n * - Loading 20 messages newer than message with ID `MSGID`:\n * `offset = MSGID, addOffset = -20, limit = 20`\n * - Loading 20 messages around message with ID `MSGID`:\n * `offset = MSGID, addOffset = -10, limit = 20`\n *\n * @default `0` (disabled)\n */\n\n addOffset?: number\n\n /**\n * Minimum message ID to return\n *\n * @default `0` (disabled).\n */\n minId?: number\n\n /**\n * Maximum message ID to return.\n *\n * Unless {@link addOffset} is used, this will work the same as {@link offset}.\n *\n * @default `0` (disabled).\n */\n maxId?: number\n\n /**\n * Whether to retrieve messages in reversed order (from older to recent),\n * starting from {@link offset} (inclusive).\n *\n * > **Note**: Using `reverse=true` requires you to pass offset from which to start\n * > fetching the messages \"downwards\". If you call `getHistory` with `reverse=true`\n * > and without any offset, it will return an empty array.\n *\n * @default false\n */\n reverse?: boolean\n },\n): Promise<ArrayPaginated<Message, GetHistoryOffset>> {\n if (!params) params = {}\n\n const {\n limit = 100,\n offset: { id: offsetId = 0, date: offsetDate = 0 } = defaultOffset,\n addOffset = 0,\n minId = 0,\n maxId = 0,\n reverse = false,\n } = params\n\n const addOffsetAdjusted = addOffset + (reverse ? -limit : 0)\n\n const peer = await resolvePeer(client, chatId)\n\n const res = await client.call({\n _: 'messages.getHistory',\n peer,\n offsetId,\n offsetDate,\n addOffset: addOffsetAdjusted,\n limit,\n maxId,\n minId,\n hash: Long.ZERO,\n })\n\n assertTypeIsNot('getHistory', res, 'messages.messagesNotModified')\n\n const peers = PeersIndex.from(res)\n const msgs = res.messages.filter((msg) => msg._ !== 'messageEmpty').map((msg) => new Message(msg, peers))\n\n if (reverse) msgs.reverse()\n\n const last = msgs[msgs.length - 1]\n const next = last ?\n {\n id: last.id + (reverse ? 1 : 0),\n date: last.raw.date,\n } :\n undefined\n\n return makeArrayPaginated(msgs, (res as tl.messages.RawMessagesSlice).count ?? msgs.length, next)\n}\n"]}
1
+ {"version":3,"file":"get-history.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/get-history.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AAIvB,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAA;AAEnE,OAAO,EAAiC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACzF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAQtD,MAAM,aAAa,GAAqB;IACpC,EAAE,EAAE,CAAC;IACL,IAAI,EAAE,CAAC;CACV,CAAA;AAED,MAAM,oBAAoB,GAAqB;IAC3C,EAAE,EAAE,CAAC;IACL,IAAI,EAAE,CAAC;CACV,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC5B,MAAuB,EACvB,MAAqB,EACrB,MAsDC;IAED,IAAI,CAAC,MAAM;QAAE,MAAM,GAAG,EAAE,CAAA;IAExB,MAAM,EACF,OAAO,GAAG,KAAK,EACf,KAAK,GAAG,GAAG,EACX,MAAM,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,aAAa,EAC3F,SAAS,GAAG,CAAC,EACb,KAAK,GAAG,CAAC,EACT,KAAK,GAAG,CAAC,GACZ,GAAG,MAAM,CAAA;IAEV,MAAM,iBAAiB,GAAG,SAAS,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAE5D,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE9C,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC1B,CAAC,EAAE,qBAAqB;QACxB,IAAI;QACJ,QAAQ;QACR,UAAU;QACV,SAAS,EAAE,iBAAiB;QAC5B,KAAK;QACL,KAAK;QACL,KAAK;QACL,IAAI,EAAE,IAAI,CAAC,IAAI;KAClB,CAAC,CAAA;IAEF,eAAe,CAAC,YAAY,EAAE,GAAG,EAAE,8BAA8B,CAAC,CAAA;IAElE,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAClC,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAA;IAEzG,IAAI,OAAO;QAAE,IAAI,CAAC,OAAO,EAAE,CAAA;IAE3B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAClC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC;QACf;YACI,EAAE,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/B,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI;SACtB,CAAC,CAAC;QACH,SAAS,CAAA;IAEb,OAAO,kBAAkB,CAAC,IAAI,EAAG,GAAoC,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;AACrG,CAAC","sourcesContent":["import Long from 'long'\n\nimport { tl } from '@mtcute/tl'\n\nimport { assertTypeIsNot } from '../../../utils/type-assertions.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { ArrayPaginated, InputPeerLike, Message, PeersIndex } from '../../types/index.js'\nimport { makeArrayPaginated } from '../../utils/index.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\n\n// @exported\nexport interface GetHistoryOffset {\n id: number\n date: number\n}\n\nconst defaultOffset: GetHistoryOffset = {\n id: 0,\n date: 0,\n}\n\nconst defaultOffsetReverse: GetHistoryOffset = {\n id: 1,\n date: 0,\n}\n\n/**\n * Get chat history.\n *\n * @param chatId Chat's marked ID, its username, phone or `\"me\"` or `\"self\"`.\n * @param params Additional fetch parameters\n */\nexport async function getHistory(\n client: ITelegramClient,\n chatId: InputPeerLike,\n params?: {\n /**\n * Limits the number of messages to be retrieved.\n *\n * @default 100\n */\n limit?: number\n\n /**\n * Offset for pagination\n */\n offset?: GetHistoryOffset\n\n /**\n * Additional offset from {@link offset}, in resulting messages.\n *\n * This can be used for advanced use cases, like:\n * - Loading 20 messages newer than message with ID `MSGID`:\n * `offset = MSGID, addOffset = -20, limit = 20`\n * - Loading 20 messages around message with ID `MSGID`:\n * `offset = MSGID, addOffset = -10, limit = 20`\n *\n * @default `0` (disabled)\n */\n\n addOffset?: number\n\n /**\n * Minimum message ID to return\n *\n * @default `0` (disabled).\n */\n minId?: number\n\n /**\n * Maximum message ID to return.\n *\n * Unless {@link addOffset} is used, this will work the same as {@link offset}.\n *\n * @default `0` (disabled).\n */\n maxId?: number\n\n /**\n * Whether to retrieve messages in reversed order (from older to recent),\n * starting from {@link offset} (inclusive).\n *\n * > **Note**: Using `reverse=true` requires you to pass offset from which to start\n * > fetching the messages \"downwards\". If you call `getHistory` with `reverse=true`\n * > and without any offset, it will return an empty array.\n *\n * @default false\n */\n reverse?: boolean\n },\n): Promise<ArrayPaginated<Message, GetHistoryOffset>> {\n if (!params) params = {}\n\n const {\n reverse = false,\n limit = 100,\n offset: { id: offsetId, date: offsetDate } = reverse ? defaultOffsetReverse : defaultOffset,\n addOffset = 0,\n minId = 0,\n maxId = 0,\n } = params\n\n const addOffsetAdjusted = addOffset + (reverse ? -limit : 0)\n\n const peer = await resolvePeer(client, chatId)\n\n const res = await client.call({\n _: 'messages.getHistory',\n peer,\n offsetId,\n offsetDate,\n addOffset: addOffsetAdjusted,\n limit,\n maxId,\n minId,\n hash: Long.ZERO,\n })\n\n assertTypeIsNot('getHistory', res, 'messages.messagesNotModified')\n\n const peers = PeersIndex.from(res)\n const msgs = res.messages.filter((msg) => msg._ !== 'messageEmpty').map((msg) => new Message(msg, peers))\n\n if (reverse) msgs.reverse()\n\n const last = msgs[msgs.length - 1]\n const next = last ?\n {\n id: last.id + (reverse ? 1 : 0),\n date: last.raw.date,\n } :\n undefined\n\n return makeArrayPaginated(msgs, (res as tl.messages.RawMessagesSlice).count ?? msgs.length, next)\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"get-message-by-link.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/get-message-by-link.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAA;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAA;AAGlE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAAuB,EAAE,IAAY;IACxE,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAExC,IAAI,CAAC,MAAM,EAAE;QACT,MAAM,IAAI,eAAe,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAA;KAC7D;IAED,IAAI,IAAI,CAAA;IAER,IAAI,UAAU,IAAI,MAAM,EAAE;QACtB,IAAI,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;KACpD;SAAM;QACH,IAAI,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,mBAAmB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAA;KAC1E;IAED,IAAI,KAAK,GAAG,MAAM,CAAC,EAAE,CAAA;IAErB,IAAI,MAAM,CAAC,SAAS,EAAE;QAClB,CAAC,IAAI,CAAC,GAAG,MAAM,qBAAqB,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAA;QAC7D,KAAK,GAAG,MAAM,CAAC,SAAS,CAAA;KAC3B;IAED,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;IAEpD,OAAO,GAAG,CAAA;AACd,CAAC","sourcesContent":["import { MtArgumentError } from '../../../types/errors.js'\nimport { links } from '../../../utils/links/index.js'\nimport { toggleChannelIdMark } from '../../../utils/peer-utils.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { Message } from '../../types/messages/index.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\nimport { _getDiscussionMessage } from './get-discussion-message.js'\nimport { getMessages } from './get-messages.js'\n\n/**\n * Given a message link (e.g. `t.me/durov/1`), fetch the relevant message.\n */\nexport async function getMessageByLink(client: ITelegramClient, link: string): Promise<Message | null> {\n const parsed = links.message.parse(link)\n\n if (!parsed) {\n throw new MtArgumentError(`Invalid message link: ${link}`)\n }\n\n let peer\n\n if ('username' in parsed) {\n peer = await resolvePeer(client, parsed.username)\n } else {\n peer = await resolvePeer(client, toggleChannelIdMark(parsed.channelId))\n }\n\n let msgId = parsed.id\n\n if (parsed.commentId) {\n [peer] = await _getDiscussionMessage(client, peer, parsed.id)\n msgId = parsed.commentId\n }\n\n const [msg] = await getMessages(client, peer, msgId)\n\n return msg\n}\n"]}
1
+ {"version":3,"file":"get-message-by-link.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/get-message-by-link.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAA;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAA;AAGlE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAAuB,EAAE,IAAY;IACxE,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAExC,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,MAAM,IAAI,eAAe,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAA;IAC9D,CAAC;IAED,IAAI,IAAI,CAAA;IAER,IAAI,UAAU,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;IACrD,CAAC;SAAM,CAAC;QACJ,IAAI,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,mBAAmB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAA;IAC3E,CAAC;IAED,IAAI,KAAK,GAAG,MAAM,CAAC,EAAE,CAAA;IAErB,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACnB,CAAC,IAAI,CAAC,GAAG,MAAM,qBAAqB,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAA;QAC7D,KAAK,GAAG,MAAM,CAAC,SAAS,CAAA;IAC5B,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;IAEpD,OAAO,GAAG,CAAA;AACd,CAAC","sourcesContent":["import { MtArgumentError } from '../../../types/errors.js'\nimport { links } from '../../../utils/links/index.js'\nimport { toggleChannelIdMark } from '../../../utils/peer-utils.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { Message } from '../../types/messages/index.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\nimport { _getDiscussionMessage } from './get-discussion-message.js'\nimport { getMessages } from './get-messages.js'\n\n/**\n * Given a message link (e.g. `t.me/durov/1`), fetch the relevant message.\n */\nexport async function getMessageByLink(client: ITelegramClient, link: string): Promise<Message | null> {\n const parsed = links.message.parse(link)\n\n if (!parsed) {\n throw new MtArgumentError(`Invalid message link: ${link}`)\n }\n\n let peer\n\n if ('username' in parsed) {\n peer = await resolvePeer(client, parsed.username)\n } else {\n peer = await resolvePeer(client, toggleChannelIdMark(parsed.channelId))\n }\n\n let msgId = parsed.id\n\n if (parsed.commentId) {\n [peer] = await _getDiscussionMessage(client, peer, parsed.id)\n msgId = parsed.commentId\n }\n\n const [msg] = await getMessages(client, peer, msgId)\n\n return msg\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"get-message-group.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/get-message-group.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAA;AAE7D,OAAO,EAA2B,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AACvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,MAAuB,EAAE,MAAsB;IACjF,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAA;IAE3D,oCAAoC;IACpC,oCAAoC;IACpC,0DAA0D;IAC1D,wBAAwB;IACxB,0CAA0C;IAE1C,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE9C,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAE/C,MAAM,GAAG,GAAa,EAAE,CAAA;IAExB,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,OAAO,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;QAClE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;KACd;IAED,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAA;IACvD,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,OAAO,CAAE,CAAC,SAAS,CAAA;IAEtE,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,eAAe,CAAC,6BAA6B,CAAC,CAAA;IAExE,OAAO,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;AACjF,CAAC","sourcesContent":["import { MtArgumentError } from '../../../types/errors.js'\nimport { isPresent } from '../../../utils/type-assertions.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputMessageId, Message, normalizeInputMessageId } from '../../types/index.js'\nimport { isInputPeerChannel } from '../../utils/peer-utils.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\nimport { getMessages } from './get-messages.js'\n\n/**\n * Get all messages inside of a message group\n *\n * @param chatId Chat ID\n * @param message ID of one of the messages in the group\n */\nexport async function getMessageGroup(client: ITelegramClient, params: InputMessageId): Promise<Message[]> {\n const { chatId, message } = normalizeInputMessageId(params)\n\n // awesome hack stolen from pyrogram\n // groups have no more than 10 items\n // however, since for non-channels message ids are shared,\n // we use larger number.\n // still, this might not be enough :shrug:\n\n const peer = await resolvePeer(client, chatId)\n\n const delta = isInputPeerChannel(peer) ? 9 : 19\n\n const ids: number[] = []\n\n for (let i = Math.max(message - delta, 0); i <= message + delta; i++) {\n ids.push(i)\n }\n\n const messages = await getMessages(client, chatId, ids)\n const groupedId = messages.find((it) => it?.id === message)!.groupedId\n\n if (!groupedId) throw new MtArgumentError('This message is not grouped')\n\n return messages.filter(isPresent).filter((it) => it.groupedId?.eq(groupedId))\n}\n"]}
1
+ {"version":3,"file":"get-message-group.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/get-message-group.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAA;AAE7D,OAAO,EAA2B,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AACvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,MAAuB,EAAE,MAAsB;IACjF,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAA;IAE3D,oCAAoC;IACpC,oCAAoC;IACpC,0DAA0D;IAC1D,wBAAwB;IACxB,0CAA0C;IAE1C,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE9C,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAE/C,MAAM,GAAG,GAAa,EAAE,CAAA;IAExB,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,OAAO,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QACnE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACf,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAA;IACvD,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,OAAO,CAAE,CAAC,SAAS,CAAA;IAEtE,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,eAAe,CAAC,6BAA6B,CAAC,CAAA;IAExE,OAAO,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;AACjF,CAAC","sourcesContent":["import { MtArgumentError } from '../../../types/errors.js'\nimport { isPresent } from '../../../utils/type-assertions.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputMessageId, Message, normalizeInputMessageId } from '../../types/index.js'\nimport { isInputPeerChannel } from '../../utils/peer-utils.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\nimport { getMessages } from './get-messages.js'\n\n/**\n * Get all messages inside of a message group\n *\n * @param chatId Chat ID\n * @param message ID of one of the messages in the group\n */\nexport async function getMessageGroup(client: ITelegramClient, params: InputMessageId): Promise<Message[]> {\n const { chatId, message } = normalizeInputMessageId(params)\n\n // awesome hack stolen from pyrogram\n // groups have no more than 10 items\n // however, since for non-channels message ids are shared,\n // we use larger number.\n // still, this might not be enough :shrug:\n\n const peer = await resolvePeer(client, chatId)\n\n const delta = isInputPeerChannel(peer) ? 9 : 19\n\n const ids: number[] = []\n\n for (let i = Math.max(message - delta, 0); i <= message + delta; i++) {\n ids.push(i)\n }\n\n const messages = await getMessages(client, chatId, ids)\n const groupedId = messages.find((it) => it?.id === message)!.groupedId\n\n if (!groupedId) throw new MtArgumentError('This message is not grouped')\n\n return messages.filter(isPresent).filter((it) => it.groupedId?.eq(groupedId))\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"get-message-reactions.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/get-message-reactions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AAEhE,OAAO,EAA0B,gBAAgB,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAC3F,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAEtD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CACzC,MAAuB,EACvB,MAAqB,EACrB,QAAkB;IAElB,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC1B,CAAC,EAAE,+BAA+B;QAClC,IAAI,EAAE,MAAM,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC;QACvC,EAAE,EAAE,QAAQ;KACf,CAAC,CAAA;IAEF,oBAAoB,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAA;IAE1D,qDAAqD;IACrD,gDAAgD;IAChD,EAAE;IACF,+CAA+C;IAC/C,+CAA+C;IAE/C,MAAM,KAAK,GAAqC,EAAE,CAAA;IAElD,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAElC,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE;QAC9B,YAAY,CAAC,+BAA+B,EAAE,MAAM,EAAE,wBAAwB,CAAC,CAAA;QAE/E,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,gBAAgB,CAAC,MAAM,CAAC,KAAK,EAAE,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;KAClH;IAED,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAA;AAChE,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACrC,MAAuB,EACvB,QAAmB;IAEnB,OAAO,uBAAuB,CAC1B,MAAM,EACN,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,EAC1B,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAC9B,CAAA;AACL,CAAC","sourcesContent":["import { getMarkedPeerId } from '../../../utils/peer-utils.js'\nimport { assertTypeIs } from '../../../utils/type-assertions.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputPeerLike, Message, MessageReactions, PeersIndex } from '../../types/index.js'\nimport { assertIsUpdatesGroup } from '../../updates/utils.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\n\n/**\n * Get reactions to messages by their IDs.\n *\n * > Apps should short-poll reactions for visible messages\n * > (that weren't sent by the user) once every 15-30 seconds,\n * > but only if `message.reactions` is set\n *\n * @param chatId ID of the chat with messages\n * @param messages Message IDs\n * @returns Reactions to corresponding messages, or `null` if there are none\n */\nexport async function getMessageReactionsById(\n client: ITelegramClient,\n chatId: InputPeerLike,\n messages: number[],\n): Promise<(MessageReactions | null)[]> {\n const res = await client.call({\n _: 'messages.getMessagesReactions',\n peer: await resolvePeer(client, chatId),\n id: messages,\n })\n\n assertIsUpdatesGroup('messages.getMessagesReactions', res)\n\n // normally the group contains updateMessageReactions\n // for each message requested that has reactions\n //\n // these updates are not ordered in any way, so\n // we don't need to pass them to updates engine\n\n const index: Record<number, MessageReactions> = {}\n\n const peers = PeersIndex.from(res)\n\n for (const update of res.updates) {\n assertTypeIs('messages.getMessagesReactions', update, 'updateMessageReactions')\n\n index[update.msgId] = new MessageReactions(update.msgId, getMarkedPeerId(update.peer), update.reactions, peers)\n }\n\n return messages.map((messageId) => index[messageId] ?? null)\n}\n\n/**\n * Get reactions to {@link Message}s.\n *\n * > **Note**: messages must all be from the same chat.\n *\n * > Apps should short-poll reactions for visible messages\n * > (that weren't sent by the user) once every 15-30 seconds,\n * > but only if `message.reactions` is set\n *\n * @param chatId ID of the chat with messages\n * @param messages Message IDs\n * @returns Reactions to corresponding messages, or `null` if there are none\n */\nexport async function getMessageReactions(\n client: ITelegramClient,\n messages: Message[],\n): Promise<(MessageReactions | null)[]> {\n return getMessageReactionsById(\n client,\n messages[0].chat.inputPeer,\n messages.map((it) => it.id),\n )\n}\n"]}
1
+ {"version":3,"file":"get-message-reactions.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/get-message-reactions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AAEhE,OAAO,EAA0B,gBAAgB,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAC3F,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAEtD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CACzC,MAAuB,EACvB,MAAqB,EACrB,QAAkB;IAElB,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC1B,CAAC,EAAE,+BAA+B;QAClC,IAAI,EAAE,MAAM,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC;QACvC,EAAE,EAAE,QAAQ;KACf,CAAC,CAAA;IAEF,oBAAoB,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAA;IAE1D,qDAAqD;IACrD,gDAAgD;IAChD,EAAE;IACF,+CAA+C;IAC/C,+CAA+C;IAE/C,MAAM,KAAK,GAAqC,EAAE,CAAA;IAElD,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAElC,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAC/B,YAAY,CAAC,+BAA+B,EAAE,MAAM,EAAE,wBAAwB,CAAC,CAAA;QAE/E,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,gBAAgB,CAAC,MAAM,CAAC,KAAK,EAAE,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;IACnH,CAAC;IAED,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAA;AAChE,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACrC,MAAuB,EACvB,QAAmB;IAEnB,OAAO,uBAAuB,CAC1B,MAAM,EACN,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,EAC1B,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAC9B,CAAA;AACL,CAAC","sourcesContent":["import { getMarkedPeerId } from '../../../utils/peer-utils.js'\nimport { assertTypeIs } from '../../../utils/type-assertions.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputPeerLike, Message, MessageReactions, PeersIndex } from '../../types/index.js'\nimport { assertIsUpdatesGroup } from '../../updates/utils.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\n\n/**\n * Get reactions to messages by their IDs.\n *\n * > Apps should short-poll reactions for visible messages\n * > (that weren't sent by the user) once every 15-30 seconds,\n * > but only if `message.reactions` is set\n *\n * @param chatId ID of the chat with messages\n * @param messages Message IDs\n * @returns Reactions to corresponding messages, or `null` if there are none\n */\nexport async function getMessageReactionsById(\n client: ITelegramClient,\n chatId: InputPeerLike,\n messages: number[],\n): Promise<(MessageReactions | null)[]> {\n const res = await client.call({\n _: 'messages.getMessagesReactions',\n peer: await resolvePeer(client, chatId),\n id: messages,\n })\n\n assertIsUpdatesGroup('messages.getMessagesReactions', res)\n\n // normally the group contains updateMessageReactions\n // for each message requested that has reactions\n //\n // these updates are not ordered in any way, so\n // we don't need to pass them to updates engine\n\n const index: Record<number, MessageReactions> = {}\n\n const peers = PeersIndex.from(res)\n\n for (const update of res.updates) {\n assertTypeIs('messages.getMessagesReactions', update, 'updateMessageReactions')\n\n index[update.msgId] = new MessageReactions(update.msgId, getMarkedPeerId(update.peer), update.reactions, peers)\n }\n\n return messages.map((messageId) => index[messageId] ?? null)\n}\n\n/**\n * Get reactions to {@link Message}s.\n *\n * > **Note**: messages must all be from the same chat.\n *\n * > Apps should short-poll reactions for visible messages\n * > (that weren't sent by the user) once every 15-30 seconds,\n * > but only if `message.reactions` is set\n *\n * @param chatId ID of the chat with messages\n * @param messages Message IDs\n * @returns Reactions to corresponding messages, or `null` if there are none\n */\nexport async function getMessageReactions(\n client: ITelegramClient,\n messages: Message[],\n): Promise<(MessageReactions | null)[]> {\n return getMessageReactionsById(\n client,\n messages[0].chat.inputPeer,\n messages.map((it) => it.id),\n )\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"get-messages.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/get-messages.ts"],"names":[],"mappings":"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","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MaybeArray } from '../../../types/utils.js'\nimport { assertTypeIsNot } from '../../../utils/type-assertions.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { Message } from '../../types/messages/index.js'\nimport { InputPeerLike, PeersIndex } from '../../types/peers/index.js'\nimport { isInputPeerChannel, toInputChannel } from '../../utils/peer-utils.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\n\n// @available=both\n/**\n * Get messages in chat by their IDs\n *\n * Fot messages that were not found, `null` will be\n * returned at that position.\n *\n * @param chatId Chat's marked ID, its username, phone or `\"me\"` or `\"self\"`\n * @param messageIds Messages IDs\n * @param [fromReply=false]\n * Whether the reply to a given message should be fetched\n * (i.e. `getMessages(msg.chat.id, msg.id, true).id === msg.replyToMessageId`)\n */\nexport async function getMessages(\n client: ITelegramClient,\n chatId: InputPeerLike,\n messageIds: MaybeArray<number>,\n fromReply = false,\n): Promise<(Message | null)[]> {\n const peer = await resolvePeer(client, chatId)\n if (!Array.isArray(messageIds)) messageIds = [messageIds]\n\n const type = fromReply ? 'inputMessageReplyTo' : 'inputMessageID'\n const ids: tl.TypeInputMessage[] = messageIds.map((it) => ({\n _: type,\n id: it,\n }))\n\n const isChannel = isInputPeerChannel(peer)\n\n const res = await client.call(\n isChannel ?\n {\n _: 'channels.getMessages',\n id: ids,\n channel: toInputChannel(peer),\n } :\n {\n _: 'messages.getMessages',\n id: ids,\n },\n )\n\n assertTypeIsNot('getMessages', res, 'messages.messagesNotModified')\n\n const peers = PeersIndex.from(res)\n\n let selfId: number | null | undefined = undefined\n\n return res.messages.map((msg) => {\n if (msg._ === 'messageEmpty') return null\n\n if (!isChannel) {\n // make sure that the messages belong to the given chat\n // (channels have their own message numbering)\n switch (peer._) {\n case 'inputPeerSelf':\n if (selfId === undefined) selfId = client.storage.self.getCached()?.userId ?? null\n\n if (!(msg.peerId._ === 'peerUser' && msg.peerId.userId === selfId)) {\n return null\n }\n break\n case 'inputPeerUser':\n case 'inputPeerUserFromMessage':\n if (!(msg.peerId._ === 'peerUser' && msg.peerId.userId === peer.userId)) {\n return null\n }\n break\n case 'inputPeerChat':\n if (!(msg.peerId._ === 'peerChat' && msg.peerId.chatId === peer.chatId)) {\n return null\n }\n break\n }\n }\n\n return new Message(msg, peers)\n })\n}\n"]}
1
+ {"version":3,"file":"get-messages.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/get-messages.ts"],"names":[],"mappings":"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","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MaybeArray } from '../../../types/utils.js'\nimport { assertTypeIsNot } from '../../../utils/type-assertions.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { Message } from '../../types/messages/index.js'\nimport { InputPeerLike, PeersIndex } from '../../types/peers/index.js'\nimport { isInputPeerChannel, toInputChannel } from '../../utils/peer-utils.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\n\n// @available=both\n/**\n * Get messages in chat by their IDs\n *\n * Fot messages that were not found, `null` will be\n * returned at that position.\n *\n * @param chatId Chat's marked ID, its username, phone or `\"me\"` or `\"self\"`\n * @param messageIds Messages IDs\n * @param [fromReply=false]\n * Whether the reply to a given message should be fetched\n * (i.e. `getMessages(msg.chat.id, msg.id, true).id === msg.replyToMessageId`)\n */\nexport async function getMessages(\n client: ITelegramClient,\n chatId: InputPeerLike,\n messageIds: MaybeArray<number>,\n fromReply = false,\n): Promise<(Message | null)[]> {\n const peer = await resolvePeer(client, chatId)\n if (!Array.isArray(messageIds)) messageIds = [messageIds]\n\n const type = fromReply ? 'inputMessageReplyTo' : 'inputMessageID'\n const ids: tl.TypeInputMessage[] = messageIds.map((it) => ({\n _: type,\n id: it,\n }))\n\n const isChannel = isInputPeerChannel(peer)\n\n const res = await client.call(\n isChannel ?\n {\n _: 'channels.getMessages',\n id: ids,\n channel: toInputChannel(peer),\n } :\n {\n _: 'messages.getMessages',\n id: ids,\n },\n )\n\n assertTypeIsNot('getMessages', res, 'messages.messagesNotModified')\n\n const peers = PeersIndex.from(res)\n\n let selfId: number | null | undefined = undefined\n\n return res.messages.map((msg) => {\n if (msg._ === 'messageEmpty') return null\n\n if (!isChannel) {\n // make sure that the messages belong to the given chat\n // (channels have their own message numbering)\n switch (peer._) {\n case 'inputPeerSelf':\n if (selfId === undefined) selfId = client.storage.self.getCached()?.userId ?? null\n\n if (!(msg.peerId._ === 'peerUser' && msg.peerId.userId === selfId)) {\n return null\n }\n break\n case 'inputPeerUser':\n case 'inputPeerUserFromMessage':\n if (!(msg.peerId._ === 'peerUser' && msg.peerId.userId === peer.userId)) {\n return null\n }\n break\n case 'inputPeerChat':\n if (!(msg.peerId._ === 'peerChat' && msg.peerId.chatId === peer.chatId)) {\n return null\n }\n break\n }\n }\n\n return new Message(msg, peers)\n })\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"get-reply-to.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/get-reply-to.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAE5D;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAuB,EAAE,OAAgB;IACtE,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,EAAE;QAC7B,OAAO,IAAI,CAAA;KACd;IAED,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,aAAa,EAAE;QACxC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;QAEjF,OAAO,GAAG,CAAA;KACb;IAED,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;IAE/D,OAAO,GAAG,CAAA;AACd,CAAC","sourcesContent":["import { ITelegramClient } from '../../client.types.js'\nimport { Message } from '../../types/messages/index.js'\nimport { getMessages } from './get-messages.js'\nimport { getMessagesUnsafe } from './get-messages-unsafe.js'\n\n/**\n * For messages containing a reply, fetch the message that is being replied.\n *\n * Note that even if a message has {@link replyToMessage},\n * the message itself may have been deleted, in which case\n * this method will also return `null`.\n */\nexport async function getReplyTo(client: ITelegramClient, message: Message): Promise<Message | null> {\n if (!message.replyToMessage?.id) {\n return null\n }\n\n if (message.raw.peerId._ === 'peerChannel') {\n const [msg] = await getMessages(client, message.chat.inputPeer, message.id, true)\n\n return msg\n }\n\n const [msg] = await getMessagesUnsafe(client, message.id, true)\n\n return msg\n}\n"]}
1
+ {"version":3,"file":"get-reply-to.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/get-reply-to.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAE5D;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAuB,EAAE,OAAgB;IACtE,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAA;IACf,CAAC;IAED,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,aAAa,EAAE,CAAC;QACzC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;QAEjF,OAAO,GAAG,CAAA;IACd,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;IAE/D,OAAO,GAAG,CAAA;AACd,CAAC","sourcesContent":["import { ITelegramClient } from '../../client.types.js'\nimport { Message } from '../../types/messages/index.js'\nimport { getMessages } from './get-messages.js'\nimport { getMessagesUnsafe } from './get-messages-unsafe.js'\n\n/**\n * For messages containing a reply, fetch the message that is being replied.\n *\n * Note that even if a message has {@link replyToMessage},\n * the message itself may have been deleted, in which case\n * this method will also return `null`.\n */\nexport async function getReplyTo(client: ITelegramClient, message: Message): Promise<Message | null> {\n if (!message.replyToMessage?.id) {\n return null\n }\n\n if (message.raw.peerId._ === 'peerChannel') {\n const [msg] = await getMessages(client, message.chat.inputPeer, message.id, true)\n\n return msg\n }\n\n const [msg] = await getMessagesUnsafe(client, message.id, true)\n\n return msg\n}\n"]}