@mtcute/core 0.10.2 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1309) hide show
  1. package/cjs/highlevel/base.d.ts +1 -1
  2. package/cjs/highlevel/base.js +29 -23
  3. package/cjs/highlevel/base.js.map +1 -1
  4. package/cjs/highlevel/client.d.ts +199 -18
  5. package/cjs/highlevel/client.js +54 -0
  6. package/cjs/highlevel/client.js.map +1 -1
  7. package/cjs/highlevel/managers/app-config-manager.js +7 -5
  8. package/cjs/highlevel/managers/app-config-manager.js.map +1 -1
  9. package/cjs/highlevel/methods/_imports.js.map +1 -1
  10. package/cjs/highlevel/methods/_init.js.map +1 -1
  11. package/cjs/highlevel/methods/auth/start-test.js.map +1 -1
  12. package/cjs/highlevel/methods/auth/start.js.map +1 -1
  13. package/cjs/highlevel/methods/auth/utils.d.ts +3 -0
  14. package/cjs/highlevel/methods/auth/utils.js.map +1 -1
  15. package/cjs/highlevel/methods/bots/get-callback-answer.js.map +1 -1
  16. package/cjs/highlevel/methods/bots/get-game-high-scores.js.map +1 -1
  17. package/cjs/highlevel/methods/bots/normalize-command-scope.d.ts +5 -1
  18. package/cjs/highlevel/methods/bots/normalize-command-scope.js.map +1 -1
  19. package/cjs/highlevel/methods/bots/set-my-commands.js.map +1 -1
  20. package/cjs/highlevel/methods/chats/add-chat-members.js.map +1 -1
  21. package/cjs/highlevel/methods/chats/ban-chat-member.js.map +1 -1
  22. package/cjs/highlevel/methods/chats/batched-queries.d.ts +10 -1
  23. package/cjs/highlevel/methods/chats/batched-queries.js.map +1 -1
  24. package/cjs/highlevel/methods/chats/delete-chat-photo.js.map +1 -1
  25. package/cjs/highlevel/methods/chats/delete-history.js.map +1 -1
  26. package/cjs/highlevel/methods/chats/get-chat-event-log.js.map +1 -1
  27. package/cjs/highlevel/methods/chats/get-chat-member.js.map +1 -1
  28. package/cjs/highlevel/methods/chats/get-chat-members.js.map +1 -1
  29. package/cjs/highlevel/methods/chats/get-chat-preview.js.map +1 -1
  30. package/cjs/highlevel/methods/chats/get-chat.js.map +1 -1
  31. package/cjs/highlevel/methods/chats/get-full-chat.d.ts +2 -2
  32. package/cjs/highlevel/methods/chats/get-full-chat.js +1 -1
  33. package/cjs/highlevel/methods/chats/get-full-chat.js.map +1 -1
  34. package/cjs/highlevel/methods/chats/get-nearby-chats.js.map +1 -1
  35. package/cjs/highlevel/methods/chats/get-similar-channels.js.map +1 -1
  36. package/cjs/highlevel/methods/chats/iter-chat-event-log.js.map +1 -1
  37. package/cjs/highlevel/methods/chats/iter-chat-members.js.map +1 -1
  38. package/cjs/highlevel/methods/chats/join-chat.js.map +1 -1
  39. package/cjs/highlevel/methods/chats/kick-chat-member.js.map +1 -1
  40. package/cjs/highlevel/methods/chats/leave-chat.js.map +1 -1
  41. package/cjs/highlevel/methods/chats/open-chat.js.map +1 -1
  42. package/cjs/highlevel/methods/chats/reorder-usernames.js.map +1 -1
  43. package/cjs/highlevel/methods/chats/restrict-chat-member.js.map +1 -1
  44. package/cjs/highlevel/methods/chats/save-draft.js.map +1 -1
  45. package/cjs/highlevel/methods/chats/set-chat-color.js.map +1 -1
  46. package/cjs/highlevel/methods/chats/set-chat-photo.js.map +1 -1
  47. package/cjs/highlevel/methods/chats/set-chat-title.js.map +1 -1
  48. package/cjs/highlevel/methods/chats/toggle-fragment-username.js.map +1 -1
  49. package/cjs/highlevel/methods/chats/unarchive-chats.js.map +1 -1
  50. package/cjs/highlevel/methods/chats/unban-chat-member.js.map +1 -1
  51. package/cjs/highlevel/methods/contacts/delete-contacts.js.map +1 -1
  52. package/cjs/highlevel/methods/dialogs/create-folder.js.map +1 -1
  53. package/cjs/highlevel/methods/dialogs/edit-folder.js.map +1 -1
  54. package/cjs/highlevel/methods/dialogs/find-folder.js.map +1 -1
  55. package/cjs/highlevel/methods/dialogs/get-folders.d.ts +3 -0
  56. package/cjs/highlevel/methods/dialogs/get-folders.js.map +1 -1
  57. package/cjs/highlevel/methods/dialogs/iter-dialogs.js.map +1 -1
  58. package/cjs/highlevel/methods/files/download-buffer.js.map +1 -1
  59. package/cjs/highlevel/methods/files/download-iterable.js +1 -1
  60. package/cjs/highlevel/methods/files/download-iterable.js.map +1 -1
  61. package/cjs/highlevel/methods/files/download-node-stream.js.map +1 -1
  62. package/cjs/highlevel/methods/files/download-stream.js.map +1 -1
  63. package/cjs/highlevel/methods/files/normalize-file-to-document.d.ts +9 -1
  64. package/cjs/highlevel/methods/files/normalize-file-to-document.js.map +1 -1
  65. package/cjs/highlevel/methods/files/normalize-input-file.js.map +1 -1
  66. package/cjs/highlevel/methods/files/normalize-input-media.d.ts +1 -0
  67. package/cjs/highlevel/methods/files/normalize-input-media.js +12 -12
  68. package/cjs/highlevel/methods/files/normalize-input-media.js.map +1 -1
  69. package/cjs/highlevel/methods/files/upload-file.js +7 -6
  70. package/cjs/highlevel/methods/files/upload-file.js.map +1 -1
  71. package/cjs/highlevel/methods/files/upload-media.js.map +1 -1
  72. package/cjs/highlevel/methods/forums/iter-forum-topics.js.map +1 -1
  73. package/cjs/highlevel/methods/invite-links/get-primary-invite-link.js.map +1 -1
  74. package/cjs/highlevel/methods/invite-links/iter-invite-link-members.js.map +1 -1
  75. package/cjs/highlevel/methods/invite-links/iter-invite-links.js.map +1 -1
  76. package/cjs/highlevel/methods/messages/_business-connection.d.ts +7 -0
  77. package/cjs/highlevel/methods/messages/_business-connection.js +42 -0
  78. package/cjs/highlevel/methods/messages/_business-connection.js.map +1 -0
  79. package/cjs/highlevel/methods/messages/close-poll.js +1 -1
  80. package/cjs/highlevel/methods/messages/close-poll.js.map +1 -1
  81. package/cjs/highlevel/methods/messages/delete-messages.js.map +1 -1
  82. package/cjs/highlevel/methods/messages/edit-inline-message.js.map +1 -1
  83. package/cjs/highlevel/methods/messages/edit-message.d.ts +1 -0
  84. package/cjs/highlevel/methods/messages/edit-message.js +2 -1
  85. package/cjs/highlevel/methods/messages/edit-message.js.map +1 -1
  86. package/cjs/highlevel/methods/messages/find-in-update.d.ts +13 -1
  87. package/cjs/highlevel/methods/messages/find-in-update.js +7 -2
  88. package/cjs/highlevel/methods/messages/find-in-update.js.map +1 -1
  89. package/cjs/highlevel/methods/messages/forward-messages.d.ts +5 -0
  90. package/cjs/highlevel/methods/messages/forward-messages.js +2 -0
  91. package/cjs/highlevel/methods/messages/forward-messages.js.map +1 -1
  92. package/cjs/highlevel/methods/messages/get-all-scheduled-messages.d.ts +8 -0
  93. package/cjs/highlevel/methods/messages/get-all-scheduled-messages.js +32 -0
  94. package/cjs/highlevel/methods/messages/get-all-scheduled-messages.js.map +1 -0
  95. package/cjs/highlevel/methods/messages/get-callback-query-message.js.map +1 -1
  96. package/cjs/highlevel/methods/messages/get-discussion-message.d.ts +4 -0
  97. package/cjs/highlevel/methods/messages/get-discussion-message.js.map +1 -1
  98. package/cjs/highlevel/methods/messages/get-history.js +5 -1
  99. package/cjs/highlevel/methods/messages/get-history.js.map +1 -1
  100. package/cjs/highlevel/methods/messages/get-message-by-link.js.map +1 -1
  101. package/cjs/highlevel/methods/messages/get-message-group.js.map +1 -1
  102. package/cjs/highlevel/methods/messages/get-message-reactions.js.map +1 -1
  103. package/cjs/highlevel/methods/messages/get-messages.js.map +1 -1
  104. package/cjs/highlevel/methods/messages/get-reply-to.js.map +1 -1
  105. package/cjs/highlevel/methods/messages/iter-history.js.map +1 -1
  106. package/cjs/highlevel/methods/messages/iter-reaction-users.js.map +1 -1
  107. package/cjs/highlevel/methods/messages/iter-search-global.js +2 -1
  108. package/cjs/highlevel/methods/messages/iter-search-global.js.map +1 -1
  109. package/cjs/highlevel/methods/messages/iter-search-messages.js.map +1 -1
  110. package/cjs/highlevel/methods/messages/read-history.js.map +1 -1
  111. package/cjs/highlevel/methods/messages/search-global.d.ts +4 -0
  112. package/cjs/highlevel/methods/messages/search-global.js +2 -1
  113. package/cjs/highlevel/methods/messages/search-global.js.map +1 -1
  114. package/cjs/highlevel/methods/messages/send-answer.js.map +1 -1
  115. package/cjs/highlevel/methods/messages/send-comment.js.map +1 -1
  116. package/cjs/highlevel/methods/messages/send-common.d.ts +28 -0
  117. package/cjs/highlevel/methods/messages/send-common.js +21 -1
  118. package/cjs/highlevel/methods/messages/send-common.js.map +1 -1
  119. package/cjs/highlevel/methods/messages/send-copy-group.js.map +1 -1
  120. package/cjs/highlevel/methods/messages/send-copy.js.map +1 -1
  121. package/cjs/highlevel/methods/messages/send-media-group.js +5 -2
  122. package/cjs/highlevel/methods/messages/send-media-group.js.map +1 -1
  123. package/cjs/highlevel/methods/messages/send-media.js +4 -2
  124. package/cjs/highlevel/methods/messages/send-media.js.map +1 -1
  125. package/cjs/highlevel/methods/messages/send-quote.js.map +1 -1
  126. package/cjs/highlevel/methods/messages/send-text.js +4 -2
  127. package/cjs/highlevel/methods/messages/send-text.js.map +1 -1
  128. package/cjs/highlevel/methods/messages/send-typing.d.ts +4 -0
  129. package/cjs/highlevel/methods/messages/send-typing.js +2 -1
  130. package/cjs/highlevel/methods/messages/send-typing.js.map +1 -1
  131. package/cjs/highlevel/methods/messages/send-vote.js.map +1 -1
  132. package/cjs/highlevel/methods/messages/translate-text.js.map +1 -1
  133. package/cjs/highlevel/methods/messages/unpin-all-messages.js.map +1 -1
  134. package/cjs/highlevel/methods/misc/chain-id.d.ts +4 -1
  135. package/cjs/highlevel/methods/misc/get-collectible-info.d.ts +6 -0
  136. package/cjs/highlevel/methods/misc/get-collectible-info.js +26 -0
  137. package/cjs/highlevel/methods/misc/get-collectible-info.js.map +1 -0
  138. package/cjs/highlevel/methods/misc/normalize-privacy-rules.js.map +1 -1
  139. package/cjs/highlevel/methods/misc/normalize-text.d.ts +5 -1
  140. package/cjs/highlevel/methods/misc/normalize-text.js.map +1 -1
  141. package/cjs/highlevel/methods/misc/with-params.js.map +1 -1
  142. package/cjs/highlevel/methods/password/change-cloud-password.js.map +1 -1
  143. package/cjs/highlevel/methods/password/enable-cloud-password.js.map +1 -1
  144. package/cjs/highlevel/methods/password/remove-cloud-password.js.map +1 -1
  145. package/cjs/highlevel/methods/premium/can-apply-boost.js.map +1 -1
  146. package/cjs/highlevel/methods/premium/create-business-chat-link.d.ts +12 -0
  147. package/cjs/highlevel/methods/premium/create-business-chat-link.js +26 -0
  148. package/cjs/highlevel/methods/premium/create-business-chat-link.js.map +1 -0
  149. package/cjs/highlevel/methods/premium/edit-business-chat-link.d.ts +20 -0
  150. package/cjs/highlevel/methods/premium/edit-business-chat-link.js +42 -0
  151. package/cjs/highlevel/methods/premium/edit-business-chat-link.js.map +1 -0
  152. package/cjs/highlevel/methods/premium/get-business-chat-links.d.ts +6 -0
  153. package/cjs/highlevel/methods/premium/get-business-chat-links.js +14 -0
  154. package/cjs/highlevel/methods/premium/get-business-chat-links.js.map +1 -0
  155. package/cjs/highlevel/methods/premium/get-business-connection.d.ts +8 -0
  156. package/cjs/highlevel/methods/premium/get-business-connection.js +25 -0
  157. package/cjs/highlevel/methods/premium/get-business-connection.js.map +1 -0
  158. package/cjs/highlevel/methods/premium/iter-boosters.js.map +1 -1
  159. package/cjs/highlevel/methods/premium/set-business-intro.d.ts +22 -0
  160. package/cjs/highlevel/methods/premium/set-business-intro.js +42 -0
  161. package/cjs/highlevel/methods/premium/set-business-intro.js.map +1 -0
  162. package/cjs/highlevel/methods/premium/set-business-work-hours.d.ts +18 -0
  163. package/cjs/highlevel/methods/premium/set-business-work-hours.js +33 -0
  164. package/cjs/highlevel/methods/premium/set-business-work-hours.js.map +1 -0
  165. package/cjs/highlevel/methods/stickers/_utils.d.ts +10 -0
  166. package/cjs/highlevel/methods/stickers/_utils.js +27 -0
  167. package/cjs/highlevel/methods/stickers/_utils.js.map +1 -0
  168. package/cjs/highlevel/methods/stickers/add-sticker-to-set.d.ts +1 -2
  169. package/cjs/highlevel/methods/stickers/add-sticker-to-set.js +3 -17
  170. package/cjs/highlevel/methods/stickers/add-sticker-to-set.js.map +1 -1
  171. package/cjs/highlevel/methods/stickers/create-sticker-set.d.ts +0 -3
  172. package/cjs/highlevel/methods/stickers/create-sticker-set.js +2 -19
  173. package/cjs/highlevel/methods/stickers/create-sticker-set.js.map +1 -1
  174. package/cjs/highlevel/methods/stickers/delete-sticker-from-set.d.ts +1 -2
  175. package/cjs/highlevel/methods/stickers/delete-sticker-from-set.js +1 -2
  176. package/cjs/highlevel/methods/stickers/delete-sticker-from-set.js.map +1 -1
  177. package/cjs/highlevel/methods/stickers/get-custom-emojis.js.map +1 -1
  178. package/cjs/highlevel/methods/stickers/get-installed-stickers.d.ts +1 -2
  179. package/cjs/highlevel/methods/stickers/get-installed-stickers.js +1 -2
  180. package/cjs/highlevel/methods/stickers/get-installed-stickers.js.map +1 -1
  181. package/cjs/highlevel/methods/stickers/get-my-sticker-sets.d.ts +13 -0
  182. package/cjs/highlevel/methods/stickers/get-my-sticker-sets.js +24 -0
  183. package/cjs/highlevel/methods/stickers/get-my-sticker-sets.js.map +1 -0
  184. package/cjs/highlevel/methods/stickers/get-sticker-set.d.ts +2 -2
  185. package/cjs/highlevel/methods/stickers/get-sticker-set.js +2 -2
  186. package/cjs/highlevel/methods/stickers/get-sticker-set.js.map +1 -1
  187. package/cjs/highlevel/methods/stickers/move-sticker-in-set.d.ts +2 -3
  188. package/cjs/highlevel/methods/stickers/move-sticker-in-set.js +2 -3
  189. package/cjs/highlevel/methods/stickers/move-sticker-in-set.js.map +1 -1
  190. package/cjs/highlevel/methods/stickers/replace-sticker-in-set.d.ts +24 -0
  191. package/cjs/highlevel/methods/stickers/replace-sticker-in-set.js +32 -0
  192. package/cjs/highlevel/methods/stickers/replace-sticker-in-set.js.map +1 -0
  193. package/cjs/highlevel/methods/stories/can-send-story.js.map +1 -1
  194. package/cjs/highlevel/methods/stories/edit-story.js.map +1 -1
  195. package/cjs/highlevel/methods/stories/find-in-update.d.ts +5 -1
  196. package/cjs/highlevel/methods/stories/find-in-update.js.map +1 -1
  197. package/cjs/highlevel/methods/stories/hide-my-stories-views.js.map +1 -1
  198. package/cjs/highlevel/methods/stories/iter-all-stories.js.map +1 -1
  199. package/cjs/highlevel/methods/stories/iter-profile-stories.js.map +1 -1
  200. package/cjs/highlevel/methods/stories/iter-story-viewers.js.map +1 -1
  201. package/cjs/highlevel/methods/stories/send-story.js.map +1 -1
  202. package/cjs/highlevel/methods/users/delete-profile-photos.js.map +1 -1
  203. package/cjs/highlevel/methods/users/get-users.js.map +1 -1
  204. package/cjs/highlevel/methods/users/iter-profile-photos.js.map +1 -1
  205. package/cjs/highlevel/methods/users/resolve-peer-many.js.map +1 -1
  206. package/cjs/highlevel/methods/users/resolve-peer.js.map +1 -1
  207. package/cjs/highlevel/methods/users/set-my-birthday.d.ts +12 -0
  208. package/cjs/highlevel/methods/users/set-my-birthday.js +22 -0
  209. package/cjs/highlevel/methods/users/set-my-birthday.js.map +1 -0
  210. package/cjs/highlevel/methods/users/set-my-emoji-status.js.map +1 -1
  211. package/cjs/highlevel/methods/users/set-my-profile-photo.js.map +1 -1
  212. package/cjs/highlevel/methods.d.ts +12 -0
  213. package/cjs/highlevel/methods.js +33 -3
  214. package/cjs/highlevel/methods.js.map +1 -1
  215. package/cjs/highlevel/storage/service/current-user.js +2 -0
  216. package/cjs/highlevel/storage/service/current-user.js.map +1 -1
  217. package/cjs/highlevel/storage/service/peers.js +5 -1
  218. package/cjs/highlevel/storage/service/peers.js.map +1 -1
  219. package/cjs/highlevel/storage/service/ref-messages.js +3 -0
  220. package/cjs/highlevel/storage/service/ref-messages.js.map +1 -1
  221. package/cjs/highlevel/storage/service/updates.js +1 -0
  222. package/cjs/highlevel/storage/service/updates.js.map +1 -1
  223. package/cjs/highlevel/storage/storage.d.ts +8 -3
  224. package/cjs/highlevel/storage/storage.js +17 -4
  225. package/cjs/highlevel/storage/storage.js.map +1 -1
  226. package/cjs/highlevel/types/auth/sent-code.d.ts +7 -2
  227. package/cjs/highlevel/types/auth/sent-code.js +15 -0
  228. package/cjs/highlevel/types/auth/sent-code.js.map +1 -1
  229. package/cjs/highlevel/types/bots/game-high-score.js +2 -0
  230. package/cjs/highlevel/types/bots/game-high-score.js.map +1 -1
  231. package/cjs/highlevel/types/bots/inline-message/factories.d.ts +5 -1
  232. package/cjs/highlevel/types/bots/inline-message/factories.js.map +1 -1
  233. package/cjs/highlevel/types/bots/inline-result/factories.d.ts +4 -1
  234. package/cjs/highlevel/types/bots/inline-result/factories.js.map +1 -1
  235. package/cjs/highlevel/types/bots/keyboards/builder.js +2 -1
  236. package/cjs/highlevel/types/bots/keyboards/builder.js.map +1 -1
  237. package/cjs/highlevel/types/bots/keyboards/factories.d.ts +7 -1
  238. package/cjs/highlevel/types/bots/keyboards/factories.js.map +1 -1
  239. package/cjs/highlevel/types/calls/discard-reason.d.ts +5 -0
  240. package/cjs/highlevel/types/calls/discard-reason.js.map +1 -1
  241. package/cjs/highlevel/types/conversation.js +13 -7
  242. package/cjs/highlevel/types/conversation.js.map +1 -1
  243. package/cjs/highlevel/types/errors.js +3 -0
  244. package/cjs/highlevel/types/errors.js.map +1 -1
  245. package/cjs/highlevel/types/files/file-location.js +3 -0
  246. package/cjs/highlevel/types/files/file-location.js.map +1 -1
  247. package/cjs/highlevel/types/files/uploaded-file.d.ts +2 -0
  248. package/cjs/highlevel/types/files/uploaded-file.js +1 -1
  249. package/cjs/highlevel/types/files/uploaded-file.js.map +1 -1
  250. package/cjs/highlevel/types/files/utils.d.ts +6 -5
  251. package/cjs/highlevel/types/files/utils.js.map +1 -1
  252. package/cjs/highlevel/types/files/web-document.js +1 -0
  253. package/cjs/highlevel/types/files/web-document.js.map +1 -1
  254. package/cjs/highlevel/types/media/audio.js +3 -2
  255. package/cjs/highlevel/types/media/audio.js.map +1 -1
  256. package/cjs/highlevel/types/media/contact.js +2 -1
  257. package/cjs/highlevel/types/media/contact.js.map +1 -1
  258. package/cjs/highlevel/types/media/dice.js +125 -124
  259. package/cjs/highlevel/types/media/dice.js.map +1 -1
  260. package/cjs/highlevel/types/media/document-utils.d.ts +5 -0
  261. package/cjs/highlevel/types/media/document-utils.js +9 -2
  262. package/cjs/highlevel/types/media/document-utils.js.map +1 -1
  263. package/cjs/highlevel/types/media/document.js +2 -4
  264. package/cjs/highlevel/types/media/document.js.map +1 -1
  265. package/cjs/highlevel/types/media/game.js +2 -1
  266. package/cjs/highlevel/types/media/game.js.map +1 -1
  267. package/cjs/highlevel/types/media/input-media/types.d.ts +2 -2
  268. package/cjs/highlevel/types/media/input-media/types.js.map +1 -1
  269. package/cjs/highlevel/types/media/invoice.js +4 -1
  270. package/cjs/highlevel/types/media/invoice.js.map +1 -1
  271. package/cjs/highlevel/types/media/location.js +4 -5
  272. package/cjs/highlevel/types/media/location.js.map +1 -1
  273. package/cjs/highlevel/types/media/photo.js +8 -1
  274. package/cjs/highlevel/types/media/photo.js.map +1 -1
  275. package/cjs/highlevel/types/media/poll.d.ts +17 -6
  276. package/cjs/highlevel/types/media/poll.js +69 -19
  277. package/cjs/highlevel/types/media/poll.js.map +1 -1
  278. package/cjs/highlevel/types/media/sticker.js +3 -1
  279. package/cjs/highlevel/types/media/sticker.js.map +1 -1
  280. package/cjs/highlevel/types/media/story.js +3 -1
  281. package/cjs/highlevel/types/media/story.js.map +1 -1
  282. package/cjs/highlevel/types/media/thumbnail.js +35 -22
  283. package/cjs/highlevel/types/media/thumbnail.js.map +1 -1
  284. package/cjs/highlevel/types/media/venue.js +2 -1
  285. package/cjs/highlevel/types/media/venue.js.map +1 -1
  286. package/cjs/highlevel/types/media/video.js +3 -1
  287. package/cjs/highlevel/types/media/video.js.map +1 -1
  288. package/cjs/highlevel/types/media/voice.js +2 -1
  289. package/cjs/highlevel/types/media/voice.js.map +1 -1
  290. package/cjs/highlevel/types/media/web-page.js +2 -1
  291. package/cjs/highlevel/types/media/web-page.js.map +1 -1
  292. package/cjs/highlevel/types/messages/dialog.js +4 -12
  293. package/cjs/highlevel/types/messages/dialog.js.map +1 -1
  294. package/cjs/highlevel/types/messages/draft-message.js +1 -0
  295. package/cjs/highlevel/types/messages/draft-message.js.map +1 -1
  296. package/cjs/highlevel/types/messages/input-message-id.d.ts +5 -0
  297. package/cjs/highlevel/types/messages/message-action.d.ts +19 -2
  298. package/cjs/highlevel/types/messages/message-action.js +6 -0
  299. package/cjs/highlevel/types/messages/message-action.js.map +1 -1
  300. package/cjs/highlevel/types/messages/message-entity.js +2 -0
  301. package/cjs/highlevel/types/messages/message-entity.js.map +1 -1
  302. package/cjs/highlevel/types/messages/message-forward.js +2 -0
  303. package/cjs/highlevel/types/messages/message-forward.js.map +1 -1
  304. package/cjs/highlevel/types/messages/message-media.d.ts +4 -0
  305. package/cjs/highlevel/types/messages/message-media.js.map +1 -1
  306. package/cjs/highlevel/types/messages/message-reactions.js +4 -0
  307. package/cjs/highlevel/types/messages/message-reactions.js.map +1 -1
  308. package/cjs/highlevel/types/messages/message-replies.js +2 -0
  309. package/cjs/highlevel/types/messages/message-replies.js.map +1 -1
  310. package/cjs/highlevel/types/messages/message.d.ts +59 -1
  311. package/cjs/highlevel/types/messages/message.js +102 -1
  312. package/cjs/highlevel/types/messages/message.js.map +1 -1
  313. package/cjs/highlevel/types/messages/replied-message.js +2 -0
  314. package/cjs/highlevel/types/messages/replied-message.js.map +1 -1
  315. package/cjs/highlevel/types/misc/collectible-info.d.ts +27 -0
  316. package/cjs/highlevel/types/misc/collectible-info.js +46 -0
  317. package/cjs/highlevel/types/misc/collectible-info.js.map +1 -0
  318. package/cjs/highlevel/types/misc/entities.d.ts +7 -0
  319. package/cjs/highlevel/types/misc/entities.js +15 -0
  320. package/cjs/highlevel/types/misc/entities.js.map +1 -1
  321. package/cjs/highlevel/types/misc/index.d.ts +1 -0
  322. package/cjs/highlevel/types/misc/index.js +1 -0
  323. package/cjs/highlevel/types/misc/index.js.map +1 -1
  324. package/cjs/highlevel/types/misc/sticker-set.d.ts +8 -1
  325. package/cjs/highlevel/types/misc/sticker-set.js +43 -6
  326. package/cjs/highlevel/types/misc/sticker-set.js.map +1 -1
  327. package/cjs/highlevel/types/misc/takeout-session.js +5 -0
  328. package/cjs/highlevel/types/misc/takeout-session.js.map +1 -1
  329. package/cjs/highlevel/types/peers/chat-colors.js +2 -0
  330. package/cjs/highlevel/types/peers/chat-colors.js.map +1 -1
  331. package/cjs/highlevel/types/peers/chat-event/actions.d.ts +3 -0
  332. package/cjs/highlevel/types/peers/chat-event/actions.js.map +1 -1
  333. package/cjs/highlevel/types/peers/chat-event/filters.d.ts +2 -0
  334. package/cjs/highlevel/types/peers/chat-event/filters.js.map +1 -1
  335. package/cjs/highlevel/types/peers/chat-event/index.js +2 -0
  336. package/cjs/highlevel/types/peers/chat-event/index.js.map +1 -1
  337. package/cjs/highlevel/types/peers/chat-invite-link-member.js +2 -0
  338. package/cjs/highlevel/types/peers/chat-invite-link-member.js.map +1 -1
  339. package/cjs/highlevel/types/peers/chat-invite-link.js +2 -0
  340. package/cjs/highlevel/types/peers/chat-invite-link.js.map +1 -1
  341. package/cjs/highlevel/types/peers/chat-location.js +1 -0
  342. package/cjs/highlevel/types/peers/chat-location.js.map +1 -1
  343. package/cjs/highlevel/types/peers/chat-member.js +2 -0
  344. package/cjs/highlevel/types/peers/chat-member.js.map +1 -1
  345. package/cjs/highlevel/types/peers/chat-permissions.js +1 -0
  346. package/cjs/highlevel/types/peers/chat-permissions.js.map +1 -1
  347. package/cjs/highlevel/types/peers/chat-photo.js +5 -0
  348. package/cjs/highlevel/types/peers/chat-photo.js.map +1 -1
  349. package/cjs/highlevel/types/peers/chat-preview.js +2 -0
  350. package/cjs/highlevel/types/peers/chat-preview.js.map +1 -1
  351. package/cjs/highlevel/types/peers/chat.d.ts +7 -93
  352. package/cjs/highlevel/types/peers/chat.js +10 -192
  353. package/cjs/highlevel/types/peers/chat.js.map +1 -1
  354. package/cjs/highlevel/types/peers/forum-topic.js +9 -6
  355. package/cjs/highlevel/types/peers/forum-topic.js.map +1 -1
  356. package/cjs/highlevel/types/peers/full-chat.d.ts +103 -0
  357. package/cjs/highlevel/types/peers/full-chat.js +237 -0
  358. package/cjs/highlevel/types/peers/full-chat.js.map +1 -0
  359. package/cjs/highlevel/types/peers/index.d.ts +1 -0
  360. package/cjs/highlevel/types/peers/index.js +1 -0
  361. package/cjs/highlevel/types/peers/index.js.map +1 -1
  362. package/cjs/highlevel/types/peers/peer.js.map +1 -1
  363. package/cjs/highlevel/types/peers/peers-index.js +3 -1
  364. package/cjs/highlevel/types/peers/peers-index.js.map +1 -1
  365. package/cjs/highlevel/types/peers/user.d.ts +5 -0
  366. package/cjs/highlevel/types/peers/user.js +12 -1
  367. package/cjs/highlevel/types/peers/user.js.map +1 -1
  368. package/cjs/highlevel/types/premium/boost-slot.js +2 -0
  369. package/cjs/highlevel/types/premium/boost-slot.js.map +1 -1
  370. package/cjs/highlevel/types/premium/boost-stats.js +1 -0
  371. package/cjs/highlevel/types/premium/boost-stats.js.map +1 -1
  372. package/cjs/highlevel/types/premium/boost.js +2 -0
  373. package/cjs/highlevel/types/premium/boost.js.map +1 -1
  374. package/cjs/highlevel/types/premium/business-account.d.ts +19 -0
  375. package/cjs/highlevel/types/premium/business-account.js +45 -0
  376. package/cjs/highlevel/types/premium/business-account.js.map +1 -0
  377. package/cjs/highlevel/types/premium/business-chat-link.d.ts +19 -0
  378. package/cjs/highlevel/types/premium/business-chat-link.js +39 -0
  379. package/cjs/highlevel/types/premium/business-chat-link.js.map +1 -0
  380. package/cjs/highlevel/types/premium/business-connection.d.ts +23 -0
  381. package/cjs/highlevel/types/premium/business-connection.js +45 -0
  382. package/cjs/highlevel/types/premium/business-connection.js.map +1 -0
  383. package/cjs/highlevel/types/premium/business-intro.d.ts +22 -0
  384. package/cjs/highlevel/types/premium/business-intro.js +43 -0
  385. package/cjs/highlevel/types/premium/business-intro.js.map +1 -0
  386. package/cjs/highlevel/types/premium/business-location.d.ts +10 -0
  387. package/cjs/highlevel/types/premium/business-location.js +26 -0
  388. package/cjs/highlevel/types/premium/business-location.js.map +1 -0
  389. package/cjs/highlevel/types/premium/business-work-hours.d.ts +42 -0
  390. package/cjs/highlevel/types/premium/business-work-hours.js +141 -0
  391. package/cjs/highlevel/types/premium/business-work-hours.js.map +1 -0
  392. package/cjs/highlevel/types/premium/index.d.ts +5 -0
  393. package/cjs/highlevel/types/premium/index.js +5 -0
  394. package/cjs/highlevel/types/premium/index.js.map +1 -1
  395. package/cjs/highlevel/types/reactions/emoji-status.js +1 -0
  396. package/cjs/highlevel/types/reactions/emoji-status.js.map +1 -1
  397. package/cjs/highlevel/types/reactions/peer-reaction.js +2 -0
  398. package/cjs/highlevel/types/reactions/peer-reaction.js.map +1 -1
  399. package/cjs/highlevel/types/reactions/reaction-count.js +1 -0
  400. package/cjs/highlevel/types/reactions/reaction-count.js.map +1 -1
  401. package/cjs/highlevel/types/reactions/types.js.map +1 -1
  402. package/cjs/highlevel/types/stories/all-stories.d.ts +2 -2
  403. package/cjs/highlevel/types/stories/all-stories.js +3 -1
  404. package/cjs/highlevel/types/stories/all-stories.js.map +1 -1
  405. package/cjs/highlevel/types/stories/interactive/base.js +1 -0
  406. package/cjs/highlevel/types/stories/interactive/base.js.map +1 -1
  407. package/cjs/highlevel/types/stories/interactive/channel-post.js +3 -1
  408. package/cjs/highlevel/types/stories/interactive/channel-post.js.map +1 -1
  409. package/cjs/highlevel/types/stories/interactive/index.js.map +1 -1
  410. package/cjs/highlevel/types/stories/interactive/input.js +1 -0
  411. package/cjs/highlevel/types/stories/interactive/input.js.map +1 -1
  412. package/cjs/highlevel/types/stories/interactive/location.js +2 -1
  413. package/cjs/highlevel/types/stories/interactive/location.js.map +1 -1
  414. package/cjs/highlevel/types/stories/interactive/reaction.js +2 -1
  415. package/cjs/highlevel/types/stories/interactive/reaction.js.map +1 -1
  416. package/cjs/highlevel/types/stories/interactive/venue.js +2 -1
  417. package/cjs/highlevel/types/stories/interactive/venue.js.map +1 -1
  418. package/cjs/highlevel/types/stories/peer-stories.js +2 -0
  419. package/cjs/highlevel/types/stories/peer-stories.js.map +1 -1
  420. package/cjs/highlevel/types/stories/stealth-mode.js +1 -0
  421. package/cjs/highlevel/types/stories/stealth-mode.js.map +1 -1
  422. package/cjs/highlevel/types/stories/story-interactions.js +2 -0
  423. package/cjs/highlevel/types/stories/story-interactions.js.map +1 -1
  424. package/cjs/highlevel/types/stories/story-viewer.d.ts +1 -1
  425. package/cjs/highlevel/types/stories/story-viewer.js +6 -0
  426. package/cjs/highlevel/types/stories/story-viewer.js.map +1 -1
  427. package/cjs/highlevel/types/stories/story.js +2 -0
  428. package/cjs/highlevel/types/stories/story.js.map +1 -1
  429. package/cjs/highlevel/types/updates/bot-chat-join-request.js +2 -0
  430. package/cjs/highlevel/types/updates/bot-chat-join-request.js.map +1 -1
  431. package/cjs/highlevel/types/updates/bot-reaction.js +4 -0
  432. package/cjs/highlevel/types/updates/bot-reaction.js.map +1 -1
  433. package/cjs/highlevel/types/updates/bot-stopped.js +2 -0
  434. package/cjs/highlevel/types/updates/bot-stopped.js.map +1 -1
  435. package/cjs/highlevel/types/updates/business-message.d.ts +18 -0
  436. package/cjs/highlevel/types/updates/business-message.js +35 -0
  437. package/cjs/highlevel/types/updates/business-message.js.map +1 -0
  438. package/cjs/highlevel/types/updates/callback-query.js +4 -0
  439. package/cjs/highlevel/types/updates/callback-query.js.map +1 -1
  440. package/cjs/highlevel/types/updates/chat-join-request.js +2 -0
  441. package/cjs/highlevel/types/updates/chat-join-request.js.map +1 -1
  442. package/cjs/highlevel/types/updates/chat-member-update.js +2 -0
  443. package/cjs/highlevel/types/updates/chat-member-update.js.map +1 -1
  444. package/cjs/highlevel/types/updates/chosen-inline-result.js +2 -0
  445. package/cjs/highlevel/types/updates/chosen-inline-result.js.map +1 -1
  446. package/cjs/highlevel/types/updates/delete-business-message-update.d.ts +21 -0
  447. package/cjs/highlevel/types/updates/delete-business-message-update.js +37 -0
  448. package/cjs/highlevel/types/updates/delete-business-message-update.js.map +1 -0
  449. package/cjs/highlevel/types/updates/delete-message-update.js +1 -0
  450. package/cjs/highlevel/types/updates/delete-message-update.js.map +1 -1
  451. package/cjs/highlevel/types/updates/delete-story-update.js +2 -0
  452. package/cjs/highlevel/types/updates/delete-story-update.js.map +1 -1
  453. package/cjs/highlevel/types/updates/history-read-update.js +1 -0
  454. package/cjs/highlevel/types/updates/history-read-update.js.map +1 -1
  455. package/cjs/highlevel/types/updates/index.d.ts +19 -2
  456. package/cjs/highlevel/types/updates/index.js +5 -1
  457. package/cjs/highlevel/types/updates/index.js.map +1 -1
  458. package/cjs/highlevel/types/updates/inline-query.js +2 -0
  459. package/cjs/highlevel/types/updates/inline-query.js.map +1 -1
  460. package/cjs/highlevel/types/updates/parse-update.d.ts +4 -1
  461. package/cjs/highlevel/types/updates/parse-update.js +8 -0
  462. package/cjs/highlevel/types/updates/parse-update.js.map +1 -1
  463. package/cjs/highlevel/types/updates/poll-update.js +4 -2
  464. package/cjs/highlevel/types/updates/poll-update.js.map +1 -1
  465. package/cjs/highlevel/types/updates/poll-vote.js +2 -0
  466. package/cjs/highlevel/types/updates/poll-vote.js.map +1 -1
  467. package/cjs/highlevel/types/updates/pre-checkout-query.js +2 -0
  468. package/cjs/highlevel/types/updates/pre-checkout-query.js.map +1 -1
  469. package/cjs/highlevel/types/updates/story-update.js +2 -0
  470. package/cjs/highlevel/types/updates/story-update.js.map +1 -1
  471. package/cjs/highlevel/types/updates/user-status-update.js +1 -0
  472. package/cjs/highlevel/types/updates/user-status-update.js.map +1 -1
  473. package/cjs/highlevel/types/updates/user-typing-update.js +1 -0
  474. package/cjs/highlevel/types/updates/user-typing-update.js.map +1 -1
  475. package/cjs/highlevel/updates/manager.d.ts +0 -1
  476. package/cjs/highlevel/updates/manager.js +57 -30
  477. package/cjs/highlevel/updates/manager.js.map +1 -1
  478. package/cjs/highlevel/updates/parsed.js +8 -2
  479. package/cjs/highlevel/updates/parsed.js.map +1 -1
  480. package/cjs/highlevel/updates/types.d.ts +57 -0
  481. package/cjs/highlevel/updates/utils.d.ts +2 -0
  482. package/cjs/highlevel/updates/utils.js.map +1 -1
  483. package/cjs/highlevel/utils/convert-file-id.js.map +1 -1
  484. package/cjs/highlevel/utils/entities.js.map +1 -1
  485. package/cjs/highlevel/utils/file-type.d.ts +1 -0
  486. package/cjs/highlevel/utils/file-type.js +35 -1
  487. package/cjs/highlevel/utils/file-type.js.map +1 -1
  488. package/cjs/highlevel/utils/file-utils.js +1 -1
  489. package/cjs/highlevel/utils/file-utils.js.map +1 -1
  490. package/cjs/highlevel/utils/inline-utils.js.map +1 -1
  491. package/cjs/highlevel/utils/inspectable.js +7 -0
  492. package/cjs/highlevel/utils/inspectable.js.map +1 -1
  493. package/cjs/highlevel/utils/memoize.js.map +1 -1
  494. package/cjs/highlevel/utils/peer-utils.js.map +1 -1
  495. package/cjs/highlevel/utils/query-batcher.js.map +1 -1
  496. package/cjs/highlevel/utils/rps-meter.js +3 -0
  497. package/cjs/highlevel/utils/rps-meter.js.map +1 -1
  498. package/cjs/highlevel/utils/stream-utils.js.map +1 -1
  499. package/cjs/highlevel/utils/string-session.d.ts +1 -2
  500. package/cjs/highlevel/utils/string-session.js +27 -7
  501. package/cjs/highlevel/utils/string-session.js.map +1 -1
  502. package/cjs/highlevel/utils/voice-utils.js.map +1 -1
  503. package/cjs/highlevel/worker/app-config.d.ts +2 -3
  504. package/cjs/highlevel/worker/app-config.js +6 -3
  505. package/cjs/highlevel/worker/app-config.js.map +1 -1
  506. package/cjs/highlevel/worker/errors.js.map +1 -1
  507. package/cjs/highlevel/worker/index.js +6 -0
  508. package/cjs/highlevel/worker/invoker.js +3 -2
  509. package/cjs/highlevel/worker/invoker.js.map +1 -1
  510. package/cjs/highlevel/worker/port.d.ts +16 -17
  511. package/cjs/highlevel/worker/port.js +74 -49
  512. package/cjs/highlevel/worker/port.js.map +1 -1
  513. package/cjs/highlevel/worker/protocol.d.ts +1 -2
  514. package/cjs/highlevel/worker/protocol.js.map +1 -1
  515. package/cjs/highlevel/worker/storage.d.ts +9 -13
  516. package/cjs/highlevel/worker/storage.js +34 -19
  517. package/cjs/highlevel/worker/storage.js.map +1 -1
  518. package/cjs/highlevel/worker/worker.js +3 -0
  519. package/cjs/highlevel/worker/worker.js.map +1 -1
  520. package/cjs/index.js +6 -0
  521. package/cjs/network/auth-key.js +8 -1
  522. package/cjs/network/auth-key.js.map +1 -1
  523. package/cjs/network/authorization.js.map +1 -1
  524. package/cjs/network/client.d.ts +0 -1
  525. package/cjs/network/client.js +39 -14
  526. package/cjs/network/client.js.map +1 -1
  527. package/cjs/network/config-manager.js.map +1 -1
  528. package/cjs/network/mtproto-session.d.ts +0 -1
  529. package/cjs/network/mtproto-session.js +40 -30
  530. package/cjs/network/mtproto-session.js.map +1 -1
  531. package/cjs/network/multi-session-connection.d.ts +1 -2
  532. package/cjs/network/multi-session-connection.js +13 -7
  533. package/cjs/network/multi-session-connection.js.map +1 -1
  534. package/cjs/network/network-manager.d.ts +10 -3
  535. package/cjs/network/network-manager.js +57 -31
  536. package/cjs/network/network-manager.js.map +1 -1
  537. package/cjs/network/persistent-connection.d.ts +2 -3
  538. package/cjs/network/persistent-connection.js +33 -22
  539. package/cjs/network/persistent-connection.js.map +1 -1
  540. package/cjs/network/server-salt.js +4 -5
  541. package/cjs/network/server-salt.js.map +1 -1
  542. package/cjs/network/session-connection.d.ts +1 -1
  543. package/cjs/network/session-connection.js +32 -12
  544. package/cjs/network/session-connection.js.map +1 -1
  545. package/cjs/network/transports/abstract.d.ts +1 -2
  546. package/cjs/network/transports/abstract.js +1 -0
  547. package/cjs/network/transports/abstract.js.map +1 -1
  548. package/cjs/network/transports/intermediate.js +1 -0
  549. package/cjs/network/transports/intermediate.js.map +1 -1
  550. package/cjs/network/transports/obfuscated.js +3 -0
  551. package/cjs/network/transports/obfuscated.js.map +1 -1
  552. package/cjs/network/transports/streamed.d.ts +0 -1
  553. package/cjs/network/transports/streamed.js +1 -4
  554. package/cjs/network/transports/streamed.js.map +1 -1
  555. package/cjs/network/transports/wrapped.d.ts +0 -1
  556. package/cjs/network/transports/wrapped.js +2 -0
  557. package/cjs/network/transports/wrapped.js.map +1 -1
  558. package/cjs/platform.js +6 -0
  559. package/cjs/platform.js.map +1 -1
  560. package/cjs/storage/driver.js +3 -4
  561. package/cjs/storage/driver.js.map +1 -1
  562. package/cjs/storage/memory/driver.js +1 -3
  563. package/cjs/storage/memory/driver.js.map +1 -1
  564. package/cjs/storage/memory/index.js +5 -7
  565. package/cjs/storage/memory/index.js.map +1 -1
  566. package/cjs/storage/memory/repository/auth-keys.d.ts +1 -1
  567. package/cjs/storage/memory/repository/auth-keys.js +2 -0
  568. package/cjs/storage/memory/repository/auth-keys.js.map +1 -1
  569. package/cjs/storage/memory/repository/kv.d.ts +1 -1
  570. package/cjs/storage/memory/repository/kv.js +2 -0
  571. package/cjs/storage/memory/repository/kv.js.map +1 -1
  572. package/cjs/storage/memory/repository/peers.d.ts +1 -1
  573. package/cjs/storage/memory/repository/peers.js +2 -0
  574. package/cjs/storage/memory/repository/peers.js.map +1 -1
  575. package/cjs/storage/memory/repository/ref-messages.d.ts +1 -1
  576. package/cjs/storage/memory/repository/ref-messages.js +2 -0
  577. package/cjs/storage/memory/repository/ref-messages.js.map +1 -1
  578. package/cjs/storage/service/auth-keys.js +2 -0
  579. package/cjs/storage/service/auth-keys.js.map +1 -1
  580. package/cjs/storage/service/base.js +4 -0
  581. package/cjs/storage/service/base.js.map +1 -1
  582. package/cjs/storage/service/default-dcs.js +2 -0
  583. package/cjs/storage/service/default-dcs.js.map +1 -1
  584. package/cjs/storage/service/future-salts.js +2 -1
  585. package/cjs/storage/service/future-salts.js.map +1 -1
  586. package/cjs/storage/sqlite/driver.js +10 -10
  587. package/cjs/storage/sqlite/driver.js.map +1 -1
  588. package/cjs/storage/sqlite/index.d.ts +1 -1
  589. package/cjs/storage/sqlite/index.js +5 -0
  590. package/cjs/storage/sqlite/index.js.map +1 -1
  591. package/cjs/storage/sqlite/repository/auth-keys.js +9 -0
  592. package/cjs/storage/sqlite/repository/auth-keys.js.map +1 -1
  593. package/cjs/storage/sqlite/repository/kv.js +5 -0
  594. package/cjs/storage/sqlite/repository/kv.js.map +1 -1
  595. package/cjs/storage/sqlite/repository/peers.js +7 -2
  596. package/cjs/storage/sqlite/repository/peers.js.map +1 -1
  597. package/cjs/storage/sqlite/repository/ref-messages.d.ts +1 -1
  598. package/cjs/storage/sqlite/repository/ref-messages.js +6 -0
  599. package/cjs/storage/sqlite/repository/ref-messages.js.map +1 -1
  600. package/cjs/storage/storage.d.ts +22 -3
  601. package/cjs/storage/storage.js +21 -13
  602. package/cjs/storage/storage.js.map +1 -1
  603. package/cjs/types/errors.js +13 -0
  604. package/cjs/types/errors.js.map +1 -1
  605. package/cjs/types/utils.d.ts +1 -0
  606. package/cjs/types/utils.js.map +1 -1
  607. package/cjs/utils/async-lock.js +1 -3
  608. package/cjs/utils/async-lock.js.map +1 -1
  609. package/cjs/utils/bigint-utils.js.map +1 -1
  610. package/cjs/utils/binary/asn1-parser.js.map +1 -1
  611. package/cjs/utils/buffer-utils.js.map +1 -1
  612. package/cjs/utils/condition-variable.js +2 -0
  613. package/cjs/utils/condition-variable.js.map +1 -1
  614. package/cjs/utils/crypto/factorization.js.map +1 -1
  615. package/cjs/utils/crypto/keys.js.map +1 -1
  616. package/cjs/utils/crypto/miller-rabin.js.map +1 -1
  617. package/cjs/utils/crypto/password.js.map +1 -1
  618. package/cjs/utils/crypto/utils.js.map +1 -1
  619. package/cjs/utils/dcs.js +1 -1
  620. package/cjs/utils/dcs.js.map +1 -1
  621. package/cjs/utils/deque.js +8 -2
  622. package/cjs/utils/deque.js.map +1 -1
  623. package/cjs/utils/early-timer.js +4 -1
  624. package/cjs/utils/early-timer.js.map +1 -1
  625. package/cjs/utils/error-reporting.js.map +1 -1
  626. package/cjs/utils/function-utils.js.map +1 -1
  627. package/cjs/utils/index.js +6 -0
  628. package/cjs/utils/linked-list.js +4 -1
  629. package/cjs/utils/linked-list.js.map +1 -1
  630. package/cjs/utils/links/bots.js.map +1 -1
  631. package/cjs/utils/links/chat.js.map +1 -1
  632. package/cjs/utils/links/common.js.map +1 -1
  633. package/cjs/utils/links/misc.js.map +1 -1
  634. package/cjs/utils/logger.d.ts +2 -2
  635. package/cjs/utils/logger.js +21 -14
  636. package/cjs/utils/logger.js.map +1 -1
  637. package/cjs/utils/long-utils.js +2 -6
  638. package/cjs/utils/long-utils.js.map +1 -1
  639. package/cjs/utils/lru-map.js +5 -1
  640. package/cjs/utils/lru-map.js.map +1 -1
  641. package/cjs/utils/lru-set.js +4 -0
  642. package/cjs/utils/lru-set.js.map +1 -1
  643. package/cjs/utils/peer-utils.js.map +1 -1
  644. package/cjs/utils/reloadable.d.ts +0 -1
  645. package/cjs/utils/reloadable.js +10 -7
  646. package/cjs/utils/reloadable.js.map +1 -1
  647. package/cjs/utils/sorted-array.js +2 -0
  648. package/cjs/utils/sorted-array.js.map +1 -1
  649. package/cjs/utils/tl-json.js.map +1 -1
  650. package/cjs/utils/type-assertions.js.map +1 -1
  651. package/client.d.ts +1 -0
  652. package/client.js +1 -0
  653. package/esm/highlevel/base.d.ts +1 -1
  654. package/esm/highlevel/base.js +29 -23
  655. package/esm/highlevel/base.js.map +1 -1
  656. package/esm/highlevel/client.d.ts +199 -18
  657. package/esm/highlevel/client.js +48 -0
  658. package/esm/highlevel/client.js.map +1 -1
  659. package/esm/highlevel/managers/app-config-manager.js +7 -5
  660. package/esm/highlevel/managers/app-config-manager.js.map +1 -1
  661. package/esm/highlevel/methods/_imports.js.map +1 -1
  662. package/esm/highlevel/methods/_init.js.map +1 -1
  663. package/esm/highlevel/methods/auth/start-test.js.map +1 -1
  664. package/esm/highlevel/methods/auth/start.js.map +1 -1
  665. package/esm/highlevel/methods/auth/utils.d.ts +3 -0
  666. package/esm/highlevel/methods/auth/utils.js.map +1 -1
  667. package/esm/highlevel/methods/bots/get-callback-answer.js.map +1 -1
  668. package/esm/highlevel/methods/bots/get-game-high-scores.js.map +1 -1
  669. package/esm/highlevel/methods/bots/normalize-command-scope.d.ts +5 -1
  670. package/esm/highlevel/methods/bots/normalize-command-scope.js.map +1 -1
  671. package/esm/highlevel/methods/bots/set-my-commands.js.map +1 -1
  672. package/esm/highlevel/methods/chats/add-chat-members.js.map +1 -1
  673. package/esm/highlevel/methods/chats/ban-chat-member.js.map +1 -1
  674. package/esm/highlevel/methods/chats/batched-queries.d.ts +10 -1
  675. package/esm/highlevel/methods/chats/batched-queries.js.map +1 -1
  676. package/esm/highlevel/methods/chats/delete-chat-photo.js.map +1 -1
  677. package/esm/highlevel/methods/chats/delete-history.js.map +1 -1
  678. package/esm/highlevel/methods/chats/get-chat-event-log.js.map +1 -1
  679. package/esm/highlevel/methods/chats/get-chat-member.js.map +1 -1
  680. package/esm/highlevel/methods/chats/get-chat-members.js.map +1 -1
  681. package/esm/highlevel/methods/chats/get-chat-preview.js.map +1 -1
  682. package/esm/highlevel/methods/chats/get-chat.js.map +1 -1
  683. package/esm/highlevel/methods/chats/get-full-chat.d.ts +2 -2
  684. package/esm/highlevel/methods/chats/get-full-chat.js +2 -2
  685. package/esm/highlevel/methods/chats/get-full-chat.js.map +1 -1
  686. package/esm/highlevel/methods/chats/get-nearby-chats.js.map +1 -1
  687. package/esm/highlevel/methods/chats/get-similar-channels.js.map +1 -1
  688. package/esm/highlevel/methods/chats/iter-chat-event-log.js.map +1 -1
  689. package/esm/highlevel/methods/chats/iter-chat-members.js.map +1 -1
  690. package/esm/highlevel/methods/chats/join-chat.js.map +1 -1
  691. package/esm/highlevel/methods/chats/kick-chat-member.js.map +1 -1
  692. package/esm/highlevel/methods/chats/leave-chat.js.map +1 -1
  693. package/esm/highlevel/methods/chats/open-chat.js.map +1 -1
  694. package/esm/highlevel/methods/chats/reorder-usernames.js.map +1 -1
  695. package/esm/highlevel/methods/chats/restrict-chat-member.js.map +1 -1
  696. package/esm/highlevel/methods/chats/save-draft.js.map +1 -1
  697. package/esm/highlevel/methods/chats/set-chat-color.js.map +1 -1
  698. package/esm/highlevel/methods/chats/set-chat-photo.js.map +1 -1
  699. package/esm/highlevel/methods/chats/set-chat-title.js.map +1 -1
  700. package/esm/highlevel/methods/chats/toggle-fragment-username.js.map +1 -1
  701. package/esm/highlevel/methods/chats/unarchive-chats.js.map +1 -1
  702. package/esm/highlevel/methods/chats/unban-chat-member.js.map +1 -1
  703. package/esm/highlevel/methods/contacts/delete-contacts.js.map +1 -1
  704. package/esm/highlevel/methods/dialogs/create-folder.js.map +1 -1
  705. package/esm/highlevel/methods/dialogs/edit-folder.js.map +1 -1
  706. package/esm/highlevel/methods/dialogs/find-folder.js.map +1 -1
  707. package/esm/highlevel/methods/dialogs/get-folders.d.ts +3 -0
  708. package/esm/highlevel/methods/dialogs/get-folders.js.map +1 -1
  709. package/esm/highlevel/methods/dialogs/iter-dialogs.js.map +1 -1
  710. package/esm/highlevel/methods/files/download-buffer.js.map +1 -1
  711. package/esm/highlevel/methods/files/download-iterable.js +1 -1
  712. package/esm/highlevel/methods/files/download-iterable.js.map +1 -1
  713. package/esm/highlevel/methods/files/download-node-stream.js.map +1 -1
  714. package/esm/highlevel/methods/files/download-stream.js.map +1 -1
  715. package/esm/highlevel/methods/files/normalize-file-to-document.d.ts +9 -1
  716. package/esm/highlevel/methods/files/normalize-file-to-document.js.map +1 -1
  717. package/esm/highlevel/methods/files/normalize-input-file.js.map +1 -1
  718. package/esm/highlevel/methods/files/normalize-input-media.d.ts +1 -0
  719. package/esm/highlevel/methods/files/normalize-input-media.js +12 -12
  720. package/esm/highlevel/methods/files/normalize-input-media.js.map +1 -1
  721. package/esm/highlevel/methods/files/upload-file.js +8 -7
  722. package/esm/highlevel/methods/files/upload-file.js.map +1 -1
  723. package/esm/highlevel/methods/files/upload-media.js.map +1 -1
  724. package/esm/highlevel/methods/forums/iter-forum-topics.js.map +1 -1
  725. package/esm/highlevel/methods/invite-links/get-primary-invite-link.js.map +1 -1
  726. package/esm/highlevel/methods/invite-links/iter-invite-link-members.js.map +1 -1
  727. package/esm/highlevel/methods/invite-links/iter-invite-links.js.map +1 -1
  728. package/esm/highlevel/methods/messages/_business-connection.d.ts +7 -0
  729. package/esm/highlevel/methods/messages/_business-connection.js +38 -0
  730. package/esm/highlevel/methods/messages/_business-connection.js.map +1 -0
  731. package/esm/highlevel/methods/messages/close-poll.js +1 -1
  732. package/esm/highlevel/methods/messages/close-poll.js.map +1 -1
  733. package/esm/highlevel/methods/messages/delete-messages.js.map +1 -1
  734. package/esm/highlevel/methods/messages/edit-inline-message.js.map +1 -1
  735. package/esm/highlevel/methods/messages/edit-message.d.ts +1 -0
  736. package/esm/highlevel/methods/messages/edit-message.js +2 -1
  737. package/esm/highlevel/methods/messages/edit-message.js.map +1 -1
  738. package/esm/highlevel/methods/messages/find-in-update.d.ts +13 -1
  739. package/esm/highlevel/methods/messages/find-in-update.js +7 -2
  740. package/esm/highlevel/methods/messages/find-in-update.js.map +1 -1
  741. package/esm/highlevel/methods/messages/forward-messages.d.ts +5 -0
  742. package/esm/highlevel/methods/messages/forward-messages.js +2 -0
  743. package/esm/highlevel/methods/messages/forward-messages.js.map +1 -1
  744. package/esm/highlevel/methods/messages/get-all-scheduled-messages.d.ts +8 -0
  745. package/esm/highlevel/methods/messages/get-all-scheduled-messages.js +25 -0
  746. package/esm/highlevel/methods/messages/get-all-scheduled-messages.js.map +1 -0
  747. package/esm/highlevel/methods/messages/get-callback-query-message.js.map +1 -1
  748. package/esm/highlevel/methods/messages/get-discussion-message.d.ts +4 -0
  749. package/esm/highlevel/methods/messages/get-discussion-message.js.map +1 -1
  750. package/esm/highlevel/methods/messages/get-history.js +5 -1
  751. package/esm/highlevel/methods/messages/get-history.js.map +1 -1
  752. package/esm/highlevel/methods/messages/get-message-by-link.js.map +1 -1
  753. package/esm/highlevel/methods/messages/get-message-group.js.map +1 -1
  754. package/esm/highlevel/methods/messages/get-message-reactions.js.map +1 -1
  755. package/esm/highlevel/methods/messages/get-messages.js.map +1 -1
  756. package/esm/highlevel/methods/messages/get-reply-to.js.map +1 -1
  757. package/esm/highlevel/methods/messages/iter-history.js.map +1 -1
  758. package/esm/highlevel/methods/messages/iter-reaction-users.js.map +1 -1
  759. package/esm/highlevel/methods/messages/iter-search-global.js +2 -1
  760. package/esm/highlevel/methods/messages/iter-search-global.js.map +1 -1
  761. package/esm/highlevel/methods/messages/iter-search-messages.js.map +1 -1
  762. package/esm/highlevel/methods/messages/read-history.js.map +1 -1
  763. package/esm/highlevel/methods/messages/search-global.d.ts +4 -0
  764. package/esm/highlevel/methods/messages/search-global.js +2 -1
  765. package/esm/highlevel/methods/messages/search-global.js.map +1 -1
  766. package/esm/highlevel/methods/messages/send-answer.js.map +1 -1
  767. package/esm/highlevel/methods/messages/send-comment.js.map +1 -1
  768. package/esm/highlevel/methods/messages/send-common.d.ts +28 -0
  769. package/esm/highlevel/methods/messages/send-common.js +19 -0
  770. package/esm/highlevel/methods/messages/send-common.js.map +1 -1
  771. package/esm/highlevel/methods/messages/send-copy-group.js.map +1 -1
  772. package/esm/highlevel/methods/messages/send-copy.js.map +1 -1
  773. package/esm/highlevel/methods/messages/send-media-group.js +5 -2
  774. package/esm/highlevel/methods/messages/send-media-group.js.map +1 -1
  775. package/esm/highlevel/methods/messages/send-media.js +4 -2
  776. package/esm/highlevel/methods/messages/send-media.js.map +1 -1
  777. package/esm/highlevel/methods/messages/send-quote.js.map +1 -1
  778. package/esm/highlevel/methods/messages/send-text.js +4 -2
  779. package/esm/highlevel/methods/messages/send-text.js.map +1 -1
  780. package/esm/highlevel/methods/messages/send-typing.d.ts +4 -0
  781. package/esm/highlevel/methods/messages/send-typing.js +2 -1
  782. package/esm/highlevel/methods/messages/send-typing.js.map +1 -1
  783. package/esm/highlevel/methods/messages/send-vote.js.map +1 -1
  784. package/esm/highlevel/methods/messages/translate-text.js.map +1 -1
  785. package/esm/highlevel/methods/messages/unpin-all-messages.js.map +1 -1
  786. package/esm/highlevel/methods/misc/chain-id.d.ts +4 -1
  787. package/esm/highlevel/methods/misc/get-collectible-info.d.ts +6 -0
  788. package/esm/highlevel/methods/misc/get-collectible-info.js +22 -0
  789. package/esm/highlevel/methods/misc/get-collectible-info.js.map +1 -0
  790. package/esm/highlevel/methods/misc/normalize-privacy-rules.js.map +1 -1
  791. package/esm/highlevel/methods/misc/normalize-text.d.ts +5 -1
  792. package/esm/highlevel/methods/misc/normalize-text.js.map +1 -1
  793. package/esm/highlevel/methods/misc/with-params.js.map +1 -1
  794. package/esm/highlevel/methods/password/change-cloud-password.js.map +1 -1
  795. package/esm/highlevel/methods/password/enable-cloud-password.js.map +1 -1
  796. package/esm/highlevel/methods/password/remove-cloud-password.js.map +1 -1
  797. package/esm/highlevel/methods/premium/can-apply-boost.js.map +1 -1
  798. package/esm/highlevel/methods/premium/create-business-chat-link.d.ts +12 -0
  799. package/esm/highlevel/methods/premium/create-business-chat-link.js +22 -0
  800. package/esm/highlevel/methods/premium/create-business-chat-link.js.map +1 -0
  801. package/esm/highlevel/methods/premium/edit-business-chat-link.d.ts +20 -0
  802. package/esm/highlevel/methods/premium/edit-business-chat-link.js +37 -0
  803. package/esm/highlevel/methods/premium/edit-business-chat-link.js.map +1 -0
  804. package/esm/highlevel/methods/premium/get-business-chat-links.d.ts +6 -0
  805. package/esm/highlevel/methods/premium/get-business-chat-links.js +10 -0
  806. package/esm/highlevel/methods/premium/get-business-chat-links.js.map +1 -0
  807. package/esm/highlevel/methods/premium/get-business-connection.d.ts +8 -0
  808. package/esm/highlevel/methods/premium/get-business-connection.js +21 -0
  809. package/esm/highlevel/methods/premium/get-business-connection.js.map +1 -0
  810. package/esm/highlevel/methods/premium/iter-boosters.js.map +1 -1
  811. package/esm/highlevel/methods/premium/set-business-intro.d.ts +22 -0
  812. package/esm/highlevel/methods/premium/set-business-intro.js +38 -0
  813. package/esm/highlevel/methods/premium/set-business-intro.js.map +1 -0
  814. package/esm/highlevel/methods/premium/set-business-work-hours.d.ts +18 -0
  815. package/esm/highlevel/methods/premium/set-business-work-hours.js +29 -0
  816. package/esm/highlevel/methods/premium/set-business-work-hours.js.map +1 -0
  817. package/esm/highlevel/methods/stickers/_utils.d.ts +10 -0
  818. package/esm/highlevel/methods/stickers/_utils.js +23 -0
  819. package/esm/highlevel/methods/stickers/_utils.js.map +1 -0
  820. package/esm/highlevel/methods/stickers/add-sticker-to-set.d.ts +1 -2
  821. package/esm/highlevel/methods/stickers/add-sticker-to-set.js +4 -18
  822. package/esm/highlevel/methods/stickers/add-sticker-to-set.js.map +1 -1
  823. package/esm/highlevel/methods/stickers/create-sticker-set.d.ts +0 -3
  824. package/esm/highlevel/methods/stickers/create-sticker-set.js +3 -20
  825. package/esm/highlevel/methods/stickers/create-sticker-set.js.map +1 -1
  826. package/esm/highlevel/methods/stickers/delete-sticker-from-set.d.ts +1 -2
  827. package/esm/highlevel/methods/stickers/delete-sticker-from-set.js +1 -2
  828. package/esm/highlevel/methods/stickers/delete-sticker-from-set.js.map +1 -1
  829. package/esm/highlevel/methods/stickers/get-custom-emojis.js.map +1 -1
  830. package/esm/highlevel/methods/stickers/get-installed-stickers.d.ts +1 -2
  831. package/esm/highlevel/methods/stickers/get-installed-stickers.js +1 -2
  832. package/esm/highlevel/methods/stickers/get-installed-stickers.js.map +1 -1
  833. package/esm/highlevel/methods/stickers/get-my-sticker-sets.d.ts +13 -0
  834. package/esm/highlevel/methods/stickers/get-my-sticker-sets.js +17 -0
  835. package/esm/highlevel/methods/stickers/get-my-sticker-sets.js.map +1 -0
  836. package/esm/highlevel/methods/stickers/get-sticker-set.d.ts +2 -2
  837. package/esm/highlevel/methods/stickers/get-sticker-set.js +2 -2
  838. package/esm/highlevel/methods/stickers/get-sticker-set.js.map +1 -1
  839. package/esm/highlevel/methods/stickers/move-sticker-in-set.d.ts +2 -3
  840. package/esm/highlevel/methods/stickers/move-sticker-in-set.js +2 -3
  841. package/esm/highlevel/methods/stickers/move-sticker-in-set.js.map +1 -1
  842. package/esm/highlevel/methods/stickers/replace-sticker-in-set.d.ts +24 -0
  843. package/esm/highlevel/methods/stickers/replace-sticker-in-set.js +28 -0
  844. package/esm/highlevel/methods/stickers/replace-sticker-in-set.js.map +1 -0
  845. package/esm/highlevel/methods/stories/can-send-story.js.map +1 -1
  846. package/esm/highlevel/methods/stories/edit-story.js.map +1 -1
  847. package/esm/highlevel/methods/stories/find-in-update.d.ts +5 -1
  848. package/esm/highlevel/methods/stories/find-in-update.js.map +1 -1
  849. package/esm/highlevel/methods/stories/hide-my-stories-views.js.map +1 -1
  850. package/esm/highlevel/methods/stories/iter-all-stories.js.map +1 -1
  851. package/esm/highlevel/methods/stories/iter-profile-stories.js.map +1 -1
  852. package/esm/highlevel/methods/stories/iter-story-viewers.js.map +1 -1
  853. package/esm/highlevel/methods/stories/send-story.js.map +1 -1
  854. package/esm/highlevel/methods/users/delete-profile-photos.js.map +1 -1
  855. package/esm/highlevel/methods/users/get-users.js.map +1 -1
  856. package/esm/highlevel/methods/users/iter-profile-photos.js.map +1 -1
  857. package/esm/highlevel/methods/users/resolve-peer-many.js.map +1 -1
  858. package/esm/highlevel/methods/users/resolve-peer.js.map +1 -1
  859. package/esm/highlevel/methods/users/set-my-birthday.d.ts +12 -0
  860. package/esm/highlevel/methods/users/set-my-birthday.js +18 -0
  861. package/esm/highlevel/methods/users/set-my-birthday.js.map +1 -0
  862. package/esm/highlevel/methods/users/set-my-emoji-status.js.map +1 -1
  863. package/esm/highlevel/methods/users/set-my-profile-photo.js.map +1 -1
  864. package/esm/highlevel/methods.d.ts +12 -0
  865. package/esm/highlevel/methods.js +12 -0
  866. package/esm/highlevel/methods.js.map +1 -1
  867. package/esm/highlevel/storage/service/current-user.js +2 -0
  868. package/esm/highlevel/storage/service/current-user.js.map +1 -1
  869. package/esm/highlevel/storage/service/peers.js +5 -1
  870. package/esm/highlevel/storage/service/peers.js.map +1 -1
  871. package/esm/highlevel/storage/service/ref-messages.js +3 -0
  872. package/esm/highlevel/storage/service/ref-messages.js.map +1 -1
  873. package/esm/highlevel/storage/service/updates.js +1 -0
  874. package/esm/highlevel/storage/service/updates.js.map +1 -1
  875. package/esm/highlevel/storage/storage.d.ts +8 -3
  876. package/esm/highlevel/storage/storage.js +17 -4
  877. package/esm/highlevel/storage/storage.js.map +1 -1
  878. package/esm/highlevel/types/auth/sent-code.d.ts +7 -2
  879. package/esm/highlevel/types/auth/sent-code.js +15 -0
  880. package/esm/highlevel/types/auth/sent-code.js.map +1 -1
  881. package/esm/highlevel/types/bots/game-high-score.js +2 -0
  882. package/esm/highlevel/types/bots/game-high-score.js.map +1 -1
  883. package/esm/highlevel/types/bots/inline-message/factories.d.ts +5 -1
  884. package/esm/highlevel/types/bots/inline-message/factories.js.map +1 -1
  885. package/esm/highlevel/types/bots/inline-result/factories.d.ts +4 -1
  886. package/esm/highlevel/types/bots/inline-result/factories.js.map +1 -1
  887. package/esm/highlevel/types/bots/keyboards/builder.js +2 -1
  888. package/esm/highlevel/types/bots/keyboards/builder.js.map +1 -1
  889. package/esm/highlevel/types/bots/keyboards/factories.d.ts +7 -1
  890. package/esm/highlevel/types/bots/keyboards/factories.js.map +1 -1
  891. package/esm/highlevel/types/calls/discard-reason.d.ts +5 -0
  892. package/esm/highlevel/types/calls/discard-reason.js.map +1 -1
  893. package/esm/highlevel/types/conversation.js +13 -7
  894. package/esm/highlevel/types/conversation.js.map +1 -1
  895. package/esm/highlevel/types/errors.js +3 -0
  896. package/esm/highlevel/types/errors.js.map +1 -1
  897. package/esm/highlevel/types/files/file-location.js +3 -0
  898. package/esm/highlevel/types/files/file-location.js.map +1 -1
  899. package/esm/highlevel/types/files/uploaded-file.d.ts +2 -0
  900. package/esm/highlevel/types/files/uploaded-file.js +1 -1
  901. package/esm/highlevel/types/files/uploaded-file.js.map +1 -1
  902. package/esm/highlevel/types/files/utils.d.ts +6 -5
  903. package/esm/highlevel/types/files/utils.js.map +1 -1
  904. package/esm/highlevel/types/files/web-document.js +1 -0
  905. package/esm/highlevel/types/files/web-document.js.map +1 -1
  906. package/esm/highlevel/types/media/audio.js +3 -2
  907. package/esm/highlevel/types/media/audio.js.map +1 -1
  908. package/esm/highlevel/types/media/contact.js +2 -1
  909. package/esm/highlevel/types/media/contact.js.map +1 -1
  910. package/esm/highlevel/types/media/dice.js +125 -124
  911. package/esm/highlevel/types/media/dice.js.map +1 -1
  912. package/esm/highlevel/types/media/document-utils.d.ts +5 -0
  913. package/esm/highlevel/types/media/document-utils.js +7 -1
  914. package/esm/highlevel/types/media/document-utils.js.map +1 -1
  915. package/esm/highlevel/types/media/document.js +2 -4
  916. package/esm/highlevel/types/media/document.js.map +1 -1
  917. package/esm/highlevel/types/media/game.js +2 -1
  918. package/esm/highlevel/types/media/game.js.map +1 -1
  919. package/esm/highlevel/types/media/input-media/types.d.ts +2 -2
  920. package/esm/highlevel/types/media/input-media/types.js.map +1 -1
  921. package/esm/highlevel/types/media/invoice.js +4 -1
  922. package/esm/highlevel/types/media/invoice.js.map +1 -1
  923. package/esm/highlevel/types/media/location.js +4 -5
  924. package/esm/highlevel/types/media/location.js.map +1 -1
  925. package/esm/highlevel/types/media/photo.js +8 -1
  926. package/esm/highlevel/types/media/photo.js.map +1 -1
  927. package/esm/highlevel/types/media/poll.d.ts +17 -6
  928. package/esm/highlevel/types/media/poll.js +68 -18
  929. package/esm/highlevel/types/media/poll.js.map +1 -1
  930. package/esm/highlevel/types/media/sticker.js +3 -1
  931. package/esm/highlevel/types/media/sticker.js.map +1 -1
  932. package/esm/highlevel/types/media/story.js +3 -1
  933. package/esm/highlevel/types/media/story.js.map +1 -1
  934. package/esm/highlevel/types/media/thumbnail.js +35 -22
  935. package/esm/highlevel/types/media/thumbnail.js.map +1 -1
  936. package/esm/highlevel/types/media/venue.js +2 -1
  937. package/esm/highlevel/types/media/venue.js.map +1 -1
  938. package/esm/highlevel/types/media/video.js +3 -1
  939. package/esm/highlevel/types/media/video.js.map +1 -1
  940. package/esm/highlevel/types/media/voice.js +2 -1
  941. package/esm/highlevel/types/media/voice.js.map +1 -1
  942. package/esm/highlevel/types/media/web-page.js +2 -1
  943. package/esm/highlevel/types/media/web-page.js.map +1 -1
  944. package/esm/highlevel/types/messages/dialog.js +4 -12
  945. package/esm/highlevel/types/messages/dialog.js.map +1 -1
  946. package/esm/highlevel/types/messages/draft-message.js +1 -0
  947. package/esm/highlevel/types/messages/draft-message.js.map +1 -1
  948. package/esm/highlevel/types/messages/input-message-id.d.ts +5 -0
  949. package/esm/highlevel/types/messages/message-action.d.ts +19 -2
  950. package/esm/highlevel/types/messages/message-action.js +6 -0
  951. package/esm/highlevel/types/messages/message-action.js.map +1 -1
  952. package/esm/highlevel/types/messages/message-entity.js +2 -0
  953. package/esm/highlevel/types/messages/message-entity.js.map +1 -1
  954. package/esm/highlevel/types/messages/message-forward.js +2 -0
  955. package/esm/highlevel/types/messages/message-forward.js.map +1 -1
  956. package/esm/highlevel/types/messages/message-media.d.ts +4 -0
  957. package/esm/highlevel/types/messages/message-media.js.map +1 -1
  958. package/esm/highlevel/types/messages/message-reactions.js +4 -0
  959. package/esm/highlevel/types/messages/message-reactions.js.map +1 -1
  960. package/esm/highlevel/types/messages/message-replies.js +2 -0
  961. package/esm/highlevel/types/messages/message-replies.js.map +1 -1
  962. package/esm/highlevel/types/messages/message.d.ts +59 -1
  963. package/esm/highlevel/types/messages/message.js +102 -1
  964. package/esm/highlevel/types/messages/message.js.map +1 -1
  965. package/esm/highlevel/types/messages/replied-message.js +2 -0
  966. package/esm/highlevel/types/messages/replied-message.js.map +1 -1
  967. package/esm/highlevel/types/misc/collectible-info.d.ts +27 -0
  968. package/esm/highlevel/types/misc/collectible-info.js +43 -0
  969. package/esm/highlevel/types/misc/collectible-info.js.map +1 -0
  970. package/esm/highlevel/types/misc/entities.d.ts +7 -0
  971. package/esm/highlevel/types/misc/entities.js +13 -1
  972. package/esm/highlevel/types/misc/entities.js.map +1 -1
  973. package/esm/highlevel/types/misc/index.d.ts +1 -0
  974. package/esm/highlevel/types/misc/index.js +1 -0
  975. package/esm/highlevel/types/misc/index.js.map +1 -1
  976. package/esm/highlevel/types/misc/sticker-set.d.ts +8 -1
  977. package/esm/highlevel/types/misc/sticker-set.js +45 -8
  978. package/esm/highlevel/types/misc/sticker-set.js.map +1 -1
  979. package/esm/highlevel/types/misc/takeout-session.js +5 -0
  980. package/esm/highlevel/types/misc/takeout-session.js.map +1 -1
  981. package/esm/highlevel/types/peers/chat-colors.js +2 -0
  982. package/esm/highlevel/types/peers/chat-colors.js.map +1 -1
  983. package/esm/highlevel/types/peers/chat-event/actions.d.ts +3 -0
  984. package/esm/highlevel/types/peers/chat-event/actions.js.map +1 -1
  985. package/esm/highlevel/types/peers/chat-event/filters.d.ts +2 -0
  986. package/esm/highlevel/types/peers/chat-event/filters.js.map +1 -1
  987. package/esm/highlevel/types/peers/chat-event/index.js +2 -0
  988. package/esm/highlevel/types/peers/chat-event/index.js.map +1 -1
  989. package/esm/highlevel/types/peers/chat-invite-link-member.js +2 -0
  990. package/esm/highlevel/types/peers/chat-invite-link-member.js.map +1 -1
  991. package/esm/highlevel/types/peers/chat-invite-link.js +2 -0
  992. package/esm/highlevel/types/peers/chat-invite-link.js.map +1 -1
  993. package/esm/highlevel/types/peers/chat-location.js +1 -0
  994. package/esm/highlevel/types/peers/chat-location.js.map +1 -1
  995. package/esm/highlevel/types/peers/chat-member.js +2 -0
  996. package/esm/highlevel/types/peers/chat-member.js.map +1 -1
  997. package/esm/highlevel/types/peers/chat-permissions.js +1 -0
  998. package/esm/highlevel/types/peers/chat-permissions.js.map +1 -1
  999. package/esm/highlevel/types/peers/chat-photo.js +5 -0
  1000. package/esm/highlevel/types/peers/chat-photo.js.map +1 -1
  1001. package/esm/highlevel/types/peers/chat-preview.js +2 -0
  1002. package/esm/highlevel/types/peers/chat-preview.js.map +1 -1
  1003. package/esm/highlevel/types/peers/chat.d.ts +7 -93
  1004. package/esm/highlevel/types/peers/chat.js +10 -192
  1005. package/esm/highlevel/types/peers/chat.js.map +1 -1
  1006. package/esm/highlevel/types/peers/forum-topic.js +9 -6
  1007. package/esm/highlevel/types/peers/forum-topic.js.map +1 -1
  1008. package/esm/highlevel/types/peers/full-chat.d.ts +103 -0
  1009. package/esm/highlevel/types/peers/full-chat.js +234 -0
  1010. package/esm/highlevel/types/peers/full-chat.js.map +1 -0
  1011. package/esm/highlevel/types/peers/index.d.ts +1 -0
  1012. package/esm/highlevel/types/peers/index.js +1 -0
  1013. package/esm/highlevel/types/peers/index.js.map +1 -1
  1014. package/esm/highlevel/types/peers/peer.js.map +1 -1
  1015. package/esm/highlevel/types/peers/peers-index.js +3 -1
  1016. package/esm/highlevel/types/peers/peers-index.js.map +1 -1
  1017. package/esm/highlevel/types/peers/user.d.ts +5 -0
  1018. package/esm/highlevel/types/peers/user.js +12 -1
  1019. package/esm/highlevel/types/peers/user.js.map +1 -1
  1020. package/esm/highlevel/types/premium/boost-slot.js +2 -0
  1021. package/esm/highlevel/types/premium/boost-slot.js.map +1 -1
  1022. package/esm/highlevel/types/premium/boost-stats.js +1 -0
  1023. package/esm/highlevel/types/premium/boost-stats.js.map +1 -1
  1024. package/esm/highlevel/types/premium/boost.js +2 -0
  1025. package/esm/highlevel/types/premium/boost.js.map +1 -1
  1026. package/esm/highlevel/types/premium/business-account.d.ts +19 -0
  1027. package/esm/highlevel/types/premium/business-account.js +42 -0
  1028. package/esm/highlevel/types/premium/business-account.js.map +1 -0
  1029. package/esm/highlevel/types/premium/business-chat-link.d.ts +19 -0
  1030. package/esm/highlevel/types/premium/business-chat-link.js +36 -0
  1031. package/esm/highlevel/types/premium/business-chat-link.js.map +1 -0
  1032. package/esm/highlevel/types/premium/business-connection.d.ts +23 -0
  1033. package/esm/highlevel/types/premium/business-connection.js +42 -0
  1034. package/esm/highlevel/types/premium/business-connection.js.map +1 -0
  1035. package/esm/highlevel/types/premium/business-intro.d.ts +22 -0
  1036. package/esm/highlevel/types/premium/business-intro.js +40 -0
  1037. package/esm/highlevel/types/premium/business-intro.js.map +1 -0
  1038. package/esm/highlevel/types/premium/business-location.d.ts +10 -0
  1039. package/esm/highlevel/types/premium/business-location.js +23 -0
  1040. package/esm/highlevel/types/premium/business-location.js.map +1 -0
  1041. package/esm/highlevel/types/premium/business-work-hours.d.ts +42 -0
  1042. package/esm/highlevel/types/premium/business-work-hours.js +137 -0
  1043. package/esm/highlevel/types/premium/business-work-hours.js.map +1 -0
  1044. package/esm/highlevel/types/premium/index.d.ts +5 -0
  1045. package/esm/highlevel/types/premium/index.js +5 -0
  1046. package/esm/highlevel/types/premium/index.js.map +1 -1
  1047. package/esm/highlevel/types/reactions/emoji-status.js +1 -0
  1048. package/esm/highlevel/types/reactions/emoji-status.js.map +1 -1
  1049. package/esm/highlevel/types/reactions/peer-reaction.js +2 -0
  1050. package/esm/highlevel/types/reactions/peer-reaction.js.map +1 -1
  1051. package/esm/highlevel/types/reactions/reaction-count.js +1 -0
  1052. package/esm/highlevel/types/reactions/reaction-count.js.map +1 -1
  1053. package/esm/highlevel/types/reactions/types.js.map +1 -1
  1054. package/esm/highlevel/types/stories/all-stories.d.ts +2 -2
  1055. package/esm/highlevel/types/stories/all-stories.js +3 -1
  1056. package/esm/highlevel/types/stories/all-stories.js.map +1 -1
  1057. package/esm/highlevel/types/stories/interactive/base.js +1 -0
  1058. package/esm/highlevel/types/stories/interactive/base.js.map +1 -1
  1059. package/esm/highlevel/types/stories/interactive/channel-post.js +3 -1
  1060. package/esm/highlevel/types/stories/interactive/channel-post.js.map +1 -1
  1061. package/esm/highlevel/types/stories/interactive/index.js.map +1 -1
  1062. package/esm/highlevel/types/stories/interactive/input.js +1 -0
  1063. package/esm/highlevel/types/stories/interactive/input.js.map +1 -1
  1064. package/esm/highlevel/types/stories/interactive/location.js +2 -1
  1065. package/esm/highlevel/types/stories/interactive/location.js.map +1 -1
  1066. package/esm/highlevel/types/stories/interactive/reaction.js +2 -1
  1067. package/esm/highlevel/types/stories/interactive/reaction.js.map +1 -1
  1068. package/esm/highlevel/types/stories/interactive/venue.js +2 -1
  1069. package/esm/highlevel/types/stories/interactive/venue.js.map +1 -1
  1070. package/esm/highlevel/types/stories/peer-stories.js +2 -0
  1071. package/esm/highlevel/types/stories/peer-stories.js.map +1 -1
  1072. package/esm/highlevel/types/stories/stealth-mode.js +1 -0
  1073. package/esm/highlevel/types/stories/stealth-mode.js.map +1 -1
  1074. package/esm/highlevel/types/stories/story-interactions.js +2 -0
  1075. package/esm/highlevel/types/stories/story-interactions.js.map +1 -1
  1076. package/esm/highlevel/types/stories/story-viewer.d.ts +1 -1
  1077. package/esm/highlevel/types/stories/story-viewer.js +6 -0
  1078. package/esm/highlevel/types/stories/story-viewer.js.map +1 -1
  1079. package/esm/highlevel/types/stories/story.js +2 -0
  1080. package/esm/highlevel/types/stories/story.js.map +1 -1
  1081. package/esm/highlevel/types/updates/bot-chat-join-request.js +2 -0
  1082. package/esm/highlevel/types/updates/bot-chat-join-request.js.map +1 -1
  1083. package/esm/highlevel/types/updates/bot-reaction.js +4 -0
  1084. package/esm/highlevel/types/updates/bot-reaction.js.map +1 -1
  1085. package/esm/highlevel/types/updates/bot-stopped.js +2 -0
  1086. package/esm/highlevel/types/updates/bot-stopped.js.map +1 -1
  1087. package/esm/highlevel/types/updates/business-message.d.ts +18 -0
  1088. package/esm/highlevel/types/updates/business-message.js +31 -0
  1089. package/esm/highlevel/types/updates/business-message.js.map +1 -0
  1090. package/esm/highlevel/types/updates/callback-query.js +4 -0
  1091. package/esm/highlevel/types/updates/callback-query.js.map +1 -1
  1092. package/esm/highlevel/types/updates/chat-join-request.js +2 -0
  1093. package/esm/highlevel/types/updates/chat-join-request.js.map +1 -1
  1094. package/esm/highlevel/types/updates/chat-member-update.js +2 -0
  1095. package/esm/highlevel/types/updates/chat-member-update.js.map +1 -1
  1096. package/esm/highlevel/types/updates/chosen-inline-result.js +2 -0
  1097. package/esm/highlevel/types/updates/chosen-inline-result.js.map +1 -1
  1098. package/esm/highlevel/types/updates/delete-business-message-update.d.ts +21 -0
  1099. package/esm/highlevel/types/updates/delete-business-message-update.js +34 -0
  1100. package/esm/highlevel/types/updates/delete-business-message-update.js.map +1 -0
  1101. package/esm/highlevel/types/updates/delete-message-update.js +1 -0
  1102. package/esm/highlevel/types/updates/delete-message-update.js.map +1 -1
  1103. package/esm/highlevel/types/updates/delete-story-update.js +2 -0
  1104. package/esm/highlevel/types/updates/delete-story-update.js.map +1 -1
  1105. package/esm/highlevel/types/updates/history-read-update.js +1 -0
  1106. package/esm/highlevel/types/updates/history-read-update.js.map +1 -1
  1107. package/esm/highlevel/types/updates/index.d.ts +19 -2
  1108. package/esm/highlevel/types/updates/index.js +3 -1
  1109. package/esm/highlevel/types/updates/index.js.map +1 -1
  1110. package/esm/highlevel/types/updates/inline-query.js +2 -0
  1111. package/esm/highlevel/types/updates/inline-query.js.map +1 -1
  1112. package/esm/highlevel/types/updates/parse-update.d.ts +4 -1
  1113. package/esm/highlevel/types/updates/parse-update.js +9 -1
  1114. package/esm/highlevel/types/updates/parse-update.js.map +1 -1
  1115. package/esm/highlevel/types/updates/poll-update.js +4 -2
  1116. package/esm/highlevel/types/updates/poll-update.js.map +1 -1
  1117. package/esm/highlevel/types/updates/poll-vote.js +2 -0
  1118. package/esm/highlevel/types/updates/poll-vote.js.map +1 -1
  1119. package/esm/highlevel/types/updates/pre-checkout-query.js +2 -0
  1120. package/esm/highlevel/types/updates/pre-checkout-query.js.map +1 -1
  1121. package/esm/highlevel/types/updates/story-update.js +2 -0
  1122. package/esm/highlevel/types/updates/story-update.js.map +1 -1
  1123. package/esm/highlevel/types/updates/user-status-update.js +1 -0
  1124. package/esm/highlevel/types/updates/user-status-update.js.map +1 -1
  1125. package/esm/highlevel/types/updates/user-typing-update.js +1 -0
  1126. package/esm/highlevel/types/updates/user-typing-update.js.map +1 -1
  1127. package/esm/highlevel/updates/manager.d.ts +0 -1
  1128. package/esm/highlevel/updates/manager.js +57 -30
  1129. package/esm/highlevel/updates/manager.js.map +1 -1
  1130. package/esm/highlevel/updates/parsed.js +8 -2
  1131. package/esm/highlevel/updates/parsed.js.map +1 -1
  1132. package/esm/highlevel/updates/types.d.ts +57 -0
  1133. package/esm/highlevel/updates/utils.d.ts +2 -0
  1134. package/esm/highlevel/updates/utils.js.map +1 -1
  1135. package/esm/highlevel/utils/convert-file-id.js.map +1 -1
  1136. package/esm/highlevel/utils/entities.js.map +1 -1
  1137. package/esm/highlevel/utils/file-type.d.ts +1 -0
  1138. package/esm/highlevel/utils/file-type.js +34 -0
  1139. package/esm/highlevel/utils/file-type.js.map +1 -1
  1140. package/esm/highlevel/utils/file-utils.js +1 -1
  1141. package/esm/highlevel/utils/file-utils.js.map +1 -1
  1142. package/esm/highlevel/utils/inline-utils.js.map +1 -1
  1143. package/esm/highlevel/utils/inspectable.js +4 -0
  1144. package/esm/highlevel/utils/inspectable.js.map +1 -1
  1145. package/esm/highlevel/utils/memoize.js.map +1 -1
  1146. package/esm/highlevel/utils/peer-utils.js.map +1 -1
  1147. package/esm/highlevel/utils/query-batcher.js.map +1 -1
  1148. package/esm/highlevel/utils/rps-meter.js +3 -0
  1149. package/esm/highlevel/utils/rps-meter.js.map +1 -1
  1150. package/esm/highlevel/utils/stream-utils.js.map +1 -1
  1151. package/esm/highlevel/utils/string-session.d.ts +1 -2
  1152. package/esm/highlevel/utils/string-session.js +27 -7
  1153. package/esm/highlevel/utils/string-session.js.map +1 -1
  1154. package/esm/highlevel/utils/voice-utils.js.map +1 -1
  1155. package/esm/highlevel/worker/app-config.d.ts +2 -3
  1156. package/esm/highlevel/worker/app-config.js +6 -3
  1157. package/esm/highlevel/worker/app-config.js.map +1 -1
  1158. package/esm/highlevel/worker/errors.js.map +1 -1
  1159. package/esm/highlevel/worker/invoker.js +3 -2
  1160. package/esm/highlevel/worker/invoker.js.map +1 -1
  1161. package/esm/highlevel/worker/port.d.ts +16 -17
  1162. package/esm/highlevel/worker/port.js +74 -49
  1163. package/esm/highlevel/worker/port.js.map +1 -1
  1164. package/esm/highlevel/worker/protocol.d.ts +1 -2
  1165. package/esm/highlevel/worker/protocol.js.map +1 -1
  1166. package/esm/highlevel/worker/storage.d.ts +9 -13
  1167. package/esm/highlevel/worker/storage.js +34 -19
  1168. package/esm/highlevel/worker/storage.js.map +1 -1
  1169. package/esm/highlevel/worker/worker.js +3 -0
  1170. package/esm/highlevel/worker/worker.js.map +1 -1
  1171. package/esm/network/auth-key.js +8 -1
  1172. package/esm/network/auth-key.js.map +1 -1
  1173. package/esm/network/authorization.js.map +1 -1
  1174. package/esm/network/client.d.ts +0 -1
  1175. package/esm/network/client.js +39 -14
  1176. package/esm/network/client.js.map +1 -1
  1177. package/esm/network/config-manager.js.map +1 -1
  1178. package/esm/network/mtproto-session.d.ts +0 -1
  1179. package/esm/network/mtproto-session.js +40 -30
  1180. package/esm/network/mtproto-session.js.map +1 -1
  1181. package/esm/network/multi-session-connection.d.ts +1 -2
  1182. package/esm/network/multi-session-connection.js +13 -7
  1183. package/esm/network/multi-session-connection.js.map +1 -1
  1184. package/esm/network/network-manager.d.ts +10 -3
  1185. package/esm/network/network-manager.js +57 -31
  1186. package/esm/network/network-manager.js.map +1 -1
  1187. package/esm/network/persistent-connection.d.ts +2 -3
  1188. package/esm/network/persistent-connection.js +33 -22
  1189. package/esm/network/persistent-connection.js.map +1 -1
  1190. package/esm/network/server-salt.js +4 -5
  1191. package/esm/network/server-salt.js.map +1 -1
  1192. package/esm/network/session-connection.d.ts +1 -1
  1193. package/esm/network/session-connection.js +32 -12
  1194. package/esm/network/session-connection.js.map +1 -1
  1195. package/esm/network/transports/abstract.d.ts +1 -2
  1196. package/esm/network/transports/abstract.js +1 -0
  1197. package/esm/network/transports/abstract.js.map +1 -1
  1198. package/esm/network/transports/intermediate.js +1 -0
  1199. package/esm/network/transports/intermediate.js.map +1 -1
  1200. package/esm/network/transports/obfuscated.js +3 -0
  1201. package/esm/network/transports/obfuscated.js.map +1 -1
  1202. package/esm/network/transports/streamed.d.ts +0 -1
  1203. package/esm/network/transports/streamed.js +1 -4
  1204. package/esm/network/transports/streamed.js.map +1 -1
  1205. package/esm/network/transports/wrapped.d.ts +0 -1
  1206. package/esm/network/transports/wrapped.js +2 -0
  1207. package/esm/network/transports/wrapped.js.map +1 -1
  1208. package/esm/platform.js.map +1 -1
  1209. package/esm/storage/driver.js +3 -4
  1210. package/esm/storage/driver.js.map +1 -1
  1211. package/esm/storage/memory/driver.js +1 -3
  1212. package/esm/storage/memory/driver.js.map +1 -1
  1213. package/esm/storage/memory/index.js +5 -7
  1214. package/esm/storage/memory/index.js.map +1 -1
  1215. package/esm/storage/memory/repository/auth-keys.d.ts +1 -1
  1216. package/esm/storage/memory/repository/auth-keys.js +2 -0
  1217. package/esm/storage/memory/repository/auth-keys.js.map +1 -1
  1218. package/esm/storage/memory/repository/kv.d.ts +1 -1
  1219. package/esm/storage/memory/repository/kv.js +2 -0
  1220. package/esm/storage/memory/repository/kv.js.map +1 -1
  1221. package/esm/storage/memory/repository/peers.d.ts +1 -1
  1222. package/esm/storage/memory/repository/peers.js +2 -0
  1223. package/esm/storage/memory/repository/peers.js.map +1 -1
  1224. package/esm/storage/memory/repository/ref-messages.d.ts +1 -1
  1225. package/esm/storage/memory/repository/ref-messages.js +2 -0
  1226. package/esm/storage/memory/repository/ref-messages.js.map +1 -1
  1227. package/esm/storage/service/auth-keys.js +2 -0
  1228. package/esm/storage/service/auth-keys.js.map +1 -1
  1229. package/esm/storage/service/base.js +4 -0
  1230. package/esm/storage/service/base.js.map +1 -1
  1231. package/esm/storage/service/default-dcs.js +2 -0
  1232. package/esm/storage/service/default-dcs.js.map +1 -1
  1233. package/esm/storage/service/future-salts.js +2 -1
  1234. package/esm/storage/service/future-salts.js.map +1 -1
  1235. package/esm/storage/sqlite/driver.js +10 -10
  1236. package/esm/storage/sqlite/driver.js.map +1 -1
  1237. package/esm/storage/sqlite/index.d.ts +1 -1
  1238. package/esm/storage/sqlite/index.js +5 -0
  1239. package/esm/storage/sqlite/index.js.map +1 -1
  1240. package/esm/storage/sqlite/repository/auth-keys.js +9 -0
  1241. package/esm/storage/sqlite/repository/auth-keys.js.map +1 -1
  1242. package/esm/storage/sqlite/repository/kv.js +5 -0
  1243. package/esm/storage/sqlite/repository/kv.js.map +1 -1
  1244. package/esm/storage/sqlite/repository/peers.js +7 -2
  1245. package/esm/storage/sqlite/repository/peers.js.map +1 -1
  1246. package/esm/storage/sqlite/repository/ref-messages.d.ts +1 -1
  1247. package/esm/storage/sqlite/repository/ref-messages.js +6 -0
  1248. package/esm/storage/sqlite/repository/ref-messages.js.map +1 -1
  1249. package/esm/storage/storage.d.ts +22 -3
  1250. package/esm/storage/storage.js +21 -13
  1251. package/esm/storage/storage.js.map +1 -1
  1252. package/esm/types/errors.js +13 -0
  1253. package/esm/types/errors.js.map +1 -1
  1254. package/esm/types/utils.d.ts +1 -0
  1255. package/esm/types/utils.js.map +1 -1
  1256. package/esm/utils/async-lock.js +1 -3
  1257. package/esm/utils/async-lock.js.map +1 -1
  1258. package/esm/utils/bigint-utils.js.map +1 -1
  1259. package/esm/utils/binary/asn1-parser.js.map +1 -1
  1260. package/esm/utils/buffer-utils.js.map +1 -1
  1261. package/esm/utils/condition-variable.js +2 -0
  1262. package/esm/utils/condition-variable.js.map +1 -1
  1263. package/esm/utils/crypto/factorization.js.map +1 -1
  1264. package/esm/utils/crypto/keys.js.map +1 -1
  1265. package/esm/utils/crypto/miller-rabin.js.map +1 -1
  1266. package/esm/utils/crypto/password.js.map +1 -1
  1267. package/esm/utils/crypto/utils.js.map +1 -1
  1268. package/esm/utils/dcs.js +1 -1
  1269. package/esm/utils/dcs.js.map +1 -1
  1270. package/esm/utils/deque.js +8 -2
  1271. package/esm/utils/deque.js.map +1 -1
  1272. package/esm/utils/early-timer.js +4 -1
  1273. package/esm/utils/early-timer.js.map +1 -1
  1274. package/esm/utils/error-reporting.js.map +1 -1
  1275. package/esm/utils/function-utils.js.map +1 -1
  1276. package/esm/utils/linked-list.js +4 -1
  1277. package/esm/utils/linked-list.js.map +1 -1
  1278. package/esm/utils/links/bots.js.map +1 -1
  1279. package/esm/utils/links/chat.js.map +1 -1
  1280. package/esm/utils/links/common.js.map +1 -1
  1281. package/esm/utils/links/misc.js.map +1 -1
  1282. package/esm/utils/logger.d.ts +2 -2
  1283. package/esm/utils/logger.js +21 -14
  1284. package/esm/utils/logger.js.map +1 -1
  1285. package/esm/utils/long-utils.js +2 -6
  1286. package/esm/utils/long-utils.js.map +1 -1
  1287. package/esm/utils/lru-map.js +5 -1
  1288. package/esm/utils/lru-map.js.map +1 -1
  1289. package/esm/utils/lru-set.js +4 -0
  1290. package/esm/utils/lru-set.js.map +1 -1
  1291. package/esm/utils/peer-utils.js.map +1 -1
  1292. package/esm/utils/reloadable.d.ts +0 -1
  1293. package/esm/utils/reloadable.js +10 -7
  1294. package/esm/utils/reloadable.js.map +1 -1
  1295. package/esm/utils/sorted-array.js +2 -0
  1296. package/esm/utils/sorted-array.js.map +1 -1
  1297. package/esm/utils/tl-json.js.map +1 -1
  1298. package/esm/utils/type-assertions.js.map +1 -1
  1299. package/index.d.ts +1 -0
  1300. package/index.js +1 -0
  1301. package/methods.d.ts +1 -0
  1302. package/methods.js +1 -0
  1303. package/package.json +13 -13
  1304. package/platform.d.ts +1 -0
  1305. package/platform.js +1 -0
  1306. package/utils.d.ts +1 -0
  1307. package/utils.js +1 -0
  1308. package/worker.d.ts +1 -0
  1309. package/worker.js +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"get-full-chat.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/chats/get-full-chat.ts"],"names":[],"mappings":";;;AAEA,wDAA0D;AAE1D,mDAA0D;AAC1D,6DAOkC;AAClC,8DAAsD;AAEtD,kBAAkB;AAClB;;;;;;;GAOG;AACI,KAAK,UAAU,WAAW,CAAC,MAAuB,EAAE,MAAqB;IAC5E,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QAC5B,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,iCAAiB,CAAC,CAAA;QAEzC,IAAI,CAAC,EAAE;YACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;gBAC1B,CAAC,EAAE,0BAA0B;gBAC7B,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;aACb,CAAC,CAAA;YAEF,IAAI,GAAG,CAAC,CAAC,KAAK,YAAY,EAAE;gBACxB,MAAM,IAAI,2BAAe,CAAC,sBAAsB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;aAC/E;YAED,wCAAwC;YACxC,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,CAAA;SACvB;KACJ;IAED,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE9C,IAAI,GAAqD,CAAA;IACzD,IAAI,IAAA,kCAAkB,EAAC,IAAI,CAAC,EAAE;QAC1B,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;YACpB,CAAC,EAAE,yBAAyB;YAC5B,OAAO,EAAE,IAAA,8BAAc,EAAC,IAAI,CAAC;SAChC,CAAC,CAAA;KACL;SAAM,IAAI,IAAA,+BAAe,EAAC,IAAI,CAAC,EAAE;QAC9B,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;YACpB,CAAC,EAAE,mBAAmB;YACtB,EAAE,EAAE,IAAA,2BAAW,EAAC,IAAI,CAAE;SACzB,CAAC,CAAA;KACL;SAAM,IAAI,IAAA,+BAAe,EAAC,IAAI,CAAC,EAAE;QAC9B,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;YACpB,CAAC,EAAE,sBAAsB;YACzB,MAAM,EAAE,IAAI,CAAC,MAAM;SACtB,CAAC,CAAA;KACL;;QAAM,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;IAE3C,OAAO,eAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;AAC/B,CAAC;AAxCD,kCAwCC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MtArgumentError } from '../../../types/errors.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { Chat, InputPeerLike } from '../../types/index.js'\nimport {\n INVITE_LINK_REGEX,\n isInputPeerChannel,\n isInputPeerChat,\n isInputPeerUser,\n toInputChannel,\n toInputUser,\n} from '../../utils/peer-utils.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\n\n// @available=both\n/**\n * Get full information about a chat.\n *\n * @param chatId ID of the chat, its username or invite link\n * @throws MtArgumentError\n * In case you are trying to get info about private chat that you haven't joined.\n * Use {@link getChatPreview} instead.\n */\nexport async function getFullChat(client: ITelegramClient, chatId: InputPeerLike): Promise<Chat> {\n if (typeof chatId === 'string') {\n const m = chatId.match(INVITE_LINK_REGEX)\n\n if (m) {\n const res = await client.call({\n _: 'messages.checkChatInvite',\n hash: m[1],\n })\n\n if (res._ === 'chatInvite') {\n throw new MtArgumentError(`You haven't joined ${JSON.stringify(res.title)}`)\n }\n\n // we still need to fetch full chat info\n chatId = res.chat.id\n }\n }\n\n const peer = await resolvePeer(client, chatId)\n\n let res: tl.messages.TypeChatFull | tl.users.TypeUserFull\n if (isInputPeerChannel(peer)) {\n res = await client.call({\n _: 'channels.getFullChannel',\n channel: toInputChannel(peer),\n })\n } else if (isInputPeerUser(peer)) {\n res = await client.call({\n _: 'users.getFullUser',\n id: toInputUser(peer)!,\n })\n } else if (isInputPeerChat(peer)) {\n res = await client.call({\n _: 'messages.getFullChat',\n chatId: peer.chatId,\n })\n } else throw new Error('should not happen')\n\n return Chat._parseFull(res)\n}\n"]}
1
+ {"version":3,"file":"get-full-chat.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/chats/get-full-chat.ts"],"names":[],"mappings":";;;AAEA,wDAA0D;AAE1D,mDAA8D;AAC9D,6DAOkC;AAClC,8DAAsD;AAEtD,kBAAkB;AAClB;;;;;;;GAOG;AACI,KAAK,UAAU,WAAW,CAAC,MAAuB,EAAE,MAAqB;IAC5E,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,iCAAiB,CAAC,CAAA;QAEzC,IAAI,CAAC,EAAE,CAAC;YACJ,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;gBAC1B,CAAC,EAAE,0BAA0B;gBAC7B,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;aACb,CAAC,CAAA;YAEF,IAAI,GAAG,CAAC,CAAC,KAAK,YAAY,EAAE,CAAC;gBACzB,MAAM,IAAI,2BAAe,CAAC,sBAAsB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YAChF,CAAC;YAED,wCAAwC;YACxC,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,CAAA;QACxB,CAAC;IACL,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE9C,IAAI,GAAqD,CAAA;IACzD,IAAI,IAAA,kCAAkB,EAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;YACpB,CAAC,EAAE,yBAAyB;YAC5B,OAAO,EAAE,IAAA,8BAAc,EAAC,IAAI,CAAC;SAChC,CAAC,CAAA;IACN,CAAC;SAAM,IAAI,IAAA,+BAAe,EAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;YACpB,CAAC,EAAE,mBAAmB;YACtB,EAAE,EAAE,IAAA,2BAAW,EAAC,IAAI,CAAE;SACzB,CAAC,CAAA;IACN,CAAC;SAAM,IAAI,IAAA,+BAAe,EAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;YACpB,CAAC,EAAE,sBAAsB;YACzB,MAAM,EAAE,IAAI,CAAC,MAAM;SACtB,CAAC,CAAA;IACN,CAAC;;QAAM,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;IAE3C,OAAO,mBAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;AAC/B,CAAC;AAxCD,kCAwCC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MtArgumentError } from '../../../types/errors.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { FullChat, InputPeerLike } from '../../types/index.js'\nimport {\n INVITE_LINK_REGEX,\n isInputPeerChannel,\n isInputPeerChat,\n isInputPeerUser,\n toInputChannel,\n toInputUser,\n} from '../../utils/peer-utils.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\n\n// @available=both\n/**\n * Get full information about a chat.\n *\n * @param chatId ID of the chat, its username or invite link\n * @throws MtArgumentError\n * In case you are trying to get info about private chat that you haven't joined.\n * Use {@link getChatPreview} instead.\n */\nexport async function getFullChat(client: ITelegramClient, chatId: InputPeerLike): Promise<FullChat> {\n if (typeof chatId === 'string') {\n const m = chatId.match(INVITE_LINK_REGEX)\n\n if (m) {\n const res = await client.call({\n _: 'messages.checkChatInvite',\n hash: m[1],\n })\n\n if (res._ === 'chatInvite') {\n throw new MtArgumentError(`You haven't joined ${JSON.stringify(res.title)}`)\n }\n\n // we still need to fetch full chat info\n chatId = res.chat.id\n }\n }\n\n const peer = await resolvePeer(client, chatId)\n\n let res: tl.messages.TypeChatFull | tl.users.TypeUserFull\n if (isInputPeerChannel(peer)) {\n res = await client.call({\n _: 'channels.getFullChannel',\n channel: toInputChannel(peer),\n })\n } else if (isInputPeerUser(peer)) {\n res = await client.call({\n _: 'users.getFullUser',\n id: toInputUser(peer)!,\n })\n } else if (isInputPeerChat(peer)) {\n res = await client.call({\n _: 'messages.getFullChat',\n chatId: peer.chatId,\n })\n } else throw new Error('should not happen')\n\n return FullChat._parse(res)\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"get-nearby-chats.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/chats/get-nearby-chats.ts"],"names":[],"mappings":";;;AAEA,gEAA8D;AAC9D,0EAAgE;AAEhE,mDAA2C;AAC3C,qDAA6D;AAE7D;;;;;GAKG;AACI,KAAK,UAAU,cAAc,CAAC,MAAuB,EAAE,QAAgB,EAAE,SAAiB;IAC7F,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC1B,CAAC,EAAE,qBAAqB;QACxB,QAAQ,EAAE;YACN,CAAC,EAAE,eAAe;YAClB,GAAG,EAAE,QAAQ;YACb,IAAI,EAAE,SAAS;SAClB;KACJ,CAAC,CAAA;IAEF,IAAA,+BAAoB,EAAC,qBAAqB,EAAE,GAAG,CAAC,CAAA;IAChD,uCAAuC;IAEvC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,EAAE,CAAA;IAElC,IAAA,iCAAY,EAAC,qCAAqC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAA;IAExF,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,eAAI,CAAC,EAAE,CAAC,CAAC,CAAA;IAEjD,MAAM,KAAK,GAAyB,EAAE,CAAA;IACtC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IAEvC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAClC,IAAI,IAAI,CAAC,CAAC,KAAK,iBAAiB;YAAE,OAAM;QAExC,MAAM,EAAE,GAAG,IAAA,+BAAe,EAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAErC,IAAI,KAAK,CAAC,EAAE,CAAC,EAAE;YACV,KAAK,CAAC,EAAE,CAAsB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;SAC3D;IACL,CAAC,CAAC,CAAA;IAEF,OAAO,KAAK,CAAA;AAChB,CAAC;AAjCD,wCAiCC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { getMarkedPeerId } from '../../../utils/peer-utils.js'\nimport { assertTypeIs } from '../../../utils/type-assertions.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { Chat } from '../../types/index.js'\nimport { assertIsUpdatesGroup } from '../../updates/utils.js'\n\n/**\n * Get nearby chats\n *\n * @param latitude Latitude of the location\n * @param longitude Longitude of the location\n */\nexport async function getNearbyChats(client: ITelegramClient, latitude: number, longitude: number): Promise<Chat[]> {\n const res = await client.call({\n _: 'contacts.getLocated',\n geoPoint: {\n _: 'inputGeoPoint',\n lat: latitude,\n long: longitude,\n },\n })\n\n assertIsUpdatesGroup('contacts.getLocated', res)\n // client.handleClientUpdate(res, true)\n\n if (!res.updates.length) return []\n\n assertTypeIs('contacts.getLocated (@ .updates[0])', res.updates[0], 'updatePeerLocated')\n\n const chats = res.chats.map((it) => new Chat(it))\n\n const index: Record<number, Chat> = {}\n chats.forEach((c) => (index[c.id] = c))\n\n res.updates[0].peers.forEach((peer) => {\n if (peer._ === 'peerSelfLocated') return\n\n const id = getMarkedPeerId(peer.peer)\n\n if (index[id]) {\n (index[id] as tl.Mutable<Chat>).distance = peer.distance\n }\n })\n\n return chats\n}\n"]}
1
+ {"version":3,"file":"get-nearby-chats.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/chats/get-nearby-chats.ts"],"names":[],"mappings":";;;AAEA,gEAA8D;AAC9D,0EAAgE;AAEhE,mDAA2C;AAC3C,qDAA6D;AAE7D;;;;;GAKG;AACI,KAAK,UAAU,cAAc,CAAC,MAAuB,EAAE,QAAgB,EAAE,SAAiB;IAC7F,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC1B,CAAC,EAAE,qBAAqB;QACxB,QAAQ,EAAE;YACN,CAAC,EAAE,eAAe;YAClB,GAAG,EAAE,QAAQ;YACb,IAAI,EAAE,SAAS;SAClB;KACJ,CAAC,CAAA;IAEF,IAAA,+BAAoB,EAAC,qBAAqB,EAAE,GAAG,CAAC,CAAA;IAChD,uCAAuC;IAEvC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,EAAE,CAAA;IAElC,IAAA,iCAAY,EAAC,qCAAqC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAA;IAExF,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,eAAI,CAAC,EAAE,CAAC,CAAC,CAAA;IAEjD,MAAM,KAAK,GAAyB,EAAE,CAAA;IACtC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IAEvC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAClC,IAAI,IAAI,CAAC,CAAC,KAAK,iBAAiB;YAAE,OAAM;QAExC,MAAM,EAAE,GAAG,IAAA,+BAAe,EAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAErC,IAAI,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;YACX,KAAK,CAAC,EAAE,CAAsB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC5D,CAAC;IACL,CAAC,CAAC,CAAA;IAEF,OAAO,KAAK,CAAA;AAChB,CAAC;AAjCD,wCAiCC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { getMarkedPeerId } from '../../../utils/peer-utils.js'\nimport { assertTypeIs } from '../../../utils/type-assertions.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { Chat } from '../../types/index.js'\nimport { assertIsUpdatesGroup } from '../../updates/utils.js'\n\n/**\n * Get nearby chats\n *\n * @param latitude Latitude of the location\n * @param longitude Longitude of the location\n */\nexport async function getNearbyChats(client: ITelegramClient, latitude: number, longitude: number): Promise<Chat[]> {\n const res = await client.call({\n _: 'contacts.getLocated',\n geoPoint: {\n _: 'inputGeoPoint',\n lat: latitude,\n long: longitude,\n },\n })\n\n assertIsUpdatesGroup('contacts.getLocated', res)\n // client.handleClientUpdate(res, true)\n\n if (!res.updates.length) return []\n\n assertTypeIs('contacts.getLocated (@ .updates[0])', res.updates[0], 'updatePeerLocated')\n\n const chats = res.chats.map((it) => new Chat(it))\n\n const index: Record<number, Chat> = {}\n chats.forEach((c) => (index[c.id] = c))\n\n res.updates[0].peers.forEach((peer) => {\n if (peer._ === 'peerSelfLocated') return\n\n const id = getMarkedPeerId(peer.peer)\n\n if (index[id]) {\n (index[id] as tl.Mutable<Chat>).distance = peer.distance\n }\n })\n\n return chats\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"get-similar-channels.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/chats/get-similar-channels.ts"],"names":[],"mappings":";;;AACA,mDAA0E;AAC1E,6DAA8D;AAC9D,8DAAyD;AAEzD,kBAAkB;AAClB;;;;;;;;GAQG;AACI,KAAK,UAAU,kBAAkB,CACpC,MAAuB,EACvB,OAAsB;IAEtB,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC1B,CAAC,EAAE,oCAAoC;QACvC,OAAO,EAAE,MAAM,IAAA,gCAAc,EAAC,MAAM,EAAE,OAAO,CAAC;KACjD,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,eAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IAEtD,QAAQ,GAAG,CAAC,CAAC,EAAE;QACX,KAAK,qBAAqB;YACtB,OAAO,IAAA,kCAAkB,EAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAA;QAChD,KAAK,gBAAgB;YACjB,OAAO,IAAA,kCAAkB,EAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;KACvD;AACL,CAAC;AAjBD,gDAiBC","sourcesContent":["import { ITelegramClient } from '../../client.types.js'\nimport { ArrayWithTotal, Chat, InputPeerLike } from '../../types/index.js'\nimport { makeArrayWithTotal } from '../../utils/misc-utils.js'\nimport { resolveChannel } from '../users/resolve-peer.js'\n\n// @available=user\n/**\n * Get channels that are similar to a given channel\n *\n * > **Note**: This method only returns the channels that the current user\n * > is not subscribed to. For non-premium users, this method will only return\n * > a few channels (with the total number of similar channels being specified in `.total`)\n * >\n * > Returns empty array in case there are no similar channels available.\n */\nexport async function getSimilarChannels(\n client: ITelegramClient,\n channel: InputPeerLike,\n): Promise<ArrayWithTotal<Chat>> {\n const res = await client.call({\n _: 'channels.getChannelRecommendations',\n channel: await resolveChannel(client, channel),\n })\n\n const parsed = res.chats.map((chat) => new Chat(chat))\n\n switch (res._) {\n case 'messages.chatsSlice':\n return makeArrayWithTotal(parsed, res.count)\n case 'messages.chats':\n return makeArrayWithTotal(parsed, parsed.length)\n }\n}\n"]}
1
+ {"version":3,"file":"get-similar-channels.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/chats/get-similar-channels.ts"],"names":[],"mappings":";;;AACA,mDAA0E;AAC1E,6DAA8D;AAC9D,8DAAyD;AAEzD,kBAAkB;AAClB;;;;;;;;GAQG;AACI,KAAK,UAAU,kBAAkB,CACpC,MAAuB,EACvB,OAAsB;IAEtB,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC1B,CAAC,EAAE,oCAAoC;QACvC,OAAO,EAAE,MAAM,IAAA,gCAAc,EAAC,MAAM,EAAE,OAAO,CAAC;KACjD,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,eAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IAEtD,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC;QACZ,KAAK,qBAAqB;YACtB,OAAO,IAAA,kCAAkB,EAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAA;QAChD,KAAK,gBAAgB;YACjB,OAAO,IAAA,kCAAkB,EAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;IACxD,CAAC;AACL,CAAC;AAjBD,gDAiBC","sourcesContent":["import { ITelegramClient } from '../../client.types.js'\nimport { ArrayWithTotal, Chat, InputPeerLike } from '../../types/index.js'\nimport { makeArrayWithTotal } from '../../utils/misc-utils.js'\nimport { resolveChannel } from '../users/resolve-peer.js'\n\n// @available=user\n/**\n * Get channels that are similar to a given channel\n *\n * > **Note**: This method only returns the channels that the current user\n * > is not subscribed to. For non-premium users, this method will only return\n * > a few channels (with the total number of similar channels being specified in `.total`)\n * >\n * > Returns empty array in case there are no similar channels available.\n */\nexport async function getSimilarChannels(\n client: ITelegramClient,\n channel: InputPeerLike,\n): Promise<ArrayWithTotal<Chat>> {\n const res = await client.call({\n _: 'channels.getChannelRecommendations',\n channel: await resolveChannel(client, channel),\n })\n\n const parsed = res.chats.map((chat) => new Chat(chat))\n\n switch (res._) {\n case 'messages.chatsSlice':\n return makeArrayWithTotal(parsed, res.count)\n case 'messages.chats':\n return makeArrayWithTotal(parsed, parsed.length)\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"iter-chat-event-log.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/chats/iter-chat-event-log.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAuB;AAMvB,wEAAmF;AACnF,6DAAuD;AACvD,8DAAyD;AACzD,wEAA+D;AAC/D,mEAAyD;AAEzD;;;;;;;GAOG;AACI,KAAK,SAAS,CAAC,CAAC,gBAAgB,CACnC,MAAuB,EACvB,MAAqB,EACrB,MAeC;IAED,IAAI,CAAC,MAAM;QAAE,MAAM,GAAG,EAAE,CAAA;IAExB,MAAM,OAAO,GAAG,MAAM,IAAA,gCAAc,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAEpD,MAAM,EAAE,KAAK,GAAG,cAAI,CAAC,IAAI,EAAE,KAAK,GAAG,EAAE,EAAE,KAAK,GAAG,QAAQ,EAAE,SAAS,GAAG,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,CAAA;IAEnG,MAAM,MAAM,GAAmC,KAAK,CAAC,CAAC,CAAC,MAAM,IAAA,sCAAe,EAAC,MAAM,EAAE,KAAK,EAAE,2BAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAEpH,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,IAAA,sCAAyB,EAAC,OAAO,CAAC,CAAA;IAExE,IAAI,OAAO,GAAG,CAAC,CAAA;IACf,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,cAAI,CAAC,IAAI,CAAA;IAErC,SAAS;QACL,MAAM,KAAK,GAAG,MAAM,IAAA,uCAAe,EAAC,MAAM,EAAE,OAAO,EAAE;YACjD,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,OAAO,EAAE,SAAS,CAAC;YACrE,+DAA+D;YAC/D,KAAK,EAAE,MAAM;YACb,yCAAyC;YACzC,OAAO,EAAE,EAAE,YAAY,EAAE;SAC5B,CAAC,CAAA;QAEF,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,MAAK;QAExB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QACpC,KAAK,GAAG,IAAI,CAAC,EAAE,CAAA;QAEf,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACtB,IAAI,WAAW,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE;gBACjE,SAAQ;aACX;YAED,OAAO,IAAI,CAAC,CAAA;YACZ,MAAM,IAAI,CAAA;YAEV,IAAI,OAAO,IAAI,KAAK;gBAAE,MAAK;SAC9B;KACJ;AACL,CAAC;AA7DD,4CA6DC","sourcesContent":["import Long from 'long'\n\nimport { tl } from '@mtcute/tl'\n\nimport { ITelegramClient } from '../../client.types.js'\nimport { ChatEvent, InputPeerLike } from '../../types/index.js'\nimport { normalizeChatEventFilters } from '../../types/peers/chat-event/filters.js'\nimport { toInputUser } from '../../utils/peer-utils.js'\nimport { resolveChannel } from '../users/resolve-peer.js'\nimport { resolvePeerMany } from '../users/resolve-peer-many.js'\nimport { getChatEventLog } from './get-chat-event-log.js'\n\n/**\n * Iterate over chat event log.\n *\n * Small wrapper over {@link getChatEventLog}\n *\n * @param chatId Chat ID\n * @param params\n */\nexport async function* iterChatEventLog(\n client: ITelegramClient,\n chatId: InputPeerLike,\n params?: Parameters<typeof getChatEventLog>[2] & {\n /**\n * Total number of events to return.\n *\n * @default Infinity\n */\n limit?: number\n\n /**\n * Chunk size, passed as `limit` to {@link getChatEventLog}.\n * Usually you don't need to touch this.\n *\n * @default 100\n */\n chunkSize?: number\n },\n): AsyncIterableIterator<ChatEvent> {\n if (!params) params = {}\n\n const channel = await resolveChannel(client, chatId)\n\n const { minId = Long.ZERO, query = '', limit = Infinity, chunkSize = 100, users, filters } = params\n\n const admins: tl.TypeInputUser[] | undefined = users ? await resolvePeerMany(client, users, toInputUser) : undefined\n\n const { serverFilter, localFilter } = normalizeChatEventFilters(filters)\n\n let current = 0\n let maxId = params.maxId ?? Long.ZERO\n\n for (;;) {\n const chunk = await getChatEventLog(client, channel, {\n minId,\n maxId,\n query,\n limit: localFilter ? chunkSize : Math.min(limit - current, chunkSize),\n // provide already resolved users to avoid resolving them again\n users: admins,\n // local filters may mess with pagination\n filters: { serverFilter },\n })\n\n if (!chunk.length) break\n\n const last = chunk[chunk.length - 1]\n maxId = last.id\n\n for (const item of chunk) {\n if (localFilter && (!item.action || !localFilter[item.action.type])) {\n continue\n }\n\n current += 1\n yield item\n\n if (current >= limit) break\n }\n }\n}\n"]}
1
+ {"version":3,"file":"iter-chat-event-log.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/chats/iter-chat-event-log.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAuB;AAMvB,wEAAmF;AACnF,6DAAuD;AACvD,8DAAyD;AACzD,wEAA+D;AAC/D,mEAAyD;AAEzD;;;;;;;GAOG;AACI,KAAK,SAAS,CAAC,CAAC,gBAAgB,CACnC,MAAuB,EACvB,MAAqB,EACrB,MAeC;IAED,IAAI,CAAC,MAAM;QAAE,MAAM,GAAG,EAAE,CAAA;IAExB,MAAM,OAAO,GAAG,MAAM,IAAA,gCAAc,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAEpD,MAAM,EAAE,KAAK,GAAG,cAAI,CAAC,IAAI,EAAE,KAAK,GAAG,EAAE,EAAE,KAAK,GAAG,QAAQ,EAAE,SAAS,GAAG,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,CAAA;IAEnG,MAAM,MAAM,GAAmC,KAAK,CAAC,CAAC,CAAC,MAAM,IAAA,sCAAe,EAAC,MAAM,EAAE,KAAK,EAAE,2BAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAEpH,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,IAAA,sCAAyB,EAAC,OAAO,CAAC,CAAA;IAExE,IAAI,OAAO,GAAG,CAAC,CAAA;IACf,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,cAAI,CAAC,IAAI,CAAA;IAErC,SAAS,CAAC;QACN,MAAM,KAAK,GAAG,MAAM,IAAA,uCAAe,EAAC,MAAM,EAAE,OAAO,EAAE;YACjD,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,OAAO,EAAE,SAAS,CAAC;YACrE,+DAA+D;YAC/D,KAAK,EAAE,MAAM;YACb,yCAAyC;YACzC,OAAO,EAAE,EAAE,YAAY,EAAE;SAC5B,CAAC,CAAA;QAEF,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,MAAK;QAExB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QACpC,KAAK,GAAG,IAAI,CAAC,EAAE,CAAA;QAEf,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,WAAW,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBAClE,SAAQ;YACZ,CAAC;YAED,OAAO,IAAI,CAAC,CAAA;YACZ,MAAM,IAAI,CAAA;YAEV,IAAI,OAAO,IAAI,KAAK;gBAAE,MAAK;QAC/B,CAAC;IACL,CAAC;AACL,CAAC;AA7DD,4CA6DC","sourcesContent":["import Long from 'long'\n\nimport { tl } from '@mtcute/tl'\n\nimport { ITelegramClient } from '../../client.types.js'\nimport { ChatEvent, InputPeerLike } from '../../types/index.js'\nimport { normalizeChatEventFilters } from '../../types/peers/chat-event/filters.js'\nimport { toInputUser } from '../../utils/peer-utils.js'\nimport { resolveChannel } from '../users/resolve-peer.js'\nimport { resolvePeerMany } from '../users/resolve-peer-many.js'\nimport { getChatEventLog } from './get-chat-event-log.js'\n\n/**\n * Iterate over chat event log.\n *\n * Small wrapper over {@link getChatEventLog}\n *\n * @param chatId Chat ID\n * @param params\n */\nexport async function* iterChatEventLog(\n client: ITelegramClient,\n chatId: InputPeerLike,\n params?: Parameters<typeof getChatEventLog>[2] & {\n /**\n * Total number of events to return.\n *\n * @default Infinity\n */\n limit?: number\n\n /**\n * Chunk size, passed as `limit` to {@link getChatEventLog}.\n * Usually you don't need to touch this.\n *\n * @default 100\n */\n chunkSize?: number\n },\n): AsyncIterableIterator<ChatEvent> {\n if (!params) params = {}\n\n const channel = await resolveChannel(client, chatId)\n\n const { minId = Long.ZERO, query = '', limit = Infinity, chunkSize = 100, users, filters } = params\n\n const admins: tl.TypeInputUser[] | undefined = users ? await resolvePeerMany(client, users, toInputUser) : undefined\n\n const { serverFilter, localFilter } = normalizeChatEventFilters(filters)\n\n let current = 0\n let maxId = params.maxId ?? Long.ZERO\n\n for (;;) {\n const chunk = await getChatEventLog(client, channel, {\n minId,\n maxId,\n query,\n limit: localFilter ? chunkSize : Math.min(limit - current, chunkSize),\n // provide already resolved users to avoid resolving them again\n users: admins,\n // local filters may mess with pagination\n filters: { serverFilter },\n })\n\n if (!chunk.length) break\n\n const last = chunk[chunk.length - 1]\n maxId = last.id\n\n for (const item of chunk) {\n if (localFilter && (!item.action || !localFilter[item.action.type])) {\n continue\n }\n\n current += 1\n yield item\n\n if (current >= limit) break\n }\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"iter-chat-members.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/chats/iter-chat-members.ts"],"names":[],"mappings":";;;AAEA,6DAA2D;AAC3D,8DAAsD;AACtD,+DAAsD;AAEtD;;;;;;;;;GASG;AACI,KAAK,SAAS,CAAC,CAAC,eAAe,CAClC,MAAuB,EACvB,MAAqB,EACrB,MAQC;IAED,IAAI,CAAC,MAAM;QAAE,MAAM,GAAG,EAAE,CAAA;IAExB,IAAI,OAAO,GAAG,CAAC,CAAA;IACf,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAA;IACpC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,IAAI,GAAG,EAAE,KAAK,CAAC,CAAA;IACtD,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,CAAA;IAE/B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAE,CAAA;IACzB,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE9C,SAAS;QACL,MAAM,OAAO,GAAG,MAAM,IAAA,oCAAc,EAAC,MAAM,EAAE,IAAI,EAAE;YAC/C,MAAM;YACN,KAAK;YACL,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,IAAI,EAAE,MAAM,CAAC,IAAI;SACpB,CAAC,CAAA;QAEF,IAAI,CAAC,OAAO,CAAC,MAAM;YAAE,MAAK;QAE1B,IAAI,IAAA,+BAAe,EAAC,IAAI,CAAC,EAAE;YACvB,KAAK,GAAG,OAAO,CAAC,MAAM,CAAA;SACzB;QAED,MAAM,IAAI,OAAO,CAAC,MAAM,CAAA;QAExB,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE;YACrB,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAA;YAErB,oBAAoB;YACpB,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,SAAQ;YAC9B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAEhB,MAAM,CAAC,CAAA;YAEP,OAAO,IAAI,CAAC,CAAA;YACZ,IAAI,OAAO,IAAI,KAAK;gBAAE,OAAM;SAC/B;KACJ;AACL,CAAC;AApDD,0CAoDC","sourcesContent":["import { ITelegramClient } from '../../client.types.js'\nimport { ChatMember, InputPeerLike } from '../../types/index.js'\nimport { isInputPeerChat } from '../../utils/peer-utils.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\nimport { getChatMembers } from './get-chat-members.js'\n\n/**\n * Iterate through chat members\n *\n * This method is a small wrapper over {@link getChatMembers},\n * which also handles duplicate entries (i.e. does not yield\n * the same member twice)\n *\n * @param chatId Chat ID or username\n * @param params Additional parameters\n */\nexport async function* iterChatMembers(\n client: ITelegramClient,\n chatId: InputPeerLike,\n params?: Parameters<typeof getChatMembers>[2] & {\n /**\n * Chunk size, which will be passed as `limit` parameter\n * to {@link getChatMembers}. Usually you shouldn't care about this.\n *\n * @default `200`\n */\n chunkSize?: number\n },\n): AsyncIterableIterator<ChatMember> {\n if (!params) params = {}\n\n let current = 0\n let total = params.limit || Infinity\n const limit = Math.min(params.chunkSize ?? 200, total)\n let offset = params.offset ?? 0\n\n const yielded = new Set()\n const chat = await resolvePeer(client, chatId)\n\n for (;;) {\n const members = await getChatMembers(client, chat, {\n offset,\n limit,\n query: params.query,\n type: params.type,\n })\n\n if (!members.length) break\n\n if (isInputPeerChat(chat)) {\n total = members.length\n }\n\n offset += members.length\n\n for (const m of members) {\n const uid = m.user.id\n\n // handle duplicates\n if (yielded.has(uid)) continue\n yielded.add(uid)\n\n yield m\n\n current += 1\n if (current >= total) return\n }\n }\n}\n"]}
1
+ {"version":3,"file":"iter-chat-members.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/chats/iter-chat-members.ts"],"names":[],"mappings":";;;AAEA,6DAA2D;AAC3D,8DAAsD;AACtD,+DAAsD;AAEtD;;;;;;;;;GASG;AACI,KAAK,SAAS,CAAC,CAAC,eAAe,CAClC,MAAuB,EACvB,MAAqB,EACrB,MAQC;IAED,IAAI,CAAC,MAAM;QAAE,MAAM,GAAG,EAAE,CAAA;IAExB,IAAI,OAAO,GAAG,CAAC,CAAA;IACf,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAA;IACpC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,IAAI,GAAG,EAAE,KAAK,CAAC,CAAA;IACtD,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,CAAA;IAE/B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAE,CAAA;IACzB,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE9C,SAAS,CAAC;QACN,MAAM,OAAO,GAAG,MAAM,IAAA,oCAAc,EAAC,MAAM,EAAE,IAAI,EAAE;YAC/C,MAAM;YACN,KAAK;YACL,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,IAAI,EAAE,MAAM,CAAC,IAAI;SACpB,CAAC,CAAA;QAEF,IAAI,CAAC,OAAO,CAAC,MAAM;YAAE,MAAK;QAE1B,IAAI,IAAA,+BAAe,EAAC,IAAI,CAAC,EAAE,CAAC;YACxB,KAAK,GAAG,OAAO,CAAC,MAAM,CAAA;QAC1B,CAAC;QAED,MAAM,IAAI,OAAO,CAAC,MAAM,CAAA;QAExB,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAA;YAErB,oBAAoB;YACpB,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,SAAQ;YAC9B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAEhB,MAAM,CAAC,CAAA;YAEP,OAAO,IAAI,CAAC,CAAA;YACZ,IAAI,OAAO,IAAI,KAAK;gBAAE,OAAM;QAChC,CAAC;IACL,CAAC;AACL,CAAC;AApDD,0CAoDC","sourcesContent":["import { ITelegramClient } from '../../client.types.js'\nimport { ChatMember, InputPeerLike } from '../../types/index.js'\nimport { isInputPeerChat } from '../../utils/peer-utils.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\nimport { getChatMembers } from './get-chat-members.js'\n\n/**\n * Iterate through chat members\n *\n * This method is a small wrapper over {@link getChatMembers},\n * which also handles duplicate entries (i.e. does not yield\n * the same member twice)\n *\n * @param chatId Chat ID or username\n * @param params Additional parameters\n */\nexport async function* iterChatMembers(\n client: ITelegramClient,\n chatId: InputPeerLike,\n params?: Parameters<typeof getChatMembers>[2] & {\n /**\n * Chunk size, which will be passed as `limit` parameter\n * to {@link getChatMembers}. Usually you shouldn't care about this.\n *\n * @default `200`\n */\n chunkSize?: number\n },\n): AsyncIterableIterator<ChatMember> {\n if (!params) params = {}\n\n let current = 0\n let total = params.limit || Infinity\n const limit = Math.min(params.chunkSize ?? 200, total)\n let offset = params.offset ?? 0\n\n const yielded = new Set()\n const chat = await resolvePeer(client, chatId)\n\n for (;;) {\n const members = await getChatMembers(client, chat, {\n offset,\n limit,\n query: params.query,\n type: params.type,\n })\n\n if (!members.length) break\n\n if (isInputPeerChat(chat)) {\n total = members.length\n }\n\n offset += members.length\n\n for (const m of members) {\n const uid = m.user.id\n\n // handle duplicates\n if (yielded.has(uid)) continue\n yielded.add(uid)\n\n yield m\n\n current += 1\n if (current >= total) return\n }\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"join-chat.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/chats/join-chat.ts"],"names":[],"mappings":";;;AACA,mDAA0D;AAC1D,qDAA6D;AAC7D,6DAA6D;AAC7D,8DAAyD;AAEzD;;;;;;;;;;GAUG;AACI,KAAK,UAAU,QAAQ,CAAC,MAAuB,EAAE,MAAqB;IACzE,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QAC5B,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,iCAAiB,CAAC,CAAA;QAEzC,IAAI,CAAC,EAAE;YACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;gBAC1B,CAAC,EAAE,2BAA2B;gBAC9B,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;aACb,CAAC,CAAA;YACF,IAAA,+BAAoB,EAAC,2BAA2B,EAAE,GAAG,CAAC,CAAA;YAEtD,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAA;YAE9B,OAAO,IAAI,eAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;SAChC;KACJ;IAED,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC1B,CAAC,EAAE,sBAAsB;QACzB,OAAO,EAAE,MAAM,IAAA,gCAAc,EAAC,MAAM,EAAE,MAAM,CAAC;KAChD,CAAC,CAAA;IAEF,IAAA,+BAAoB,EAAC,sBAAsB,EAAE,GAAG,CAAC,CAAA;IAEjD,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAA;IAE9B,OAAO,IAAI,eAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AACjC,CAAC;AA3BD,4BA2BC","sourcesContent":["import { ITelegramClient } from '../../client.types.js'\nimport { Chat, InputPeerLike } from '../../types/index.js'\nimport { assertIsUpdatesGroup } from '../../updates/utils.js'\nimport { INVITE_LINK_REGEX } from '../../utils/peer-utils.js'\nimport { resolveChannel } from '../users/resolve-peer.js'\n\n/**\n * Join a channel or supergroup\n *\n * When using with invite links, this method may throw RPC error\n * `INVITE_REQUEST_SENT`, which means that you need to wait for admin approval.\n * You will get into the chat once they do so.\n *\n * @param chatId\n * Chat identifier. Either an invite link (`t.me/joinchat/*`), a username (`@username`)\n * or ID of the linked supergroup or channel.\n */\nexport async function joinChat(client: ITelegramClient, chatId: InputPeerLike): Promise<Chat> {\n if (typeof chatId === 'string') {\n const m = chatId.match(INVITE_LINK_REGEX)\n\n if (m) {\n const res = await client.call({\n _: 'messages.importChatInvite',\n hash: m[1],\n })\n assertIsUpdatesGroup('messages.importChatInvite', res)\n\n client.handleClientUpdate(res)\n\n return new Chat(res.chats[0])\n }\n }\n\n const res = await client.call({\n _: 'channels.joinChannel',\n channel: await resolveChannel(client, chatId),\n })\n\n assertIsUpdatesGroup('channels.joinChannel', res)\n\n client.handleClientUpdate(res)\n\n return new Chat(res.chats[0])\n}\n"]}
1
+ {"version":3,"file":"join-chat.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/chats/join-chat.ts"],"names":[],"mappings":";;;AACA,mDAA0D;AAC1D,qDAA6D;AAC7D,6DAA6D;AAC7D,8DAAyD;AAEzD;;;;;;;;;;GAUG;AACI,KAAK,UAAU,QAAQ,CAAC,MAAuB,EAAE,MAAqB;IACzE,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,iCAAiB,CAAC,CAAA;QAEzC,IAAI,CAAC,EAAE,CAAC;YACJ,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;gBAC1B,CAAC,EAAE,2BAA2B;gBAC9B,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;aACb,CAAC,CAAA;YACF,IAAA,+BAAoB,EAAC,2BAA2B,EAAE,GAAG,CAAC,CAAA;YAEtD,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAA;YAE9B,OAAO,IAAI,eAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QACjC,CAAC;IACL,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC1B,CAAC,EAAE,sBAAsB;QACzB,OAAO,EAAE,MAAM,IAAA,gCAAc,EAAC,MAAM,EAAE,MAAM,CAAC;KAChD,CAAC,CAAA;IAEF,IAAA,+BAAoB,EAAC,sBAAsB,EAAE,GAAG,CAAC,CAAA;IAEjD,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAA;IAE9B,OAAO,IAAI,eAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AACjC,CAAC;AA3BD,4BA2BC","sourcesContent":["import { ITelegramClient } from '../../client.types.js'\nimport { Chat, InputPeerLike } from '../../types/index.js'\nimport { assertIsUpdatesGroup } from '../../updates/utils.js'\nimport { INVITE_LINK_REGEX } from '../../utils/peer-utils.js'\nimport { resolveChannel } from '../users/resolve-peer.js'\n\n/**\n * Join a channel or supergroup\n *\n * When using with invite links, this method may throw RPC error\n * `INVITE_REQUEST_SENT`, which means that you need to wait for admin approval.\n * You will get into the chat once they do so.\n *\n * @param chatId\n * Chat identifier. Either an invite link (`t.me/joinchat/*`), a username (`@username`)\n * or ID of the linked supergroup or channel.\n */\nexport async function joinChat(client: ITelegramClient, chatId: InputPeerLike): Promise<Chat> {\n if (typeof chatId === 'string') {\n const m = chatId.match(INVITE_LINK_REGEX)\n\n if (m) {\n const res = await client.call({\n _: 'messages.importChatInvite',\n hash: m[1],\n })\n assertIsUpdatesGroup('messages.importChatInvite', res)\n\n client.handleClientUpdate(res)\n\n return new Chat(res.chats[0])\n }\n }\n\n const res = await client.call({\n _: 'channels.joinChannel',\n channel: await resolveChannel(client, chatId),\n })\n\n assertIsUpdatesGroup('channels.joinChannel', res)\n\n client.handleClientUpdate(res)\n\n return new Chat(res.chats[0])\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"kick-chat-member.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/chats/kick-chat-member.ts"],"names":[],"mappings":";;;AAAA,gEAAoD;AAGpD,6DAA8D;AAC9D,8DAAsD;AACtD,6DAAoD;AACpD,iEAAwD;AAExD;;;;;;GAMG;AACI,KAAK,UAAU,cAAc,CAChC,MAAuB,EACvB,MAKC;IAED,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;IAEjC,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9C,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE9C,MAAM,GAAG,GAAG,MAAM,IAAA,kCAAa,EAAC,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;IAE9E,4CAA4C;IAC5C,IAAI,IAAA,kCAAkB,EAAC,IAAI,CAAC,EAAE;QAC1B,qDAAqD;QACrD,MAAM,IAAA,qBAAK,EAAC,IAAI,CAAC,CAAA;QACjB,MAAM,IAAA,sCAAe,EAAC,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;KACvE;IAED,OAAO,GAAG,CAAA;AACd,CAAC;AAxBD,wCAwBC","sourcesContent":["import { sleep } from '../../../utils/misc-utils.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputPeerLike, Message } from '../../types/index.js'\nimport { isInputPeerChannel } from '../../utils/peer-utils.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\nimport { banChatMember } from './ban-chat-member.js'\nimport { unbanChatMember } from './unban-chat-member.js'\n\n/**\n * Kick a user from a chat.\n *\n * This effectively bans a user and immediately unbans them.\n *\n * @returns Service message about removed user, if one was generated.\n */\nexport async function kickChatMember(\n client: ITelegramClient,\n params: {\n /** Chat ID */\n chatId: InputPeerLike\n /** User ID */\n userId: InputPeerLike\n },\n): Promise<Message | null> {\n const { chatId, userId } = params\n\n const chat = await resolvePeer(client, chatId)\n const user = await resolvePeer(client, userId)\n\n const msg = await banChatMember(client, { chatId: chat, participantId: user })\n\n // not needed in case this is a legacy group\n if (isInputPeerChannel(chat)) {\n // i fucking love telegram serverside race conditions\n await sleep(1000)\n await unbanChatMember(client, { chatId: chat, participantId: user })\n }\n\n return msg\n}\n"]}
1
+ {"version":3,"file":"kick-chat-member.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/chats/kick-chat-member.ts"],"names":[],"mappings":";;;AAAA,gEAAoD;AAGpD,6DAA8D;AAC9D,8DAAsD;AACtD,6DAAoD;AACpD,iEAAwD;AAExD;;;;;;GAMG;AACI,KAAK,UAAU,cAAc,CAChC,MAAuB,EACvB,MAKC;IAED,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;IAEjC,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9C,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE9C,MAAM,GAAG,GAAG,MAAM,IAAA,kCAAa,EAAC,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;IAE9E,4CAA4C;IAC5C,IAAI,IAAA,kCAAkB,EAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,qDAAqD;QACrD,MAAM,IAAA,qBAAK,EAAC,IAAI,CAAC,CAAA;QACjB,MAAM,IAAA,sCAAe,EAAC,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;IACxE,CAAC;IAED,OAAO,GAAG,CAAA;AACd,CAAC;AAxBD,wCAwBC","sourcesContent":["import { sleep } from '../../../utils/misc-utils.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputPeerLike, Message } from '../../types/index.js'\nimport { isInputPeerChannel } from '../../utils/peer-utils.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\nimport { banChatMember } from './ban-chat-member.js'\nimport { unbanChatMember } from './unban-chat-member.js'\n\n/**\n * Kick a user from a chat.\n *\n * This effectively bans a user and immediately unbans them.\n *\n * @returns Service message about removed user, if one was generated.\n */\nexport async function kickChatMember(\n client: ITelegramClient,\n params: {\n /** Chat ID */\n chatId: InputPeerLike\n /** User ID */\n userId: InputPeerLike\n },\n): Promise<Message | null> {\n const { chatId, userId } = params\n\n const chat = await resolvePeer(client, chatId)\n const user = await resolvePeer(client, userId)\n\n const msg = await banChatMember(client, { chatId: chat, participantId: user })\n\n // not needed in case this is a legacy group\n if (isInputPeerChannel(chat)) {\n // i fucking love telegram serverside race conditions\n await sleep(1000)\n await unbanChatMember(client, { chatId: chat, participantId: user })\n }\n\n return msg\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"leave-chat.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/chats/leave-chat.ts"],"names":[],"mappings":";;;AACA,mDAA4E;AAC5E,6DAA+F;AAC/F,8DAAsD;AACtD,2DAAmD;AAEnD;;;;GAIG;AACI,KAAK,UAAU,SAAS,CAC3B,MAAuB,EACvB,MAAqB,EACrB,MAKC;IAED,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE9C,IAAI,IAAA,kCAAkB,EAAC,IAAI,CAAC,EAAE;QAC1B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;YAC1B,CAAC,EAAE,uBAAuB;YAC1B,OAAO,EAAE,IAAA,8BAAc,EAAC,IAAI,CAAC;SAChC,CAAC,CAAA;QACF,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAA;KACjC;SAAM,IAAI,IAAA,+BAAe,EAAC,IAAI,CAAC,EAAE;QAC9B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;YAC1B,CAAC,EAAE,yBAAyB;YAC5B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,EAAE,CAAC,EAAE,eAAe,EAAE;SACjC,CAAC,CAAA;QACF,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAA;QAE9B,IAAI,MAAM,EAAE,KAAK,EAAE;YACf,MAAM,IAAA,iCAAa,EAAC,MAAM,EAAE,IAAI,CAAC,CAAA;SACpC;KACJ;;QAAM,MAAM,IAAI,iCAAsB,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;AACtE,CAAC;AA9BD,8BA8BC","sourcesContent":["import { ITelegramClient } from '../../client.types.js'\nimport { InputPeerLike, MtInvalidPeerTypeError } from '../../types/index.js'\nimport { isInputPeerChannel, isInputPeerChat, toInputChannel } from '../../utils/peer-utils.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\nimport { deleteHistory } from './delete-history.js'\n\n/**\n * Leave a group chat, supergroup or channel\n *\n * @param chatId Chat ID or username\n */\nexport async function leaveChat(\n client: ITelegramClient,\n chatId: InputPeerLike,\n params?: {\n /**\n * Whether to clear history after leaving (only for legacy group chats)\n */\n clear?: boolean\n },\n): Promise<void> {\n const chat = await resolvePeer(client, chatId)\n\n if (isInputPeerChannel(chat)) {\n const res = await client.call({\n _: 'channels.leaveChannel',\n channel: toInputChannel(chat),\n })\n client.handleClientUpdate(res)\n } else if (isInputPeerChat(chat)) {\n const res = await client.call({\n _: 'messages.deleteChatUser',\n chatId: chat.chatId,\n userId: { _: 'inputUserSelf' },\n })\n client.handleClientUpdate(res)\n\n if (params?.clear) {\n await deleteHistory(client, chat)\n }\n } else throw new MtInvalidPeerTypeError(chatId, 'chat or channel')\n}\n"]}
1
+ {"version":3,"file":"leave-chat.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/chats/leave-chat.ts"],"names":[],"mappings":";;;AACA,mDAA4E;AAC5E,6DAA+F;AAC/F,8DAAsD;AACtD,2DAAmD;AAEnD;;;;GAIG;AACI,KAAK,UAAU,SAAS,CAC3B,MAAuB,EACvB,MAAqB,EACrB,MAKC;IAED,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE9C,IAAI,IAAA,kCAAkB,EAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;YAC1B,CAAC,EAAE,uBAAuB;YAC1B,OAAO,EAAE,IAAA,8BAAc,EAAC,IAAI,CAAC;SAChC,CAAC,CAAA;QACF,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAA;IAClC,CAAC;SAAM,IAAI,IAAA,+BAAe,EAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;YAC1B,CAAC,EAAE,yBAAyB;YAC5B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,EAAE,CAAC,EAAE,eAAe,EAAE;SACjC,CAAC,CAAA;QACF,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAA;QAE9B,IAAI,MAAM,EAAE,KAAK,EAAE,CAAC;YAChB,MAAM,IAAA,iCAAa,EAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QACrC,CAAC;IACL,CAAC;;QAAM,MAAM,IAAI,iCAAsB,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;AACtE,CAAC;AA9BD,8BA8BC","sourcesContent":["import { ITelegramClient } from '../../client.types.js'\nimport { InputPeerLike, MtInvalidPeerTypeError } from '../../types/index.js'\nimport { isInputPeerChannel, isInputPeerChat, toInputChannel } from '../../utils/peer-utils.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\nimport { deleteHistory } from './delete-history.js'\n\n/**\n * Leave a group chat, supergroup or channel\n *\n * @param chatId Chat ID or username\n */\nexport async function leaveChat(\n client: ITelegramClient,\n chatId: InputPeerLike,\n params?: {\n /**\n * Whether to clear history after leaving (only for legacy group chats)\n */\n clear?: boolean\n },\n): Promise<void> {\n const chat = await resolvePeer(client, chatId)\n\n if (isInputPeerChannel(chat)) {\n const res = await client.call({\n _: 'channels.leaveChannel',\n channel: toInputChannel(chat),\n })\n client.handleClientUpdate(res)\n } else if (isInputPeerChat(chat)) {\n const res = await client.call({\n _: 'messages.deleteChatUser',\n chatId: chat.chatId,\n userId: { _: 'inputUserSelf' },\n })\n client.handleClientUpdate(res)\n\n if (params?.clear) {\n await deleteHistory(client, chat)\n }\n } else throw new MtInvalidPeerTypeError(chatId, 'chat or channel')\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"open-chat.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/chats/open-chat.ts"],"names":[],"mappings":";;;AAEA,6DAA8D;AAC9D,wEAA+D;AAC/D,8DAAsD;AAEtD;;;;;;;GAOG;AACI,KAAK,UAAU,QAAQ,CAAC,MAAuB,EAAE,IAAmB;IACvE,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAE5C,IAAI,IAAA,kCAAkB,EAAC,IAAI,CAAC,EAAE;QAC1B,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,IAAA,oCAAc,EAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAEnD,MAAM,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;KACnE;IAED,6DAA6D;IAC7D,4EAA4E;AAChF,CAAC;AAXD,4BAWC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,SAAS,CAAC,MAAuB,EAAE,IAAmB;IACxE,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAE5C,IAAI,IAAA,kCAAkB,EAAC,IAAI,CAAC,EAAE;QAC1B,MAAM,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;KACnD;IAED,6DAA6D;IAC7D,4EAA4E;AAChF,CAAC;AATD,8BASC","sourcesContent":["import { ITelegramClient } from '../../client.types.js'\nimport { InputPeerLike } from '../../types/peers/index.js'\nimport { isInputPeerChannel } from '../../utils/peer-utils.js'\nimport { getPeerDialogs } from '../dialogs/get-peer-dialogs.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\n\n/**\n * Inform the library that the user has opened a chat.\n *\n * Some library logic depends on this, for example, the library will\n * periodically ping the server to keep the updates flowing.\n *\n * @param chat Chat to open\n */\nexport async function openChat(client: ITelegramClient, chat: InputPeerLike): Promise<void> {\n const peer = await resolvePeer(client, chat)\n\n if (isInputPeerChannel(peer)) {\n const [dialog] = await getPeerDialogs(client, peer)\n\n await client.notifyChannelOpened(peer.channelId, dialog.raw.pts)\n }\n\n // todo: once we have proper dialogs/peers db, we should also\n // update full info here and fetch auxillary info (like channel members etc)\n}\n\n/**\n * Inform the library that the user has closed a chat.\n * Un-does the effect of {@link openChat}.\n *\n * Some library logic depends on this, for example, the library will\n * periodically ping the server to keep the updates flowing.\n *\n * @param chat Chat to open\n */\nexport async function closeChat(client: ITelegramClient, chat: InputPeerLike): Promise<void> {\n const peer = await resolvePeer(client, chat)\n\n if (isInputPeerChannel(peer)) {\n await client.notifyChannelClosed(peer.channelId)\n }\n\n // todo: once we have proper dialogs/peers db, we should also\n // update full info here and fetch auxillary info (like channel members etc)\n}\n"]}
1
+ {"version":3,"file":"open-chat.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/chats/open-chat.ts"],"names":[],"mappings":";;;AAEA,6DAA8D;AAC9D,wEAA+D;AAC/D,8DAAsD;AAEtD;;;;;;;GAOG;AACI,KAAK,UAAU,QAAQ,CAAC,MAAuB,EAAE,IAAmB;IACvE,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAE5C,IAAI,IAAA,kCAAkB,EAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,IAAA,oCAAc,EAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAEnD,MAAM,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACpE,CAAC;IAED,6DAA6D;IAC7D,4EAA4E;AAChF,CAAC;AAXD,4BAWC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,SAAS,CAAC,MAAuB,EAAE,IAAmB;IACxE,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAE5C,IAAI,IAAA,kCAAkB,EAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,MAAM,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACpD,CAAC;IAED,6DAA6D;IAC7D,4EAA4E;AAChF,CAAC;AATD,8BASC","sourcesContent":["import { ITelegramClient } from '../../client.types.js'\nimport { InputPeerLike } from '../../types/peers/index.js'\nimport { isInputPeerChannel } from '../../utils/peer-utils.js'\nimport { getPeerDialogs } from '../dialogs/get-peer-dialogs.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\n\n/**\n * Inform the library that the user has opened a chat.\n *\n * Some library logic depends on this, for example, the library will\n * periodically ping the server to keep the updates flowing.\n *\n * @param chat Chat to open\n */\nexport async function openChat(client: ITelegramClient, chat: InputPeerLike): Promise<void> {\n const peer = await resolvePeer(client, chat)\n\n if (isInputPeerChannel(peer)) {\n const [dialog] = await getPeerDialogs(client, peer)\n\n await client.notifyChannelOpened(peer.channelId, dialog.raw.pts)\n }\n\n // todo: once we have proper dialogs/peers db, we should also\n // update full info here and fetch auxillary info (like channel members etc)\n}\n\n/**\n * Inform the library that the user has closed a chat.\n * Un-does the effect of {@link openChat}.\n *\n * Some library logic depends on this, for example, the library will\n * periodically ping the server to keep the updates flowing.\n *\n * @param chat Chat to open\n */\nexport async function closeChat(client: ITelegramClient, chat: InputPeerLike): Promise<void> {\n const peer = await resolvePeer(client, chat)\n\n if (isInputPeerChannel(peer)) {\n await client.notifyChannelClosed(peer.channelId)\n }\n\n // todo: once we have proper dialogs/peers db, we should also\n // update full info here and fetch auxillary info (like channel members etc)\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"reorder-usernames.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/chats/reorder-usernames.ts"],"names":[],"mappings":";;;AAAA,0EAA8D;AAG9D,mDAAuG;AACvG,+CAA6C;AAC7C,8DAAsD;AAEtD;;;;GAIG;AACI,KAAK,UAAU,gBAAgB,CAClC,MAAuB,EACvB,MAAqB,EACrB,KAAe;IAEf,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE9C,IAAI,IAAA,0BAAe,EAAC,IAAI,CAAC,EAAE;QACvB,uBAAuB;QAEvB,IAAI,IAAA,qBAAU,EAAC,MAAM,EAAE,IAAI,CAAC,EAAE;YAC1B,OAAO;YACP,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;gBACxB,CAAC,EAAE,0BAA0B;gBAC7B,KAAK;aACR,CAAC,CAAA;YAEF,IAAA,+BAAU,EAAC,0BAA0B,EAAE,CAAC,CAAC,CAAA;YAEzC,OAAM;SACT;QAED,MAAM;QACN,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;YACxB,CAAC,EAAE,uBAAuB;YAC1B,GAAG,EAAE,IAAA,sBAAW,EAAC,IAAI,EAAE,MAAM,CAAC;YAC9B,KAAK;SACR,CAAC,CAAA;QAEF,IAAA,+BAAU,EAAC,uBAAuB,EAAE,CAAC,CAAC,CAAA;KACzC;SAAM,IAAI,IAAA,6BAAkB,EAAC,IAAI,CAAC,EAAE;QACjC,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;YACxB,CAAC,EAAE,2BAA2B;YAC9B,OAAO,EAAE,IAAA,yBAAc,EAAC,IAAI,EAAE,MAAM,CAAC;YACrC,KAAK;SACR,CAAC,CAAA;QAEF,IAAA,+BAAU,EAAC,2BAA2B,EAAE,CAAC,CAAC,CAAA;KAC7C;AACL,CAAC;AAvCD,4CAuCC","sourcesContent":["import { assertTrue } from '../../../utils/type-assertions.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputPeerLike } from '../../types/index.js'\nimport { isInputPeerChannel, isInputPeerUser, toInputChannel, toInputUser } from '../../utils/index.js'\nimport { isSelfPeer } from '../auth/utils.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\n\n/**\n * Reorder usernames\n *\n * @param peerId Bot, channel or \"me\"/\"self\"\n */\nexport async function reorderUsernames(\n client: ITelegramClient,\n peerId: InputPeerLike,\n order: string[],\n): Promise<void> {\n const peer = await resolvePeer(client, peerId)\n\n if (isInputPeerUser(peer)) {\n // either a bot or self\n\n if (isSelfPeer(client, peer)) {\n // self\n const r = await client.call({\n _: 'account.reorderUsernames',\n order,\n })\n\n assertTrue('account.reorderUsernames', r)\n\n return\n }\n\n // bot\n const r = await client.call({\n _: 'bots.reorderUsernames',\n bot: toInputUser(peer, peerId),\n order,\n })\n\n assertTrue('bots.reorderUsernames', r)\n } else if (isInputPeerChannel(peer)) {\n const r = await client.call({\n _: 'channels.reorderUsernames',\n channel: toInputChannel(peer, peerId),\n order,\n })\n\n assertTrue('channels.reorderUsernames', r)\n }\n}\n"]}
1
+ {"version":3,"file":"reorder-usernames.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/chats/reorder-usernames.ts"],"names":[],"mappings":";;;AAAA,0EAA8D;AAG9D,mDAAuG;AACvG,+CAA6C;AAC7C,8DAAsD;AAEtD;;;;GAIG;AACI,KAAK,UAAU,gBAAgB,CAClC,MAAuB,EACvB,MAAqB,EACrB,KAAe;IAEf,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE9C,IAAI,IAAA,0BAAe,EAAC,IAAI,CAAC,EAAE,CAAC;QACxB,uBAAuB;QAEvB,IAAI,IAAA,qBAAU,EAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;YAC3B,OAAO;YACP,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;gBACxB,CAAC,EAAE,0BAA0B;gBAC7B,KAAK;aACR,CAAC,CAAA;YAEF,IAAA,+BAAU,EAAC,0BAA0B,EAAE,CAAC,CAAC,CAAA;YAEzC,OAAM;QACV,CAAC;QAED,MAAM;QACN,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;YACxB,CAAC,EAAE,uBAAuB;YAC1B,GAAG,EAAE,IAAA,sBAAW,EAAC,IAAI,EAAE,MAAM,CAAC;YAC9B,KAAK;SACR,CAAC,CAAA;QAEF,IAAA,+BAAU,EAAC,uBAAuB,EAAE,CAAC,CAAC,CAAA;IAC1C,CAAC;SAAM,IAAI,IAAA,6BAAkB,EAAC,IAAI,CAAC,EAAE,CAAC;QAClC,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;YACxB,CAAC,EAAE,2BAA2B;YAC9B,OAAO,EAAE,IAAA,yBAAc,EAAC,IAAI,EAAE,MAAM,CAAC;YACrC,KAAK;SACR,CAAC,CAAA;QAEF,IAAA,+BAAU,EAAC,2BAA2B,EAAE,CAAC,CAAC,CAAA;IAC9C,CAAC;AACL,CAAC;AAvCD,4CAuCC","sourcesContent":["import { assertTrue } from '../../../utils/type-assertions.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputPeerLike } from '../../types/index.js'\nimport { isInputPeerChannel, isInputPeerUser, toInputChannel, toInputUser } from '../../utils/index.js'\nimport { isSelfPeer } from '../auth/utils.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\n\n/**\n * Reorder usernames\n *\n * @param peerId Bot, channel or \"me\"/\"self\"\n */\nexport async function reorderUsernames(\n client: ITelegramClient,\n peerId: InputPeerLike,\n order: string[],\n): Promise<void> {\n const peer = await resolvePeer(client, peerId)\n\n if (isInputPeerUser(peer)) {\n // either a bot or self\n\n if (isSelfPeer(client, peer)) {\n // self\n const r = await client.call({\n _: 'account.reorderUsernames',\n order,\n })\n\n assertTrue('account.reorderUsernames', r)\n\n return\n }\n\n // bot\n const r = await client.call({\n _: 'bots.reorderUsernames',\n bot: toInputUser(peer, peerId),\n order,\n })\n\n assertTrue('bots.reorderUsernames', r)\n } else if (isInputPeerChannel(peer)) {\n const r = await client.call({\n _: 'channels.reorderUsernames',\n channel: toInputChannel(peer, peerId),\n order,\n })\n\n assertTrue('channels.reorderUsernames', r)\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"restrict-chat-member.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/chats/restrict-chat-member.ts"],"names":[],"mappings":";;;AAGA,mDAA4E;AAC5E,6DAAyD;AACzD,6DAA8E;AAC9E,8DAAsD;AAEtD;;GAEG;AACI,KAAK,UAAU,kBAAkB,CACpC,MAAuB,EACvB,MAwBC;IAED,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,MAAM,CAAA;IAE1D,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE9C,IAAI,CAAC,IAAA,kCAAkB,EAAC,IAAI,CAAC,EAAE;QAC3B,MAAM,IAAI,iCAAsB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;KACtD;IAED,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE9C,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC1B,CAAC,EAAE,qBAAqB;QACxB,OAAO,EAAE,IAAA,8BAAc,EAAC,IAAI,CAAC;QAC7B,WAAW,EAAE,IAAI;QACjB,YAAY,EAAE;YACV,CAAC,EAAE,kBAAkB;YACrB,SAAS,EAAE,IAAA,6BAAa,EAAC,KAAK,CAAC,IAAI,CAAC;YACpC,GAAG,YAAY;SAClB;KACJ,CAAC,CAAA;IACF,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAA;AAClC,CAAC;AAjDD,gDAiDC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputPeerLike, MtInvalidPeerTypeError } from '../../types/index.js'\nimport { normalizeDate } from '../../utils/misc-utils.js'\nimport { isInputPeerChannel, toInputChannel } from '../../utils/peer-utils.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\n\n/**\n * Restrict a user in a supergroup.\n */\nexport async function restrictChatMember(\n client: ITelegramClient,\n params: {\n /** Chat ID */\n chatId: InputPeerLike\n\n /** User ID */\n userId: InputPeerLike\n\n /**\n * Restrictions for the user. Note that unlike Bot API, this object contains\n * the restrictions, and not the permissions, i.e.\n * passing `sendMessages=true` will disallow the user to send messages,\n * and passing `{}` (empty object) will lift any restrictions\n */\n restrictions: Omit<tl.RawChatBannedRights, '_' | 'untilDate'>\n\n /**\n * Date when the user will be unrestricted.\n * When `number` is passed, UNIX time in ms is expected.\n * If this value is less than 30 seconds or more than 366 days in\n * the future, user will be restricted forever.\n *\n * @default `0`, i.e. forever\n */\n until?: number | Date\n },\n): Promise<void> {\n const { chatId, userId, restrictions, until = 0 } = params\n\n const chat = await resolvePeer(client, chatId)\n\n if (!isInputPeerChannel(chat)) {\n throw new MtInvalidPeerTypeError(chatId, 'channel')\n }\n\n const user = await resolvePeer(client, userId)\n\n const res = await client.call({\n _: 'channels.editBanned',\n channel: toInputChannel(chat),\n participant: user,\n bannedRights: {\n _: 'chatBannedRights',\n untilDate: normalizeDate(until) ?? 0,\n ...restrictions,\n },\n })\n client.handleClientUpdate(res)\n}\n"]}
1
+ {"version":3,"file":"restrict-chat-member.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/chats/restrict-chat-member.ts"],"names":[],"mappings":";;;AAGA,mDAA4E;AAC5E,6DAAyD;AACzD,6DAA8E;AAC9E,8DAAsD;AAEtD;;GAEG;AACI,KAAK,UAAU,kBAAkB,CACpC,MAAuB,EACvB,MAwBC;IAED,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,MAAM,CAAA;IAE1D,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE9C,IAAI,CAAC,IAAA,kCAAkB,EAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,iCAAsB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IACvD,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE9C,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC1B,CAAC,EAAE,qBAAqB;QACxB,OAAO,EAAE,IAAA,8BAAc,EAAC,IAAI,CAAC;QAC7B,WAAW,EAAE,IAAI;QACjB,YAAY,EAAE;YACV,CAAC,EAAE,kBAAkB;YACrB,SAAS,EAAE,IAAA,6BAAa,EAAC,KAAK,CAAC,IAAI,CAAC;YACpC,GAAG,YAAY;SAClB;KACJ,CAAC,CAAA;IACF,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAA;AAClC,CAAC;AAjDD,gDAiDC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputPeerLike, MtInvalidPeerTypeError } from '../../types/index.js'\nimport { normalizeDate } from '../../utils/misc-utils.js'\nimport { isInputPeerChannel, toInputChannel } from '../../utils/peer-utils.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\n\n/**\n * Restrict a user in a supergroup.\n */\nexport async function restrictChatMember(\n client: ITelegramClient,\n params: {\n /** Chat ID */\n chatId: InputPeerLike\n\n /** User ID */\n userId: InputPeerLike\n\n /**\n * Restrictions for the user. Note that unlike Bot API, this object contains\n * the restrictions, and not the permissions, i.e.\n * passing `sendMessages=true` will disallow the user to send messages,\n * and passing `{}` (empty object) will lift any restrictions\n */\n restrictions: Omit<tl.RawChatBannedRights, '_' | 'untilDate'>\n\n /**\n * Date when the user will be unrestricted.\n * When `number` is passed, UNIX time in ms is expected.\n * If this value is less than 30 seconds or more than 366 days in\n * the future, user will be restricted forever.\n *\n * @default `0`, i.e. forever\n */\n until?: number | Date\n },\n): Promise<void> {\n const { chatId, userId, restrictions, until = 0 } = params\n\n const chat = await resolvePeer(client, chatId)\n\n if (!isInputPeerChannel(chat)) {\n throw new MtInvalidPeerTypeError(chatId, 'channel')\n }\n\n const user = await resolvePeer(client, userId)\n\n const res = await client.call({\n _: 'channels.editBanned',\n channel: toInputChannel(chat),\n participant: user,\n bannedRights: {\n _: 'chatBannedRights',\n untilDate: normalizeDate(until) ?? 0,\n ...restrictions,\n },\n })\n client.handleClientUpdate(res)\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"save-draft.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/chats/save-draft.ts"],"names":[],"mappings":";;;AAIA,8DAAsD;AAEtD;;;;;GAKG;AACI,KAAK,UAAU,SAAS,CAC3B,MAAuB,EACvB,MAAqB,EACrB,KAAoD;IAEpD,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE9C,IAAI,KAAK,EAAE;QACP,MAAM,MAAM,CAAC,IAAI,CAAC;YACd,CAAC,EAAE,oBAAoB;YACvB,IAAI;YACJ,GAAG,KAAK;SACX,CAAC,CAAA;KACL;SAAM;QACH,MAAM,MAAM,CAAC,IAAI,CAAC;YACd,CAAC,EAAE,oBAAoB;YACvB,IAAI;YACJ,OAAO,EAAE,EAAE;SACd,CAAC,CAAA;KACL;AACL,CAAC;AApBD,8BAoBC","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/**\n * Save or delete a draft message associated with some chat\n *\n * @param chatId ID of the chat, its username, phone or `\"me\"` or `\"self\"`\n * @param draft Draft message, or `null` to delete.\n */\nexport async function saveDraft(\n client: ITelegramClient,\n chatId: InputPeerLike,\n draft: null | Omit<tl.RawDraftMessage, '_' | 'date'>,\n): Promise<void> {\n const peer = await resolvePeer(client, chatId)\n\n if (draft) {\n await client.call({\n _: 'messages.saveDraft',\n peer,\n ...draft,\n })\n } else {\n await client.call({\n _: 'messages.saveDraft',\n peer,\n message: '',\n })\n }\n}\n"]}
1
+ {"version":3,"file":"save-draft.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/chats/save-draft.ts"],"names":[],"mappings":";;;AAIA,8DAAsD;AAEtD;;;;;GAKG;AACI,KAAK,UAAU,SAAS,CAC3B,MAAuB,EACvB,MAAqB,EACrB,KAAoD;IAEpD,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE9C,IAAI,KAAK,EAAE,CAAC;QACR,MAAM,MAAM,CAAC,IAAI,CAAC;YACd,CAAC,EAAE,oBAAoB;YACvB,IAAI;YACJ,GAAG,KAAK;SACX,CAAC,CAAA;IACN,CAAC;SAAM,CAAC;QACJ,MAAM,MAAM,CAAC,IAAI,CAAC;YACd,CAAC,EAAE,oBAAoB;YACvB,IAAI;YACJ,OAAO,EAAE,EAAE;SACd,CAAC,CAAA;IACN,CAAC;AACL,CAAC;AApBD,8BAoBC","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/**\n * Save or delete a draft message associated with some chat\n *\n * @param chatId ID of the chat, its username, phone or `\"me\"` or `\"self\"`\n * @param draft Draft message, or `null` to delete.\n */\nexport async function saveDraft(\n client: ITelegramClient,\n chatId: InputPeerLike,\n draft: null | Omit<tl.RawDraftMessage, '_' | 'date'>,\n): Promise<void> {\n const peer = await resolvePeer(client, chatId)\n\n if (draft) {\n await client.call({\n _: 'messages.saveDraft',\n peer,\n ...draft,\n })\n } else {\n await client.call({\n _: 'messages.saveDraft',\n peer,\n message: '',\n })\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"set-chat-color.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/chats/set-chat-color.ts"],"names":[],"mappings":";;;AAEA,wDAA+D;AAC/D,0EAA8D;AAE9D,mDAA4E;AAC5E,mDAA0F;AAC1F,+CAA6C;AAC7C,8DAAsD;AAEtD,kBAAkB;AAClB;;GAEG;AACI,KAAK,UAAU,YAAY,CAC9B,MAAuB,EACvB,MAkCC;IAED,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,GAAG,MAAM,CAAA;IACvD,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,CAAA;IAE3D,IAAI,IAAA,6BAAkB,EAAC,IAAI,CAAC,EAAE;QAC1B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;YAC1B,CAAC,EAAE,sBAAsB;YACzB,OAAO,EAAE,IAAA,yBAAc,EAAC,IAAI,CAAC;YAC7B,KAAK;YACL,iBAAiB;SACpB,CAAC,CAAA;QAEF,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAA;QAE9B,OAAM;KACT;IAED,IAAI,IAAA,0BAAe,EAAC,IAAI,CAAC,EAAE;QACvB,IAAI,CAAC,IAAA,qBAAU,EAAC,MAAM,EAAE,IAAI,CAAC,EAAE;YAC3B,MAAM,IAAI,gCAAoB,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;SACjE;QAED,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;YACxB,CAAC,EAAE,qBAAqB;YACxB,KAAK;YACL,iBAAiB;YACjB,UAAU;SACb,CAAC,CAAA;QAEF,IAAA,+BAAU,EAAC,qBAAqB,EAAE,CAAC,CAAC,CAAA;KACvC;IAED,MAAM,IAAI,iCAAsB,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAA;AAC5D,CAAC;AAtED,oCAsEC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MtTypeAssertionError } from '../../../types/errors.js'\nimport { assertTrue } from '../../../utils/type-assertions.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputPeerLike, MtInvalidPeerTypeError } from '../../types/index.js'\nimport { isInputPeerChannel, isInputPeerUser, toInputChannel } from '../../utils/index.js'\nimport { isSelfPeer } from '../auth/utils.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\n\n// @available=user\n/**\n * Set peer color and optionally background pattern\n */\nexport async function setChatColor(\n client: ITelegramClient,\n params: {\n /**\n * Peer where to update the color.\n *\n * By default will change the color for the current user\n */\n peer?: InputPeerLike\n\n /**\n * Color identificator\n *\n * Note that this value is **not** an RGB color representation. Instead, it is\n * a number which should be used to pick a color from a predefined\n * list of colors:\n * - `0-6` are the default colors used by Telegram clients:\n * `red, orange, purple, green, sea, blue, pink`\n * - `>= 7` are returned by `help.getAppConfig`.\n */\n color: number\n\n /**\n * Background pattern emoji ID.\n *\n * Must be an adaptive emoji, otherwise the request will fail.\n */\n backgroundEmojiId?: tl.Long\n\n /**\n * Whether to set this color for the profile\n * header instead of chat name/replies.\n *\n * Currently only available for the current user.\n */\n forProfile?: boolean\n },\n): Promise<void> {\n const { color, backgroundEmojiId, forProfile } = params\n const peer = await resolvePeer(client, params.peer ?? 'me')\n\n if (isInputPeerChannel(peer)) {\n const res = await client.call({\n _: 'channels.updateColor',\n channel: toInputChannel(peer),\n color,\n backgroundEmojiId,\n })\n\n client.handleClientUpdate(res)\n\n return\n }\n\n if (isInputPeerUser(peer)) {\n if (!isSelfPeer(client, peer)) {\n throw new MtTypeAssertionError('setChatColor', 'self', peer._)\n }\n\n const r = await client.call({\n _: 'account.updateColor',\n color,\n backgroundEmojiId,\n forProfile,\n })\n\n assertTrue('account.updateColor', r)\n }\n\n throw new MtInvalidPeerTypeError(peer, 'channel | user')\n}\n"]}
1
+ {"version":3,"file":"set-chat-color.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/chats/set-chat-color.ts"],"names":[],"mappings":";;;AAEA,wDAA+D;AAC/D,0EAA8D;AAE9D,mDAA4E;AAC5E,mDAA0F;AAC1F,+CAA6C;AAC7C,8DAAsD;AAEtD,kBAAkB;AAClB;;GAEG;AACI,KAAK,UAAU,YAAY,CAC9B,MAAuB,EACvB,MAkCC;IAED,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,GAAG,MAAM,CAAA;IACvD,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,CAAA;IAE3D,IAAI,IAAA,6BAAkB,EAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;YAC1B,CAAC,EAAE,sBAAsB;YACzB,OAAO,EAAE,IAAA,yBAAc,EAAC,IAAI,CAAC;YAC7B,KAAK;YACL,iBAAiB;SACpB,CAAC,CAAA;QAEF,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAA;QAE9B,OAAM;IACV,CAAC;IAED,IAAI,IAAA,0BAAe,EAAC,IAAI,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC,IAAA,qBAAU,EAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,gCAAoB,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;QAClE,CAAC;QAED,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;YACxB,CAAC,EAAE,qBAAqB;YACxB,KAAK;YACL,iBAAiB;YACjB,UAAU;SACb,CAAC,CAAA;QAEF,IAAA,+BAAU,EAAC,qBAAqB,EAAE,CAAC,CAAC,CAAA;IACxC,CAAC;IAED,MAAM,IAAI,iCAAsB,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAA;AAC5D,CAAC;AAtED,oCAsEC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MtTypeAssertionError } from '../../../types/errors.js'\nimport { assertTrue } from '../../../utils/type-assertions.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputPeerLike, MtInvalidPeerTypeError } from '../../types/index.js'\nimport { isInputPeerChannel, isInputPeerUser, toInputChannel } from '../../utils/index.js'\nimport { isSelfPeer } from '../auth/utils.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\n\n// @available=user\n/**\n * Set peer color and optionally background pattern\n */\nexport async function setChatColor(\n client: ITelegramClient,\n params: {\n /**\n * Peer where to update the color.\n *\n * By default will change the color for the current user\n */\n peer?: InputPeerLike\n\n /**\n * Color identificator\n *\n * Note that this value is **not** an RGB color representation. Instead, it is\n * a number which should be used to pick a color from a predefined\n * list of colors:\n * - `0-6` are the default colors used by Telegram clients:\n * `red, orange, purple, green, sea, blue, pink`\n * - `>= 7` are returned by `help.getAppConfig`.\n */\n color: number\n\n /**\n * Background pattern emoji ID.\n *\n * Must be an adaptive emoji, otherwise the request will fail.\n */\n backgroundEmojiId?: tl.Long\n\n /**\n * Whether to set this color for the profile\n * header instead of chat name/replies.\n *\n * Currently only available for the current user.\n */\n forProfile?: boolean\n },\n): Promise<void> {\n const { color, backgroundEmojiId, forProfile } = params\n const peer = await resolvePeer(client, params.peer ?? 'me')\n\n if (isInputPeerChannel(peer)) {\n const res = await client.call({\n _: 'channels.updateColor',\n channel: toInputChannel(peer),\n color,\n backgroundEmojiId,\n })\n\n client.handleClientUpdate(res)\n\n return\n }\n\n if (isInputPeerUser(peer)) {\n if (!isSelfPeer(client, peer)) {\n throw new MtTypeAssertionError('setChatColor', 'self', peer._)\n }\n\n const r = await client.call({\n _: 'account.updateColor',\n color,\n backgroundEmojiId,\n forProfile,\n })\n\n assertTrue('account.updateColor', r)\n }\n\n throw new MtInvalidPeerTypeError(peer, 'channel | user')\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"set-chat-photo.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/chats/set-chat-photo.ts"],"names":[],"mappings":"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","sourcesContent":["import { tdFileId } from '@mtcute/file-id'\nimport { tl } from '@mtcute/tl'\n\nimport { MtArgumentError } from '../../../types/errors.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputFileLike, InputPeerLike, isUploadedFile, MtInvalidPeerTypeError } from '../../types/index.js'\nimport { fileIdToInputPhoto } from '../../utils/convert-file-id.js'\nimport { isInputPeerChannel, isInputPeerChat, toInputChannel } from '../../utils/peer-utils.js'\nimport { uploadFile } from '../files/upload-file.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\n\n/**\n * Set a new chat photo or video.\n *\n * You must be an administrator and have the appropriate permissions.\n */\nexport async function setChatPhoto(\n client: ITelegramClient,\n params: {\n /** Chat ID or username */\n chatId: InputPeerLike\n\n /** Media type (photo or video) */\n\n type: 'photo' | 'video'\n\n /** Input media file */\n media: InputFileLike\n /**\n * When `type = video`, timestamp in seconds which will be shown\n * as a static preview.\n */\n previewSec?: number\n },\n): Promise<void> {\n const { chatId, type, media, previewSec } = params\n\n const chat = await resolvePeer(client, chatId)\n\n if (!(isInputPeerChannel(chat) || isInputPeerChat(chat))) {\n throw new MtInvalidPeerTypeError(chatId, 'chat or channel')\n }\n\n let photo: tl.TypeInputChatPhoto | undefined = undefined\n\n let inputFile: tl.TypeInputFile\n\n if (tdFileId.isFileIdLike(media)) {\n if (typeof media === 'string' && media.match(/^https?:\\/\\//)) {\n throw new MtArgumentError(\"Chat photo can't be external\")\n }\n if (typeof media === 'string' && media.match(/^file:/)) {\n const uploaded = await uploadFile(client, {\n file: media.substring(5),\n })\n inputFile = uploaded.inputFile\n } else {\n const input = fileIdToInputPhoto(media)\n photo = {\n _: 'inputChatPhoto',\n id: input,\n }\n }\n } else if (typeof media === 'object' && tl.isAnyInputMedia(media)) {\n if (media._ === 'inputMediaPhoto') {\n photo = {\n _: 'inputChatPhoto',\n id: media.id,\n }\n } else throw new MtArgumentError(\"Chat photo can't be InputMedia\")\n } else if (isUploadedFile(media)) {\n inputFile = media.inputFile\n } else if (typeof media === 'object' && tl.isAnyInputFile(media)) {\n inputFile = media\n } else {\n const uploaded = await uploadFile(client, {\n file: media,\n })\n inputFile = uploaded.inputFile\n }\n\n if (!photo) {\n photo = {\n _: 'inputChatUploadedPhoto',\n [type === 'photo' ? 'file' : 'video']: inputFile!,\n videoStartTs: previewSec,\n }\n }\n\n let res\n\n if (isInputPeerChat(chat)) {\n res = await client.call({\n _: 'messages.editChatPhoto',\n chatId: chat.chatId,\n photo,\n })\n } else {\n res = await client.call({\n _: 'channels.editPhoto',\n channel: toInputChannel(chat),\n photo,\n })\n }\n client.handleClientUpdate(res)\n}\n"]}
1
+ {"version":3,"file":"set-chat-photo.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/chats/set-chat-photo.ts"],"names":[],"mappings":"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","sourcesContent":["import { tdFileId } from '@mtcute/file-id'\nimport { tl } from '@mtcute/tl'\n\nimport { MtArgumentError } from '../../../types/errors.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputFileLike, InputPeerLike, isUploadedFile, MtInvalidPeerTypeError } from '../../types/index.js'\nimport { fileIdToInputPhoto } from '../../utils/convert-file-id.js'\nimport { isInputPeerChannel, isInputPeerChat, toInputChannel } from '../../utils/peer-utils.js'\nimport { uploadFile } from '../files/upload-file.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\n\n/**\n * Set a new chat photo or video.\n *\n * You must be an administrator and have the appropriate permissions.\n */\nexport async function setChatPhoto(\n client: ITelegramClient,\n params: {\n /** Chat ID or username */\n chatId: InputPeerLike\n\n /** Media type (photo or video) */\n\n type: 'photo' | 'video'\n\n /** Input media file */\n media: InputFileLike\n /**\n * When `type = video`, timestamp in seconds which will be shown\n * as a static preview.\n */\n previewSec?: number\n },\n): Promise<void> {\n const { chatId, type, media, previewSec } = params\n\n const chat = await resolvePeer(client, chatId)\n\n if (!(isInputPeerChannel(chat) || isInputPeerChat(chat))) {\n throw new MtInvalidPeerTypeError(chatId, 'chat or channel')\n }\n\n let photo: tl.TypeInputChatPhoto | undefined = undefined\n\n let inputFile: tl.TypeInputFile\n\n if (tdFileId.isFileIdLike(media)) {\n if (typeof media === 'string' && media.match(/^https?:\\/\\//)) {\n throw new MtArgumentError(\"Chat photo can't be external\")\n }\n if (typeof media === 'string' && media.match(/^file:/)) {\n const uploaded = await uploadFile(client, {\n file: media.substring(5),\n })\n inputFile = uploaded.inputFile\n } else {\n const input = fileIdToInputPhoto(media)\n photo = {\n _: 'inputChatPhoto',\n id: input,\n }\n }\n } else if (typeof media === 'object' && tl.isAnyInputMedia(media)) {\n if (media._ === 'inputMediaPhoto') {\n photo = {\n _: 'inputChatPhoto',\n id: media.id,\n }\n } else throw new MtArgumentError(\"Chat photo can't be InputMedia\")\n } else if (isUploadedFile(media)) {\n inputFile = media.inputFile\n } else if (typeof media === 'object' && tl.isAnyInputFile(media)) {\n inputFile = media\n } else {\n const uploaded = await uploadFile(client, {\n file: media,\n })\n inputFile = uploaded.inputFile\n }\n\n if (!photo) {\n photo = {\n _: 'inputChatUploadedPhoto',\n [type === 'photo' ? 'file' : 'video']: inputFile!,\n videoStartTs: previewSec,\n }\n }\n\n let res\n\n if (isInputPeerChat(chat)) {\n res = await client.call({\n _: 'messages.editChatPhoto',\n chatId: chat.chatId,\n photo,\n })\n } else {\n res = await client.call({\n _: 'channels.editPhoto',\n channel: toInputChannel(chat),\n photo,\n })\n }\n client.handleClientUpdate(res)\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"set-chat-title.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/chats/set-chat-title.ts"],"names":[],"mappings":";;;AACA,mDAA4E;AAC5E,6DAA+F;AAC/F,8DAAsD;AAEtD;;;;;;;GAOG;AACI,KAAK,UAAU,YAAY,CAAC,MAAuB,EAAE,MAAqB,EAAE,KAAa;IAC5F,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE9C,IAAI,GAAG,CAAA;IACP,IAAI,IAAA,+BAAe,EAAC,IAAI,CAAC,EAAE;QACvB,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;YACpB,CAAC,EAAE,wBAAwB;YAC3B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK;SACR,CAAC,CAAA;KACL;SAAM,IAAI,IAAA,kCAAkB,EAAC,IAAI,CAAC,EAAE;QACjC,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;YACpB,CAAC,EAAE,oBAAoB;YACvB,OAAO,EAAE,IAAA,8BAAc,EAAC,IAAI,CAAC;YAC7B,KAAK;SACR,CAAC,CAAA;KACL;;QAAM,MAAM,IAAI,iCAAsB,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;IAElE,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAA;AAClC,CAAC;AAnBD,oCAmBC","sourcesContent":["import { ITelegramClient } from '../../client.types.js'\nimport { InputPeerLike, MtInvalidPeerTypeError } from '../../types/index.js'\nimport { isInputPeerChannel, isInputPeerChat, toInputChannel } from '../../utils/peer-utils.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\n\n/**\n * Change chat title\n *\n * You must be an administrator and have the appropriate permissions.\n *\n * @param chatId Chat ID or username\n * @param title New chat title, 1-255 characters\n */\nexport async function setChatTitle(client: ITelegramClient, chatId: InputPeerLike, title: string): Promise<void> {\n const chat = await resolvePeer(client, chatId)\n\n let res\n if (isInputPeerChat(chat)) {\n res = await client.call({\n _: 'messages.editChatTitle',\n chatId: chat.chatId,\n title,\n })\n } else if (isInputPeerChannel(chat)) {\n res = await client.call({\n _: 'channels.editTitle',\n channel: toInputChannel(chat),\n title,\n })\n } else throw new MtInvalidPeerTypeError(chatId, 'chat or channel')\n\n client.handleClientUpdate(res)\n}\n"]}
1
+ {"version":3,"file":"set-chat-title.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/chats/set-chat-title.ts"],"names":[],"mappings":";;;AACA,mDAA4E;AAC5E,6DAA+F;AAC/F,8DAAsD;AAEtD;;;;;;;GAOG;AACI,KAAK,UAAU,YAAY,CAAC,MAAuB,EAAE,MAAqB,EAAE,KAAa;IAC5F,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE9C,IAAI,GAAG,CAAA;IACP,IAAI,IAAA,+BAAe,EAAC,IAAI,CAAC,EAAE,CAAC;QACxB,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;YACpB,CAAC,EAAE,wBAAwB;YAC3B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK;SACR,CAAC,CAAA;IACN,CAAC;SAAM,IAAI,IAAA,kCAAkB,EAAC,IAAI,CAAC,EAAE,CAAC;QAClC,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;YACpB,CAAC,EAAE,oBAAoB;YACvB,OAAO,EAAE,IAAA,8BAAc,EAAC,IAAI,CAAC;YAC7B,KAAK;SACR,CAAC,CAAA;IACN,CAAC;;QAAM,MAAM,IAAI,iCAAsB,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;IAElE,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAA;AAClC,CAAC;AAnBD,oCAmBC","sourcesContent":["import { ITelegramClient } from '../../client.types.js'\nimport { InputPeerLike, MtInvalidPeerTypeError } from '../../types/index.js'\nimport { isInputPeerChannel, isInputPeerChat, toInputChannel } from '../../utils/peer-utils.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\n\n/**\n * Change chat title\n *\n * You must be an administrator and have the appropriate permissions.\n *\n * @param chatId Chat ID or username\n * @param title New chat title, 1-255 characters\n */\nexport async function setChatTitle(client: ITelegramClient, chatId: InputPeerLike, title: string): Promise<void> {\n const chat = await resolvePeer(client, chatId)\n\n let res\n if (isInputPeerChat(chat)) {\n res = await client.call({\n _: 'messages.editChatTitle',\n chatId: chat.chatId,\n title,\n })\n } else if (isInputPeerChannel(chat)) {\n res = await client.call({\n _: 'channels.editTitle',\n channel: toInputChannel(chat),\n title,\n })\n } else throw new MtInvalidPeerTypeError(chatId, 'chat or channel')\n\n client.handleClientUpdate(res)\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"toggle-fragment-username.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/chats/toggle-fragment-username.ts"],"names":[],"mappings":";;;AAAA,0EAA8D;AAG9D,mDAAuG;AACvG,+CAA6C;AAC7C,8DAAsD;AAEtD;;;;;GAKG;AACI,KAAK,UAAU,sBAAsB,CACxC,MAAuB,EACvB,MAaC;IAED,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;IAE3C,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE9C,IAAI,IAAA,0BAAe,EAAC,IAAI,CAAC,EAAE;QACvB,uBAAuB;QAEvB,IAAI,IAAA,qBAAU,EAAC,MAAM,EAAE,IAAI,CAAC,EAAE;YAC1B,OAAO;YACP,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;gBACxB,CAAC,EAAE,wBAAwB;gBAC3B,QAAQ;gBACR,MAAM;aACT,CAAC,CAAA;YAEF,IAAA,+BAAU,EAAC,wBAAwB,EAAE,CAAC,CAAC,CAAA;YAEvC,OAAM;SACT;QAED,MAAM;QACN,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;YACxB,CAAC,EAAE,qBAAqB;YACxB,GAAG,EAAE,IAAA,sBAAW,EAAC,IAAI,EAAE,MAAM,CAAC;YAC9B,QAAQ;YACR,MAAM;SACT,CAAC,CAAA;QAEF,IAAA,+BAAU,EAAC,qBAAqB,EAAE,CAAC,CAAC,CAAA;KACvC;SAAM,IAAI,IAAA,6BAAkB,EAAC,IAAI,CAAC,EAAE;QACjC,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;YACxB,CAAC,EAAE,yBAAyB;YAC5B,OAAO,EAAE,IAAA,yBAAc,EAAC,IAAI,EAAE,MAAM,CAAC;YACrC,QAAQ;YACR,MAAM;SACT,CAAC,CAAA;QAEF,IAAA,+BAAU,EAAC,yBAAyB,EAAE,CAAC,CAAC,CAAA;KAC3C;AACL,CAAC;AAxDD,wDAwDC","sourcesContent":["import { assertTrue } from '../../../utils/type-assertions.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputPeerLike } from '../../types/index.js'\nimport { isInputPeerChannel, isInputPeerUser, toInputChannel, toInputUser } from '../../utils/index.js'\nimport { isSelfPeer } from '../auth/utils.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\n\n/**\n * Toggle a collectible (Fragment) username\n *\n * > **Note**: non-collectible usernames must still be changed\n * > using {@link setUsername}/{@link setChatUsername}\n */\nexport async function toggleFragmentUsername(\n client: ITelegramClient,\n params: {\n /** Peer ID whose username to toggle */\n peerId: InputPeerLike\n\n /**\n * Username to toggle\n */\n username: string\n\n /**\n * Whether to enable or disable the username\n */\n active: boolean\n },\n): Promise<void> {\n const { peerId, username, active } = params\n\n const peer = await resolvePeer(client, peerId)\n\n if (isInputPeerUser(peer)) {\n // either a bot or self\n\n if (isSelfPeer(client, peer)) {\n // self\n const r = await client.call({\n _: 'account.toggleUsername',\n username,\n active,\n })\n\n assertTrue('account.toggleUsername', r)\n\n return\n }\n\n // bot\n const r = await client.call({\n _: 'bots.toggleUsername',\n bot: toInputUser(peer, peerId),\n username,\n active,\n })\n\n assertTrue('bots.toggleUsername', r)\n } else if (isInputPeerChannel(peer)) {\n const r = await client.call({\n _: 'channels.toggleUsername',\n channel: toInputChannel(peer, peerId),\n username,\n active,\n })\n\n assertTrue('channels.toggleUsername', r)\n }\n}\n"]}
1
+ {"version":3,"file":"toggle-fragment-username.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/chats/toggle-fragment-username.ts"],"names":[],"mappings":";;;AAAA,0EAA8D;AAG9D,mDAAuG;AACvG,+CAA6C;AAC7C,8DAAsD;AAEtD;;;;;GAKG;AACI,KAAK,UAAU,sBAAsB,CACxC,MAAuB,EACvB,MAaC;IAED,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;IAE3C,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE9C,IAAI,IAAA,0BAAe,EAAC,IAAI,CAAC,EAAE,CAAC;QACxB,uBAAuB;QAEvB,IAAI,IAAA,qBAAU,EAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;YAC3B,OAAO;YACP,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;gBACxB,CAAC,EAAE,wBAAwB;gBAC3B,QAAQ;gBACR,MAAM;aACT,CAAC,CAAA;YAEF,IAAA,+BAAU,EAAC,wBAAwB,EAAE,CAAC,CAAC,CAAA;YAEvC,OAAM;QACV,CAAC;QAED,MAAM;QACN,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;YACxB,CAAC,EAAE,qBAAqB;YACxB,GAAG,EAAE,IAAA,sBAAW,EAAC,IAAI,EAAE,MAAM,CAAC;YAC9B,QAAQ;YACR,MAAM;SACT,CAAC,CAAA;QAEF,IAAA,+BAAU,EAAC,qBAAqB,EAAE,CAAC,CAAC,CAAA;IACxC,CAAC;SAAM,IAAI,IAAA,6BAAkB,EAAC,IAAI,CAAC,EAAE,CAAC;QAClC,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;YACxB,CAAC,EAAE,yBAAyB;YAC5B,OAAO,EAAE,IAAA,yBAAc,EAAC,IAAI,EAAE,MAAM,CAAC;YACrC,QAAQ;YACR,MAAM;SACT,CAAC,CAAA;QAEF,IAAA,+BAAU,EAAC,yBAAyB,EAAE,CAAC,CAAC,CAAA;IAC5C,CAAC;AACL,CAAC;AAxDD,wDAwDC","sourcesContent":["import { assertTrue } from '../../../utils/type-assertions.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputPeerLike } from '../../types/index.js'\nimport { isInputPeerChannel, isInputPeerUser, toInputChannel, toInputUser } from '../../utils/index.js'\nimport { isSelfPeer } from '../auth/utils.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\n\n/**\n * Toggle a collectible (Fragment) username\n *\n * > **Note**: non-collectible usernames must still be changed\n * > using {@link setUsername}/{@link setChatUsername}\n */\nexport async function toggleFragmentUsername(\n client: ITelegramClient,\n params: {\n /** Peer ID whose username to toggle */\n peerId: InputPeerLike\n\n /**\n * Username to toggle\n */\n username: string\n\n /**\n * Whether to enable or disable the username\n */\n active: boolean\n },\n): Promise<void> {\n const { peerId, username, active } = params\n\n const peer = await resolvePeer(client, peerId)\n\n if (isInputPeerUser(peer)) {\n // either a bot or self\n\n if (isSelfPeer(client, peer)) {\n // self\n const r = await client.call({\n _: 'account.toggleUsername',\n username,\n active,\n })\n\n assertTrue('account.toggleUsername', r)\n\n return\n }\n\n // bot\n const r = await client.call({\n _: 'bots.toggleUsername',\n bot: toInputUser(peer, peerId),\n username,\n active,\n })\n\n assertTrue('bots.toggleUsername', r)\n } else if (isInputPeerChannel(peer)) {\n const r = await client.call({\n _: 'channels.toggleUsername',\n channel: toInputChannel(peer, peerId),\n username,\n active,\n })\n\n assertTrue('channels.toggleUsername', r)\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"unarchive-chats.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/chats/unarchive-chats.ts"],"names":[],"mappings":";;;AAKA,8DAAsD;AAEtD;;;;GAIG;AACI,KAAK,UAAU,cAAc,CAAC,MAAuB,EAAE,KAAgC;IAC1F,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,KAAK,GAAG,CAAC,KAAK,CAAC,CAAA;IAE1C,MAAM,WAAW,GAA6B,EAAE,CAAA;IAEhD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACtB,WAAW,CAAC,IAAI,CAAC;YACb,CAAC,EAAE,iBAAiB;YACpB,IAAI,EAAE,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,IAAI,CAAC;YACrC,QAAQ,EAAE,CAAC;SACd,CAAC,CAAA;KACL;IAED,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC1B,CAAC,EAAE,yBAAyB;QAC5B,WAAW;KACd,CAAC,CAAA;IACF,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAA;AAClC,CAAC;AAlBD,wCAkBC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MaybeArray } from '../../../types/utils.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputPeerLike } from '../../types/index.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\n\n/**\n * Unarchive one or more chats\n *\n * @param chats Chat ID(s), username(s), phone number(s), `\"me\"` or `\"self\"`\n */\nexport async function unarchiveChats(client: ITelegramClient, chats: MaybeArray<InputPeerLike>): Promise<void> {\n if (!Array.isArray(chats)) chats = [chats]\n\n const folderPeers: tl.TypeInputFolderPeer[] = []\n\n for (const chat of chats) {\n folderPeers.push({\n _: 'inputFolderPeer',\n peer: await resolvePeer(client, chat),\n folderId: 0,\n })\n }\n\n const res = await client.call({\n _: 'folders.editPeerFolders',\n folderPeers,\n })\n client.handleClientUpdate(res)\n}\n"]}
1
+ {"version":3,"file":"unarchive-chats.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/chats/unarchive-chats.ts"],"names":[],"mappings":";;;AAKA,8DAAsD;AAEtD;;;;GAIG;AACI,KAAK,UAAU,cAAc,CAAC,MAAuB,EAAE,KAAgC;IAC1F,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,KAAK,GAAG,CAAC,KAAK,CAAC,CAAA;IAE1C,MAAM,WAAW,GAA6B,EAAE,CAAA;IAEhD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,WAAW,CAAC,IAAI,CAAC;YACb,CAAC,EAAE,iBAAiB;YACpB,IAAI,EAAE,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,IAAI,CAAC;YACrC,QAAQ,EAAE,CAAC;SACd,CAAC,CAAA;IACN,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC1B,CAAC,EAAE,yBAAyB;QAC5B,WAAW;KACd,CAAC,CAAA;IACF,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAA;AAClC,CAAC;AAlBD,wCAkBC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MaybeArray } from '../../../types/utils.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputPeerLike } from '../../types/index.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\n\n/**\n * Unarchive one or more chats\n *\n * @param chats Chat ID(s), username(s), phone number(s), `\"me\"` or `\"self\"`\n */\nexport async function unarchiveChats(client: ITelegramClient, chats: MaybeArray<InputPeerLike>): Promise<void> {\n if (!Array.isArray(chats)) chats = [chats]\n\n const folderPeers: tl.TypeInputFolderPeer[] = []\n\n for (const chat of chats) {\n folderPeers.push({\n _: 'inputFolderPeer',\n peer: await resolvePeer(client, chat),\n folderId: 0,\n })\n }\n\n const res = await client.call({\n _: 'folders.editPeerFolders',\n folderPeers,\n })\n client.handleClientUpdate(res)\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"unban-chat-member.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/chats/unban-chat-member.ts"],"names":[],"mappings":";;;AACA,mDAA4E;AAC5E,6DAA+F;AAC/F,8DAAsD;AAEtD,8BAA8B;AAC9B;;;;;;;GAOG;AACI,KAAK,UAAU,eAAe,CACjC,MAAuB,EACvB,MAMC;IAED,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAAA;IACxC,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9C,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IAErD,IAAI,IAAA,kCAAkB,EAAC,IAAI,CAAC,EAAE;QAC1B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;YAC1B,CAAC,EAAE,qBAAqB;YACxB,OAAO,EAAE,IAAA,8BAAc,EAAC,IAAI,CAAC;YAC7B,WAAW,EAAE,IAAI;YACjB,YAAY,EAAE;gBACV,CAAC,EAAE,kBAAkB;gBACrB,SAAS,EAAE,CAAC;aACf;SACJ,CAAC,CAAA;QAEF,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAA;KACjC;SAAM,IAAI,IAAA,+BAAe,EAAC,IAAI,CAAC,EAAE;QAC9B,WAAW;KACd;;QAAM,MAAM,IAAI,iCAAsB,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;AACtE,CAAC;AA7BD,0CA6BC","sourcesContent":["import { ITelegramClient } from '../../client.types.js'\nimport { InputPeerLike, MtInvalidPeerTypeError } from '../../types/index.js'\nimport { isInputPeerChannel, isInputPeerChat, toInputChannel } from '../../utils/peer-utils.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\n\n// @alias=unrestrictChatMember\n/**\n * Unban a user/channel from a supergroup or a channel,\n * or remove any restrictions that they have.\n * Unbanning does not add the user back to the chat, this\n * just allows the user to join the chat again, if they want.\n *\n * This method acts as a no-op in case a legacy group is passed.\n */\nexport async function unbanChatMember(\n client: ITelegramClient,\n params: {\n /** Chat ID */\n chatId: InputPeerLike\n\n /** User/channel ID who should be unbanned */\n participantId: InputPeerLike\n },\n): Promise<void> {\n const { chatId, participantId } = params\n const chat = await resolvePeer(client, chatId)\n const peer = await resolvePeer(client, participantId)\n\n if (isInputPeerChannel(chat)) {\n const res = await client.call({\n _: 'channels.editBanned',\n channel: toInputChannel(chat),\n participant: peer,\n bannedRights: {\n _: 'chatBannedRights',\n untilDate: 0,\n },\n })\n\n client.handleClientUpdate(res)\n } else if (isInputPeerChat(chat)) {\n // no-op //\n } else throw new MtInvalidPeerTypeError(chatId, 'chat or channel')\n}\n"]}
1
+ {"version":3,"file":"unban-chat-member.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/chats/unban-chat-member.ts"],"names":[],"mappings":";;;AACA,mDAA4E;AAC5E,6DAA+F;AAC/F,8DAAsD;AAEtD,8BAA8B;AAC9B;;;;;;;GAOG;AACI,KAAK,UAAU,eAAe,CACjC,MAAuB,EACvB,MAMC;IAED,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAAA;IACxC,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9C,MAAM,IAAI,GAAG,MAAM,IAAA,6BAAW,EAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IAErD,IAAI,IAAA,kCAAkB,EAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;YAC1B,CAAC,EAAE,qBAAqB;YACxB,OAAO,EAAE,IAAA,8BAAc,EAAC,IAAI,CAAC;YAC7B,WAAW,EAAE,IAAI;YACjB,YAAY,EAAE;gBACV,CAAC,EAAE,kBAAkB;gBACrB,SAAS,EAAE,CAAC;aACf;SACJ,CAAC,CAAA;QAEF,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAA;IAClC,CAAC;SAAM,IAAI,IAAA,+BAAe,EAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,WAAW;IACf,CAAC;;QAAM,MAAM,IAAI,iCAAsB,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;AACtE,CAAC;AA7BD,0CA6BC","sourcesContent":["import { ITelegramClient } from '../../client.types.js'\nimport { InputPeerLike, MtInvalidPeerTypeError } from '../../types/index.js'\nimport { isInputPeerChannel, isInputPeerChat, toInputChannel } from '../../utils/peer-utils.js'\nimport { resolvePeer } from '../users/resolve-peer.js'\n\n// @alias=unrestrictChatMember\n/**\n * Unban a user/channel from a supergroup or a channel,\n * or remove any restrictions that they have.\n * Unbanning does not add the user back to the chat, this\n * just allows the user to join the chat again, if they want.\n *\n * This method acts as a no-op in case a legacy group is passed.\n */\nexport async function unbanChatMember(\n client: ITelegramClient,\n params: {\n /** Chat ID */\n chatId: InputPeerLike\n\n /** User/channel ID who should be unbanned */\n participantId: InputPeerLike\n },\n): Promise<void> {\n const { chatId, participantId } = params\n const chat = await resolvePeer(client, chatId)\n const peer = await resolvePeer(client, participantId)\n\n if (isInputPeerChannel(chat)) {\n const res = await client.call({\n _: 'channels.editBanned',\n channel: toInputChannel(chat),\n participant: peer,\n bannedRights: {\n _: 'chatBannedRights',\n untilDate: 0,\n },\n })\n\n client.handleClientUpdate(res)\n } else if (isInputPeerChat(chat)) {\n // no-op //\n } else throw new MtInvalidPeerTypeError(chatId, 'chat or channel')\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"delete-contacts.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/contacts/delete-contacts.ts"],"names":[],"mappings":";;;AAEA,mDAAkF;AAClF,qDAA6D;AAC7D,6DAAuD;AACvD,wEAA+D;AAE/D;;;;;;;GAOG;AACI,KAAK,UAAU,cAAc,CAAC,MAAuB,EAAE,OAAkC;IAC5F,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,GAAG,CAAC,OAAO,CAAC,CAAA;IAEhD,MAAM,UAAU,GAAG,MAAM,IAAA,sCAAe,EAAC,MAAM,EAAE,OAAO,EAAE,2BAAW,CAAC,CAAA;IAEtE,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;QACpB,MAAM,IAAI,iCAAsB,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAA;KAC/D;IAED,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC1B,CAAC,EAAE,yBAAyB;QAC5B,EAAE,EAAE,UAAU;KACjB,CAAC,CAAA;IAEF,IAAA,+BAAoB,EAAC,yBAAyB,EAAE,GAAG,CAAC,CAAA;IAEpD,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAA;IAE9B,OAAO,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,eAAI,CAAC,IAAI,CAAC,CAAC,CAAA;AAClD,CAAC;AAnBD,wCAmBC","sourcesContent":["import { MaybeArray } from '../../../types/utils.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputPeerLike, MtInvalidPeerTypeError, User } from '../../types/index.js'\nimport { assertIsUpdatesGroup } from '../../updates/utils.js'\nimport { toInputUser } from '../../utils/peer-utils.js'\nimport { resolvePeerMany } from '../users/resolve-peer-many.js'\n\n/**\n * Delete one or more contacts from your Telegram contacts list\n *\n * Returns deleted contact's profiles. Does not return\n * profiles of users that were not in your contacts list\n *\n * @param userIds User IDs, usernames or phone numbers\n */\nexport async function deleteContacts(client: ITelegramClient, userIds: MaybeArray<InputPeerLike>): Promise<User[]> {\n if (!Array.isArray(userIds)) userIds = [userIds]\n\n const inputPeers = await resolvePeerMany(client, userIds, toInputUser)\n\n if (!inputPeers.length) {\n throw new MtInvalidPeerTypeError('all provided ids', 'user')\n }\n\n const res = await client.call({\n _: 'contacts.deleteContacts',\n id: inputPeers,\n })\n\n assertIsUpdatesGroup('contacts.deleteContacts', res)\n\n client.handleClientUpdate(res)\n\n return res.users.map((user) => new User(user))\n}\n"]}
1
+ {"version":3,"file":"delete-contacts.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/contacts/delete-contacts.ts"],"names":[],"mappings":";;;AAEA,mDAAkF;AAClF,qDAA6D;AAC7D,6DAAuD;AACvD,wEAA+D;AAE/D;;;;;;;GAOG;AACI,KAAK,UAAU,cAAc,CAAC,MAAuB,EAAE,OAAkC;IAC5F,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,GAAG,CAAC,OAAO,CAAC,CAAA;IAEhD,MAAM,UAAU,GAAG,MAAM,IAAA,sCAAe,EAAC,MAAM,EAAE,OAAO,EAAE,2BAAW,CAAC,CAAA;IAEtE,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QACrB,MAAM,IAAI,iCAAsB,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAA;IAChE,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QAC1B,CAAC,EAAE,yBAAyB;QAC5B,EAAE,EAAE,UAAU;KACjB,CAAC,CAAA;IAEF,IAAA,+BAAoB,EAAC,yBAAyB,EAAE,GAAG,CAAC,CAAA;IAEpD,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAA;IAE9B,OAAO,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,eAAI,CAAC,IAAI,CAAC,CAAC,CAAA;AAClD,CAAC;AAnBD,wCAmBC","sourcesContent":["import { MaybeArray } from '../../../types/utils.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputPeerLike, MtInvalidPeerTypeError, User } from '../../types/index.js'\nimport { assertIsUpdatesGroup } from '../../updates/utils.js'\nimport { toInputUser } from '../../utils/peer-utils.js'\nimport { resolvePeerMany } from '../users/resolve-peer-many.js'\n\n/**\n * Delete one or more contacts from your Telegram contacts list\n *\n * Returns deleted contact's profiles. Does not return\n * profiles of users that were not in your contacts list\n *\n * @param userIds User IDs, usernames or phone numbers\n */\nexport async function deleteContacts(client: ITelegramClient, userIds: MaybeArray<InputPeerLike>): Promise<User[]> {\n if (!Array.isArray(userIds)) userIds = [userIds]\n\n const inputPeers = await resolvePeerMany(client, userIds, toInputUser)\n\n if (!inputPeers.length) {\n throw new MtInvalidPeerTypeError('all provided ids', 'user')\n }\n\n const res = await client.call({\n _: 'contacts.deleteContacts',\n id: inputPeers,\n })\n\n assertIsUpdatesGroup('contacts.deleteContacts', res)\n\n client.handleClientUpdate(res)\n\n return res.users.map((user) => new User(user))\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"create-folder.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/dialogs/create-folder.ts"],"names":[],"mappings":";;;AAGA,0EAA8D;AAE9D,qDAA6C;AAE7C;;;;;;;;GAQG;AACI,KAAK,UAAU,YAAY,CAC9B,MAAuB,EACvB,MAAkD;IAElD,IAAI,EAAE,GAAG,MAAM,CAAC,EAAE,CAAA;IAElB,IAAI,CAAC,EAAE,EAAE;QACL,MAAM,GAAG,GAAG,MAAM,IAAA,2BAAU,EAAC,MAAM,CAAC,CAAA;QAEpC,sCAAsC;QACtC,+BAA+B;QAC/B,IAAI,GAAG,GAAG,CAAC,CAAA;QACX,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;YACvB,IAAI,EAAE,CAAC,CAAC,KAAK,cAAc,IAAI,EAAE,CAAC,EAAE,GAAG,GAAG;gBAAE,GAAG,GAAG,EAAE,CAAC,EAAE,CAAA;QAC3D,CAAC,CAAC,CAAA;QACF,EAAE,GAAG,GAAG,GAAG,CAAC,CAAA;KACf;IAED,MAAM,MAAM,GAAuB;QAC/B,CAAC,EAAE,cAAc;QACjB,WAAW,EAAE,EAAE;QACf,YAAY,EAAE,EAAE;QAChB,YAAY,EAAE,EAAE;QAChB,GAAG,MAAM;QACT,EAAE;KACL,CAAA;IAED,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QACxB,CAAC,EAAE,6BAA6B;QAChC,EAAE;QACF,MAAM;KACT,CAAC,CAAA;IAEF,IAAA,+BAAU,EAAC,6BAA6B,EAAE,CAAC,CAAC,CAAA;IAE5C,OAAO,MAAM,CAAA;AACjB,CAAC;AApCD,oCAoCC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { PartialExcept } from '../../../types/utils.js'\nimport { assertTrue } from '../../../utils/type-assertions.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { getFolders } from './get-folders.js'\n\n/**\n * Create a folder from given parameters\n *\n * ID for the folder is optional, if not\n * provided it will be derived automatically.\n *\n * @param folder Parameters for the folder\n * @returns Newly created folder\n */\nexport async function createFolder(\n client: ITelegramClient,\n folder: PartialExcept<tl.RawDialogFilter, 'title'>,\n): Promise<tl.RawDialogFilter> {\n let id = folder.id\n\n if (!id) {\n const old = await getFolders(client)\n\n // determine next id by finding max id\n // thanks durov for awesome api\n let max = 1\n old.filters.forEach((it) => {\n if (it._ === 'dialogFilter' && it.id > max) max = it.id\n })\n id = max + 1\n }\n\n const filter: tl.RawDialogFilter = {\n _: 'dialogFilter',\n pinnedPeers: [],\n includePeers: [],\n excludePeers: [],\n ...folder,\n id,\n }\n\n const r = await client.call({\n _: 'messages.updateDialogFilter',\n id,\n filter,\n })\n\n assertTrue('messages.updateDialogFilter', r)\n\n return filter\n}\n"]}
1
+ {"version":3,"file":"create-folder.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/dialogs/create-folder.ts"],"names":[],"mappings":";;;AAGA,0EAA8D;AAE9D,qDAA6C;AAE7C;;;;;;;;GAQG;AACI,KAAK,UAAU,YAAY,CAC9B,MAAuB,EACvB,MAAkD;IAElD,IAAI,EAAE,GAAG,MAAM,CAAC,EAAE,CAAA;IAElB,IAAI,CAAC,EAAE,EAAE,CAAC;QACN,MAAM,GAAG,GAAG,MAAM,IAAA,2BAAU,EAAC,MAAM,CAAC,CAAA;QAEpC,sCAAsC;QACtC,+BAA+B;QAC/B,IAAI,GAAG,GAAG,CAAC,CAAA;QACX,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;YACvB,IAAI,EAAE,CAAC,CAAC,KAAK,cAAc,IAAI,EAAE,CAAC,EAAE,GAAG,GAAG;gBAAE,GAAG,GAAG,EAAE,CAAC,EAAE,CAAA;QAC3D,CAAC,CAAC,CAAA;QACF,EAAE,GAAG,GAAG,GAAG,CAAC,CAAA;IAChB,CAAC;IAED,MAAM,MAAM,GAAuB;QAC/B,CAAC,EAAE,cAAc;QACjB,WAAW,EAAE,EAAE;QACf,YAAY,EAAE,EAAE;QAChB,YAAY,EAAE,EAAE;QAChB,GAAG,MAAM;QACT,EAAE;KACL,CAAA;IAED,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QACxB,CAAC,EAAE,6BAA6B;QAChC,EAAE;QACF,MAAM;KACT,CAAC,CAAA;IAEF,IAAA,+BAAU,EAAC,6BAA6B,EAAE,CAAC,CAAC,CAAA;IAE5C,OAAO,MAAM,CAAA;AACjB,CAAC;AApCD,oCAoCC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { PartialExcept } from '../../../types/utils.js'\nimport { assertTrue } from '../../../utils/type-assertions.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { getFolders } from './get-folders.js'\n\n/**\n * Create a folder from given parameters\n *\n * ID for the folder is optional, if not\n * provided it will be derived automatically.\n *\n * @param folder Parameters for the folder\n * @returns Newly created folder\n */\nexport async function createFolder(\n client: ITelegramClient,\n folder: PartialExcept<tl.RawDialogFilter, 'title'>,\n): Promise<tl.RawDialogFilter> {\n let id = folder.id\n\n if (!id) {\n const old = await getFolders(client)\n\n // determine next id by finding max id\n // thanks durov for awesome api\n let max = 1\n old.filters.forEach((it) => {\n if (it._ === 'dialogFilter' && it.id > max) max = it.id\n })\n id = max + 1\n }\n\n const filter: tl.RawDialogFilter = {\n _: 'dialogFilter',\n pinnedPeers: [],\n includePeers: [],\n excludePeers: [],\n ...folder,\n id,\n }\n\n const r = await client.call({\n _: 'messages.updateDialogFilter',\n id,\n filter,\n })\n\n assertTrue('messages.updateDialogFilter', r)\n\n return filter\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"edit-folder.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/dialogs/edit-folder.ts"],"names":[],"mappings":";;;AAEA,wDAA0D;AAC1D,0EAA8D;AAE9D,qDAA6C;AAE7C;;;;GAIG;AACI,KAAK,UAAU,UAAU,CAC5B,MAAuB,EACvB,MAWC;IAED,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,CAAA;IAC/B,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;IAEvB,IAAI,MAAM,KAAK,CAAC,EAAE;QACd,MAAM,IAAI,2BAAe,CAAC,8BAA8B,CAAC,CAAA;KAC5D;IACD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QAC1D,MAAM,GAAG,GAAG,MAAM,IAAA,2BAAU,EAAC,MAAM,CAAC,CAAA;QACpC,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,cAAc,IAAI,CAAC,EAAE,CAAC,EAAE,KAAK,MAAM,IAAI,EAAE,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAA;QAE5G,IAAI,CAAC,KAAK,EAAE;YACR,MAAM,IAAI,2BAAe,CAAC,2BAA2B,MAAM,EAAE,CAAC,CAAA;SACjE;QAED,MAAM,GAAG,KAA2B,CAAA;KACvC;IAED,MAAM,MAAM,GAAuB;QAC/B,GAAG,MAAM;QACT,GAAG,YAAY;KAClB,CAAA;IAED,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QACxB,CAAC,EAAE,6BAA6B;QAChC,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,MAAM;KACT,CAAC,CAAA;IAEF,IAAA,+BAAU,EAAC,6BAA6B,EAAE,CAAC,CAAC,CAAA;IAE5C,OAAO,MAAM,CAAA;AACjB,CAAC;AA9CD,gCA8CC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MtArgumentError } from '../../../types/errors.js'\nimport { assertTrue } from '../../../utils/type-assertions.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { getFolders } from './get-folders.js'\n\n/**\n * Edit a folder with given modification\n *\n * @returns Modified folder\n */\nexport async function editFolder(\n client: ITelegramClient,\n params: {\n /**\n * Folder, folder ID or name.\n * Note that passing an ID or name will require re-fetching all folders,\n * and passing name might affect not the right folder if you have multiple\n * with the same name.\n */\n folder: tl.RawDialogFilter | number | string\n\n /** Modification to be applied to this folder */\n modification: Partial<Omit<tl.RawDialogFilter, 'id' | '_'>>\n },\n): Promise<tl.RawDialogFilter> {\n const { modification } = params\n let { folder } = params\n\n if (folder === 0) {\n throw new MtArgumentError('Cannot modify default folder')\n }\n if (typeof folder === 'number' || typeof folder === 'string') {\n const old = await getFolders(client)\n const found = old.filters.find((it) => it._ === 'dialogFilter' && (it.id === folder || it.title === folder))\n\n if (!found) {\n throw new MtArgumentError(`Could not find a folder ${folder}`)\n }\n\n folder = found as tl.RawDialogFilter\n }\n\n const filter: tl.RawDialogFilter = {\n ...folder,\n ...modification,\n }\n\n const r = await client.call({\n _: 'messages.updateDialogFilter',\n id: folder.id,\n filter,\n })\n\n assertTrue('messages.updateDialogFilter', r)\n\n return filter\n}\n"]}
1
+ {"version":3,"file":"edit-folder.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/dialogs/edit-folder.ts"],"names":[],"mappings":";;;AAEA,wDAA0D;AAC1D,0EAA8D;AAE9D,qDAA6C;AAE7C;;;;GAIG;AACI,KAAK,UAAU,UAAU,CAC5B,MAAuB,EACvB,MAWC;IAED,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,CAAA;IAC/B,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;IAEvB,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;QACf,MAAM,IAAI,2BAAe,CAAC,8BAA8B,CAAC,CAAA;IAC7D,CAAC;IACD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC3D,MAAM,GAAG,GAAG,MAAM,IAAA,2BAAU,EAAC,MAAM,CAAC,CAAA;QACpC,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,cAAc,IAAI,CAAC,EAAE,CAAC,EAAE,KAAK,MAAM,IAAI,EAAE,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAA;QAE5G,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,MAAM,IAAI,2BAAe,CAAC,2BAA2B,MAAM,EAAE,CAAC,CAAA;QAClE,CAAC;QAED,MAAM,GAAG,KAA2B,CAAA;IACxC,CAAC;IAED,MAAM,MAAM,GAAuB;QAC/B,GAAG,MAAM;QACT,GAAG,YAAY;KAClB,CAAA;IAED,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;QACxB,CAAC,EAAE,6BAA6B;QAChC,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,MAAM;KACT,CAAC,CAAA;IAEF,IAAA,+BAAU,EAAC,6BAA6B,EAAE,CAAC,CAAC,CAAA;IAE5C,OAAO,MAAM,CAAA;AACjB,CAAC;AA9CD,gCA8CC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MtArgumentError } from '../../../types/errors.js'\nimport { assertTrue } from '../../../utils/type-assertions.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { getFolders } from './get-folders.js'\n\n/**\n * Edit a folder with given modification\n *\n * @returns Modified folder\n */\nexport async function editFolder(\n client: ITelegramClient,\n params: {\n /**\n * Folder, folder ID or name.\n * Note that passing an ID or name will require re-fetching all folders,\n * and passing name might affect not the right folder if you have multiple\n * with the same name.\n */\n folder: tl.RawDialogFilter | number | string\n\n /** Modification to be applied to this folder */\n modification: Partial<Omit<tl.RawDialogFilter, 'id' | '_'>>\n },\n): Promise<tl.RawDialogFilter> {\n const { modification } = params\n let { folder } = params\n\n if (folder === 0) {\n throw new MtArgumentError('Cannot modify default folder')\n }\n if (typeof folder === 'number' || typeof folder === 'string') {\n const old = await getFolders(client)\n const found = old.filters.find((it) => it._ === 'dialogFilter' && (it.id === folder || it.title === folder))\n\n if (!found) {\n throw new MtArgumentError(`Could not find a folder ${folder}`)\n }\n\n folder = found as tl.RawDialogFilter\n }\n\n const filter: tl.RawDialogFilter = {\n ...folder,\n ...modification,\n }\n\n const r = await client.call({\n _: 'messages.updateDialogFilter',\n id: folder.id,\n filter,\n })\n\n assertTrue('messages.updateDialogFilter', r)\n\n return filter\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"find-folder.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/dialogs/find-folder.ts"],"names":[],"mappings":";;;AAEA,wDAA0D;AAE1D,qDAA6C;AAE7C;;;;;;;;GAQG;AACI,KAAK,UAAU,UAAU,CAC5B,MAAuB,EACvB,MAOC;IAED,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;QAC9C,MAAM,IAAI,2BAAe,CAAC,yCAAyC,CAAC,CAAA;KACvE;IAED,MAAM,OAAO,GAAG,MAAM,IAAA,2BAAU,EAAC,MAAM,CAAC,CAAA;IAExC,OAAO,CACF,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE;QACzB,IAAI,EAAE,CAAC,CAAC,KAAK,qBAAqB;YAAE,OAAO,KAAK,CAAA;QAChD,IAAI,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE;YAAE,OAAO,KAAK,CAAA;QAClD,IAAI,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK;YAAE,OAAO,KAAK,CAAA;QAC3D,IAAI,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,QAAQ,KAAK,MAAM,CAAC,KAAK;YAAE,OAAO,KAAK,CAAA;QAE9D,OAAO,IAAI,CAAA;IACf,CAAC,CAAwB,IAAI,IAAI,CACpC,CAAA;AACL,CAAC;AA3BD,gCA2BC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MtArgumentError } from '../../../types/errors.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { getFolders } from './get-folders.js'\n\n/**\n * Find a folder by its parameter.\n *\n * > **Note**: Searching by title and/or emoji might not be\n * > accurate since you can set the same title and/or emoji\n * > to multiple folders.\n *\n * @param params Search parameters. At least one must be set.\n */\nexport async function findFolder(\n client: ITelegramClient,\n params: {\n /** Folder title */\n title?: string\n /** Folder emoji */\n emoji?: string\n /** Folder ID */\n id?: number\n },\n): Promise<tl.RawDialogFilter | null> {\n if (!params.title && !params.emoji && !params.id) {\n throw new MtArgumentError('One of search parameters must be passed')\n }\n\n const folders = await getFolders(client)\n\n return (\n (folders.filters.find((it) => {\n if (it._ === 'dialogFilterDefault') return false\n if (params.id && it.id !== params.id) return false\n if (params.title && it.title !== params.title) return false\n if (params.emoji && it.emoticon !== params.emoji) return false\n\n return true\n }) as tl.RawDialogFilter) ?? null\n )\n}\n"]}
1
+ {"version":3,"file":"find-folder.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/dialogs/find-folder.ts"],"names":[],"mappings":";;;AAEA,wDAA0D;AAE1D,qDAA6C;AAE7C;;;;;;;;GAQG;AACI,KAAK,UAAU,UAAU,CAC5B,MAAuB,EACvB,MAOC;IAED,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QAC/C,MAAM,IAAI,2BAAe,CAAC,yCAAyC,CAAC,CAAA;IACxE,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,IAAA,2BAAU,EAAC,MAAM,CAAC,CAAA;IAExC,OAAO,CACF,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE;QACzB,IAAI,EAAE,CAAC,CAAC,KAAK,qBAAqB;YAAE,OAAO,KAAK,CAAA;QAChD,IAAI,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE;YAAE,OAAO,KAAK,CAAA;QAClD,IAAI,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK;YAAE,OAAO,KAAK,CAAA;QAC3D,IAAI,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,QAAQ,KAAK,MAAM,CAAC,KAAK;YAAE,OAAO,KAAK,CAAA;QAE9D,OAAO,IAAI,CAAA;IACf,CAAC,CAAwB,IAAI,IAAI,CACpC,CAAA;AACL,CAAC;AA3BD,gCA2BC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MtArgumentError } from '../../../types/errors.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { getFolders } from './get-folders.js'\n\n/**\n * Find a folder by its parameter.\n *\n * > **Note**: Searching by title and/or emoji might not be\n * > accurate since you can set the same title and/or emoji\n * > to multiple folders.\n *\n * @param params Search parameters. At least one must be set.\n */\nexport async function findFolder(\n client: ITelegramClient,\n params: {\n /** Folder title */\n title?: string\n /** Folder emoji */\n emoji?: string\n /** Folder ID */\n id?: number\n },\n): Promise<tl.RawDialogFilter | null> {\n if (!params.title && !params.emoji && !params.id) {\n throw new MtArgumentError('One of search parameters must be passed')\n }\n\n const folders = await getFolders(client)\n\n return (\n (folders.filters.find((it) => {\n if (it._ === 'dialogFilterDefault') return false\n if (params.id && it.id !== params.id) return false\n if (params.title && it.title !== params.title) return false\n if (params.emoji && it.emoticon !== params.emoji) return false\n\n return true\n }) as tl.RawDialogFilter) ?? null\n )\n}\n"]}
@@ -1,6 +1,9 @@
1
1
  import { tl } from '@mtcute/tl';
2
2
  import { ITelegramClient } from '../../client.types.js';
3
+ import { InputDialogFolder } from '../../types/index.js';
3
4
  /**
4
5
  * Get list of folders.
5
6
  */
6
7
  export declare function getFolders(client: ITelegramClient): Promise<tl.messages.RawDialogFilters>;
8
+ /** @internal */
9
+ export declare function _normalizeInputFolder(client: ITelegramClient, folder: InputDialogFolder): Promise<tl.TypeDialogFilter>;
@@ -1 +1 @@
1
- {"version":3,"file":"get-folders.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/dialogs/get-folders.ts"],"names":[],"mappings":";;;AAEA,wDAA0D;AAI1D;;GAEG;AACI,KAAK,UAAU,UAAU,CAAC,MAAuB;IACpD,OAAO,MAAM,CAAC,IAAI,CAAC;QACf,CAAC,EAAE,2BAA2B;KACjC,CAAC,CAAA;AACN,CAAC;AAJD,gCAIC;AAED,gBAAgB;AACT,KAAK,UAAU,qBAAqB,CACvC,MAAuB,EACvB,MAAyB;IAEzB,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QAC1D,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,CAAA;QACxC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE;YACtC,IAAI,EAAE,CAAC,CAAC,KAAK,qBAAqB,EAAE;gBAChC,OAAO,MAAM,KAAK,CAAC,CAAA;aACtB;YAED,OAAO,EAAE,CAAC,EAAE,KAAK,MAAM,IAAI,EAAE,CAAC,KAAK,KAAK,MAAM,CAAA;QAClD,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,KAAK,EAAE;YACR,MAAM,IAAI,2BAAe,CAAC,yBAAyB,MAAM,EAAE,CAAC,CAAA;SAC/D;QAED,OAAO,KAAK,CAAA;KACf;IAED,OAAO,MAAM,CAAA;AACjB,CAAC;AAtBD,sDAsBC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MtArgumentError } from '../../../types/errors.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputDialogFolder } from '../../types/index.js'\n\n/**\n * Get list of folders.\n */\nexport async function getFolders(client: ITelegramClient): Promise<tl.messages.RawDialogFilters> {\n return client.call({\n _: 'messages.getDialogFilters',\n })\n}\n\n/** @internal */\nexport async function _normalizeInputFolder(\n client: ITelegramClient,\n folder: InputDialogFolder,\n): Promise<tl.TypeDialogFilter> {\n if (typeof folder === 'string' || typeof folder === 'number') {\n const folders = await getFolders(client)\n const found = folders.filters.find((it) => {\n if (it._ === 'dialogFilterDefault') {\n return folder === 0\n }\n\n return it.id === folder || it.title === folder\n })\n\n if (!found) {\n throw new MtArgumentError(`Could not find folder ${folder}`)\n }\n\n return found\n }\n\n return folder\n}\n"]}
1
+ {"version":3,"file":"get-folders.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/dialogs/get-folders.ts"],"names":[],"mappings":";;;AAEA,wDAA0D;AAI1D;;GAEG;AACI,KAAK,UAAU,UAAU,CAAC,MAAuB;IACpD,OAAO,MAAM,CAAC,IAAI,CAAC;QACf,CAAC,EAAE,2BAA2B;KACjC,CAAC,CAAA;AACN,CAAC;AAJD,gCAIC;AAED,gBAAgB;AACT,KAAK,UAAU,qBAAqB,CACvC,MAAuB,EACvB,MAAyB;IAEzB,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC3D,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,CAAA;QACxC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE;YACtC,IAAI,EAAE,CAAC,CAAC,KAAK,qBAAqB,EAAE,CAAC;gBACjC,OAAO,MAAM,KAAK,CAAC,CAAA;YACvB,CAAC;YAED,OAAO,EAAE,CAAC,EAAE,KAAK,MAAM,IAAI,EAAE,CAAC,KAAK,KAAK,MAAM,CAAA;QAClD,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,MAAM,IAAI,2BAAe,CAAC,yBAAyB,MAAM,EAAE,CAAC,CAAA;QAChE,CAAC;QAED,OAAO,KAAK,CAAA;IAChB,CAAC;IAED,OAAO,MAAM,CAAA;AACjB,CAAC;AAtBD,sDAsBC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MtArgumentError } from '../../../types/errors.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { InputDialogFolder } from '../../types/index.js'\n\n/**\n * Get list of folders.\n */\nexport async function getFolders(client: ITelegramClient): Promise<tl.messages.RawDialogFilters> {\n return client.call({\n _: 'messages.getDialogFilters',\n })\n}\n\n/** @internal */\nexport async function _normalizeInputFolder(\n client: ITelegramClient,\n folder: InputDialogFolder,\n): Promise<tl.TypeDialogFilter> {\n if (typeof folder === 'string' || typeof folder === 'number') {\n const folders = await getFolders(client)\n const found = folders.filters.find((it) => {\n if (it._ === 'dialogFilterDefault') {\n return folder === 0\n }\n\n return it.id === folder || it.title === folder\n })\n\n if (!found) {\n throw new MtArgumentError(`Could not find folder ${folder}`)\n }\n\n return found\n }\n\n return folder\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"iter-dialogs.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/dialogs/iter-dialogs.ts"],"names":[],"mappings":"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","sourcesContent":["import Long from 'long'\n\nimport { tl } from '@mtcute/tl'\n\nimport { MtUnsupportedError } from '../../../types/errors.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { Dialog, InputDialogFolder } from '../../types/index.js'\nimport { normalizeDate } from '../../utils/misc-utils.js'\nimport { _normalizeInputFolder } from './get-folders.js'\n\n/**\n * Iterate over dialogs.\n *\n * Note that due to Telegram API limitations,\n * ordering here can only be anti-chronological\n * (i.e. newest - first), and draft update date\n * is not considered when sorting.\n *\n * @param params Fetch parameters\n */\nexport async function* iterDialogs(\n client: ITelegramClient,\n params?: {\n /**\n * Offset message date used as an anchor for pagination.\n */\n offsetDate?: Date | number\n\n /**\n * Offset message ID used as an anchor for pagination\n */\n offsetId?: number\n\n /**\n * Offset peer used as an anchor for pagination\n */\n offsetPeer?: tl.TypeInputPeer\n\n /**\n * Limits the number of dialogs to be received.\n *\n * @default `Infinity`, i.e. all dialogs are fetched\n */\n limit?: number\n\n /**\n * Chunk size which will be passed to `messages.getDialogs`.\n * You shouldn't usually care about this.\n *\n * @default 100.\n */\n chunkSize?: number\n\n /**\n * How to handle pinned dialogs?\n *\n * Whether to `include` them at the start of the list,\n * `exclude` them at all, or `only` return pinned dialogs.\n *\n * Additionally, for folders you can specify\n * `keep`, which will return pinned dialogs\n * ordered by date among other non-pinned dialogs.\n *\n * > **Note**: When using `include` mode with folders,\n * > pinned dialogs will only be fetched if all offset\n * > parameters are unset.\n *\n * @default `include`.\n */\n pinned?: 'include' | 'exclude' | 'only' | 'keep'\n\n /**\n * How to handle archived chats?\n *\n * Whether to `keep` them among other dialogs,\n * `exclude` them from the list, or `only`\n * return archived dialogs\n *\n * Ignored for folders, since folders\n * themselves contain information about archived chats.\n *\n * > **Note**: when `pinned=only`, `archived=keep` will act as `only`\n * > because of Telegram API limitations.\n *\n * @default `exclude`\n */\n archived?: 'keep' | 'exclude' | 'only'\n\n /**\n * Folder from which the dialogs will be fetched.\n *\n * You can pass folder object, id or title\n *\n * Note that passing anything except object will\n * cause the list of the folders to be fetched,\n * and passing a title may fetch from\n * a wrong folder if you have multiple with the same title.\n *\n * Also note that fetching dialogs in a folder is\n * *orders of magnitudes* slower than normal because\n * of Telegram API limitations - we have to fetch all dialogs\n * and filter the ones we need manually. If possible,\n * use {@link Dialog.filterFolder} instead.\n *\n * When a folder with given ID or title is not found,\n * {@link MtArgumentError} is thrown\n *\n * @default <empty> (fetches from \"All\" folder)\n */\n folder?: InputDialogFolder\n\n /**\n * Additional filtering for the dialogs.\n *\n * If `folder` is not provided, this filter is used instead.\n * If `folder` is provided, fields from this object are used\n * to override filters inside the folder.\n */\n filter?: Partial<Omit<tl.RawDialogFilter, '_' | 'id' | 'title'>>\n },\n): AsyncIterableIterator<Dialog> {\n if (!params) params = {}\n\n const { limit = Infinity, chunkSize = 100, folder, filter, pinned = 'include' } = params\n\n let { offsetId = 0, offsetPeer = { _: 'inputPeerEmpty' }, archived = 'exclude' } = params\n\n let offsetDate = normalizeDate(params.offsetDate) ?? 0\n\n let localFilters_: tl.TypeDialogFilter | undefined\n\n if (folder) {\n localFilters_ = await _normalizeInputFolder(client, folder)\n }\n\n if (filter) {\n if (localFilters_ && localFilters_._ !== 'dialogFilterDefault') {\n localFilters_ = {\n ...localFilters_,\n ...filter,\n }\n } else {\n localFilters_ = {\n _: 'dialogFilter',\n id: 0,\n title: '',\n pinnedPeers: [],\n includePeers: [],\n excludePeers: [],\n ...params.filter,\n }\n }\n }\n\n if (localFilters_?._ === 'dialogFilterDefault') {\n localFilters_ = undefined\n }\n\n if (localFilters_?._ === 'dialogFilterChatlist') {\n throw new MtUnsupportedError('Shared chat folders are not supported yet')\n }\n\n const localFilters = localFilters_\n\n if (localFilters) {\n archived = localFilters.excludeArchived ? 'exclude' : 'keep'\n }\n\n const fetchPinnedDialogsFromFolder = async (): Promise<tl.messages.RawPeerDialogs | null> => {\n if (!localFilters || !localFilters.pinnedPeers.length) {\n return null\n }\n const res = await client.call({\n _: 'messages.getPeerDialogs',\n peers: localFilters.pinnedPeers.map((peer) => ({\n _: 'inputDialogPeer' as const,\n peer,\n })),\n })\n\n res.dialogs.forEach((dialog: tl.Mutable<tl.TypeDialog>) => (dialog.pinned = true))\n\n return res\n }\n\n if (pinned === 'only') {\n let res\n\n if (localFilters) {\n res = await fetchPinnedDialogsFromFolder()\n } else {\n res = await client.call({\n _: 'messages.getPinnedDialogs',\n folderId: archived === 'exclude' ? 0 : 1,\n })\n }\n if (res) yield* Dialog.parseTlDialogs(res, limit)\n\n return\n }\n\n let current = 0\n\n if (\n localFilters?.pinnedPeers.length &&\n pinned === 'include' &&\n offsetId === 0 &&\n offsetDate === 0 &&\n offsetPeer._ === 'inputPeerEmpty'\n ) {\n const res = await fetchPinnedDialogsFromFolder()\n\n if (res) {\n const dialogs = Dialog.parseTlDialogs(res, limit)\n\n for (const d of dialogs) {\n yield d\n if (++current >= limit) return\n }\n }\n }\n // if pinned is `only`, this wouldn't be reached\n // if pinned is `exclude`, we want to exclude them\n // if pinned is `include`, we already yielded them, so we also want to exclude them\n // if pinned is `keep`, we want to keep them\n const filterFolder = localFilters ? Dialog.filterFolder(localFilters, pinned !== 'keep') : undefined\n\n let folderId\n\n if (archived === 'keep') {\n folderId = undefined\n } else if (archived === 'only') {\n folderId = 1\n } else {\n folderId = 0\n }\n\n for (;;) {\n const dialogs = Dialog.parseTlDialogs(\n await client.call({\n _: 'messages.getDialogs',\n excludePinned: params.pinned === 'exclude',\n folderId,\n offsetDate,\n offsetId,\n offsetPeer,\n limit: filterFolder ? chunkSize : Math.min(limit - current, chunkSize),\n hash: Long.ZERO,\n }),\n )\n if (!dialogs.length) return\n\n const last = dialogs[dialogs.length - 1]\n offsetPeer = last.chat.inputPeer\n offsetId = last.raw.topMessage\n offsetDate = last.lastMessage.raw.date\n\n for (const d of dialogs) {\n if (filterFolder && !filterFolder(d)) continue\n\n yield d\n if (++current >= limit) return\n }\n }\n}\n"]}
1
+ {"version":3,"file":"iter-dialogs.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/dialogs/iter-dialogs.ts"],"names":[],"mappings":"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","sourcesContent":["import Long from 'long'\n\nimport { tl } from '@mtcute/tl'\n\nimport { MtUnsupportedError } from '../../../types/errors.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { Dialog, InputDialogFolder } from '../../types/index.js'\nimport { normalizeDate } from '../../utils/misc-utils.js'\nimport { _normalizeInputFolder } from './get-folders.js'\n\n/**\n * Iterate over dialogs.\n *\n * Note that due to Telegram API limitations,\n * ordering here can only be anti-chronological\n * (i.e. newest - first), and draft update date\n * is not considered when sorting.\n *\n * @param params Fetch parameters\n */\nexport async function* iterDialogs(\n client: ITelegramClient,\n params?: {\n /**\n * Offset message date used as an anchor for pagination.\n */\n offsetDate?: Date | number\n\n /**\n * Offset message ID used as an anchor for pagination\n */\n offsetId?: number\n\n /**\n * Offset peer used as an anchor for pagination\n */\n offsetPeer?: tl.TypeInputPeer\n\n /**\n * Limits the number of dialogs to be received.\n *\n * @default `Infinity`, i.e. all dialogs are fetched\n */\n limit?: number\n\n /**\n * Chunk size which will be passed to `messages.getDialogs`.\n * You shouldn't usually care about this.\n *\n * @default 100.\n */\n chunkSize?: number\n\n /**\n * How to handle pinned dialogs?\n *\n * Whether to `include` them at the start of the list,\n * `exclude` them at all, or `only` return pinned dialogs.\n *\n * Additionally, for folders you can specify\n * `keep`, which will return pinned dialogs\n * ordered by date among other non-pinned dialogs.\n *\n * > **Note**: When using `include` mode with folders,\n * > pinned dialogs will only be fetched if all offset\n * > parameters are unset.\n *\n * @default `include`.\n */\n pinned?: 'include' | 'exclude' | 'only' | 'keep'\n\n /**\n * How to handle archived chats?\n *\n * Whether to `keep` them among other dialogs,\n * `exclude` them from the list, or `only`\n * return archived dialogs\n *\n * Ignored for folders, since folders\n * themselves contain information about archived chats.\n *\n * > **Note**: when `pinned=only`, `archived=keep` will act as `only`\n * > because of Telegram API limitations.\n *\n * @default `exclude`\n */\n archived?: 'keep' | 'exclude' | 'only'\n\n /**\n * Folder from which the dialogs will be fetched.\n *\n * You can pass folder object, id or title\n *\n * Note that passing anything except object will\n * cause the list of the folders to be fetched,\n * and passing a title may fetch from\n * a wrong folder if you have multiple with the same title.\n *\n * Also note that fetching dialogs in a folder is\n * *orders of magnitudes* slower than normal because\n * of Telegram API limitations - we have to fetch all dialogs\n * and filter the ones we need manually. If possible,\n * use {@link Dialog.filterFolder} instead.\n *\n * When a folder with given ID or title is not found,\n * {@link MtArgumentError} is thrown\n *\n * @default <empty> (fetches from \"All\" folder)\n */\n folder?: InputDialogFolder\n\n /**\n * Additional filtering for the dialogs.\n *\n * If `folder` is not provided, this filter is used instead.\n * If `folder` is provided, fields from this object are used\n * to override filters inside the folder.\n */\n filter?: Partial<Omit<tl.RawDialogFilter, '_' | 'id' | 'title'>>\n },\n): AsyncIterableIterator<Dialog> {\n if (!params) params = {}\n\n const { limit = Infinity, chunkSize = 100, folder, filter, pinned = 'include' } = params\n\n let { offsetId = 0, offsetPeer = { _: 'inputPeerEmpty' }, archived = 'exclude' } = params\n\n let offsetDate = normalizeDate(params.offsetDate) ?? 0\n\n let localFilters_: tl.TypeDialogFilter | undefined\n\n if (folder) {\n localFilters_ = await _normalizeInputFolder(client, folder)\n }\n\n if (filter) {\n if (localFilters_ && localFilters_._ !== 'dialogFilterDefault') {\n localFilters_ = {\n ...localFilters_,\n ...filter,\n }\n } else {\n localFilters_ = {\n _: 'dialogFilter',\n id: 0,\n title: '',\n pinnedPeers: [],\n includePeers: [],\n excludePeers: [],\n ...params.filter,\n }\n }\n }\n\n if (localFilters_?._ === 'dialogFilterDefault') {\n localFilters_ = undefined\n }\n\n if (localFilters_?._ === 'dialogFilterChatlist') {\n throw new MtUnsupportedError('Shared chat folders are not supported yet')\n }\n\n const localFilters = localFilters_\n\n if (localFilters) {\n archived = localFilters.excludeArchived ? 'exclude' : 'keep'\n }\n\n const fetchPinnedDialogsFromFolder = async (): Promise<tl.messages.RawPeerDialogs | null> => {\n if (!localFilters || !localFilters.pinnedPeers.length) {\n return null\n }\n const res = await client.call({\n _: 'messages.getPeerDialogs',\n peers: localFilters.pinnedPeers.map((peer) => ({\n _: 'inputDialogPeer' as const,\n peer,\n })),\n })\n\n res.dialogs.forEach((dialog: tl.Mutable<tl.TypeDialog>) => (dialog.pinned = true))\n\n return res\n }\n\n if (pinned === 'only') {\n let res\n\n if (localFilters) {\n res = await fetchPinnedDialogsFromFolder()\n } else {\n res = await client.call({\n _: 'messages.getPinnedDialogs',\n folderId: archived === 'exclude' ? 0 : 1,\n })\n }\n if (res) yield* Dialog.parseTlDialogs(res, limit)\n\n return\n }\n\n let current = 0\n\n if (\n localFilters?.pinnedPeers.length &&\n pinned === 'include' &&\n offsetId === 0 &&\n offsetDate === 0 &&\n offsetPeer._ === 'inputPeerEmpty'\n ) {\n const res = await fetchPinnedDialogsFromFolder()\n\n if (res) {\n const dialogs = Dialog.parseTlDialogs(res, limit)\n\n for (const d of dialogs) {\n yield d\n if (++current >= limit) return\n }\n }\n }\n // if pinned is `only`, this wouldn't be reached\n // if pinned is `exclude`, we want to exclude them\n // if pinned is `include`, we already yielded them, so we also want to exclude them\n // if pinned is `keep`, we want to keep them\n const filterFolder = localFilters ? Dialog.filterFolder(localFilters, pinned !== 'keep') : undefined\n\n let folderId\n\n if (archived === 'keep') {\n folderId = undefined\n } else if (archived === 'only') {\n folderId = 1\n } else {\n folderId = 0\n }\n\n for (;;) {\n const dialogs = Dialog.parseTlDialogs(\n await client.call({\n _: 'messages.getDialogs',\n excludePinned: params.pinned === 'exclude',\n folderId,\n offsetDate,\n offsetId,\n offsetPeer,\n limit: filterFolder ? chunkSize : Math.min(limit - current, chunkSize),\n hash: Long.ZERO,\n }),\n )\n if (!dialogs.length) return\n\n const last = dialogs[dialogs.length - 1]\n offsetPeer = last.chat.inputPeer\n offsetId = last.raw.topMessage\n offsetDate = last.lastMessage.raw.date\n\n for (const d of dialogs) {\n if (filterFolder && !filterFolder(d)) continue\n\n yield d\n if (++current >= limit) return\n }\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"download-buffer.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/files/download-buffer.ts"],"names":[],"mappings":";;;AAAA,oEAA8D;AAE9D,mDAAiG;AACjG,iEAA2D;AAE3D;;;;;;;GAOG;AACI,KAAK,UAAU,gBAAgB,CAClC,MAAuB,EACvB,QAA8B,EAC9B,MAA+B;IAE/B,IAAI,QAAQ,YAAY,uBAAY,IAAI,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;QAC3E,OAAO,QAAQ,CAAC,QAAQ,CAAA;KAC3B;IAED,MAAM,MAAM,GAAG,EAAE,CAAA;IAEjB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAA,yCAAkB,EAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE;QACpE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;KACrB;IAED,OAAO,IAAA,+BAAa,EAAC,MAAM,CAAC,CAAA;AAChC,CAAC;AAhBD,4CAgBC","sourcesContent":["import { concatBuffers } from '../../../utils/buffer-utils.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { FileDownloadLocation, FileDownloadParameters, FileLocation } from '../../types/index.js'\nimport { downloadAsIterable } from './download-iterable.js'\n\n/**\n * Download a file and return its contents as a Buffer.\n *\n * > **Note**: This method _will_ download the entire file\n * > into memory at once. This might cause an issue, so use wisely!\n *\n * @param params File download parameters\n */\nexport async function downloadAsBuffer(\n client: ITelegramClient,\n location: FileDownloadLocation,\n params?: FileDownloadParameters,\n): Promise<Uint8Array> {\n if (location instanceof FileLocation && ArrayBuffer.isView(location.location)) {\n return location.location\n }\n\n const chunks = []\n\n for await (const chunk of downloadAsIterable(client, location, params)) {\n chunks.push(chunk)\n }\n\n return concatBuffers(chunks)\n}\n"]}
1
+ {"version":3,"file":"download-buffer.js","sourceRoot":"","sources":["../../../../../src/highlevel/methods/files/download-buffer.ts"],"names":[],"mappings":";;;AAAA,oEAA8D;AAE9D,mDAAiG;AACjG,iEAA2D;AAE3D;;;;;;;GAOG;AACI,KAAK,UAAU,gBAAgB,CAClC,MAAuB,EACvB,QAA8B,EAC9B,MAA+B;IAE/B,IAAI,QAAQ,YAAY,uBAAY,IAAI,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5E,OAAO,QAAQ,CAAC,QAAQ,CAAA;IAC5B,CAAC;IAED,MAAM,MAAM,GAAG,EAAE,CAAA;IAEjB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAA,yCAAkB,EAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC;QACrE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACtB,CAAC;IAED,OAAO,IAAA,+BAAa,EAAC,MAAM,CAAC,CAAA;AAChC,CAAC;AAhBD,4CAgBC","sourcesContent":["import { concatBuffers } from '../../../utils/buffer-utils.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { FileDownloadLocation, FileDownloadParameters, FileLocation } from '../../types/index.js'\nimport { downloadAsIterable } from './download-iterable.js'\n\n/**\n * Download a file and return its contents as a Buffer.\n *\n * > **Note**: This method _will_ download the entire file\n * > into memory at once. This might cause an issue, so use wisely!\n *\n * @param params File download parameters\n */\nexport async function downloadAsBuffer(\n client: ITelegramClient,\n location: FileDownloadLocation,\n params?: FileDownloadParameters,\n): Promise<Uint8Array> {\n if (location instanceof FileLocation && ArrayBuffer.isView(location.location)) {\n return location.location\n }\n\n const chunks = []\n\n for await (const chunk of downloadAsIterable(client, location, params)) {\n chunks.push(chunk)\n }\n\n return concatBuffers(chunks)\n}\n"]}
@@ -100,7 +100,7 @@ async function* downloadAsIterable(client, input, params) {
100
100
  }, {
101
101
  dcId,
102
102
  kind: connectionKind,
103
- maxRetryCount: Infinity,
103
+ maxRetryCount: Infinity, // retry until explicitly aborted (or finished)
104
104
  abortSignal,
105
105
  });
106
106
  }