@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
@@ -1 +1 @@
1
- {"version":3,"file":"iter-history.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/iter-history.ts"],"names":[],"mappings":";;;AAEA,8DAAsD;AACtD,qDAA6C;AAE7C;;;;;GAKG;AACI,KAAK,SAAS,CAAC,CAAC,WAAW,CAC9B,MAAuB,EACvB,MAAqB,EACrB,MAcC;IAED,IAAI,CAAC,MAAM;QAAE,MAAM,GAAG,EAAE,CAAA;IAExB,MAAM,EAAE,KAAK,GAAG,QAAQ,EAAE,SAAS,GAAG,GAAG,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,OAAO,GAAG,KAAK,EAAE,GAAG,MAAM,CAAA;IAE3F,IAAI,EAAE,MAAM,EAAE,SAAS,GAAG,CAAC,EAAE,GAAG,MAAM,CAAA;IACtC,IAAI,OAAO,GAAG,CAAC,CAAA;IAEf,qDAAqD;IACrD,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE9C,SAAS;QACL,MAAM,GAAG,GAAG,MAAM,IAAA,2BAAU,EAAC,MAAM,EAAE,IAAI,EAAE;YACvC,MAAM;YACN,SAAS;YACT,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,GAAG,OAAO,CAAC;YAC3C,KAAK;YACL,KAAK;YACL,OAAO;SACV,CAAC,CAAA;QAEF,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE;YACnB,MAAM,GAAG,CAAA;YAET,IAAI,EAAE,OAAO,IAAI,KAAK;gBAAE,OAAM;SACjC;QAED,IAAI,CAAC,GAAG,CAAC,IAAI;YAAE,OAAM;QACrB,MAAM,GAAG,GAAG,CAAC,IAAI,CAAA;QACjB,SAAS,GAAG,CAAC,CAAA;KAChB;AACL,CAAC;AAjDD,kCAiDC","sourcesContent":["import { ITelegramClient } from '../../client.types.js'\nimport { InputPeerLike, Message } from '../../types/index.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\nimport { getHistory } from './get-history.js'\n\n/**\n * Iterate over chat history. Wrapper over {@link getHistory}\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* iterHistory(\n client: ITelegramClient,\n chatId: InputPeerLike,\n params?: Parameters<typeof getHistory>[2] & {\n /**\n * Limits the number of messages to be retrieved.\n *\n * @default Infinity, i.e. all messages\n */\n limit?: number\n\n /**\n * Chunk size. Usually you shouldn't care about this.\n *\n * @default 100\n */\n chunkSize?: number\n },\n): AsyncIterableIterator<Message> {\n if (!params) params = {}\n\n const { limit = Infinity, chunkSize = 100, minId = 0, maxId = 0, reverse = false } = params\n\n let { offset, addOffset = 0 } = params\n let current = 0\n\n // resolve peer once and pass an InputPeer afterwards\n const peer = await resolvePeer(client, chatId)\n\n for (;;) {\n const res = await getHistory(client, peer, {\n offset,\n addOffset,\n limit: Math.min(chunkSize, limit - current),\n maxId,\n minId,\n reverse,\n })\n\n for (const msg of res) {\n yield msg\n\n if (++current >= limit) return\n }\n\n if (!res.next) return\n offset = res.next\n addOffset = 0\n }\n}\n"]}
1
+ {"version":3,"file":"iter-history.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/iter-history.ts"],"names":[],"mappings":";;;AAEA,8DAAsD;AACtD,qDAA6C;AAE7C;;;;;GAKG;AACI,KAAK,SAAS,CAAC,CAAC,WAAW,CAC9B,MAAuB,EACvB,MAAqB,EACrB,MAcC;IAED,IAAI,CAAC,MAAM;QAAE,MAAM,GAAG,EAAE,CAAA;IAExB,MAAM,EAAE,KAAK,GAAG,QAAQ,EAAE,SAAS,GAAG,GAAG,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,OAAO,GAAG,KAAK,EAAE,GAAG,MAAM,CAAA;IAE3F,IAAI,EAAE,MAAM,EAAE,SAAS,GAAG,CAAC,EAAE,GAAG,MAAM,CAAA;IACtC,IAAI,OAAO,GAAG,CAAC,CAAA;IAEf,qDAAqD;IACrD,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE9C,SAAS,CAAC;QACN,MAAM,GAAG,GAAG,MAAM,IAAA,2BAAU,EAAC,MAAM,EAAE,IAAI,EAAE;YACvC,MAAM;YACN,SAAS;YACT,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,GAAG,OAAO,CAAC;YAC3C,KAAK;YACL,KAAK;YACL,OAAO;SACV,CAAC,CAAA;QAEF,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;YACpB,MAAM,GAAG,CAAA;YAET,IAAI,EAAE,OAAO,IAAI,KAAK;gBAAE,OAAM;QAClC,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,IAAI;YAAE,OAAM;QACrB,MAAM,GAAG,GAAG,CAAC,IAAI,CAAA;QACjB,SAAS,GAAG,CAAC,CAAA;IACjB,CAAC;AACL,CAAC;AAjDD,kCAiDC","sourcesContent":["import { ITelegramClient } from '../../client.types.js'\nimport { InputPeerLike, Message } from '../../types/index.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\nimport { getHistory } from './get-history.js'\n\n/**\n * Iterate over chat history. Wrapper over {@link getHistory}\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* iterHistory(\n client: ITelegramClient,\n chatId: InputPeerLike,\n params?: Parameters<typeof getHistory>[2] & {\n /**\n * Limits the number of messages to be retrieved.\n *\n * @default Infinity, i.e. all messages\n */\n limit?: number\n\n /**\n * Chunk size. Usually you shouldn't care about this.\n *\n * @default 100\n */\n chunkSize?: number\n },\n): AsyncIterableIterator<Message> {\n if (!params) params = {}\n\n const { limit = Infinity, chunkSize = 100, minId = 0, maxId = 0, reverse = false } = params\n\n let { offset, addOffset = 0 } = params\n let current = 0\n\n // resolve peer once and pass an InputPeer afterwards\n const peer = await resolvePeer(client, chatId)\n\n for (;;) {\n const res = await getHistory(client, peer, {\n offset,\n addOffset,\n limit: Math.min(chunkSize, limit - current),\n maxId,\n minId,\n reverse,\n })\n\n for (const msg of res) {\n yield msg\n\n if (++current >= limit) return\n }\n\n if (!res.next) return\n offset = res.next\n addOffset = 0\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"iter-reaction-users.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/iter-reaction-users.ts"],"names":[],"mappings":";;;AACA,mDAAoG;AACpG,8DAAsD;AACtD,mEAA0D;AAE1D;;;;;;;;GAQG;AACI,KAAK,SAAS,CAAC,CAAC,iBAAiB,CACpC,MAAuB,EACvB,MAcC;IAED,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,kCAAuB,EAAC,MAAM,CAAC,CAAA;IAC3D,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE9C,MAAM,EAAE,KAAK,GAAG,QAAQ,EAAE,SAAS,GAAG,GAAG,EAAE,GAAG,MAAM,CAAA;IAEpD,IAAI,OAAO,GAAG,CAAC,CAAA;IACf,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;IAEvB,MAAM,QAAQ,GAAG,IAAA,iCAAsB,EAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAErD,SAAS;QACL,MAAM,GAAG,GAAG,MAAM,IAAA,wCAAgB,EAAC,MAAM,EAAE;YACvC,MAAM,EAAE,IAAI;YACZ,OAAO;YACP,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,GAAG,OAAO,CAAC;YAC3C,MAAM;SACT,CAAC,CAAA;QAEF,MAAM,GAAG,GAAG,CAAC,IAAI,CAAA;QAEjB,KAAK,MAAM,QAAQ,IAAI,GAAG,EAAE;YACxB,MAAM,QAAQ,CAAA;YAEd,IAAI,EAAE,OAAO,IAAI,KAAK;gBAAE,MAAK;SAChC;KACJ;AACL,CAAC;AA7CD,8CA6CC","sourcesContent":["import { ITelegramClient } from '../../client.types.js'\nimport { normalizeInputMessageId, normalizeInputReaction, PeerReaction } from '../../types/index.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\nimport { getReactionUsers } from './get-reaction-users.js'\n\n/**\n * Iterate over users who have reacted to the message.\n *\n * Wrapper over {@link getReactionUsers}.\n *\n * @param chatId Chat ID\n * @param messageId Message ID\n * @param params\n */\nexport async function* iterReactionUsers(\n client: ITelegramClient,\n params: Parameters<typeof getReactionUsers>[1] & {\n /**\n * Limit the number of events returned.\n *\n * @default `Infinity`, i.e. all events are returned\n */\n limit?: number\n\n /**\n * Chunk size, usually not needed.\n *\n * @default 100\n */\n chunkSize?: number\n },\n): AsyncIterableIterator<PeerReaction> {\n const { chatId, message } = normalizeInputMessageId(params)\n const peer = await resolvePeer(client, chatId)\n\n const { limit = Infinity, chunkSize = 100 } = params\n\n let current = 0\n let { offset } = params\n\n const reaction = normalizeInputReaction(params.emoji)\n\n for (;;) {\n const res = await getReactionUsers(client, {\n chatId: peer,\n message,\n emoji: reaction,\n limit: Math.min(chunkSize, limit - current),\n offset,\n })\n\n offset = res.next\n\n for (const reaction of res) {\n yield reaction\n\n if (++current >= limit) break\n }\n }\n}\n"]}
1
+ {"version":3,"file":"iter-reaction-users.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/iter-reaction-users.ts"],"names":[],"mappings":";;;AACA,mDAAoG;AACpG,8DAAsD;AACtD,mEAA0D;AAE1D;;;;;;;;GAQG;AACI,KAAK,SAAS,CAAC,CAAC,iBAAiB,CACpC,MAAuB,EACvB,MAcC;IAED,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,kCAAuB,EAAC,MAAM,CAAC,CAAA;IAC3D,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE9C,MAAM,EAAE,KAAK,GAAG,QAAQ,EAAE,SAAS,GAAG,GAAG,EAAE,GAAG,MAAM,CAAA;IAEpD,IAAI,OAAO,GAAG,CAAC,CAAA;IACf,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;IAEvB,MAAM,QAAQ,GAAG,IAAA,iCAAsB,EAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAErD,SAAS,CAAC;QACN,MAAM,GAAG,GAAG,MAAM,IAAA,wCAAgB,EAAC,MAAM,EAAE;YACvC,MAAM,EAAE,IAAI;YACZ,OAAO;YACP,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,GAAG,OAAO,CAAC;YAC3C,MAAM;SACT,CAAC,CAAA;QAEF,MAAM,GAAG,GAAG,CAAC,IAAI,CAAA;QAEjB,KAAK,MAAM,QAAQ,IAAI,GAAG,EAAE,CAAC;YACzB,MAAM,QAAQ,CAAA;YAEd,IAAI,EAAE,OAAO,IAAI,KAAK;gBAAE,MAAK;QACjC,CAAC;IACL,CAAC;AACL,CAAC;AA7CD,8CA6CC","sourcesContent":["import { ITelegramClient } from '../../client.types.js'\nimport { normalizeInputMessageId, normalizeInputReaction, PeerReaction } from '../../types/index.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\nimport { getReactionUsers } from './get-reaction-users.js'\n\n/**\n * Iterate over users who have reacted to the message.\n *\n * Wrapper over {@link getReactionUsers}.\n *\n * @param chatId Chat ID\n * @param messageId Message ID\n * @param params\n */\nexport async function* iterReactionUsers(\n client: ITelegramClient,\n params: Parameters<typeof getReactionUsers>[1] & {\n /**\n * Limit the number of events returned.\n *\n * @default `Infinity`, i.e. all events are returned\n */\n limit?: number\n\n /**\n * Chunk size, usually not needed.\n *\n * @default 100\n */\n chunkSize?: number\n },\n): AsyncIterableIterator<PeerReaction> {\n const { chatId, message } = normalizeInputMessageId(params)\n const peer = await resolvePeer(client, chatId)\n\n const { limit = Infinity, chunkSize = 100 } = params\n\n let current = 0\n let { offset } = params\n\n const reaction = normalizeInputReaction(params.emoji)\n\n for (;;) {\n const res = await getReactionUsers(client, {\n chatId: peer,\n message,\n emoji: reaction,\n limit: Math.min(chunkSize, limit - current),\n offset,\n })\n\n offset = res.next\n\n for (const reaction of res) {\n yield reaction\n\n if (++current >= limit) break\n }\n }\n}\n"]}
@@ -16,7 +16,7 @@ const search_global_js_1 = require("./search-global.js");
16
16
  async function* iterSearchGlobal(client, params) {
17
17
  if (!params)
18
18
  params = {};
19
- const { query = '', filter = index_js_1.SearchFilters.Empty, limit = Infinity, chunkSize = 100 } = params;
19
+ const { query = '', filter = index_js_1.SearchFilters.Empty, limit = Infinity, chunkSize = 100, onlyChannels } = params;
20
20
  const minDate = (0, index_js_2.normalizeDate)(params.minDate) ?? 0;
21
21
  const maxDate = (0, index_js_2.normalizeDate)(params.maxDate) ?? 0;
22
22
  let { offset } = params;
@@ -29,6 +29,7 @@ async function* iterSearchGlobal(client, params) {
29
29
  minDate,
30
30
  maxDate,
31
31
  offset,
32
+ onlyChannels,
32
33
  });
33
34
  if (!res.length)
34
35
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"iter-search-global.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/iter-search-global.ts"],"names":[],"mappings":";;;AACA,mDAA6D;AAC7D,mDAAoD;AACpD,yDAAiD;AAEjD;;;;;;;;GAQG;AACI,KAAK,SAAS,CAAC,CAAC,gBAAgB,CACnC,MAAuB,EACvB,MAeC;IAED,IAAI,CAAC,MAAM;QAAE,MAAM,GAAG,EAAE,CAAA;IAExB,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE,MAAM,GAAG,wBAAa,CAAC,KAAK,EAAE,KAAK,GAAG,QAAQ,EAAE,SAAS,GAAG,GAAG,EAAE,GAAG,MAAM,CAAA;IAE9F,MAAM,OAAO,GAAG,IAAA,wBAAa,EAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD,MAAM,OAAO,GAAG,IAAA,wBAAa,EAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAElD,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;IACvB,IAAI,OAAO,GAAG,CAAC,CAAA;IAEf,SAAS;QACL,MAAM,GAAG,GAAG,MAAM,IAAA,+BAAY,EAAC,MAAM,EAAE;YACnC,KAAK;YACL,MAAM;YACN,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,GAAG,OAAO,CAAC;YAC3C,OAAO;YACP,OAAO;YACP,MAAM;SACT,CAAC,CAAA;QAEF,IAAI,CAAC,GAAG,CAAC,MAAM;YAAE,OAAM;QAEvB,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE;YACnB,MAAM,GAAG,CAAA;YAET,IAAI,EAAE,OAAO,IAAI,KAAK;gBAAE,OAAM;SACjC;QAED,IAAI,CAAC,GAAG,CAAC,IAAI;YAAE,OAAM;QACrB,MAAM,GAAG,GAAG,CAAC,IAAI,CAAA;KACpB;AACL,CAAC;AAlDD,4CAkDC","sourcesContent":["import { ITelegramClient } from '../../client.types.js'\nimport { Message, SearchFilters } from '../../types/index.js'\nimport { normalizeDate } from '../../utils/index.js'\nimport { searchGlobal } from './search-global.js'\n\n/**\n * Search for messages globally from all of your chats.\n *\n * Iterable version of {@link searchGlobal}\n *\n * **Note**: Due to Telegram limitations, you can only get up to ~10000 messages\n *\n * @param params Search parameters\n */\nexport async function* iterSearchGlobal(\n client: ITelegramClient,\n params?: Parameters<typeof searchGlobal>[1] & {\n /**\n * Limits the number of messages to be retrieved.\n *\n * @default `Infinity`, i.e. all messages are returned\n */\n limit?: number\n\n /**\n * Chunk size, which will be passed as `limit` parameter\n * for `messages.search`. Usually you shouldn't care about this.\n *\n * @default 100\n */\n chunkSize?: number\n },\n): AsyncIterableIterator<Message> {\n if (!params) params = {}\n\n const { query = '', filter = SearchFilters.Empty, limit = Infinity, chunkSize = 100 } = params\n\n const minDate = normalizeDate(params.minDate) ?? 0\n const maxDate = normalizeDate(params.maxDate) ?? 0\n\n let { offset } = params\n let current = 0\n\n for (;;) {\n const res = await searchGlobal(client, {\n query,\n filter,\n limit: Math.min(chunkSize, limit - current),\n minDate,\n maxDate,\n offset,\n })\n\n if (!res.length) return\n\n for (const msg of res) {\n yield msg\n\n if (++current >= limit) return\n }\n\n if (!res.next) return\n offset = res.next\n }\n}\n"]}
1
+ {"version":3,"file":"iter-search-global.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/iter-search-global.ts"],"names":[],"mappings":";;;AACA,mDAA6D;AAC7D,mDAAoD;AACpD,yDAAiD;AAEjD;;;;;;;;GAQG;AACI,KAAK,SAAS,CAAC,CAAC,gBAAgB,CACnC,MAAuB,EACvB,MAeC;IAED,IAAI,CAAC,MAAM;QAAE,MAAM,GAAG,EAAE,CAAA;IAExB,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE,MAAM,GAAG,wBAAa,CAAC,KAAK,EAAE,KAAK,GAAG,QAAQ,EAAE,SAAS,GAAG,GAAG,EAAE,YAAY,EAAE,GAAG,MAAM,CAAA;IAE5G,MAAM,OAAO,GAAG,IAAA,wBAAa,EAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD,MAAM,OAAO,GAAG,IAAA,wBAAa,EAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAElD,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;IACvB,IAAI,OAAO,GAAG,CAAC,CAAA;IAEf,SAAS,CAAC;QACN,MAAM,GAAG,GAAG,MAAM,IAAA,+BAAY,EAAC,MAAM,EAAE;YACnC,KAAK;YACL,MAAM;YACN,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,GAAG,OAAO,CAAC;YAC3C,OAAO;YACP,OAAO;YACP,MAAM;YACN,YAAY;SACf,CAAC,CAAA;QAEF,IAAI,CAAC,GAAG,CAAC,MAAM;YAAE,OAAM;QAEvB,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;YACpB,MAAM,GAAG,CAAA;YAET,IAAI,EAAE,OAAO,IAAI,KAAK;gBAAE,OAAM;QAClC,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,IAAI;YAAE,OAAM;QACrB,MAAM,GAAG,GAAG,CAAC,IAAI,CAAA;IACrB,CAAC;AACL,CAAC;AAnDD,4CAmDC","sourcesContent":["import { ITelegramClient } from '../../client.types.js'\nimport { Message, SearchFilters } from '../../types/index.js'\nimport { normalizeDate } from '../../utils/index.js'\nimport { searchGlobal } from './search-global.js'\n\n/**\n * Search for messages globally from all of your chats.\n *\n * Iterable version of {@link searchGlobal}\n *\n * **Note**: Due to Telegram limitations, you can only get up to ~10000 messages\n *\n * @param params Search parameters\n */\nexport async function* iterSearchGlobal(\n client: ITelegramClient,\n params?: Parameters<typeof searchGlobal>[1] & {\n /**\n * Limits the number of messages to be retrieved.\n *\n * @default `Infinity`, i.e. all messages are returned\n */\n limit?: number\n\n /**\n * Chunk size, which will be passed as `limit` parameter\n * for `messages.search`. Usually you shouldn't care about this.\n *\n * @default 100\n */\n chunkSize?: number\n },\n): AsyncIterableIterator<Message> {\n if (!params) params = {}\n\n const { query = '', filter = SearchFilters.Empty, limit = Infinity, chunkSize = 100, onlyChannels } = params\n\n const minDate = normalizeDate(params.minDate) ?? 0\n const maxDate = normalizeDate(params.maxDate) ?? 0\n\n let { offset } = params\n let current = 0\n\n for (;;) {\n const res = await searchGlobal(client, {\n query,\n filter,\n limit: Math.min(chunkSize, limit - current),\n minDate,\n maxDate,\n offset,\n onlyChannels,\n })\n\n if (!res.length) return\n\n for (const msg of res) {\n yield msg\n\n if (++current >= limit) return\n }\n\n if (!res.next) return\n offset = res.next\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"iter-search-messages.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/iter-search-messages.ts"],"names":[],"mappings":";;;AACA,mDAA6D;AAC7D,6DAAyD;AACzD,8DAAsD;AACtD,6DAAqD;AAErD;;;;;;;GAOG;AACI,KAAK,SAAS,CAAC,CAAC,kBAAkB,CACrC,MAAuB,EACvB,MAeC;IAED,IAAI,CAAC,MAAM;QAAE,MAAM,GAAG,EAAE,CAAA;IAExB,MAAM,EACF,KAAK,GAAG,EAAE,EACV,MAAM,GAAG,EAAE,CAAC,EAAE,gBAAgB,EAAE,EAChC,KAAK,GAAG,CAAC,EACT,KAAK,GAAG,CAAC,EACT,QAAQ,EACR,KAAK,GAAG,QAAQ,EAChB,SAAS,GAAG,GAAG,EACf,MAAM,GAAG,wBAAa,CAAC,KAAK,GAC/B,GAAG,MAAM,CAAA;IAEV,MAAM,OAAO,GAAG,IAAA,6BAAa,EAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD,MAAM,OAAO,GAAG,IAAA,6BAAa,EAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9C,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAEzF,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAA;IAClC,IAAI,OAAO,GAAG,CAAC,CAAA;IAEf,SAAS;QACL,MAAM,GAAG,GAAG,MAAM,IAAA,mCAAc,EAAC,MAAM,EAAE;YACrC,KAAK;YACL,MAAM,EAAE,IAAI;YACZ,MAAM;YACN,SAAS;YACT,KAAK;YACL,KAAK;YACL,QAAQ;YACR,MAAM;YACN,QAAQ;YACR,OAAO;YACP,OAAO;YACP,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,GAAG,OAAO,CAAC;SAC9C,CAAC,CAAA;QAEF,IAAI,CAAC,GAAG,CAAC,MAAM;YAAE,MAAK;QAEtB,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE;YACnB,MAAM,GAAG,CAAA;YAET,IAAI,EAAE,OAAO,IAAI,KAAK;gBAAE,OAAM;SACjC;QAED,IAAI,CAAC,GAAG,CAAC,IAAI;YAAE,MAAK;QACpB,MAAM,GAAG,GAAG,CAAC,IAAI,CAAA;QACjB,SAAS,GAAG,SAAS,CAAA;KACxB;AACL,CAAC;AApED,gDAoEC","sourcesContent":["import { ITelegramClient } from '../../client.types.js'\nimport { Message, SearchFilters } from '../../types/index.js'\nimport { normalizeDate } from '../../utils/misc-utils.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\nimport { searchMessages } from './search-messages.js'\n\n/**\n * Search for messages inside a specific chat\n *\n * Iterable version of {@link searchMessages}\n *\n * @param chatId Chat's marked ID, its username, phone or `\"me\"` or `\"self\"`.\n * @param params Additional search parameters\n */\nexport async function* iterSearchMessages(\n client: ITelegramClient,\n params?: Parameters<typeof searchMessages>[1] & {\n /**\n * Limits the number of messages to be retrieved.\n *\n * @default `Infinity`, i.e. all messages are returned\n */\n limit?: number\n\n /**\n * Chunk size, which will be passed as `limit` parameter\n * for `messages.search`. Usually you shouldn't care about this.\n *\n * @default `100`\n */\n chunkSize?: number\n },\n): AsyncIterableIterator<Message> {\n if (!params) params = {}\n\n const {\n query = '',\n chatId = { _: 'inputPeerEmpty' },\n minId = 0,\n maxId = 0,\n threadId,\n limit = Infinity,\n chunkSize = 100,\n filter = SearchFilters.Empty,\n } = params\n\n const minDate = normalizeDate(params.minDate) ?? 0\n const maxDate = normalizeDate(params.maxDate) ?? 0\n const peer = await resolvePeer(client, chatId)\n const fromUser = params.fromUser ? await resolvePeer(client, params.fromUser) : undefined\n\n let { offset, addOffset } = params\n let current = 0\n\n for (;;) {\n const res = await searchMessages(client, {\n query,\n chatId: peer,\n offset,\n addOffset,\n minId,\n maxId,\n threadId,\n filter,\n fromUser,\n minDate,\n maxDate,\n limit: Math.min(chunkSize, limit - current),\n })\n\n if (!res.length) break\n\n for (const msg of res) {\n yield msg\n\n if (++current >= limit) return\n }\n\n if (!res.next) break\n offset = res.next\n addOffset = undefined\n }\n}\n"]}
1
+ {"version":3,"file":"iter-search-messages.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/iter-search-messages.ts"],"names":[],"mappings":";;;AACA,mDAA6D;AAC7D,6DAAyD;AACzD,8DAAsD;AACtD,6DAAqD;AAErD;;;;;;;GAOG;AACI,KAAK,SAAS,CAAC,CAAC,kBAAkB,CACrC,MAAuB,EACvB,MAeC;IAED,IAAI,CAAC,MAAM;QAAE,MAAM,GAAG,EAAE,CAAA;IAExB,MAAM,EACF,KAAK,GAAG,EAAE,EACV,MAAM,GAAG,EAAE,CAAC,EAAE,gBAAgB,EAAE,EAChC,KAAK,GAAG,CAAC,EACT,KAAK,GAAG,CAAC,EACT,QAAQ,EACR,KAAK,GAAG,QAAQ,EAChB,SAAS,GAAG,GAAG,EACf,MAAM,GAAG,wBAAa,CAAC,KAAK,GAC/B,GAAG,MAAM,CAAA;IAEV,MAAM,OAAO,GAAG,IAAA,6BAAa,EAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD,MAAM,OAAO,GAAG,IAAA,6BAAa,EAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9C,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAEzF,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAA;IAClC,IAAI,OAAO,GAAG,CAAC,CAAA;IAEf,SAAS,CAAC;QACN,MAAM,GAAG,GAAG,MAAM,IAAA,mCAAc,EAAC,MAAM,EAAE;YACrC,KAAK;YACL,MAAM,EAAE,IAAI;YACZ,MAAM;YACN,SAAS;YACT,KAAK;YACL,KAAK;YACL,QAAQ;YACR,MAAM;YACN,QAAQ;YACR,OAAO;YACP,OAAO;YACP,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,GAAG,OAAO,CAAC;SAC9C,CAAC,CAAA;QAEF,IAAI,CAAC,GAAG,CAAC,MAAM;YAAE,MAAK;QAEtB,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;YACpB,MAAM,GAAG,CAAA;YAET,IAAI,EAAE,OAAO,IAAI,KAAK;gBAAE,OAAM;QAClC,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,IAAI;YAAE,MAAK;QACpB,MAAM,GAAG,GAAG,CAAC,IAAI,CAAA;QACjB,SAAS,GAAG,SAAS,CAAA;IACzB,CAAC;AACL,CAAC;AApED,gDAoEC","sourcesContent":["import { ITelegramClient } from '../../client.types.js'\nimport { Message, SearchFilters } from '../../types/index.js'\nimport { normalizeDate } from '../../utils/misc-utils.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\nimport { searchMessages } from './search-messages.js'\n\n/**\n * Search for messages inside a specific chat\n *\n * Iterable version of {@link searchMessages}\n *\n * @param chatId Chat's marked ID, its username, phone or `\"me\"` or `\"self\"`.\n * @param params Additional search parameters\n */\nexport async function* iterSearchMessages(\n client: ITelegramClient,\n params?: Parameters<typeof searchMessages>[1] & {\n /**\n * Limits the number of messages to be retrieved.\n *\n * @default `Infinity`, i.e. all messages are returned\n */\n limit?: number\n\n /**\n * Chunk size, which will be passed as `limit` parameter\n * for `messages.search`. Usually you shouldn't care about this.\n *\n * @default `100`\n */\n chunkSize?: number\n },\n): AsyncIterableIterator<Message> {\n if (!params) params = {}\n\n const {\n query = '',\n chatId = { _: 'inputPeerEmpty' },\n minId = 0,\n maxId = 0,\n threadId,\n limit = Infinity,\n chunkSize = 100,\n filter = SearchFilters.Empty,\n } = params\n\n const minDate = normalizeDate(params.minDate) ?? 0\n const maxDate = normalizeDate(params.maxDate) ?? 0\n const peer = await resolvePeer(client, chatId)\n const fromUser = params.fromUser ? await resolvePeer(client, params.fromUser) : undefined\n\n let { offset, addOffset } = params\n let current = 0\n\n for (;;) {\n const res = await searchMessages(client, {\n query,\n chatId: peer,\n offset,\n addOffset,\n minId,\n maxId,\n threadId,\n filter,\n fromUser,\n minDate,\n maxDate,\n limit: Math.min(chunkSize, limit - current),\n })\n\n if (!res.length) break\n\n for (const msg of res) {\n yield msg\n\n if (++current >= limit) return\n }\n\n if (!res.next) break\n offset = res.next\n addOffset = undefined\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"read-history.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/read-history.ts"],"names":[],"mappings":";;;AAAA,0EAA8D;AAG9D,qDAA0D;AAC1D,6DAA8E;AAC9E,8DAAsD;AAEtD;;;;GAIG;AACI,KAAK,UAAU,WAAW,CAC7B,MAAuB,EACvB,MAAqB,EACrB,MAYC;IAED,MAAM,EAAE,KAAK,GAAG,CAAC,EAAE,aAAa,EAAE,GAAG,MAAM,IAAI,EAAE,CAAA;IAEjD,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE9C,IAAI,aAAa,EAAE;QACf,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;YAC1B,CAAC,EAAE,uBAAuB;YAC1B,IAAI;SACP,CAAC,CAAA;QAEF,IAAI,IAAA,kCAAkB,EAAC,IAAI,CAAC,EAAE;YAC1B,MAAM,CAAC,kBAAkB,CAAC,IAAA,4BAAiB,EAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAA;SACtF;aAAM;YACH,MAAM,CAAC,kBAAkB,CAAC,IAAA,4BAAiB,EAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAA;SACtE;KACJ;IAED,IAAI,IAAA,kCAAkB,EAAC,IAAI,CAAC,EAAE;QAC1B,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;YACxB,CAAC,EAAE,sBAAsB;YACzB,OAAO,EAAE,IAAA,8BAAc,EAAC,IAAI,CAAC;YAC7B,KAAK;SACR,CAAC,CAAA;QAEF,IAAA,+BAAU,EAAC,sBAAsB,EAAE,CAAC,CAAC,CAAA;KACxC;SAAM;QACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;YAC1B,CAAC,EAAE,sBAAsB;YACzB,IAAI;YACJ,KAAK;SACR,CAAC,CAAA;QACF,MAAM,CAAC,kBAAkB,CAAC,IAAA,4BAAiB,EAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAA;KACtE;AACL,CAAC;AAlDD,kCAkDC","sourcesContent":["import { assertTrue } from '../../../utils/type-assertions.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputPeerLike } 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'\n\n/**\n * Mark chat history as read.\n *\n * @param chatId Chat ID\n */\nexport async function readHistory(\n client: ITelegramClient,\n chatId: InputPeerLike,\n params?: {\n /**\n * Message up until which to read history\n *\n * @default 0, i.e. read everything\n */\n maxId?: number\n\n /**\n * Whether to also clear all mentions in the chat\n */\n clearMentions?: boolean\n },\n): Promise<void> {\n const { maxId = 0, clearMentions } = params ?? {}\n\n const peer = await resolvePeer(client, chatId)\n\n if (clearMentions) {\n const res = await client.call({\n _: 'messages.readMentions',\n peer,\n })\n\n if (isInputPeerChannel(peer)) {\n client.handleClientUpdate(createDummyUpdate(res.pts, res.ptsCount, peer.channelId))\n } else {\n client.handleClientUpdate(createDummyUpdate(res.pts, res.ptsCount))\n }\n }\n\n if (isInputPeerChannel(peer)) {\n const r = await client.call({\n _: 'channels.readHistory',\n channel: toInputChannel(peer),\n maxId,\n })\n\n assertTrue('channels.readHistory', r)\n } else {\n const res = await client.call({\n _: 'messages.readHistory',\n peer,\n maxId,\n })\n client.handleClientUpdate(createDummyUpdate(res.pts, res.ptsCount))\n }\n}\n"]}
1
+ {"version":3,"file":"read-history.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/read-history.ts"],"names":[],"mappings":";;;AAAA,0EAA8D;AAG9D,qDAA0D;AAC1D,6DAA8E;AAC9E,8DAAsD;AAEtD;;;;GAIG;AACI,KAAK,UAAU,WAAW,CAC7B,MAAuB,EACvB,MAAqB,EACrB,MAYC;IAED,MAAM,EAAE,KAAK,GAAG,CAAC,EAAE,aAAa,EAAE,GAAG,MAAM,IAAI,EAAE,CAAA;IAEjD,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE9C,IAAI,aAAa,EAAE,CAAC;QAChB,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;YAC1B,CAAC,EAAE,uBAAuB;YAC1B,IAAI;SACP,CAAC,CAAA;QAEF,IAAI,IAAA,kCAAkB,EAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,MAAM,CAAC,kBAAkB,CAAC,IAAA,4BAAiB,EAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAA;QACvF,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,kBAAkB,CAAC,IAAA,4BAAiB,EAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAA;QACvE,CAAC;IACL,CAAC;IAED,IAAI,IAAA,kCAAkB,EAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;YACxB,CAAC,EAAE,sBAAsB;YACzB,OAAO,EAAE,IAAA,8BAAc,EAAC,IAAI,CAAC;YAC7B,KAAK;SACR,CAAC,CAAA;QAEF,IAAA,+BAAU,EAAC,sBAAsB,EAAE,CAAC,CAAC,CAAA;IACzC,CAAC;SAAM,CAAC;QACJ,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;YAC1B,CAAC,EAAE,sBAAsB;YACzB,IAAI;YACJ,KAAK;SACR,CAAC,CAAA;QACF,MAAM,CAAC,kBAAkB,CAAC,IAAA,4BAAiB,EAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAA;IACvE,CAAC;AACL,CAAC;AAlDD,kCAkDC","sourcesContent":["import { assertTrue } from '../../../utils/type-assertions.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputPeerLike } 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'\n\n/**\n * Mark chat history as read.\n *\n * @param chatId Chat ID\n */\nexport async function readHistory(\n client: ITelegramClient,\n chatId: InputPeerLike,\n params?: {\n /**\n * Message up until which to read history\n *\n * @default 0, i.e. read everything\n */\n maxId?: number\n\n /**\n * Whether to also clear all mentions in the chat\n */\n clearMentions?: boolean\n },\n): Promise<void> {\n const { maxId = 0, clearMentions } = params ?? {}\n\n const peer = await resolvePeer(client, chatId)\n\n if (clearMentions) {\n const res = await client.call({\n _: 'messages.readMentions',\n peer,\n })\n\n if (isInputPeerChannel(peer)) {\n client.handleClientUpdate(createDummyUpdate(res.pts, res.ptsCount, peer.channelId))\n } else {\n client.handleClientUpdate(createDummyUpdate(res.pts, res.ptsCount))\n }\n }\n\n if (isInputPeerChannel(peer)) {\n const r = await client.call({\n _: 'channels.readHistory',\n channel: toInputChannel(peer),\n maxId,\n })\n\n assertTrue('channels.readHistory', r)\n } else {\n const res = await client.call({\n _: 'messages.readHistory',\n peer,\n maxId,\n })\n client.handleClientUpdate(createDummyUpdate(res.pts, res.ptsCount))\n }\n}\n"]}
@@ -44,4 +44,8 @@ export declare function searchGlobal(client: ITelegramClient, params?: {
44
44
  * Only return messages older than this date
45
45
  */
46
46
  maxDate?: Date | number;
47
+ /**
48
+ * Whether to only search across broadcast channels
49
+ */
50
+ onlyChannels?: boolean;
47
51
  }): Promise<ArrayPaginated<Message, SearchGlobalOffset>>;
@@ -19,7 +19,7 @@ const defaultOffset = {
19
19
  async function searchGlobal(client, params) {
20
20
  if (!params)
21
21
  params = {};
22
- const { query = '', filter = index_js_1.SearchFilters.Empty, limit = 100, offset: { rate: offsetRate, peer: offsetPeer, id: offsetId } = defaultOffset, } = params;
22
+ const { query = '', filter = index_js_1.SearchFilters.Empty, limit = 100, offset: { rate: offsetRate, peer: offsetPeer, id: offsetId } = defaultOffset, onlyChannels, } = params;
23
23
  const minDate = (0, index_js_2.normalizeDate)(params.minDate) ?? 0;
24
24
  const maxDate = (0, index_js_2.normalizeDate)(params.maxDate) ?? 0;
25
25
  const res = await client.call({
@@ -32,6 +32,7 @@ async function searchGlobal(client, params) {
32
32
  offsetRate,
33
33
  offsetPeer,
34
34
  limit,
35
+ broadcastsOnly: onlyChannels,
35
36
  });
36
37
  (0, type_assertions_js_1.assertTypeIsNot)('searchGlobal', res, 'messages.messagesNotModified');
37
38
  const peers = index_js_1.PeersIndex.from(res);
@@ -1 +1 @@
1
- {"version":3,"file":"search-global.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/search-global.ts"],"names":[],"mappings":";;;AAEA,0EAAmE;AAEnE,mDAAyF;AACzF,mDAAwE;AASxE,MAAM,aAAa,GAAuB;IACtC,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,EAAE,CAAC,EAAE,gBAAgB,EAAE;IAC7B,EAAE,EAAE,CAAC;CACR,CAAA;AAED;;;;;;GAMG;AACI,KAAK,UAAU,YAAY,CAC9B,MAAuB,EACvB,MAoCC;IAED,IAAI,CAAC,MAAM;QAAE,MAAM,GAAG,EAAE,CAAA;IAExB,MAAM,EACF,KAAK,GAAG,EAAE,EACV,MAAM,GAAG,wBAAa,CAAC,KAAK,EAC5B,KAAK,GAAG,GAAG,EACX,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,aAAa,GAC/E,GAAG,MAAM,CAAA;IAEV,MAAM,OAAO,GAAG,IAAA,wBAAa,EAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD,MAAM,OAAO,GAAG,IAAA,wBAAa,EAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAElD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC1B,CAAC,EAAE,uBAAuB;QAC1B,CAAC,EAAE,KAAK;QACR,MAAM;QACN,OAAO;QACP,OAAO;QACP,QAAQ;QACR,UAAU;QACV,UAAU;QACV,KAAK;KACR,CAAC,CAAA;IAEF,IAAA,oCAAe,EAAC,cAAc,EAAE,GAAG,EAAE,8BAA8B,CAAC,CAAA;IACpE,MAAM,KAAK,GAAG,qBAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAElC,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,kBAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAA;IAEzG,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAElC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC;QACf;YACI,IAAI,EAAG,GAAoC,CAAC,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI;YACrE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS;YACzB,EAAE,EAAE,IAAI,CAAC,EAAE;SACd,CAAC,CAAC;QACH,SAAS,CAAA;IAEb,OAAO,IAAA,6BAAkB,EAAC,IAAI,EAAG,GAAoC,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;AACrG,CAAC;AAhFD,oCAgFC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { assertTypeIsNot } from '../../../utils/type-assertions.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { ArrayPaginated, Message, PeersIndex, SearchFilters } from '../../types/index.js'\nimport { makeArrayPaginated, normalizeDate } from '../../utils/index.js'\n\n// @exported\nexport interface SearchGlobalOffset {\n rate: number\n peer: tl.TypeInputPeer\n id: number\n}\n\nconst defaultOffset: SearchGlobalOffset = {\n rate: 0,\n peer: { _: 'inputPeerEmpty' },\n id: 0,\n}\n\n/**\n * Search for messages globally from all of your chats\n *\n * **Note**: Due to Telegram limitations, you can only get up to ~10000 messages\n *\n * @param params Search parameters\n */\nexport async function searchGlobal(\n client: ITelegramClient,\n params?: {\n /**\n * Text query string. Use `\"@\"` to search for mentions.\n *\n * @default `\"\"` (empty string)\n */\n query?: string\n\n /**\n * Limits the number of messages to be retrieved.\n *\n * @default 100\n */\n limit?: number\n\n /**\n * Filter the results using some filter. (see {@link SearchFilters})\n *\n * @default {@link SearchFilters.Empty} (i.e. will return all messages)\n */\n filter?: tl.TypeMessagesFilter\n\n /**\n * Offset data used for pagination\n */\n offset?: SearchGlobalOffset\n\n /**\n * Only return messages newer than this date\n */\n minDate?: Date | number\n\n /**\n * Only return messages older than this date\n */\n maxDate?: Date | number\n },\n): Promise<ArrayPaginated<Message, SearchGlobalOffset>> {\n if (!params) params = {}\n\n const {\n query = '',\n filter = SearchFilters.Empty,\n limit = 100,\n offset: { rate: offsetRate, peer: offsetPeer, id: offsetId } = defaultOffset,\n } = params\n\n const minDate = normalizeDate(params.minDate) ?? 0\n const maxDate = normalizeDate(params.maxDate) ?? 0\n\n const res = await client.call({\n _: 'messages.searchGlobal',\n q: query,\n filter,\n minDate,\n maxDate,\n offsetId,\n offsetRate,\n offsetPeer,\n limit,\n })\n\n assertTypeIsNot('searchGlobal', res, 'messages.messagesNotModified')\n const peers = PeersIndex.from(res)\n\n const msgs = res.messages.filter((msg) => msg._ !== 'messageEmpty').map((msg) => new Message(msg, peers))\n\n const last = msgs[msgs.length - 1]\n\n const next = last ?\n {\n rate: (res as tl.messages.RawMessagesSlice).nextRate ?? last.raw.date,\n peer: last.chat.inputPeer,\n id: last.id,\n } :\n undefined\n\n return makeArrayPaginated(msgs, (res as tl.messages.RawMessagesSlice).count ?? msgs.length, next)\n}\n"]}
1
+ {"version":3,"file":"search-global.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/search-global.ts"],"names":[],"mappings":";;;AAEA,0EAAmE;AAEnE,mDAAyF;AACzF,mDAAwE;AASxE,MAAM,aAAa,GAAuB;IACtC,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,EAAE,CAAC,EAAE,gBAAgB,EAAE;IAC7B,EAAE,EAAE,CAAC;CACR,CAAA;AAED;;;;;;GAMG;AACI,KAAK,UAAU,YAAY,CAC9B,MAAuB,EACvB,MAyCC;IAED,IAAI,CAAC,MAAM;QAAE,MAAM,GAAG,EAAE,CAAA;IAExB,MAAM,EACF,KAAK,GAAG,EAAE,EACV,MAAM,GAAG,wBAAa,CAAC,KAAK,EAC5B,KAAK,GAAG,GAAG,EACX,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,aAAa,EAC5E,YAAY,GACf,GAAG,MAAM,CAAA;IAEV,MAAM,OAAO,GAAG,IAAA,wBAAa,EAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD,MAAM,OAAO,GAAG,IAAA,wBAAa,EAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAElD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC1B,CAAC,EAAE,uBAAuB;QAC1B,CAAC,EAAE,KAAK;QACR,MAAM;QACN,OAAO;QACP,OAAO;QACP,QAAQ;QACR,UAAU;QACV,UAAU;QACV,KAAK;QACL,cAAc,EAAE,YAAY;KAC/B,CAAC,CAAA;IAEF,IAAA,oCAAe,EAAC,cAAc,EAAE,GAAG,EAAE,8BAA8B,CAAC,CAAA;IACpE,MAAM,KAAK,GAAG,qBAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAElC,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,kBAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAA;IAEzG,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAElC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC;QACf;YACI,IAAI,EAAG,GAAoC,CAAC,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI;YACrE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS;YACzB,EAAE,EAAE,IAAI,CAAC,EAAE;SACd,CAAC,CAAC;QACH,SAAS,CAAA;IAEb,OAAO,IAAA,6BAAkB,EAAC,IAAI,EAAG,GAAoC,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;AACrG,CAAC;AAvFD,oCAuFC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { assertTypeIsNot } from '../../../utils/type-assertions.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { ArrayPaginated, Message, PeersIndex, SearchFilters } from '../../types/index.js'\nimport { makeArrayPaginated, normalizeDate } from '../../utils/index.js'\n\n// @exported\nexport interface SearchGlobalOffset {\n rate: number\n peer: tl.TypeInputPeer\n id: number\n}\n\nconst defaultOffset: SearchGlobalOffset = {\n rate: 0,\n peer: { _: 'inputPeerEmpty' },\n id: 0,\n}\n\n/**\n * Search for messages globally from all of your chats\n *\n * **Note**: Due to Telegram limitations, you can only get up to ~10000 messages\n *\n * @param params Search parameters\n */\nexport async function searchGlobal(\n client: ITelegramClient,\n params?: {\n /**\n * Text query string. Use `\"@\"` to search for mentions.\n *\n * @default `\"\"` (empty string)\n */\n query?: string\n\n /**\n * Limits the number of messages to be retrieved.\n *\n * @default 100\n */\n limit?: number\n\n /**\n * Filter the results using some filter. (see {@link SearchFilters})\n *\n * @default {@link SearchFilters.Empty} (i.e. will return all messages)\n */\n filter?: tl.TypeMessagesFilter\n\n /**\n * Offset data used for pagination\n */\n offset?: SearchGlobalOffset\n\n /**\n * Only return messages newer than this date\n */\n minDate?: Date | number\n\n /**\n * Only return messages older than this date\n */\n maxDate?: Date | number\n\n /**\n * Whether to only search across broadcast channels\n */\n onlyChannels?: boolean\n },\n): Promise<ArrayPaginated<Message, SearchGlobalOffset>> {\n if (!params) params = {}\n\n const {\n query = '',\n filter = SearchFilters.Empty,\n limit = 100,\n offset: { rate: offsetRate, peer: offsetPeer, id: offsetId } = defaultOffset,\n onlyChannels,\n } = params\n\n const minDate = normalizeDate(params.minDate) ?? 0\n const maxDate = normalizeDate(params.maxDate) ?? 0\n\n const res = await client.call({\n _: 'messages.searchGlobal',\n q: query,\n filter,\n minDate,\n maxDate,\n offsetId,\n offsetRate,\n offsetPeer,\n limit,\n broadcastsOnly: onlyChannels,\n })\n\n assertTypeIsNot('searchGlobal', res, 'messages.messagesNotModified')\n const peers = PeersIndex.from(res)\n\n const msgs = res.messages.filter((msg) => msg._ !== 'messageEmpty').map((msg) => new Message(msg, peers))\n\n const last = msgs[msgs.length - 1]\n\n const next = last ?\n {\n rate: (res as tl.messages.RawMessagesSlice).nextRate ?? last.raw.date,\n peer: last.chat.inputPeer,\n id: last.id,\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":"send-answer.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/send-answer.ts"],"names":[],"mappings":";;;AAGA,mDAA2C;AAC3C,+DAAsD;AACtD,iDAAyC;AAEzC,iFAAiF;AACjF,SAAgB,UAAU,CACtB,MAAuB,EACvB,OAAgB,EAChB,GAAG,MAAwC;IAE3C,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,QAAQ,EAAE;QAC9D,OAAO,IAAA,uBAAQ,EAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,MAAM,CAAC,CAAA;KAC7D;IAED,MAAM,CAAC,IAAI,EAAE,OAAO,GAAG,EAAE,CAAC,GAAG,MAAM,CAAA;IACnC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAA;IAEjD,OAAO,IAAA,uBAAQ,EAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;AAClE,CAAC;AAbD,gCAaC;AAED,kFAAkF;AAClF,SAAgB,WAAW,CACvB,MAAuB,EACvB,OAAgB,EAChB,GAAG,MAAyC;IAE5C,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,QAAQ,EAAE;QAC9D,OAAO,IAAA,yBAAS,EAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,MAAM,CAAC,CAAA;KAC9D;IAED,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,EAAE,CAAC,GAAG,MAAM,CAAA;IACpC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAA;IAEjD,OAAO,IAAA,yBAAS,EAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;AACpE,CAAC;AAbD,kCAaC;AAED,wFAAwF;AACxF,SAAgB,gBAAgB,CAC5B,MAAuB,EACvB,OAAgB,EAChB,GAAG,MAA8C;IAEjD,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,QAAQ,EAAE;QAC9D,OAAO,IAAA,oCAAc,EAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,MAAM,CAAC,CAAA;KACnE;IAED,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,EAAE,CAAC,GAAG,MAAM,CAAA;IACpC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAA;IAEjD,OAAO,IAAA,oCAAc,EAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;AACzE,CAAC;AAbD,4CAaC","sourcesContent":["import { ITelegramClient } from '../../client.types.js'\nimport { Message } from '../../types/messages/message.js'\nimport { ParametersSkip2 } from '../../types/utils.js'\nimport { sendMedia } from './send-media.js'\nimport { sendMediaGroup } from './send-media-group.js'\nimport { sendText } from './send-text.js'\n\n/** Send a text to the same chat (and topic, if applicable) as a given message */\nexport function answerText(\n client: ITelegramClient,\n message: Message,\n ...params: ParametersSkip2<typeof sendText>\n): ReturnType<typeof sendText> {\n if (!message.isTopicMessage || !message.replyToMessage?.threadId) {\n return sendText(client, message.chat.inputPeer, ...params)\n }\n\n const [text, params_ = {}] = params\n params_.replyTo = message.replyToMessage.threadId\n\n return sendText(client, message.chat.inputPeer, text, params_)\n}\n\n/** Send a media to the same chat (and topic, if applicable) as a given message */\nexport function answerMedia(\n client: ITelegramClient,\n message: Message,\n ...params: ParametersSkip2<typeof sendMedia>\n): ReturnType<typeof sendMedia> {\n if (!message.isTopicMessage || !message.replyToMessage?.threadId) {\n return sendMedia(client, message.chat.inputPeer, ...params)\n }\n\n const [media, params_ = {}] = params\n params_.replyTo = message.replyToMessage.threadId\n\n return sendMedia(client, message.chat.inputPeer, media, params_)\n}\n\n/** Send a media group to the same chat (and topic, if applicable) as a given message */\nexport function answerMediaGroup(\n client: ITelegramClient,\n message: Message,\n ...params: ParametersSkip2<typeof sendMediaGroup>\n): ReturnType<typeof sendMediaGroup> {\n if (!message.isTopicMessage || !message.replyToMessage?.threadId) {\n return sendMediaGroup(client, message.chat.inputPeer, ...params)\n }\n\n const [media, params_ = {}] = params\n params_.replyTo = message.replyToMessage.threadId\n\n return sendMediaGroup(client, message.chat.inputPeer, media, params_)\n}\n"]}
1
+ {"version":3,"file":"send-answer.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/send-answer.ts"],"names":[],"mappings":";;;AAGA,mDAA2C;AAC3C,+DAAsD;AACtD,iDAAyC;AAEzC,iFAAiF;AACjF,SAAgB,UAAU,CACtB,MAAuB,EACvB,OAAgB,EAChB,GAAG,MAAwC;IAE3C,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,QAAQ,EAAE,CAAC;QAC/D,OAAO,IAAA,uBAAQ,EAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,MAAM,CAAC,CAAA;IAC9D,CAAC;IAED,MAAM,CAAC,IAAI,EAAE,OAAO,GAAG,EAAE,CAAC,GAAG,MAAM,CAAA;IACnC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAA;IAEjD,OAAO,IAAA,uBAAQ,EAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;AAClE,CAAC;AAbD,gCAaC;AAED,kFAAkF;AAClF,SAAgB,WAAW,CACvB,MAAuB,EACvB,OAAgB,EAChB,GAAG,MAAyC;IAE5C,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,QAAQ,EAAE,CAAC;QAC/D,OAAO,IAAA,yBAAS,EAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,MAAM,CAAC,CAAA;IAC/D,CAAC;IAED,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,EAAE,CAAC,GAAG,MAAM,CAAA;IACpC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAA;IAEjD,OAAO,IAAA,yBAAS,EAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;AACpE,CAAC;AAbD,kCAaC;AAED,wFAAwF;AACxF,SAAgB,gBAAgB,CAC5B,MAAuB,EACvB,OAAgB,EAChB,GAAG,MAA8C;IAEjD,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,QAAQ,EAAE,CAAC;QAC/D,OAAO,IAAA,oCAAc,EAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,MAAM,CAAC,CAAA;IACpE,CAAC;IAED,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,EAAE,CAAC,GAAG,MAAM,CAAA;IACpC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAA;IAEjD,OAAO,IAAA,oCAAc,EAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;AACzE,CAAC;AAbD,4CAaC","sourcesContent":["import { ITelegramClient } from '../../client.types.js'\nimport { Message } from '../../types/messages/message.js'\nimport { ParametersSkip2 } from '../../types/utils.js'\nimport { sendMedia } from './send-media.js'\nimport { sendMediaGroup } from './send-media-group.js'\nimport { sendText } from './send-text.js'\n\n/** Send a text to the same chat (and topic, if applicable) as a given message */\nexport function answerText(\n client: ITelegramClient,\n message: Message,\n ...params: ParametersSkip2<typeof sendText>\n): ReturnType<typeof sendText> {\n if (!message.isTopicMessage || !message.replyToMessage?.threadId) {\n return sendText(client, message.chat.inputPeer, ...params)\n }\n\n const [text, params_ = {}] = params\n params_.replyTo = message.replyToMessage.threadId\n\n return sendText(client, message.chat.inputPeer, text, params_)\n}\n\n/** Send a media to the same chat (and topic, if applicable) as a given message */\nexport function answerMedia(\n client: ITelegramClient,\n message: Message,\n ...params: ParametersSkip2<typeof sendMedia>\n): ReturnType<typeof sendMedia> {\n if (!message.isTopicMessage || !message.replyToMessage?.threadId) {\n return sendMedia(client, message.chat.inputPeer, ...params)\n }\n\n const [media, params_ = {}] = params\n params_.replyTo = message.replyToMessage.threadId\n\n return sendMedia(client, message.chat.inputPeer, media, params_)\n}\n\n/** Send a media group to the same chat (and topic, if applicable) as a given message */\nexport function answerMediaGroup(\n client: ITelegramClient,\n message: Message,\n ...params: ParametersSkip2<typeof sendMediaGroup>\n): ReturnType<typeof sendMediaGroup> {\n if (!message.isTopicMessage || !message.replyToMessage?.threadId) {\n return sendMediaGroup(client, message.chat.inputPeer, ...params)\n }\n\n const [media, params_ = {}] = params\n params_.replyTo = message.replyToMessage.threadId\n\n return sendMediaGroup(client, message.chat.inputPeer, media, params_)\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"send-comment.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/send-comment.ts"],"names":[],"mappings":";;;AAAA,wDAA0D;AAI1D,mDAA2C;AAC3C,+DAAsD;AACtD,mDAAwE;AACxE,iDAAyC;AAEzC;;;;;;;;;GASG;AACH,SAAgB,WAAW,CACvB,MAAuB,EACvB,OAAgB,EAChB,GAAG,MAAwC;IAE3C,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;QACrC,OAAO,IAAA,yBAAS,EAAC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,CAAA;KAC/C;IAED,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE;QAClD,MAAM,IAAI,2BAAe,CAAC,6CAA6C,CAAC,CAAA;KAC3E;IAED,MAAM,CAAC,IAAI,EAAE,OAAO,GAAG,EAAE,CAAC,GAAG,MAAM,CAAA;IACnC,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,EAAE,CAAA;IAE9B,OAAO,IAAA,uBAAQ,EAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;AAClE,CAAC;AAjBD,kCAiBC;AAED;;;;;;;;;GASG;AACH,SAAgB,YAAY,CACxB,MAAuB,EACvB,OAAgB,EAChB,GAAG,MAAyC;IAE5C,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;QACrC,OAAO,IAAA,0BAAU,EAAC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,CAAA;KAChD;IAED,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE;QAClD,MAAM,IAAI,2BAAe,CAAC,6CAA6C,CAAC,CAAA;KAC3E;IAED,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,EAAE,CAAC,GAAG,MAAM,CAAA;IACpC,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,EAAE,CAAA;IAE9B,OAAO,IAAA,yBAAS,EAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;AACpE,CAAC;AAjBD,oCAiBC;AAED;;;;;;;;;GASG;AACH,SAAgB,iBAAiB,CAC7B,MAAuB,EACvB,OAAgB,EAChB,GAAG,MAA8C;IAEjD,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;QACrC,OAAO,IAAA,+BAAe,EAAC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,CAAA;KACrD;IAED,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE;QAClD,MAAM,IAAI,2BAAe,CAAC,6CAA6C,CAAC,CAAA;KAC3E;IAED,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,EAAE,CAAC,GAAG,MAAM,CAAA;IACpC,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,EAAE,CAAA;IAE9B,OAAO,IAAA,oCAAc,EAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;AACzE,CAAC;AAjBD,8CAiBC","sourcesContent":["import { MtArgumentError } from '../../../types/errors.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { Message } from '../../types/messages/message.js'\nimport { ParametersSkip2 } from '../../types/utils.js'\nimport { sendMedia } from './send-media.js'\nimport { sendMediaGroup } from './send-media-group.js'\nimport { replyMedia, replyMediaGroup, replyText } from './send-reply.js'\nimport { sendText } from './send-text.js'\n\n/**\n * Send a text comment to a given message.\n *\n * If this is a normal message (not a channel post),\n * a simple reply will be sent.\n *\n * @throws MtArgumentError\n * If this is a channel post which does not have comments section.\n * To check if a post has comments, use {@link Message#replies}.hasComments\n */\nexport function commentText(\n client: ITelegramClient,\n message: Message,\n ...params: ParametersSkip2<typeof sendText>\n): ReturnType<typeof sendText> {\n if (message.chat.chatType !== 'channel') {\n return replyText(client, message, ...params)\n }\n\n if (!message.replies || !message.replies.hasComments) {\n throw new MtArgumentError('This message does not have comments section')\n }\n\n const [text, params_ = {}] = params\n params_.commentTo = message.id\n\n return sendText(client, message.chat.inputPeer, text, params_)\n}\n\n/**\n * Send a text comment to a given message.\n *\n * If this is a normal message (not a channel post),\n * a simple reply will be sent.\n *\n * @throws MtArgumentError\n * If this is a channel post which does not have comments section.\n * To check if a post has comments, use {@link Message#replies}.hasComments\n */\nexport function commentMedia(\n client: ITelegramClient,\n message: Message,\n ...params: ParametersSkip2<typeof sendMedia>\n): ReturnType<typeof sendMedia> {\n if (message.chat.chatType !== 'channel') {\n return replyMedia(client, message, ...params)\n }\n\n if (!message.replies || !message.replies.hasComments) {\n throw new MtArgumentError('This message does not have comments section')\n }\n\n const [media, params_ = {}] = params\n params_.commentTo = message.id\n\n return sendMedia(client, message.chat.inputPeer, media, params_)\n}\n\n/**\n * Send a text comment to a given message.\n *\n * If this is a normal message (not a channel post),\n * a simple reply will be sent.\n *\n * @throws MtArgumentError\n * If this is a channel post which does not have comments section.\n * To check if a post has comments, use {@link Message#replies}.hasComments\n */\nexport function commentMediaGroup(\n client: ITelegramClient,\n message: Message,\n ...params: ParametersSkip2<typeof sendMediaGroup>\n): ReturnType<typeof sendMediaGroup> {\n if (message.chat.chatType !== 'channel') {\n return replyMediaGroup(client, message, ...params)\n }\n\n if (!message.replies || !message.replies.hasComments) {\n throw new MtArgumentError('This message does not have comments section')\n }\n\n const [media, params_ = {}] = params\n params_.commentTo = message.id\n\n return sendMediaGroup(client, message.chat.inputPeer, media, params_)\n}\n"]}
1
+ {"version":3,"file":"send-comment.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/send-comment.ts"],"names":[],"mappings":";;;AAAA,wDAA0D;AAI1D,mDAA2C;AAC3C,+DAAsD;AACtD,mDAAwE;AACxE,iDAAyC;AAEzC;;;;;;;;;GASG;AACH,SAAgB,WAAW,CACvB,MAAuB,EACvB,OAAgB,EAChB,GAAG,MAAwC;IAE3C,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACtC,OAAO,IAAA,yBAAS,EAAC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,CAAA;IAChD,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QACnD,MAAM,IAAI,2BAAe,CAAC,6CAA6C,CAAC,CAAA;IAC5E,CAAC;IAED,MAAM,CAAC,IAAI,EAAE,OAAO,GAAG,EAAE,CAAC,GAAG,MAAM,CAAA;IACnC,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,EAAE,CAAA;IAE9B,OAAO,IAAA,uBAAQ,EAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;AAClE,CAAC;AAjBD,kCAiBC;AAED;;;;;;;;;GASG;AACH,SAAgB,YAAY,CACxB,MAAuB,EACvB,OAAgB,EAChB,GAAG,MAAyC;IAE5C,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACtC,OAAO,IAAA,0BAAU,EAAC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,CAAA;IACjD,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QACnD,MAAM,IAAI,2BAAe,CAAC,6CAA6C,CAAC,CAAA;IAC5E,CAAC;IAED,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,EAAE,CAAC,GAAG,MAAM,CAAA;IACpC,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,EAAE,CAAA;IAE9B,OAAO,IAAA,yBAAS,EAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;AACpE,CAAC;AAjBD,oCAiBC;AAED;;;;;;;;;GASG;AACH,SAAgB,iBAAiB,CAC7B,MAAuB,EACvB,OAAgB,EAChB,GAAG,MAA8C;IAEjD,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACtC,OAAO,IAAA,+BAAe,EAAC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,CAAA;IACtD,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QACnD,MAAM,IAAI,2BAAe,CAAC,6CAA6C,CAAC,CAAA;IAC5E,CAAC;IAED,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,EAAE,CAAC,GAAG,MAAM,CAAA;IACpC,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,EAAE,CAAA;IAE9B,OAAO,IAAA,oCAAc,EAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;AACzE,CAAC;AAjBD,8CAiBC","sourcesContent":["import { MtArgumentError } from '../../../types/errors.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { Message } from '../../types/messages/message.js'\nimport { ParametersSkip2 } from '../../types/utils.js'\nimport { sendMedia } from './send-media.js'\nimport { sendMediaGroup } from './send-media-group.js'\nimport { replyMedia, replyMediaGroup, replyText } from './send-reply.js'\nimport { sendText } from './send-text.js'\n\n/**\n * Send a text comment to a given message.\n *\n * If this is a normal message (not a channel post),\n * a simple reply will be sent.\n *\n * @throws MtArgumentError\n * If this is a channel post which does not have comments section.\n * To check if a post has comments, use {@link Message#replies}.hasComments\n */\nexport function commentText(\n client: ITelegramClient,\n message: Message,\n ...params: ParametersSkip2<typeof sendText>\n): ReturnType<typeof sendText> {\n if (message.chat.chatType !== 'channel') {\n return replyText(client, message, ...params)\n }\n\n if (!message.replies || !message.replies.hasComments) {\n throw new MtArgumentError('This message does not have comments section')\n }\n\n const [text, params_ = {}] = params\n params_.commentTo = message.id\n\n return sendText(client, message.chat.inputPeer, text, params_)\n}\n\n/**\n * Send a text comment to a given message.\n *\n * If this is a normal message (not a channel post),\n * a simple reply will be sent.\n *\n * @throws MtArgumentError\n * If this is a channel post which does not have comments section.\n * To check if a post has comments, use {@link Message#replies}.hasComments\n */\nexport function commentMedia(\n client: ITelegramClient,\n message: Message,\n ...params: ParametersSkip2<typeof sendMedia>\n): ReturnType<typeof sendMedia> {\n if (message.chat.chatType !== 'channel') {\n return replyMedia(client, message, ...params)\n }\n\n if (!message.replies || !message.replies.hasComments) {\n throw new MtArgumentError('This message does not have comments section')\n }\n\n const [media, params_ = {}] = params\n params_.commentTo = message.id\n\n return sendMedia(client, message.chat.inputPeer, media, params_)\n}\n\n/**\n * Send a text comment to a given message.\n *\n * If this is a normal message (not a channel post),\n * a simple reply will be sent.\n *\n * @throws MtArgumentError\n * If this is a channel post which does not have comments section.\n * To check if a post has comments, use {@link Message#replies}.hasComments\n */\nexport function commentMediaGroup(\n client: ITelegramClient,\n message: Message,\n ...params: ParametersSkip2<typeof sendMediaGroup>\n): ReturnType<typeof sendMediaGroup> {\n if (message.chat.chatType !== 'channel') {\n return replyMediaGroup(client, message, ...params)\n }\n\n if (!message.replies || !message.replies.hasComments) {\n throw new MtArgumentError('This message does not have comments section')\n }\n\n const [media, params_ = {}] = params\n params_.commentTo = message.id\n\n return sendMediaGroup(client, message.chat.inputPeer, media, params_)\n}\n"]}
@@ -1,3 +1,5 @@
1
+ import { tl } from '@mtcute/tl';
2
+ import { ITelegramClient } from '../../client.types.js';
1
3
  import { Message } from '../../types/messages/message.js';
2
4
  import { TextWithEntities } from '../../types/misc/entities.js';
3
5
  import { InputPeerLike } from '../../types/peers/index.js';
@@ -75,9 +77,35 @@ export interface CommonSendParams {
75
77
  * Peer to use when sending the message.
76
78
  */
77
79
  sendAs?: InputPeerLike;
80
+ /**
81
+ * If passed, instead of sending the message, it will be saved into the
82
+ * given quick reply shortcut (either its ID or its shortcut string).
83
+ */
84
+ quickReply?: number | string;
78
85
  /**
79
86
  * Whether to dispatch the returned message
80
87
  * to the client's update handler.
81
88
  */
82
89
  shouldDispatch?: true;
90
+ /**
91
+ * Unique identifier of the business connection on behalf of which
92
+ * the message will be sent
93
+ */
94
+ businessConnectionId?: string;
83
95
  }
96
+ /**
97
+ * @internal
98
+ * @noemit
99
+ */
100
+ export declare function _normalizeQuickReplyShortcut(shortcut: number | string | undefined): tl.TypeInputQuickReplyShortcut | undefined;
101
+ /**
102
+ * @internal
103
+ * @noemit
104
+ */
105
+ export declare function _processCommonSendParameters(client: ITelegramClient, chatId: InputPeerLike, params: CommonSendParams): Promise<{
106
+ peer: tl.TypeInputPeer;
107
+ replyTo: tl.TypeInputReplyTo | undefined;
108
+ scheduleDate: number | undefined;
109
+ quickReplyShortcut: tl.TypeInputQuickReplyShortcut | undefined;
110
+ chainId: string;
111
+ }>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports._processCommonSendParameters = void 0;
3
+ exports._processCommonSendParameters = exports._normalizeQuickReplyShortcut = void 0;
4
4
  const errors_js_1 = require("../../../types/errors.js");
5
5
  const peer_utils_js_1 = require("../../../utils/peer-utils.js");
6
6
  const errors_js_2 = require("../../types/errors.js");
@@ -9,6 +9,25 @@ const chain_id_js_1 = require("../misc/chain-id.js");
9
9
  const resolve_peer_js_1 = require("../users/resolve-peer.js");
10
10
  const get_discussion_message_js_1 = require("./get-discussion-message.js");
11
11
  const get_messages_js_1 = require("./get-messages.js");
12
+ /**
13
+ * @internal
14
+ * @noemit
15
+ */
16
+ function _normalizeQuickReplyShortcut(shortcut) {
17
+ if (!shortcut)
18
+ return undefined;
19
+ if (typeof shortcut === 'number') {
20
+ return {
21
+ _: 'inputQuickReplyShortcutId',
22
+ shortcutId: shortcut,
23
+ };
24
+ }
25
+ return {
26
+ _: 'inputQuickReplyShortcut',
27
+ shortcut,
28
+ };
29
+ }
30
+ exports._normalizeQuickReplyShortcut = _normalizeQuickReplyShortcut;
12
31
  /**
13
32
  * @internal
14
33
  * @noemit
@@ -61,6 +80,7 @@ async function _processCommonSendParameters(client, chatId, params) {
61
80
  peer,
62
81
  replyTo: tlReplyTo,
63
82
  scheduleDate,
83
+ quickReplyShortcut: _normalizeQuickReplyShortcut(params.quickReply),
64
84
  chainId: (0, chain_id_js_1._getPeerChainId)(client, peer, 'send'),
65
85
  };
66
86
  }
@@ -1 +1 @@
1
- {"version":3,"file":"send-common.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/send-common.ts"],"names":[],"mappings":";;;AAEA,wDAA0D;AAC1D,gEAA8D;AAE9D,qDAA8D;AAI9D,mDAAwE;AACxE,qDAAqD;AAErD,8DAAsD;AACtD,2EAAmE;AACnE,uDAA+C;AA+F/C;;;GAGG;AACI,KAAK,UAAU,4BAA4B,CAC9C,MAAuB,EACvB,MAAqB,EACrB,MAAwB;IAExB,IAAI,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE5C,IAAI,OAAO,GAAG,IAAA,6BAAkB,EAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAChD,MAAM,WAAW,GAAG,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAA;IAEnG,IAAI,MAAM,CAAC,SAAS,EAAE;QAClB,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,MAAM,IAAA,iDAAqB,EAAC,MAAM,EAAE,IAAI,EAAE,IAAA,6BAAkB,EAAC,MAAM,CAAC,SAAS,CAAE,CAAC,CAAA;KACrG;IAED,IAAI,MAAM,CAAC,SAAS,EAAE;QAClB,IAAI,CAAC,OAAO,EAAE;YACV,MAAM,IAAI,2BAAe,CAAC,4CAA4C,CAAC,CAAA;SAC1E;QAED,MAAM,GAAG,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;QAEpD,IAAI,CAAC,GAAG,EAAE;YACN,MAAM,IAAI,kCAAsB,CAAC,IAAA,+BAAe,EAAC,IAAI,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,CAAA;SAClF;KACJ;IAED,IAAI,MAAM,CAAC,YAAY,IAAI,OAAO,EAAE;QAChC,MAAM,IAAI,2BAAe,CAAC,4DAA4D,CAAC,CAAA;KAC1F;IAED,IAAI,SAAS,GAAoC,SAAS,CAAA;IAE1D,IAAI,OAAO,EAAE;QACT,SAAS,GAAG;YACR,CAAC,EAAE,qBAAqB;YACxB,YAAY,EAAE,OAAO;YACrB,aAAa,EAAE,WAAW;YAC1B,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI;YAC7B,aAAa,EAAE,MAAM,CAAC,KAAK,EAAE,QAAkC;YAC/D,WAAW,EAAE,MAAM,CAAC,WAAW;SAClC,CAAA;KACJ;SAAM,IAAI,MAAM,CAAC,YAAY,EAAE;QAC5B,SAAS,GAAG;YACR,CAAC,EAAE,mBAAmB;YACtB,OAAO,EAAE,MAAM,CAAC,YAAY;YAC5B,IAAI;SACP,CAAA;KACJ;IAED,IAAI,YAAY,GAAuB,SAAS,CAAA;IAEhD,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE;QAC9B,YAAY,GAAG,UAAU,CAAA;KAC5B;SAAM,IAAI,MAAM,CAAC,QAAQ,EAAE;QACxB,YAAY,GAAG,IAAA,wBAAa,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;KAChD;IAED,OAAO;QACH,IAAI;QACJ,OAAO,EAAE,SAAS;QAClB,YAAY;QACZ,OAAO,EAAE,IAAA,6BAAe,EAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC;KACjD,CAAA;AACL,CAAC;AA/DD,oEA+DC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MtArgumentError } from '../../../types/errors.js'\nimport { getMarkedPeerId } from '../../../utils/peer-utils.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { MtMessageNotFoundError } from '../../types/errors.js'\nimport { Message } from '../../types/messages/message.js'\nimport { TextWithEntities } from '../../types/misc/entities.js'\nimport { InputPeerLike } from '../../types/peers/index.js'\nimport { normalizeDate, normalizeMessageId } from '../../utils/index.js'\nimport { _getPeerChainId } from '../misc/chain-id.js'\nimport { _normalizeInputText } from '../misc/normalize-text.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\nimport { _getDiscussionMessage } from './get-discussion-message.js'\nimport { getMessages } from './get-messages.js'\n\n// @exported\nexport interface CommonSendParams {\n /**\n * Message to reply to. Either a message object or message ID.\n *\n * For forums - can also be an ID of the topic (i.e. its top message ID)\n *\n * Can also be a message from another chat, in which case a quote will be sent.\n */\n replyTo?: number | Message\n\n /**\n * Whether to throw an error if {@link replyTo}\n * message does not exist.\n *\n * If that message was not found, `NotFoundError` is thrown,\n * with `text` set to `MESSAGE_NOT_FOUND`.\n *\n * Incurs an additional request, so only use when really needed.\n *\n * @default `false`\n */\n mustReply?: boolean\n\n /**\n * Message to comment to. Either a message object or message ID.\n *\n * This overwrites `replyTo` if it was passed\n */\n commentTo?: number | Message\n\n /**\n * Story to reply to.\n *\n * Must be the story sent by the peer you are sending the message to.\n *\n * Can't be used together with {@link replyTo} or {@link commentTo}.\n */\n replyToStory?: number\n\n /**\n * Quoted text. Must be exactly contained in the message\n * being quoted to be accepted by the server (as well as entities)\n */\n quote?: TextWithEntities\n\n /**\n * Offset of the start of the quote in the message.\n */\n quoteOffset?: number\n\n /**\n * Whether to send this message silently.\n */\n silent?: boolean\n\n /**\n * If set, the message will be scheduled to this date.\n * When passing a number, a UNIX time in ms is expected.\n *\n * You can also pass `online` - this will send the message\n * once the peer is online. Note that this requires that\n * peer's online status to be visible to you.\n */\n schedule?: Date | number | 'online'\n\n /**\n * Whether to clear draft after sending this message.\n *\n * @default `false`\n */\n clearDraft?: 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 returned message\n * to the client's update handler.\n */\n shouldDispatch?: true\n}\n\n/**\n * @internal\n * @noemit\n */\nexport async function _processCommonSendParameters(\n client: ITelegramClient,\n chatId: InputPeerLike,\n params: CommonSendParams,\n) {\n let peer = await resolvePeer(client, chatId)\n\n let replyTo = normalizeMessageId(params.replyTo)\n const replyToPeer = typeof params.replyTo === 'number' ? undefined : params.replyTo?.chat.inputPeer\n\n if (params.commentTo) {\n [peer, replyTo] = await _getDiscussionMessage(client, peer, normalizeMessageId(params.commentTo)!)\n }\n\n if (params.mustReply) {\n if (!replyTo) {\n throw new MtArgumentError('mustReply used, but replyTo was not passed')\n }\n\n const msg = await getMessages(client, peer, replyTo)\n\n if (!msg) {\n throw new MtMessageNotFoundError(getMarkedPeerId(peer), replyTo, 'to reply to')\n }\n }\n\n if (params.replyToStory && replyTo) {\n throw new MtArgumentError('replyTo/commentTo and replyToStory cannot be used together')\n }\n\n let tlReplyTo: tl.TypeInputReplyTo | undefined = undefined\n\n if (replyTo) {\n tlReplyTo = {\n _: 'inputReplyToMessage',\n replyToMsgId: replyTo,\n replyToPeerId: replyToPeer,\n quoteText: params.quote?.text,\n quoteEntities: params.quote?.entities as tl.TypeMessageEntity[],\n quoteOffset: params.quoteOffset,\n }\n } else if (params.replyToStory) {\n tlReplyTo = {\n _: 'inputReplyToStory',\n storyId: params.replyToStory,\n peer,\n }\n }\n\n let scheduleDate: number | undefined = undefined\n\n if (params.schedule === 'online') {\n scheduleDate = 0x7ffffffe\n } else if (params.schedule) {\n scheduleDate = normalizeDate(params.schedule)\n }\n\n return {\n peer,\n replyTo: tlReplyTo,\n scheduleDate,\n chainId: _getPeerChainId(client, peer, 'send'),\n }\n}\n"]}
1
+ {"version":3,"file":"send-common.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/send-common.ts"],"names":[],"mappings":"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","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MtArgumentError } from '../../../types/errors.js'\nimport { getMarkedPeerId } from '../../../utils/peer-utils.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { MtMessageNotFoundError } from '../../types/errors.js'\nimport { Message } from '../../types/messages/message.js'\nimport { TextWithEntities } from '../../types/misc/entities.js'\nimport { InputPeerLike } from '../../types/peers/index.js'\nimport { normalizeDate, normalizeMessageId } from '../../utils/index.js'\nimport { _getPeerChainId } from '../misc/chain-id.js'\nimport { _normalizeInputText } from '../misc/normalize-text.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\nimport { _getDiscussionMessage } from './get-discussion-message.js'\nimport { getMessages } from './get-messages.js'\n\n// @exported\nexport interface CommonSendParams {\n /**\n * Message to reply to. Either a message object or message ID.\n *\n * For forums - can also be an ID of the topic (i.e. its top message ID)\n *\n * Can also be a message from another chat, in which case a quote will be sent.\n */\n replyTo?: number | Message\n\n /**\n * Whether to throw an error if {@link replyTo}\n * message does not exist.\n *\n * If that message was not found, `NotFoundError` is thrown,\n * with `text` set to `MESSAGE_NOT_FOUND`.\n *\n * Incurs an additional request, so only use when really needed.\n *\n * @default `false`\n */\n mustReply?: boolean\n\n /**\n * Message to comment to. Either a message object or message ID.\n *\n * This overwrites `replyTo` if it was passed\n */\n commentTo?: number | Message\n\n /**\n * Story to reply to.\n *\n * Must be the story sent by the peer you are sending the message to.\n *\n * Can't be used together with {@link replyTo} or {@link commentTo}.\n */\n replyToStory?: number\n\n /**\n * Quoted text. Must be exactly contained in the message\n * being quoted to be accepted by the server (as well as entities)\n */\n quote?: TextWithEntities\n\n /**\n * Offset of the start of the quote in the message.\n */\n quoteOffset?: number\n\n /**\n * Whether to send this message silently.\n */\n silent?: boolean\n\n /**\n * If set, the message will be scheduled to this date.\n * When passing a number, a UNIX time in ms is expected.\n *\n * You can also pass `online` - this will send the message\n * once the peer is online. Note that this requires that\n * peer's online status to be visible to you.\n */\n schedule?: Date | number | 'online'\n\n /**\n * Whether to clear draft after sending this message.\n *\n * @default `false`\n */\n clearDraft?: 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 returned message\n * to the client's update handler.\n */\n shouldDispatch?: true\n\n /**\n * Unique identifier of the business connection on behalf of which\n * the message will be sent\n */\n businessConnectionId?: string\n}\n\n/**\n * @internal\n * @noemit\n */\nexport function _normalizeQuickReplyShortcut(\n shortcut: number | string | undefined,\n): tl.TypeInputQuickReplyShortcut | undefined {\n if (!shortcut) return undefined\n\n if (typeof shortcut === 'number') {\n return {\n _: 'inputQuickReplyShortcutId',\n shortcutId: shortcut,\n }\n }\n\n return {\n _: 'inputQuickReplyShortcut',\n shortcut,\n }\n}\n\n/**\n * @internal\n * @noemit\n */\nexport async function _processCommonSendParameters(\n client: ITelegramClient,\n chatId: InputPeerLike,\n params: CommonSendParams,\n) {\n let peer = await resolvePeer(client, chatId)\n\n let replyTo = normalizeMessageId(params.replyTo)\n const replyToPeer = typeof params.replyTo === 'number' ? undefined : params.replyTo?.chat.inputPeer\n\n if (params.commentTo) {\n [peer, replyTo] = await _getDiscussionMessage(client, peer, normalizeMessageId(params.commentTo)!)\n }\n\n if (params.mustReply) {\n if (!replyTo) {\n throw new MtArgumentError('mustReply used, but replyTo was not passed')\n }\n\n const msg = await getMessages(client, peer, replyTo)\n\n if (!msg) {\n throw new MtMessageNotFoundError(getMarkedPeerId(peer), replyTo, 'to reply to')\n }\n }\n\n if (params.replyToStory && replyTo) {\n throw new MtArgumentError('replyTo/commentTo and replyToStory cannot be used together')\n }\n\n let tlReplyTo: tl.TypeInputReplyTo | undefined = undefined\n\n if (replyTo) {\n tlReplyTo = {\n _: 'inputReplyToMessage',\n replyToMsgId: replyTo,\n replyToPeerId: replyToPeer,\n quoteText: params.quote?.text,\n quoteEntities: params.quote?.entities as tl.TypeMessageEntity[],\n quoteOffset: params.quoteOffset,\n }\n } else if (params.replyToStory) {\n tlReplyTo = {\n _: 'inputReplyToStory',\n storyId: params.replyToStory,\n peer,\n }\n }\n\n let scheduleDate: number | undefined = undefined\n\n if (params.schedule === 'online') {\n scheduleDate = 0x7ffffffe\n } else if (params.schedule) {\n scheduleDate = normalizeDate(params.schedule)\n }\n\n return {\n peer,\n replyTo: tlReplyTo,\n scheduleDate,\n quickReplyShortcut: _normalizeQuickReplyShortcut(params.quickReply),\n chainId: _getPeerChainId(client, peer, 'send'),\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"send-copy-group.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/send-copy-group.ts"],"names":[],"mappings":";;;AAEA,wDAA0D;AAC1D,0EAA6D;AAI7D,8DAAsD;AACtD,uDAA+C;AAE/C,+DAAsD;AAQtD;;;;GAIG;AACI,KAAK,UAAU,aAAa,CAC/B,MAAuB,EACvB,MASK;IAEL,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAA;IAEpC,IAAI,IAAI,CAAA;IAER,IAAI,YAAY,IAAI,MAAM,EAAE;QACxB,MAAM,QAAQ,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;QAE7D,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,8BAAS,CAAC,CAAC,CAAA;KAC/F;SAAM;QACH,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAA;KACzB;IAED,MAAM,cAAc,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,SAAU,CAAA;IAEzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAClC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;YAC1D,MAAM,IAAI,2BAAe,CAAC,gDAAgD,CAAC,CAAA;SAC9E;KACJ;IAED,OAAO,IAAA,oCAAc,EACjB,MAAM,EACN,QAAQ,EACR,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACb,MAAM,GAAG,GAAG,GAAG,CAAC,GAAoB,CAAA;QAEpC,OAAO;YACH,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,GAAG,CAAC,KAAM,CAAC,UAAU;YAC3B,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,QAAQ,EAAE,GAAG,CAAC,QAAQ;SACzB,CAAA;IACL,CAAC,CAAC,EACF,IAAI,CACP,CAAA;AACL,CAAC;AAhDD,sCAgDC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MtArgumentError } from '../../../types/errors.js'\nimport { isPresent } from '../../../utils/type-assertions.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { Message } from '../../types/messages/message.js'\nimport { InputPeerLike } from '../../types/peers/index.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\nimport { getMessages } from './get-messages.js'\nimport { CommonSendParams } from './send-common.js'\nimport { sendMediaGroup } from './send-media-group.js'\n\n// @exported\nexport interface SendCopyGroupParams extends CommonSendParams {\n /** Destination chat ID */\n toChatId: InputPeerLike\n}\n\n/**\n * Copy a message group (i.e. send the same message group, but do not forward it).\n *\n * Note that all the provided messages must be in the same message group\n */\nexport async function sendCopyGroup(\n client: ITelegramClient,\n params: SendCopyGroupParams &\n (\n | {\n /** Source chat ID */\n fromChatId: InputPeerLike\n /** Message IDs to forward */\n messages: number[]\n }\n | { messages: Message[] }\n ),\n): Promise<Message[]> {\n const { toChatId, ...rest } = params\n\n let msgs\n\n if ('fromChatId' in params) {\n const fromPeer = await resolvePeer(client, params.fromChatId)\n\n msgs = await getMessages(client, fromPeer, params.messages).then((r) => r.filter(isPresent))\n } else {\n msgs = params.messages\n }\n\n const messageGroupId = msgs[0].groupedId!\n\n for (let i = 1; i < msgs.length; i++) {\n if (!msgs[i].groupedId?.eq(messageGroupId) || !msgs[i].media) {\n throw new MtArgumentError('All messages must be in the same message group')\n }\n }\n\n return sendMediaGroup(\n client,\n toChatId,\n msgs.map((msg) => {\n const raw = msg.raw as tl.RawMessage\n\n return {\n type: 'auto',\n file: msg.media!.inputMedia,\n caption: raw.message,\n entities: raw.entities,\n }\n }),\n rest,\n )\n}\n"]}
1
+ {"version":3,"file":"send-copy-group.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/send-copy-group.ts"],"names":[],"mappings":";;;AAEA,wDAA0D;AAC1D,0EAA6D;AAI7D,8DAAsD;AACtD,uDAA+C;AAE/C,+DAAsD;AAQtD;;;;GAIG;AACI,KAAK,UAAU,aAAa,CAC/B,MAAuB,EACvB,MASK;IAEL,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAA;IAEpC,IAAI,IAAI,CAAA;IAER,IAAI,YAAY,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;QAE7D,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,8BAAS,CAAC,CAAC,CAAA;IAChG,CAAC;SAAM,CAAC;QACJ,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAA;IAC1B,CAAC;IAED,MAAM,cAAc,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,SAAU,CAAA;IAEzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;YAC3D,MAAM,IAAI,2BAAe,CAAC,gDAAgD,CAAC,CAAA;QAC/E,CAAC;IACL,CAAC;IAED,OAAO,IAAA,oCAAc,EACjB,MAAM,EACN,QAAQ,EACR,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACb,MAAM,GAAG,GAAG,GAAG,CAAC,GAAoB,CAAA;QAEpC,OAAO;YACH,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,GAAG,CAAC,KAAM,CAAC,UAAU;YAC3B,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,QAAQ,EAAE,GAAG,CAAC,QAAQ;SACzB,CAAA;IACL,CAAC,CAAC,EACF,IAAI,CACP,CAAA;AACL,CAAC;AAhDD,sCAgDC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MtArgumentError } from '../../../types/errors.js'\nimport { isPresent } from '../../../utils/type-assertions.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { Message } from '../../types/messages/message.js'\nimport { InputPeerLike } from '../../types/peers/index.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\nimport { getMessages } from './get-messages.js'\nimport { CommonSendParams } from './send-common.js'\nimport { sendMediaGroup } from './send-media-group.js'\n\n// @exported\nexport interface SendCopyGroupParams extends CommonSendParams {\n /** Destination chat ID */\n toChatId: InputPeerLike\n}\n\n/**\n * Copy a message group (i.e. send the same message group, but do not forward it).\n *\n * Note that all the provided messages must be in the same message group\n */\nexport async function sendCopyGroup(\n client: ITelegramClient,\n params: SendCopyGroupParams &\n (\n | {\n /** Source chat ID */\n fromChatId: InputPeerLike\n /** Message IDs to forward */\n messages: number[]\n }\n | { messages: Message[] }\n ),\n): Promise<Message[]> {\n const { toChatId, ...rest } = params\n\n let msgs\n\n if ('fromChatId' in params) {\n const fromPeer = await resolvePeer(client, params.fromChatId)\n\n msgs = await getMessages(client, fromPeer, params.messages).then((r) => r.filter(isPresent))\n } else {\n msgs = params.messages\n }\n\n const messageGroupId = msgs[0].groupedId!\n\n for (let i = 1; i < msgs.length; i++) {\n if (!msgs[i].groupedId?.eq(messageGroupId) || !msgs[i].media) {\n throw new MtArgumentError('All messages must be in the same message group')\n }\n }\n\n return sendMediaGroup(\n client,\n toChatId,\n msgs.map((msg) => {\n const raw = msg.raw as tl.RawMessage\n\n return {\n type: 'auto',\n file: msg.media!.inputMedia,\n caption: raw.message,\n entities: raw.entities,\n }\n }),\n rest,\n )\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"send-copy.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/send-copy.ts"],"names":[],"mappings":";;;AAAA,wDAA0D;AAC1D,gEAA8D;AAE9D,mDAA6G;AAC7G,8DAAsD;AACtD,uDAA+C;AAE/C,mDAA2C;AAC3C,iDAAyC;AAmBzC;;;;;;;GAOG;AACI,KAAK,UAAU,QAAQ,CAC1B,MAAuB,EACvB,MASK;IAEL,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAA;IAEpC,IAAI,GAAG,CAAA;IAEP,IAAI,YAAY,IAAI,MAAM,EAAE;QACxB,MAAM,QAAQ,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,CAE5D;QAAA,CAAC,GAAG,CAAC,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;QAE5D,IAAI,CAAC,GAAG,EAAE;YACN,MAAM,IAAI,iCAAsB,CAAC,IAAA,+BAAe,EAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;SACzF;KACJ;SAAM;QACH,GAAG,GAAG,MAAM,CAAC,OAAO,CAAA;KACvB;IAED,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,gBAAgB,EAAE;QAChC,MAAM,IAAI,2BAAe,CAAC,kCAAkC,CAAC,CAAA;KAChE;IAED,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE;QAC3E,IAAI,OAAO,GAA0B,MAAM,CAAC,OAAO,CAAA;QAEnD,IAAI,CAAC,OAAO,EAAE;YACV,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE;gBAC1B,OAAO,GAAG;oBACN,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,OAAO;oBACrB,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ;iBAC7B,CAAA;aACJ;iBAAM;gBACH,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAA;aAC5B;SACJ;QAED,OAAO,IAAA,yBAAS,EACZ,MAAM,EACN,QAAQ,EACR;YACI,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,UAAU;YAC1B,OAAO;SACV,EACD,IAAI,CACP,CAAA;KACJ;IAED,OAAO,IAAA,uBAAQ,EAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;AAC5D,CAAC;AA5DD,4BA4DC","sourcesContent":["import { MtArgumentError } from '../../../types/errors.js'\nimport { getMarkedPeerId } from '../../../utils/peer-utils.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputPeerLike, InputText, Message, MtMessageNotFoundError, ReplyMarkup } from '../../types/index.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\nimport { getMessages } from './get-messages.js'\nimport { CommonSendParams } from './send-common.js'\nimport { sendMedia } from './send-media.js'\nimport { sendText } from './send-text.js'\n\n// @exported\nexport interface SendCopyParams extends CommonSendParams {\n /** Target chat ID */\n toChatId: InputPeerLike\n\n /**\n * New message caption (only used for media)\n */\n caption?: InputText\n\n /**\n * For bots: inline or reply markup or an instruction\n * to hide a reply keyboard or to force a reply.\n */\n replyMarkup?: ReplyMarkup\n}\n\n/**\n * Copy a message (i.e. send the same message, but do not forward it).\n *\n * Note that if the message contains a webpage,\n * it will be copied simply as a text message,\n * and if the message contains an invoice,\n * it can't be copied.\n */\nexport async function sendCopy(\n client: ITelegramClient,\n params: SendCopyParams &\n (\n | {\n /** Source chat ID */\n fromChatId: InputPeerLike\n /** Message ID to forward */\n message: number\n }\n | { message: Message }\n ),\n): Promise<Message> {\n const { toChatId, ...rest } = params\n\n let msg\n\n if ('fromChatId' in params) {\n const fromPeer = await resolvePeer(client, params.fromChatId)\n\n ;[msg] = await getMessages(client, fromPeer, params.message)\n\n if (!msg) {\n throw new MtMessageNotFoundError(getMarkedPeerId(fromPeer), params.message, 'to copy')\n }\n } else {\n msg = params.message\n }\n\n if (msg.raw._ === 'messageService') {\n throw new MtArgumentError(\"Service messages can't be copied\")\n }\n\n if (msg.media && msg.media.type !== 'webpage' && msg.media.type !== 'invoice') {\n let caption: InputText | undefined = params.caption\n\n if (!caption) {\n if (msg.raw.entities?.length) {\n caption = {\n text: msg.raw.message,\n entities: msg.raw.entities,\n }\n } else {\n caption = msg.raw.message\n }\n }\n\n return sendMedia(\n client,\n toChatId,\n {\n type: 'auto',\n file: msg.media.inputMedia,\n caption,\n },\n rest,\n )\n }\n\n return sendText(client, toChatId, msg.raw.message, rest)\n}\n"]}
1
+ {"version":3,"file":"send-copy.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/send-copy.ts"],"names":[],"mappings":";;;AAAA,wDAA0D;AAC1D,gEAA8D;AAE9D,mDAA6G;AAC7G,8DAAsD;AACtD,uDAA+C;AAE/C,mDAA2C;AAC3C,iDAAyC;AAmBzC;;;;;;;GAOG;AACI,KAAK,UAAU,QAAQ,CAC1B,MAAuB,EACvB,MASK;IAEL,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAA;IAEpC,IAAI,GAAG,CAAA;IAEP,IAAI,YAAY,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,CAE5D;QAAA,CAAC,GAAG,CAAC,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;QAE5D,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,MAAM,IAAI,iCAAsB,CAAC,IAAA,+BAAe,EAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;QAC1F,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,GAAG,GAAG,MAAM,CAAC,OAAO,CAAA;IACxB,CAAC;IAED,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,gBAAgB,EAAE,CAAC;QACjC,MAAM,IAAI,2BAAe,CAAC,kCAAkC,CAAC,CAAA;IACjE,CAAC;IAED,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC5E,IAAI,OAAO,GAA0B,MAAM,CAAC,OAAO,CAAA;QAEnD,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;gBAC3B,OAAO,GAAG;oBACN,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,OAAO;oBACrB,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ;iBAC7B,CAAA;YACL,CAAC;iBAAM,CAAC;gBACJ,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAA;YAC7B,CAAC;QACL,CAAC;QAED,OAAO,IAAA,yBAAS,EACZ,MAAM,EACN,QAAQ,EACR;YACI,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,UAAU;YAC1B,OAAO;SACV,EACD,IAAI,CACP,CAAA;IACL,CAAC;IAED,OAAO,IAAA,uBAAQ,EAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;AAC5D,CAAC;AA5DD,4BA4DC","sourcesContent":["import { MtArgumentError } from '../../../types/errors.js'\nimport { getMarkedPeerId } from '../../../utils/peer-utils.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputPeerLike, InputText, Message, MtMessageNotFoundError, ReplyMarkup } from '../../types/index.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\nimport { getMessages } from './get-messages.js'\nimport { CommonSendParams } from './send-common.js'\nimport { sendMedia } from './send-media.js'\nimport { sendText } from './send-text.js'\n\n// @exported\nexport interface SendCopyParams extends CommonSendParams {\n /** Target chat ID */\n toChatId: InputPeerLike\n\n /**\n * New message caption (only used for media)\n */\n caption?: InputText\n\n /**\n * For bots: inline or reply markup or an instruction\n * to hide a reply keyboard or to force a reply.\n */\n replyMarkup?: ReplyMarkup\n}\n\n/**\n * Copy a message (i.e. send the same message, but do not forward it).\n *\n * Note that if the message contains a webpage,\n * it will be copied simply as a text message,\n * and if the message contains an invoice,\n * it can't be copied.\n */\nexport async function sendCopy(\n client: ITelegramClient,\n params: SendCopyParams &\n (\n | {\n /** Source chat ID */\n fromChatId: InputPeerLike\n /** Message ID to forward */\n message: number\n }\n | { message: Message }\n ),\n): Promise<Message> {\n const { toChatId, ...rest } = params\n\n let msg\n\n if ('fromChatId' in params) {\n const fromPeer = await resolvePeer(client, params.fromChatId)\n\n ;[msg] = await getMessages(client, fromPeer, params.message)\n\n if (!msg) {\n throw new MtMessageNotFoundError(getMarkedPeerId(fromPeer), params.message, 'to copy')\n }\n } else {\n msg = params.message\n }\n\n if (msg.raw._ === 'messageService') {\n throw new MtArgumentError(\"Service messages can't be copied\")\n }\n\n if (msg.media && msg.media.type !== 'webpage' && msg.media.type !== 'invoice') {\n let caption: InputText | undefined = params.caption\n\n if (!caption) {\n if (msg.raw.entities?.length) {\n caption = {\n text: msg.raw.message,\n entities: msg.raw.entities,\n }\n } else {\n caption = msg.raw.message\n }\n }\n\n return sendMedia(\n client,\n toChatId,\n {\n type: 'auto',\n file: msg.media.inputMedia,\n caption,\n },\n rest,\n )\n }\n\n return sendText(client, toChatId, msg.raw.message, rest)\n}\n"]}
@@ -8,6 +8,7 @@ const utils_js_1 = require("../../updates/utils.js");
8
8
  const normalize_input_media_js_1 = require("../files/normalize-input-media.js");
9
9
  const normalize_text_js_1 = require("../misc/normalize-text.js");
10
10
  const resolve_peer_js_1 = require("../users/resolve-peer.js");
11
+ const _business_connection_js_1 = require("./_business-connection.js");
11
12
  const send_common_js_1 = require("./send-common.js");
12
13
  /**
13
14
  * Send a group of media.
@@ -23,7 +24,7 @@ const send_common_js_1 = require("./send-common.js");
23
24
  async function sendMediaGroup(client, chatId, medias, params) {
24
25
  if (!params)
25
26
  params = {};
26
- const { peer, replyTo, scheduleDate, chainId } = await (0, send_common_js_1._processCommonSendParameters)(client, chatId, params);
27
+ const { peer, replyTo, scheduleDate, chainId, quickReplyShortcut } = await (0, send_common_js_1._processCommonSendParameters)(client, chatId, params);
27
28
  const multiMedia = [];
28
29
  for (let i = 0; i < medias.length; i++) {
29
30
  let media = medias[i];
@@ -39,6 +40,7 @@ async function sendMediaGroup(client, chatId, medias, params) {
39
40
  // but otherwise Telegram throws MEDIA_INVALID
40
41
  // fuck my life
41
42
  uploadPeer: peer,
43
+ businessConnectionId: params.businessConnectionId,
42
44
  }, true);
43
45
  const [message, entities] = await (0, normalize_text_js_1._normalizeInputText)(client,
44
46
  // some types dont have `caption` field, and ts warns us,
@@ -52,7 +54,7 @@ async function sendMediaGroup(client, chatId, medias, params) {
52
54
  entities,
53
55
  });
54
56
  }
55
- const res = await client.call({
57
+ const res = await (0, _business_connection_js_1._maybeInvokeWithBusinessConnection)(client, params.businessConnectionId, {
56
58
  _: 'messages.sendMultiMedia',
57
59
  peer,
58
60
  multiMedia,
@@ -63,6 +65,7 @@ async function sendMediaGroup(client, chatId, medias, params) {
63
65
  noforwards: params.forbidForwards,
64
66
  sendAs: params.sendAs ? await (0, resolve_peer_js_1.resolvePeer)(client, params.sendAs) : undefined,
65
67
  invertMedia: params.invertMedia,
68
+ quickReplyShortcut,
66
69
  }, { chainId });
67
70
  (0, utils_js_1.assertIsUpdatesGroup)('sendMediaGroup', res);
68
71
  client.handleClientUpdate(res);
@@ -1 +1 @@
1
- {"version":3,"file":"send-media-group.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/send-media-group.ts"],"names":[],"mappings":";;;AAEA,gEAAyD;AAGzD,gEAAyD;AACzD,yDAAsE;AACtE,qDAA6D;AAC7D,gFAAwE;AACxE,iEAA+D;AAC/D,8DAAsD;AAEtD,qDAAiF;AAEjF;;;;;;;;;;GAUG;AACI,KAAK,UAAU,cAAc,CAChC,MAAuB,EACvB,MAAqB,EACrB,MAAmC,EACnC,MAmBC;IAED,IAAI,CAAC,MAAM;QAAE,MAAM,GAAG,EAAE,CAAA;IAExB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,MAAM,IAAA,6CAA4B,EAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IAE3G,MAAM,UAAU,GAA6B,EAAE,CAAA;IAE/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACpC,IAAI,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;QAErB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC3B,KAAK,GAAG;gBACJ,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,KAAK;aACd,CAAA;SACJ;QAED,MAAM,UAAU,GAAG,MAAM,IAAA,+CAAoB,EACzC,MAAM,EACN,KAAK,EACL;YACI,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACxD,2DAA2D;YAC3D,8CAA8C;YAC9C,eAAe;YACf,UAAU,EAAE,IAAI;SACnB,EACD,IAAI,CACP,CAAA;QAED,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,IAAA,uCAAmB,EACjD,MAAM;QACN,yDAAyD;QACzD,oFAAoF;QACnF,KAAsD,CAAC,OAAO,CAClE,CAAA;QAED,UAAU,CAAC,IAAI,CAAC;YACZ,CAAC,EAAE,kBAAkB;YACrB,QAAQ,EAAE,IAAA,0BAAU,GAAE;YACtB,KAAK,EAAE,UAAU;YACjB,OAAO;YACP,QAAQ;SACX,CAAC,CAAA;KACL;IAED,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CACzB;QACI,CAAC,EAAE,yBAAyB;QAC5B,IAAI;QACJ,UAAU;QACV,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO;QACP,YAAY;QACZ,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,UAAU,EAAE,MAAM,CAAC,cAAc;QACjC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;QAC5E,WAAW,EAAE,MAAM,CAAC,WAAW;KAClC,EACD,EAAE,OAAO,EAAE,CACd,CAAA;IAED,IAAA,+BAAoB,EAAC,gBAAgB,EAAE,GAAG,CAAC,CAAA;IAC3C,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAA;IAE9B,MAAM,KAAK,GAAG,qBAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAElC,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO;SACnB,MAAM,CACH,CAAC,CAAC,EAAiG,EAAE,CACjG,CAAC,CAAC,CAAC,KAAK,kBAAkB,IAAI,CAAC,CAAC,CAAC,KAAK,yBAAyB,IAAI,CAAC,CAAC,CAAC,KAAK,2BAA2B,CAC7G;SACA,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,oBAAO,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,2BAA2B,CAAC,CAAC,CAAA;IAEnF,OAAO,IAAI,CAAA;AACf,CAAC;AAnGD,wCAmGC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { randomLong } from '../../../utils/long-utils.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputMediaLike } from '../../types/media/input-media/types.js'\nimport { Message } from '../../types/messages/message.js'\nimport { InputPeerLike, PeersIndex } from '../../types/peers/index.js'\nimport { assertIsUpdatesGroup } from '../../updates/utils.js'\nimport { _normalizeInputMedia } from '../files/normalize-input-media.js'\nimport { _normalizeInputText } from '../misc/normalize-text.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\nimport { _getDiscussionMessage } from './get-discussion-message.js'\nimport { _processCommonSendParameters, CommonSendParams } from './send-common.js'\n\n/**\n * Send a group of media.\n *\n * To add a caption to the group, add caption to the first\n * media in the group and don't add caption for any other.\n *\n * @param chatId ID of the chat, its username, phone or `\"me\"` or `\"self\"`\n * @param medias Medias contained in the message.\n * @param params Additional sending parameters\n * @link InputMedia\n */\nexport async function sendMediaGroup(\n client: ITelegramClient,\n chatId: InputPeerLike,\n medias: (InputMediaLike | string)[],\n params?: CommonSendParams & {\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 * Function that will be called after some part has been uploaded.\n * Only used when a file that requires uploading is passed,\n * and not used when uploading a thumbnail.\n *\n * @param index Index of the media in the original array\n * @param uploaded Number of bytes already uploaded\n * @param total Total file size\n */\n progressCallback?: (index: number, uploaded: number, total: number) => void\n },\n): Promise<Message[]> {\n if (!params) params = {}\n\n const { peer, replyTo, scheduleDate, chainId } = await _processCommonSendParameters(client, chatId, params)\n\n const multiMedia: tl.RawInputSingleMedia[] = []\n\n for (let i = 0; i < medias.length; i++) {\n let media = medias[i]\n\n if (typeof media === 'string') {\n media = {\n type: 'auto',\n file: media,\n }\n }\n\n const inputMedia = await _normalizeInputMedia(\n client,\n media,\n {\n progressCallback: params.progressCallback?.bind(null, i),\n // i have no fucking clue why we should upload it manually,\n // but otherwise Telegram throws MEDIA_INVALID\n // fuck my life\n uploadPeer: peer,\n },\n true,\n )\n\n const [message, entities] = await _normalizeInputText(\n client,\n // some types dont have `caption` field, and ts warns us,\n // but since it's JS, they'll just be `undefined` and properly handled by the method\n (media as Extract<typeof media, { caption?: unknown }>).caption,\n )\n\n multiMedia.push({\n _: 'inputSingleMedia',\n randomId: randomLong(),\n media: inputMedia,\n message,\n entities,\n })\n }\n\n const res = await client.call(\n {\n _: 'messages.sendMultiMedia',\n peer,\n multiMedia,\n silent: params.silent,\n replyTo,\n scheduleDate,\n clearDraft: params.clearDraft,\n noforwards: params.forbidForwards,\n sendAs: params.sendAs ? await resolvePeer(client, params.sendAs) : undefined,\n invertMedia: params.invertMedia,\n },\n { chainId },\n )\n\n assertIsUpdatesGroup('sendMediaGroup', res)\n client.handleClientUpdate(res)\n\n const peers = PeersIndex.from(res)\n\n const msgs = res.updates\n .filter(\n (u): u is tl.RawUpdateNewMessage | tl.RawUpdateNewChannelMessage | tl.RawUpdateNewScheduledMessage =>\n u._ === 'updateNewMessage' || u._ === 'updateNewChannelMessage' || u._ === 'updateNewScheduledMessage',\n )\n .map((u) => new Message(u.message, peers, u._ === 'updateNewScheduledMessage'))\n\n return msgs\n}\n"]}
1
+ {"version":3,"file":"send-media-group.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/send-media-group.ts"],"names":[],"mappings":"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","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { randomLong } from '../../../utils/long-utils.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputMediaLike } from '../../types/media/input-media/types.js'\nimport { Message } from '../../types/messages/message.js'\nimport { InputPeerLike, PeersIndex } from '../../types/peers/index.js'\nimport { assertIsUpdatesGroup } from '../../updates/utils.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 { _getDiscussionMessage } from './get-discussion-message.js'\nimport { _processCommonSendParameters, CommonSendParams } from './send-common.js'\n\n/**\n * Send a group of media.\n *\n * To add a caption to the group, add caption to the first\n * media in the group and don't add caption for any other.\n *\n * @param chatId ID of the chat, its username, phone or `\"me\"` or `\"self\"`\n * @param medias Medias contained in the message.\n * @param params Additional sending parameters\n * @link InputMedia\n */\nexport async function sendMediaGroup(\n client: ITelegramClient,\n chatId: InputPeerLike,\n medias: (InputMediaLike | string)[],\n params?: CommonSendParams & {\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 * Function that will be called after some part has been uploaded.\n * Only used when a file that requires uploading is passed,\n * and not used when uploading a thumbnail.\n *\n * @param index Index of the media in the original array\n * @param uploaded Number of bytes already uploaded\n * @param total Total file size\n */\n progressCallback?: (index: number, uploaded: number, total: number) => void\n },\n): Promise<Message[]> {\n if (!params) params = {}\n\n const { peer, replyTo, scheduleDate, chainId, quickReplyShortcut } = await _processCommonSendParameters(\n client,\n chatId,\n params,\n )\n\n const multiMedia: tl.RawInputSingleMedia[] = []\n\n for (let i = 0; i < medias.length; i++) {\n let media = medias[i]\n\n if (typeof media === 'string') {\n media = {\n type: 'auto',\n file: media,\n }\n }\n\n const inputMedia = await _normalizeInputMedia(\n client,\n media,\n {\n progressCallback: params.progressCallback?.bind(null, i),\n // i have no fucking clue why we should upload it manually,\n // but otherwise Telegram throws MEDIA_INVALID\n // fuck my life\n uploadPeer: peer,\n businessConnectionId: params.businessConnectionId,\n },\n true,\n )\n\n const [message, entities] = await _normalizeInputText(\n client,\n // some types dont have `caption` field, and ts warns us,\n // but since it's JS, they'll just be `undefined` and properly handled by the method\n (media as Extract<typeof media, { caption?: unknown }>).caption,\n )\n\n multiMedia.push({\n _: 'inputSingleMedia',\n randomId: randomLong(),\n media: inputMedia,\n message,\n entities,\n })\n }\n\n const res = await _maybeInvokeWithBusinessConnection(\n client,\n params.businessConnectionId,\n {\n _: 'messages.sendMultiMedia',\n peer,\n multiMedia,\n silent: params.silent,\n replyTo,\n scheduleDate,\n clearDraft: params.clearDraft,\n noforwards: params.forbidForwards,\n sendAs: params.sendAs ? await resolvePeer(client, params.sendAs) : undefined,\n invertMedia: params.invertMedia,\n quickReplyShortcut,\n },\n { chainId },\n )\n\n assertIsUpdatesGroup('sendMediaGroup', res)\n client.handleClientUpdate(res)\n\n const peers = PeersIndex.from(res)\n\n const msgs = res.updates\n .filter(\n (u): u is tl.RawUpdateNewMessage | tl.RawUpdateNewChannelMessage | tl.RawUpdateNewScheduledMessage =>\n u._ === 'updateNewMessage' || u._ === 'updateNewChannelMessage' || u._ === 'updateNewScheduledMessage',\n )\n .map((u) => new Message(u.message, peers, u._ === 'updateNewScheduledMessage'))\n\n return msgs\n}\n"]}
@@ -6,6 +6,7 @@ const index_js_1 = require("../../types/bots/keyboards/index.js");
6
6
  const normalize_input_media_js_1 = require("../files/normalize-input-media.js");
7
7
  const normalize_text_js_1 = require("../misc/normalize-text.js");
8
8
  const resolve_peer_js_1 = require("../users/resolve-peer.js");
9
+ const _business_connection_js_1 = require("./_business-connection.js");
9
10
  const find_in_update_js_1 = require("./find-in-update.js");
10
11
  const send_common_js_1 = require("./send-common.js");
11
12
  /**
@@ -34,9 +35,9 @@ async function sendMedia(client, chatId, media, params) {
34
35
  // but since it's JS, they'll just be `undefined` and properly handled by the method
35
36
  params.caption || media.caption);
36
37
  const replyMarkup = index_js_1.BotKeyboard._convertToTl(params.replyMarkup);
37
- const { peer, replyTo, scheduleDate, chainId } = await (0, send_common_js_1._processCommonSendParameters)(client, chatId, params);
38
+ const { peer, replyTo, scheduleDate, chainId, quickReplyShortcut } = await (0, send_common_js_1._processCommonSendParameters)(client, chatId, params);
38
39
  const randomId = (0, long_utils_js_1.randomLong)();
39
- const res = await client.call({
40
+ const res = await (0, _business_connection_js_1._maybeInvokeWithBusinessConnection)(client, params.businessConnectionId, {
40
41
  _: 'messages.sendMedia',
41
42
  peer,
42
43
  media: inputMedia,
@@ -51,6 +52,7 @@ async function sendMedia(client, chatId, media, params) {
51
52
  noforwards: params.forbidForwards,
52
53
  sendAs: params.sendAs ? await (0, resolve_peer_js_1.resolvePeer)(client, params.sendAs) : undefined,
53
54
  invertMedia: params.invert,
55
+ quickReplyShortcut,
54
56
  }, { chainId });
55
57
  const msg = (0, find_in_update_js_1._findMessageInUpdate)(client, res, false, !params.shouldDispatch, false, randomId);
56
58
  return msg;
@@ -1 +1 @@
1
- {"version":3,"file":"send-media.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/send-media.ts"],"names":[],"mappings":";;;AAAA,gEAAyD;AAEzD,kEAA8E;AAK9E,gFAAwE;AACxE,iEAA+D;AAC/D,8DAAsD;AACtD,2DAA0D;AAE1D,qDAAiF;AAEjF;;;;;;;;;;GAUG;AACI,KAAK,UAAU,SAAS,CAC3B,MAAuB,EACvB,MAAqB,EACrB,KAA8B,EAC9B,MAgCC;IAED,IAAI,CAAC,MAAM;QAAE,MAAM,GAAG,EAAE,CAAA;IAExB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC3B,KAAK,GAAG;YACJ,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,KAAK;SACd,CAAA;KACJ;IAED,MAAM,UAAU,GAAG,MAAM,IAAA,+CAAoB,EAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;IAEpE,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,IAAA,uCAAmB,EACjD,MAAM;IACN,yDAAyD;IACzD,oFAAoF;IACpF,MAAM,CAAC,OAAO,IAAK,KAAsD,CAAC,OAAO,CACpF,CAAA;IAED,MAAM,WAAW,GAAG,sBAAW,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;IAChE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,MAAM,IAAA,6CAA4B,EAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IAE3G,MAAM,QAAQ,GAAG,IAAA,0BAAU,GAAE,CAAA;IAC7B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CACzB;QACI,CAAC,EAAE,oBAAoB;QACvB,IAAI;QACJ,KAAK,EAAE,UAAU;QACjB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO;QACP,QAAQ;QACR,YAAY;QACZ,WAAW;QACX,OAAO;QACP,QAAQ;QACR,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,UAAU,EAAE,MAAM,CAAC,cAAc;QACjC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;QAC5E,WAAW,EAAE,MAAM,CAAC,MAAM;KAC7B,EACD,EAAE,OAAO,EAAE,CACd,CAAA;IAED,MAAM,GAAG,GAAG,IAAA,wCAAoB,EAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;IAE7F,OAAO,GAAG,CAAA;AACd,CAAC;AAnFD,8BAmFC","sourcesContent":["import { randomLong } from '../../../utils/long-utils.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { BotKeyboard, ReplyMarkup } from '../../types/bots/keyboards/index.js'\nimport { InputMediaLike } from '../../types/media/input-media/types.js'\nimport { Message } from '../../types/messages/message.js'\nimport { InputText } from '../../types/misc/entities.js'\nimport { InputPeerLike } from '../../types/peers/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'\nimport { _getDiscussionMessage } from './get-discussion-message.js'\nimport { _processCommonSendParameters, CommonSendParams } from './send-common.js'\n\n/**\n * Send a single media (a photo or a document-based media)\n *\n * @param chatId ID of the chat, its username, phone or `\"me\"` or `\"self\"`\n * @param media\n * Media contained in the message. You can also pass TDLib\n * and Bot API compatible File ID, which will be wrapped\n * in {@link InputMedia.auto}\n * @param params Additional sending parameters\n * @link InputMedia\n */\nexport async function sendMedia(\n client: ITelegramClient,\n chatId: InputPeerLike,\n media: InputMediaLike | string,\n params?: CommonSendParams & {\n /**\n * For bots: inline or reply markup or an instruction\n * to hide a reply keyboard or to force a reply.\n */\n replyMarkup?: ReplyMarkup\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 invert?: boolean\n\n /**\n * Override caption for `media`.\n *\n * Can be used, for example. when using File IDs\n * or when using existing InputMedia objects.\n */\n caption?: InputText\n\n /**\n * Function that will be called after some part has been uploaded.\n * Only used when a file that requires uploading is passed,\n * and not used when uploading a thumbnail.\n *\n * @param uploaded Number of bytes already uploaded\n * @param total Total file size\n */\n progressCallback?: (uploaded: number, total: number) => void\n },\n): Promise<Message> {\n if (!params) params = {}\n\n if (typeof media === 'string') {\n media = {\n type: 'auto',\n file: media,\n }\n }\n\n const inputMedia = await _normalizeInputMedia(client, media, params)\n\n const [message, entities] = await _normalizeInputText(\n client,\n // some types dont have `caption` field, and ts warns us,\n // but since it's JS, they'll just be `undefined` and properly handled by the method\n params.caption || (media as Extract<typeof media, { caption?: unknown }>).caption,\n )\n\n const replyMarkup = BotKeyboard._convertToTl(params.replyMarkup)\n const { peer, replyTo, scheduleDate, chainId } = await _processCommonSendParameters(client, chatId, params)\n\n const randomId = randomLong()\n const res = await client.call(\n {\n _: 'messages.sendMedia',\n peer,\n media: inputMedia,\n silent: params.silent,\n replyTo,\n randomId,\n scheduleDate,\n replyMarkup,\n message,\n entities,\n clearDraft: params.clearDraft,\n noforwards: params.forbidForwards,\n sendAs: params.sendAs ? await resolvePeer(client, params.sendAs) : undefined,\n invertMedia: params.invert,\n },\n { chainId },\n )\n\n const msg = _findMessageInUpdate(client, res, false, !params.shouldDispatch, false, randomId)\n\n return msg\n}\n"]}
1
+ {"version":3,"file":"send-media.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/send-media.ts"],"names":[],"mappings":";;;AAAA,gEAAyD;AAEzD,kEAA8E;AAK9E,gFAAwE;AACxE,iEAA+D;AAC/D,8DAAsD;AACtD,uEAA8E;AAC9E,2DAA0D;AAE1D,qDAAiF;AAEjF;;;;;;;;;;GAUG;AACI,KAAK,UAAU,SAAS,CAC3B,MAAuB,EACvB,MAAqB,EACrB,KAA8B,EAC9B,MAgCC;IAED,IAAI,CAAC,MAAM;QAAE,MAAM,GAAG,EAAE,CAAA;IAExB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,KAAK,GAAG;YACJ,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,KAAK;SACd,CAAA;IACL,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,IAAA,+CAAoB,EAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;IAEpE,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,IAAA,uCAAmB,EACjD,MAAM;IACN,yDAAyD;IACzD,oFAAoF;IACpF,MAAM,CAAC,OAAO,IAAK,KAAsD,CAAC,OAAO,CACpF,CAAA;IAED,MAAM,WAAW,GAAG,sBAAW,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;IAChE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,kBAAkB,EAAE,GAAG,MAAM,IAAA,6CAA4B,EACnG,MAAM,EACN,MAAM,EACN,MAAM,CACT,CAAA;IAED,MAAM,QAAQ,GAAG,IAAA,0BAAU,GAAE,CAAA;IAC7B,MAAM,GAAG,GAAG,MAAM,IAAA,4DAAkC,EAChD,MAAM,EACN,MAAM,CAAC,oBAAoB,EAC3B;QACI,CAAC,EAAE,oBAAoB;QACvB,IAAI;QACJ,KAAK,EAAE,UAAU;QACjB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO;QACP,QAAQ;QACR,YAAY;QACZ,WAAW;QACX,OAAO;QACP,QAAQ;QACR,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,UAAU,EAAE,MAAM,CAAC,cAAc;QACjC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;QAC5E,WAAW,EAAE,MAAM,CAAC,MAAM;QAC1B,kBAAkB;KACrB,EACD,EAAE,OAAO,EAAE,CACd,CAAA;IAED,MAAM,GAAG,GAAG,IAAA,wCAAoB,EAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;IAE7F,OAAO,GAAG,CAAA;AACd,CAAC;AA1FD,8BA0FC","sourcesContent":["import { randomLong } from '../../../utils/long-utils.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { BotKeyboard, ReplyMarkup } from '../../types/bots/keyboards/index.js'\nimport { InputMediaLike } from '../../types/media/input-media/types.js'\nimport { Message } from '../../types/messages/message.js'\nimport { InputText } from '../../types/misc/entities.js'\nimport { InputPeerLike } from '../../types/peers/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'\nimport { _getDiscussionMessage } from './get-discussion-message.js'\nimport { _processCommonSendParameters, CommonSendParams } from './send-common.js'\n\n/**\n * Send a single media (a photo or a document-based media)\n *\n * @param chatId ID of the chat, its username, phone or `\"me\"` or `\"self\"`\n * @param media\n * Media contained in the message. You can also pass TDLib\n * and Bot API compatible File ID, which will be wrapped\n * in {@link InputMedia.auto}\n * @param params Additional sending parameters\n * @link InputMedia\n */\nexport async function sendMedia(\n client: ITelegramClient,\n chatId: InputPeerLike,\n media: InputMediaLike | string,\n params?: CommonSendParams & {\n /**\n * For bots: inline or reply markup or an instruction\n * to hide a reply keyboard or to force a reply.\n */\n replyMarkup?: ReplyMarkup\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 invert?: boolean\n\n /**\n * Override caption for `media`.\n *\n * Can be used, for example. when using File IDs\n * or when using existing InputMedia objects.\n */\n caption?: InputText\n\n /**\n * Function that will be called after some part has been uploaded.\n * Only used when a file that requires uploading is passed,\n * and not used when uploading a thumbnail.\n *\n * @param uploaded Number of bytes already uploaded\n * @param total Total file size\n */\n progressCallback?: (uploaded: number, total: number) => void\n },\n): Promise<Message> {\n if (!params) params = {}\n\n if (typeof media === 'string') {\n media = {\n type: 'auto',\n file: media,\n }\n }\n\n const inputMedia = await _normalizeInputMedia(client, media, params)\n\n const [message, entities] = await _normalizeInputText(\n client,\n // some types dont have `caption` field, and ts warns us,\n // but since it's JS, they'll just be `undefined` and properly handled by the method\n params.caption || (media as Extract<typeof media, { caption?: unknown }>).caption,\n )\n\n const replyMarkup = BotKeyboard._convertToTl(params.replyMarkup)\n const { peer, replyTo, scheduleDate, chainId, quickReplyShortcut } = await _processCommonSendParameters(\n client,\n chatId,\n params,\n )\n\n const randomId = randomLong()\n const res = await _maybeInvokeWithBusinessConnection(\n client,\n params.businessConnectionId,\n {\n _: 'messages.sendMedia',\n peer,\n media: inputMedia,\n silent: params.silent,\n replyTo,\n randomId,\n scheduleDate,\n replyMarkup,\n message,\n entities,\n clearDraft: params.clearDraft,\n noforwards: params.forbidForwards,\n sendAs: params.sendAs ? await resolvePeer(client, params.sendAs) : undefined,\n invertMedia: params.invert,\n quickReplyShortcut,\n },\n { chainId },\n )\n\n const msg = _findMessageInUpdate(client, res, false, !params.shouldDispatch, false, randomId)\n\n return msg\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"send-quote.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/send-quote.ts"],"names":[],"mappings":"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","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MtArgumentError } from '../../../types/errors.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { Message } from '../../types/messages/message.js'\nimport { TextWithEntities } from '../../types/misc/entities.js'\nimport { InputPeerLike } from '../../types/peers/peer.js'\nimport { sendMedia } from './send-media.js'\nimport { sendMediaGroup } from './send-media-group.js'\nimport { sendText } from './send-text.js'\n\n// @exported\nexport type QuoteParamsFrom<T> = Omit<NonNullable<T>, 'quoteText' | 'quoteEntities'> & {\n /**\n * Destination chat ID, username, phone, `\"me\"` or `\"self\"`\n *\n * @default `message.chat`\n */\n toChatId?: InputPeerLike\n\n /** Index of the first character to quote (inclusive) */\n start: number\n\n /** Index of the last character to quote (exclusive) */\n end: number\n}\n\nfunction extractQuote(message: Message, from: number, to: number): TextWithEntities {\n const { raw } = message\n if (raw._ === 'messageService') throw new MtArgumentError('Cannot quote service message')\n\n if (!raw.message) throw new MtArgumentError('Cannot quote empty message')\n\n const text = raw.message\n if (from < 0) from = 0\n if (to > text.length) to = text.length\n\n if (from >= to) throw new MtArgumentError('Invalid quote range')\n\n if (!raw.entities) return { text: text.slice(from, to), entities: undefined }\n\n const entities: tl.TypeMessageEntity[] = []\n\n for (const ent of raw.entities) {\n const start = ent.offset\n const end = ent.offset + ent.length\n\n if (start >= to || end <= from) continue\n\n const newStart = Math.max(start, from) - from\n const newEnd = Math.min(end, to) - from\n\n const newEnt = { ...ent, offset: newStart, length: newEnd - newStart }\n entities.push(newEnt)\n }\n\n return { text: text.slice(from, to), entities }\n}\n\n/** Send a text in reply to a given quote */\nexport function quoteWithText(\n client: ITelegramClient,\n message: Message,\n params: QuoteParamsFrom<Parameters<typeof sendText>[3]> & {\n /** Text to send */\n text: Parameters<typeof sendText>[2]\n },\n): ReturnType<typeof sendText> {\n const { toChatId = message.chat, start, end, text, ...params__ } = params\n const params_ = params__ as NonNullable<Parameters<typeof sendText>[3]>\n params_.replyTo = message\n params_.quote = extractQuote(message, params.start, params.end)\n params_.quoteOffset = params.start\n\n return sendText(client, toChatId, text, params_)\n}\n\n/** Send a media in reply to a given quote */\nexport function quoteWithMedia(\n client: ITelegramClient,\n message: Message,\n params: QuoteParamsFrom<Parameters<typeof sendMedia>[3]> & {\n /** Media to send */\n media: Parameters<typeof sendMedia>[2]\n },\n): ReturnType<typeof sendMedia> {\n const { toChatId = message.chat, start, end, media, ...params__ } = params\n const params_ = params__ as NonNullable<Parameters<typeof sendMedia>[3]>\n params_.replyTo = message\n params_.quote = extractQuote(message, params.start, params.end)\n params_.quoteOffset = params.start\n\n return sendMedia(client, toChatId, media, params_)\n}\n\n/** Send a media group in reply to a given quote */\nexport function quoteWithMediaGroup(\n client: ITelegramClient,\n message: Message,\n params: QuoteParamsFrom<Parameters<typeof sendMediaGroup>[3]> & {\n /** Media group to send */\n medias: Parameters<typeof sendMediaGroup>[2]\n },\n): ReturnType<typeof sendMediaGroup> {\n const { toChatId, start, end, medias, ...params__ } = params\n const params_ = params__ as NonNullable<Parameters<typeof sendMediaGroup>[3]>\n params_.replyTo = message\n params_.quote = extractQuote(message, params.start, params.end)\n params_.quoteOffset = params.start\n\n return sendMediaGroup(client, message.chat.inputPeer, medias, params_)\n}\n"]}
1
+ {"version":3,"file":"send-quote.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/send-quote.ts"],"names":[],"mappings":"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","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MtArgumentError } from '../../../types/errors.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { Message } from '../../types/messages/message.js'\nimport { TextWithEntities } from '../../types/misc/entities.js'\nimport { InputPeerLike } from '../../types/peers/peer.js'\nimport { sendMedia } from './send-media.js'\nimport { sendMediaGroup } from './send-media-group.js'\nimport { sendText } from './send-text.js'\n\n// @exported\nexport type QuoteParamsFrom<T> = Omit<NonNullable<T>, 'quoteText' | 'quoteEntities'> & {\n /**\n * Destination chat ID, username, phone, `\"me\"` or `\"self\"`\n *\n * @default `message.chat`\n */\n toChatId?: InputPeerLike\n\n /** Index of the first character to quote (inclusive) */\n start: number\n\n /** Index of the last character to quote (exclusive) */\n end: number\n}\n\nfunction extractQuote(message: Message, from: number, to: number): TextWithEntities {\n const { raw } = message\n if (raw._ === 'messageService') throw new MtArgumentError('Cannot quote service message')\n\n if (!raw.message) throw new MtArgumentError('Cannot quote empty message')\n\n const text = raw.message\n if (from < 0) from = 0\n if (to > text.length) to = text.length\n\n if (from >= to) throw new MtArgumentError('Invalid quote range')\n\n if (!raw.entities) return { text: text.slice(from, to), entities: undefined }\n\n const entities: tl.TypeMessageEntity[] = []\n\n for (const ent of raw.entities) {\n const start = ent.offset\n const end = ent.offset + ent.length\n\n if (start >= to || end <= from) continue\n\n const newStart = Math.max(start, from) - from\n const newEnd = Math.min(end, to) - from\n\n const newEnt = { ...ent, offset: newStart, length: newEnd - newStart }\n entities.push(newEnt)\n }\n\n return { text: text.slice(from, to), entities }\n}\n\n/** Send a text in reply to a given quote */\nexport function quoteWithText(\n client: ITelegramClient,\n message: Message,\n params: QuoteParamsFrom<Parameters<typeof sendText>[3]> & {\n /** Text to send */\n text: Parameters<typeof sendText>[2]\n },\n): ReturnType<typeof sendText> {\n const { toChatId = message.chat, start, end, text, ...params__ } = params\n const params_ = params__ as NonNullable<Parameters<typeof sendText>[3]>\n params_.replyTo = message\n params_.quote = extractQuote(message, params.start, params.end)\n params_.quoteOffset = params.start\n\n return sendText(client, toChatId, text, params_)\n}\n\n/** Send a media in reply to a given quote */\nexport function quoteWithMedia(\n client: ITelegramClient,\n message: Message,\n params: QuoteParamsFrom<Parameters<typeof sendMedia>[3]> & {\n /** Media to send */\n media: Parameters<typeof sendMedia>[2]\n },\n): ReturnType<typeof sendMedia> {\n const { toChatId = message.chat, start, end, media, ...params__ } = params\n const params_ = params__ as NonNullable<Parameters<typeof sendMedia>[3]>\n params_.replyTo = message\n params_.quote = extractQuote(message, params.start, params.end)\n params_.quoteOffset = params.start\n\n return sendMedia(client, toChatId, media, params_)\n}\n\n/** Send a media group in reply to a given quote */\nexport function quoteWithMediaGroup(\n client: ITelegramClient,\n message: Message,\n params: QuoteParamsFrom<Parameters<typeof sendMediaGroup>[3]> & {\n /** Media group to send */\n medias: Parameters<typeof sendMediaGroup>[2]\n },\n): ReturnType<typeof sendMediaGroup> {\n const { toChatId, start, end, medias, ...params__ } = params\n const params_ = params__ as NonNullable<Parameters<typeof sendMediaGroup>[3]>\n params_.replyTo = message\n params_.quote = extractQuote(message, params.start, params.end)\n params_.quoteOffset = params.start\n\n return sendMediaGroup(client, message.chat.inputPeer, medias, params_)\n}\n"]}