@mtcute/core 0.10.2 → 0.11.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 (963) 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 +3 -2
  5. package/cjs/highlevel/client.js +1 -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/_init.js.map +1 -1
  10. package/cjs/highlevel/methods/auth/start-test.js.map +1 -1
  11. package/cjs/highlevel/methods/auth/start.js.map +1 -1
  12. package/cjs/highlevel/methods/auth/utils.js.map +1 -1
  13. package/cjs/highlevel/methods/bots/get-callback-answer.js.map +1 -1
  14. package/cjs/highlevel/methods/bots/get-game-high-scores.js.map +1 -1
  15. package/cjs/highlevel/methods/bots/normalize-command-scope.js.map +1 -1
  16. package/cjs/highlevel/methods/bots/set-my-commands.js.map +1 -1
  17. package/cjs/highlevel/methods/chats/add-chat-members.js.map +1 -1
  18. package/cjs/highlevel/methods/chats/ban-chat-member.js.map +1 -1
  19. package/cjs/highlevel/methods/chats/batched-queries.js.map +1 -1
  20. package/cjs/highlevel/methods/chats/delete-chat-photo.js.map +1 -1
  21. package/cjs/highlevel/methods/chats/delete-history.js.map +1 -1
  22. package/cjs/highlevel/methods/chats/get-chat-event-log.js.map +1 -1
  23. package/cjs/highlevel/methods/chats/get-chat-member.js.map +1 -1
  24. package/cjs/highlevel/methods/chats/get-chat-members.js.map +1 -1
  25. package/cjs/highlevel/methods/chats/get-chat-preview.js.map +1 -1
  26. package/cjs/highlevel/methods/chats/get-chat.js.map +1 -1
  27. package/cjs/highlevel/methods/chats/get-full-chat.js.map +1 -1
  28. package/cjs/highlevel/methods/chats/get-nearby-chats.js.map +1 -1
  29. package/cjs/highlevel/methods/chats/get-similar-channels.js.map +1 -1
  30. package/cjs/highlevel/methods/chats/iter-chat-event-log.js.map +1 -1
  31. package/cjs/highlevel/methods/chats/iter-chat-members.js.map +1 -1
  32. package/cjs/highlevel/methods/chats/join-chat.js.map +1 -1
  33. package/cjs/highlevel/methods/chats/kick-chat-member.js.map +1 -1
  34. package/cjs/highlevel/methods/chats/leave-chat.js.map +1 -1
  35. package/cjs/highlevel/methods/chats/open-chat.js.map +1 -1
  36. package/cjs/highlevel/methods/chats/reorder-usernames.js.map +1 -1
  37. package/cjs/highlevel/methods/chats/restrict-chat-member.js.map +1 -1
  38. package/cjs/highlevel/methods/chats/save-draft.js.map +1 -1
  39. package/cjs/highlevel/methods/chats/set-chat-color.js.map +1 -1
  40. package/cjs/highlevel/methods/chats/set-chat-photo.js.map +1 -1
  41. package/cjs/highlevel/methods/chats/set-chat-title.js.map +1 -1
  42. package/cjs/highlevel/methods/chats/toggle-fragment-username.js.map +1 -1
  43. package/cjs/highlevel/methods/chats/unarchive-chats.js.map +1 -1
  44. package/cjs/highlevel/methods/chats/unban-chat-member.js.map +1 -1
  45. package/cjs/highlevel/methods/contacts/delete-contacts.js.map +1 -1
  46. package/cjs/highlevel/methods/dialogs/create-folder.js.map +1 -1
  47. package/cjs/highlevel/methods/dialogs/edit-folder.js.map +1 -1
  48. package/cjs/highlevel/methods/dialogs/find-folder.js.map +1 -1
  49. package/cjs/highlevel/methods/dialogs/get-folders.js.map +1 -1
  50. package/cjs/highlevel/methods/dialogs/iter-dialogs.js.map +1 -1
  51. package/cjs/highlevel/methods/files/download-buffer.js.map +1 -1
  52. package/cjs/highlevel/methods/files/download-iterable.js +1 -1
  53. package/cjs/highlevel/methods/files/download-iterable.js.map +1 -1
  54. package/cjs/highlevel/methods/files/download-node-stream.js.map +1 -1
  55. package/cjs/highlevel/methods/files/download-stream.js.map +1 -1
  56. package/cjs/highlevel/methods/files/normalize-file-to-document.js.map +1 -1
  57. package/cjs/highlevel/methods/files/normalize-input-file.js.map +1 -1
  58. package/cjs/highlevel/methods/files/normalize-input-media.js +1 -2
  59. package/cjs/highlevel/methods/files/normalize-input-media.js.map +1 -1
  60. package/cjs/highlevel/methods/files/upload-file.js +7 -6
  61. package/cjs/highlevel/methods/files/upload-file.js.map +1 -1
  62. package/cjs/highlevel/methods/files/upload-media.js.map +1 -1
  63. package/cjs/highlevel/methods/forums/iter-forum-topics.js.map +1 -1
  64. package/cjs/highlevel/methods/invite-links/get-primary-invite-link.js.map +1 -1
  65. package/cjs/highlevel/methods/invite-links/iter-invite-link-members.js.map +1 -1
  66. package/cjs/highlevel/methods/invite-links/iter-invite-links.js.map +1 -1
  67. package/cjs/highlevel/methods/messages/close-poll.js.map +1 -1
  68. package/cjs/highlevel/methods/messages/delete-messages.js.map +1 -1
  69. package/cjs/highlevel/methods/messages/edit-inline-message.js.map +1 -1
  70. package/cjs/highlevel/methods/messages/edit-message.js.map +1 -1
  71. package/cjs/highlevel/methods/messages/find-in-update.js.map +1 -1
  72. package/cjs/highlevel/methods/messages/forward-messages.js.map +1 -1
  73. package/cjs/highlevel/methods/messages/get-callback-query-message.js.map +1 -1
  74. package/cjs/highlevel/methods/messages/get-discussion-message.js.map +1 -1
  75. package/cjs/highlevel/methods/messages/get-history.js +5 -1
  76. package/cjs/highlevel/methods/messages/get-history.js.map +1 -1
  77. package/cjs/highlevel/methods/messages/get-message-by-link.js.map +1 -1
  78. package/cjs/highlevel/methods/messages/get-message-group.js.map +1 -1
  79. package/cjs/highlevel/methods/messages/get-message-reactions.js.map +1 -1
  80. package/cjs/highlevel/methods/messages/get-messages.js.map +1 -1
  81. package/cjs/highlevel/methods/messages/get-reply-to.js.map +1 -1
  82. package/cjs/highlevel/methods/messages/iter-history.js.map +1 -1
  83. package/cjs/highlevel/methods/messages/iter-reaction-users.js.map +1 -1
  84. package/cjs/highlevel/methods/messages/iter-search-global.js.map +1 -1
  85. package/cjs/highlevel/methods/messages/iter-search-messages.js.map +1 -1
  86. package/cjs/highlevel/methods/messages/read-history.js.map +1 -1
  87. package/cjs/highlevel/methods/messages/send-answer.js.map +1 -1
  88. package/cjs/highlevel/methods/messages/send-comment.js.map +1 -1
  89. package/cjs/highlevel/methods/messages/send-common.js.map +1 -1
  90. package/cjs/highlevel/methods/messages/send-copy-group.js.map +1 -1
  91. package/cjs/highlevel/methods/messages/send-copy.js.map +1 -1
  92. package/cjs/highlevel/methods/messages/send-media-group.js.map +1 -1
  93. package/cjs/highlevel/methods/messages/send-media.js.map +1 -1
  94. package/cjs/highlevel/methods/messages/send-quote.js.map +1 -1
  95. package/cjs/highlevel/methods/messages/send-text.js.map +1 -1
  96. package/cjs/highlevel/methods/messages/send-typing.js.map +1 -1
  97. package/cjs/highlevel/methods/messages/send-vote.js.map +1 -1
  98. package/cjs/highlevel/methods/messages/translate-text.js.map +1 -1
  99. package/cjs/highlevel/methods/messages/unpin-all-messages.js.map +1 -1
  100. package/cjs/highlevel/methods/misc/normalize-privacy-rules.js.map +1 -1
  101. package/cjs/highlevel/methods/misc/normalize-text.js.map +1 -1
  102. package/cjs/highlevel/methods/misc/with-params.js.map +1 -1
  103. package/cjs/highlevel/methods/password/change-cloud-password.js.map +1 -1
  104. package/cjs/highlevel/methods/password/enable-cloud-password.js.map +1 -1
  105. package/cjs/highlevel/methods/password/remove-cloud-password.js.map +1 -1
  106. package/cjs/highlevel/methods/premium/can-apply-boost.js.map +1 -1
  107. package/cjs/highlevel/methods/premium/iter-boosters.js.map +1 -1
  108. package/cjs/highlevel/methods/stickers/create-sticker-set.js.map +1 -1
  109. package/cjs/highlevel/methods/stickers/delete-sticker-from-set.js.map +1 -1
  110. package/cjs/highlevel/methods/stickers/get-custom-emojis.js.map +1 -1
  111. package/cjs/highlevel/methods/stickers/move-sticker-in-set.js.map +1 -1
  112. package/cjs/highlevel/methods/stories/can-send-story.js.map +1 -1
  113. package/cjs/highlevel/methods/stories/edit-story.js.map +1 -1
  114. package/cjs/highlevel/methods/stories/find-in-update.js.map +1 -1
  115. package/cjs/highlevel/methods/stories/hide-my-stories-views.js.map +1 -1
  116. package/cjs/highlevel/methods/stories/iter-all-stories.js.map +1 -1
  117. package/cjs/highlevel/methods/stories/iter-profile-stories.js.map +1 -1
  118. package/cjs/highlevel/methods/stories/iter-story-viewers.js.map +1 -1
  119. package/cjs/highlevel/methods/stories/send-story.js.map +1 -1
  120. package/cjs/highlevel/methods/users/delete-profile-photos.js.map +1 -1
  121. package/cjs/highlevel/methods/users/get-users.js.map +1 -1
  122. package/cjs/highlevel/methods/users/iter-profile-photos.js.map +1 -1
  123. package/cjs/highlevel/methods/users/resolve-peer-many.js.map +1 -1
  124. package/cjs/highlevel/methods/users/resolve-peer.js.map +1 -1
  125. package/cjs/highlevel/methods/users/set-my-emoji-status.js.map +1 -1
  126. package/cjs/highlevel/methods/users/set-my-profile-photo.js.map +1 -1
  127. package/cjs/highlevel/storage/service/current-user.js +2 -0
  128. package/cjs/highlevel/storage/service/current-user.js.map +1 -1
  129. package/cjs/highlevel/storage/service/peers.js +5 -1
  130. package/cjs/highlevel/storage/service/peers.js.map +1 -1
  131. package/cjs/highlevel/storage/service/ref-messages.js +3 -0
  132. package/cjs/highlevel/storage/service/ref-messages.js.map +1 -1
  133. package/cjs/highlevel/storage/service/updates.js +1 -0
  134. package/cjs/highlevel/storage/service/updates.js.map +1 -1
  135. package/cjs/highlevel/storage/storage.d.ts +1 -1
  136. package/cjs/highlevel/storage/storage.js +17 -4
  137. package/cjs/highlevel/storage/storage.js.map +1 -1
  138. package/cjs/highlevel/types/auth/sent-code.js +1 -0
  139. package/cjs/highlevel/types/auth/sent-code.js.map +1 -1
  140. package/cjs/highlevel/types/bots/game-high-score.js +2 -0
  141. package/cjs/highlevel/types/bots/game-high-score.js.map +1 -1
  142. package/cjs/highlevel/types/bots/inline-message/factories.js.map +1 -1
  143. package/cjs/highlevel/types/bots/inline-result/factories.js.map +1 -1
  144. package/cjs/highlevel/types/bots/keyboards/builder.js +2 -1
  145. package/cjs/highlevel/types/bots/keyboards/builder.js.map +1 -1
  146. package/cjs/highlevel/types/bots/keyboards/factories.js.map +1 -1
  147. package/cjs/highlevel/types/calls/discard-reason.js.map +1 -1
  148. package/cjs/highlevel/types/conversation.js +13 -7
  149. package/cjs/highlevel/types/conversation.js.map +1 -1
  150. package/cjs/highlevel/types/errors.js +3 -0
  151. package/cjs/highlevel/types/errors.js.map +1 -1
  152. package/cjs/highlevel/types/files/file-location.js +3 -0
  153. package/cjs/highlevel/types/files/file-location.js.map +1 -1
  154. package/cjs/highlevel/types/files/uploaded-file.js +1 -1
  155. package/cjs/highlevel/types/files/uploaded-file.js.map +1 -1
  156. package/cjs/highlevel/types/files/utils.d.ts +3 -3
  157. package/cjs/highlevel/types/files/utils.js.map +1 -1
  158. package/cjs/highlevel/types/files/web-document.js +1 -0
  159. package/cjs/highlevel/types/files/web-document.js.map +1 -1
  160. package/cjs/highlevel/types/media/audio.js +3 -2
  161. package/cjs/highlevel/types/media/audio.js.map +1 -1
  162. package/cjs/highlevel/types/media/contact.js +2 -1
  163. package/cjs/highlevel/types/media/contact.js.map +1 -1
  164. package/cjs/highlevel/types/media/dice.js +125 -124
  165. package/cjs/highlevel/types/media/dice.js.map +1 -1
  166. package/cjs/highlevel/types/media/document-utils.js.map +1 -1
  167. package/cjs/highlevel/types/media/document.js +2 -4
  168. package/cjs/highlevel/types/media/document.js.map +1 -1
  169. package/cjs/highlevel/types/media/game.js +2 -1
  170. package/cjs/highlevel/types/media/game.js.map +1 -1
  171. package/cjs/highlevel/types/media/invoice.js +4 -1
  172. package/cjs/highlevel/types/media/invoice.js.map +1 -1
  173. package/cjs/highlevel/types/media/location.js +4 -5
  174. package/cjs/highlevel/types/media/location.js.map +1 -1
  175. package/cjs/highlevel/types/media/photo.js +8 -1
  176. package/cjs/highlevel/types/media/photo.js.map +1 -1
  177. package/cjs/highlevel/types/media/poll.js +4 -1
  178. package/cjs/highlevel/types/media/poll.js.map +1 -1
  179. package/cjs/highlevel/types/media/sticker.js +3 -1
  180. package/cjs/highlevel/types/media/sticker.js.map +1 -1
  181. package/cjs/highlevel/types/media/story.js +3 -1
  182. package/cjs/highlevel/types/media/story.js.map +1 -1
  183. package/cjs/highlevel/types/media/thumbnail.js +35 -22
  184. package/cjs/highlevel/types/media/thumbnail.js.map +1 -1
  185. package/cjs/highlevel/types/media/venue.js +2 -1
  186. package/cjs/highlevel/types/media/venue.js.map +1 -1
  187. package/cjs/highlevel/types/media/video.js +3 -1
  188. package/cjs/highlevel/types/media/video.js.map +1 -1
  189. package/cjs/highlevel/types/media/voice.js +2 -1
  190. package/cjs/highlevel/types/media/voice.js.map +1 -1
  191. package/cjs/highlevel/types/media/web-page.js +2 -1
  192. package/cjs/highlevel/types/media/web-page.js.map +1 -1
  193. package/cjs/highlevel/types/messages/dialog.js +3 -0
  194. package/cjs/highlevel/types/messages/dialog.js.map +1 -1
  195. package/cjs/highlevel/types/messages/draft-message.js +1 -0
  196. package/cjs/highlevel/types/messages/draft-message.js.map +1 -1
  197. package/cjs/highlevel/types/messages/message-action.js.map +1 -1
  198. package/cjs/highlevel/types/messages/message-entity.js +2 -0
  199. package/cjs/highlevel/types/messages/message-entity.js.map +1 -1
  200. package/cjs/highlevel/types/messages/message-forward.js +2 -0
  201. package/cjs/highlevel/types/messages/message-forward.js.map +1 -1
  202. package/cjs/highlevel/types/messages/message-media.js.map +1 -1
  203. package/cjs/highlevel/types/messages/message-reactions.js +4 -0
  204. package/cjs/highlevel/types/messages/message-reactions.js.map +1 -1
  205. package/cjs/highlevel/types/messages/message-replies.js +2 -0
  206. package/cjs/highlevel/types/messages/message-replies.js.map +1 -1
  207. package/cjs/highlevel/types/messages/message.js +6 -0
  208. package/cjs/highlevel/types/messages/message.js.map +1 -1
  209. package/cjs/highlevel/types/messages/replied-message.js +2 -0
  210. package/cjs/highlevel/types/messages/replied-message.js.map +1 -1
  211. package/cjs/highlevel/types/misc/sticker-set.js +7 -1
  212. package/cjs/highlevel/types/misc/sticker-set.js.map +1 -1
  213. package/cjs/highlevel/types/misc/takeout-session.js +5 -0
  214. package/cjs/highlevel/types/misc/takeout-session.js.map +1 -1
  215. package/cjs/highlevel/types/peers/chat-colors.js +2 -0
  216. package/cjs/highlevel/types/peers/chat-colors.js.map +1 -1
  217. package/cjs/highlevel/types/peers/chat-event/actions.js.map +1 -1
  218. package/cjs/highlevel/types/peers/chat-event/filters.js.map +1 -1
  219. package/cjs/highlevel/types/peers/chat-event/index.js +2 -0
  220. package/cjs/highlevel/types/peers/chat-event/index.js.map +1 -1
  221. package/cjs/highlevel/types/peers/chat-invite-link-member.js +2 -0
  222. package/cjs/highlevel/types/peers/chat-invite-link-member.js.map +1 -1
  223. package/cjs/highlevel/types/peers/chat-invite-link.js +2 -0
  224. package/cjs/highlevel/types/peers/chat-invite-link.js.map +1 -1
  225. package/cjs/highlevel/types/peers/chat-location.js +1 -0
  226. package/cjs/highlevel/types/peers/chat-location.js.map +1 -1
  227. package/cjs/highlevel/types/peers/chat-member.js +2 -0
  228. package/cjs/highlevel/types/peers/chat-member.js.map +1 -1
  229. package/cjs/highlevel/types/peers/chat-permissions.js +1 -0
  230. package/cjs/highlevel/types/peers/chat-permissions.js.map +1 -1
  231. package/cjs/highlevel/types/peers/chat-photo.js +5 -0
  232. package/cjs/highlevel/types/peers/chat-photo.js.map +1 -1
  233. package/cjs/highlevel/types/peers/chat-preview.js +2 -0
  234. package/cjs/highlevel/types/peers/chat-preview.js.map +1 -1
  235. package/cjs/highlevel/types/peers/chat.js +12 -1
  236. package/cjs/highlevel/types/peers/chat.js.map +1 -1
  237. package/cjs/highlevel/types/peers/forum-topic.js +9 -6
  238. package/cjs/highlevel/types/peers/forum-topic.js.map +1 -1
  239. package/cjs/highlevel/types/peers/peer.js.map +1 -1
  240. package/cjs/highlevel/types/peers/peers-index.js +3 -1
  241. package/cjs/highlevel/types/peers/peers-index.js.map +1 -1
  242. package/cjs/highlevel/types/peers/user.js +5 -1
  243. package/cjs/highlevel/types/peers/user.js.map +1 -1
  244. package/cjs/highlevel/types/premium/boost-slot.js +2 -0
  245. package/cjs/highlevel/types/premium/boost-slot.js.map +1 -1
  246. package/cjs/highlevel/types/premium/boost-stats.js +1 -0
  247. package/cjs/highlevel/types/premium/boost-stats.js.map +1 -1
  248. package/cjs/highlevel/types/premium/boost.js +2 -0
  249. package/cjs/highlevel/types/premium/boost.js.map +1 -1
  250. package/cjs/highlevel/types/reactions/emoji-status.js +1 -0
  251. package/cjs/highlevel/types/reactions/emoji-status.js.map +1 -1
  252. package/cjs/highlevel/types/reactions/peer-reaction.js +2 -0
  253. package/cjs/highlevel/types/reactions/peer-reaction.js.map +1 -1
  254. package/cjs/highlevel/types/reactions/reaction-count.js +1 -0
  255. package/cjs/highlevel/types/reactions/reaction-count.js.map +1 -1
  256. package/cjs/highlevel/types/reactions/types.js.map +1 -1
  257. package/cjs/highlevel/types/stories/all-stories.d.ts +2 -2
  258. package/cjs/highlevel/types/stories/all-stories.js +3 -1
  259. package/cjs/highlevel/types/stories/all-stories.js.map +1 -1
  260. package/cjs/highlevel/types/stories/interactive/base.js +1 -0
  261. package/cjs/highlevel/types/stories/interactive/base.js.map +1 -1
  262. package/cjs/highlevel/types/stories/interactive/channel-post.js +3 -1
  263. package/cjs/highlevel/types/stories/interactive/channel-post.js.map +1 -1
  264. package/cjs/highlevel/types/stories/interactive/index.js.map +1 -1
  265. package/cjs/highlevel/types/stories/interactive/input.js +1 -0
  266. package/cjs/highlevel/types/stories/interactive/input.js.map +1 -1
  267. package/cjs/highlevel/types/stories/interactive/location.js +2 -1
  268. package/cjs/highlevel/types/stories/interactive/location.js.map +1 -1
  269. package/cjs/highlevel/types/stories/interactive/reaction.js +2 -1
  270. package/cjs/highlevel/types/stories/interactive/reaction.js.map +1 -1
  271. package/cjs/highlevel/types/stories/interactive/venue.js +2 -1
  272. package/cjs/highlevel/types/stories/interactive/venue.js.map +1 -1
  273. package/cjs/highlevel/types/stories/peer-stories.js +2 -0
  274. package/cjs/highlevel/types/stories/peer-stories.js.map +1 -1
  275. package/cjs/highlevel/types/stories/stealth-mode.js +1 -0
  276. package/cjs/highlevel/types/stories/stealth-mode.js.map +1 -1
  277. package/cjs/highlevel/types/stories/story-interactions.js +2 -0
  278. package/cjs/highlevel/types/stories/story-interactions.js.map +1 -1
  279. package/cjs/highlevel/types/stories/story-viewer.d.ts +1 -1
  280. package/cjs/highlevel/types/stories/story-viewer.js +6 -0
  281. package/cjs/highlevel/types/stories/story-viewer.js.map +1 -1
  282. package/cjs/highlevel/types/stories/story.js +2 -0
  283. package/cjs/highlevel/types/stories/story.js.map +1 -1
  284. package/cjs/highlevel/types/updates/bot-chat-join-request.js +2 -0
  285. package/cjs/highlevel/types/updates/bot-chat-join-request.js.map +1 -1
  286. package/cjs/highlevel/types/updates/bot-reaction.js +4 -0
  287. package/cjs/highlevel/types/updates/bot-reaction.js.map +1 -1
  288. package/cjs/highlevel/types/updates/bot-stopped.js +2 -0
  289. package/cjs/highlevel/types/updates/bot-stopped.js.map +1 -1
  290. package/cjs/highlevel/types/updates/callback-query.js +4 -0
  291. package/cjs/highlevel/types/updates/callback-query.js.map +1 -1
  292. package/cjs/highlevel/types/updates/chat-join-request.js +2 -0
  293. package/cjs/highlevel/types/updates/chat-join-request.js.map +1 -1
  294. package/cjs/highlevel/types/updates/chat-member-update.js +2 -0
  295. package/cjs/highlevel/types/updates/chat-member-update.js.map +1 -1
  296. package/cjs/highlevel/types/updates/chosen-inline-result.js +2 -0
  297. package/cjs/highlevel/types/updates/chosen-inline-result.js.map +1 -1
  298. package/cjs/highlevel/types/updates/delete-message-update.js +1 -0
  299. package/cjs/highlevel/types/updates/delete-message-update.js.map +1 -1
  300. package/cjs/highlevel/types/updates/delete-story-update.js +2 -0
  301. package/cjs/highlevel/types/updates/delete-story-update.js.map +1 -1
  302. package/cjs/highlevel/types/updates/history-read-update.js +1 -0
  303. package/cjs/highlevel/types/updates/history-read-update.js.map +1 -1
  304. package/cjs/highlevel/types/updates/inline-query.js +2 -0
  305. package/cjs/highlevel/types/updates/inline-query.js.map +1 -1
  306. package/cjs/highlevel/types/updates/parse-update.js.map +1 -1
  307. package/cjs/highlevel/types/updates/poll-update.js +2 -0
  308. package/cjs/highlevel/types/updates/poll-update.js.map +1 -1
  309. package/cjs/highlevel/types/updates/poll-vote.js +2 -0
  310. package/cjs/highlevel/types/updates/poll-vote.js.map +1 -1
  311. package/cjs/highlevel/types/updates/pre-checkout-query.js +2 -0
  312. package/cjs/highlevel/types/updates/pre-checkout-query.js.map +1 -1
  313. package/cjs/highlevel/types/updates/story-update.js +2 -0
  314. package/cjs/highlevel/types/updates/story-update.js.map +1 -1
  315. package/cjs/highlevel/types/updates/user-status-update.js +1 -0
  316. package/cjs/highlevel/types/updates/user-status-update.js.map +1 -1
  317. package/cjs/highlevel/types/updates/user-typing-update.js +1 -0
  318. package/cjs/highlevel/types/updates/user-typing-update.js.map +1 -1
  319. package/cjs/highlevel/updates/manager.d.ts +1 -1
  320. package/cjs/highlevel/updates/manager.js +50 -28
  321. package/cjs/highlevel/updates/manager.js.map +1 -1
  322. package/cjs/highlevel/updates/parsed.js.map +1 -1
  323. package/cjs/highlevel/updates/utils.js.map +1 -1
  324. package/cjs/highlevel/utils/convert-file-id.js.map +1 -1
  325. package/cjs/highlevel/utils/entities.js.map +1 -1
  326. package/cjs/highlevel/utils/file-type.d.ts +1 -0
  327. package/cjs/highlevel/utils/file-type.js +35 -1
  328. package/cjs/highlevel/utils/file-type.js.map +1 -1
  329. package/cjs/highlevel/utils/file-utils.js +1 -1
  330. package/cjs/highlevel/utils/file-utils.js.map +1 -1
  331. package/cjs/highlevel/utils/inline-utils.js.map +1 -1
  332. package/cjs/highlevel/utils/inspectable.js.map +1 -1
  333. package/cjs/highlevel/utils/memoize.js.map +1 -1
  334. package/cjs/highlevel/utils/peer-utils.js.map +1 -1
  335. package/cjs/highlevel/utils/query-batcher.js.map +1 -1
  336. package/cjs/highlevel/utils/rps-meter.js +3 -0
  337. package/cjs/highlevel/utils/rps-meter.js.map +1 -1
  338. package/cjs/highlevel/utils/stream-utils.js.map +1 -1
  339. package/cjs/highlevel/utils/string-session.d.ts +1 -2
  340. package/cjs/highlevel/utils/string-session.js +27 -7
  341. package/cjs/highlevel/utils/string-session.js.map +1 -1
  342. package/cjs/highlevel/utils/voice-utils.js.map +1 -1
  343. package/cjs/highlevel/worker/app-config.d.ts +2 -3
  344. package/cjs/highlevel/worker/app-config.js +6 -3
  345. package/cjs/highlevel/worker/app-config.js.map +1 -1
  346. package/cjs/highlevel/worker/errors.js.map +1 -1
  347. package/cjs/highlevel/worker/invoker.js +3 -2
  348. package/cjs/highlevel/worker/invoker.js.map +1 -1
  349. package/cjs/highlevel/worker/port.d.ts +16 -17
  350. package/cjs/highlevel/worker/port.js +74 -49
  351. package/cjs/highlevel/worker/port.js.map +1 -1
  352. package/cjs/highlevel/worker/protocol.d.ts +2 -2
  353. package/cjs/highlevel/worker/protocol.js.map +1 -1
  354. package/cjs/highlevel/worker/storage.d.ts +9 -13
  355. package/cjs/highlevel/worker/storage.js +34 -19
  356. package/cjs/highlevel/worker/storage.js.map +1 -1
  357. package/cjs/highlevel/worker/worker.js +3 -0
  358. package/cjs/highlevel/worker/worker.js.map +1 -1
  359. package/cjs/network/auth-key.js +8 -1
  360. package/cjs/network/auth-key.js.map +1 -1
  361. package/cjs/network/authorization.js.map +1 -1
  362. package/cjs/network/client.d.ts +1 -1
  363. package/cjs/network/client.js +39 -14
  364. package/cjs/network/client.js.map +1 -1
  365. package/cjs/network/config-manager.js.map +1 -1
  366. package/cjs/network/mtproto-session.d.ts +1 -1
  367. package/cjs/network/mtproto-session.js +40 -30
  368. package/cjs/network/mtproto-session.js.map +1 -1
  369. package/cjs/network/multi-session-connection.d.ts +2 -2
  370. package/cjs/network/multi-session-connection.js +13 -7
  371. package/cjs/network/multi-session-connection.js.map +1 -1
  372. package/cjs/network/network-manager.d.ts +2 -3
  373. package/cjs/network/network-manager.js +49 -28
  374. package/cjs/network/network-manager.js.map +1 -1
  375. package/cjs/network/persistent-connection.d.ts +3 -3
  376. package/cjs/network/persistent-connection.js +33 -22
  377. package/cjs/network/persistent-connection.js.map +1 -1
  378. package/cjs/network/server-salt.js +4 -5
  379. package/cjs/network/server-salt.js.map +1 -1
  380. package/cjs/network/session-connection.d.ts +1 -1
  381. package/cjs/network/session-connection.js +22 -12
  382. package/cjs/network/session-connection.js.map +1 -1
  383. package/cjs/network/transports/abstract.d.ts +2 -2
  384. package/cjs/network/transports/abstract.js +1 -0
  385. package/cjs/network/transports/abstract.js.map +1 -1
  386. package/cjs/network/transports/intermediate.js +1 -0
  387. package/cjs/network/transports/intermediate.js.map +1 -1
  388. package/cjs/network/transports/obfuscated.js +3 -0
  389. package/cjs/network/transports/obfuscated.js.map +1 -1
  390. package/cjs/network/transports/streamed.d.ts +1 -1
  391. package/cjs/network/transports/streamed.js +1 -4
  392. package/cjs/network/transports/streamed.js.map +1 -1
  393. package/cjs/network/transports/wrapped.d.ts +1 -1
  394. package/cjs/network/transports/wrapped.js +2 -0
  395. package/cjs/network/transports/wrapped.js.map +1 -1
  396. package/cjs/platform.js.map +1 -1
  397. package/cjs/storage/driver.js +3 -4
  398. package/cjs/storage/driver.js.map +1 -1
  399. package/cjs/storage/memory/driver.js +1 -3
  400. package/cjs/storage/memory/driver.js.map +1 -1
  401. package/cjs/storage/memory/index.js +5 -7
  402. package/cjs/storage/memory/index.js.map +1 -1
  403. package/cjs/storage/memory/repository/auth-keys.d.ts +1 -1
  404. package/cjs/storage/memory/repository/auth-keys.js +2 -0
  405. package/cjs/storage/memory/repository/auth-keys.js.map +1 -1
  406. package/cjs/storage/memory/repository/kv.d.ts +1 -1
  407. package/cjs/storage/memory/repository/kv.js +2 -0
  408. package/cjs/storage/memory/repository/kv.js.map +1 -1
  409. package/cjs/storage/memory/repository/peers.d.ts +1 -1
  410. package/cjs/storage/memory/repository/peers.js +2 -0
  411. package/cjs/storage/memory/repository/peers.js.map +1 -1
  412. package/cjs/storage/memory/repository/ref-messages.d.ts +1 -1
  413. package/cjs/storage/memory/repository/ref-messages.js +2 -0
  414. package/cjs/storage/memory/repository/ref-messages.js.map +1 -1
  415. package/cjs/storage/service/auth-keys.js +2 -0
  416. package/cjs/storage/service/auth-keys.js.map +1 -1
  417. package/cjs/storage/service/base.js +4 -0
  418. package/cjs/storage/service/base.js.map +1 -1
  419. package/cjs/storage/service/default-dcs.js +2 -0
  420. package/cjs/storage/service/default-dcs.js.map +1 -1
  421. package/cjs/storage/service/future-salts.js +2 -1
  422. package/cjs/storage/service/future-salts.js.map +1 -1
  423. package/cjs/storage/sqlite/driver.js +10 -10
  424. package/cjs/storage/sqlite/driver.js.map +1 -1
  425. package/cjs/storage/sqlite/index.d.ts +1 -1
  426. package/cjs/storage/sqlite/index.js +5 -0
  427. package/cjs/storage/sqlite/index.js.map +1 -1
  428. package/cjs/storage/sqlite/repository/auth-keys.js +9 -0
  429. package/cjs/storage/sqlite/repository/auth-keys.js.map +1 -1
  430. package/cjs/storage/sqlite/repository/kv.js +5 -0
  431. package/cjs/storage/sqlite/repository/kv.js.map +1 -1
  432. package/cjs/storage/sqlite/repository/peers.js +6 -0
  433. package/cjs/storage/sqlite/repository/peers.js.map +1 -1
  434. package/cjs/storage/sqlite/repository/ref-messages.d.ts +1 -1
  435. package/cjs/storage/sqlite/repository/ref-messages.js +6 -0
  436. package/cjs/storage/sqlite/repository/ref-messages.js.map +1 -1
  437. package/cjs/storage/storage.d.ts +1 -3
  438. package/cjs/storage/storage.js +21 -13
  439. package/cjs/storage/storage.js.map +1 -1
  440. package/cjs/types/errors.js +13 -0
  441. package/cjs/types/errors.js.map +1 -1
  442. package/cjs/utils/async-lock.js +1 -3
  443. package/cjs/utils/async-lock.js.map +1 -1
  444. package/cjs/utils/bigint-utils.js.map +1 -1
  445. package/cjs/utils/binary/asn1-parser.js.map +1 -1
  446. package/cjs/utils/buffer-utils.js.map +1 -1
  447. package/cjs/utils/condition-variable.js +2 -0
  448. package/cjs/utils/condition-variable.js.map +1 -1
  449. package/cjs/utils/crypto/factorization.js.map +1 -1
  450. package/cjs/utils/crypto/keys.js.map +1 -1
  451. package/cjs/utils/crypto/miller-rabin.js.map +1 -1
  452. package/cjs/utils/crypto/password.js.map +1 -1
  453. package/cjs/utils/crypto/utils.js.map +1 -1
  454. package/cjs/utils/dcs.js +1 -1
  455. package/cjs/utils/dcs.js.map +1 -1
  456. package/cjs/utils/deque.js +8 -2
  457. package/cjs/utils/deque.js.map +1 -1
  458. package/cjs/utils/early-timer.js +4 -1
  459. package/cjs/utils/early-timer.js.map +1 -1
  460. package/cjs/utils/error-reporting.js.map +1 -1
  461. package/cjs/utils/function-utils.js.map +1 -1
  462. package/cjs/utils/linked-list.js +4 -1
  463. package/cjs/utils/linked-list.js.map +1 -1
  464. package/cjs/utils/links/bots.js.map +1 -1
  465. package/cjs/utils/links/chat.js.map +1 -1
  466. package/cjs/utils/links/common.js.map +1 -1
  467. package/cjs/utils/links/misc.js.map +1 -1
  468. package/cjs/utils/logger.d.ts +2 -2
  469. package/cjs/utils/logger.js +21 -14
  470. package/cjs/utils/logger.js.map +1 -1
  471. package/cjs/utils/long-utils.js +2 -6
  472. package/cjs/utils/long-utils.js.map +1 -1
  473. package/cjs/utils/lru-map.js +5 -1
  474. package/cjs/utils/lru-map.js.map +1 -1
  475. package/cjs/utils/lru-set.js +4 -0
  476. package/cjs/utils/lru-set.js.map +1 -1
  477. package/cjs/utils/peer-utils.js.map +1 -1
  478. package/cjs/utils/reloadable.d.ts +1 -1
  479. package/cjs/utils/reloadable.js +10 -7
  480. package/cjs/utils/reloadable.js.map +1 -1
  481. package/cjs/utils/sorted-array.js +2 -0
  482. package/cjs/utils/sorted-array.js.map +1 -1
  483. package/cjs/utils/tl-json.js.map +1 -1
  484. package/cjs/utils/type-assertions.js.map +1 -1
  485. package/esm/highlevel/base.d.ts +1 -1
  486. package/esm/highlevel/base.js +29 -23
  487. package/esm/highlevel/base.js.map +1 -1
  488. package/esm/highlevel/client.d.ts +2 -1
  489. package/esm/highlevel/client.js +1 -0
  490. package/esm/highlevel/client.js.map +1 -1
  491. package/esm/highlevel/managers/app-config-manager.js +7 -5
  492. package/esm/highlevel/managers/app-config-manager.js.map +1 -1
  493. package/esm/highlevel/methods/_init.js.map +1 -1
  494. package/esm/highlevel/methods/auth/start-test.js.map +1 -1
  495. package/esm/highlevel/methods/auth/start.js.map +1 -1
  496. package/esm/highlevel/methods/auth/utils.js.map +1 -1
  497. package/esm/highlevel/methods/bots/get-callback-answer.js.map +1 -1
  498. package/esm/highlevel/methods/bots/get-game-high-scores.js.map +1 -1
  499. package/esm/highlevel/methods/bots/normalize-command-scope.js.map +1 -1
  500. package/esm/highlevel/methods/bots/set-my-commands.js.map +1 -1
  501. package/esm/highlevel/methods/chats/add-chat-members.js.map +1 -1
  502. package/esm/highlevel/methods/chats/ban-chat-member.js.map +1 -1
  503. package/esm/highlevel/methods/chats/batched-queries.js.map +1 -1
  504. package/esm/highlevel/methods/chats/delete-chat-photo.js.map +1 -1
  505. package/esm/highlevel/methods/chats/delete-history.js.map +1 -1
  506. package/esm/highlevel/methods/chats/get-chat-event-log.js.map +1 -1
  507. package/esm/highlevel/methods/chats/get-chat-member.js.map +1 -1
  508. package/esm/highlevel/methods/chats/get-chat-members.js.map +1 -1
  509. package/esm/highlevel/methods/chats/get-chat-preview.js.map +1 -1
  510. package/esm/highlevel/methods/chats/get-chat.js.map +1 -1
  511. package/esm/highlevel/methods/chats/get-full-chat.js.map +1 -1
  512. package/esm/highlevel/methods/chats/get-nearby-chats.js.map +1 -1
  513. package/esm/highlevel/methods/chats/get-similar-channels.js.map +1 -1
  514. package/esm/highlevel/methods/chats/iter-chat-event-log.js.map +1 -1
  515. package/esm/highlevel/methods/chats/iter-chat-members.js.map +1 -1
  516. package/esm/highlevel/methods/chats/join-chat.js.map +1 -1
  517. package/esm/highlevel/methods/chats/kick-chat-member.js.map +1 -1
  518. package/esm/highlevel/methods/chats/leave-chat.js.map +1 -1
  519. package/esm/highlevel/methods/chats/open-chat.js.map +1 -1
  520. package/esm/highlevel/methods/chats/reorder-usernames.js.map +1 -1
  521. package/esm/highlevel/methods/chats/restrict-chat-member.js.map +1 -1
  522. package/esm/highlevel/methods/chats/save-draft.js.map +1 -1
  523. package/esm/highlevel/methods/chats/set-chat-color.js.map +1 -1
  524. package/esm/highlevel/methods/chats/set-chat-photo.js.map +1 -1
  525. package/esm/highlevel/methods/chats/set-chat-title.js.map +1 -1
  526. package/esm/highlevel/methods/chats/toggle-fragment-username.js.map +1 -1
  527. package/esm/highlevel/methods/chats/unarchive-chats.js.map +1 -1
  528. package/esm/highlevel/methods/chats/unban-chat-member.js.map +1 -1
  529. package/esm/highlevel/methods/contacts/delete-contacts.js.map +1 -1
  530. package/esm/highlevel/methods/dialogs/create-folder.js.map +1 -1
  531. package/esm/highlevel/methods/dialogs/edit-folder.js.map +1 -1
  532. package/esm/highlevel/methods/dialogs/find-folder.js.map +1 -1
  533. package/esm/highlevel/methods/dialogs/get-folders.js.map +1 -1
  534. package/esm/highlevel/methods/dialogs/iter-dialogs.js.map +1 -1
  535. package/esm/highlevel/methods/files/download-buffer.js.map +1 -1
  536. package/esm/highlevel/methods/files/download-iterable.js +1 -1
  537. package/esm/highlevel/methods/files/download-iterable.js.map +1 -1
  538. package/esm/highlevel/methods/files/download-node-stream.js.map +1 -1
  539. package/esm/highlevel/methods/files/download-stream.js.map +1 -1
  540. package/esm/highlevel/methods/files/normalize-file-to-document.js.map +1 -1
  541. package/esm/highlevel/methods/files/normalize-input-file.js.map +1 -1
  542. package/esm/highlevel/methods/files/normalize-input-media.js +1 -2
  543. package/esm/highlevel/methods/files/normalize-input-media.js.map +1 -1
  544. package/esm/highlevel/methods/files/upload-file.js +8 -7
  545. package/esm/highlevel/methods/files/upload-file.js.map +1 -1
  546. package/esm/highlevel/methods/files/upload-media.js.map +1 -1
  547. package/esm/highlevel/methods/forums/iter-forum-topics.js.map +1 -1
  548. package/esm/highlevel/methods/invite-links/get-primary-invite-link.js.map +1 -1
  549. package/esm/highlevel/methods/invite-links/iter-invite-link-members.js.map +1 -1
  550. package/esm/highlevel/methods/invite-links/iter-invite-links.js.map +1 -1
  551. package/esm/highlevel/methods/messages/close-poll.js.map +1 -1
  552. package/esm/highlevel/methods/messages/delete-messages.js.map +1 -1
  553. package/esm/highlevel/methods/messages/edit-inline-message.js.map +1 -1
  554. package/esm/highlevel/methods/messages/edit-message.js.map +1 -1
  555. package/esm/highlevel/methods/messages/find-in-update.js.map +1 -1
  556. package/esm/highlevel/methods/messages/forward-messages.js.map +1 -1
  557. package/esm/highlevel/methods/messages/get-callback-query-message.js.map +1 -1
  558. package/esm/highlevel/methods/messages/get-discussion-message.js.map +1 -1
  559. package/esm/highlevel/methods/messages/get-history.js +5 -1
  560. package/esm/highlevel/methods/messages/get-history.js.map +1 -1
  561. package/esm/highlevel/methods/messages/get-message-by-link.js.map +1 -1
  562. package/esm/highlevel/methods/messages/get-message-group.js.map +1 -1
  563. package/esm/highlevel/methods/messages/get-message-reactions.js.map +1 -1
  564. package/esm/highlevel/methods/messages/get-messages.js.map +1 -1
  565. package/esm/highlevel/methods/messages/get-reply-to.js.map +1 -1
  566. package/esm/highlevel/methods/messages/iter-history.js.map +1 -1
  567. package/esm/highlevel/methods/messages/iter-reaction-users.js.map +1 -1
  568. package/esm/highlevel/methods/messages/iter-search-global.js.map +1 -1
  569. package/esm/highlevel/methods/messages/iter-search-messages.js.map +1 -1
  570. package/esm/highlevel/methods/messages/read-history.js.map +1 -1
  571. package/esm/highlevel/methods/messages/send-answer.js.map +1 -1
  572. package/esm/highlevel/methods/messages/send-comment.js.map +1 -1
  573. package/esm/highlevel/methods/messages/send-common.js.map +1 -1
  574. package/esm/highlevel/methods/messages/send-copy-group.js.map +1 -1
  575. package/esm/highlevel/methods/messages/send-copy.js.map +1 -1
  576. package/esm/highlevel/methods/messages/send-media-group.js.map +1 -1
  577. package/esm/highlevel/methods/messages/send-media.js.map +1 -1
  578. package/esm/highlevel/methods/messages/send-quote.js.map +1 -1
  579. package/esm/highlevel/methods/messages/send-text.js.map +1 -1
  580. package/esm/highlevel/methods/messages/send-typing.js.map +1 -1
  581. package/esm/highlevel/methods/messages/send-vote.js.map +1 -1
  582. package/esm/highlevel/methods/messages/translate-text.js.map +1 -1
  583. package/esm/highlevel/methods/messages/unpin-all-messages.js.map +1 -1
  584. package/esm/highlevel/methods/misc/normalize-privacy-rules.js.map +1 -1
  585. package/esm/highlevel/methods/misc/normalize-text.js.map +1 -1
  586. package/esm/highlevel/methods/misc/with-params.js.map +1 -1
  587. package/esm/highlevel/methods/password/change-cloud-password.js.map +1 -1
  588. package/esm/highlevel/methods/password/enable-cloud-password.js.map +1 -1
  589. package/esm/highlevel/methods/password/remove-cloud-password.js.map +1 -1
  590. package/esm/highlevel/methods/premium/can-apply-boost.js.map +1 -1
  591. package/esm/highlevel/methods/premium/iter-boosters.js.map +1 -1
  592. package/esm/highlevel/methods/stickers/create-sticker-set.js.map +1 -1
  593. package/esm/highlevel/methods/stickers/delete-sticker-from-set.js.map +1 -1
  594. package/esm/highlevel/methods/stickers/get-custom-emojis.js.map +1 -1
  595. package/esm/highlevel/methods/stickers/move-sticker-in-set.js.map +1 -1
  596. package/esm/highlevel/methods/stories/can-send-story.js.map +1 -1
  597. package/esm/highlevel/methods/stories/edit-story.js.map +1 -1
  598. package/esm/highlevel/methods/stories/find-in-update.js.map +1 -1
  599. package/esm/highlevel/methods/stories/hide-my-stories-views.js.map +1 -1
  600. package/esm/highlevel/methods/stories/iter-all-stories.js.map +1 -1
  601. package/esm/highlevel/methods/stories/iter-profile-stories.js.map +1 -1
  602. package/esm/highlevel/methods/stories/iter-story-viewers.js.map +1 -1
  603. package/esm/highlevel/methods/stories/send-story.js.map +1 -1
  604. package/esm/highlevel/methods/users/delete-profile-photos.js.map +1 -1
  605. package/esm/highlevel/methods/users/get-users.js.map +1 -1
  606. package/esm/highlevel/methods/users/iter-profile-photos.js.map +1 -1
  607. package/esm/highlevel/methods/users/resolve-peer-many.js.map +1 -1
  608. package/esm/highlevel/methods/users/resolve-peer.js.map +1 -1
  609. package/esm/highlevel/methods/users/set-my-emoji-status.js.map +1 -1
  610. package/esm/highlevel/methods/users/set-my-profile-photo.js.map +1 -1
  611. package/esm/highlevel/storage/service/current-user.js +2 -0
  612. package/esm/highlevel/storage/service/current-user.js.map +1 -1
  613. package/esm/highlevel/storage/service/peers.js +5 -1
  614. package/esm/highlevel/storage/service/peers.js.map +1 -1
  615. package/esm/highlevel/storage/service/ref-messages.js +3 -0
  616. package/esm/highlevel/storage/service/ref-messages.js.map +1 -1
  617. package/esm/highlevel/storage/service/updates.js +1 -0
  618. package/esm/highlevel/storage/service/updates.js.map +1 -1
  619. package/esm/highlevel/storage/storage.d.ts +1 -1
  620. package/esm/highlevel/storage/storage.js +17 -4
  621. package/esm/highlevel/storage/storage.js.map +1 -1
  622. package/esm/highlevel/types/auth/sent-code.js +1 -0
  623. package/esm/highlevel/types/auth/sent-code.js.map +1 -1
  624. package/esm/highlevel/types/bots/game-high-score.js +2 -0
  625. package/esm/highlevel/types/bots/game-high-score.js.map +1 -1
  626. package/esm/highlevel/types/bots/inline-message/factories.js.map +1 -1
  627. package/esm/highlevel/types/bots/inline-result/factories.js.map +1 -1
  628. package/esm/highlevel/types/bots/keyboards/builder.js +2 -1
  629. package/esm/highlevel/types/bots/keyboards/builder.js.map +1 -1
  630. package/esm/highlevel/types/bots/keyboards/factories.js.map +1 -1
  631. package/esm/highlevel/types/calls/discard-reason.js.map +1 -1
  632. package/esm/highlevel/types/conversation.js +13 -7
  633. package/esm/highlevel/types/conversation.js.map +1 -1
  634. package/esm/highlevel/types/errors.js +3 -0
  635. package/esm/highlevel/types/errors.js.map +1 -1
  636. package/esm/highlevel/types/files/file-location.js +3 -0
  637. package/esm/highlevel/types/files/file-location.js.map +1 -1
  638. package/esm/highlevel/types/files/uploaded-file.js +1 -1
  639. package/esm/highlevel/types/files/uploaded-file.js.map +1 -1
  640. package/esm/highlevel/types/files/utils.d.ts +1 -1
  641. package/esm/highlevel/types/files/utils.js.map +1 -1
  642. package/esm/highlevel/types/files/web-document.js +1 -0
  643. package/esm/highlevel/types/files/web-document.js.map +1 -1
  644. package/esm/highlevel/types/media/audio.js +3 -2
  645. package/esm/highlevel/types/media/audio.js.map +1 -1
  646. package/esm/highlevel/types/media/contact.js +2 -1
  647. package/esm/highlevel/types/media/contact.js.map +1 -1
  648. package/esm/highlevel/types/media/dice.js +125 -124
  649. package/esm/highlevel/types/media/dice.js.map +1 -1
  650. package/esm/highlevel/types/media/document-utils.js.map +1 -1
  651. package/esm/highlevel/types/media/document.js +2 -4
  652. package/esm/highlevel/types/media/document.js.map +1 -1
  653. package/esm/highlevel/types/media/game.js +2 -1
  654. package/esm/highlevel/types/media/game.js.map +1 -1
  655. package/esm/highlevel/types/media/invoice.js +4 -1
  656. package/esm/highlevel/types/media/invoice.js.map +1 -1
  657. package/esm/highlevel/types/media/location.js +4 -5
  658. package/esm/highlevel/types/media/location.js.map +1 -1
  659. package/esm/highlevel/types/media/photo.js +8 -1
  660. package/esm/highlevel/types/media/photo.js.map +1 -1
  661. package/esm/highlevel/types/media/poll.js +4 -1
  662. package/esm/highlevel/types/media/poll.js.map +1 -1
  663. package/esm/highlevel/types/media/sticker.js +3 -1
  664. package/esm/highlevel/types/media/sticker.js.map +1 -1
  665. package/esm/highlevel/types/media/story.js +3 -1
  666. package/esm/highlevel/types/media/story.js.map +1 -1
  667. package/esm/highlevel/types/media/thumbnail.js +35 -22
  668. package/esm/highlevel/types/media/thumbnail.js.map +1 -1
  669. package/esm/highlevel/types/media/venue.js +2 -1
  670. package/esm/highlevel/types/media/venue.js.map +1 -1
  671. package/esm/highlevel/types/media/video.js +3 -1
  672. package/esm/highlevel/types/media/video.js.map +1 -1
  673. package/esm/highlevel/types/media/voice.js +2 -1
  674. package/esm/highlevel/types/media/voice.js.map +1 -1
  675. package/esm/highlevel/types/media/web-page.js +2 -1
  676. package/esm/highlevel/types/media/web-page.js.map +1 -1
  677. package/esm/highlevel/types/messages/dialog.js +3 -0
  678. package/esm/highlevel/types/messages/dialog.js.map +1 -1
  679. package/esm/highlevel/types/messages/draft-message.js +1 -0
  680. package/esm/highlevel/types/messages/draft-message.js.map +1 -1
  681. package/esm/highlevel/types/messages/message-action.js.map +1 -1
  682. package/esm/highlevel/types/messages/message-entity.js +2 -0
  683. package/esm/highlevel/types/messages/message-entity.js.map +1 -1
  684. package/esm/highlevel/types/messages/message-forward.js +2 -0
  685. package/esm/highlevel/types/messages/message-forward.js.map +1 -1
  686. package/esm/highlevel/types/messages/message-media.js.map +1 -1
  687. package/esm/highlevel/types/messages/message-reactions.js +4 -0
  688. package/esm/highlevel/types/messages/message-reactions.js.map +1 -1
  689. package/esm/highlevel/types/messages/message-replies.js +2 -0
  690. package/esm/highlevel/types/messages/message-replies.js.map +1 -1
  691. package/esm/highlevel/types/messages/message.js +6 -0
  692. package/esm/highlevel/types/messages/message.js.map +1 -1
  693. package/esm/highlevel/types/messages/replied-message.js +2 -0
  694. package/esm/highlevel/types/messages/replied-message.js.map +1 -1
  695. package/esm/highlevel/types/misc/sticker-set.js +7 -1
  696. package/esm/highlevel/types/misc/sticker-set.js.map +1 -1
  697. package/esm/highlevel/types/misc/takeout-session.js +5 -0
  698. package/esm/highlevel/types/misc/takeout-session.js.map +1 -1
  699. package/esm/highlevel/types/peers/chat-colors.js +2 -0
  700. package/esm/highlevel/types/peers/chat-colors.js.map +1 -1
  701. package/esm/highlevel/types/peers/chat-event/actions.js.map +1 -1
  702. package/esm/highlevel/types/peers/chat-event/filters.js.map +1 -1
  703. package/esm/highlevel/types/peers/chat-event/index.js +2 -0
  704. package/esm/highlevel/types/peers/chat-event/index.js.map +1 -1
  705. package/esm/highlevel/types/peers/chat-invite-link-member.js +2 -0
  706. package/esm/highlevel/types/peers/chat-invite-link-member.js.map +1 -1
  707. package/esm/highlevel/types/peers/chat-invite-link.js +2 -0
  708. package/esm/highlevel/types/peers/chat-invite-link.js.map +1 -1
  709. package/esm/highlevel/types/peers/chat-location.js +1 -0
  710. package/esm/highlevel/types/peers/chat-location.js.map +1 -1
  711. package/esm/highlevel/types/peers/chat-member.js +2 -0
  712. package/esm/highlevel/types/peers/chat-member.js.map +1 -1
  713. package/esm/highlevel/types/peers/chat-permissions.js +1 -0
  714. package/esm/highlevel/types/peers/chat-permissions.js.map +1 -1
  715. package/esm/highlevel/types/peers/chat-photo.js +5 -0
  716. package/esm/highlevel/types/peers/chat-photo.js.map +1 -1
  717. package/esm/highlevel/types/peers/chat-preview.js +2 -0
  718. package/esm/highlevel/types/peers/chat-preview.js.map +1 -1
  719. package/esm/highlevel/types/peers/chat.js +12 -1
  720. package/esm/highlevel/types/peers/chat.js.map +1 -1
  721. package/esm/highlevel/types/peers/forum-topic.js +9 -6
  722. package/esm/highlevel/types/peers/forum-topic.js.map +1 -1
  723. package/esm/highlevel/types/peers/peer.js.map +1 -1
  724. package/esm/highlevel/types/peers/peers-index.js +3 -1
  725. package/esm/highlevel/types/peers/peers-index.js.map +1 -1
  726. package/esm/highlevel/types/peers/user.js +5 -1
  727. package/esm/highlevel/types/peers/user.js.map +1 -1
  728. package/esm/highlevel/types/premium/boost-slot.js +2 -0
  729. package/esm/highlevel/types/premium/boost-slot.js.map +1 -1
  730. package/esm/highlevel/types/premium/boost-stats.js +1 -0
  731. package/esm/highlevel/types/premium/boost-stats.js.map +1 -1
  732. package/esm/highlevel/types/premium/boost.js +2 -0
  733. package/esm/highlevel/types/premium/boost.js.map +1 -1
  734. package/esm/highlevel/types/reactions/emoji-status.js +1 -0
  735. package/esm/highlevel/types/reactions/emoji-status.js.map +1 -1
  736. package/esm/highlevel/types/reactions/peer-reaction.js +2 -0
  737. package/esm/highlevel/types/reactions/peer-reaction.js.map +1 -1
  738. package/esm/highlevel/types/reactions/reaction-count.js +1 -0
  739. package/esm/highlevel/types/reactions/reaction-count.js.map +1 -1
  740. package/esm/highlevel/types/reactions/types.js.map +1 -1
  741. package/esm/highlevel/types/stories/all-stories.d.ts +2 -2
  742. package/esm/highlevel/types/stories/all-stories.js +3 -1
  743. package/esm/highlevel/types/stories/all-stories.js.map +1 -1
  744. package/esm/highlevel/types/stories/interactive/base.js +1 -0
  745. package/esm/highlevel/types/stories/interactive/base.js.map +1 -1
  746. package/esm/highlevel/types/stories/interactive/channel-post.js +3 -1
  747. package/esm/highlevel/types/stories/interactive/channel-post.js.map +1 -1
  748. package/esm/highlevel/types/stories/interactive/index.js.map +1 -1
  749. package/esm/highlevel/types/stories/interactive/input.js +1 -0
  750. package/esm/highlevel/types/stories/interactive/input.js.map +1 -1
  751. package/esm/highlevel/types/stories/interactive/location.js +2 -1
  752. package/esm/highlevel/types/stories/interactive/location.js.map +1 -1
  753. package/esm/highlevel/types/stories/interactive/reaction.js +2 -1
  754. package/esm/highlevel/types/stories/interactive/reaction.js.map +1 -1
  755. package/esm/highlevel/types/stories/interactive/venue.js +2 -1
  756. package/esm/highlevel/types/stories/interactive/venue.js.map +1 -1
  757. package/esm/highlevel/types/stories/peer-stories.js +2 -0
  758. package/esm/highlevel/types/stories/peer-stories.js.map +1 -1
  759. package/esm/highlevel/types/stories/stealth-mode.js +1 -0
  760. package/esm/highlevel/types/stories/stealth-mode.js.map +1 -1
  761. package/esm/highlevel/types/stories/story-interactions.js +2 -0
  762. package/esm/highlevel/types/stories/story-interactions.js.map +1 -1
  763. package/esm/highlevel/types/stories/story-viewer.d.ts +1 -1
  764. package/esm/highlevel/types/stories/story-viewer.js +6 -0
  765. package/esm/highlevel/types/stories/story-viewer.js.map +1 -1
  766. package/esm/highlevel/types/stories/story.js +2 -0
  767. package/esm/highlevel/types/stories/story.js.map +1 -1
  768. package/esm/highlevel/types/updates/bot-chat-join-request.js +2 -0
  769. package/esm/highlevel/types/updates/bot-chat-join-request.js.map +1 -1
  770. package/esm/highlevel/types/updates/bot-reaction.js +4 -0
  771. package/esm/highlevel/types/updates/bot-reaction.js.map +1 -1
  772. package/esm/highlevel/types/updates/bot-stopped.js +2 -0
  773. package/esm/highlevel/types/updates/bot-stopped.js.map +1 -1
  774. package/esm/highlevel/types/updates/callback-query.js +4 -0
  775. package/esm/highlevel/types/updates/callback-query.js.map +1 -1
  776. package/esm/highlevel/types/updates/chat-join-request.js +2 -0
  777. package/esm/highlevel/types/updates/chat-join-request.js.map +1 -1
  778. package/esm/highlevel/types/updates/chat-member-update.js +2 -0
  779. package/esm/highlevel/types/updates/chat-member-update.js.map +1 -1
  780. package/esm/highlevel/types/updates/chosen-inline-result.js +2 -0
  781. package/esm/highlevel/types/updates/chosen-inline-result.js.map +1 -1
  782. package/esm/highlevel/types/updates/delete-message-update.js +1 -0
  783. package/esm/highlevel/types/updates/delete-message-update.js.map +1 -1
  784. package/esm/highlevel/types/updates/delete-story-update.js +2 -0
  785. package/esm/highlevel/types/updates/delete-story-update.js.map +1 -1
  786. package/esm/highlevel/types/updates/history-read-update.js +1 -0
  787. package/esm/highlevel/types/updates/history-read-update.js.map +1 -1
  788. package/esm/highlevel/types/updates/inline-query.js +2 -0
  789. package/esm/highlevel/types/updates/inline-query.js.map +1 -1
  790. package/esm/highlevel/types/updates/parse-update.js.map +1 -1
  791. package/esm/highlevel/types/updates/poll-update.js +2 -0
  792. package/esm/highlevel/types/updates/poll-update.js.map +1 -1
  793. package/esm/highlevel/types/updates/poll-vote.js +2 -0
  794. package/esm/highlevel/types/updates/poll-vote.js.map +1 -1
  795. package/esm/highlevel/types/updates/pre-checkout-query.js +2 -0
  796. package/esm/highlevel/types/updates/pre-checkout-query.js.map +1 -1
  797. package/esm/highlevel/types/updates/story-update.js +2 -0
  798. package/esm/highlevel/types/updates/story-update.js.map +1 -1
  799. package/esm/highlevel/types/updates/user-status-update.js +1 -0
  800. package/esm/highlevel/types/updates/user-status-update.js.map +1 -1
  801. package/esm/highlevel/types/updates/user-typing-update.js +1 -0
  802. package/esm/highlevel/types/updates/user-typing-update.js.map +1 -1
  803. package/esm/highlevel/updates/manager.js +50 -28
  804. package/esm/highlevel/updates/manager.js.map +1 -1
  805. package/esm/highlevel/updates/parsed.js.map +1 -1
  806. package/esm/highlevel/updates/utils.js.map +1 -1
  807. package/esm/highlevel/utils/convert-file-id.js.map +1 -1
  808. package/esm/highlevel/utils/entities.js.map +1 -1
  809. package/esm/highlevel/utils/file-type.d.ts +1 -0
  810. package/esm/highlevel/utils/file-type.js +34 -0
  811. package/esm/highlevel/utils/file-type.js.map +1 -1
  812. package/esm/highlevel/utils/file-utils.js +1 -1
  813. package/esm/highlevel/utils/file-utils.js.map +1 -1
  814. package/esm/highlevel/utils/inline-utils.js.map +1 -1
  815. package/esm/highlevel/utils/inspectable.js.map +1 -1
  816. package/esm/highlevel/utils/memoize.js.map +1 -1
  817. package/esm/highlevel/utils/peer-utils.js.map +1 -1
  818. package/esm/highlevel/utils/query-batcher.js.map +1 -1
  819. package/esm/highlevel/utils/rps-meter.js +3 -0
  820. package/esm/highlevel/utils/rps-meter.js.map +1 -1
  821. package/esm/highlevel/utils/stream-utils.js.map +1 -1
  822. package/esm/highlevel/utils/string-session.d.ts +1 -2
  823. package/esm/highlevel/utils/string-session.js +27 -7
  824. package/esm/highlevel/utils/string-session.js.map +1 -1
  825. package/esm/highlevel/utils/voice-utils.js.map +1 -1
  826. package/esm/highlevel/worker/app-config.d.ts +2 -3
  827. package/esm/highlevel/worker/app-config.js +6 -3
  828. package/esm/highlevel/worker/app-config.js.map +1 -1
  829. package/esm/highlevel/worker/errors.js.map +1 -1
  830. package/esm/highlevel/worker/invoker.js +3 -2
  831. package/esm/highlevel/worker/invoker.js.map +1 -1
  832. package/esm/highlevel/worker/port.d.ts +16 -17
  833. package/esm/highlevel/worker/port.js +74 -49
  834. package/esm/highlevel/worker/port.js.map +1 -1
  835. package/esm/highlevel/worker/protocol.d.ts +1 -1
  836. package/esm/highlevel/worker/protocol.js.map +1 -1
  837. package/esm/highlevel/worker/storage.d.ts +9 -13
  838. package/esm/highlevel/worker/storage.js +34 -19
  839. package/esm/highlevel/worker/storage.js.map +1 -1
  840. package/esm/highlevel/worker/worker.js +3 -0
  841. package/esm/highlevel/worker/worker.js.map +1 -1
  842. package/esm/network/auth-key.js +8 -1
  843. package/esm/network/auth-key.js.map +1 -1
  844. package/esm/network/authorization.js.map +1 -1
  845. package/esm/network/client.js +39 -14
  846. package/esm/network/client.js.map +1 -1
  847. package/esm/network/config-manager.js.map +1 -1
  848. package/esm/network/mtproto-session.js +40 -30
  849. package/esm/network/mtproto-session.js.map +1 -1
  850. package/esm/network/multi-session-connection.d.ts +1 -1
  851. package/esm/network/multi-session-connection.js +13 -7
  852. package/esm/network/multi-session-connection.js.map +1 -1
  853. package/esm/network/network-manager.d.ts +2 -3
  854. package/esm/network/network-manager.js +49 -28
  855. package/esm/network/network-manager.js.map +1 -1
  856. package/esm/network/persistent-connection.d.ts +2 -2
  857. package/esm/network/persistent-connection.js +33 -22
  858. package/esm/network/persistent-connection.js.map +1 -1
  859. package/esm/network/server-salt.js +4 -5
  860. package/esm/network/server-salt.js.map +1 -1
  861. package/esm/network/session-connection.d.ts +1 -1
  862. package/esm/network/session-connection.js +22 -12
  863. package/esm/network/session-connection.js.map +1 -1
  864. package/esm/network/transports/abstract.d.ts +1 -1
  865. package/esm/network/transports/abstract.js +1 -0
  866. package/esm/network/transports/abstract.js.map +1 -1
  867. package/esm/network/transports/intermediate.js +1 -0
  868. package/esm/network/transports/intermediate.js.map +1 -1
  869. package/esm/network/transports/obfuscated.js +3 -0
  870. package/esm/network/transports/obfuscated.js.map +1 -1
  871. package/esm/network/transports/streamed.js +1 -4
  872. package/esm/network/transports/streamed.js.map +1 -1
  873. package/esm/network/transports/wrapped.js +2 -0
  874. package/esm/network/transports/wrapped.js.map +1 -1
  875. package/esm/platform.js.map +1 -1
  876. package/esm/storage/driver.js +3 -4
  877. package/esm/storage/driver.js.map +1 -1
  878. package/esm/storage/memory/driver.js +1 -3
  879. package/esm/storage/memory/driver.js.map +1 -1
  880. package/esm/storage/memory/index.js +5 -7
  881. package/esm/storage/memory/index.js.map +1 -1
  882. package/esm/storage/memory/repository/auth-keys.d.ts +1 -1
  883. package/esm/storage/memory/repository/auth-keys.js +2 -0
  884. package/esm/storage/memory/repository/auth-keys.js.map +1 -1
  885. package/esm/storage/memory/repository/kv.d.ts +1 -1
  886. package/esm/storage/memory/repository/kv.js +2 -0
  887. package/esm/storage/memory/repository/kv.js.map +1 -1
  888. package/esm/storage/memory/repository/peers.d.ts +1 -1
  889. package/esm/storage/memory/repository/peers.js +2 -0
  890. package/esm/storage/memory/repository/peers.js.map +1 -1
  891. package/esm/storage/memory/repository/ref-messages.d.ts +1 -1
  892. package/esm/storage/memory/repository/ref-messages.js +2 -0
  893. package/esm/storage/memory/repository/ref-messages.js.map +1 -1
  894. package/esm/storage/service/auth-keys.js +2 -0
  895. package/esm/storage/service/auth-keys.js.map +1 -1
  896. package/esm/storage/service/base.js +4 -0
  897. package/esm/storage/service/base.js.map +1 -1
  898. package/esm/storage/service/default-dcs.js +2 -0
  899. package/esm/storage/service/default-dcs.js.map +1 -1
  900. package/esm/storage/service/future-salts.js +2 -1
  901. package/esm/storage/service/future-salts.js.map +1 -1
  902. package/esm/storage/sqlite/driver.js +10 -10
  903. package/esm/storage/sqlite/driver.js.map +1 -1
  904. package/esm/storage/sqlite/index.d.ts +1 -1
  905. package/esm/storage/sqlite/index.js +5 -0
  906. package/esm/storage/sqlite/index.js.map +1 -1
  907. package/esm/storage/sqlite/repository/auth-keys.js +9 -0
  908. package/esm/storage/sqlite/repository/auth-keys.js.map +1 -1
  909. package/esm/storage/sqlite/repository/kv.js +5 -0
  910. package/esm/storage/sqlite/repository/kv.js.map +1 -1
  911. package/esm/storage/sqlite/repository/peers.js +6 -0
  912. package/esm/storage/sqlite/repository/peers.js.map +1 -1
  913. package/esm/storage/sqlite/repository/ref-messages.d.ts +1 -1
  914. package/esm/storage/sqlite/repository/ref-messages.js +6 -0
  915. package/esm/storage/sqlite/repository/ref-messages.js.map +1 -1
  916. package/esm/storage/storage.d.ts +1 -3
  917. package/esm/storage/storage.js +21 -13
  918. package/esm/storage/storage.js.map +1 -1
  919. package/esm/types/errors.js +13 -0
  920. package/esm/types/errors.js.map +1 -1
  921. package/esm/utils/async-lock.js +1 -3
  922. package/esm/utils/async-lock.js.map +1 -1
  923. package/esm/utils/bigint-utils.js.map +1 -1
  924. package/esm/utils/binary/asn1-parser.js.map +1 -1
  925. package/esm/utils/buffer-utils.js.map +1 -1
  926. package/esm/utils/condition-variable.js +2 -0
  927. package/esm/utils/condition-variable.js.map +1 -1
  928. package/esm/utils/crypto/factorization.js.map +1 -1
  929. package/esm/utils/crypto/keys.js.map +1 -1
  930. package/esm/utils/crypto/miller-rabin.js.map +1 -1
  931. package/esm/utils/crypto/password.js.map +1 -1
  932. package/esm/utils/crypto/utils.js.map +1 -1
  933. package/esm/utils/dcs.js +1 -1
  934. package/esm/utils/dcs.js.map +1 -1
  935. package/esm/utils/deque.js +8 -2
  936. package/esm/utils/deque.js.map +1 -1
  937. package/esm/utils/early-timer.js +4 -1
  938. package/esm/utils/early-timer.js.map +1 -1
  939. package/esm/utils/error-reporting.js.map +1 -1
  940. package/esm/utils/function-utils.js.map +1 -1
  941. package/esm/utils/linked-list.js +4 -1
  942. package/esm/utils/linked-list.js.map +1 -1
  943. package/esm/utils/links/bots.js.map +1 -1
  944. package/esm/utils/links/chat.js.map +1 -1
  945. package/esm/utils/links/common.js.map +1 -1
  946. package/esm/utils/links/misc.js.map +1 -1
  947. package/esm/utils/logger.d.ts +2 -2
  948. package/esm/utils/logger.js +21 -14
  949. package/esm/utils/logger.js.map +1 -1
  950. package/esm/utils/long-utils.js +2 -6
  951. package/esm/utils/long-utils.js.map +1 -1
  952. package/esm/utils/lru-map.js +5 -1
  953. package/esm/utils/lru-map.js.map +1 -1
  954. package/esm/utils/lru-set.js +4 -0
  955. package/esm/utils/lru-set.js.map +1 -1
  956. package/esm/utils/peer-utils.js.map +1 -1
  957. package/esm/utils/reloadable.js +10 -7
  958. package/esm/utils/reloadable.js.map +1 -1
  959. package/esm/utils/sorted-array.js +2 -0
  960. package/esm/utils/sorted-array.js.map +1 -1
  961. package/esm/utils/tl-json.js.map +1 -1
  962. package/esm/utils/type-assertions.js.map +1 -1
  963. package/package.json +11 -11
@@ -1 +1 @@
1
- {"version":3,"file":"send-text.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/send-text.ts"],"names":[],"mappings":"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","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MtTypeAssertionError } from '../../../types/errors.js'\nimport { randomLong } from '../../../utils/long-utils.js'\nimport { getMarkedPeerId } from '../../../utils/peer-utils.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { BotKeyboard, ReplyMarkup } from '../../types/bots/keyboards/index.js'\nimport { Message } from '../../types/messages/message.js'\nimport { InputText } from '../../types/misc/entities.js'\nimport { InputPeerLike, PeersIndex } from '../../types/peers/index.js'\nimport { createDummyUpdate } from '../../updates/utils.js'\nimport { inputPeerToPeer } from '../../utils/peer-utils.js'\nimport { _getRawPeerBatched } from '../chats/batched-queries.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 text message\n *\n * @param chatId ID of the chat, its username, phone or `\"me\"` or `\"self\"`\n * @param text Text of the message\n * @param params Additional sending parameters\n */\nexport async function sendText(\n client: ITelegramClient,\n chatId: InputPeerLike,\n text: InputText,\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 disable links preview in this message\n */\n disableWebPreview?: boolean\n\n /**\n * Whether to invert media position.\n *\n * Currently only supported for web previews and makes the\n * client render the preview above the caption and not below.\n */\n invertMedia?: boolean\n },\n): Promise<Message> {\n if (!params) params = {}\n\n const [message, entities] = await _normalizeInputText(client, text)\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.sendMessage',\n peer,\n noWebpage: params.disableWebPreview,\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.invertMedia,\n },\n { chainId },\n )\n\n if (res._ === 'updateShortSentMessage') {\n // todo extract this to updates manager?\n const msg: tl.RawMessage = {\n _: 'message',\n id: res.id,\n peerId: inputPeerToPeer(peer),\n fromId: { _: 'peerUser', userId: client.storage.self.getCached()!.userId },\n message,\n date: res.date,\n out: res.out,\n replyMarkup,\n entities: res.entities,\n }\n\n // is this needed?\n // this._date = res.date\n client.handleClientUpdate(createDummyUpdate(res.pts, res.ptsCount))\n\n const peers = new PeersIndex()\n\n const fetchPeer = async (peer: tl.TypePeer | tl.TypeInputPeer): Promise<void> => {\n const id = getMarkedPeerId(peer)\n\n let cached = await client.storage.peers.getCompleteById(id)\n\n if (!cached) {\n cached = await _getRawPeerBatched(client, await resolvePeer(client, peer))\n }\n\n if (!cached) {\n throw new MtTypeAssertionError('sendText (@ getFullPeerById)', 'user | chat', 'null')\n }\n\n switch (cached._) {\n case 'user':\n peers.users.set(cached.id, cached)\n break\n case 'chat':\n case 'chatForbidden':\n case 'channel':\n case 'channelForbidden':\n peers.chats.set(cached.id, cached)\n break\n default:\n throw new MtTypeAssertionError(\n 'sendText (@ users.getUsers)',\n 'user | chat | channel', // not very accurate, but good enough\n cached._,\n )\n }\n }\n\n await Promise.all([fetchPeer(peer), fetchPeer(msg.fromId!)])\n\n const ret = new Message(msg, peers)\n\n return ret\n }\n\n const msg = _findMessageInUpdate(client, res, false, !params.shouldDispatch, false, randomId)\n\n return msg\n}\n"]}
1
+ {"version":3,"file":"send-text.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/send-text.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAE9D,OAAO,EAAE,WAAW,EAAe,MAAM,qCAAqC,CAAA;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAA;AAEzD,OAAO,EAAiB,UAAU,EAAE,MAAM,4BAA4B,CAAA;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAE1D,OAAO,EAAE,4BAA4B,EAAoB,MAAM,kBAAkB,CAAA;AAEjF;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC1B,MAAuB,EACvB,MAAqB,EACrB,IAAe,EACf,MAmBC;IAED,IAAI,CAAC,MAAM;QAAE,MAAM,GAAG,EAAE,CAAA;IAExB,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAEnE,MAAM,WAAW,GAAG,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;IAChE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,MAAM,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IAE3G,MAAM,QAAQ,GAAG,UAAU,EAAE,CAAA;IAC7B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CACzB;QACI,CAAC,EAAE,sBAAsB;QACzB,IAAI;QACJ,SAAS,EAAE,MAAM,CAAC,iBAAiB;QACnC,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,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;QAC5E,WAAW,EAAE,MAAM,CAAC,WAAW;KAClC,EACD,EAAE,OAAO,EAAE,CACd,CAAA;IAED,IAAI,GAAG,CAAC,CAAC,KAAK,wBAAwB,EAAE,CAAC;QACrC,wCAAwC;QACxC,MAAM,GAAG,GAAkB;YACvB,CAAC,EAAE,SAAS;YACZ,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC;YAC7B,MAAM,EAAE,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAG,CAAC,MAAM,EAAE;YAC1E,OAAO;YACP,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,GAAG,EAAE,GAAG,CAAC,GAAG;YACZ,WAAW;YACX,QAAQ,EAAE,GAAG,CAAC,QAAQ;SACzB,CAAA;QAED,kBAAkB;QAClB,wBAAwB;QACxB,MAAM,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAA;QAEnE,MAAM,KAAK,GAAG,IAAI,UAAU,EAAE,CAAA;QAE9B,MAAM,SAAS,GAAG,KAAK,EAAE,IAAoC,EAAiB,EAAE;YAC5E,MAAM,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;YAEhC,IAAI,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC,CAAA;YAE3D,IAAI,CAAC,MAAM,EAAE,CAAC;gBACV,MAAM,GAAG,MAAM,kBAAkB,CAAC,MAAM,EAAE,MAAM,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAA;YAC9E,CAAC;YAED,IAAI,CAAC,MAAM,EAAE,CAAC;gBACV,MAAM,IAAI,oBAAoB,CAAC,8BAA8B,EAAE,aAAa,EAAE,MAAM,CAAC,CAAA;YACzF,CAAC;YAED,QAAQ,MAAM,CAAC,CAAC,EAAE,CAAC;gBACf,KAAK,MAAM;oBACP,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;oBAClC,MAAK;gBACT,KAAK,MAAM,CAAC;gBACZ,KAAK,eAAe,CAAC;gBACrB,KAAK,SAAS,CAAC;gBACf,KAAK,kBAAkB;oBACnB,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;oBAClC,MAAK;gBACT;oBACI,MAAM,IAAI,oBAAoB,CAC1B,6BAA6B,EAC7B,uBAAuB,EAAE,qCAAqC;oBAC9D,MAAM,CAAC,CAAC,CACX,CAAA;YACT,CAAC;QACL,CAAC,CAAA;QAED,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,MAAO,CAAC,CAAC,CAAC,CAAA;QAE5D,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QAEnC,OAAO,GAAG,CAAA;IACd,CAAC;IAED,MAAM,GAAG,GAAG,oBAAoB,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;IAE7F,OAAO,GAAG,CAAA;AACd,CAAC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MtTypeAssertionError } from '../../../types/errors.js'\nimport { randomLong } from '../../../utils/long-utils.js'\nimport { getMarkedPeerId } from '../../../utils/peer-utils.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { BotKeyboard, ReplyMarkup } from '../../types/bots/keyboards/index.js'\nimport { Message } from '../../types/messages/message.js'\nimport { InputText } from '../../types/misc/entities.js'\nimport { InputPeerLike, PeersIndex } from '../../types/peers/index.js'\nimport { createDummyUpdate } from '../../updates/utils.js'\nimport { inputPeerToPeer } from '../../utils/peer-utils.js'\nimport { _getRawPeerBatched } from '../chats/batched-queries.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 text message\n *\n * @param chatId ID of the chat, its username, phone or `\"me\"` or `\"self\"`\n * @param text Text of the message\n * @param params Additional sending parameters\n */\nexport async function sendText(\n client: ITelegramClient,\n chatId: InputPeerLike,\n text: InputText,\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 disable links preview in this message\n */\n disableWebPreview?: boolean\n\n /**\n * Whether to invert media position.\n *\n * Currently only supported for web previews and makes the\n * client render the preview above the caption and not below.\n */\n invertMedia?: boolean\n },\n): Promise<Message> {\n if (!params) params = {}\n\n const [message, entities] = await _normalizeInputText(client, text)\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.sendMessage',\n peer,\n noWebpage: params.disableWebPreview,\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.invertMedia,\n },\n { chainId },\n )\n\n if (res._ === 'updateShortSentMessage') {\n // todo extract this to updates manager?\n const msg: tl.RawMessage = {\n _: 'message',\n id: res.id,\n peerId: inputPeerToPeer(peer),\n fromId: { _: 'peerUser', userId: client.storage.self.getCached()!.userId },\n message,\n date: res.date,\n out: res.out,\n replyMarkup,\n entities: res.entities,\n }\n\n // is this needed?\n // this._date = res.date\n client.handleClientUpdate(createDummyUpdate(res.pts, res.ptsCount))\n\n const peers = new PeersIndex()\n\n const fetchPeer = async (peer: tl.TypePeer | tl.TypeInputPeer): Promise<void> => {\n const id = getMarkedPeerId(peer)\n\n let cached = await client.storage.peers.getCompleteById(id)\n\n if (!cached) {\n cached = await _getRawPeerBatched(client, await resolvePeer(client, peer))\n }\n\n if (!cached) {\n throw new MtTypeAssertionError('sendText (@ getFullPeerById)', 'user | chat', 'null')\n }\n\n switch (cached._) {\n case 'user':\n peers.users.set(cached.id, cached)\n break\n case 'chat':\n case 'chatForbidden':\n case 'channel':\n case 'channelForbidden':\n peers.chats.set(cached.id, cached)\n break\n default:\n throw new MtTypeAssertionError(\n 'sendText (@ users.getUsers)',\n 'user | chat | channel', // not very accurate, but good enough\n cached._,\n )\n }\n }\n\n await Promise.all([fetchPeer(peer), fetchPeer(msg.fromId!)])\n\n const ret = new Message(msg, peers)\n\n return ret\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-typing.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/send-typing.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AAG9D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAEtD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC5B,MAAuB,EACvB,MAAqB,EACrB,SAA+F,QAAQ,EACvG,MAUC;IAED,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QAC5B,MAAM,QAAQ,GAAG,MAAM,EAAE,QAAQ,IAAI,CAAC,CAAA;QAEtC,QAAQ,MAAM,EAAE;YACZ,KAAK,QAAQ;gBACT,MAAM,GAAG,EAAE,CAAC,EAAE,yBAAyB,EAAE,CAAA;gBACzC,MAAK;YACT,KAAK,QAAQ;gBACT,MAAM,GAAG,EAAE,CAAC,EAAE,yBAAyB,EAAE,CAAA;gBACzC,MAAK;YACT,KAAK,cAAc;gBACf,MAAM,GAAG,EAAE,CAAC,EAAE,8BAA8B,EAAE,CAAA;gBAC9C,MAAK;YACT,KAAK,cAAc;gBACf,MAAM,GAAG,EAAE,CAAC,EAAE,8BAA8B,EAAE,QAAQ,EAAE,CAAA;gBACxD,MAAK;YACT,KAAK,cAAc;gBACf,MAAM,GAAG,EAAE,CAAC,EAAE,8BAA8B,EAAE,CAAA;gBAC9C,MAAK;YACT,KAAK,cAAc;gBACf,MAAM,GAAG,EAAE,CAAC,EAAE,8BAA8B,EAAE,QAAQ,EAAE,CAAA;gBACxD,MAAK;YACT,KAAK,cAAc;gBACf,MAAM,GAAG,EAAE,CAAC,EAAE,8BAA8B,EAAE,QAAQ,EAAE,CAAA;gBACxD,MAAK;YACT,KAAK,iBAAiB;gBAClB,MAAM,GAAG,EAAE,CAAC,EAAE,iCAAiC,EAAE,QAAQ,EAAE,CAAA;gBAC3D,MAAK;YACT,KAAK,KAAK;gBACN,MAAM,GAAG,EAAE,CAAC,EAAE,8BAA8B,EAAE,CAAA;gBAC9C,MAAK;YACT,KAAK,SAAS;gBACV,MAAM,GAAG,EAAE,CAAC,EAAE,gCAAgC,EAAE,CAAA;gBAChD,MAAK;YACT,KAAK,MAAM;gBACP,MAAM,GAAG,EAAE,CAAC,EAAE,2BAA2B,EAAE,CAAA;gBAC3C,MAAK;YACT,KAAK,cAAc;gBACf,MAAM,GAAG,EAAE,CAAC,EAAE,8BAA8B,EAAE,CAAA;gBAC9C,MAAK;YACT,KAAK,cAAc;gBACf,MAAM,GAAG,EAAE,CAAC,EAAE,8BAA8B,EAAE,QAAQ,EAAE,CAAA;gBACxD,MAAK;YACT,KAAK,YAAY;gBACb,MAAM,GAAG,EAAE,CAAC,EAAE,2BAA2B,EAAE,CAAA;gBAC3C,MAAK;YACT,KAAK,gBAAgB;gBACjB,MAAM,GAAG,EAAE,CAAC,EAAE,gCAAgC,EAAE,QAAQ,EAAE,CAAA;gBAC1D,MAAK;YACT,KAAK,SAAS;gBACV,MAAM,GAAG,EAAE,CAAC,EAAE,gCAAgC,EAAE,CAAA;gBAChD,MAAK;YACT;gBACI,WAAW,CAAC,MAAM,CAAC,CAAA;SAC1B;KACJ;IAED,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QACxB,CAAC,EAAE,oBAAoB;QACvB,IAAI,EAAE,MAAM,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC;QACvC,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,MAAM,EAAE,QAAQ;KAC7B,CAAC,CAAA;IAEF,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAA;AACvC,CAAC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { assertNever } from '../../../types/utils.js'\nimport { assertTrue } from '../../../utils/type-assertions.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputPeerLike, TypingStatus } from '../../types/index.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\n\n/**\n * Sends a current user/bot typing event\n * to a conversation partner or group.\n *\n * This status is set for 6 seconds, and is\n * automatically cancelled if you send a\n * message.\n *\n * @param chatId Chat ID\n * @param status Typing status\n * @param params\n */\nexport async function sendTyping(\n client: ITelegramClient,\n chatId: InputPeerLike,\n status: Exclude<TypingStatus, 'interaction' | 'interaction_seen'> | tl.TypeSendMessageAction = 'typing',\n params?: {\n /**\n * For `upload_*` and history import actions, progress of the upload\n */\n progress?: number\n\n /**\n * For comment threads, ID of the thread (i.e. top message)\n */\n threadId?: number\n },\n): Promise<void> {\n if (typeof status === 'string') {\n const progress = params?.progress ?? 0\n\n switch (status) {\n case 'typing':\n status = { _: 'sendMessageTypingAction' }\n break\n case 'cancel':\n status = { _: 'sendMessageCancelAction' }\n break\n case 'record_video':\n status = { _: 'sendMessageRecordVideoAction' }\n break\n case 'upload_video':\n status = { _: 'sendMessageUploadVideoAction', progress }\n break\n case 'record_voice':\n status = { _: 'sendMessageRecordAudioAction' }\n break\n case 'upload_voice':\n status = { _: 'sendMessageUploadAudioAction', progress }\n break\n case 'upload_photo':\n status = { _: 'sendMessageUploadPhotoAction', progress }\n break\n case 'upload_document':\n status = { _: 'sendMessageUploadDocumentAction', progress }\n break\n case 'geo':\n status = { _: 'sendMessageGeoLocationAction' }\n break\n case 'contact':\n status = { _: 'sendMessageChooseContactAction' }\n break\n case 'game':\n status = { _: 'sendMessageGamePlayAction' }\n break\n case 'record_round':\n status = { _: 'sendMessageRecordRoundAction' }\n break\n case 'upload_round':\n status = { _: 'sendMessageUploadRoundAction', progress }\n break\n case 'speak_call':\n status = { _: 'speakingInGroupCallAction' }\n break\n case 'history_import':\n status = { _: 'sendMessageHistoryImportAction', progress }\n break\n case 'sticker':\n status = { _: 'sendMessageChooseStickerAction' }\n break\n default:\n assertNever(status)\n }\n }\n\n const r = await client.call({\n _: 'messages.setTyping',\n peer: await resolvePeer(client, chatId),\n action: status,\n topMsgId: params?.threadId,\n })\n\n assertTrue('messages.setTyping', r)\n}\n"]}
1
+ {"version":3,"file":"send-typing.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/send-typing.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AAG9D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAEtD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC5B,MAAuB,EACvB,MAAqB,EACrB,SAA+F,QAAQ,EACvG,MAUC;IAED,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,MAAM,EAAE,QAAQ,IAAI,CAAC,CAAA;QAEtC,QAAQ,MAAM,EAAE,CAAC;YACb,KAAK,QAAQ;gBACT,MAAM,GAAG,EAAE,CAAC,EAAE,yBAAyB,EAAE,CAAA;gBACzC,MAAK;YACT,KAAK,QAAQ;gBACT,MAAM,GAAG,EAAE,CAAC,EAAE,yBAAyB,EAAE,CAAA;gBACzC,MAAK;YACT,KAAK,cAAc;gBACf,MAAM,GAAG,EAAE,CAAC,EAAE,8BAA8B,EAAE,CAAA;gBAC9C,MAAK;YACT,KAAK,cAAc;gBACf,MAAM,GAAG,EAAE,CAAC,EAAE,8BAA8B,EAAE,QAAQ,EAAE,CAAA;gBACxD,MAAK;YACT,KAAK,cAAc;gBACf,MAAM,GAAG,EAAE,CAAC,EAAE,8BAA8B,EAAE,CAAA;gBAC9C,MAAK;YACT,KAAK,cAAc;gBACf,MAAM,GAAG,EAAE,CAAC,EAAE,8BAA8B,EAAE,QAAQ,EAAE,CAAA;gBACxD,MAAK;YACT,KAAK,cAAc;gBACf,MAAM,GAAG,EAAE,CAAC,EAAE,8BAA8B,EAAE,QAAQ,EAAE,CAAA;gBACxD,MAAK;YACT,KAAK,iBAAiB;gBAClB,MAAM,GAAG,EAAE,CAAC,EAAE,iCAAiC,EAAE,QAAQ,EAAE,CAAA;gBAC3D,MAAK;YACT,KAAK,KAAK;gBACN,MAAM,GAAG,EAAE,CAAC,EAAE,8BAA8B,EAAE,CAAA;gBAC9C,MAAK;YACT,KAAK,SAAS;gBACV,MAAM,GAAG,EAAE,CAAC,EAAE,gCAAgC,EAAE,CAAA;gBAChD,MAAK;YACT,KAAK,MAAM;gBACP,MAAM,GAAG,EAAE,CAAC,EAAE,2BAA2B,EAAE,CAAA;gBAC3C,MAAK;YACT,KAAK,cAAc;gBACf,MAAM,GAAG,EAAE,CAAC,EAAE,8BAA8B,EAAE,CAAA;gBAC9C,MAAK;YACT,KAAK,cAAc;gBACf,MAAM,GAAG,EAAE,CAAC,EAAE,8BAA8B,EAAE,QAAQ,EAAE,CAAA;gBACxD,MAAK;YACT,KAAK,YAAY;gBACb,MAAM,GAAG,EAAE,CAAC,EAAE,2BAA2B,EAAE,CAAA;gBAC3C,MAAK;YACT,KAAK,gBAAgB;gBACjB,MAAM,GAAG,EAAE,CAAC,EAAE,gCAAgC,EAAE,QAAQ,EAAE,CAAA;gBAC1D,MAAK;YACT,KAAK,SAAS;gBACV,MAAM,GAAG,EAAE,CAAC,EAAE,gCAAgC,EAAE,CAAA;gBAChD,MAAK;YACT;gBACI,WAAW,CAAC,MAAM,CAAC,CAAA;QAC3B,CAAC;IACL,CAAC;IAED,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QACxB,CAAC,EAAE,oBAAoB;QACvB,IAAI,EAAE,MAAM,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC;QACvC,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,MAAM,EAAE,QAAQ;KAC7B,CAAC,CAAA;IAEF,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAA;AACvC,CAAC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { assertNever } from '../../../types/utils.js'\nimport { assertTrue } from '../../../utils/type-assertions.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputPeerLike, TypingStatus } from '../../types/index.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\n\n/**\n * Sends a current user/bot typing event\n * to a conversation partner or group.\n *\n * This status is set for 6 seconds, and is\n * automatically cancelled if you send a\n * message.\n *\n * @param chatId Chat ID\n * @param status Typing status\n * @param params\n */\nexport async function sendTyping(\n client: ITelegramClient,\n chatId: InputPeerLike,\n status: Exclude<TypingStatus, 'interaction' | 'interaction_seen'> | tl.TypeSendMessageAction = 'typing',\n params?: {\n /**\n * For `upload_*` and history import actions, progress of the upload\n */\n progress?: number\n\n /**\n * For comment threads, ID of the thread (i.e. top message)\n */\n threadId?: number\n },\n): Promise<void> {\n if (typeof status === 'string') {\n const progress = params?.progress ?? 0\n\n switch (status) {\n case 'typing':\n status = { _: 'sendMessageTypingAction' }\n break\n case 'cancel':\n status = { _: 'sendMessageCancelAction' }\n break\n case 'record_video':\n status = { _: 'sendMessageRecordVideoAction' }\n break\n case 'upload_video':\n status = { _: 'sendMessageUploadVideoAction', progress }\n break\n case 'record_voice':\n status = { _: 'sendMessageRecordAudioAction' }\n break\n case 'upload_voice':\n status = { _: 'sendMessageUploadAudioAction', progress }\n break\n case 'upload_photo':\n status = { _: 'sendMessageUploadPhotoAction', progress }\n break\n case 'upload_document':\n status = { _: 'sendMessageUploadDocumentAction', progress }\n break\n case 'geo':\n status = { _: 'sendMessageGeoLocationAction' }\n break\n case 'contact':\n status = { _: 'sendMessageChooseContactAction' }\n break\n case 'game':\n status = { _: 'sendMessageGamePlayAction' }\n break\n case 'record_round':\n status = { _: 'sendMessageRecordRoundAction' }\n break\n case 'upload_round':\n status = { _: 'sendMessageUploadRoundAction', progress }\n break\n case 'speak_call':\n status = { _: 'speakingInGroupCallAction' }\n break\n case 'history_import':\n status = { _: 'sendMessageHistoryImportAction', progress }\n break\n case 'sticker':\n status = { _: 'sendMessageChooseStickerAction' }\n break\n default:\n assertNever(status)\n }\n }\n\n const r = await client.call({\n _: 'messages.setTyping',\n peer: await resolvePeer(client, chatId),\n action: status,\n topMsgId: params?.threadId,\n })\n\n assertTrue('messages.setTyping', r)\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"send-vote.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/send-vote.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAEhF,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AAEhE,OAAO,EAAkB,sBAAsB,EAAE,uBAAuB,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AACxH,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC1B,MAAuB,EACvB,MAQC;IAED,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAA;IAC3D,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,CAAA;IAExB,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,GAAG,EAAE,CAAA;IAClC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,GAAG,CAAC,OAAO,CAAC,CAAA;IAEhD,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE9C,IAAI,IAAI,GAAqB,SAAS,CAAA;IAEtC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,KAAK,QAAQ,CAAC,EAAE;QAC9C,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;QAEtD,IAAI,CAAC,GAAG,EAAE;YACN,MAAM,IAAI,sBAAsB,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,CAAA;SACjF;QAED,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,YAAY,IAAI,CAAC,EAAE;YAC9B,MAAM,IAAI,eAAe,CAAC,sCAAsC,CAAC,CAAA;SACpE;QAED,IAAI,GAAG,GAAG,CAAC,KAAK,CAAA;QAChB,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAC1B,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;gBACzB,OAAO,IAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAA;aACvC;YAED,OAAO,GAAG,CAAA;QACd,CAAC,CAAC,CAAA;KACL;IAED,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC1B,CAAC,EAAE,mBAAmB;QACtB,IAAI;QACJ,KAAK,EAAE,OAAO;QACd,OAAO,EAAE,OAAuB;KACnC,CAAC,CAAA;IAEF,oBAAoB,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAA;IAE9C,MAAM,CAAC,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IAEpC,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IAC1B,YAAY,CAAC,mCAAmC,EAAE,GAAG,EAAE,mBAAmB,CAAC,CAAA;IAE3E,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;QACX,MAAM,IAAI,oBAAoB,CAAC,wCAAwC,EAAE,MAAM,EAAE,WAAW,CAAC,CAAA;KAChG;IAED,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAElC,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;AACjD,CAAC","sourcesContent":["import { MtArgumentError, MtTypeAssertionError } from '../../../types/errors.js'\nimport { MaybeArray } from '../../../types/utils.js'\nimport { getMarkedPeerId } from '../../../utils/peer-utils.js'\nimport { assertTypeIs } from '../../../utils/type-assertions.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputMessageId, MtMessageNotFoundError, normalizeInputMessageId, PeersIndex, Poll } from '../../types/index.js'\nimport { assertIsUpdatesGroup } from '../../updates/utils.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\nimport { getMessages } from './get-messages.js'\n\n/**\n * Send or retract a vote in a poll.\n */\nexport async function sendVote(\n client: ITelegramClient,\n params: InputMessageId & {\n /**\n * Selected options, or `null` to retract.\n * You can pass indexes of the answers or the `Buffer`s\n * representing them. In case of indexes, the poll will first\n * be requested from the server.\n */\n options: null | MaybeArray<number | Uint8Array>\n },\n): Promise<Poll> {\n const { chatId, message } = normalizeInputMessageId(params)\n let { options } = params\n\n if (options === null) options = []\n if (!Array.isArray(options)) options = [options]\n\n const peer = await resolvePeer(client, chatId)\n\n let poll: Poll | undefined = undefined\n\n if (options.some((it) => typeof it === 'number')) {\n const [msg] = await getMessages(client, peer, message)\n\n if (!msg) {\n throw new MtMessageNotFoundError(getMarkedPeerId(peer), message, 'to vote in')\n }\n\n if (!(msg.media instanceof Poll)) {\n throw new MtArgumentError('This message does not contain a poll')\n }\n\n poll = msg.media\n options = options.map((opt) => {\n if (typeof opt === 'number') {\n return poll!.raw.answers[opt].option\n }\n\n return opt\n })\n }\n\n const res = await client.call({\n _: 'messages.sendVote',\n peer,\n msgId: message,\n options: options as Uint8Array[],\n })\n\n assertIsUpdatesGroup('messages.sendVote', res)\n\n client.handleClientUpdate(res, true)\n\n const upd = res.updates[0]\n assertTypeIs('messages.sendVote (@ .updates[0])', upd, 'updateMessagePoll')\n\n if (!upd.poll) {\n throw new MtTypeAssertionError('messages.sendVote (@ .updates[0].poll)', 'poll', 'undefined')\n }\n\n const peers = PeersIndex.from(res)\n\n return new Poll(upd.poll, peers, upd.results)\n}\n"]}
1
+ {"version":3,"file":"send-vote.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/send-vote.ts"],"names":[],"mappings":"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","sourcesContent":["import { MtArgumentError, MtTypeAssertionError } from '../../../types/errors.js'\nimport { MaybeArray } from '../../../types/utils.js'\nimport { getMarkedPeerId } from '../../../utils/peer-utils.js'\nimport { assertTypeIs } from '../../../utils/type-assertions.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputMessageId, MtMessageNotFoundError, normalizeInputMessageId, PeersIndex, Poll } from '../../types/index.js'\nimport { assertIsUpdatesGroup } from '../../updates/utils.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\nimport { getMessages } from './get-messages.js'\n\n/**\n * Send or retract a vote in a poll.\n */\nexport async function sendVote(\n client: ITelegramClient,\n params: InputMessageId & {\n /**\n * Selected options, or `null` to retract.\n * You can pass indexes of the answers or the `Buffer`s\n * representing them. In case of indexes, the poll will first\n * be requested from the server.\n */\n options: null | MaybeArray<number | Uint8Array>\n },\n): Promise<Poll> {\n const { chatId, message } = normalizeInputMessageId(params)\n let { options } = params\n\n if (options === null) options = []\n if (!Array.isArray(options)) options = [options]\n\n const peer = await resolvePeer(client, chatId)\n\n let poll: Poll | undefined = undefined\n\n if (options.some((it) => typeof it === 'number')) {\n const [msg] = await getMessages(client, peer, message)\n\n if (!msg) {\n throw new MtMessageNotFoundError(getMarkedPeerId(peer), message, 'to vote in')\n }\n\n if (!(msg.media instanceof Poll)) {\n throw new MtArgumentError('This message does not contain a poll')\n }\n\n poll = msg.media\n options = options.map((opt) => {\n if (typeof opt === 'number') {\n return poll!.raw.answers[opt].option\n }\n\n return opt\n })\n }\n\n const res = await client.call({\n _: 'messages.sendVote',\n peer,\n msgId: message,\n options: options as Uint8Array[],\n })\n\n assertIsUpdatesGroup('messages.sendVote', res)\n\n client.handleClientUpdate(res, true)\n\n const upd = res.updates[0]\n assertTypeIs('messages.sendVote (@ .updates[0])', upd, 'updateMessagePoll')\n\n if (!upd.poll) {\n throw new MtTypeAssertionError('messages.sendVote (@ .updates[0].poll)', 'poll', 'undefined')\n }\n\n const peers = PeersIndex.from(res)\n\n return new Poll(upd.poll, peers, upd.results)\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"translate-text.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/translate-text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAG/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAE/D;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAC/B,MAAuB,EACvB,IAAe,EACf,UAAkB;IAElB,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAEnE,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC1B,CAAC,EAAE,wBAAwB;QAC3B,IAAI,EAAE;YACF;gBACI,CAAC,EAAE,kBAAkB;gBACrB,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,QAAQ,IAAI,EAAE;aAC3B;SACJ;QACD,MAAM,EAAE,UAAU;KACrB,CAAC,CAAA;IAEF,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;QAChB,MAAM,IAAI,oBAAoB,CAAC,iCAAiC,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;KAC1F;IAED,OAAO;QACH,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI;QACxB,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ;KACnC,CAAA;AACL,CAAC","sourcesContent":["import { MtTypeAssertionError } from '../../../types/errors.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputText, TextWithEntities } from '../../types/misc/entities.js'\nimport { _normalizeInputText } from '../misc/normalize-text.js'\n\n/**\n * Translate text to a given language.\n *\n * @param text Text to translate\n * @param toLanguage Target language (two-letter ISO 639-1 language code)\n */\nexport async function translateText(\n client: ITelegramClient,\n text: InputText,\n toLanguage: string,\n): Promise<TextWithEntities> {\n const [message, entities] = await _normalizeInputText(client, text)\n\n const res = await client.call({\n _: 'messages.translateText',\n text: [\n {\n _: 'textWithEntities',\n text: message,\n entities: entities || [],\n },\n ],\n toLang: toLanguage,\n })\n\n if (!res.result[0]) {\n throw new MtTypeAssertionError('messages.translateResult#result', 'not empty', 'empty')\n }\n\n return {\n text: res.result[0].text,\n entities: res.result[0].entities,\n }\n}\n"]}
1
+ {"version":3,"file":"translate-text.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/translate-text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAG/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAE/D;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAC/B,MAAuB,EACvB,IAAe,EACf,UAAkB;IAElB,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAEnE,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC1B,CAAC,EAAE,wBAAwB;QAC3B,IAAI,EAAE;YACF;gBACI,CAAC,EAAE,kBAAkB;gBACrB,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,QAAQ,IAAI,EAAE;aAC3B;SACJ;QACD,MAAM,EAAE,UAAU;KACrB,CAAC,CAAA;IAEF,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QACjB,MAAM,IAAI,oBAAoB,CAAC,iCAAiC,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;IAC3F,CAAC;IAED,OAAO;QACH,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI;QACxB,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ;KACnC,CAAA;AACL,CAAC","sourcesContent":["import { MtTypeAssertionError } from '../../../types/errors.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputText, TextWithEntities } from '../../types/misc/entities.js'\nimport { _normalizeInputText } from '../misc/normalize-text.js'\n\n/**\n * Translate text to a given language.\n *\n * @param text Text to translate\n * @param toLanguage Target language (two-letter ISO 639-1 language code)\n */\nexport async function translateText(\n client: ITelegramClient,\n text: InputText,\n toLanguage: string,\n): Promise<TextWithEntities> {\n const [message, entities] = await _normalizeInputText(client, text)\n\n const res = await client.call({\n _: 'messages.translateText',\n text: [\n {\n _: 'textWithEntities',\n text: message,\n entities: entities || [],\n },\n ],\n toLang: toLanguage,\n })\n\n if (!res.result[0]) {\n throw new MtTypeAssertionError('messages.translateResult#result', 'not empty', 'empty')\n }\n\n return {\n text: res.result[0].text,\n entities: res.result[0].entities,\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"unpin-all-messages.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/unpin-all-messages.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAEtD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAClC,MAAuB,EACvB,MAAqB,EACrB,MAKC;IAED,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,EAAE,CAAA;IAEhC,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE9C,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC1B,CAAC,EAAE,2BAA2B;QAC9B,IAAI;QACJ,QAAQ,EAAE,OAAO;KACpB,CAAC,CAAA;IAEF,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE;QAC1B,MAAM,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAA;KACtF;SAAM;QACH,MAAM,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAA;KACtE;AACL,CAAC","sourcesContent":["import { ITelegramClient } from '../../client.types.js'\nimport { InputPeerLike } from '../../types/index.js'\nimport { createDummyUpdate } from '../../updates/utils.js'\nimport { isInputPeerChannel } from '../../utils/peer-utils.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\n\n/**\n * Unpin all pinned messages in a chat.\n *\n * @param chatId Chat or user ID\n */\nexport async function unpinAllMessages(\n client: ITelegramClient,\n chatId: InputPeerLike,\n params?: {\n /**\n * For forums - unpin only messages from the given topic\n */\n topicId?: number\n },\n): Promise<void> {\n const { topicId } = params ?? {}\n\n const peer = await resolvePeer(client, chatId)\n\n const res = await client.call({\n _: 'messages.unpinAllMessages',\n peer,\n topMsgId: topicId,\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"]}
1
+ {"version":3,"file":"unpin-all-messages.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/messages/unpin-all-messages.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAEtD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAClC,MAAuB,EACvB,MAAqB,EACrB,MAKC;IAED,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,EAAE,CAAA;IAEhC,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE9C,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC1B,CAAC,EAAE,2BAA2B;QAC9B,IAAI;QACJ,QAAQ,EAAE,OAAO;KACpB,CAAC,CAAA;IAEF,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,MAAM,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAA;IACvF,CAAC;SAAM,CAAC;QACJ,MAAM,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAA;IACvE,CAAC;AACL,CAAC","sourcesContent":["import { ITelegramClient } from '../../client.types.js'\nimport { InputPeerLike } from '../../types/index.js'\nimport { createDummyUpdate } from '../../updates/utils.js'\nimport { isInputPeerChannel } from '../../utils/peer-utils.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\n\n/**\n * Unpin all pinned messages in a chat.\n *\n * @param chatId Chat or user ID\n */\nexport async function unpinAllMessages(\n client: ITelegramClient,\n chatId: InputPeerLike,\n params?: {\n /**\n * For forums - unpin only messages from the given topic\n */\n topicId?: number\n },\n): Promise<void> {\n const { topicId } = params ?? {}\n\n const peer = await resolvePeer(client, chatId)\n\n const res = await client.call({\n _: 'messages.unpinAllMessages',\n peer,\n topMsgId: topicId,\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"]}
@@ -1 +1 @@
1
- {"version":3,"file":"normalize-privacy-rules.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/misc/normalize-privacy-rules.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAE/D;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CACxC,MAAuB,EACvB,KAAyB;IAEzB,MAAM,GAAG,GAA8B,EAAE,CAAA;IAEzC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACtB,IAAI,GAAG,IAAI,IAAI,EAAE;YACb,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACd,SAAQ;SACX;QAED,IAAI,OAAO,IAAI,IAAI,EAAE;YACjB,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;YAEpE,GAAG,CAAC,IAAI,CAAC;gBACL,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,gCAAgC;gBAChF,KAAK;aACR,CAAC,CAAA;YACF,SAAQ;SACX;QAED,IAAI,OAAO,IAAI,IAAI,EAAE;YACjB,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;YAEvD,GAAG,CAAC,IAAI,CAAC;gBACL,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,wCAAwC,CAAC,CAAC,CAAC,2CAA2C;gBACtG,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;oBACtB,IAAI,WAAW,IAAI,IAAI;wBAAE,OAAO,IAAI,CAAC,SAAS,CAAA;oBAC9C,IAAI,QAAQ,IAAI,IAAI;wBAAE,OAAO,IAAI,CAAC,MAAM,CAAA;oBAExC,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAA;gBAClC,CAAC,CAAC;aACL,CAAC,CAAA;YACF,SAAQ;SACX;KACJ;IAED,OAAO,GAAG,CAAA;AACd,CAAC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputPrivacyRule } from '../../types/index.js'\nimport { toInputUser } from '../../utils/index.js'\nimport { resolvePeerMany } from '../users/resolve-peer-many.js'\n\n/**\n * Normalize {@link InputPrivacyRule}[] to `tl.TypeInputPrivacyRule`,\n * resolving the peers if needed.\n */\nexport async function _normalizePrivacyRules(\n client: ITelegramClient,\n rules: InputPrivacyRule[],\n): Promise<tl.TypeInputPrivacyRule[]> {\n const res: tl.TypeInputPrivacyRule[] = []\n\n for (const rule of rules) {\n if ('_' in rule) {\n res.push(rule)\n continue\n }\n\n if ('users' in rule) {\n const users = await resolvePeerMany(client, rule.users, toInputUser)\n\n res.push({\n _: rule.allow ? 'inputPrivacyValueAllowUsers' : 'inputPrivacyValueDisallowUsers',\n users,\n })\n continue\n }\n\n if ('chats' in rule) {\n const chats = await resolvePeerMany(client, rule.chats)\n\n res.push({\n _: rule.allow ? 'inputPrivacyValueAllowChatParticipants' : 'inputPrivacyValueDisallowChatParticipants',\n chats: chats.map((peer) => {\n if ('channelId' in peer) return peer.channelId\n if ('chatId' in peer) return peer.chatId\n\n throw new Error('UNREACHABLE')\n }),\n })\n continue\n }\n }\n\n return res\n}\n"]}
1
+ {"version":3,"file":"normalize-privacy-rules.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/misc/normalize-privacy-rules.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAE/D;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CACxC,MAAuB,EACvB,KAAyB;IAEzB,MAAM,GAAG,GAA8B,EAAE,CAAA;IAEzC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YACd,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACd,SAAQ;QACZ,CAAC;QAED,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YAClB,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;YAEpE,GAAG,CAAC,IAAI,CAAC;gBACL,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,gCAAgC;gBAChF,KAAK;aACR,CAAC,CAAA;YACF,SAAQ;QACZ,CAAC;QAED,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YAClB,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;YAEvD,GAAG,CAAC,IAAI,CAAC;gBACL,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,wCAAwC,CAAC,CAAC,CAAC,2CAA2C;gBACtG,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;oBACtB,IAAI,WAAW,IAAI,IAAI;wBAAE,OAAO,IAAI,CAAC,SAAS,CAAA;oBAC9C,IAAI,QAAQ,IAAI,IAAI;wBAAE,OAAO,IAAI,CAAC,MAAM,CAAA;oBAExC,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAA;gBAClC,CAAC,CAAC;aACL,CAAC,CAAA;YACF,SAAQ;QACZ,CAAC;IACL,CAAC;IAED,OAAO,GAAG,CAAA;AACd,CAAC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputPrivacyRule } from '../../types/index.js'\nimport { toInputUser } from '../../utils/index.js'\nimport { resolvePeerMany } from '../users/resolve-peer-many.js'\n\n/**\n * Normalize {@link InputPrivacyRule}[] to `tl.TypeInputPrivacyRule`,\n * resolving the peers if needed.\n */\nexport async function _normalizePrivacyRules(\n client: ITelegramClient,\n rules: InputPrivacyRule[],\n): Promise<tl.TypeInputPrivacyRule[]> {\n const res: tl.TypeInputPrivacyRule[] = []\n\n for (const rule of rules) {\n if ('_' in rule) {\n res.push(rule)\n continue\n }\n\n if ('users' in rule) {\n const users = await resolvePeerMany(client, rule.users, toInputUser)\n\n res.push({\n _: rule.allow ? 'inputPrivacyValueAllowUsers' : 'inputPrivacyValueDisallowUsers',\n users,\n })\n continue\n }\n\n if ('chats' in rule) {\n const chats = await resolvePeerMany(client, rule.chats)\n\n res.push({\n _: rule.allow ? 'inputPrivacyValueAllowChatParticipants' : 'inputPrivacyValueDisallowChatParticipants',\n chats: chats.map((peer) => {\n if ('channelId' in peer) return peer.channelId\n if ('chatId' in peer) return peer.chatId\n\n throw new Error('UNREACHABLE')\n }),\n })\n continue\n }\n }\n\n return res\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"normalize-text.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/misc/normalize-text.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAEtD,MAAM,KAAK,GAAwB,CAAC,EAAE,EAAE,SAAS,CAAC,CAAA;AAElD,gBAAgB;AAChB,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACrC,MAAuB,EACvB,KAAiB;IAEjB,IAAI,CAAC,KAAK,EAAE;QACR,OAAO,KAAK,CAAA;KACf;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC3B,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;KAC5B;IAED,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAA;IAChC,IAAI,CAAC,QAAQ;QAAE,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;IAEvC,+CAA+C;IAC/C,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE;QACxB,IAAI,GAAG,CAAC,CAAC,KAAK,0BAA0B,EAAE;YACtC,IAAI;gBACA,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;gBAEvD,MAAM,IAAI,GAAG,GAAqD,CAAA;gBAClE,IAAI,CAAC,CAAC,GAAG,+BAA+B,CAAA;gBACxC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAA;aAC1B;YAAC,OAAO,CAAC,EAAE;gBACR,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,6CAA6C,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;aAChF;SACJ;KACJ;IAED,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;AAC3B,CAAC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputText } from '../../types/misc/entities.js'\nimport { resolveUser } from '../users/resolve-peer.js'\n\nconst empty: [string, undefined] = ['', undefined]\n\n/** @internal */\nexport async function _normalizeInputText(\n client: ITelegramClient,\n input?: InputText,\n): Promise<[string, tl.TypeMessageEntity[] | undefined]> {\n if (!input) {\n return empty\n }\n\n if (typeof input === 'string') {\n return [input, undefined]\n }\n\n const { text, entities } = input\n if (!entities) return [text, undefined]\n\n // replace mentionName entities with input ones\n for (const ent of entities) {\n if (ent._ === 'messageEntityMentionName') {\n try {\n const inputPeer = await resolveUser(client, ent.userId)\n\n const ent_ = ent as unknown as tl.RawInputMessageEntityMentionName\n ent_._ = 'inputMessageEntityMentionName'\n ent_.userId = inputPeer\n } catch (e) {\n client.log.warn('Failed to resolve mention entity for %s: %s', ent.userId, e)\n }\n }\n }\n\n return [text, entities]\n}\n"]}
1
+ {"version":3,"file":"normalize-text.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/misc/normalize-text.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAEtD,MAAM,KAAK,GAAwB,CAAC,EAAE,EAAE,SAAS,CAAC,CAAA;AAElD,gBAAgB;AAChB,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACrC,MAAuB,EACvB,KAAiB;IAEjB,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,KAAK,CAAA;IAChB,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;IAC7B,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAA;IAChC,IAAI,CAAC,QAAQ;QAAE,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;IAEvC,+CAA+C;IAC/C,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,GAAG,CAAC,CAAC,KAAK,0BAA0B,EAAE,CAAC;YACvC,IAAI,CAAC;gBACD,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;gBAEvD,MAAM,IAAI,GAAG,GAAqD,CAAA;gBAClE,IAAI,CAAC,CAAC,GAAG,+BAA+B,CAAA;gBACxC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAA;YAC3B,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,6CAA6C,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;YACjF,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;AAC3B,CAAC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputText } from '../../types/misc/entities.js'\nimport { resolveUser } from '../users/resolve-peer.js'\n\nconst empty: [string, undefined] = ['', undefined]\n\n/** @internal */\nexport async function _normalizeInputText(\n client: ITelegramClient,\n input?: InputText,\n): Promise<[string, tl.TypeMessageEntity[] | undefined]> {\n if (!input) {\n return empty\n }\n\n if (typeof input === 'string') {\n return [input, undefined]\n }\n\n const { text, entities } = input\n if (!entities) return [text, undefined]\n\n // replace mentionName entities with input ones\n for (const ent of entities) {\n if (ent._ === 'messageEntityMentionName') {\n try {\n const inputPeer = await resolveUser(client, ent.userId)\n\n const ent_ = ent as unknown as tl.RawInputMessageEntityMentionName\n ent_._ = 'inputMessageEntityMentionName'\n ent_.userId = inputPeer\n } catch (e) {\n client.log.warn('Failed to resolve mention entity for %s: %s', ent.userId, e)\n }\n }\n }\n\n return [text, entities]\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"with-params.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/misc/with-params.ts"],"names":[],"mappings":"AAKA,QAAQ;AACR;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAA4B,MAAS,EAAE,MAAsB;IACnF,MAAM,WAAW,GAAG,CAAC,OAAqB,EAAE,WAA4B,EAAE,EAAE,CACxE,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;IAE9E,MAAM,KAAK,GAAM,IAAI,KAAK,CAAI,MAAM,EAAE;QAClC,GAAG,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YAC5B,IAAI,IAAI,KAAK,MAAM,EAAE;gBACjB,OAAO,WAAW,CAAA;aACrB;YAED,IAAI,IAAI,KAAK,SAAS,EAAE;gBACpB,qFAAqF;gBACrF,qDAAqD;gBACrD,oCAAoC;gBACpC,uCAAuC;gBACvC,OAAO,KAAK,CAAA;aACf;YAED,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;QAC9C,CAAC;KACJ,CAAC,CAAA;IAEF,OAAO,KAAK,CAAA;AAChB,CAAC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { RpcCallOptions } from '../../../network/index.js'\nimport { ITelegramClient } from '../../client.types.js'\n\n// @skip\n/**\n * Wrap a client so that all RPC calls will use the specified parameters.\n *\n * @param client Client to wrap\n * @param params RPC call parameters to use by default\n * @returns The wrapped client\n */\nexport function withParams<T extends ITelegramClient>(client: T, params: RpcCallOptions): T {\n const wrappedCall = (message: tl.RpcMethod, extraParams?: RpcCallOptions) =>\n client.call(message, extraParams ? { ...params, ...extraParams } : params)\n\n const proxy: T = new Proxy<T>(client, {\n get: (target, prop, receiver) => {\n if (prop === 'call') {\n return wrappedCall\n }\n\n if (prop === '_client') {\n // ideally we would wrap it as well, but it's not really needed, since TelegramClient\n // TelegramClient stores underlying client in _client\n // itself implements ITelegramClient\n // very much a hack, but i dont care :D\n return proxy\n }\n\n return Reflect.get(target, prop, receiver)\n },\n })\n\n return proxy\n}\n"]}
1
+ {"version":3,"file":"with-params.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/misc/with-params.ts"],"names":[],"mappings":"AAKA,QAAQ;AACR;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAA4B,MAAS,EAAE,MAAsB;IACnF,MAAM,WAAW,GAAG,CAAC,OAAqB,EAAE,WAA4B,EAAE,EAAE,CACxE,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;IAE9E,MAAM,KAAK,GAAM,IAAI,KAAK,CAAI,MAAM,EAAE;QAClC,GAAG,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YAC5B,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;gBAClB,OAAO,WAAW,CAAA;YACtB,CAAC;YAED,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACrB,qFAAqF;gBACrF,qDAAqD;gBACrD,oCAAoC;gBACpC,uCAAuC;gBACvC,OAAO,KAAK,CAAA;YAChB,CAAC;YAED,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;QAC9C,CAAC;KACJ,CAAC,CAAA;IAEF,OAAO,KAAK,CAAA;AAChB,CAAC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { RpcCallOptions } from '../../../network/index.js'\nimport { ITelegramClient } from '../../client.types.js'\n\n// @skip\n/**\n * Wrap a client so that all RPC calls will use the specified parameters.\n *\n * @param client Client to wrap\n * @param params RPC call parameters to use by default\n * @returns The wrapped client\n */\nexport function withParams<T extends ITelegramClient>(client: T, params: RpcCallOptions): T {\n const wrappedCall = (message: tl.RpcMethod, extraParams?: RpcCallOptions) =>\n client.call(message, extraParams ? { ...params, ...extraParams } : params)\n\n const proxy: T = new Proxy<T>(client, {\n get: (target, prop, receiver) => {\n if (prop === 'call') {\n return wrappedCall\n }\n\n if (prop === '_client') {\n // ideally we would wrap it as well, but it's not really needed, since TelegramClient\n // TelegramClient stores underlying client in _client\n // itself implements ITelegramClient\n // very much a hack, but i dont care :D\n return proxy\n }\n\n return Reflect.get(target, prop, receiver)\n },\n })\n\n return proxy\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"change-cloud-password.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/password/change-cloud-password.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAG1D;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACrC,MAAuB,EACvB,MAOC;IAED,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,MAAM,CAAA;IAErD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,qBAAqB,EAAE,CAAC,CAAA;IAE3D,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE;QAClB,MAAM,IAAI,eAAe,CAAC,+BAA+B,CAAC,CAAA;KAC7D;IAED,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAA;IAExB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,eAAe,CAAC,CAAA;IAClE,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;IAEtE,MAAM,MAAM,CAAC,IAAI,CAAC;QACd,CAAC,EAAE,gCAAgC;QACnC,QAAQ,EAAE,MAAM;QAChB,WAAW,EAAE;YACT,CAAC,EAAE,+BAA+B;YAClC,OAAO,EAAE,IAAI;YACb,eAAe,EAAE,OAAO;YACxB,IAAI;SACP;KACJ,CAAC,CAAA;AACN,CAAC","sourcesContent":["import { MtArgumentError } from '../../../types/errors.js'\nimport { ITelegramClient } from '../../client.types.js'\n\n/**\n * Change your 2FA password\n */\nexport async function changeCloudPassword(\n client: ITelegramClient,\n params: {\n /** Current password as plaintext */\n currentPassword: string\n /** New password as plaintext */\n newPassword: string\n /** Hint for the new password */\n hint?: string\n },\n): Promise<void> {\n const { currentPassword, newPassword, hint } = params\n\n const pwd = await client.call({ _: 'account.getPassword' })\n\n if (!pwd.hasPassword) {\n throw new MtArgumentError('Cloud password is not enabled')\n }\n\n const algo = pwd.newAlgo\n\n const oldSrp = await client.computeSrpParams(pwd, currentPassword)\n const newHash = await client.computeNewPasswordHash(algo, newPassword)\n\n await client.call({\n _: 'account.updatePasswordSettings',\n password: oldSrp,\n newSettings: {\n _: 'account.passwordInputSettings',\n newAlgo: algo,\n newPasswordHash: newHash,\n hint,\n },\n })\n}\n"]}
1
+ {"version":3,"file":"change-cloud-password.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/password/change-cloud-password.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAG1D;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACrC,MAAuB,EACvB,MAOC;IAED,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,MAAM,CAAA;IAErD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,qBAAqB,EAAE,CAAC,CAAA;IAE3D,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QACnB,MAAM,IAAI,eAAe,CAAC,+BAA+B,CAAC,CAAA;IAC9D,CAAC;IAED,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAA;IAExB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,eAAe,CAAC,CAAA;IAClE,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;IAEtE,MAAM,MAAM,CAAC,IAAI,CAAC;QACd,CAAC,EAAE,gCAAgC;QACnC,QAAQ,EAAE,MAAM;QAChB,WAAW,EAAE;YACT,CAAC,EAAE,+BAA+B;YAClC,OAAO,EAAE,IAAI;YACb,eAAe,EAAE,OAAO;YACxB,IAAI;SACP;KACJ,CAAC,CAAA;AACN,CAAC","sourcesContent":["import { MtArgumentError } from '../../../types/errors.js'\nimport { ITelegramClient } from '../../client.types.js'\n\n/**\n * Change your 2FA password\n */\nexport async function changeCloudPassword(\n client: ITelegramClient,\n params: {\n /** Current password as plaintext */\n currentPassword: string\n /** New password as plaintext */\n newPassword: string\n /** Hint for the new password */\n hint?: string\n },\n): Promise<void> {\n const { currentPassword, newPassword, hint } = params\n\n const pwd = await client.call({ _: 'account.getPassword' })\n\n if (!pwd.hasPassword) {\n throw new MtArgumentError('Cloud password is not enabled')\n }\n\n const algo = pwd.newAlgo\n\n const oldSrp = await client.computeSrpParams(pwd, currentPassword)\n const newHash = await client.computeNewPasswordHash(algo, newPassword)\n\n await client.call({\n _: 'account.updatePasswordSettings',\n password: oldSrp,\n newSettings: {\n _: 'account.passwordInputSettings',\n newAlgo: algo,\n newPasswordHash: newHash,\n hint,\n },\n })\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"enable-cloud-password.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/password/enable-cloud-password.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AAGhE;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACrC,MAAuB,EACvB,MAOC;IAED,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,CAAA;IAExC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,qBAAqB,EAAE,CAAC,CAAA;IAE3D,IAAI,GAAG,CAAC,WAAW,EAAE;QACjB,MAAM,IAAI,eAAe,CAAC,mCAAmC,CAAC,CAAA;KACjE;IAED,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAA;IACxB,YAAY,CAAC,qBAAqB,EAAE,IAAI,EAAE,mEAAmE,CAAC,CAAA;IAE9G,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IAEnE,MAAM,MAAM,CAAC,IAAI,CAAC;QACd,CAAC,EAAE,gCAAgC;QACnC,QAAQ,EAAE,EAAE,CAAC,EAAE,yBAAyB,EAAE;QAC1C,WAAW,EAAE;YACT,CAAC,EAAE,+BAA+B;YAClC,OAAO,EAAE,IAAI;YACb,eAAe,EAAE,OAAO;YACxB,IAAI;YACJ,KAAK;SACR;KACJ,CAAC,CAAA;AACN,CAAC","sourcesContent":["import { MtArgumentError } from '../../../types/errors.js'\nimport { assertTypeIs } from '../../../utils/type-assertions.js'\nimport { ITelegramClient } from '../../client.types.js'\n\n/**\n * Enable 2FA password on your account\n *\n * Note that if you pass `email`, `EmailUnconfirmedError` may be\n * thrown, and you should use {@link verifyPasswordEmail},\n * {@link resendPasswordEmail} or {@link cancelPasswordEmail},\n * and the call this method again\n */\nexport async function enableCloudPassword(\n client: ITelegramClient,\n params: {\n /** 2FA password as plaintext */\n password: string\n /** Hint for the new password */\n hint?: string\n /** Recovery email */\n email?: string\n },\n): Promise<void> {\n const { password, hint, email } = params\n\n const pwd = await client.call({ _: 'account.getPassword' })\n\n if (pwd.hasPassword) {\n throw new MtArgumentError('Cloud password is already enabled')\n }\n\n const algo = pwd.newAlgo\n assertTypeIs('account.getPassword', algo, 'passwordKdfAlgoSHA256SHA256PBKDF2HMACSHA512iter100000SHA256ModPow')\n\n const newHash = await client.computeNewPasswordHash(algo, password)\n\n await client.call({\n _: 'account.updatePasswordSettings',\n password: { _: 'inputCheckPasswordEmpty' },\n newSettings: {\n _: 'account.passwordInputSettings',\n newAlgo: algo,\n newPasswordHash: newHash,\n hint,\n email,\n },\n })\n}\n"]}
1
+ {"version":3,"file":"enable-cloud-password.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/password/enable-cloud-password.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AAGhE;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACrC,MAAuB,EACvB,MAOC;IAED,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,CAAA;IAExC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,qBAAqB,EAAE,CAAC,CAAA;IAE3D,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;QAClB,MAAM,IAAI,eAAe,CAAC,mCAAmC,CAAC,CAAA;IAClE,CAAC;IAED,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAA;IACxB,YAAY,CAAC,qBAAqB,EAAE,IAAI,EAAE,mEAAmE,CAAC,CAAA;IAE9G,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IAEnE,MAAM,MAAM,CAAC,IAAI,CAAC;QACd,CAAC,EAAE,gCAAgC;QACnC,QAAQ,EAAE,EAAE,CAAC,EAAE,yBAAyB,EAAE;QAC1C,WAAW,EAAE;YACT,CAAC,EAAE,+BAA+B;YAClC,OAAO,EAAE,IAAI;YACb,eAAe,EAAE,OAAO;YACxB,IAAI;YACJ,KAAK;SACR;KACJ,CAAC,CAAA;AACN,CAAC","sourcesContent":["import { MtArgumentError } from '../../../types/errors.js'\nimport { assertTypeIs } from '../../../utils/type-assertions.js'\nimport { ITelegramClient } from '../../client.types.js'\n\n/**\n * Enable 2FA password on your account\n *\n * Note that if you pass `email`, `EmailUnconfirmedError` may be\n * thrown, and you should use {@link verifyPasswordEmail},\n * {@link resendPasswordEmail} or {@link cancelPasswordEmail},\n * and the call this method again\n */\nexport async function enableCloudPassword(\n client: ITelegramClient,\n params: {\n /** 2FA password as plaintext */\n password: string\n /** Hint for the new password */\n hint?: string\n /** Recovery email */\n email?: string\n },\n): Promise<void> {\n const { password, hint, email } = params\n\n const pwd = await client.call({ _: 'account.getPassword' })\n\n if (pwd.hasPassword) {\n throw new MtArgumentError('Cloud password is already enabled')\n }\n\n const algo = pwd.newAlgo\n assertTypeIs('account.getPassword', algo, 'passwordKdfAlgoSHA256SHA256PBKDF2HMACSHA512iter100000SHA256ModPow')\n\n const newHash = await client.computeNewPasswordHash(algo, password)\n\n await client.call({\n _: 'account.updatePasswordSettings',\n password: { _: 'inputCheckPasswordEmpty' },\n newSettings: {\n _: 'account.passwordInputSettings',\n newAlgo: algo,\n newPasswordHash: newHash,\n hint,\n email,\n },\n })\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"remove-cloud-password.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/password/remove-cloud-password.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAG1D;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,MAAuB,EAAE,QAAgB;IAC/E,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,qBAAqB,EAAE,CAAC,CAAA;IAE3D,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE;QAClB,MAAM,IAAI,eAAe,CAAC,+BAA+B,CAAC,CAAA;KAC7D;IAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;IAE3D,MAAM,MAAM,CAAC,IAAI,CAAC;QACd,CAAC,EAAE,gCAAgC;QACnC,QAAQ,EAAE,MAAM;QAChB,WAAW,EAAE;YACT,CAAC,EAAE,+BAA+B;YAClC,OAAO,EAAE,EAAE,CAAC,EAAE,wBAAwB,EAAE;YACxC,eAAe,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC;YAClC,IAAI,EAAE,EAAE;SACX;KACJ,CAAC,CAAA;AACN,CAAC","sourcesContent":["import { MtArgumentError } from '../../../types/errors.js'\nimport { ITelegramClient } from '../../client.types.js'\n\n/**\n * Remove 2FA password from your account\n *\n * @param password 2FA password as plaintext\n */\nexport async function removeCloudPassword(client: ITelegramClient, password: string): Promise<void> {\n const pwd = await client.call({ _: 'account.getPassword' })\n\n if (!pwd.hasPassword) {\n throw new MtArgumentError('Cloud password is not enabled')\n }\n\n const oldSrp = await client.computeSrpParams(pwd, password)\n\n await client.call({\n _: 'account.updatePasswordSettings',\n password: oldSrp,\n newSettings: {\n _: 'account.passwordInputSettings',\n newAlgo: { _: 'passwordKdfAlgoUnknown' },\n newPasswordHash: new Uint8Array(0),\n hint: '',\n },\n })\n}\n"]}
1
+ {"version":3,"file":"remove-cloud-password.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/password/remove-cloud-password.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAG1D;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,MAAuB,EAAE,QAAgB;IAC/E,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,qBAAqB,EAAE,CAAC,CAAA;IAE3D,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QACnB,MAAM,IAAI,eAAe,CAAC,+BAA+B,CAAC,CAAA;IAC9D,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;IAE3D,MAAM,MAAM,CAAC,IAAI,CAAC;QACd,CAAC,EAAE,gCAAgC;QACnC,QAAQ,EAAE,MAAM;QAChB,WAAW,EAAE;YACT,CAAC,EAAE,+BAA+B;YAClC,OAAO,EAAE,EAAE,CAAC,EAAE,wBAAwB,EAAE;YACxC,eAAe,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC;YAClC,IAAI,EAAE,EAAE;SACX;KACJ,CAAC,CAAA;AACN,CAAC","sourcesContent":["import { MtArgumentError } from '../../../types/errors.js'\nimport { ITelegramClient } from '../../client.types.js'\n\n/**\n * Remove 2FA password from your account\n *\n * @param password 2FA password as plaintext\n */\nexport async function removeCloudPassword(client: ITelegramClient, password: string): Promise<void> {\n const pwd = await client.call({ _: 'account.getPassword' })\n\n if (!pwd.hasPassword) {\n throw new MtArgumentError('Cloud password is not enabled')\n }\n\n const oldSrp = await client.computeSrpParams(pwd, password)\n\n await client.call({\n _: 'account.updatePasswordSettings',\n password: oldSrp,\n newSettings: {\n _: 'account.passwordInputSettings',\n newAlgo: { _: 'passwordKdfAlgoUnknown' },\n newPasswordHash: new Uint8Array(0),\n hint: '',\n },\n })\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"can-apply-boost.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/premium/can-apply-boost.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAQzD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,MAAuB;IACvD,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,CAAA;IAE9C,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;QAClB,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAA;KACjE;IAED,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAA;IAExD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;QACvB,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAA;KACxC;IAED,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,aAAa,KAAK,IAAI,CAAC,CAAA;IAE3E,IAAI,gBAAgB,CAAC,MAAM,EAAE;QACzB,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAK,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAA;KACzF;IAED,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAA;AAC9D,CAAC","sourcesContent":["import { ITelegramClient } from '../../client.types.js'\nimport { Chat } from '../../types/index.js'\nimport { BoostSlot } from '../../types/premium/boost-slot.js'\nimport { getMyBoostSlots } from './get-my-boost-slots.js'\n\n// @exported\nexport type CanApplyBoostResult =\n | { can: true; replace?: Chat[]; slots: BoostSlot[] }\n | { can: false; reason: 'need_premium'; slots: BoostSlot[] }\n | { can: false; reason: 'no_slots'; slots: BoostSlot[] }\n\n/**\n * Check if the current user can apply boost to some channel\n *\n * @returns\n * - `{ can: true }` if the user can apply boost\n * - `.replace` - {@link Chat}s that can be replaced with the current one.\n * If the user can apply boost without replacing any chats, this field will be `undefined`.\n * - `{ can: false }` if the user can't apply boost\n * - `.reason == \"no_slots\"` if the user has no available slots\n * - `.reason == \"need_premium\"` if the user needs Premium to boost\n * - In all cases, `slots` will contain all the current user's boost slots\n */\nexport async function canApplyBoost(client: ITelegramClient): Promise<CanApplyBoostResult> {\n const myBoosts = await getMyBoostSlots(client)\n\n if (!myBoosts.length) {\n return { can: false, reason: 'need_premium', slots: myBoosts }\n }\n\n const emptySlots = myBoosts.filter((it) => !it.occupied)\n\n if (emptySlots.length > 0) {\n return { can: true, slots: myBoosts }\n }\n\n const replaceableSlots = myBoosts.filter((it) => it.cooldownUntil === null)\n\n if (replaceableSlots.length) {\n return { can: true, replace: replaceableSlots.map((it) => it.chat!), slots: myBoosts }\n }\n\n return { can: false, reason: 'no_slots', slots: myBoosts }\n}\n"]}
1
+ {"version":3,"file":"can-apply-boost.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/premium/can-apply-boost.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAQzD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,MAAuB;IACvD,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,CAAA;IAE9C,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAA;IAClE,CAAC;IAED,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAA;IAExD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAA;IACzC,CAAC;IAED,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,aAAa,KAAK,IAAI,CAAC,CAAA;IAE3E,IAAI,gBAAgB,CAAC,MAAM,EAAE,CAAC;QAC1B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAK,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAA;IAC1F,CAAC;IAED,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAA;AAC9D,CAAC","sourcesContent":["import { ITelegramClient } from '../../client.types.js'\nimport { Chat } from '../../types/index.js'\nimport { BoostSlot } from '../../types/premium/boost-slot.js'\nimport { getMyBoostSlots } from './get-my-boost-slots.js'\n\n// @exported\nexport type CanApplyBoostResult =\n | { can: true; replace?: Chat[]; slots: BoostSlot[] }\n | { can: false; reason: 'need_premium'; slots: BoostSlot[] }\n | { can: false; reason: 'no_slots'; slots: BoostSlot[] }\n\n/**\n * Check if the current user can apply boost to some channel\n *\n * @returns\n * - `{ can: true }` if the user can apply boost\n * - `.replace` - {@link Chat}s that can be replaced with the current one.\n * If the user can apply boost without replacing any chats, this field will be `undefined`.\n * - `{ can: false }` if the user can't apply boost\n * - `.reason == \"no_slots\"` if the user has no available slots\n * - `.reason == \"need_premium\"` if the user needs Premium to boost\n * - In all cases, `slots` will contain all the current user's boost slots\n */\nexport async function canApplyBoost(client: ITelegramClient): Promise<CanApplyBoostResult> {\n const myBoosts = await getMyBoostSlots(client)\n\n if (!myBoosts.length) {\n return { can: false, reason: 'need_premium', slots: myBoosts }\n }\n\n const emptySlots = myBoosts.filter((it) => !it.occupied)\n\n if (emptySlots.length > 0) {\n return { can: true, slots: myBoosts }\n }\n\n const replaceableSlots = myBoosts.filter((it) => it.cooldownUntil === null)\n\n if (replaceableSlots.length) {\n return { can: true, replace: replaceableSlots.map((it) => it.chat!), slots: myBoosts }\n }\n\n return { can: false, reason: 'no_slots', slots: myBoosts }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"iter-boosters.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/premium/iter-boosters.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,YAAY,CAC/B,MAAuB,EACvB,MAAqB,EACrB,MAeC;IAED,IAAI,CAAC,MAAM;QAAE,MAAM,GAAG,EAAE,CAAA;IACxB,MAAM,EAAE,KAAK,GAAG,QAAQ,EAAE,SAAS,GAAG,GAAG,EAAE,GAAG,MAAM,CAAA;IAEpD,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;IACvB,IAAI,OAAO,GAAG,CAAC,CAAA;IAEf,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE9C,SAAS;QACL,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE;YACtC,MAAM;YACN,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,OAAO,EAAE,SAAS,CAAC;SAC9C,CAAC,CAAA;QAEF,KAAK,MAAM,OAAO,IAAI,GAAG,EAAE;YACvB,MAAM,OAAO,CAAA;YAEb,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","sourcesContent":["import { ITelegramClient } from '../../client.types.js'\nimport { InputPeerLike } from '../../types/index.js'\nimport { Boost } from '../../types/premium/boost.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\nimport { getBoosts } from './get-boosts.js'\n\n/**\n * Iterate over boosters of a channel.\n *\n * Wrapper over {@link getBoosters}\n *\n * @returns IDs of stories that were removed\n */\nexport async function* iterBoosters(\n client: ITelegramClient,\n peerId: InputPeerLike,\n params?: Parameters<typeof getBoosts>[2] & {\n /**\n * Total number of boosters to fetch\n *\n * @default Infinity, i.e. fetch all boosters\n */\n limit?: number\n\n /**\n * Number of boosters to fetch per request\n * Usually you don't need to change this\n *\n * @default 100\n */\n chunkSize?: number\n },\n): AsyncIterableIterator<Boost> {\n if (!params) params = {}\n const { limit = Infinity, chunkSize = 100 } = params\n\n let { offset } = params\n let current = 0\n\n const peer = await resolvePeer(client, peerId)\n\n for (;;) {\n const res = await getBoosts(client, peer, {\n offset,\n limit: Math.min(limit - current, chunkSize),\n })\n\n for (const booster of res) {\n yield booster\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-boosters.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/premium/iter-boosters.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,YAAY,CAC/B,MAAuB,EACvB,MAAqB,EACrB,MAeC;IAED,IAAI,CAAC,MAAM;QAAE,MAAM,GAAG,EAAE,CAAA;IACxB,MAAM,EAAE,KAAK,GAAG,QAAQ,EAAE,SAAS,GAAG,GAAG,EAAE,GAAG,MAAM,CAAA;IAEpD,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;IACvB,IAAI,OAAO,GAAG,CAAC,CAAA;IAEf,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE9C,SAAS,CAAC;QACN,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE;YACtC,MAAM;YACN,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,OAAO,EAAE,SAAS,CAAC;SAC9C,CAAC,CAAA;QAEF,KAAK,MAAM,OAAO,IAAI,GAAG,EAAE,CAAC;YACxB,MAAM,OAAO,CAAA;YAEb,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","sourcesContent":["import { ITelegramClient } from '../../client.types.js'\nimport { InputPeerLike } from '../../types/index.js'\nimport { Boost } from '../../types/premium/boost.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\nimport { getBoosts } from './get-boosts.js'\n\n/**\n * Iterate over boosters of a channel.\n *\n * Wrapper over {@link getBoosters}\n *\n * @returns IDs of stories that were removed\n */\nexport async function* iterBoosters(\n client: ITelegramClient,\n peerId: InputPeerLike,\n params?: Parameters<typeof getBoosts>[2] & {\n /**\n * Total number of boosters to fetch\n *\n * @default Infinity, i.e. fetch all boosters\n */\n limit?: number\n\n /**\n * Number of boosters to fetch per request\n * Usually you don't need to change this\n *\n * @default 100\n */\n chunkSize?: number\n },\n): AsyncIterableIterator<Boost> {\n if (!params) params = {}\n const { limit = Infinity, chunkSize = 100 } = params\n\n let { offset } = params\n let current = 0\n\n const peer = await resolvePeer(client, peerId)\n\n for (;;) {\n const res = await getBoosts(client, peer, {\n offset,\n limit: Math.min(limit - current, chunkSize),\n })\n\n for (const booster of res) {\n yield booster\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":"create-sticker-set.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/stickers/create-sticker-set.ts"],"names":[],"mappings":"AAGA,OAAO,EAIH,yBAAyB,EACzB,UAAU,GAGb,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAA;AACjF,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAEtD;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAClC,MAAuB,EACvB,MAuEC;IAED,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;IAErD,MAAM,aAAa,GAAiC,EAAE,CAAA;IAEtD,IAAI,CAAC,GAAG,CAAC,CAAA;IAET,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE;QACnC,MAAM,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;QAE/D,aAAa,CAAC,IAAI,CAAC;YACf,CAAC,EAAE,qBAAqB;YACxB,QAAQ,EAAE,MAAM,wBAAwB,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE;gBAC3D,gBAAgB;aACnB,CAAC;YACF,KAAK,EAAE,OAAO,CAAC,MAAM;YACrB,UAAU,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;gBAC9B;oBACI,CAAC,EAAE,YAAY;oBACf,CAAC,EAAE,yBAAyB,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC;oBACxD,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;oBACzB,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;oBACzB,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK;iBACnC,CAAC,CAAC;gBACH,SAAS;SAChB,CAAC,CAAA;QAEF,CAAC,IAAI,CAAC,CAAA;KACT;IAED,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC1B,CAAC,EAAE,2BAA2B;QAC9B,QAAQ,EAAE,MAAM,CAAC,UAAU,KAAK,UAAU;QAC1C,MAAM,EAAE,MAAM,CAAC,UAAU,KAAK,OAAO;QACrC,KAAK,EAAE,MAAM,CAAC,IAAI,KAAK,MAAM;QAC7B,MAAM,EAAE,MAAM,CAAC,IAAI,KAAK,OAAO;QAC/B,SAAS,EAAE,MAAM,CAAC,QAAQ;QAC1B,MAAM,EAAE,KAAK;QACb,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,QAAQ,EAAE,aAAa;QACvB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,wBAAwB,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;KAC7F,CAAC,CAAA;IAEF,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,CAAA;AAC9B,CAAC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { ITelegramClient } from '../../client.types.js'\nimport {\n InputFileLike,\n InputPeerLike,\n InputStickerSetItem,\n MASK_POSITION_POINT_TO_TL,\n StickerSet,\n StickerSourceType,\n StickerType,\n} from '../../types/index.js'\nimport { _normalizeFileToDocument } from '../files/normalize-file-to-document.js'\nimport { resolveUser } from '../users/resolve-peer.js'\n\n/**\n * Create a new sticker set.\n *\n * This is the only sticker-related method that\n * users can use (they allowed it with the \"import stickers\" update)\n *\n * @param params\n * @returns Newly created sticker set\n */\nexport async function createStickerSet(\n client: ITelegramClient,\n params: {\n /**\n * Owner of the sticker set (must be user).\n *\n * If this pack is created from a user account,\n * can only be `\"self\"`\n */\n owner: InputPeerLike\n\n /**\n * Title of the sticker set (1-64 chars)\n */\n title: string\n\n /**\n * Short name of the sticker set.\n * Can only contain English letters, digits and underscores\n * (i.e. must match `/^[a-zA-Z0-9_]+$/),\n * and (for bots) must end with `_by_<bot username>`\n * (`<bot username>` is case-insensitive).\n */\n shortName: string\n\n /**\n * Type of the stickers in this set.\n *\n * @default `sticker`, i.e. regular stickers.\n */\n type?: StickerType\n\n /**\n * File source type for the stickers in this set.\n *\n * @default `static`, i.e. regular WEBP stickers.\n */\n sourceType?: StickerSourceType\n\n /**\n * Whether to create \"adaptive\" emoji set.\n *\n * Color of the emoji will be changed depending on the text color.\n * Only works for TGS-based emoji stickers\n */\n adaptive?: boolean\n\n /**\n * List of stickers to be immediately added into the pack.\n * There must be at least one sticker in this list.\n */\n stickers: InputStickerSetItem[]\n\n /**\n * Thumbnail for the set.\n *\n * The file must be either a `.png` file\n * up to 128kb, having size of exactly `100x100` px,\n * or a `.tgs` file up to 32kb.\n *\n * If not set, Telegram will use the first sticker\n * in the sticker set as the thumbnail\n */\n thumb?: InputFileLike\n\n /**\n * Upload progress callback.\n *\n * @param idx Index of the sticker\n * @param uploaded Number of bytes uploaded\n * @param total Total file size\n */\n progressCallback?: (idx: number, uploaded: number, total: number) => void\n },\n): Promise<StickerSet> {\n const owner = await resolveUser(client, params.owner)\n\n const inputStickers: tl.TypeInputStickerSetItem[] = []\n\n let i = 0\n\n for (const sticker of params.stickers) {\n const progressCallback = params.progressCallback?.bind(null, i)\n\n inputStickers.push({\n _: 'inputStickerSetItem',\n document: await _normalizeFileToDocument(client, sticker.file, {\n progressCallback,\n }),\n emoji: sticker.emojis,\n maskCoords: sticker.maskPosition ?\n {\n _: 'maskCoords',\n n: MASK_POSITION_POINT_TO_TL[sticker.maskPosition.point],\n x: sticker.maskPosition.x,\n y: sticker.maskPosition.y,\n zoom: sticker.maskPosition.scale,\n } :\n undefined,\n })\n\n i += 1\n }\n\n const res = await client.call({\n _: 'stickers.createStickerSet',\n animated: params.sourceType === 'animated',\n videos: params.sourceType === 'video',\n masks: params.type === 'mask',\n emojis: params.type === 'emoji',\n textColor: params.adaptive,\n userId: owner,\n title: params.title,\n shortName: params.shortName,\n stickers: inputStickers,\n thumb: params.thumb ? await _normalizeFileToDocument(client, params.thumb, {}) : undefined,\n })\n\n return new StickerSet(res)\n}\n"]}
1
+ {"version":3,"file":"create-sticker-set.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/stickers/create-sticker-set.ts"],"names":[],"mappings":"AAGA,OAAO,EAIH,yBAAyB,EACzB,UAAU,GAGb,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAA;AACjF,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAEtD;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAClC,MAAuB,EACvB,MAuEC;IAED,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;IAErD,MAAM,aAAa,GAAiC,EAAE,CAAA;IAEtD,IAAI,CAAC,GAAG,CAAC,CAAA;IAET,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpC,MAAM,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;QAE/D,aAAa,CAAC,IAAI,CAAC;YACf,CAAC,EAAE,qBAAqB;YACxB,QAAQ,EAAE,MAAM,wBAAwB,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE;gBAC3D,gBAAgB;aACnB,CAAC;YACF,KAAK,EAAE,OAAO,CAAC,MAAM;YACrB,UAAU,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;gBAC9B;oBACI,CAAC,EAAE,YAAY;oBACf,CAAC,EAAE,yBAAyB,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC;oBACxD,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;oBACzB,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;oBACzB,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK;iBACnC,CAAC,CAAC;gBACH,SAAS;SAChB,CAAC,CAAA;QAEF,CAAC,IAAI,CAAC,CAAA;IACV,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC1B,CAAC,EAAE,2BAA2B;QAC9B,QAAQ,EAAE,MAAM,CAAC,UAAU,KAAK,UAAU;QAC1C,MAAM,EAAE,MAAM,CAAC,UAAU,KAAK,OAAO;QACrC,KAAK,EAAE,MAAM,CAAC,IAAI,KAAK,MAAM;QAC7B,MAAM,EAAE,MAAM,CAAC,IAAI,KAAK,OAAO;QAC/B,SAAS,EAAE,MAAM,CAAC,QAAQ;QAC1B,MAAM,EAAE,KAAK;QACb,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,QAAQ,EAAE,aAAa;QACvB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,wBAAwB,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;KAC7F,CAAC,CAAA;IAEF,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,CAAA;AAC9B,CAAC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { ITelegramClient } from '../../client.types.js'\nimport {\n InputFileLike,\n InputPeerLike,\n InputStickerSetItem,\n MASK_POSITION_POINT_TO_TL,\n StickerSet,\n StickerSourceType,\n StickerType,\n} from '../../types/index.js'\nimport { _normalizeFileToDocument } from '../files/normalize-file-to-document.js'\nimport { resolveUser } from '../users/resolve-peer.js'\n\n/**\n * Create a new sticker set.\n *\n * This is the only sticker-related method that\n * users can use (they allowed it with the \"import stickers\" update)\n *\n * @param params\n * @returns Newly created sticker set\n */\nexport async function createStickerSet(\n client: ITelegramClient,\n params: {\n /**\n * Owner of the sticker set (must be user).\n *\n * If this pack is created from a user account,\n * can only be `\"self\"`\n */\n owner: InputPeerLike\n\n /**\n * Title of the sticker set (1-64 chars)\n */\n title: string\n\n /**\n * Short name of the sticker set.\n * Can only contain English letters, digits and underscores\n * (i.e. must match `/^[a-zA-Z0-9_]+$/),\n * and (for bots) must end with `_by_<bot username>`\n * (`<bot username>` is case-insensitive).\n */\n shortName: string\n\n /**\n * Type of the stickers in this set.\n *\n * @default `sticker`, i.e. regular stickers.\n */\n type?: StickerType\n\n /**\n * File source type for the stickers in this set.\n *\n * @default `static`, i.e. regular WEBP stickers.\n */\n sourceType?: StickerSourceType\n\n /**\n * Whether to create \"adaptive\" emoji set.\n *\n * Color of the emoji will be changed depending on the text color.\n * Only works for TGS-based emoji stickers\n */\n adaptive?: boolean\n\n /**\n * List of stickers to be immediately added into the pack.\n * There must be at least one sticker in this list.\n */\n stickers: InputStickerSetItem[]\n\n /**\n * Thumbnail for the set.\n *\n * The file must be either a `.png` file\n * up to 128kb, having size of exactly `100x100` px,\n * or a `.tgs` file up to 32kb.\n *\n * If not set, Telegram will use the first sticker\n * in the sticker set as the thumbnail\n */\n thumb?: InputFileLike\n\n /**\n * Upload progress callback.\n *\n * @param idx Index of the sticker\n * @param uploaded Number of bytes uploaded\n * @param total Total file size\n */\n progressCallback?: (idx: number, uploaded: number, total: number) => void\n },\n): Promise<StickerSet> {\n const owner = await resolveUser(client, params.owner)\n\n const inputStickers: tl.TypeInputStickerSetItem[] = []\n\n let i = 0\n\n for (const sticker of params.stickers) {\n const progressCallback = params.progressCallback?.bind(null, i)\n\n inputStickers.push({\n _: 'inputStickerSetItem',\n document: await _normalizeFileToDocument(client, sticker.file, {\n progressCallback,\n }),\n emoji: sticker.emojis,\n maskCoords: sticker.maskPosition ?\n {\n _: 'maskCoords',\n n: MASK_POSITION_POINT_TO_TL[sticker.maskPosition.point],\n x: sticker.maskPosition.x,\n y: sticker.maskPosition.y,\n zoom: sticker.maskPosition.scale,\n } :\n undefined,\n })\n\n i += 1\n }\n\n const res = await client.call({\n _: 'stickers.createStickerSet',\n animated: params.sourceType === 'animated',\n videos: params.sourceType === 'video',\n masks: params.type === 'mask',\n emojis: params.type === 'emoji',\n textColor: params.adaptive,\n userId: owner,\n title: params.title,\n shortName: params.shortName,\n stickers: inputStickers,\n thumb: params.thumb ? await _normalizeFileToDocument(client, params.thumb, {}) : undefined,\n })\n\n return new StickerSet(res)\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"delete-sticker-from-set.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/stickers/delete-sticker-from-set.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAI1C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAA;AAEtE;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACtC,MAAuB,EACvB,OAA2E;IAE3E,IAAI,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE;QAChC,OAAO,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAA;KAC3C;IAED,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC1B,CAAC,EAAE,+BAA+B;QAClC,OAAO;KACV,CAAC,CAAA;IAEF,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,CAAA;AAC9B,CAAC","sourcesContent":["import { tdFileId } from '@mtcute/file-id'\nimport { tl } from '@mtcute/tl'\n\nimport { ITelegramClient } from '../../client.types.js'\nimport { StickerSet } from '../../types/index.js'\nimport { fileIdToInputDocument } from '../../utils/convert-file-id.js'\n\n/**\n * Delete a sticker from a sticker set\n *\n * Only for bots, and the sticker set must\n * have been created by this bot.\n *\n * @param sticker\n * TDLib and Bot API compatible File ID, or a\n * TL object representing a sticker to be removed\n * @returns Modfiied sticker set\n */\nexport async function deleteStickerFromSet(\n client: ITelegramClient,\n sticker: string | tdFileId.RawFullRemoteFileLocation | tl.TypeInputDocument,\n): Promise<StickerSet> {\n if (tdFileId.isFileIdLike(sticker)) {\n sticker = fileIdToInputDocument(sticker)\n }\n\n const res = await client.call({\n _: 'stickers.removeStickerFromSet',\n sticker,\n })\n\n return new StickerSet(res)\n}\n"]}
1
+ {"version":3,"file":"delete-sticker-from-set.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/stickers/delete-sticker-from-set.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAI1C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAA;AAEtE;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACtC,MAAuB,EACvB,OAA2E;IAE3E,IAAI,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;QACjC,OAAO,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAA;IAC5C,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC1B,CAAC,EAAE,+BAA+B;QAClC,OAAO;KACV,CAAC,CAAA;IAEF,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,CAAA;AAC9B,CAAC","sourcesContent":["import { tdFileId } from '@mtcute/file-id'\nimport { tl } from '@mtcute/tl'\n\nimport { ITelegramClient } from '../../client.types.js'\nimport { StickerSet } from '../../types/index.js'\nimport { fileIdToInputDocument } from '../../utils/convert-file-id.js'\n\n/**\n * Delete a sticker from a sticker set\n *\n * Only for bots, and the sticker set must\n * have been created by this bot.\n *\n * @param sticker\n * TDLib and Bot API compatible File ID, or a\n * TL object representing a sticker to be removed\n * @returns Modfiied sticker set\n */\nexport async function deleteStickerFromSet(\n client: ITelegramClient,\n sticker: string | tdFileId.RawFullRemoteFileLocation | tl.TypeInputDocument,\n): Promise<StickerSet> {\n if (tdFileId.isFileIdLike(sticker)) {\n sticker = fileIdToInputDocument(sticker)\n }\n\n const res = await client.call({\n _: 'stickers.removeStickerFromSet',\n sticker,\n })\n\n return new StickerSet(res)\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"get-custom-emojis.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/stickers/get-custom-emojis.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAE/D,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AAGhE,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAA;AAEnE;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,MAAuB,EAAE,GAAc;IACzE,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC1B,CAAC,EAAE,kCAAkC;QACrC,UAAU,EAAE,GAAG;KAClB,CAAC,CAAA;IAEF,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QAClB,YAAY,CAAC,iBAAiB,EAAE,EAAE,EAAE,UAAU,CAAC,CAAA;QAE/C,MAAM,GAAG,GAAG,aAAa,CAAC,EAAE,CAAC,CAAA;QAE7B,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE;YACxB,MAAM,IAAI,oBAAoB,CAAC,iBAAiB,EAAE,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;SACzE;QAED,OAAO,GAAG,CAAA;IACd,CAAC,CAAC,CAAA;AACN,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC7C,MAAuB,EACvB,QAA6B;IAE7B,MAAM,GAAG,GAAG,IAAI,OAAO,EAAE,CAAA;IAEzB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;QAAE,QAAQ,GAAG,CAAC,QAAQ,CAAC,CAAA;IAEnD,KAAK,MAAM,EAAE,GAAG,EAAE,IAAI,QAAQ,EAAE;QAC5B,IAAI,GAAG,CAAC,CAAC,KAAK,gBAAgB,IAAI,CAAC,GAAG,CAAC,QAAQ;YAAE,SAAQ;QAEzD,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE;YAC/B,IAAI,MAAM,CAAC,CAAC,KAAK,0BAA0B,EAAE;gBACzC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;aAC7B;SACJ;KACJ;IAED,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,EAAE,CAAA;IACzB,IAAI,CAAC,GAAG,CAAC,MAAM;QAAE,OAAO,EAAE,CAAA;IAE1B,OAAO,eAAe,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AACvC,CAAC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MtTypeAssertionError } from '../../../types/errors.js'\nimport { MaybeArray } from '../../../types/utils.js'\nimport { LongSet } from '../../../utils/long-utils.js'\nimport { assertTypeIs } from '../../../utils/type-assertions.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { Message, Sticker } from '../../types/index.js'\nimport { parseDocument } from '../../types/media/document-utils.js'\n\n/**\n * Get custom emoji stickers by their IDs\n *\n * @param ids IDs of the stickers (as defined in {@link MessageEntity.emojiId})\n */\nexport async function getCustomEmojis(client: ITelegramClient, ids: tl.Long[]): Promise<Sticker[]> {\n const res = await client.call({\n _: 'messages.getCustomEmojiDocuments',\n documentId: ids,\n })\n\n return res.map((it) => {\n assertTypeIs('getCustomEmojis', it, 'document')\n\n const doc = parseDocument(it)\n\n if (doc.type !== 'sticker') {\n throw new MtTypeAssertionError('getCustomEmojis', 'sticker', doc.type)\n }\n\n return doc\n })\n}\n\n/**\n * Given one or more messages, extract all unique custom emojis from it and fetch them\n */\nexport async function getCustomEmojisFromMessages(\n client: ITelegramClient,\n messages: MaybeArray<Message>,\n): Promise<Sticker[]> {\n const set = new LongSet()\n\n if (!Array.isArray(messages)) messages = [messages]\n\n for (const { raw } of messages) {\n if (raw._ === 'messageService' || !raw.entities) continue\n\n for (const entity of raw.entities) {\n if (entity._ === 'messageEntityCustomEmoji') {\n set.add(entity.documentId)\n }\n }\n }\n\n const arr = set.toArray()\n if (!arr.length) return []\n\n return getCustomEmojis(client, arr)\n}\n"]}
1
+ {"version":3,"file":"get-custom-emojis.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/stickers/get-custom-emojis.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAE/D,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AAGhE,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAA;AAEnE;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,MAAuB,EAAE,GAAc;IACzE,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC1B,CAAC,EAAE,kCAAkC;QACrC,UAAU,EAAE,GAAG;KAClB,CAAC,CAAA;IAEF,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QAClB,YAAY,CAAC,iBAAiB,EAAE,EAAE,EAAE,UAAU,CAAC,CAAA;QAE/C,MAAM,GAAG,GAAG,aAAa,CAAC,EAAE,CAAC,CAAA;QAE7B,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,oBAAoB,CAAC,iBAAiB,EAAE,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;QAC1E,CAAC;QAED,OAAO,GAAG,CAAA;IACd,CAAC,CAAC,CAAA;AACN,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC7C,MAAuB,EACvB,QAA6B;IAE7B,MAAM,GAAG,GAAG,IAAI,OAAO,EAAE,CAAA;IAEzB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;QAAE,QAAQ,GAAG,CAAC,QAAQ,CAAC,CAAA;IAEnD,KAAK,MAAM,EAAE,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC;QAC7B,IAAI,GAAG,CAAC,CAAC,KAAK,gBAAgB,IAAI,CAAC,GAAG,CAAC,QAAQ;YAAE,SAAQ;QAEzD,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YAChC,IAAI,MAAM,CAAC,CAAC,KAAK,0BAA0B,EAAE,CAAC;gBAC1C,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;YAC9B,CAAC;QACL,CAAC;IACL,CAAC;IAED,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,EAAE,CAAA;IACzB,IAAI,CAAC,GAAG,CAAC,MAAM;QAAE,OAAO,EAAE,CAAA;IAE1B,OAAO,eAAe,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AACvC,CAAC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MtTypeAssertionError } from '../../../types/errors.js'\nimport { MaybeArray } from '../../../types/utils.js'\nimport { LongSet } from '../../../utils/long-utils.js'\nimport { assertTypeIs } from '../../../utils/type-assertions.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { Message, Sticker } from '../../types/index.js'\nimport { parseDocument } from '../../types/media/document-utils.js'\n\n/**\n * Get custom emoji stickers by their IDs\n *\n * @param ids IDs of the stickers (as defined in {@link MessageEntity.emojiId})\n */\nexport async function getCustomEmojis(client: ITelegramClient, ids: tl.Long[]): Promise<Sticker[]> {\n const res = await client.call({\n _: 'messages.getCustomEmojiDocuments',\n documentId: ids,\n })\n\n return res.map((it) => {\n assertTypeIs('getCustomEmojis', it, 'document')\n\n const doc = parseDocument(it)\n\n if (doc.type !== 'sticker') {\n throw new MtTypeAssertionError('getCustomEmojis', 'sticker', doc.type)\n }\n\n return doc\n })\n}\n\n/**\n * Given one or more messages, extract all unique custom emojis from it and fetch them\n */\nexport async function getCustomEmojisFromMessages(\n client: ITelegramClient,\n messages: MaybeArray<Message>,\n): Promise<Sticker[]> {\n const set = new LongSet()\n\n if (!Array.isArray(messages)) messages = [messages]\n\n for (const { raw } of messages) {\n if (raw._ === 'messageService' || !raw.entities) continue\n\n for (const entity of raw.entities) {\n if (entity._ === 'messageEntityCustomEmoji') {\n set.add(entity.documentId)\n }\n }\n }\n\n const arr = set.toArray()\n if (!arr.length) return []\n\n return getCustomEmojis(client, arr)\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"move-sticker-in-set.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/stickers/move-sticker-in-set.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAI1C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAA;AAEtE;;;;;;;;;;;;GAYG;AAEH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAClC,MAAuB,EACvB,OAA2E,EAC3E,QAAgB;IAEhB,IAAI,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE;QAChC,OAAO,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAA;KAC3C;IAED,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC1B,CAAC,EAAE,gCAAgC;QACnC,OAAO;QACP,QAAQ;KACX,CAAC,CAAA;IAEF,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,CAAA;AAC9B,CAAC","sourcesContent":["import { tdFileId } from '@mtcute/file-id'\nimport { tl } from '@mtcute/tl'\n\nimport { ITelegramClient } from '../../client.types.js'\nimport { StickerSet } from '../../types/index.js'\nimport { fileIdToInputDocument } from '../../utils/convert-file-id.js'\n\n/**\n * Move a sticker in a sticker set\n * to another position\n *\n * Only for bots, and the sticker set must\n * have been created by this bot.\n *\n * @param sticker\n * TDLib and Bot API compatible File ID, or a\n * TL object representing a sticker to be removed\n * @param position New sticker position (starting from 0)\n * @returns Modfiied sticker set\n */\n\nexport async function moveStickerInSet(\n client: ITelegramClient,\n sticker: string | tdFileId.RawFullRemoteFileLocation | tl.TypeInputDocument,\n position: number,\n): Promise<StickerSet> {\n if (tdFileId.isFileIdLike(sticker)) {\n sticker = fileIdToInputDocument(sticker)\n }\n\n const res = await client.call({\n _: 'stickers.changeStickerPosition',\n sticker,\n position,\n })\n\n return new StickerSet(res)\n}\n"]}
1
+ {"version":3,"file":"move-sticker-in-set.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/stickers/move-sticker-in-set.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAI1C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAA;AAEtE;;;;;;;;;;;;GAYG;AAEH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAClC,MAAuB,EACvB,OAA2E,EAC3E,QAAgB;IAEhB,IAAI,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;QACjC,OAAO,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAA;IAC5C,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC1B,CAAC,EAAE,gCAAgC;QACnC,OAAO;QACP,QAAQ;KACX,CAAC,CAAA;IAEF,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,CAAA;AAC9B,CAAC","sourcesContent":["import { tdFileId } from '@mtcute/file-id'\nimport { tl } from '@mtcute/tl'\n\nimport { ITelegramClient } from '../../client.types.js'\nimport { StickerSet } from '../../types/index.js'\nimport { fileIdToInputDocument } from '../../utils/convert-file-id.js'\n\n/**\n * Move a sticker in a sticker set\n * to another position\n *\n * Only for bots, and the sticker set must\n * have been created by this bot.\n *\n * @param sticker\n * TDLib and Bot API compatible File ID, or a\n * TL object representing a sticker to be removed\n * @param position New sticker position (starting from 0)\n * @returns Modfiied sticker set\n */\n\nexport async function moveStickerInSet(\n client: ITelegramClient,\n sticker: string | tdFileId.RawFullRemoteFileLocation | tl.TypeInputDocument,\n position: number,\n): Promise<StickerSet> {\n if (tdFileId.isFileIdLike(sticker)) {\n sticker = fileIdToInputDocument(sticker)\n }\n\n const res = await client.call({\n _: 'stickers.changeStickerPosition',\n sticker,\n position,\n })\n\n return new StickerSet(res)\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"can-send-story.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/stories/can-send-story.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAA;AAI/B,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAKtD;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,MAAuB,EAAE,MAAqB;IAC7E,IAAI;QACA,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;YAC1B,CAAC,EAAE,sBAAsB;YACzB,IAAI,EAAE,MAAM,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC;SAC1C,CAAC,CAAA;QACF,IAAI,CAAC,GAAG;YAAE,OAAO,YAAY,CAAA;QAE7B,OAAO,IAAI,CAAA;KACd;IAAC,OAAO,CAAC,EAAE;QACR,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,qBAAqB,CAAC,EAAE;YAC1C,OAAO,YAAY,CAAA;SACtB;QAED,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,iBAAiB,CAAC,EAAE;YACtC,OAAO,aAAa,CAAA;SACvB;QAED,MAAM,CAAC,CAAA;KACV;AACL,CAAC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputPeerLike } from '../../types/index.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\n\n// @exported\nexport type CanSendStoryResult = true | 'need_admin' | 'need_boosts'\n\n/**\n * Check if the current user can post stories as a given peer\n *\n * @param peerId Peer ID whose stories to fetch\n * @returns\n * - `true` if the user can post stories\n * - `\"need_admin\"` if the user is not an admin in the chat\n * - `\"need_boosts\"` if the channel doesn't have enough boosts\n */\nexport async function canSendStory(client: ITelegramClient, peerId: InputPeerLike): Promise<CanSendStoryResult> {\n try {\n const res = await client.call({\n _: 'stories.canSendStory',\n peer: await resolvePeer(client, peerId),\n })\n if (!res) return 'need_admin'\n\n return true\n } catch (e) {\n if (tl.RpcError.is(e, 'CHAT_ADMIN_REQUIRED')) {\n return 'need_admin'\n }\n\n if (tl.RpcError.is(e, 'BOOSTS_REQUIRED')) {\n return 'need_boosts'\n }\n\n throw e\n }\n}\n"]}
1
+ {"version":3,"file":"can-send-story.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/stories/can-send-story.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAA;AAI/B,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAKtD;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,MAAuB,EAAE,MAAqB;IAC7E,IAAI,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;YAC1B,CAAC,EAAE,sBAAsB;YACzB,IAAI,EAAE,MAAM,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC;SAC1C,CAAC,CAAA;QACF,IAAI,CAAC,GAAG;YAAE,OAAO,YAAY,CAAA;QAE7B,OAAO,IAAI,CAAA;IACf,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,qBAAqB,CAAC,EAAE,CAAC;YAC3C,OAAO,YAAY,CAAA;QACvB,CAAC;QAED,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,iBAAiB,CAAC,EAAE,CAAC;YACvC,OAAO,aAAa,CAAA;QACxB,CAAC;QAED,MAAM,CAAC,CAAA;IACX,CAAC;AACL,CAAC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputPeerLike } from '../../types/index.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\n\n// @exported\nexport type CanSendStoryResult = true | 'need_admin' | 'need_boosts'\n\n/**\n * Check if the current user can post stories as a given peer\n *\n * @param peerId Peer ID whose stories to fetch\n * @returns\n * - `true` if the user can post stories\n * - `\"need_admin\"` if the user is not an admin in the chat\n * - `\"need_boosts\"` if the channel doesn't have enough boosts\n */\nexport async function canSendStory(client: ITelegramClient, peerId: InputPeerLike): Promise<CanSendStoryResult> {\n try {\n const res = await client.call({\n _: 'stories.canSendStory',\n peer: await resolvePeer(client, peerId),\n })\n if (!res) return 'need_admin'\n\n return true\n } catch (e) {\n if (tl.RpcError.is(e, 'CHAT_ADMIN_REQUIRED')) {\n return 'need_admin'\n }\n\n if (tl.RpcError.is(e, 'BOOSTS_REQUIRED')) {\n return 'need_boosts'\n }\n\n throw e\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"edit-story.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/stories/edit-story.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAA;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAA;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAExD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC3B,MAAuB,EACvB,MAkCC;IAED,MAAM,EAAE,EAAE,EAAE,IAAI,GAAG,IAAI,EAAE,mBAAmB,EAAE,GAAG,MAAM,CAAA;IAEvD,IAAI,OAAO,GAAuB,SAAS,CAAA;IAC3C,IAAI,QAA4C,CAAA;IAChD,IAAI,KAAK,GAAkC,SAAS,CAAA;IAEpD,IAAI,MAAM,CAAC,KAAK,EAAE;QACd,KAAK,GAAG,MAAM,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;QAExD,wEAAwE;QACxE,+EAA+E;QAC/E,IAAI,SAAS,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE;YACjE,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;SAChF;KACJ;IAED,IAAI,MAAM,CAAC,OAAO,EAAE;QAChB,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;KAC1E;IAED,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAEhH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC1B,CAAC,EAAE,mBAAmB;QACtB,IAAI,EAAE,MAAM,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC;QACrC,EAAE;QACF,KAAK;QACL,UAAU,EAAE,mBAAmB;QAC/B,OAAO;QACP,QAAQ;QACR,YAAY;KACf,CAAC,CAAA;IAEF,OAAO,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AAC1C,CAAC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputMediaLike, InputPeerLike, InputPrivacyRule, InputText, Story } from '../../types/index.js'\nimport { _normalizeInputMedia } from '../files/normalize-input-media.js'\nimport { _normalizePrivacyRules } from '../misc/normalize-privacy-rules.js'\nimport { _normalizeInputText } from '../misc/normalize-text.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\nimport { _findStoryInUpdate } from './find-in-update.js'\n\n/**\n * Edit a sent story\n *\n * @returns Edited story\n */\nexport async function editStory(\n client: ITelegramClient,\n params: {\n /**\n * Story ID to edit\n */\n id: number\n\n /**\n * Peer ID to whose story to edit\n *\n * @default `self`\n */\n peer?: InputPeerLike\n\n /**\n * Media contained in a story. Currently can only be a photo or a video.\n */\n media?: InputMediaLike\n\n /**\n * Override caption for {@link media}\n */\n caption?: InputText\n\n /**\n * Interactive elements to add to the story\n */\n interactiveElements?: tl.TypeMediaArea[]\n\n /**\n * Privacy rules to apply to the story\n *\n * @default \"Everyone\"\n */\n privacyRules?: InputPrivacyRule[]\n },\n): Promise<Story> {\n const { id, peer = 'me', interactiveElements } = params\n\n let caption: string | undefined = undefined\n let entities: tl.TypeMessageEntity[] | undefined\n let media: tl.TypeInputMedia | undefined = undefined\n\n if (params.media) {\n media = await _normalizeInputMedia(client, params.media)\n\n // if there's no caption in input media (i.e. not present or undefined),\n // user wants to keep current caption, thus `content` needs to stay `undefined`\n if ('caption' in params.media && params.media.caption !== undefined) {\n [caption, entities] = await _normalizeInputText(client, params.media.caption)\n }\n }\n\n if (params.caption) {\n [caption, entities] = await _normalizeInputText(client, params.caption)\n }\n\n const privacyRules = params.privacyRules ? await _normalizePrivacyRules(client, params.privacyRules) : undefined\n\n const res = await client.call({\n _: 'stories.editStory',\n peer: await resolvePeer(client, peer),\n id,\n media,\n mediaAreas: interactiveElements,\n caption,\n entities,\n privacyRules,\n })\n\n return _findStoryInUpdate(client, res)\n}\n"]}
1
+ {"version":3,"file":"edit-story.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/stories/edit-story.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAA;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAA;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAExD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC3B,MAAuB,EACvB,MAkCC;IAED,MAAM,EAAE,EAAE,EAAE,IAAI,GAAG,IAAI,EAAE,mBAAmB,EAAE,GAAG,MAAM,CAAA;IAEvD,IAAI,OAAO,GAAuB,SAAS,CAAA;IAC3C,IAAI,QAA4C,CAAA;IAChD,IAAI,KAAK,GAAkC,SAAS,CAAA;IAEpD,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,KAAK,GAAG,MAAM,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;QAExD,wEAAwE;QACxE,+EAA+E;QAC/E,IAAI,SAAS,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAClE,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACjF,CAAC;IACL,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;IAC3E,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAEhH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC1B,CAAC,EAAE,mBAAmB;QACtB,IAAI,EAAE,MAAM,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC;QACrC,EAAE;QACF,KAAK;QACL,UAAU,EAAE,mBAAmB;QAC/B,OAAO;QACP,QAAQ;QACR,YAAY;KACf,CAAC,CAAA;IAEF,OAAO,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AAC1C,CAAC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputMediaLike, InputPeerLike, InputPrivacyRule, InputText, Story } from '../../types/index.js'\nimport { _normalizeInputMedia } from '../files/normalize-input-media.js'\nimport { _normalizePrivacyRules } from '../misc/normalize-privacy-rules.js'\nimport { _normalizeInputText } from '../misc/normalize-text.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\nimport { _findStoryInUpdate } from './find-in-update.js'\n\n/**\n * Edit a sent story\n *\n * @returns Edited story\n */\nexport async function editStory(\n client: ITelegramClient,\n params: {\n /**\n * Story ID to edit\n */\n id: number\n\n /**\n * Peer ID to whose story to edit\n *\n * @default `self`\n */\n peer?: InputPeerLike\n\n /**\n * Media contained in a story. Currently can only be a photo or a video.\n */\n media?: InputMediaLike\n\n /**\n * Override caption for {@link media}\n */\n caption?: InputText\n\n /**\n * Interactive elements to add to the story\n */\n interactiveElements?: tl.TypeMediaArea[]\n\n /**\n * Privacy rules to apply to the story\n *\n * @default \"Everyone\"\n */\n privacyRules?: InputPrivacyRule[]\n },\n): Promise<Story> {\n const { id, peer = 'me', interactiveElements } = params\n\n let caption: string | undefined = undefined\n let entities: tl.TypeMessageEntity[] | undefined\n let media: tl.TypeInputMedia | undefined = undefined\n\n if (params.media) {\n media = await _normalizeInputMedia(client, params.media)\n\n // if there's no caption in input media (i.e. not present or undefined),\n // user wants to keep current caption, thus `content` needs to stay `undefined`\n if ('caption' in params.media && params.media.caption !== undefined) {\n [caption, entities] = await _normalizeInputText(client, params.media.caption)\n }\n }\n\n if (params.caption) {\n [caption, entities] = await _normalizeInputText(client, params.caption)\n }\n\n const privacyRules = params.privacyRules ? await _normalizePrivacyRules(client, params.privacyRules) : undefined\n\n const res = await client.call({\n _: 'stories.editStory',\n peer: await resolvePeer(client, peer),\n id,\n media,\n mediaAreas: interactiveElements,\n caption,\n entities,\n privacyRules,\n })\n\n return _findStoryInUpdate(client, res)\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"find-in-update.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/stories/find-in-update.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAA;AAE/E,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAE7D,gBAAgB;AAChB,MAAM,UAAU,kBAAkB,CAAC,MAAuB,EAAE,GAAmB;IAC3E,oBAAoB,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAA;IAE/C,MAAM,CAAC,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IAEpC,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAClC,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAA;IAEvE,IAAI,CAAC,WAAW,EAAE;QACd,MAAM,IAAI,oBAAoB,CAAC,oCAAoC,EAAE,aAAa,EAAE,MAAM,CAAC,CAAA;KAC9F;IAED,YAAY,CAAC,mBAAmB,EAAE,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;IAEjE,OAAO,IAAI,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AAC9C,CAAC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MtTypeAssertionError } from '../../../types/errors.js'\nimport { assertTypeIs, hasValueAtKey } from '../../../utils/type-assertions.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { PeersIndex, Story } from '../../types/index.js'\nimport { assertIsUpdatesGroup } from '../../updates/utils.js'\n\n/** @internal */\nexport function _findStoryInUpdate(client: ITelegramClient, res: tl.TypeUpdates): Story {\n assertIsUpdatesGroup('_findStoryInUpdate', res)\n\n client.handleClientUpdate(res, true)\n\n const peers = PeersIndex.from(res)\n const updateStory = res.updates.find(hasValueAtKey('_', 'updateStory'))\n\n if (!updateStory) {\n throw new MtTypeAssertionError('_findStoryInUpdate (@ .updates[*])', 'updateStory', 'none')\n }\n\n assertTypeIs('updateStory.story', updateStory.story, 'storyItem')\n\n return new Story(updateStory.story, peers)\n}\n"]}
1
+ {"version":3,"file":"find-in-update.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/stories/find-in-update.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAA;AAE/E,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAE7D,gBAAgB;AAChB,MAAM,UAAU,kBAAkB,CAAC,MAAuB,EAAE,GAAmB;IAC3E,oBAAoB,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAA;IAE/C,MAAM,CAAC,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IAEpC,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAClC,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAA;IAEvE,IAAI,CAAC,WAAW,EAAE,CAAC;QACf,MAAM,IAAI,oBAAoB,CAAC,oCAAoC,EAAE,aAAa,EAAE,MAAM,CAAC,CAAA;IAC/F,CAAC;IAED,YAAY,CAAC,mBAAmB,EAAE,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;IAEjE,OAAO,IAAI,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AAC9C,CAAC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MtTypeAssertionError } from '../../../types/errors.js'\nimport { assertTypeIs, hasValueAtKey } from '../../../utils/type-assertions.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { PeersIndex, Story } from '../../types/index.js'\nimport { assertIsUpdatesGroup } from '../../updates/utils.js'\n\n/** @internal */\nexport function _findStoryInUpdate(client: ITelegramClient, res: tl.TypeUpdates): Story {\n assertIsUpdatesGroup('_findStoryInUpdate', res)\n\n client.handleClientUpdate(res, true)\n\n const peers = PeersIndex.from(res)\n const updateStory = res.updates.find(hasValueAtKey('_', 'updateStory'))\n\n if (!updateStory) {\n throw new MtTypeAssertionError('_findStoryInUpdate (@ .updates[*])', 'updateStory', 'none')\n }\n\n assertTypeIs('updateStory.story', updateStory.story, 'storyItem')\n\n return new Story(updateStory.story, peers)\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"hide-my-stories-views.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/stories/hide-my-stories-views.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAA;AAEjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAA;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAE7D;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACpC,MAAuB,EACvB,MAcC;IAED,MAAM,EAAE,IAAI,GAAG,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,MAAM,IAAI,EAAE,CAAA;IAEnD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC1B,CAAC,EAAE,6BAA6B;QAChC,IAAI;QACJ,MAAM;KACT,CAAC,CAAA;IAEF,oBAAoB,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAA;IAC/C,MAAM,CAAC,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IAEpC,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,0BAA0B,CAAC,CAAC,CAAA;IAE5E,IAAI,CAAC,GAAG,EAAE;QACN,MAAM,IAAI,oBAAoB,CAAC,uCAAuC,EAAE,0BAA0B,EAAE,MAAM,CAAC,CAAA;KAC9G;IAED,OAAO,IAAI,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;AAClD,CAAC","sourcesContent":["import { MtTypeAssertionError } from '../../../types/errors.js'\nimport { hasValueAtKey } from '../../../utils/type-assertions.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { StoriesStealthMode } from '../../types/stories/stealth-mode.js'\nimport { assertIsUpdatesGroup } from '../../updates/utils.js'\n\n/**\n * Hide own stories views (activate so called \"stealth mode\")\n *\n * Currently has a cooldown of 1 hour, and throws FLOOD_WAIT error if it is on cooldown.\n */\nexport async function hideMyStoriesViews(\n client: ITelegramClient,\n params?: {\n /**\n * Whether to hide views from the last 5 minutes\n *\n * @default true\n */\n past?: boolean\n\n /**\n * Whether to hide views for the next 25 minutes\n *\n * @default true\n */\n future?: boolean\n },\n): Promise<StoriesStealthMode> {\n const { past = true, future = true } = params ?? {}\n\n const res = await client.call({\n _: 'stories.activateStealthMode',\n past,\n future,\n })\n\n assertIsUpdatesGroup('hideMyStoriesViews', res)\n client.handleClientUpdate(res, true)\n\n const upd = res.updates.find(hasValueAtKey('_', 'updateStoriesStealthMode'))\n\n if (!upd) {\n throw new MtTypeAssertionError('hideMyStoriesViews (@ res.updates[*])', 'updateStoriesStealthMode', 'none')\n }\n\n return new StoriesStealthMode(upd.stealthMode)\n}\n"]}
1
+ {"version":3,"file":"hide-my-stories-views.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/stories/hide-my-stories-views.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAA;AAEjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAA;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAE7D;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACpC,MAAuB,EACvB,MAcC;IAED,MAAM,EAAE,IAAI,GAAG,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,MAAM,IAAI,EAAE,CAAA;IAEnD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC1B,CAAC,EAAE,6BAA6B;QAChC,IAAI;QACJ,MAAM;KACT,CAAC,CAAA;IAEF,oBAAoB,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAA;IAC/C,MAAM,CAAC,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IAEpC,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,0BAA0B,CAAC,CAAC,CAAA;IAE5E,IAAI,CAAC,GAAG,EAAE,CAAC;QACP,MAAM,IAAI,oBAAoB,CAAC,uCAAuC,EAAE,0BAA0B,EAAE,MAAM,CAAC,CAAA;IAC/G,CAAC;IAED,OAAO,IAAI,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;AAClD,CAAC","sourcesContent":["import { MtTypeAssertionError } from '../../../types/errors.js'\nimport { hasValueAtKey } from '../../../utils/type-assertions.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { StoriesStealthMode } from '../../types/stories/stealth-mode.js'\nimport { assertIsUpdatesGroup } from '../../updates/utils.js'\n\n/**\n * Hide own stories views (activate so called \"stealth mode\")\n *\n * Currently has a cooldown of 1 hour, and throws FLOOD_WAIT error if it is on cooldown.\n */\nexport async function hideMyStoriesViews(\n client: ITelegramClient,\n params?: {\n /**\n * Whether to hide views from the last 5 minutes\n *\n * @default true\n */\n past?: boolean\n\n /**\n * Whether to hide views for the next 25 minutes\n *\n * @default true\n */\n future?: boolean\n },\n): Promise<StoriesStealthMode> {\n const { past = true, future = true } = params ?? {}\n\n const res = await client.call({\n _: 'stories.activateStealthMode',\n past,\n future,\n })\n\n assertIsUpdatesGroup('hideMyStoriesViews', res)\n client.handleClientUpdate(res, true)\n\n const upd = res.updates.find(hasValueAtKey('_', 'updateStoriesStealthMode'))\n\n if (!upd) {\n throw new MtTypeAssertionError('hideMyStoriesViews (@ res.updates[*])', 'updateStoriesStealthMode', 'none')\n }\n\n return new StoriesStealthMode(upd.stealthMode)\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"iter-all-stories.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/stories/iter-all-stories.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAEpD;;;;GAIG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,cAAc,CACjC,MAAuB,EACvB,MAOC;IAED,IAAI,CAAC,MAAM;QAAE,MAAM,GAAG,EAAE,CAAA;IAExB,MAAM,EAAE,QAAQ,EAAE,KAAK,GAAG,QAAQ,EAAE,GAAG,MAAM,CAAA;IAC7C,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;IACvB,IAAI,OAAO,GAAG,CAAC,CAAA;IAEf,SAAS;QACL,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE;YACpC,MAAM;YACN,QAAQ;SACX,CAAC,CAAA;QAEF,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,WAAW,EAAE;YAChC,MAAM,IAAI,CAAA;YAEV,IAAI,EAAE,OAAO,IAAI,KAAK;gBAAE,OAAM;SACjC;QAED,IAAI,CAAC,GAAG,CAAC,OAAO;YAAE,OAAM;QACxB,MAAM,GAAG,GAAG,CAAC,IAAI,CAAA;KACpB;AACL,CAAC","sourcesContent":["import { ITelegramClient } from '../../client.types.js'\nimport { PeerStories } from '../../types/index.js'\nimport { getAllStories } from './get-all-stories.js'\n\n/**\n * Iterate over all stories (e.g. to load the top bar)\n *\n * Wrapper over {@link getAllStories}\n */\nexport async function* iterAllStories(\n client: ITelegramClient,\n params?: Parameters<typeof getAllStories>[1] & {\n /**\n * Maximum number of stories to fetch\n *\n * @default Infinity\n */\n limit?: number\n },\n): AsyncIterableIterator<PeerStories> {\n if (!params) params = {}\n\n const { archived, limit = Infinity } = params\n let { offset } = params\n let current = 0\n\n for (;;) {\n const res = await getAllStories(client, {\n offset,\n archived,\n })\n\n for (const peer of res.peerStories) {\n yield peer\n\n if (++current >= limit) return\n }\n\n if (!res.hasMore) return\n offset = res.next\n }\n}\n"]}
1
+ {"version":3,"file":"iter-all-stories.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/stories/iter-all-stories.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAEpD;;;;GAIG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,cAAc,CACjC,MAAuB,EACvB,MAOC;IAED,IAAI,CAAC,MAAM;QAAE,MAAM,GAAG,EAAE,CAAA;IAExB,MAAM,EAAE,QAAQ,EAAE,KAAK,GAAG,QAAQ,EAAE,GAAG,MAAM,CAAA;IAC7C,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;IACvB,IAAI,OAAO,GAAG,CAAC,CAAA;IAEf,SAAS,CAAC;QACN,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE;YACpC,MAAM;YACN,QAAQ;SACX,CAAC,CAAA;QAEF,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;YACjC,MAAM,IAAI,CAAA;YAEV,IAAI,EAAE,OAAO,IAAI,KAAK;gBAAE,OAAM;QAClC,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,OAAO;YAAE,OAAM;QACxB,MAAM,GAAG,GAAG,CAAC,IAAI,CAAA;IACrB,CAAC;AACL,CAAC","sourcesContent":["import { ITelegramClient } from '../../client.types.js'\nimport { PeerStories } from '../../types/index.js'\nimport { getAllStories } from './get-all-stories.js'\n\n/**\n * Iterate over all stories (e.g. to load the top bar)\n *\n * Wrapper over {@link getAllStories}\n */\nexport async function* iterAllStories(\n client: ITelegramClient,\n params?: Parameters<typeof getAllStories>[1] & {\n /**\n * Maximum number of stories to fetch\n *\n * @default Infinity\n */\n limit?: number\n },\n): AsyncIterableIterator<PeerStories> {\n if (!params) params = {}\n\n const { archived, limit = Infinity } = params\n let { offset } = params\n let current = 0\n\n for (;;) {\n const res = await getAllStories(client, {\n offset,\n archived,\n })\n\n for (const peer of res.peerStories) {\n yield peer\n\n if (++current >= limit) return\n }\n\n if (!res.hasMore) return\n offset = res.next\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"iter-profile-stories.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/stories/iter-profile-stories.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAE5D;;GAEG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,kBAAkB,CACrC,MAAuB,EACvB,MAAqB,EACrB,MAeC;IAED,IAAI,CAAC,MAAM;QAAE,MAAM,GAAG,EAAE,CAAA;IAExB,MAAM,EAAE,IAAI,GAAG,QAAQ,EAAE,KAAK,GAAG,QAAQ,EAAE,SAAS,GAAG,GAAG,EAAE,GAAG,MAAM,CAAA;IAErE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAA;IACzB,IAAI,OAAO,GAAG,CAAC,CAAA;IAEf,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE9C,SAAS;QACL,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,IAAI,EAAE;YAC9C,IAAI;YACJ,QAAQ;YACR,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,OAAO,EAAE,SAAS,CAAC;SAC9C,CAAC,CAAA;QAEF,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE;YACpB,MAAM,IAAI,CAAA;YAEV,IAAI,EAAE,OAAO,IAAI,KAAK;gBAAE,OAAM;SACjC;QAED,IAAI,CAAC,GAAG,CAAC,IAAI;YAAE,OAAM;QACrB,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAA;KACtB;AACL,CAAC","sourcesContent":["import { ITelegramClient } from '../../client.types.js'\nimport { InputPeerLike, Story } from '../../types/index.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\nimport { getProfileStories } from './get-profile-stories.js'\n\n/**\n * Iterate over profile stories. Wrapper over {@link getProfileStories}\n */\nexport async function* iterProfileStories(\n client: ITelegramClient,\n peerId: InputPeerLike,\n params?: Parameters<typeof getProfileStories>[2] & {\n /**\n * Total number of stories to fetch\n *\n * @default `Infinity`, i.e. fetch all stories\n */\n limit?: number\n\n /**\n * Number of stories to fetch per request.\n * Usually you shouldn't care about this.\n *\n * @default 100\n */\n chunkSize?: number\n },\n): AsyncIterableIterator<Story> {\n if (!params) params = {}\n\n const { kind = 'pinned', limit = Infinity, chunkSize = 100 } = params\n\n let { offsetId } = params\n let current = 0\n\n const peer = await resolvePeer(client, peerId)\n\n for (;;) {\n const res = await getProfileStories(client, peer, {\n kind,\n offsetId,\n limit: Math.min(limit - current, chunkSize),\n })\n\n for (const peer of res) {\n yield peer\n\n if (++current >= limit) return\n }\n\n if (!res.next) return\n offsetId = res.next\n }\n}\n"]}
1
+ {"version":3,"file":"iter-profile-stories.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/stories/iter-profile-stories.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAE5D;;GAEG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,kBAAkB,CACrC,MAAuB,EACvB,MAAqB,EACrB,MAeC;IAED,IAAI,CAAC,MAAM;QAAE,MAAM,GAAG,EAAE,CAAA;IAExB,MAAM,EAAE,IAAI,GAAG,QAAQ,EAAE,KAAK,GAAG,QAAQ,EAAE,SAAS,GAAG,GAAG,EAAE,GAAG,MAAM,CAAA;IAErE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAA;IACzB,IAAI,OAAO,GAAG,CAAC,CAAA;IAEf,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE9C,SAAS,CAAC;QACN,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,IAAI,EAAE;YAC9C,IAAI;YACJ,QAAQ;YACR,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,OAAO,EAAE,SAAS,CAAC;SAC9C,CAAC,CAAA;QAEF,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;YACrB,MAAM,IAAI,CAAA;YAEV,IAAI,EAAE,OAAO,IAAI,KAAK;gBAAE,OAAM;QAClC,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,IAAI;YAAE,OAAM;QACrB,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAA;IACvB,CAAC;AACL,CAAC","sourcesContent":["import { ITelegramClient } from '../../client.types.js'\nimport { InputPeerLike, Story } from '../../types/index.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\nimport { getProfileStories } from './get-profile-stories.js'\n\n/**\n * Iterate over profile stories. Wrapper over {@link getProfileStories}\n */\nexport async function* iterProfileStories(\n client: ITelegramClient,\n peerId: InputPeerLike,\n params?: Parameters<typeof getProfileStories>[2] & {\n /**\n * Total number of stories to fetch\n *\n * @default `Infinity`, i.e. fetch all stories\n */\n limit?: number\n\n /**\n * Number of stories to fetch per request.\n * Usually you shouldn't care about this.\n *\n * @default 100\n */\n chunkSize?: number\n },\n): AsyncIterableIterator<Story> {\n if (!params) params = {}\n\n const { kind = 'pinned', limit = Infinity, chunkSize = 100 } = params\n\n let { offsetId } = params\n let current = 0\n\n const peer = await resolvePeer(client, peerId)\n\n for (;;) {\n const res = await getProfileStories(client, peer, {\n kind,\n offsetId,\n limit: Math.min(limit - current, chunkSize),\n })\n\n for (const peer of res) {\n yield peer\n\n if (++current >= limit) return\n }\n\n if (!res.next) return\n offsetId = res.next\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"iter-story-viewers.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/stories/iter-story-viewers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAExD;;;GAGG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,gBAAgB,CACnC,MAAuB,EACvB,MAAqB,EACrB,OAAe,EACf,MAeC;IAED,IAAI,CAAC,MAAM;QAAE,MAAM,GAAG,EAAE,CAAA;IAExB,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,UAAU,EAAE,KAAK,EAAE,KAAK,GAAG,QAAQ,EAAE,SAAS,GAAG,GAAG,EAAE,GAAG,MAAM,CAAA;IAE9F,IAAI,EAAE,MAAM,GAAG,EAAE,EAAE,GAAG,MAAM,CAAA;IAC5B,IAAI,OAAO,GAAG,CAAC,CAAA;IAEf,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE9C,SAAS;QACL,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE;YACrD,YAAY;YACZ,MAAM;YACN,KAAK;YACL,MAAM;YACN,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,OAAO,EAAE,SAAS,CAAC;SAC9C,CAAC,CAAA;QAEF,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,OAAO,EAAE;YAC5B,MAAM,IAAI,CAAA;YAEV,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","sourcesContent":["import { ITelegramClient } from '../../client.types.js'\nimport { InputPeerLike, StoryViewer } from '../../types/index.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\nimport { getStoryViewers } from './get-story-viewers.js'\n\n/**\n * Iterate over viewers list of a story.\n * Wrapper over {@link getStoryViewers}\n */\nexport async function* iterStoryViewers(\n client: ITelegramClient,\n peerId: InputPeerLike,\n storyId: number,\n params?: Parameters<typeof getStoryViewers>[3] & {\n /**\n * Total number of viewers to fetch\n *\n * @default Infinity, i.e. fetch all viewers\n */\n limit?: number\n\n /**\n * Number of viewers to fetch per request.\n * Usually you don't need to change this.\n *\n * @default 100\n */\n chunkSize?: number\n },\n): AsyncIterableIterator<StoryViewer> {\n if (!params) params = {}\n\n const { onlyContacts, sortBy = 'reaction', query, limit = Infinity, chunkSize = 100 } = params\n\n let { offset = '' } = params\n let current = 0\n\n const peer = await resolvePeer(client, peerId)\n\n for (;;) {\n const res = await getStoryViewers(client, peer, storyId, {\n onlyContacts,\n sortBy,\n query,\n offset,\n limit: Math.min(limit - current, chunkSize),\n })\n\n for (const peer of res.viewers) {\n yield peer\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-story-viewers.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/stories/iter-story-viewers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAExD;;;GAGG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,gBAAgB,CACnC,MAAuB,EACvB,MAAqB,EACrB,OAAe,EACf,MAeC;IAED,IAAI,CAAC,MAAM;QAAE,MAAM,GAAG,EAAE,CAAA;IAExB,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,UAAU,EAAE,KAAK,EAAE,KAAK,GAAG,QAAQ,EAAE,SAAS,GAAG,GAAG,EAAE,GAAG,MAAM,CAAA;IAE9F,IAAI,EAAE,MAAM,GAAG,EAAE,EAAE,GAAG,MAAM,CAAA;IAC5B,IAAI,OAAO,GAAG,CAAC,CAAA;IAEf,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE9C,SAAS,CAAC;QACN,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE;YACrD,YAAY;YACZ,MAAM;YACN,KAAK;YACL,MAAM;YACN,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,OAAO,EAAE,SAAS,CAAC;SAC9C,CAAC,CAAA;QAEF,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAC7B,MAAM,IAAI,CAAA;YAEV,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","sourcesContent":["import { ITelegramClient } from '../../client.types.js'\nimport { InputPeerLike, StoryViewer } from '../../types/index.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\nimport { getStoryViewers } from './get-story-viewers.js'\n\n/**\n * Iterate over viewers list of a story.\n * Wrapper over {@link getStoryViewers}\n */\nexport async function* iterStoryViewers(\n client: ITelegramClient,\n peerId: InputPeerLike,\n storyId: number,\n params?: Parameters<typeof getStoryViewers>[3] & {\n /**\n * Total number of viewers to fetch\n *\n * @default Infinity, i.e. fetch all viewers\n */\n limit?: number\n\n /**\n * Number of viewers to fetch per request.\n * Usually you don't need to change this.\n *\n * @default 100\n */\n chunkSize?: number\n },\n): AsyncIterableIterator<StoryViewer> {\n if (!params) params = {}\n\n const { onlyContacts, sortBy = 'reaction', query, limit = Infinity, chunkSize = 100 } = params\n\n let { offset = '' } = params\n let current = 0\n\n const peer = await resolvePeer(client, peerId)\n\n for (;;) {\n const res = await getStoryViewers(client, peer, storyId, {\n onlyContacts,\n sortBy,\n query,\n offset,\n limit: Math.min(limit - current, chunkSize),\n })\n\n for (const peer of res.viewers) {\n yield peer\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":"send-story.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/stories/send-story.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAGzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAA;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAA;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAExD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC3B,MAAuB,EACvB,MAiDC;IAED,MAAM,EAAE,IAAI,GAAG,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;IACnF,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,CAAA;IAEtB,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,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IAC5D,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;QACtC,MAAM,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;QAC3D,CAAC,EAAE,CAAC,EAAE,2BAA2B,EAAW,CAAC,CAAA;IAEjD,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,mBAAmB,CACjD,MAAM;IACN,yDAAyD;IACzD,oFAAoF;IACpF,MAAM,CAAC,OAAO,IAAK,KAAsD,CAAC,OAAO,CACpF,CAAA;IAED,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC1B,CAAC,EAAE,mBAAmB;QACtB,MAAM;QACN,UAAU,EAAE,cAAc;QAC1B,IAAI,EAAE,MAAM,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC;QACrC,KAAK,EAAE,UAAU;QACjB,UAAU,EAAE,mBAAmB;QAC/B,OAAO;QACP,QAAQ;QACR,YAAY;QACZ,QAAQ,EAAE,UAAU,EAAE;QACtB,MAAM;KACT,CAAC,CAAA;IAEF,OAAO,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AAC1C,CAAC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { randomLong } from '../../../utils/long-utils.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputMediaLike, InputPeerLike, InputPrivacyRule, InputText, Story } from '../../types/index.js'\nimport { _normalizeInputMedia } from '../files/normalize-input-media.js'\nimport { _normalizePrivacyRules } from '../misc/normalize-privacy-rules.js'\nimport { _normalizeInputText } from '../misc/normalize-text.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\nimport { _findStoryInUpdate } from './find-in-update.js'\n\n/**\n * Send a story\n *\n * @returns Created story\n */\nexport async function sendStory(\n client: ITelegramClient,\n params: {\n /**\n * Peer ID to send story as\n *\n * @default `self`\n */\n peer?: InputPeerLike\n\n /**\n * Media contained in a story. Currently can only be a photo or a video.\n *\n * You can also pass TDLib and Bot API compatible File ID,\n * which will be wrapped in {@link InputMedia.auto}\n */\n media: InputMediaLike | string\n\n /**\n * Override caption for {@link media}\n */\n caption?: InputText\n\n /**\n * Whether to automatically pin this story to the profile\n */\n pinned?: boolean\n\n /**\n * Whether to disallow sharing this story\n */\n forbidForwards?: boolean\n\n /**\n * Interactive elements to add to the story\n */\n interactiveElements?: tl.TypeMediaArea[]\n\n /**\n * Privacy rules to apply to the story\n *\n * @default \"Everyone\"\n */\n privacyRules?: InputPrivacyRule[]\n\n /**\n * TTL period of the story, in seconds\n *\n * @default 86400\n */\n period?: number\n },\n): Promise<Story> {\n const { peer = 'me', pinned, forbidForwards, interactiveElements, period } = params\n let { media } = 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)\n const privacyRules = params.privacyRules ?\n await _normalizePrivacyRules(client, params.privacyRules) :\n [{ _: 'inputPrivacyValueAllowAll' } as const]\n\n const [caption, 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 res = await client.call({\n _: 'stories.sendStory',\n pinned,\n noforwards: forbidForwards,\n peer: await resolvePeer(client, peer),\n media: inputMedia,\n mediaAreas: interactiveElements,\n caption,\n entities,\n privacyRules,\n randomId: randomLong(),\n period,\n })\n\n return _findStoryInUpdate(client, res)\n}\n"]}
1
+ {"version":3,"file":"send-story.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/stories/send-story.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAGzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAA;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAA;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAExD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC3B,MAAuB,EACvB,MAiDC;IAED,MAAM,EAAE,IAAI,GAAG,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;IACnF,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,CAAA;IAEtB,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,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IAC5D,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;QACtC,MAAM,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;QAC3D,CAAC,EAAE,CAAC,EAAE,2BAA2B,EAAW,CAAC,CAAA;IAEjD,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,mBAAmB,CACjD,MAAM;IACN,yDAAyD;IACzD,oFAAoF;IACpF,MAAM,CAAC,OAAO,IAAK,KAAsD,CAAC,OAAO,CACpF,CAAA;IAED,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC1B,CAAC,EAAE,mBAAmB;QACtB,MAAM;QACN,UAAU,EAAE,cAAc;QAC1B,IAAI,EAAE,MAAM,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC;QACrC,KAAK,EAAE,UAAU;QACjB,UAAU,EAAE,mBAAmB;QAC/B,OAAO;QACP,QAAQ;QACR,YAAY;QACZ,QAAQ,EAAE,UAAU,EAAE;QACtB,MAAM;KACT,CAAC,CAAA;IAEF,OAAO,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AAC1C,CAAC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { randomLong } from '../../../utils/long-utils.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputMediaLike, InputPeerLike, InputPrivacyRule, InputText, Story } from '../../types/index.js'\nimport { _normalizeInputMedia } from '../files/normalize-input-media.js'\nimport { _normalizePrivacyRules } from '../misc/normalize-privacy-rules.js'\nimport { _normalizeInputText } from '../misc/normalize-text.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\nimport { _findStoryInUpdate } from './find-in-update.js'\n\n/**\n * Send a story\n *\n * @returns Created story\n */\nexport async function sendStory(\n client: ITelegramClient,\n params: {\n /**\n * Peer ID to send story as\n *\n * @default `self`\n */\n peer?: InputPeerLike\n\n /**\n * Media contained in a story. Currently can only be a photo or a video.\n *\n * You can also pass TDLib and Bot API compatible File ID,\n * which will be wrapped in {@link InputMedia.auto}\n */\n media: InputMediaLike | string\n\n /**\n * Override caption for {@link media}\n */\n caption?: InputText\n\n /**\n * Whether to automatically pin this story to the profile\n */\n pinned?: boolean\n\n /**\n * Whether to disallow sharing this story\n */\n forbidForwards?: boolean\n\n /**\n * Interactive elements to add to the story\n */\n interactiveElements?: tl.TypeMediaArea[]\n\n /**\n * Privacy rules to apply to the story\n *\n * @default \"Everyone\"\n */\n privacyRules?: InputPrivacyRule[]\n\n /**\n * TTL period of the story, in seconds\n *\n * @default 86400\n */\n period?: number\n },\n): Promise<Story> {\n const { peer = 'me', pinned, forbidForwards, interactiveElements, period } = params\n let { media } = 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)\n const privacyRules = params.privacyRules ?\n await _normalizePrivacyRules(client, params.privacyRules) :\n [{ _: 'inputPrivacyValueAllowAll' } as const]\n\n const [caption, 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 res = await client.call({\n _: 'stories.sendStory',\n pinned,\n noforwards: forbidForwards,\n peer: await resolvePeer(client, peer),\n media: inputMedia,\n mediaAreas: interactiveElements,\n caption,\n entities,\n privacyRules,\n randomId: randomLong(),\n period,\n })\n\n return _findStoryInUpdate(client, res)\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"delete-profile-photos.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/users/delete-profile-photos.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AAEnE;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACrC,MAAuB,EACvB,GAA2C;IAE3C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,GAAG,GAAG,CAAC,GAAG,CAAC,CAAA;IAEpC,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QAC1B,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;YACxB,OAAO,kBAAkB,CAAC,EAAE,CAAC,CAAA;SAChC;QAED,OAAO,EAAE,CAAA;IACb,CAAC,CAAC,CAAA;IAEF,MAAM,MAAM,CAAC,IAAI,CAAC;QACd,CAAC,EAAE,qBAAqB;QACxB,EAAE,EAAE,MAAM;KACb,CAAC,CAAA;AACN,CAAC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MaybeArray } from '../../../types/utils.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { fileIdToInputPhoto } from '../../utils/convert-file-id.js'\n\n/**\n * Delete your own profile photos\n *\n * @param ids ID(s) of the photos. Can be file IDs or raw TL objects\n */\nexport async function deleteProfilePhotos(\n client: ITelegramClient,\n ids: MaybeArray<string | tl.TypeInputPhoto>,\n): Promise<void> {\n if (!Array.isArray(ids)) ids = [ids]\n\n const photos = ids.map((id) => {\n if (typeof id === 'string') {\n return fileIdToInputPhoto(id)\n }\n\n return id\n })\n\n await client.call({\n _: 'photos.deletePhotos',\n id: photos,\n })\n}\n"]}
1
+ {"version":3,"file":"delete-profile-photos.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/users/delete-profile-photos.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AAEnE;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACrC,MAAuB,EACvB,GAA2C;IAE3C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,GAAG,GAAG,CAAC,GAAG,CAAC,CAAA;IAEpC,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QAC1B,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;YACzB,OAAO,kBAAkB,CAAC,EAAE,CAAC,CAAA;QACjC,CAAC;QAED,OAAO,EAAE,CAAA;IACb,CAAC,CAAC,CAAA;IAEF,MAAM,MAAM,CAAC,IAAI,CAAC;QACd,CAAC,EAAE,qBAAqB;QACxB,EAAE,EAAE,MAAM;KACb,CAAC,CAAA;AACN,CAAC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MaybeArray } from '../../../types/utils.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { fileIdToInputPhoto } from '../../utils/convert-file-id.js'\n\n/**\n * Delete your own profile photos\n *\n * @param ids ID(s) of the photos. Can be file IDs or raw TL objects\n */\nexport async function deleteProfilePhotos(\n client: ITelegramClient,\n ids: MaybeArray<string | tl.TypeInputPhoto>,\n): Promise<void> {\n if (!Array.isArray(ids)) ids = [ids]\n\n const photos = ids.map((id) => {\n if (typeof id === 'string') {\n return fileIdToInputPhoto(id)\n }\n\n return id\n })\n\n await client.call({\n _: 'photos.deletePhotos',\n id: photos,\n })\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"get-users.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/users/get-users.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiB,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAExD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,MAAuB,EAAE,GAA8B;IAClF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACrB,gEAAgE;QAChE,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,MAAM,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAA;QAE1E,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;KACtC;IAED,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,WAAW,CAAC,CAAA;IAElE,qCAAqC;IACrC,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;IAEvF,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;AACtD,CAAC","sourcesContent":["import { MaybeArray } from '../../../types/utils.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputPeerLike, User } from '../../types/index.js'\nimport { toInputUser } from '../../utils/peer-utils.js'\nimport { _getUsersBatched } from '../chats/batched-queries.js'\nimport { resolveUser } from './resolve-peer.js'\nimport { resolvePeerMany } from './resolve-peer-many.js'\n\n/**\n * Get information about multiple users.\n * You can retrieve up to 200 users at once.\n *\n * Note that order is not guaranteed.\n *\n * @param ids Users' identifiers. Can be ID, username, phone number, `\"me\"`, `\"self\"` or TL object\n */\nexport async function getUsers(client: ITelegramClient, ids: MaybeArray<InputPeerLike>): Promise<(User | null)[]> {\n if (!Array.isArray(ids)) {\n // avoid unnecessary overhead of Promise.all and resolvePeerMany\n const res = await _getUsersBatched(client, await resolveUser(client, ids))\n\n return [res ? new User(res) : null]\n }\n\n const inputPeers = await resolvePeerMany(client, ids, toInputUser)\n\n // pooling will be done by the helper\n const res = await Promise.all(inputPeers.map((peer) => _getUsersBatched(client, peer)))\n\n return res.map((it) => (it ? new User(it) : null))\n}\n"]}
1
+ {"version":3,"file":"get-users.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/users/get-users.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiB,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAExD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,MAAuB,EAAE,GAA8B;IAClF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACtB,gEAAgE;QAChE,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,MAAM,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAA;QAE1E,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IACvC,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,WAAW,CAAC,CAAA;IAElE,qCAAqC;IACrC,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;IAEvF,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;AACtD,CAAC","sourcesContent":["import { MaybeArray } from '../../../types/utils.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputPeerLike, User } from '../../types/index.js'\nimport { toInputUser } from '../../utils/peer-utils.js'\nimport { _getUsersBatched } from '../chats/batched-queries.js'\nimport { resolveUser } from './resolve-peer.js'\nimport { resolvePeerMany } from './resolve-peer-many.js'\n\n/**\n * Get information about multiple users.\n * You can retrieve up to 200 users at once.\n *\n * Note that order is not guaranteed.\n *\n * @param ids Users' identifiers. Can be ID, username, phone number, `\"me\"`, `\"self\"` or TL object\n */\nexport async function getUsers(client: ITelegramClient, ids: MaybeArray<InputPeerLike>): Promise<(User | null)[]> {\n if (!Array.isArray(ids)) {\n // avoid unnecessary overhead of Promise.all and resolvePeerMany\n const res = await _getUsersBatched(client, await resolveUser(client, ids))\n\n return [res ? new User(res) : null]\n }\n\n const inputPeers = await resolvePeerMany(client, ids, toInputUser)\n\n // pooling will be done by the helper\n const res = await Promise.all(inputPeers.map((peer) => _getUsersBatched(client, peer)))\n\n return res.map((it) => (it ? new User(it) : null))\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"iter-profile-photos.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/users/iter-profile-photos.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C;;;;;GAKG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,iBAAiB,CACpC,MAAuB,EACvB,MAAqB,EACrB,MAcC;IAED,IAAI,CAAC,MAAM;QAAE,MAAM,GAAG,EAAE,CAAA;IAExB,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE9C,MAAM,EAAE,KAAK,GAAG,QAAQ,EAAE,SAAS,GAAG,GAAG,EAAE,GAAG,MAAM,CAAA;IAEpD,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;IACvB,IAAI,OAAO,GAAG,CAAC,CAAA;IAEf,SAAS;QACL,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,IAAI,EAAE;YAC7C,MAAM;YACN,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,GAAG,OAAO,CAAC;SAC9C,CAAC,CAAA;QAEF,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE;YAClB,MAAM,EAAE,CAAA;YAER,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","sourcesContent":["import { ITelegramClient } from '../../client.types.js'\nimport { InputPeerLike, Photo } from '../../types/index.js'\nimport { getProfilePhotos } from './get-profile-photos.js'\nimport { resolveUser } from './resolve-peer.js'\n\n/**\n * Iterate over profile photos\n *\n * @param userId User ID, username, phone number, `\"me\"` or `\"self\"`\n * @param params\n */\nexport async function* iterProfilePhotos(\n client: ITelegramClient,\n userId: InputPeerLike,\n params?: Parameters<typeof getProfilePhotos>[2] & {\n /**\n * Maximum number of items to fetch\n *\n * @default `Infinity`, i.e. all items are fetched\n */\n limit?: number\n\n /**\n * Size of chunks which are fetched. Usually not needed.\n *\n * @default 100\n */\n chunkSize?: number\n },\n): AsyncIterableIterator<Photo> {\n if (!params) params = {}\n\n const peer = await resolveUser(client, userId)\n\n const { limit = Infinity, chunkSize = 100 } = params\n\n let { offset } = params\n let current = 0\n\n for (;;) {\n const res = await getProfilePhotos(client, peer, {\n offset,\n limit: Math.min(chunkSize, limit - current),\n })\n\n for (const it of res) {\n yield it\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-profile-photos.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/users/iter-profile-photos.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C;;;;;GAKG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,iBAAiB,CACpC,MAAuB,EACvB,MAAqB,EACrB,MAcC;IAED,IAAI,CAAC,MAAM;QAAE,MAAM,GAAG,EAAE,CAAA;IAExB,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE9C,MAAM,EAAE,KAAK,GAAG,QAAQ,EAAE,SAAS,GAAG,GAAG,EAAE,GAAG,MAAM,CAAA;IAEpD,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;IACvB,IAAI,OAAO,GAAG,CAAC,CAAA;IAEf,SAAS,CAAC;QACN,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,IAAI,EAAE;YAC7C,MAAM;YACN,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,GAAG,OAAO,CAAC;SAC9C,CAAC,CAAA;QAEF,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;YACnB,MAAM,EAAE,CAAA;YAER,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","sourcesContent":["import { ITelegramClient } from '../../client.types.js'\nimport { InputPeerLike, Photo } from '../../types/index.js'\nimport { getProfilePhotos } from './get-profile-photos.js'\nimport { resolveUser } from './resolve-peer.js'\n\n/**\n * Iterate over profile photos\n *\n * @param userId User ID, username, phone number, `\"me\"` or `\"self\"`\n * @param params\n */\nexport async function* iterProfilePhotos(\n client: ITelegramClient,\n userId: InputPeerLike,\n params?: Parameters<typeof getProfilePhotos>[2] & {\n /**\n * Maximum number of items to fetch\n *\n * @default `Infinity`, i.e. all items are fetched\n */\n limit?: number\n\n /**\n * Size of chunks which are fetched. Usually not needed.\n *\n * @default 100\n */\n chunkSize?: number\n },\n): AsyncIterableIterator<Photo> {\n if (!params) params = {}\n\n const peer = await resolveUser(client, userId)\n\n const { limit = Infinity, chunkSize = 100 } = params\n\n let { offset } = params\n let current = 0\n\n for (;;) {\n const res = await getProfilePhotos(client, peer, {\n offset,\n limit: Math.min(chunkSize, limit - current),\n })\n\n for (const it of res) {\n yield it\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":"resolve-peer-many.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/users/resolve-peer-many.ts"],"names":[],"mappings":"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","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { ConditionVariable } from '../../../utils/condition-variable.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputPeerLike } from '../../types/index.js'\nimport { resolvePeer } from './resolve-peer.js'\n\n/**\n * Get multiple `InputPeer`s at once,\n * while also normalizing and removing\n * peers that can't be normalized to that type.\n *\n * Uses async pool internally, with a concurrent limit of 8\n *\n * @param peerIds Peer Ids\n * @param normalizer Normalization function\n */\nexport async function resolvePeerMany<T extends tl.TypeInputPeer | tl.TypeInputUser | tl.TypeInputChannel>(\n client: ITelegramClient,\n peerIds: InputPeerLike[],\n normalizer: (obj: tl.TypeInputPeer) => T | null,\n): Promise<T[]>\n\n/**\n * Get multiple `InputPeer`s at once.\n *\n * Uses async pool internally, with a concurrent limit of 8\n *\n * @param peerIds Peer Ids\n */\nexport async function resolvePeerMany(client: ITelegramClient, peerIds: InputPeerLike[]): Promise<tl.TypeInputPeer[]>\n\n/**\n * @internal\n */\nexport async function resolvePeerMany(\n client: ITelegramClient,\n peerIds: InputPeerLike[],\n normalizer?: (obj: tl.TypeInputPeer) => tl.TypeInputPeer | tl.TypeInputUser | tl.TypeInputChannel | null,\n): Promise<(tl.TypeInputPeer | tl.TypeInputUser | tl.TypeInputChannel)[]> {\n const ret: (tl.TypeInputPeer | tl.TypeInputUser | tl.TypeInputChannel)[] = []\n\n const limit = 8\n\n if (peerIds.length < limit) {\n // no point in using async pool for <limit peers\n const res = await Promise.all(peerIds.map((it) => resolvePeer(client, it)))\n\n if (!normalizer) return res\n\n for (const value of res) {\n const norm = normalizer(value)\n\n if (norm) {\n ret.push(norm)\n }\n }\n\n return ret\n }\n\n const cv = new ConditionVariable()\n const buffer: Record<number, tl.TypeInputPeer | null> = {}\n\n let nextIdx = 0\n let nextWorkerIdx = 0\n\n const fetchNext = async (idx = nextWorkerIdx++): Promise<void> => {\n const result = await resolvePeer(client, peerIds[idx])\n\n buffer[idx] = result\n\n if (nextIdx === idx) {\n cv.notify()\n }\n\n if (nextWorkerIdx < peerIds.length) {\n await fetchNext(nextWorkerIdx++)\n }\n }\n\n let error: unknown = undefined\n void Promise.all(Array.from({ length: limit }, (_, i) => fetchNext(i))).catch((e) => {\n client.log.debug('resolvePeerMany errored: %s', e.message)\n error = e\n cv.notify()\n })\n\n while (nextIdx < peerIds.length) {\n await cv.wait()\n\n // eslint-disable-next-line @typescript-eslint/no-throw-literal\n if (error) throw error\n\n while (nextIdx in buffer) {\n const buf = buffer[nextIdx]\n delete buffer[nextIdx]\n\n nextIdx++\n\n if (!buf) continue\n\n if (!normalizer) {\n ret.push(buf)\n } else {\n const norm = normalizer(buf)\n\n if (norm) {\n ret.push(norm)\n }\n }\n }\n }\n\n return ret\n}\n"]}
1
+ {"version":3,"file":"resolve-peer-many.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/users/resolve-peer-many.ts"],"names":[],"mappings":"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","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { ConditionVariable } from '../../../utils/condition-variable.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputPeerLike } from '../../types/index.js'\nimport { resolvePeer } from './resolve-peer.js'\n\n/**\n * Get multiple `InputPeer`s at once,\n * while also normalizing and removing\n * peers that can't be normalized to that type.\n *\n * Uses async pool internally, with a concurrent limit of 8\n *\n * @param peerIds Peer Ids\n * @param normalizer Normalization function\n */\nexport async function resolvePeerMany<T extends tl.TypeInputPeer | tl.TypeInputUser | tl.TypeInputChannel>(\n client: ITelegramClient,\n peerIds: InputPeerLike[],\n normalizer: (obj: tl.TypeInputPeer) => T | null,\n): Promise<T[]>\n\n/**\n * Get multiple `InputPeer`s at once.\n *\n * Uses async pool internally, with a concurrent limit of 8\n *\n * @param peerIds Peer Ids\n */\nexport async function resolvePeerMany(client: ITelegramClient, peerIds: InputPeerLike[]): Promise<tl.TypeInputPeer[]>\n\n/**\n * @internal\n */\nexport async function resolvePeerMany(\n client: ITelegramClient,\n peerIds: InputPeerLike[],\n normalizer?: (obj: tl.TypeInputPeer) => tl.TypeInputPeer | tl.TypeInputUser | tl.TypeInputChannel | null,\n): Promise<(tl.TypeInputPeer | tl.TypeInputUser | tl.TypeInputChannel)[]> {\n const ret: (tl.TypeInputPeer | tl.TypeInputUser | tl.TypeInputChannel)[] = []\n\n const limit = 8\n\n if (peerIds.length < limit) {\n // no point in using async pool for <limit peers\n const res = await Promise.all(peerIds.map((it) => resolvePeer(client, it)))\n\n if (!normalizer) return res\n\n for (const value of res) {\n const norm = normalizer(value)\n\n if (norm) {\n ret.push(norm)\n }\n }\n\n return ret\n }\n\n const cv = new ConditionVariable()\n const buffer: Record<number, tl.TypeInputPeer | null> = {}\n\n let nextIdx = 0\n let nextWorkerIdx = 0\n\n const fetchNext = async (idx = nextWorkerIdx++): Promise<void> => {\n const result = await resolvePeer(client, peerIds[idx])\n\n buffer[idx] = result\n\n if (nextIdx === idx) {\n cv.notify()\n }\n\n if (nextWorkerIdx < peerIds.length) {\n await fetchNext(nextWorkerIdx++)\n }\n }\n\n let error: unknown = undefined\n void Promise.all(Array.from({ length: limit }, (_, i) => fetchNext(i))).catch((e) => {\n client.log.debug('resolvePeerMany errored: %s', e.message)\n error = e\n cv.notify()\n })\n\n while (nextIdx < peerIds.length) {\n await cv.wait()\n\n // eslint-disable-next-line @typescript-eslint/no-throw-literal\n if (error) throw error\n\n while (nextIdx in buffer) {\n const buf = buffer[nextIdx]\n delete buffer[nextIdx]\n\n nextIdx++\n\n if (!buf) continue\n\n if (!normalizer) {\n ret.push(buf)\n } else {\n const norm = normalizer(buf)\n\n if (norm) {\n ret.push(norm)\n }\n }\n }\n }\n\n return ret\n}\n"]}