@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":"message.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/messages/message.ts"],"names":[],"mappings":"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","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MtArgumentError } from '../../../types/errors.js'\nimport { assertNever } from '../../../types/utils.js'\nimport { getMarkedPeerId, toggleChannelIdMark } from '../../../utils/peer-utils.js'\nimport { assertTypeIsNot } from '../../../utils/type-assertions.js'\nimport { makeInspectable } from '../../utils/index.js'\nimport { memoizeGetters } from '../../utils/memoize.js'\nimport { BotKeyboard, ReplyMarkup } from '../bots/keyboards/index.js'\nimport { TextWithEntities } from '../misc/index.js'\nimport { Chat } from '../peers/chat.js'\nimport { parsePeer, Peer } from '../peers/peer.js'\nimport { PeersIndex } from '../peers/peers-index.js'\nimport { User } from '../peers/user.js'\nimport { _messageActionFromTl, MessageAction } from './message-action.js'\nimport { MessageEntity } from './message-entity.js'\nimport { MessageForwardInfo } from './message-forward.js'\nimport { _messageMediaFromTl, MessageMedia } from './message-media.js'\nimport { MessageReactions } from './message-reactions.js'\nimport { MessageRepliesInfo } from './message-replies.js'\nimport { RepliedMessageInfo } from './replied-message.js'\n\n/**\n * A Telegram message.\n */\nexport class Message {\n /**\n * Raw TL object.\n */\n readonly raw: tl.RawMessage | tl.RawMessageService\n\n constructor(\n raw: tl.TypeMessage,\n readonly _peers: PeersIndex,\n /**\n * Whether the message is scheduled.\n * If it is, then its {@link date} is set to future.\n */\n readonly isScheduled = false,\n ) {\n assertTypeIsNot('Message#ctor', raw, 'messageEmpty')\n\n this.raw = raw\n }\n\n /** Unique message identifier inside this chat */\n get id(): number {\n return this.raw.id\n }\n\n /**\n * For channel posts, number of views\n *\n * `null` for service messages and non-post messages.\n */\n get views(): number | null {\n return this.raw._ === 'message' ? this.raw.views ?? null : null\n }\n\n /**\n * Whether the message is incoming or outgoing:\n * - Messages received from other chats are incoming (`outgoing = false`)\n * - Messages sent by you to other chats are outgoing (`outgoing = true`)\n * - Messages to yourself (i.e. *Saved Messages*) are incoming (`outgoing = false`)\n */\n get isOutgoing(): boolean {\n return this.raw.out!\n }\n\n /**\n * Whether this message is a service message\n */\n get isService(): boolean {\n return this.raw._ === 'messageService'\n }\n\n /** Whether this message has content protection (i.e. disabled forwards) */\n get isContentProtected(): boolean {\n return this.raw._ === 'message' && this.raw.noforwards!\n }\n\n /**\n * Multiple media messages with the same grouped ID\n * indicate an album or media group\n *\n * `null` for service messages and non-grouped messages\n */\n get groupedId(): tl.Long | null {\n return this.raw._ === 'message' ? this.raw.groupedId ?? null : null\n }\n\n /**\n * Same as {@link groupedId}, but is globally unique across chats.\n */\n get groupedIdUnique(): string | null {\n if (!(this.raw._ === 'message' && this.raw.groupedId !== undefined)) return null\n\n return `${this.raw.groupedId.low}|${this.raw.groupedId.high}|${getMarkedPeerId(this.raw.peerId)}`\n }\n\n /**\n * Message sender.\n *\n * Usually is a {@link User}, but can be a {@link Chat}\n * in case the message was sent by an anonymous admin, anonymous premium user,\n * or if the message is a forwarded channel post.\n *\n * If the message was sent by an anonymous admin,\n * sender will equal to {@link chat}.\n *\n * If the message is a forwarded channel post,\n * sender is the channel itself.\n */\n get sender(): Peer {\n const from = this.raw.fromId\n\n if (!from) {\n if (this.raw.peerId._ === 'peerUser') {\n return new User(this._peers.user(this.raw.peerId.userId))\n }\n\n // anon admin, return the chat\n return this.chat\n }\n\n return parsePeer(from, this._peers)\n }\n\n /**\n * Conversation the message belongs to\n */\n get chat(): Chat {\n return Chat._parseFromMessage(this.raw, this._peers)\n }\n\n /**\n * Date the message was sent\n */\n get date(): Date {\n return new Date(this.raw.date * 1000)\n }\n\n /**\n * If this message is a forward, contains info about it.\n */\n get forward(): MessageForwardInfo | null {\n if (this.raw._ !== 'message' || !this.raw.fwdFrom) {\n return null\n }\n\n return new MessageForwardInfo(this.raw.fwdFrom, this._peers)\n }\n\n /**\n * Whether the message is a channel post that was\n * automatically forwarded to the connected discussion group\n */\n get isAutomaticForward(): boolean {\n if (this.raw._ === 'messageService' || !this.raw.fwdFrom) return false\n\n const fwd = this.raw.fwdFrom\n\n return Boolean(\n this.chat.chatType === 'supergroup' &&\n fwd.savedFromMsgId &&\n fwd.savedFromPeer?._ === 'peerChannel' &&\n getMarkedPeerId(fwd.savedFromPeer) !== getMarkedPeerId(this.raw.peerId),\n )\n }\n\n /**\n * Information about comments (for channels) or replies (for groups)\n */\n get replies(): MessageRepliesInfo | null {\n if (this.raw._ !== 'message' || !this.raw.replies) return null\n\n return new MessageRepliesInfo(this.raw.replies, this._peers)\n }\n\n /**\n * For replies, information about the that is being replied to.\n *\n * Mutually exclusive with {@link replyToStory}\n */\n get replyToMessage(): RepliedMessageInfo | null {\n if (this.raw.replyTo?._ !== 'messageReplyHeader') return null\n\n return new RepliedMessageInfo(this.raw.replyTo, this._peers)\n }\n\n /**\n * For replies, information about the story that is being replied to\n *\n * Mutually exclusive with {@link replyToMessage}\n */\n get replyToStory(): tl.RawMessageReplyStoryHeader | null {\n if (this.raw.replyTo?._ !== 'messageReplyStoryHeader') return null\n\n return this.raw.replyTo\n }\n\n /** Whether this message is in a forum topic */\n get isTopicMessage(): boolean {\n if (this.raw.replyTo?._ !== 'messageReplyHeader') return false\n\n return this.raw.replyTo.forumTopic!\n }\n\n /**\n * Whether this message contains mention of the current user\n */\n get isMention(): boolean {\n return this.raw.mentioned!\n }\n\n /**\n * If this message is generated from an inline query,\n * information about the bot which generated it\n */\n get viaBot(): User | null {\n if (this.raw._ === 'messageService' || !this.raw.viaBotId) {\n return null\n }\n\n return new User(this._peers.user(this.raw.viaBotId))\n }\n\n /**\n * Message text or media caption.\n *\n * Empty string for service messages\n * (you should handle i18n yourself)\n */\n get text(): string {\n return this.raw._ === 'messageService' ? '' : this.raw.message\n }\n\n /**\n * Message text/caption entities (may be empty)\n */\n get entities(): ReadonlyArray<MessageEntity> {\n const entities: MessageEntity[] = []\n\n if (this.raw._ === 'message' && this.raw.entities?.length) {\n for (const ent of this.raw.entities) {\n entities.push(new MessageEntity(ent, this.raw.message))\n }\n }\n\n return entities\n }\n\n get textWithEntities(): TextWithEntities {\n if (this.raw._ === 'messageService') return { text: '', entities: [] }\n\n return {\n text: this.raw.message,\n entities: this.raw.entities,\n }\n }\n\n /**\n * Message action. `null` for non-service messages\n * or for unsupported events.\n *\n * For unsupported events, use `.raw.action` directly.\n */\n get action(): MessageAction | null {\n if (this.raw._ === 'message') {\n return null\n }\n\n return _messageActionFromTl.call(this, this.raw.action)\n }\n\n /**\n * Message media. `null` for text-only and service messages\n * and for unsupported media types.\n *\n * For unsupported media types, use `.raw.media` directly.\n */\n get media(): MessageMedia {\n if (this.raw._ === 'messageService' || !this.raw.media || this.raw.media._ === 'messageMediaEmpty') {\n return null\n }\n\n return _messageMediaFromTl(this._peers, this.raw.media)\n }\n\n /**\n * Whether this is a premium media\n * (e.g. >2gb file or fullscreen sticker)\n * that was forwarded without author by a non-premium user\n */\n get isForwardedPremiumMedia(): boolean {\n return this.raw._ === 'message' && this.raw.media?._ === 'messageMediaDocument' && this.raw.media.nopremium!\n }\n\n /**\n * TTL period of the message, in seconds.\n */\n get ttlPeriod(): number | null {\n return this.raw.ttlPeriod ?? null\n }\n\n /**\n * Reply markup provided with this message, if any.\n */\n get markup(): ReplyMarkup | null {\n if (this.raw._ === 'messageService' || !this.raw.replyMarkup) {\n return null\n }\n\n const rm = this.raw.replyMarkup\n\n switch (rm._) {\n case 'replyKeyboardHide':\n return {\n type: 'reply_hide',\n selective: rm.selective,\n }\n case 'replyKeyboardForceReply':\n return {\n type: 'force_reply',\n singleUse: rm.singleUse,\n selective: rm.selective,\n }\n case 'replyKeyboardMarkup':\n return {\n type: 'reply',\n resize: rm.resize,\n singleUse: rm.singleUse,\n selective: rm.selective,\n buttons: BotKeyboard._rowsTo2d(rm.rows),\n }\n case 'replyInlineMarkup':\n return {\n type: 'inline',\n buttons: BotKeyboard._rowsTo2d(rm.rows),\n }\n default:\n assertNever(rm)\n }\n }\n\n /**\n * Whether this message can be forwarded\n *\n * `false` for service mesasges and private restricted chats/chanenls\n */\n get canBeForwarded(): boolean {\n return this.raw._ === 'message' && !this.raw.noforwards\n }\n\n get reactions(): MessageReactions | null {\n if (this.raw._ === 'messageService' || !this.raw.reactions) {\n return null\n }\n\n return new MessageReactions(this.raw.id, getMarkedPeerId(this.raw.peerId), this.raw.reactions, this._peers)\n }\n\n /**\n * Generated permalink to this message, only for groups and channels\n *\n * @throws MtArgumentError In case the chat does not support message links\n */\n get link(): string {\n if (this.chat.chatType === 'supergroup' || this.chat.chatType === 'channel') {\n if (this.chat.username) {\n return `https://t.me/${this.chat.username}/${this.id}`\n }\n\n return `https://t.me/c/${toggleChannelIdMark(this.chat.id)}/${this.id}`\n }\n\n throw new MtArgumentError(`Cannot generate message link for ${this.chat.chatType}`)\n }\n}\n\nmemoizeGetters(Message, [\n 'sender',\n 'chat',\n 'forward',\n 'replies',\n 'viaBot',\n 'entities',\n 'action',\n 'media',\n 'markup',\n 'reactions',\n])\nmakeInspectable(Message, ['isScheduled'], ['link'])\n"]}
1
+ {"version":3,"file":"message.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/messages/message.ts"],"names":[],"mappings":"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","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MtArgumentError } from '../../../types/errors.js'\nimport { assertNever } from '../../../types/utils.js'\nimport { getMarkedPeerId, toggleChannelIdMark } from '../../../utils/peer-utils.js'\nimport { assertTypeIsNot } from '../../../utils/type-assertions.js'\nimport { makeInspectable } from '../../utils/index.js'\nimport { memoizeGetters } from '../../utils/memoize.js'\nimport { BotKeyboard, ReplyMarkup } from '../bots/keyboards/index.js'\nimport { TextWithEntities } from '../misc/index.js'\nimport { Chat } from '../peers/chat.js'\nimport { parsePeer, Peer } from '../peers/peer.js'\nimport { PeersIndex } from '../peers/peers-index.js'\nimport { User } from '../peers/user.js'\nimport { _messageActionFromTl, MessageAction } from './message-action.js'\nimport { MessageEntity } from './message-entity.js'\nimport { MessageForwardInfo } from './message-forward.js'\nimport { _messageMediaFromTl, MessageMedia } from './message-media.js'\nimport { MessageReactions } from './message-reactions.js'\nimport { MessageRepliesInfo } from './message-replies.js'\nimport { RepliedMessageInfo } from './replied-message.js'\n\n/**\n * A Telegram message.\n */\nexport class Message {\n /**\n * Raw TL object.\n */\n readonly raw: tl.RawMessage | tl.RawMessageService\n\n constructor(\n raw: tl.TypeMessage,\n readonly _peers: PeersIndex,\n /**\n * Whether the message is scheduled.\n * If it is, then its {@link date} is set to future.\n */\n readonly isScheduled = false,\n ) {\n assertTypeIsNot('Message#ctor', raw, 'messageEmpty')\n\n this.raw = raw\n }\n\n /** Unique message identifier inside this chat */\n get id(): number {\n return this.raw.id\n }\n\n /**\n * For channel posts, number of views\n *\n * `null` for service messages and non-post messages.\n */\n get views(): number | null {\n return this.raw._ === 'message' ? this.raw.views ?? null : null\n }\n\n /**\n * For channel posts, number of forwards\n *\n * `null` for service messages and non-post messages, or\n * if the current user is not an admin in the channel\n */\n get forwards(): number | null {\n return this.raw._ === 'message' ? this.raw.forwards ?? null : null\n }\n\n /**\n * For channel posts with signatures enabled, name of the post author\n */\n get signature(): string | null {\n return this.raw._ === 'message' ? this.raw.postAuthor ?? null : null\n }\n\n /**\n * Whether the message is incoming or outgoing:\n * - Messages received from other chats are incoming (`outgoing = false`)\n * - Messages sent by you to other chats are outgoing (`outgoing = true`)\n * - Messages to yourself (i.e. *Saved Messages*) are incoming (`outgoing = false`)\n */\n get isOutgoing(): boolean {\n return this.raw.out!\n }\n\n /**\n * Whether this message is a service message\n */\n get isService(): boolean {\n return this.raw._ === 'messageService'\n }\n\n /** Whether this message has content protection (i.e. disabled forwards) */\n get isContentProtected(): boolean {\n return this.raw._ === 'message' && this.raw.noforwards!\n }\n\n /**\n * Whether the message was sent by an implicit action, for example,\n * as an away or a greeting business message, or as a scheduled message\n */\n get isFromOffline(): boolean {\n return this.raw._ === 'message' && this.raw.offline!\n }\n\n /** Whether this is a silent message (no notification triggered) */\n get isSilent(): boolean {\n return this.raw.silent!\n }\n\n /** Whether there are unread media attachments in this message */\n get hasUnreadMedia(): boolean {\n return this.raw.mediaUnread!\n }\n\n /** Whether this is a broadcast channel post */\n get isChannelPost(): boolean {\n return this.raw._ === 'message' && this.raw.post!\n }\n\n /**\n * Whether this message was automatically sent from a scheduled message.\n *\n * **Note**: for messages sent by other users, this is always `false`.\n */\n get isFromScheduled(): boolean {\n return this.raw._ === 'message' && this.raw.fromScheduled!\n }\n\n /** Whether the message is pinned in the current chat */\n get isPinned(): boolean {\n return this.raw._ === 'message' && this.raw.pinned!\n }\n\n /** Whether the message should be considered unedited, even if {@link editDate} ≠ null */\n get hideEditMark(): boolean {\n return this.raw._ === 'message' && this.raw.editHide!\n }\n\n /**\n * If set, any eventual webpage preview should be shown on top of\n * the message instead of at the bottom.\n */\n get invertMedia(): boolean {\n return this.raw._ === 'message' && this.raw.invertMedia!\n }\n\n /**\n * Multiple media messages with the same grouped ID\n * indicate an album or media group\n *\n * `null` for service messages and non-grouped messages\n */\n get groupedId(): tl.Long | null {\n return this.raw._ === 'message' ? this.raw.groupedId ?? null : null\n }\n\n /**\n * Same as {@link groupedId}, but is globally unique across chats.\n */\n get groupedIdUnique(): string | null {\n if (!(this.raw._ === 'message' && this.raw.groupedId !== undefined)) return null\n\n return `${this.raw.groupedId.low}|${this.raw.groupedId.high}|${getMarkedPeerId(this.raw.peerId)}`\n }\n\n /**\n * Message sender.\n *\n * Usually is a {@link User}, but can be a {@link Chat}\n * in case the message was sent by an anonymous admin, anonymous premium user,\n * or if the message is a forwarded channel post.\n *\n * If the message was sent by an anonymous admin,\n * sender will equal to {@link chat}.\n *\n * If the message is a forwarded channel post,\n * sender is the channel itself.\n */\n get sender(): Peer {\n const from = this.raw.fromId\n\n if (!from) {\n if (this.raw.peerId._ === 'peerUser') {\n return new User(this._peers.user(this.raw.peerId.userId))\n }\n\n // anon admin, return the chat\n return this.chat\n }\n\n return parsePeer(from, this._peers)\n }\n\n /**\n * Number of boosts applied to this {@link chat} by the sender\n */\n get senderBoostCount(): number {\n if (this.raw._ !== 'message') return 0\n\n return this.raw.fromBoostsApplied ?? 0\n }\n\n /**\n * Conversation the message belongs to\n */\n get chat(): Chat {\n return Chat._parseFromMessage(this.raw, this._peers)\n }\n\n /**\n * Date when the message was sent\n */\n get date(): Date {\n return new Date(this.raw.date * 1000)\n }\n\n /**\n * Date when the message was last edited\n */\n get editDate(): Date | null {\n if (this.raw._ === 'messageService') return null\n\n return this.raw.editDate ? new Date(this.raw.editDate * 1000) : null\n }\n\n /**\n * If this message is a forward, contains info about it.\n */\n get forward(): MessageForwardInfo | null {\n if (this.raw._ !== 'message' || !this.raw.fwdFrom) {\n return null\n }\n\n return new MessageForwardInfo(this.raw.fwdFrom, this._peers)\n }\n\n /**\n * Whether the message is a channel post that was\n * automatically forwarded to the connected discussion group\n */\n get isAutomaticForward(): boolean {\n if (this.raw._ === 'messageService' || !this.raw.fwdFrom) return false\n\n const fwd = this.raw.fwdFrom\n\n return Boolean(\n this.chat.chatType === 'supergroup' &&\n fwd.savedFromMsgId &&\n fwd.savedFromPeer?._ === 'peerChannel' &&\n getMarkedPeerId(fwd.savedFromPeer) !== getMarkedPeerId(this.raw.peerId),\n )\n }\n\n /**\n * Information about comments (for channels) or replies (for groups)\n */\n get replies(): MessageRepliesInfo | null {\n if (this.raw._ !== 'message' || !this.raw.replies) return null\n\n return new MessageRepliesInfo(this.raw.replies, this._peers)\n }\n\n /**\n * For replies, information about the that is being replied to.\n *\n * Mutually exclusive with {@link replyToStory}\n */\n get replyToMessage(): RepliedMessageInfo | null {\n if (this.raw.replyTo?._ !== 'messageReplyHeader') return null\n\n return new RepliedMessageInfo(this.raw.replyTo, this._peers)\n }\n\n /**\n * For replies, information about the story that is being replied to\n *\n * Mutually exclusive with {@link replyToMessage}\n */\n get replyToStory(): tl.RawMessageReplyStoryHeader | null {\n if (this.raw.replyTo?._ !== 'messageReplyStoryHeader') return null\n\n return this.raw.replyTo\n }\n\n /** Whether this message is in a forum topic */\n get isTopicMessage(): boolean {\n if (this.raw.replyTo?._ !== 'messageReplyHeader') return false\n\n return this.raw.replyTo.forumTopic!\n }\n\n /**\n * Whether this message contains mention of the current user\n */\n get isMention(): boolean {\n return this.raw.mentioned!\n }\n\n /**\n * If non-null, this message is not actually sent, and is\n * instead inside a group of \"quick reply\" messages\n * under the given shortcut ID\n */\n get quickReplyShortcutId(): number | null {\n if (this.raw._ === 'messageService') return null\n\n return this.raw.quickReplyShortcutId ?? null\n }\n\n /**\n * If this message is generated from an inline query,\n * information about the bot which generated it\n */\n get viaBot(): User | null {\n if (this.raw._ === 'messageService' || !this.raw.viaBotId) {\n return null\n }\n\n return new User(this._peers.user(this.raw.viaBotId))\n }\n\n /**\n * If this message was sent by a business bot on behalf of {@link sender},\n * information about the business bot.\n *\n * **Note**: only available to the business account and the bot itself.\n */\n get viaBusinessBot(): User | null {\n if (this.raw._ === 'messageService' || !this.raw.viaBusinessBotId) {\n return null\n }\n\n return new User(this._peers.user(this.raw.viaBusinessBotId))\n }\n\n /**\n * Message text or media caption.\n *\n * Empty string for service messages\n * (you should handle i18n yourself)\n */\n get text(): string {\n return this.raw._ === 'messageService' ? '' : this.raw.message\n }\n\n /**\n * Message text/caption entities (may be empty)\n */\n get entities(): ReadonlyArray<MessageEntity> {\n const entities: MessageEntity[] = []\n\n if (this.raw._ === 'message' && this.raw.entities?.length) {\n for (const ent of this.raw.entities) {\n entities.push(new MessageEntity(ent, this.raw.message))\n }\n }\n\n return entities\n }\n\n get textWithEntities(): TextWithEntities {\n if (this.raw._ === 'messageService') return { text: '', entities: [] }\n\n return {\n text: this.raw.message,\n entities: this.raw.entities,\n }\n }\n\n /**\n * Message action. `null` for non-service messages\n * or for unsupported events.\n *\n * For unsupported events, use `.raw.action` directly.\n */\n get action(): MessageAction | null {\n if (this.raw._ === 'message') {\n return null\n }\n\n return _messageActionFromTl.call(this, this.raw.action)\n }\n\n /**\n * Message media. `null` for text-only and service messages\n * and for unsupported media types.\n *\n * For unsupported media types, use `.raw.media` directly.\n */\n get media(): MessageMedia {\n if (this.raw._ === 'messageService' || !this.raw.media || this.raw.media._ === 'messageMediaEmpty') {\n return null\n }\n\n return _messageMediaFromTl(this._peers, this.raw.media)\n }\n\n /**\n * Whether this is a premium media\n * (e.g. >2gb file or fullscreen sticker)\n * that was forwarded without author by a non-premium user\n */\n get isForwardedPremiumMedia(): boolean {\n return this.raw._ === 'message' && this.raw.media?._ === 'messageMediaDocument' && this.raw.media.nopremium!\n }\n\n /**\n * TTL period of the message, in seconds.\n */\n get ttlPeriod(): number | null {\n return this.raw.ttlPeriod ?? null\n }\n\n /**\n * Reply markup provided with this message, if any.\n */\n get markup(): ReplyMarkup | null {\n if (this.raw._ === 'messageService' || !this.raw.replyMarkup) {\n return null\n }\n\n const rm = this.raw.replyMarkup\n\n switch (rm._) {\n case 'replyKeyboardHide':\n return {\n type: 'reply_hide',\n selective: rm.selective,\n }\n case 'replyKeyboardForceReply':\n return {\n type: 'force_reply',\n singleUse: rm.singleUse,\n selective: rm.selective,\n }\n case 'replyKeyboardMarkup':\n return {\n type: 'reply',\n resize: rm.resize,\n singleUse: rm.singleUse,\n selective: rm.selective,\n buttons: BotKeyboard._rowsTo2d(rm.rows),\n }\n case 'replyInlineMarkup':\n return {\n type: 'inline',\n buttons: BotKeyboard._rowsTo2d(rm.rows),\n }\n default:\n assertNever(rm)\n }\n }\n\n /**\n * Whether this message can be forwarded\n *\n * `false` for service mesasges and private restricted chats/chanenls\n */\n get canBeForwarded(): boolean {\n return this.raw._ === 'message' && !this.raw.noforwards\n }\n\n get reactions(): MessageReactions | null {\n if (this.raw._ === 'messageService' || !this.raw.reactions) {\n return null\n }\n\n return new MessageReactions(this.raw.id, getMarkedPeerId(this.raw.peerId), this.raw.reactions, this._peers)\n }\n\n /**\n * Generated permalink to this message, only for groups and channels\n *\n * @throws MtArgumentError In case the chat does not support message links\n */\n get link(): string {\n if (this.chat.chatType === 'supergroup' || this.chat.chatType === 'channel') {\n if (this.chat.username) {\n return `https://t.me/${this.chat.username}/${this.id}`\n }\n\n return `https://t.me/c/${toggleChannelIdMark(this.chat.id)}/${this.id}`\n }\n\n throw new MtArgumentError(`Cannot generate message link for ${this.chat.chatType}`)\n }\n}\n\nmemoizeGetters(Message, [\n 'sender',\n 'chat',\n 'forward',\n 'replies',\n 'viaBot',\n 'entities',\n 'action',\n 'media',\n 'markup',\n 'reactions',\n])\nmakeInspectable(Message, ['isScheduled'], ['link'])\n"]}
@@ -12,6 +12,8 @@ const message_media_js_1 = require("./message-media.js");
12
12
  * Information about a message that this message is a reply to
13
13
  */
14
14
  class RepliedMessageInfo {
15
+ raw;
16
+ _peers;
15
17
  constructor(raw, _peers) {
16
18
  this.raw = raw;
17
19
  this._peers = _peers;
@@ -1 +1 @@
1
- {"version":3,"file":"replied-message.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/messages/replied-message.ts"],"names":[],"mappings":"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","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MtTypeAssertionError } from '../../../types/errors.js'\nimport { makeInspectable } from '../../utils/inspectable.js'\nimport { memoizeGetters } from '../../utils/memoize.js'\nimport { Chat } from '../peers/chat.js'\nimport { PeerSender } from '../peers/peer.js'\nimport { PeersIndex } from '../peers/peers-index.js'\nimport { User } from '../peers/user.js'\nimport { MessageEntity } from './message-entity.js'\nimport { _messageMediaFromTl, MessageMedia } from './message-media.js'\n\n/**\n * Origin of the replied-to message\n * - `same_chat` — reply to a message in the same chat as this message\n * - `other_chat` — reply to a message in a different chat\n * - `private` — reply to a message in a private chat\n */\nexport type RepliedMessageOrigin = 'same_chat' | 'other_chat' | 'private'\n\n/** @hidden */\nexport interface _RepliedMessageAssertionsByOrigin {\n same_chat: {\n id: number\n chat: null\n media: null\n sender: null\n }\n other_chat: {\n id: number\n chat: Chat\n sender: PeerSender\n }\n private: {\n id: null\n chat: null\n sender: PeerSender\n }\n}\n\n/**\n * Information about a message that this message is a reply to\n */\nexport class RepliedMessageInfo {\n constructor(\n readonly raw: tl.RawMessageReplyHeader,\n readonly _peers: PeersIndex,\n ) {}\n\n /** Whether this message is a reply to another scheduled message */\n get isScheduled(): boolean {\n return this.raw.replyToScheduled!\n }\n\n /** Whether this message was sent to a forum topic */\n get isForumTopic(): boolean {\n return this.raw.forumTopic!\n }\n\n /** Whether this message is quoting another message */\n get isQuote(): boolean {\n return this.raw.quote!\n }\n\n /** Origin of the replied-to message */\n get origin(): RepliedMessageOrigin {\n if (!this.raw.replyToMsgId) return 'private'\n if (!this.raw.replyFrom) return 'same_chat'\n\n return 'other_chat'\n }\n\n /**\n * Helper method to check {@link origin} that will also\n * narrow the type of this object respectively\n */\n originIs<T extends RepliedMessageOrigin>(\n origin: T,\n ): this is RepliedMessageInfo & _RepliedMessageAssertionsByOrigin[T] {\n if (this.origin === origin) {\n // do some type assertions just in case\n switch (origin) {\n case 'same_chat':\n // no need, `null` is pretty safe, and `id` is checked in `origin` getter\n return true\n case 'other_chat':\n // replyToMsgId != null, replyFrom != null. checking for replyToPeerId is enough\n return this.raw.replyToPeerId !== undefined\n case 'private':\n // replyFrom.fromId should be available\n return this.raw.replyFrom?.fromId !== undefined\n }\n }\n\n return false\n }\n\n /**\n * For non-`private` origin, ID of the replied-to message in the original chat.\n */\n get id(): number | null {\n return this.raw.replyToMsgId ?? null\n }\n\n /** ID of the replies thread where this message belongs to */\n get threadId(): number | null {\n return this.raw.replyToTopId ?? null\n }\n\n /**\n * If replied-to message is available, chat where the message was sent.\n *\n * If `null`, the message was sent in the same chat.\n */\n get chat(): Chat | null {\n if (!this.raw.replyToPeerId || !this.raw.replyFrom) {\n // same chat or private. even if `replyToPeerId` is available,\n // without `replyFrom` it would contain the sender, not the chat\n return null\n }\n\n return Chat._parseFromPeer(this.raw.replyToPeerId, this._peers)\n }\n\n /**\n * Sender of the replied-to message (either user or a channel)\n * or their name (for users with private forwards).\n *\n * For replies to channel messages, this will be the channel itself.\n *\n * `null` if the sender is not available (for `same_chat` origin)\n */\n get sender(): PeerSender | null {\n const { replyFrom, replyToPeerId } = this.raw\n if (!replyFrom && !replyToPeerId) return null\n\n if (replyFrom?.fromName) {\n return {\n type: 'anonymous',\n displayName: replyFrom.fromName,\n }\n }\n\n const peer = replyFrom?.fromId ?? replyToPeerId\n\n if (peer) {\n switch (peer._) {\n case 'peerChannel':\n return new Chat(this._peers.chat(peer.channelId))\n case 'peerUser':\n return new User(this._peers.user(peer.userId))\n default:\n throw new MtTypeAssertionError('fromId ?? replyToPeerId', 'peerUser | peerChannel', peer._)\n }\n }\n\n throw new MtTypeAssertionError('replyFrom', 'to have fromId, replyToPeerId or fromName', 'neither')\n }\n\n /**\n * For non-`same_chat` origin, date the original message was sent.\n */\n get date(): Date | null {\n if (!this.raw.replyFrom?.date) return null\n\n return new Date(this.raw.replyFrom.date * 1000)\n }\n\n /**\n * If this message is a quote, text of the quote.\n *\n * For non-`same_chat` origin, this will be the full text of the\n * replied-to message in case `.isQuote` is `false`\n */\n get quoteText(): string {\n return this.raw.quoteText ?? ''\n }\n\n /** Message entities contained in the quote */\n get quoteEntities(): MessageEntity[] {\n return this.raw.quoteEntities?.map((e) => new MessageEntity(e)) ?? []\n }\n\n /**\n * Offset of the start of the {@link quoteText} in the replied-to message.\n *\n * Note that this offset should only be used as a hint, as the actual\n * quote offset may be different due to message being edited after the quote\n *\n * `null` if not available, in which case it should be assumed that the quote\n * starts at `.indexOf(quoteText)` of the replied-to message text.\n */\n get quoteOffset(): number | null {\n if (!this.raw.quoteOffset) return null\n\n return this.raw.quoteOffset\n }\n\n /**\n * Media contained in the replied-to message\n *\n * Only available for non-`same_chat` origin\n */\n get media(): MessageMedia {\n if (!this.raw.replyMedia) return null\n\n return _messageMediaFromTl(this._peers, this.raw.replyMedia)\n }\n}\n\nmemoizeGetters(RepliedMessageInfo, ['chat', 'sender', 'quoteEntities', 'media'])\nmakeInspectable(RepliedMessageInfo)\n"]}
1
+ {"version":3,"file":"replied-message.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/messages/replied-message.ts"],"names":[],"mappings":"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","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MtTypeAssertionError } from '../../../types/errors.js'\nimport { makeInspectable } from '../../utils/inspectable.js'\nimport { memoizeGetters } from '../../utils/memoize.js'\nimport { Chat } from '../peers/chat.js'\nimport { PeerSender } from '../peers/peer.js'\nimport { PeersIndex } from '../peers/peers-index.js'\nimport { User } from '../peers/user.js'\nimport { MessageEntity } from './message-entity.js'\nimport { _messageMediaFromTl, MessageMedia } from './message-media.js'\n\n/**\n * Origin of the replied-to message\n * - `same_chat` — reply to a message in the same chat as this message\n * - `other_chat` — reply to a message in a different chat\n * - `private` — reply to a message in a private chat\n */\nexport type RepliedMessageOrigin = 'same_chat' | 'other_chat' | 'private'\n\n/** @hidden */\nexport interface _RepliedMessageAssertionsByOrigin {\n same_chat: {\n id: number\n chat: null\n media: null\n sender: null\n }\n other_chat: {\n id: number\n chat: Chat\n sender: PeerSender\n }\n private: {\n id: null\n chat: null\n sender: PeerSender\n }\n}\n\n/**\n * Information about a message that this message is a reply to\n */\nexport class RepliedMessageInfo {\n constructor(\n readonly raw: tl.RawMessageReplyHeader,\n readonly _peers: PeersIndex,\n ) {}\n\n /** Whether this message is a reply to another scheduled message */\n get isScheduled(): boolean {\n return this.raw.replyToScheduled!\n }\n\n /** Whether this message was sent to a forum topic */\n get isForumTopic(): boolean {\n return this.raw.forumTopic!\n }\n\n /** Whether this message is quoting another message */\n get isQuote(): boolean {\n return this.raw.quote!\n }\n\n /** Origin of the replied-to message */\n get origin(): RepliedMessageOrigin {\n if (!this.raw.replyToMsgId) return 'private'\n if (!this.raw.replyFrom) return 'same_chat'\n\n return 'other_chat'\n }\n\n /**\n * Helper method to check {@link origin} that will also\n * narrow the type of this object respectively\n */\n originIs<T extends RepliedMessageOrigin>(\n origin: T,\n ): this is RepliedMessageInfo & _RepliedMessageAssertionsByOrigin[T] {\n if (this.origin === origin) {\n // do some type assertions just in case\n switch (origin) {\n case 'same_chat':\n // no need, `null` is pretty safe, and `id` is checked in `origin` getter\n return true\n case 'other_chat':\n // replyToMsgId != null, replyFrom != null. checking for replyToPeerId is enough\n return this.raw.replyToPeerId !== undefined\n case 'private':\n // replyFrom.fromId should be available\n return this.raw.replyFrom?.fromId !== undefined\n }\n }\n\n return false\n }\n\n /**\n * For non-`private` origin, ID of the replied-to message in the original chat.\n */\n get id(): number | null {\n return this.raw.replyToMsgId ?? null\n }\n\n /** ID of the replies thread where this message belongs to */\n get threadId(): number | null {\n return this.raw.replyToTopId ?? null\n }\n\n /**\n * If replied-to message is available, chat where the message was sent.\n *\n * If `null`, the message was sent in the same chat.\n */\n get chat(): Chat | null {\n if (!this.raw.replyToPeerId || !this.raw.replyFrom) {\n // same chat or private. even if `replyToPeerId` is available,\n // without `replyFrom` it would contain the sender, not the chat\n return null\n }\n\n return Chat._parseFromPeer(this.raw.replyToPeerId, this._peers)\n }\n\n /**\n * Sender of the replied-to message (either user or a channel)\n * or their name (for users with private forwards).\n *\n * For replies to channel messages, this will be the channel itself.\n *\n * `null` if the sender is not available (for `same_chat` origin)\n */\n get sender(): PeerSender | null {\n const { replyFrom, replyToPeerId } = this.raw\n if (!replyFrom && !replyToPeerId) return null\n\n if (replyFrom?.fromName) {\n return {\n type: 'anonymous',\n displayName: replyFrom.fromName,\n }\n }\n\n const peer = replyFrom?.fromId ?? replyToPeerId\n\n if (peer) {\n switch (peer._) {\n case 'peerChannel':\n return new Chat(this._peers.chat(peer.channelId))\n case 'peerUser':\n return new User(this._peers.user(peer.userId))\n default:\n throw new MtTypeAssertionError('fromId ?? replyToPeerId', 'peerUser | peerChannel', peer._)\n }\n }\n\n throw new MtTypeAssertionError('replyFrom', 'to have fromId, replyToPeerId or fromName', 'neither')\n }\n\n /**\n * For non-`same_chat` origin, date the original message was sent.\n */\n get date(): Date | null {\n if (!this.raw.replyFrom?.date) return null\n\n return new Date(this.raw.replyFrom.date * 1000)\n }\n\n /**\n * If this message is a quote, text of the quote.\n *\n * For non-`same_chat` origin, this will be the full text of the\n * replied-to message in case `.isQuote` is `false`\n */\n get quoteText(): string {\n return this.raw.quoteText ?? ''\n }\n\n /** Message entities contained in the quote */\n get quoteEntities(): MessageEntity[] {\n return this.raw.quoteEntities?.map((e) => new MessageEntity(e)) ?? []\n }\n\n /**\n * Offset of the start of the {@link quoteText} in the replied-to message.\n *\n * Note that this offset should only be used as a hint, as the actual\n * quote offset may be different due to message being edited after the quote\n *\n * `null` if not available, in which case it should be assumed that the quote\n * starts at `.indexOf(quoteText)` of the replied-to message text.\n */\n get quoteOffset(): number | null {\n if (!this.raw.quoteOffset) return null\n\n return this.raw.quoteOffset\n }\n\n /**\n * Media contained in the replied-to message\n *\n * Only available for non-`same_chat` origin\n */\n get media(): MessageMedia {\n if (!this.raw.replyMedia) return null\n\n return _messageMediaFromTl(this._peers, this.raw.replyMedia)\n }\n}\n\nmemoizeGetters(RepliedMessageInfo, ['chat', 'sender', 'quoteEntities', 'media'])\nmakeInspectable(RepliedMessageInfo)\n"]}
@@ -0,0 +1,27 @@
1
+ import Long from 'long';
2
+ import { tl } from '@mtcute/tl';
3
+ /**
4
+ * Information about a Fragment collectible
5
+ */
6
+ export declare class CollectibleInfo {
7
+ readonly raw: tl.fragment.RawCollectibleInfo;
8
+ constructor(raw: tl.fragment.RawCollectibleInfo);
9
+ /** Date when the item was purchased */
10
+ get purchaseDate(): Date;
11
+ /** Crypto currency used to purchase the item */
12
+ get cryptoCurrency(): string;
13
+ /**
14
+ * Amount of crypto currency used to purchase the item,
15
+ * in the smallest units
16
+ */
17
+ get cryptoAmount(): Long;
18
+ /** Fiat currency to which the crypto currency was converted */
19
+ get currency(): string;
20
+ /**
21
+ * Converted amount in fiat currency,
22
+ * in the smallest units (e.g. cents)
23
+ */
24
+ get amount(): Long;
25
+ /** URL to the collectible on Fragment */
26
+ get url(): string;
27
+ }
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CollectibleInfo = void 0;
4
+ const inspectable_js_1 = require("../../utils/inspectable.js");
5
+ /**
6
+ * Information about a Fragment collectible
7
+ */
8
+ class CollectibleInfo {
9
+ raw;
10
+ constructor(raw) {
11
+ this.raw = raw;
12
+ }
13
+ /** Date when the item was purchased */
14
+ get purchaseDate() {
15
+ return new Date(this.raw.purchaseDate * 1000);
16
+ }
17
+ /** Crypto currency used to purchase the item */
18
+ get cryptoCurrency() {
19
+ return this.raw.cryptoCurrency;
20
+ }
21
+ /**
22
+ * Amount of crypto currency used to purchase the item,
23
+ * in the smallest units
24
+ */
25
+ get cryptoAmount() {
26
+ return this.raw.cryptoAmount;
27
+ }
28
+ /** Fiat currency to which the crypto currency was converted */
29
+ get currency() {
30
+ return this.raw.currency;
31
+ }
32
+ /**
33
+ * Converted amount in fiat currency,
34
+ * in the smallest units (e.g. cents)
35
+ */
36
+ get amount() {
37
+ return this.raw.amount;
38
+ }
39
+ /** URL to the collectible on Fragment */
40
+ get url() {
41
+ return this.raw.url;
42
+ }
43
+ }
44
+ exports.CollectibleInfo = CollectibleInfo;
45
+ (0, inspectable_js_1.makeInspectable)(CollectibleInfo);
46
+ //# sourceMappingURL=collectible-info.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collectible-info.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/misc/collectible-info.ts"],"names":[],"mappings":";;;AAIA,+DAA4D;AAE5D;;GAEG;AACH,MAAa,eAAe;IACH;IAArB,YAAqB,GAAmC;QAAnC,QAAG,GAAH,GAAG,CAAgC;IAAG,CAAC;IAE5D,uCAAuC;IACvC,IAAI,YAAY;QACZ,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC,CAAA;IACjD,CAAC;IAED,gDAAgD;IAChD,IAAI,cAAc;QACd,OAAO,IAAI,CAAC,GAAG,CAAC,cAAc,CAAA;IAClC,CAAC;IAED;;;OAGG;IACH,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,CAAA;IAChC,CAAC;IAED,+DAA+D;IAC/D,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAA;IAC5B,CAAC;IAED;;;OAGG;IACH,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAA;IAC1B,CAAC;IAED,yCAAyC;IACzC,IAAI,GAAG;QACH,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAA;IACvB,CAAC;CACJ;AAtCD,0CAsCC;AAED,IAAA,gCAAe,EAAC,eAAe,CAAC,CAAA","sourcesContent":["import Long from 'long'\n\nimport { tl } from '@mtcute/tl'\n\nimport { makeInspectable } from '../../utils/inspectable.js'\n\n/**\n * Information about a Fragment collectible\n */\nexport class CollectibleInfo {\n constructor(readonly raw: tl.fragment.RawCollectibleInfo) {}\n\n /** Date when the item was purchased */\n get purchaseDate(): Date {\n return new Date(this.raw.purchaseDate * 1000)\n }\n\n /** Crypto currency used to purchase the item */\n get cryptoCurrency(): string {\n return this.raw.cryptoCurrency\n }\n\n /**\n * Amount of crypto currency used to purchase the item,\n * in the smallest units\n */\n get cryptoAmount(): Long {\n return this.raw.cryptoAmount\n }\n\n /** Fiat currency to which the crypto currency was converted */\n get currency(): string {\n return this.raw.currency\n }\n\n /**\n * Converted amount in fiat currency,\n * in the smallest units (e.g. cents)\n */\n get amount(): Long {\n return this.raw.amount\n }\n\n /** URL to the collectible on Fragment */\n get url(): string {\n return this.raw.url\n }\n}\n\nmakeInspectable(CollectibleInfo)\n"]}
@@ -13,3 +13,10 @@ export interface TextWithEntities {
13
13
  * Can be either a plain string or an object with `text` and `entities` fields.
14
14
  */
15
15
  export type InputText = string | TextWithEntities;
16
+ /**
17
+ * Convert {@link InputText} to a {@link tl.RawTextWithEntities} object
18
+ *
19
+ * @param text Input text
20
+ * @returns TL object
21
+ */
22
+ export declare function inputTextToTl(text: InputText): tl.RawTextWithEntities;
@@ -1,3 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.inputTextToTl = void 0;
4
+ /**
5
+ * Convert {@link InputText} to a {@link tl.RawTextWithEntities} object
6
+ *
7
+ * @param text Input text
8
+ * @returns TL object
9
+ */
10
+ function inputTextToTl(text) {
11
+ return {
12
+ _: 'textWithEntities',
13
+ text: typeof text === 'string' ? text : text.text,
14
+ entities: typeof text === 'string' ? [] : text.entities ?? [],
15
+ };
16
+ }
17
+ exports.inputTextToTl = inputTextToTl;
3
18
  //# sourceMappingURL=entities.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"entities.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/misc/entities.ts"],"names":[],"mappings":"","sourcesContent":["import { tl } from '@mtcute/tl'\n\n/**\n * Formatted text with entities\n */\nexport interface TextWithEntities {\n readonly text: string\n readonly entities?: tl.TypeMessageEntity[]\n}\n\n/**\n * Type to be used as a parameter for methods that accept\n * a formatted text with entities.\n *\n * Can be either a plain string or an object with `text` and `entities` fields.\n */\nexport type InputText = string | TextWithEntities\n"]}
1
+ {"version":3,"file":"entities.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/misc/entities.ts"],"names":[],"mappings":";;;AAkBA;;;;;GAKG;AACH,SAAgB,aAAa,CAAC,IAAe;IACzC,OAAO;QACH,CAAC,EAAE,kBAAkB;QACrB,IAAI,EAAE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI;QACjD,QAAQ,EAAE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE;KAChE,CAAA;AACL,CAAC;AAND,sCAMC","sourcesContent":["import { tl } from '@mtcute/tl'\n\n/**\n * Formatted text with entities\n */\nexport interface TextWithEntities {\n readonly text: string\n readonly entities?: tl.TypeMessageEntity[]\n}\n\n/**\n * Type to be used as a parameter for methods that accept\n * a formatted text with entities.\n *\n * Can be either a plain string or an object with `text` and `entities` fields.\n */\nexport type InputText = string | TextWithEntities\n\n/**\n * Convert {@link InputText} to a {@link tl.RawTextWithEntities} object\n *\n * @param text Input text\n * @returns TL object\n */\nexport function inputTextToTl(text: InputText): tl.RawTextWithEntities {\n return {\n _: 'textWithEntities',\n text: typeof text === 'string' ? text : text.text,\n entities: typeof text === 'string' ? [] : text.entities ?? [],\n }\n}\n"]}
@@ -1,4 +1,5 @@
1
1
  export * from './app-config.js';
2
+ export * from './collectible-info.js';
2
3
  export * from './entities.js';
3
4
  export * from './input-privacy-rule/index.js';
4
5
  export * from './sticker-set.js';
@@ -15,6 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./app-config.js"), exports);
18
+ __exportStar(require("./collectible-info.js"), exports);
18
19
  __exportStar(require("./entities.js"), exports);
19
20
  __exportStar(require("./input-privacy-rule/index.js"), exports);
20
21
  __exportStar(require("./sticker-set.js"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/misc/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAA+B;AAC/B,gDAA6B;AAC7B,gEAA6C;AAC7C,mDAAgC;AAChC,uDAAoC","sourcesContent":["export * from './app-config.js'\nexport * from './entities.js'\nexport * from './input-privacy-rule/index.js'\nexport * from './sticker-set.js'\nexport * from './takeout-session.js'\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/misc/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAA+B;AAC/B,wDAAqC;AACrC,gDAA6B;AAC7B,gEAA6C;AAC7C,mDAAgC;AAChC,uDAAoC","sourcesContent":["export * from './app-config.js'\nexport * from './collectible-info.js'\nexport * from './entities.js'\nexport * from './input-privacy-rule/index.js'\nexport * from './sticker-set.js'\nexport * from './takeout-session.js'\n"]}
@@ -48,11 +48,12 @@ export interface StickerInfo {
48
48
  export declare class StickerSet {
49
49
  readonly brief: tl.RawStickerSet;
50
50
  readonly full?: tl.messages.RawStickerSet;
51
+ readonly cover?: tl.TypeStickerSetCovered;
51
52
  /**
52
53
  * Whether this object contains information about stickers inside the set
53
54
  */
54
55
  readonly isFull: boolean;
55
- constructor(raw: tl.TypeStickerSet | tl.messages.TypeStickerSet);
56
+ constructor(raw: tl.TypeStickerSet | tl.messages.TypeStickerSet | tl.TypeStickerSetCovered);
56
57
  /**
57
58
  * Whether this sticker set was archived
58
59
  * (due to too many saved stickers in the current account)
@@ -62,6 +63,10 @@ export declare class StickerSet {
62
63
  * Whether this stickerset is official
63
64
  */
64
65
  get isOfficial(): boolean;
66
+ /**
67
+ * Whether this sticker set was created by the current user
68
+ */
69
+ get isCreator(): boolean;
65
70
  /**
66
71
  * Type of the stickers in this set
67
72
  */
@@ -98,6 +103,8 @@ export declare class StickerSet {
98
103
  * In case this object does not contain info about stickers (i.e. {@link isFull} = false)
99
104
  */
100
105
  get stickers(): ReadonlyArray<StickerInfo>;
106
+ /** Cover stickers of the sticker set. Not the same as {@link thumbnails} */
107
+ get covers(): ReadonlyArray<Sticker>;
101
108
  /**
102
109
  * Available sticker set thumbnails.
103
110
  *
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.StickerSet = exports.normalizeInputStickerSet = void 0;
4
+ const tl_1 = require("@mtcute/tl");
4
5
  const errors_js_1 = require("../../../types/errors.js");
5
6
  const long_utils_js_1 = require("../../../utils/long-utils.js");
6
7
  const index_js_1 = require("../../utils/index.js");
@@ -43,10 +44,24 @@ function normalizeInputStickerSet(input) {
43
44
  }
44
45
  }
45
46
  exports.normalizeInputStickerSet = normalizeInputStickerSet;
47
+ function parseStickerOrThrow(doc) {
48
+ const sticker = (0, document_utils_js_1.parseSticker)(doc);
49
+ if (!sticker) {
50
+ throw new errors_js_1.MtTypeAssertionError('full.documents', 'sticker', 'not a sticker');
51
+ }
52
+ return sticker;
53
+ }
46
54
  /**
47
55
  * A sticker set (aka sticker pack)
48
56
  */
49
57
  class StickerSet {
58
+ brief;
59
+ full;
60
+ cover;
61
+ /**
62
+ * Whether this object contains information about stickers inside the set
63
+ */
64
+ isFull;
50
65
  constructor(raw) {
51
66
  if (raw._ === 'messages.stickerSet') {
52
67
  this.full = raw;
@@ -55,6 +70,10 @@ class StickerSet {
55
70
  else if (raw._ === 'stickerSet') {
56
71
  this.brief = raw;
57
72
  }
73
+ else if (tl_1.tl.isAnyStickerSetCovered(raw)) {
74
+ this.cover = raw;
75
+ this.brief = raw.set;
76
+ }
58
77
  else {
59
78
  throw new errors_js_1.MtTypeAssertionError('StickerSet', 'messages.stickerSet | stickerSet', raw._);
60
79
  }
@@ -73,6 +92,12 @@ class StickerSet {
73
92
  get isOfficial() {
74
93
  return this.brief.official;
75
94
  }
95
+ /**
96
+ * Whether this sticker set was created by the current user
97
+ */
98
+ get isCreator() {
99
+ return this.brief.creator;
100
+ }
76
101
  /**
77
102
  * Type of the stickers in this set
78
103
  */
@@ -139,18 +164,15 @@ class StickerSet {
139
164
  * In case this object does not contain info about stickers (i.e. {@link isFull} = false)
140
165
  */
141
166
  get stickers() {
142
- if (!this.isFull)
167
+ if (!this.full)
143
168
  throw new errors_js_2.MtEmptyError();
144
169
  const stickers = [];
145
170
  const index = new long_utils_js_1.LongMap();
146
171
  this.full.documents.forEach((doc) => {
147
- const sticker = (0, document_utils_js_1.parseDocument)(doc);
148
- if (!(sticker instanceof index_js_2.Sticker)) {
149
- throw new errors_js_1.MtTypeAssertionError('full.documents', 'Sticker', sticker.mimeType);
150
- }
172
+ const sticker = parseStickerOrThrow(doc);
151
173
  const info = {
152
174
  alt: sticker.emoji,
153
- emoji: '',
175
+ emoji: '', // populated later
154
176
  sticker,
155
177
  };
156
178
  stickers.push(info);
@@ -166,6 +188,21 @@ class StickerSet {
166
188
  });
167
189
  return stickers;
168
190
  }
191
+ /** Cover stickers of the sticker set. Not the same as {@link thumbnails} */
192
+ get covers() {
193
+ if (!this.cover)
194
+ return [];
195
+ switch (this.cover._) {
196
+ case 'stickerSetCovered':
197
+ return [parseStickerOrThrow(this.cover.cover)];
198
+ case 'stickerSetMultiCovered':
199
+ return this.cover.covers.map((it) => parseStickerOrThrow(it));
200
+ case 'stickerSetFullCovered':
201
+ return this.cover.documents.map((it) => parseStickerOrThrow(it));
202
+ case 'stickerSetNoCovered':
203
+ return [];
204
+ }
205
+ }
169
206
  /**
170
207
  * Available sticker set thumbnails.
171
208
  *
@@ -1 +1 @@
1
- {"version":3,"file":"sticker-set.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/misc/sticker-set.ts"],"names":[],"mappings":"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","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MtTypeAssertionError } from '../../../types/errors.js'\nimport { LongMap } from '../../../utils/long-utils.js'\nimport { makeInspectable } from '../../utils/index.js'\nimport { memoizeGetters } from '../../utils/memoize.js'\nimport { MtEmptyError } from '../errors.js'\nimport { InputFileLike } from '../files/index.js'\nimport { parseDocument } from '../media/document-utils.js'\nimport { MaskPosition, Sticker, StickerSourceType, StickerType, Thumbnail } from '../media/index.js'\n\n/**\n * Input sticker set.\n * Can be one of:\n * - Raw TL object\n * - Sticker set short name\n * - {@link StickerSet} object\n * - `{ dice: \"<emoji>\" }` (e.g. `{ dice: \"🎲\" }`) - Used for fetching animated dice stickers\n * - `{ system: string }` - for system stickersets:\n * - `\"animated\"` - Animated emojis stickerset\n * - `\"animated_animations\"` - Animated emoji reaction stickerset\n * (contains animations to play when a user clicks on a given animated emoji)\n * - `\"premium_gifts\"` - Stickers to show when receiving a gifted Telegram Premium subscription,\n * - `\"generic_animations\"` - Generic animation stickerset containing animations to play\n * when reacting to messages using a normal emoji without a custom animation\n * - `\"default_statuses\"` - Default custom emoji status stickerset\n * - `\"default_topic_icons\"` - Default custom emoji stickerset for forum topic icons\n * - `\"default_channel_statuses\"` - Default custom emoji status stickerset for channels\n */\nexport type InputStickerSet =\n | tl.TypeInputStickerSet\n | { dice: string }\n | {\n system:\n | 'animated'\n | 'animated_animations'\n | 'premium_gifts'\n | 'generic_animations'\n | 'default_statuses'\n | 'default_topic_icons'\n | 'default_channel_statuses'\n }\n | StickerSet\n | string\n\nexport function normalizeInputStickerSet(input: InputStickerSet): tl.TypeInputStickerSet {\n if (typeof input === 'string') {\n return {\n _: 'inputStickerSetShortName',\n shortName: input,\n }\n }\n if ('_' in input) return input\n if (input instanceof StickerSet) return input.inputStickerSet\n\n if ('dice' in input) {\n return {\n _: 'inputStickerSetDice',\n emoticon: input.dice,\n }\n }\n\n switch (input.system) {\n case 'animated':\n return { _: 'inputStickerSetAnimatedEmoji' }\n case 'animated_animations':\n return { _: 'inputStickerSetAnimatedEmojiAnimations' }\n case 'premium_gifts':\n return { _: 'inputStickerSetPremiumGifts' }\n case 'generic_animations':\n return { _: 'inputStickerSetEmojiGenericAnimations' }\n case 'default_statuses':\n return { _: 'inputStickerSetEmojiDefaultStatuses' }\n case 'default_topic_icons':\n return { _: 'inputStickerSetEmojiDefaultTopicIcons' }\n case 'default_channel_statuses':\n return { _: 'inputStickerSetEmojiChannelDefaultStatuses' }\n }\n}\n\n/**\n * Information about one sticker inside the set\n */\nexport interface StickerInfo {\n /**\n * Primary alt emoji that is displayed in dialogs list\n */\n readonly alt: string\n\n /**\n * One or more emojis representing this sticker\n */\n readonly emoji: string\n\n /**\n * Document with the actual sticker\n */\n readonly sticker: Sticker\n}\n\n/**\n * A sticker set (aka sticker pack)\n */\nexport class StickerSet {\n readonly brief: tl.RawStickerSet\n readonly full?: tl.messages.RawStickerSet\n\n /**\n * Whether this object contains information about stickers inside the set\n */\n readonly isFull: boolean\n\n constructor(raw: tl.TypeStickerSet | tl.messages.TypeStickerSet) {\n if (raw._ === 'messages.stickerSet') {\n this.full = raw\n this.brief = raw.set\n } else if (raw._ === 'stickerSet') {\n this.brief = raw\n } else {\n throw new MtTypeAssertionError('StickerSet', 'messages.stickerSet | stickerSet', raw._)\n }\n\n this.isFull = raw._ === 'messages.stickerSet'\n }\n\n /**\n * Whether this sticker set was archived\n * (due to too many saved stickers in the current account)\n */\n get isArchived(): boolean {\n return this.brief.archived!\n }\n\n /**\n * Whether this stickerset is official\n */\n get isOfficial(): boolean {\n return this.brief.official!\n }\n\n /**\n * Type of the stickers in this set\n */\n get type(): StickerType {\n if (this.brief.masks) {\n return 'mask'\n }\n\n if (this.brief.emojis) {\n return 'emoji'\n }\n\n return 'sticker'\n }\n\n /**\n * Source file type of the stickers in this set\n */\n get sourceType(): StickerSourceType {\n if (this.brief.animated) {\n return 'animated'\n }\n\n if (this.brief.videos) {\n return 'video'\n }\n\n return 'static'\n }\n\n /**\n * Date when this sticker set was installed\n */\n get installedDate(): Date | null {\n return this.brief.installedDate ? new Date(this.brief.installedDate * 1000) : null\n }\n\n /**\n * Number of stickers in this sticker set\n */\n get count(): number {\n return this.brief.count\n }\n\n /**\n * Input sticker set to be used in other API methods\n */\n get inputStickerSet(): tl.TypeInputStickerSet {\n return {\n _: 'inputStickerSetID',\n id: this.brief.id,\n accessHash: this.brief.accessHash,\n }\n }\n\n /**\n * Title of the sticker set\n */\n get title(): string {\n return this.brief.title\n }\n\n /**\n * Short name of sticker set to use in `tg://addstickers?set=short_name`\n * or `https://t.me/addstickers/short_name`\n */\n get shortName(): string {\n return this.brief.shortName\n }\n\n /**\n * List of stickers inside this sticker set\n *\n * @throws MtEmptyError\n * In case this object does not contain info about stickers (i.e. {@link isFull} = false)\n */\n get stickers(): ReadonlyArray<StickerInfo> {\n if (!this.isFull) throw new MtEmptyError()\n\n const stickers: StickerInfo[] = []\n const index = new LongMap<tl.Mutable<StickerInfo>>()\n\n this.full!.documents.forEach((doc) => {\n const sticker = parseDocument(doc as tl.RawDocument)\n\n if (!(sticker instanceof Sticker)) {\n throw new MtTypeAssertionError('full.documents', 'Sticker', sticker.mimeType)\n }\n\n const info: tl.Mutable<StickerInfo> = {\n alt: sticker.emoji,\n emoji: '', // populated later\n sticker,\n }\n stickers.push(info)\n index.set(doc.id, info)\n })\n\n this.full!.packs.forEach((pack) => {\n pack.documents.forEach((id) => {\n const item = index.get(id)\n\n if (item) {\n item.emoji += pack.emoticon\n }\n })\n })\n\n return stickers\n }\n\n /**\n * Available sticker set thumbnails.\n *\n * Returns empty array if not available\n * (i.e. first sticker should be used as thumbnail)\n */\n get thumbnails(): ReadonlyArray<Thumbnail> {\n return this.brief.thumbs?.map((sz) => new Thumbnail(this.brief, sz)) ?? []\n }\n\n /**\n * Get a sticker set thumbnail by its type.\n *\n * Thumbnail types are described in the\n * [Telegram docs](https://core.telegram.org/api/files#image-thumbnail-types),\n * and are also available as static members of {@link Thumbnail} for convenience.\n *\n * @param type Thumbnail type\n */\n getThumbnail(type: string): Thumbnail | null {\n return this.thumbnails.find((it) => it.type === type) ?? null\n }\n\n /**\n * Find stickers given their emoji.\n *\n * @param emoji Emoji to search for\n * @throws MtEmptyError\n * In case this object does not contain info about stickers (i.e. {@link isFull} = false)\n */\n getStickersByEmoji(emoji: string): StickerInfo[] {\n return this.stickers.filter((it) => it.alt === emoji || it.emoji.includes(emoji))\n }\n\n private _getInputDocument(idx: number): tl.TypeInputDocument {\n if (!this.full) throw new MtEmptyError()\n\n if (idx < 0) idx = this.full.documents.length + idx\n const doc = this.full.documents[idx] as tl.RawDocument\n\n if (!doc) {\n throw new RangeError(`Sticker set does not have sticker ${idx}`)\n }\n\n return {\n _: 'inputDocument',\n id: doc.id,\n accessHash: doc.accessHash,\n fileReference: doc.fileReference,\n }\n }\n}\n\nmemoizeGetters(StickerSet, ['thumbnails', 'stickers'])\nmakeInspectable(StickerSet, ['isFull'])\n\nexport interface InputStickerSetItem {\n /**\n * File containing the sticker.\n *\n * For normal stickers: must be a `.png` or `.webp` file\n * up to 512kb, having both dimensions `<=512px`, and having\n * one of the dimensions `==512px`\n *\n * For animated stickers: must be a `.tgs` file\n * up to 64kb, having canvas dimensions exactly\n * `512x512`px, duration no more than 3 seconds\n * and animated at 60fps ([source](https://core.telegram.org/animated_stickers#technical-requirements))\n */\n file: InputFileLike\n\n /**\n * One or more emojis that represent this sticker\n */\n emojis: string\n\n /**\n * In case this is a mask sticker,\n * position of the mask\n */\n maskPosition?: MaskPosition\n}\n"]}
1
+ {"version":3,"file":"sticker-set.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/misc/sticker-set.ts"],"names":[],"mappings":"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","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MtTypeAssertionError } from '../../../types/errors.js'\nimport { LongMap } from '../../../utils/long-utils.js'\nimport { makeInspectable } from '../../utils/index.js'\nimport { memoizeGetters } from '../../utils/memoize.js'\nimport { MtEmptyError } from '../errors.js'\nimport { InputFileLike } from '../files/index.js'\nimport { parseSticker } from '../media/document-utils.js'\nimport { MaskPosition, Sticker, StickerSourceType, StickerType, Thumbnail } from '../media/index.js'\n\n/**\n * Input sticker set.\n * Can be one of:\n * - Raw TL object\n * - Sticker set short name\n * - {@link StickerSet} object\n * - `{ dice: \"<emoji>\" }` (e.g. `{ dice: \"🎲\" }`) - Used for fetching animated dice stickers\n * - `{ system: string }` - for system stickersets:\n * - `\"animated\"` - Animated emojis stickerset\n * - `\"animated_animations\"` - Animated emoji reaction stickerset\n * (contains animations to play when a user clicks on a given animated emoji)\n * - `\"premium_gifts\"` - Stickers to show when receiving a gifted Telegram Premium subscription,\n * - `\"generic_animations\"` - Generic animation stickerset containing animations to play\n * when reacting to messages using a normal emoji without a custom animation\n * - `\"default_statuses\"` - Default custom emoji status stickerset\n * - `\"default_topic_icons\"` - Default custom emoji stickerset for forum topic icons\n * - `\"default_channel_statuses\"` - Default custom emoji status stickerset for channels\n */\nexport type InputStickerSet =\n | tl.TypeInputStickerSet\n | { dice: string }\n | {\n system:\n | 'animated'\n | 'animated_animations'\n | 'premium_gifts'\n | 'generic_animations'\n | 'default_statuses'\n | 'default_topic_icons'\n | 'default_channel_statuses'\n }\n | StickerSet\n | string\n\nexport function normalizeInputStickerSet(input: InputStickerSet): tl.TypeInputStickerSet {\n if (typeof input === 'string') {\n return {\n _: 'inputStickerSetShortName',\n shortName: input,\n }\n }\n if ('_' in input) return input\n if (input instanceof StickerSet) return input.inputStickerSet\n\n if ('dice' in input) {\n return {\n _: 'inputStickerSetDice',\n emoticon: input.dice,\n }\n }\n\n switch (input.system) {\n case 'animated':\n return { _: 'inputStickerSetAnimatedEmoji' }\n case 'animated_animations':\n return { _: 'inputStickerSetAnimatedEmojiAnimations' }\n case 'premium_gifts':\n return { _: 'inputStickerSetPremiumGifts' }\n case 'generic_animations':\n return { _: 'inputStickerSetEmojiGenericAnimations' }\n case 'default_statuses':\n return { _: 'inputStickerSetEmojiDefaultStatuses' }\n case 'default_topic_icons':\n return { _: 'inputStickerSetEmojiDefaultTopicIcons' }\n case 'default_channel_statuses':\n return { _: 'inputStickerSetEmojiChannelDefaultStatuses' }\n }\n}\n\n/**\n * Information about one sticker inside the set\n */\nexport interface StickerInfo {\n /**\n * Primary alt emoji that is displayed in dialogs list\n */\n readonly alt: string\n\n /**\n * One or more emojis representing this sticker\n */\n readonly emoji: string\n\n /**\n * Document with the actual sticker\n */\n readonly sticker: Sticker\n}\n\nfunction parseStickerOrThrow(doc: tl.RawDocument): Sticker {\n const sticker = parseSticker(doc)\n\n if (!sticker) {\n throw new MtTypeAssertionError('full.documents', 'sticker', 'not a sticker')\n }\n\n return sticker\n}\n\n/**\n * A sticker set (aka sticker pack)\n */\nexport class StickerSet {\n readonly brief: tl.RawStickerSet\n readonly full?: tl.messages.RawStickerSet\n readonly cover?: tl.TypeStickerSetCovered\n\n /**\n * Whether this object contains information about stickers inside the set\n */\n readonly isFull: boolean\n\n constructor(raw: tl.TypeStickerSet | tl.messages.TypeStickerSet | tl.TypeStickerSetCovered) {\n if (raw._ === 'messages.stickerSet') {\n this.full = raw\n this.brief = raw.set\n } else if (raw._ === 'stickerSet') {\n this.brief = raw\n } else if (tl.isAnyStickerSetCovered(raw)) {\n this.cover = raw\n this.brief = raw.set\n } else {\n throw new MtTypeAssertionError('StickerSet', 'messages.stickerSet | stickerSet', raw._)\n }\n\n this.isFull = raw._ === 'messages.stickerSet'\n }\n\n /**\n * Whether this sticker set was archived\n * (due to too many saved stickers in the current account)\n */\n get isArchived(): boolean {\n return this.brief.archived!\n }\n\n /**\n * Whether this stickerset is official\n */\n get isOfficial(): boolean {\n return this.brief.official!\n }\n\n /**\n * Whether this sticker set was created by the current user\n */\n get isCreator(): boolean {\n return this.brief.creator!\n }\n\n /**\n * Type of the stickers in this set\n */\n get type(): StickerType {\n if (this.brief.masks) {\n return 'mask'\n }\n\n if (this.brief.emojis) {\n return 'emoji'\n }\n\n return 'sticker'\n }\n\n /**\n * Source file type of the stickers in this set\n */\n get sourceType(): StickerSourceType {\n if (this.brief.animated) {\n return 'animated'\n }\n\n if (this.brief.videos) {\n return 'video'\n }\n\n return 'static'\n }\n\n /**\n * Date when this sticker set was installed\n */\n get installedDate(): Date | null {\n return this.brief.installedDate ? new Date(this.brief.installedDate * 1000) : null\n }\n\n /**\n * Number of stickers in this sticker set\n */\n get count(): number {\n return this.brief.count\n }\n\n /**\n * Input sticker set to be used in other API methods\n */\n get inputStickerSet(): tl.TypeInputStickerSet {\n return {\n _: 'inputStickerSetID',\n id: this.brief.id,\n accessHash: this.brief.accessHash,\n }\n }\n\n /**\n * Title of the sticker set\n */\n get title(): string {\n return this.brief.title\n }\n\n /**\n * Short name of sticker set to use in `tg://addstickers?set=short_name`\n * or `https://t.me/addstickers/short_name`\n */\n get shortName(): string {\n return this.brief.shortName\n }\n\n /**\n * List of stickers inside this sticker set\n *\n * @throws MtEmptyError\n * In case this object does not contain info about stickers (i.e. {@link isFull} = false)\n */\n get stickers(): ReadonlyArray<StickerInfo> {\n if (!this.full) throw new MtEmptyError()\n\n const stickers: StickerInfo[] = []\n const index = new LongMap<tl.Mutable<StickerInfo>>()\n\n this.full.documents.forEach((doc) => {\n const sticker = parseStickerOrThrow(doc as tl.RawDocument)\n\n const info: tl.Mutable<StickerInfo> = {\n alt: sticker.emoji,\n emoji: '', // populated later\n sticker,\n }\n stickers.push(info)\n index.set(doc.id, info)\n })\n\n this.full.packs.forEach((pack) => {\n pack.documents.forEach((id) => {\n const item = index.get(id)\n\n if (item) {\n item.emoji += pack.emoticon\n }\n })\n })\n\n return stickers\n }\n\n /** Cover stickers of the sticker set. Not the same as {@link thumbnails} */\n get covers(): ReadonlyArray<Sticker> {\n if (!this.cover) return []\n\n switch (this.cover._) {\n case 'stickerSetCovered':\n return [parseStickerOrThrow(this.cover.cover as tl.RawDocument)]\n case 'stickerSetMultiCovered':\n return this.cover.covers.map((it) => parseStickerOrThrow(it as tl.RawDocument))\n case 'stickerSetFullCovered':\n return this.cover.documents.map((it) => parseStickerOrThrow(it as tl.RawDocument))\n case 'stickerSetNoCovered':\n return []\n }\n }\n\n /**\n * Available sticker set thumbnails.\n *\n * Returns empty array if not available\n * (i.e. first sticker should be used as thumbnail)\n */\n get thumbnails(): ReadonlyArray<Thumbnail> {\n return this.brief.thumbs?.map((sz) => new Thumbnail(this.brief, sz)) ?? []\n }\n\n /**\n * Get a sticker set thumbnail by its type.\n *\n * Thumbnail types are described in the\n * [Telegram docs](https://core.telegram.org/api/files#image-thumbnail-types),\n * and are also available as static members of {@link Thumbnail} for convenience.\n *\n * @param type Thumbnail type\n */\n getThumbnail(type: string): Thumbnail | null {\n return this.thumbnails.find((it) => it.type === type) ?? null\n }\n\n /**\n * Find stickers given their emoji.\n *\n * @param emoji Emoji to search for\n * @throws MtEmptyError\n * In case this object does not contain info about stickers (i.e. {@link isFull} = false)\n */\n getStickersByEmoji(emoji: string): StickerInfo[] {\n return this.stickers.filter((it) => it.alt === emoji || it.emoji.includes(emoji))\n }\n\n private _getInputDocument(idx: number): tl.TypeInputDocument {\n if (!this.full) throw new MtEmptyError()\n\n if (idx < 0) idx = this.full.documents.length + idx\n const doc = this.full.documents[idx] as tl.RawDocument\n\n if (!doc) {\n throw new RangeError(`Sticker set does not have sticker ${idx}`)\n }\n\n return {\n _: 'inputDocument',\n id: doc.id,\n accessHash: doc.accessHash,\n fileReference: doc.fileReference,\n }\n }\n}\n\nmemoizeGetters(StickerSet, ['thumbnails', 'stickers'])\nmakeInspectable(StickerSet, ['isFull'])\n\nexport interface InputStickerSetItem {\n /**\n * File containing the sticker.\n *\n * For normal stickers: must be a `.png` or `.webp` file\n * up to 512kb, having both dimensions `<=512px`, and having\n * one of the dimensions `==512px`\n *\n * For animated stickers: must be a `.tgs` file\n * up to 64kb, having canvas dimensions exactly\n * `512x512`px, duration no more than 3 seconds\n * and animated at 60fps ([source](https://core.telegram.org/animated_stickers#technical-requirements))\n */\n file: InputFileLike\n\n /**\n * One or more emojis that represent this sticker\n */\n emojis: string\n\n /**\n * In case this is a mask sticker,\n * position of the mask\n */\n maskPosition?: MaskPosition\n}\n"]}
@@ -7,6 +7,11 @@ const index_js_1 = require("../../utils/index.js");
7
7
  * Account takeout session
8
8
  */
9
9
  class TakeoutSession {
10
+ client;
11
+ /**
12
+ * Takeout session id
13
+ */
14
+ id;
10
15
  constructor(client, session) {
11
16
  this.client = client;
12
17
  this.id = session.id;
@@ -1 +1 @@
1
- {"version":3,"file":"takeout-session.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/misc/takeout-session.ts"],"names":[],"mappings":";;;AAIA,0EAA8D;AAE9D,mDAAsD;AAEtD;;GAEG;AACH,MAAa,cAAc;IAMvB,YACa,MAAuB,EAChC,OAA8B;QADrB,WAAM,GAAN,MAAM,CAAiB;QAGhC,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAA;IACxB,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,IAAI,CACN,OAAmC,EACnC,MAAuB;QAEvB,+DAA+D;QAC/D,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CACnB;YACI,CAAC,EAAE,mBAAmB;YACtB,SAAS,EAAE,IAAI,CAAC,EAAE;YAClB,KAAK,EAAE,OAAO;YACd,8DAA8D;SAC1D,EACR,MAAM,CACT,CAAA;IACL,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,WAAW,CAAC,SAAyC;QACjD,MAAM,SAAS,GAA2B,SAAS,CAAC,CAAC;YACjD,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;gBACZ,IAAI,SAAS,CAAC,GAAG,CAAC,EAAE;oBAChB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;iBAChC;gBAED,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;YACxC,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAExB,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE;YAC1B,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ;gBACtB,IAAI,IAAI,KAAK,MAAM;oBAAE,OAAO,SAAS,CAAA;gBAErC,+DAA+D;gBAC/D,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;YAC9C,CAAC;SACJ,CAAC,CAAA;IACN,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI;QACvB,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC;YACtB,CAAC,EAAE,8BAA8B;YACjC,OAAO;SACV,CAAC,CAAA;QAEF,IAAA,+BAAU,EAAC,8BAA8B,EAAE,CAAC,CAAC,CAAA;IACjD,CAAC;CACJ;AAzFD,wCAyFC;AAED,IAAA,0BAAe,EAAC,cAAc,CAAC,CAAA","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { RpcCallOptions } from '../../../network/network-manager.js'\nimport { MustEqual } from '../../../types/utils.js'\nimport { assertTrue } from '../../../utils/type-assertions.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { makeInspectable } from '../../utils/index.js'\n\n/**\n * Account takeout session\n */\nexport class TakeoutSession {\n /**\n * Takeout session id\n */\n readonly id: tl.Long\n\n constructor(\n readonly client: ITelegramClient,\n session: tl.account.RawTakeout,\n ) {\n this.id = session.id\n }\n\n /**\n * Make an API call using this takeout session\n *\n * This method just wraps the query into `invokeWithTakeout`\n * and passes the control down to {@link TelegramClient.call}.\n *\n * @param message RPC method to call\n * @param params Additional call parameters\n */\n async call<T extends tl.RpcMethod>(\n message: MustEqual<T, tl.RpcMethod>,\n params?: RpcCallOptions,\n ): Promise<tl.RpcCallReturn[T['_']]> {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return this.client.call(\n {\n _: 'invokeWithTakeout',\n takeoutId: this.id,\n query: message,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } as any,\n params,\n )\n }\n\n /**\n * Create a proxy over {@link TelegramClient}\n * that will use this takeout session to call methods.\n *\n * You can optionally provide a function to check if some\n * RPC method should be called via a takeout session or directly,\n * otherwise all methods are called through the takeout session.\n *\n * > **Note**: This will return a `Proxy` object that\n * > overrides `call` method. Using this method requires\n * > that your target environment supports `Proxy` and `Reflect` APIs\n *\n * @param predicate\n * Function that given the RPC call should determine whether\n * that call should be called via takeout session or not.\n * Returning `true` will use takeout session, `false` will not.\n */\n createProxy(predicate?: (obj: tl.TlObject) => boolean): ITelegramClient {\n const boundCall: TakeoutSession['call'] = predicate ?\n (obj, params) => {\n if (predicate(obj)) {\n return this.call(obj, params)\n }\n\n return this.client.call(obj, params)\n } :\n this.call.bind(this)\n\n return new Proxy(this.client, {\n get(target, prop, receiver) {\n if (prop === 'call') return boundCall\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return Reflect.get(target, prop, receiver)\n },\n })\n }\n\n /**\n * Finish account takeout session\n *\n * @param success Whether the data was successfully exported\n */\n async finish(success = true): Promise<void> {\n const r = await this.call({\n _: 'account.finishTakeoutSession',\n success,\n })\n\n assertTrue('account.finishTakeoutSession', r)\n }\n}\n\nmakeInspectable(TakeoutSession)\n"]}
1
+ {"version":3,"file":"takeout-session.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/misc/takeout-session.ts"],"names":[],"mappings":";;;AAIA,0EAA8D;AAE9D,mDAAsD;AAEtD;;GAEG;AACH,MAAa,cAAc;IAOV;IANb;;OAEG;IACM,EAAE,CAAS;IAEpB,YACa,MAAuB,EAChC,OAA8B;QADrB,WAAM,GAAN,MAAM,CAAiB;QAGhC,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAA;IACxB,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,IAAI,CACN,OAAmC,EACnC,MAAuB;QAEvB,+DAA+D;QAC/D,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CACnB;YACI,CAAC,EAAE,mBAAmB;YACtB,SAAS,EAAE,IAAI,CAAC,EAAE;YAClB,KAAK,EAAE,OAAO;YACd,8DAA8D;SAC1D,EACR,MAAM,CACT,CAAA;IACL,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,WAAW,CAAC,SAAyC;QACjD,MAAM,SAAS,GAA2B,SAAS,CAAC,CAAC;YACjD,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;gBACZ,IAAI,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;oBACjB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;gBACjC,CAAC;gBAED,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;YACxC,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAExB,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE;YAC1B,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ;gBACtB,IAAI,IAAI,KAAK,MAAM;oBAAE,OAAO,SAAS,CAAA;gBAErC,+DAA+D;gBAC/D,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;YAC9C,CAAC;SACJ,CAAC,CAAA;IACN,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI;QACvB,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC;YACtB,CAAC,EAAE,8BAA8B;YACjC,OAAO;SACV,CAAC,CAAA;QAEF,IAAA,+BAAU,EAAC,8BAA8B,EAAE,CAAC,CAAC,CAAA;IACjD,CAAC;CACJ;AAzFD,wCAyFC;AAED,IAAA,0BAAe,EAAC,cAAc,CAAC,CAAA","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { RpcCallOptions } from '../../../network/network-manager.js'\nimport { MustEqual } from '../../../types/utils.js'\nimport { assertTrue } from '../../../utils/type-assertions.js'\nimport { ITelegramClient } from '../../client.types.js'\nimport { makeInspectable } from '../../utils/index.js'\n\n/**\n * Account takeout session\n */\nexport class TakeoutSession {\n /**\n * Takeout session id\n */\n readonly id: tl.Long\n\n constructor(\n readonly client: ITelegramClient,\n session: tl.account.RawTakeout,\n ) {\n this.id = session.id\n }\n\n /**\n * Make an API call using this takeout session\n *\n * This method just wraps the query into `invokeWithTakeout`\n * and passes the control down to {@link TelegramClient.call}.\n *\n * @param message RPC method to call\n * @param params Additional call parameters\n */\n async call<T extends tl.RpcMethod>(\n message: MustEqual<T, tl.RpcMethod>,\n params?: RpcCallOptions,\n ): Promise<tl.RpcCallReturn[T['_']]> {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return this.client.call(\n {\n _: 'invokeWithTakeout',\n takeoutId: this.id,\n query: message,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } as any,\n params,\n )\n }\n\n /**\n * Create a proxy over {@link TelegramClient}\n * that will use this takeout session to call methods.\n *\n * You can optionally provide a function to check if some\n * RPC method should be called via a takeout session or directly,\n * otherwise all methods are called through the takeout session.\n *\n * > **Note**: This will return a `Proxy` object that\n * > overrides `call` method. Using this method requires\n * > that your target environment supports `Proxy` and `Reflect` APIs\n *\n * @param predicate\n * Function that given the RPC call should determine whether\n * that call should be called via takeout session or not.\n * Returning `true` will use takeout session, `false` will not.\n */\n createProxy(predicate?: (obj: tl.TlObject) => boolean): ITelegramClient {\n const boundCall: TakeoutSession['call'] = predicate ?\n (obj, params) => {\n if (predicate(obj)) {\n return this.call(obj, params)\n }\n\n return this.client.call(obj, params)\n } :\n this.call.bind(this)\n\n return new Proxy(this.client, {\n get(target, prop, receiver) {\n if (prop === 'call') return boundCall\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return Reflect.get(target, prop, receiver)\n },\n })\n }\n\n /**\n * Finish account takeout session\n *\n * @param success Whether the data was successfully exported\n */\n async finish(success = true): Promise<void> {\n const r = await this.call({\n _: 'account.finishTakeoutSession',\n success,\n })\n\n assertTrue('account.finishTakeoutSession', r)\n }\n}\n\nmakeInspectable(TakeoutSession)\n"]}
@@ -6,6 +6,8 @@ const inspectable_js_1 = require("../../utils/inspectable.js");
6
6
  * Information about colors of a chat
7
7
  */
8
8
  class ChatColors {
9
+ _peerId;
10
+ raw;
9
11
  constructor(_peerId, raw) {
10
12
  this._peerId = _peerId;
11
13
  this.raw = raw;
@@ -1 +1 @@
1
- {"version":3,"file":"chat-colors.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/peers/chat-colors.ts"],"names":[],"mappings":";;;AAEA,+DAA4D;AAE5D;;GAEG;AACH,MAAa,UAAU;IACnB,YACqB,OAAe,EACvB,GAAqB;QADb,YAAO,GAAP,OAAO,CAAQ;QACvB,QAAG,GAAH,GAAG,CAAkB;IAC/B,CAAC;IAEJ;;;;;;;;;OASG;IACH,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,GAAG,EAAE,KAAK,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,CAAA;IAC9C,CAAC;IAED;;;OAGG;IACH,IAAI,iBAAiB;QACjB,OAAO,IAAI,CAAC,GAAG,EAAE,iBAAiB,IAAI,IAAI,CAAA;IAC9C,CAAC;CACJ;AA3BD,gCA2BC;AAED,IAAA,gCAAe,EAAC,UAAU,CAAC,CAAA","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { makeInspectable } from '../../utils/inspectable.js'\n\n/**\n * Information about colors of a chat\n */\nexport class ChatColors {\n constructor(\n private readonly _peerId: number,\n readonly raw?: tl.RawPeerColor,\n ) {}\n\n /**\n * Color ID\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 get color(): number {\n return this.raw?.color ?? this._peerId % 7\n }\n\n /**\n * ID of the emoji that should be used as a background pattern\n * when rendering the color\n */\n get backgroundEmojiId(): tl.Long | null {\n return this.raw?.backgroundEmojiId ?? null\n }\n}\n\nmakeInspectable(ChatColors)\n"]}
1
+ {"version":3,"file":"chat-colors.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/peers/chat-colors.ts"],"names":[],"mappings":";;;AAEA,+DAA4D;AAE5D;;GAEG;AACH,MAAa,UAAU;IAEE;IACR;IAFb,YACqB,OAAe,EACvB,GAAqB;QADb,YAAO,GAAP,OAAO,CAAQ;QACvB,QAAG,GAAH,GAAG,CAAkB;IAC/B,CAAC;IAEJ;;;;;;;;;OASG;IACH,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,GAAG,EAAE,KAAK,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,CAAA;IAC9C,CAAC;IAED;;;OAGG;IACH,IAAI,iBAAiB;QACjB,OAAO,IAAI,CAAC,GAAG,EAAE,iBAAiB,IAAI,IAAI,CAAA;IAC9C,CAAC;CACJ;AA3BD,gCA2BC;AAED,IAAA,gCAAe,EAAC,UAAU,CAAC,CAAA","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { makeInspectable } from '../../utils/inspectable.js'\n\n/**\n * Information about colors of a chat\n */\nexport class ChatColors {\n constructor(\n private readonly _peerId: number,\n readonly raw?: tl.RawPeerColor,\n ) {}\n\n /**\n * Color ID\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 get color(): number {\n return this.raw?.color ?? this._peerId % 7\n }\n\n /**\n * ID of the emoji that should be used as a background pattern\n * when rendering the color\n */\n get backgroundEmojiId(): tl.Long | null {\n return this.raw?.backgroundEmojiId ?? null\n }\n}\n\nmakeInspectable(ChatColors)\n"]}
@@ -6,6 +6,7 @@ import { ChatLocation } from '../chat-location.js';
6
6
  import { ChatMember } from '../chat-member.js';
7
7
  import { ChatPermissions } from '../chat-permissions.js';
8
8
  import { ForumTopic } from '../forum-topic.js';
9
+ import { PeersIndex } from '../peers-index.js';
9
10
  import { User } from '../user.js';
10
11
  /** A user has joined the channel (in the case of big groups, info of the user that has joined isn't shown) */
11
12
  export interface ChatActionUserJoined {
@@ -261,3 +262,5 @@ export interface ChatActionTopicDeleted {
261
262
  }
262
263
  /** Chat event action (`null` if unsupported) */
263
264
  export type ChatAction = ChatActionUserJoined | ChatActionUserLeft | ChatActionUserInvited | ChatActionTitleChanged | ChatActionDescriptionChanged | ChatActionUsernameChanged | ChatActionUsernamesChanged | ChatActionPhotoChanged | ChatActionInvitesToggled | ChatActionSignaturesToggled | ChatActionMessagePinned | ChatActionMessageEdited | ChatActionMessageDeleted | ChatActionUserPermissionsChanged | ChatActionUserAdminPermissionsChanged | ChatActionStickersetChanged | ChatActionHistoryToggled | ChatActionDefaultPermissionsChanged | ChatActionPollStopped | ChatActionLinkedChatChanged | ChatActionLocationChanged | ChatActionSlowModeChanged | ChatActionCallStarted | ChatActionCallEnded | ChatActionCallSettingChanged | ChatActionUserJoinedInvite | ChatActionInviteLinkDeleted | ChatActionInviteLinkEdited | ChatActionInviteLinkRevoked | ChatActionUserJoinedApproved | ChatActionTtlChanged | ChatActionNoForwardsToggled | ChatActionForumToggled | ChatActionTopicCreated | ChatActionTopicEdited | ChatActionTopicDeleted | null;
265
+ /** @internal */
266
+ export declare function _actionFromTl(e: tl.TypeChannelAdminLogEventAction, peers: PeersIndex): ChatAction;