@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
@@ -8,6 +8,9 @@ export class MtPeerNotFoundError extends MtcuteError {
8
8
  * Could not find a message by the provided information
9
9
  */
10
10
  export class MtMessageNotFoundError extends MtcuteError {
11
+ peerId;
12
+ messageId;
13
+ context;
11
14
  constructor(peerId, messageId, context) {
12
15
  super(`Message${context ? ' ' + context : ''} ${messageId} not found in ${peerId}`);
13
16
  this.peerId = peerId;
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../src/highlevel/types/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAGnD;;GAEG;AACH,MAAM,OAAO,mBAAoB,SAAQ,WAAW;CAAG;AAEvD;;GAEG;AACH,MAAM,OAAO,sBAAuB,SAAQ,WAAW;IACnD,YACa,MAAc,EACd,SAAiB,EACjB,OAAgB;QAEzB,KAAK,CAAC,UAAU,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,SAAS,iBAAiB,MAAM,EAAE,CAAC,CAAA;QAJ1E,WAAM,GAAN,MAAM,CAAQ;QACd,cAAS,GAAT,SAAS,CAAQ;QACjB,YAAO,GAAP,OAAO,CAAS;IAG7B,CAAC;CACJ;AAED;;;;;;GAMG;AACH,MAAM,OAAO,sBAAuB,SAAQ,WAAW;IACnD,YAAY,IAAmB,EAAE,QAAgB;QAC7C,KAAK,CAAC,uBAAuB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAA;IAC7E,CAAC;CACJ;AAED;;;GAGG;AACH,MAAM,OAAO,YAAa,SAAQ,WAAW;IACzC;QACI,KAAK,CAAC,8CAA8C,CAAC,CAAA;IACzD,CAAC;CACJ","sourcesContent":["import { MtcuteError } from '../../types/errors.js'\nimport { InputPeerLike } from './peers/index.js'\n\n/**\n * Could not find a peer by the provided information\n */\nexport class MtPeerNotFoundError extends MtcuteError {}\n\n/**\n * Could not find a message by the provided information\n */\nexport class MtMessageNotFoundError extends MtcuteError {\n constructor(\n readonly peerId: number,\n readonly messageId: number,\n readonly context?: string,\n ) {\n super(`Message${context ? ' ' + context : ''} ${messageId} not found in ${peerId}`)\n }\n}\n\n/**\n * Some method that requires a particular type of peer\n * is called, but the resolved peer type is invalid.\n *\n * For example, when trying to get common chats\n * while providing another chat as `userId`\n */\nexport class MtInvalidPeerTypeError extends MtcuteError {\n constructor(peer: InputPeerLike, expected: string) {\n super(`Provided identifier ${JSON.stringify(peer)} is not a ${expected}`)\n }\n}\n\n/**\n * Trying to access to some property on an object that does not\n * contain that information.\n */\nexport class MtEmptyError extends MtcuteError {\n constructor() {\n super('Property is not available on an empty object')\n }\n}\n"]}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../src/highlevel/types/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAGnD;;GAEG;AACH,MAAM,OAAO,mBAAoB,SAAQ,WAAW;CAAG;AAEvD;;GAEG;AACH,MAAM,OAAO,sBAAuB,SAAQ,WAAW;IAEtC;IACA;IACA;IAHb,YACa,MAAc,EACd,SAAiB,EACjB,OAAgB;QAEzB,KAAK,CAAC,UAAU,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,SAAS,iBAAiB,MAAM,EAAE,CAAC,CAAA;QAJ1E,WAAM,GAAN,MAAM,CAAQ;QACd,cAAS,GAAT,SAAS,CAAQ;QACjB,YAAO,GAAP,OAAO,CAAS;IAG7B,CAAC;CACJ;AAED;;;;;;GAMG;AACH,MAAM,OAAO,sBAAuB,SAAQ,WAAW;IACnD,YAAY,IAAmB,EAAE,QAAgB;QAC7C,KAAK,CAAC,uBAAuB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAA;IAC7E,CAAC;CACJ;AAED;;;GAGG;AACH,MAAM,OAAO,YAAa,SAAQ,WAAW;IACzC;QACI,KAAK,CAAC,8CAA8C,CAAC,CAAA;IACzD,CAAC;CACJ","sourcesContent":["import { MtcuteError } from '../../types/errors.js'\nimport { InputPeerLike } from './peers/index.js'\n\n/**\n * Could not find a peer by the provided information\n */\nexport class MtPeerNotFoundError extends MtcuteError {}\n\n/**\n * Could not find a message by the provided information\n */\nexport class MtMessageNotFoundError extends MtcuteError {\n constructor(\n readonly peerId: number,\n readonly messageId: number,\n readonly context?: string,\n ) {\n super(`Message${context ? ' ' + context : ''} ${messageId} not found in ${peerId}`)\n }\n}\n\n/**\n * Some method that requires a particular type of peer\n * is called, but the resolved peer type is invalid.\n *\n * For example, when trying to get common chats\n * while providing another chat as `userId`\n */\nexport class MtInvalidPeerTypeError extends MtcuteError {\n constructor(peer: InputPeerLike, expected: string) {\n super(`Provided identifier ${JSON.stringify(peer)} is not a ${expected}`)\n }\n}\n\n/**\n * Trying to access to some property on an object that does not\n * contain that information.\n */\nexport class MtEmptyError extends MtcuteError {\n constructor() {\n super('Property is not available on an empty object')\n }\n}\n"]}
@@ -6,6 +6,9 @@ import { makeInspectable } from '../../utils/index.js';
6
6
  * including ones that are embedded directly into the entity.
7
7
  */
8
8
  class FileLocation {
9
+ location;
10
+ fileSize;
11
+ dcId;
9
12
  constructor(
10
13
  /**
11
14
  * Location of the file.
@@ -1 +1 @@
1
- {"version":3,"file":"file-location.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/files/file-location.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD;;;;;GAKG;AACH,MAAM,OAAO,YAAY;IACrB;IACI;;;;;;;;;OASG;IACM,QAIwE;IACjF;;OAEG;IACM,QAAiB;IAC1B;;OAEG;IACM,IAAa;QAZb,aAAQ,GAAR,QAAQ,CAIgE;QAIxE,aAAQ,GAAR,QAAQ,CAAS;QAIjB,SAAI,GAAJ,IAAI,CAAS;IACvB,CAAC;CACP;AAED,eAAe,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAA","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { makeInspectable } from '../../utils/index.js'\n\n/**\n * Information about file location.\n *\n * Catch-all class for all kinds of Telegram file locations,\n * including ones that are embedded directly into the entity.\n */\nexport class FileLocation {\n constructor(\n /**\n * Location of the file.\n *\n * Either a TL object declaring remote file location,\n * a Buffer containing actual file content (for stripped thumbnails and vector previews),\n * or a function that will return either of those.\n *\n * When a function is passed, it will be lazily resolved the\n * first time downloading the file.\n */\n readonly location:\n | tl.TypeInputFileLocation\n | tl.TypeInputWebFileLocation\n | Uint8Array\n | (() => tl.TypeInputFileLocation | tl.TypeInputWebFileLocation | Uint8Array),\n /**\n * File size in bytes, when available\n */\n readonly fileSize?: number,\n /**\n * DC ID of the file, when available\n */\n readonly dcId?: number,\n ) {}\n}\n\nmakeInspectable(FileLocation, ['fileSize', 'dcId'])\n"]}
1
+ {"version":3,"file":"file-location.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/files/file-location.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD;;;;;GAKG;AACH,MAAM,OAAO,YAAY;IAYR;IAQA;IAIA;IAvBb;IACI;;;;;;;;;OASG;IACM,QAIwE;IACjF;;OAEG;IACM,QAAiB;IAC1B;;OAEG;IACM,IAAa;QAZb,aAAQ,GAAR,QAAQ,CAIgE;QAIxE,aAAQ,GAAR,QAAQ,CAAS;QAIjB,SAAI,GAAJ,IAAI,CAAS;IACvB,CAAC;CACP;AAED,eAAe,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAA","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { makeInspectable } from '../../utils/index.js'\n\n/**\n * Information about file location.\n *\n * Catch-all class for all kinds of Telegram file locations,\n * including ones that are embedded directly into the entity.\n */\nexport class FileLocation {\n constructor(\n /**\n * Location of the file.\n *\n * Either a TL object declaring remote file location,\n * a Buffer containing actual file content (for stripped thumbnails and vector previews),\n * or a function that will return either of those.\n *\n * When a function is passed, it will be lazily resolved the\n * first time downloading the file.\n */\n readonly location:\n | tl.TypeInputFileLocation\n | tl.TypeInputWebFileLocation\n | Uint8Array\n | (() => tl.TypeInputFileLocation | tl.TypeInputWebFileLocation | Uint8Array),\n /**\n * File size in bytes, when available\n */\n readonly fileSize?: number,\n /**\n * DC ID of the file, when available\n */\n readonly dcId?: number,\n ) {}\n}\n\nmakeInspectable(FileLocation, ['fileSize', 'dcId'])\n"]}
@@ -20,3 +20,5 @@ export interface UploadedFile {
20
20
  */
21
21
  mime: string;
22
22
  }
23
+ /** @internal */
24
+ export declare function isUploadedFile(obj: unknown): obj is UploadedFile;
@@ -1,5 +1,5 @@
1
1
  /** @internal */
2
2
  export function isUploadedFile(obj) {
3
- return obj && typeof obj === 'object' && 'inputFile' in obj && 'size' in obj && 'mime' in obj;
3
+ return obj !== null && typeof obj === 'object' && 'inputFile' in obj && 'size' in obj && 'mime' in obj;
4
4
  }
5
5
  //# sourceMappingURL=uploaded-file.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"uploaded-file.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/files/uploaded-file.ts"],"names":[],"mappings":"AA0BA,gBAAgB;AAChB,MAAM,UAAU,cAAc,CAAC,GAAW;IACtC,OAAO,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,WAAW,IAAI,GAAG,IAAI,MAAM,IAAI,GAAG,IAAI,MAAM,IAAI,GAAG,CAAA;AACjG,CAAC","sourcesContent":["import { tl } from '@mtcute/tl'\n\n/**\n * Describes a file uploaded to the Telegram servers\n * using {@link TelegramClient.uploadFile} method.\n */\nexport interface UploadedFile {\n /**\n * Raw TL input file to be used in other methods.\n *\n * Very low-level stuff, usually you shouldn't care about it.\n */\n inputFile: tl.TypeInputFile\n\n /**\n * File size in bytes\n */\n size: number\n\n /**\n * File MIME type, either the one passed or\n * the one derived from file contents.\n */\n mime: string\n}\n\n/** @internal */\nexport function isUploadedFile(obj: object): obj is UploadedFile {\n return obj && typeof obj === 'object' && 'inputFile' in obj && 'size' in obj && 'mime' in obj\n}\n"]}
1
+ {"version":3,"file":"uploaded-file.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/files/uploaded-file.ts"],"names":[],"mappings":"AA0BA,gBAAgB;AAChB,MAAM,UAAU,cAAc,CAAC,GAAY;IACvC,OAAO,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,WAAW,IAAI,GAAG,IAAI,MAAM,IAAI,GAAG,IAAI,MAAM,IAAI,GAAG,CAAA;AAC1G,CAAC","sourcesContent":["import { tl } from '@mtcute/tl'\n\n/**\n * Describes a file uploaded to the Telegram servers\n * using {@link TelegramClient.uploadFile} method.\n */\nexport interface UploadedFile {\n /**\n * Raw TL input file to be used in other methods.\n *\n * Very low-level stuff, usually you shouldn't care about it.\n */\n inputFile: tl.TypeInputFile\n\n /**\n * File size in bytes\n */\n size: number\n\n /**\n * File MIME type, either the one passed or\n * the one derived from file contents.\n */\n mime: string\n}\n\n/** @internal */\nexport function isUploadedFile(obj: unknown): obj is UploadedFile {\n return obj !== null && typeof obj === 'object' && 'inputFile' in obj && 'size' in obj && 'mime' in obj\n}\n"]}
@@ -1,8 +1,6 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- /// <reference types="node" resolution-mode="require"/>
3
- import type { ReadStream } from 'fs';
4
1
  import { tdFileId } from '@mtcute/file-id';
5
2
  import { tl } from '@mtcute/tl';
3
+ import { AnyToNever } from '../../../types/utils.js';
6
4
  import { FileLocation } from './file-location.js';
7
5
  import { UploadedFile } from './uploaded-file.js';
8
6
  /**
@@ -12,13 +10,14 @@ import { UploadedFile } from './uploaded-file.js';
12
10
  * - `File`, `Blob` (from the Web API)
13
11
  * - `string`, which will be interpreted as file path (**non-browser only!**)
14
12
  * - `URL` (from the Web API, will be `fetch()`-ed; `file://` URLs are not available in browsers)
15
- * - `ReadStream` (for Node.js/Bun, from the `fs` module)
13
+ * - `ReadStream` (for Node.js/Bun, from the `node:fs` module)
16
14
  * - `BunFile` (from `Bun.file()`)
15
+ * - `Deno.FsFile` (from `Deno.open()` in Deno)
17
16
  * - `ReadableStream` (Web API readable stream)
18
17
  * - `Readable` (Node.js/Bun readable stream)
19
18
  * - `Response` (from `window.fetch`)
20
19
  */
21
- export type UploadFileLike = URL | Uint8Array | File | Blob | string | ReadStream | ReadableStream<Uint8Array> | NodeJS.ReadableStream | Response;
20
+ export type UploadFileLike = URL | Uint8Array | File | Blob | string | AnyToNever<import('node:fs').ReadStream> | AnyToNever<ReadableStream<Uint8Array>> | AnyToNever<NodeJS.ReadableStream> | AnyToNever<Response> | AnyToNever<Deno.FsFile>;
22
21
  /**
23
22
  * Describes types that can be used as an input
24
23
  * to any methods that send media (like {@link TelegramClient.sendPhoto})
@@ -29,6 +28,8 @@ export type UploadFileLike = URL | Uint8Array | File | Blob | string | ReadStrea
29
28
  * - `ReadStream` (for Node.js/Bun, from the `fs` module)
30
29
  * - `ReadableStream` (from the Web API, base readable stream)
31
30
  * - `Readable` (for Node.js/Bun, base readable stream)
31
+ * - `BunFile` (from `Bun.file()`)
32
+ * - `Deno.FsFile` (from `Deno.open()` in Deno)
32
33
  * - {@link UploadedFile} returned from {@link TelegramClient.uploadFile}
33
34
  * - `tl.TypeInputFile` and `tl.TypeInputMedia` TL objects
34
35
  * - `string` with a path to a local file prepended with `file:` (non-browser only) (e.g. `file:image.jpg`)
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/files/utils.ts"],"names":[],"mappings":"","sourcesContent":["/* eslint-disable no-restricted-imports */\nimport type { ReadStream } from 'fs'\n\nimport { tdFileId } from '@mtcute/file-id'\nimport { tl } from '@mtcute/tl'\n\nimport { FileLocation } from './file-location.js'\nimport { UploadedFile } from './uploaded-file.js'\n\n/**\n * Describes types that can be used in {@link TelegramClient.uploadFile}\n * method. Can be one of:\n * - `Uint8Array`/`Buffer`, which will be interpreted as raw file contents\n * - `File`, `Blob` (from the Web API)\n * - `string`, which will be interpreted as file path (**non-browser only!**)\n * - `URL` (from the Web API, will be `fetch()`-ed; `file://` URLs are not available in browsers)\n * - `ReadStream` (for Node.js/Bun, from the `fs` module)\n * - `BunFile` (from `Bun.file()`)\n * - `ReadableStream` (Web API readable stream)\n * - `Readable` (Node.js/Bun readable stream)\n * - `Response` (from `window.fetch`)\n */\nexport type UploadFileLike =\n | URL\n | Uint8Array\n | File\n | Blob\n | string\n | ReadStream\n | ReadableStream<Uint8Array>\n | NodeJS.ReadableStream\n | Response\n\n/**\n * Describes types that can be used as an input\n * to any methods that send media (like {@link TelegramClient.sendPhoto})\n *\n * Can be one of:\n * - `Buffer`, which will be interpreted as raw file contents\n * - `File` (from the Web API)\n * - `ReadStream` (for Node.js/Bun, from the `fs` module)\n * - `ReadableStream` (from the Web API, base readable stream)\n * - `Readable` (for Node.js/Bun, base readable stream)\n * - {@link UploadedFile} returned from {@link TelegramClient.uploadFile}\n * - `tl.TypeInputFile` and `tl.TypeInputMedia` TL objects\n * - `string` with a path to a local file prepended with `file:` (non-browser only) (e.g. `file:image.jpg`)\n * - `string` with a URL to remote files (e.g. `https://example.com/image.jpg`)\n * - `string` with TDLib and Bot API compatible File ID.\n * - `URL` (from the Web API, will be `fetch()`-ed if needed; `file://` URLs are not available in browsers)\n * - `td.RawFullRemoteFileLocation` (parsed File ID)\n */\nexport type InputFileLike =\n | UploadFileLike\n | UploadedFile\n | tl.TypeInputFile\n | tl.TypeInputMedia\n | tdFileId.RawFullRemoteFileLocation\n\n/**\n * File location which should be downloaded.\n * You can also provide TDLib and Bot API compatible File ID\n */\nexport type FileDownloadLocation = tl.TypeInputFileLocation | tl.TypeInputWebFileLocation | FileLocation | string\n\nexport interface FileDownloadParameters {\n /**\n * Total file size, if known.\n * Used to determine upload part size.\n * In some cases can be inferred from `file` automatically.\n */\n fileSize?: number\n\n /**\n * Download part size (in KB).\n * By default, automatically selected depending on the file size\n * (or 64, if not provided). Must not be bigger than 512,\n * must not be a fraction, and must be divisible by 4.\n */\n partSize?: number\n\n /**\n * DC id from which the file will be downloaded.\n *\n * If provided DC is not the one storing the file,\n * redirection will be handled automatically.\n */\n dcId?: number\n\n /**\n * Offset in bytes. Must be divisible by 4096 (4 KB).\n */\n offset?: number\n\n /**\n * Number of bytes to be downloaded.\n * By default, downloads the entire file\n */\n limit?: number\n\n /**\n * Function that will be called after some part has been downloaded.\n *\n * @param uploaded Number of bytes already downloaded\n * @param total Total file size (`Infinity` if not available)\n */\n progressCallback?: (downloaded: number, total: number) => void\n\n /**\n * Abort signal that can be used to cancel the download.\n */\n abortSignal?: AbortSignal\n}\n"]}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/files/utils.ts"],"names":[],"mappings":"","sourcesContent":["import { tdFileId } from '@mtcute/file-id'\nimport { tl } from '@mtcute/tl'\n\nimport { AnyToNever } from '../../../types/utils.js'\nimport { FileLocation } from './file-location.js'\nimport { UploadedFile } from './uploaded-file.js'\n\n/**\n * Describes types that can be used in {@link TelegramClient.uploadFile}\n * method. Can be one of:\n * - `Uint8Array`/`Buffer`, which will be interpreted as raw file contents\n * - `File`, `Blob` (from the Web API)\n * - `string`, which will be interpreted as file path (**non-browser only!**)\n * - `URL` (from the Web API, will be `fetch()`-ed; `file://` URLs are not available in browsers)\n * - `ReadStream` (for Node.js/Bun, from the `node:fs` module)\n * - `BunFile` (from `Bun.file()`)\n * - `Deno.FsFile` (from `Deno.open()` in Deno)\n * - `ReadableStream` (Web API readable stream)\n * - `Readable` (Node.js/Bun readable stream)\n * - `Response` (from `window.fetch`)\n */\nexport type UploadFileLike =\n | URL\n | Uint8Array\n | File\n | Blob\n | string\n | AnyToNever<import('node:fs').ReadStream>\n | AnyToNever<ReadableStream<Uint8Array>>\n | AnyToNever<NodeJS.ReadableStream>\n | AnyToNever<Response>\n | AnyToNever<Deno.FsFile>\n\n// AnyToNever in the above type ensures we don't make the entire type `any`\n// if some of the types are not available in the current environment\n\n/**\n * Describes types that can be used as an input\n * to any methods that send media (like {@link TelegramClient.sendPhoto})\n *\n * Can be one of:\n * - `Buffer`, which will be interpreted as raw file contents\n * - `File` (from the Web API)\n * - `ReadStream` (for Node.js/Bun, from the `fs` module)\n * - `ReadableStream` (from the Web API, base readable stream)\n * - `Readable` (for Node.js/Bun, base readable stream)\n * - `BunFile` (from `Bun.file()`)\n * - `Deno.FsFile` (from `Deno.open()` in Deno)\n * - {@link UploadedFile} returned from {@link TelegramClient.uploadFile}\n * - `tl.TypeInputFile` and `tl.TypeInputMedia` TL objects\n * - `string` with a path to a local file prepended with `file:` (non-browser only) (e.g. `file:image.jpg`)\n * - `string` with a URL to remote files (e.g. `https://example.com/image.jpg`)\n * - `string` with TDLib and Bot API compatible File ID.\n * - `URL` (from the Web API, will be `fetch()`-ed if needed; `file://` URLs are not available in browsers)\n * - `td.RawFullRemoteFileLocation` (parsed File ID)\n */\nexport type InputFileLike =\n | UploadFileLike\n | UploadedFile\n | tl.TypeInputFile\n | tl.TypeInputMedia\n | tdFileId.RawFullRemoteFileLocation\n\n/**\n * File location which should be downloaded.\n * You can also provide TDLib and Bot API compatible File ID\n */\nexport type FileDownloadLocation = tl.TypeInputFileLocation | tl.TypeInputWebFileLocation | FileLocation | string\n\nexport interface FileDownloadParameters {\n /**\n * Total file size, if known.\n * Used to determine upload part size.\n * In some cases can be inferred from `file` automatically.\n */\n fileSize?: number\n\n /**\n * Download part size (in KB).\n * By default, automatically selected depending on the file size\n * (or 64, if not provided). Must not be bigger than 512,\n * must not be a fraction, and must be divisible by 4.\n */\n partSize?: number\n\n /**\n * DC id from which the file will be downloaded.\n *\n * If provided DC is not the one storing the file,\n * redirection will be handled automatically.\n */\n dcId?: number\n\n /**\n * Offset in bytes. Must be divisible by 4096 (4 KB).\n */\n offset?: number\n\n /**\n * Number of bytes to be downloaded.\n * By default, downloads the entire file\n */\n limit?: number\n\n /**\n * Function that will be called after some part has been downloaded.\n *\n * @param uploaded Number of bytes already downloaded\n * @param total Total file size (`Infinity` if not available)\n */\n progressCallback?: (downloaded: number, total: number) => void\n\n /**\n * Abort signal that can be used to cancel the download.\n */\n abortSignal?: AbortSignal\n}\n"]}
@@ -15,6 +15,7 @@ const STUB_LOCATION = () => {
15
15
  * > To be sure, check `isDownloadable` property.
16
16
  */
17
17
  class WebDocument extends FileLocation {
18
+ raw;
18
19
  constructor(raw) {
19
20
  super(raw._ === 'webDocument' ?
20
21
  {
@@ -1 +1 @@
1
- {"version":3,"file":"web-document.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/files/web-document.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEjD,MAAM,aAAa,GAAG,GAAG,EAAE;IACvB,MAAM,IAAI,eAAe,CAAC,wDAAwD,CAAC,CAAA;AACvF,CAAC,CAAA;AAED;;;;;;;;;GASG;AACH,MAAM,OAAO,WAAY,SAAQ,YAAY;IACzC,YAAqB,GAAuB;QACxC,KAAK,CACD,GAAG,CAAC,CAAC,KAAK,aAAa,CAAC,CAAC;YACrB;gBACI,CAAC,EAAE,sBAAsB;gBACzB,GAAG,EAAE,GAAG,CAAC,GAAG;gBACZ,UAAU,EAAE,GAAG,CAAC,UAAU;aAC7B,CAAC,CAAC;YACH,aAAa,EACjB,GAAG,CAAC,IAAI,CACX,CAAA;QAVgB,QAAG,GAAH,GAAG,CAAoB;QAWxC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;IAClB,CAAC;IAED;;OAEG;IACH,IAAI,GAAG;QACH,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAA;IACvB,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAA;IAC5B,CAAC;IAED;;;;;;OAMG;IACH,IAAI,cAAc;QACd,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,aAAa,CAAA;IACvC,CAAC;CACJ;AAED,eAAe,CAAC,WAAW,CAAC,CAAA","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MtArgumentError } from '../../../types/errors.js'\nimport { makeInspectable } from '../../utils/index.js'\nimport { FileLocation } from './file-location.js'\n\nconst STUB_LOCATION = () => {\n throw new MtArgumentError('This web document is not downloadable through Telegram')\n}\n\n/**\n * An external web document, that is not\n * stored on Telegram severs, and is available\n * by a HTTP(s) url.\n *\n * > **Note**: not all web documents are downloadable\n * > through Telegram. Media files usually are,\n * > and web pages (i.e. `mimeType = text/html`) usually aren't.\n * > To be sure, check `isDownloadable` property.\n */\nexport class WebDocument extends FileLocation {\n constructor(readonly raw: tl.TypeWebDocument) {\n super(\n raw._ === 'webDocument' ?\n {\n _: 'inputWebFileLocation',\n url: raw.url,\n accessHash: raw.accessHash,\n } :\n STUB_LOCATION,\n raw.size,\n )\n this.raw = raw\n }\n\n /**\n * URL to the file\n */\n get url(): string {\n return this.raw.url\n }\n\n /**\n * MIME type of the file\n */\n get mimeType(): string {\n return this.raw.mimeType\n }\n\n /**\n * Whether this file can be downloaded through Telegram.\n *\n * If `false`, you should use {@link url} to manually\n * fetch data via HTTP(s), and trying to use `download*` methods\n * will result in an error\n */\n get isDownloadable(): boolean {\n return this.raw._ === 'webDocument'\n }\n}\n\nmakeInspectable(WebDocument)\n"]}
1
+ {"version":3,"file":"web-document.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/files/web-document.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEjD,MAAM,aAAa,GAAG,GAAG,EAAE;IACvB,MAAM,IAAI,eAAe,CAAC,wDAAwD,CAAC,CAAA;AACvF,CAAC,CAAA;AAED;;;;;;;;;GASG;AACH,MAAM,OAAO,WAAY,SAAQ,YAAY;IACpB;IAArB,YAAqB,GAAuB;QACxC,KAAK,CACD,GAAG,CAAC,CAAC,KAAK,aAAa,CAAC,CAAC;YACrB;gBACI,CAAC,EAAE,sBAAsB;gBACzB,GAAG,EAAE,GAAG,CAAC,GAAG;gBACZ,UAAU,EAAE,GAAG,CAAC,UAAU;aAC7B,CAAC,CAAC;YACH,aAAa,EACjB,GAAG,CAAC,IAAI,CACX,CAAA;QAVgB,QAAG,GAAH,GAAG,CAAoB;QAWxC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;IAClB,CAAC;IAED;;OAEG;IACH,IAAI,GAAG;QACH,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAA;IACvB,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAA;IAC5B,CAAC;IAED;;;;;;OAMG;IACH,IAAI,cAAc;QACd,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,aAAa,CAAA;IACvC,CAAC;CACJ;AAED,eAAe,CAAC,WAAW,CAAC,CAAA","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MtArgumentError } from '../../../types/errors.js'\nimport { makeInspectable } from '../../utils/index.js'\nimport { FileLocation } from './file-location.js'\n\nconst STUB_LOCATION = () => {\n throw new MtArgumentError('This web document is not downloadable through Telegram')\n}\n\n/**\n * An external web document, that is not\n * stored on Telegram severs, and is available\n * by a HTTP(s) url.\n *\n * > **Note**: not all web documents are downloadable\n * > through Telegram. Media files usually are,\n * > and web pages (i.e. `mimeType = text/html`) usually aren't.\n * > To be sure, check `isDownloadable` property.\n */\nexport class WebDocument extends FileLocation {\n constructor(readonly raw: tl.TypeWebDocument) {\n super(\n raw._ === 'webDocument' ?\n {\n _: 'inputWebFileLocation',\n url: raw.url,\n accessHash: raw.accessHash,\n } :\n STUB_LOCATION,\n raw.size,\n )\n this.raw = raw\n }\n\n /**\n * URL to the file\n */\n get url(): string {\n return this.raw.url\n }\n\n /**\n * MIME type of the file\n */\n get mimeType(): string {\n return this.raw.mimeType\n }\n\n /**\n * Whether this file can be downloaded through Telegram.\n *\n * If `false`, you should use {@link url} to manually\n * fetch data via HTTP(s), and trying to use `download*` methods\n * will result in an error\n */\n get isDownloadable(): boolean {\n return this.raw._ === 'webDocument'\n }\n}\n\nmakeInspectable(WebDocument)\n"]}
@@ -6,6 +6,9 @@ import { RawDocument } from './document.js';
6
6
  * An audio file
7
7
  */
8
8
  class Audio extends RawDocument {
9
+ attr;
10
+ /** Type of the media (for use in a tagged union) */
11
+ type = 'audio';
9
12
  /** Type of the file for File ID generation */
10
13
  _fileIdType() {
11
14
  return tdFileId.FileType.Audio;
@@ -15,8 +18,6 @@ class Audio extends RawDocument {
15
18
  attr) {
16
19
  super(doc);
17
20
  this.attr = attr;
18
- /** Type of the media (for use in a tagged union) */
19
- this.type = 'audio';
20
21
  }
21
22
  /**
22
23
  * Duration of the audio in seconds.
@@ -1 +1 @@
1
- {"version":3,"file":"audio.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/media/audio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAG1C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C;;GAEG;AACH,MAAM,OAAO,KAAM,SAAQ,WAAW;IAIlC,8CAA8C;IACpC,WAAW;QACjB,OAAO,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAA;IAClC,CAAC;IAED,YACI,GAAmB;IACnB,qCAAqC;IAC5B,IAAkC;QAE3C,KAAK,CAAC,GAAG,CAAC,CAAA;QAFD,SAAI,GAAJ,IAAI,CAA8B;QAX/C,oDAAoD;QAC3C,SAAI,GAAG,OAAgB,CAAA;IAahC,CAAC;IAED;;;;OAIG;IACH,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAA;IAC7B,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAA;IACtC,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAA;IAClC,CAAC;CACJ;AAED,cAAc,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAA;AAC3E,eAAe,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC,CAAA","sourcesContent":["import { tdFileId } from '@mtcute/file-id'\nimport { tl } from '@mtcute/tl'\n\nimport { makeInspectable } from '../../utils/index.js'\nimport { memoizeGetters } from '../../utils/memoize.js'\nimport { RawDocument } from './document.js'\n\n/**\n * An audio file\n */\nexport class Audio extends RawDocument {\n /** Type of the media (for use in a tagged union) */\n readonly type = 'audio' as const\n\n /** Type of the file for File ID generation */\n protected _fileIdType(): tdFileId.FileType {\n return tdFileId.FileType.Audio\n }\n\n constructor(\n doc: tl.RawDocument,\n /** TL object describing the audio */\n readonly attr: tl.RawDocumentAttributeAudio,\n ) {\n super(doc)\n }\n\n /**\n * Duration of the audio in seconds.\n *\n * May not be accurate since provided by the sender.\n */\n get duration(): number {\n return this.attr.duration\n }\n\n /**\n * Performer of the audio track.\n */\n get performer(): string | null {\n return this.attr.performer ?? null\n }\n\n /**\n * Title of the audio track.\n */\n get title(): string | null {\n return this.attr.title ?? null\n }\n}\n\nmemoizeGetters(Audio, ['fileName', 'thumbnails', 'fileId', 'uniqueFileId'])\nmakeInspectable(Audio, ['fileSize', 'dcId'], ['inputMedia', 'inputDocument'])\n"]}
1
+ {"version":3,"file":"audio.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/media/audio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAG1C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C;;GAEG;AACH,MAAM,OAAO,KAAM,SAAQ,WAAW;IAYrB;IAXb,oDAAoD;IAC3C,IAAI,GAAG,OAAgB,CAAA;IAEhC,8CAA8C;IACpC,WAAW;QACjB,OAAO,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAA;IAClC,CAAC;IAED,YACI,GAAmB;IACnB,qCAAqC;IAC5B,IAAkC;QAE3C,KAAK,CAAC,GAAG,CAAC,CAAA;QAFD,SAAI,GAAJ,IAAI,CAA8B;IAG/C,CAAC;IAED;;;;OAIG;IACH,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAA;IAC7B,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAA;IACtC,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAA;IAClC,CAAC;CACJ;AAED,cAAc,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAA;AAC3E,eAAe,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC,CAAA","sourcesContent":["import { tdFileId } from '@mtcute/file-id'\nimport { tl } from '@mtcute/tl'\n\nimport { makeInspectable } from '../../utils/index.js'\nimport { memoizeGetters } from '../../utils/memoize.js'\nimport { RawDocument } from './document.js'\n\n/**\n * An audio file\n */\nexport class Audio extends RawDocument {\n /** Type of the media (for use in a tagged union) */\n readonly type = 'audio' as const\n\n /** Type of the file for File ID generation */\n protected _fileIdType(): tdFileId.FileType {\n return tdFileId.FileType.Audio\n }\n\n constructor(\n doc: tl.RawDocument,\n /** TL object describing the audio */\n readonly attr: tl.RawDocumentAttributeAudio,\n ) {\n super(doc)\n }\n\n /**\n * Duration of the audio in seconds.\n *\n * May not be accurate since provided by the sender.\n */\n get duration(): number {\n return this.attr.duration\n }\n\n /**\n * Performer of the audio track.\n */\n get performer(): string | null {\n return this.attr.performer ?? null\n }\n\n /**\n * Title of the audio track.\n */\n get title(): string | null {\n return this.attr.title ?? null\n }\n}\n\nmemoizeGetters(Audio, ['fileName', 'thumbnails', 'fileId', 'uniqueFileId'])\nmakeInspectable(Audio, ['fileSize', 'dcId'], ['inputMedia', 'inputDocument'])\n"]}
@@ -3,9 +3,10 @@ import { makeInspectable } from '../../utils/index.js';
3
3
  * A phone contact
4
4
  */
5
5
  class Contact {
6
+ obj;
7
+ type = 'contact';
6
8
  constructor(obj) {
7
9
  this.obj = obj;
8
- this.type = 'contact';
9
10
  }
10
11
  /**
11
12
  * Contact's phone number
@@ -1 +1 @@
1
- {"version":3,"file":"contact.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/media/contact.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD;;GAEG;AACH,MAAM,OAAO,OAAO;IAGhB,YAAqB,GAA8B;QAA9B,QAAG,GAAH,GAAG,CAA2B;QAF1C,SAAI,GAAG,SAAkB,CAAA;IAEoB,CAAC;IAEvD;;OAEG;IACH,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,CAAA;IAC/B,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAA;IAC7B,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAA;IAC5B,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAA;IAC1B,CAAC;IAED;;;;OAIG;IACH,IAAI,UAAU;QACV,OAAO;YACH,GAAG,IAAI,CAAC,GAAG;YACX,CAAC,EAAE,mBAAmB;SACzB,CAAA;IACL,CAAC;CACJ;AAED,eAAe,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,YAAY,CAAC,CAAC,CAAA","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { makeInspectable } from '../../utils/index.js'\n\n/**\n * A phone contact\n */\nexport class Contact {\n readonly type = 'contact' as const\n\n constructor(readonly obj: tl.RawMessageMediaContact) {}\n\n /**\n * Contact's phone number\n */\n get phoneNumber(): string {\n return this.obj.phoneNumber\n }\n\n /**\n * Contact's first name\n */\n get firstName(): string {\n return this.obj.firstName\n }\n\n /**\n * Contact's last name\n */\n get lastName(): string {\n return this.obj.lastName\n }\n\n /**\n * Contact's user ID in Telegram or `0` if not available\n */\n get userId(): number {\n return this.obj.userId\n }\n\n /**\n * Input media TL object generated from this object,\n * to be used inside {@link InputMediaLike} and\n * {@link TelegramClient.sendMedia}\n */\n get inputMedia(): tl.TypeInputMedia {\n return {\n ...this.obj,\n _: 'inputMediaContact',\n }\n }\n}\n\nmakeInspectable(Contact, undefined, ['inputMedia'])\n"]}
1
+ {"version":3,"file":"contact.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/media/contact.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD;;GAEG;AACH,MAAM,OAAO,OAAO;IAGK;IAFZ,IAAI,GAAG,SAAkB,CAAA;IAElC,YAAqB,GAA8B;QAA9B,QAAG,GAAH,GAAG,CAA2B;IAAG,CAAC;IAEvD;;OAEG;IACH,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,CAAA;IAC/B,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAA;IAC7B,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAA;IAC5B,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAA;IAC1B,CAAC;IAED;;;;OAIG;IACH,IAAI,UAAU;QACV,OAAO;YACH,GAAG,IAAI,CAAC,GAAG;YACX,CAAC,EAAE,mBAAmB;SACzB,CAAA;IACL,CAAC;CACJ;AAED,eAAe,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,YAAY,CAAC,CAAC,CAAA","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { makeInspectable } from '../../utils/index.js'\n\n/**\n * A phone contact\n */\nexport class Contact {\n readonly type = 'contact' as const\n\n constructor(readonly obj: tl.RawMessageMediaContact) {}\n\n /**\n * Contact's phone number\n */\n get phoneNumber(): string {\n return this.obj.phoneNumber\n }\n\n /**\n * Contact's first name\n */\n get firstName(): string {\n return this.obj.firstName\n }\n\n /**\n * Contact's last name\n */\n get lastName(): string {\n return this.obj.lastName\n }\n\n /**\n * Contact's user ID in Telegram or `0` if not available\n */\n get userId(): number {\n return this.obj.userId\n }\n\n /**\n * Input media TL object generated from this object,\n * to be used inside {@link InputMediaLike} and\n * {@link TelegramClient.sendMedia}\n */\n get inputMedia(): tl.TypeInputMedia {\n return {\n ...this.obj,\n _: 'inputMediaContact',\n }\n }\n}\n\nmakeInspectable(Contact, undefined, ['inputMedia'])\n"]}
@@ -3,9 +3,133 @@ import { makeInspectable } from '../../utils/index.js';
3
3
  * A dice or another interactive random emoji.
4
4
  */
5
5
  class Dice {
6
+ obj;
7
+ type = 'dice';
8
+ /**
9
+ * A simple 6-sided dice.
10
+ *
11
+ * {@link value} represents its value (1-6)
12
+ */
13
+ static TYPE_DICE = '🎲';
14
+ /**
15
+ * A dart. Telegram dart has 4 rings and middle.
16
+ *
17
+ * {@link value} represents the position of the dart:
18
+ * ![Dart position graph](https://i.imgur.com/iPBm7HG.png)
19
+ */
20
+ static TYPE_DART = '🎯';
21
+ /**
22
+ * A basketball thrown into a hoop.
23
+ *
24
+ * {@link value} represents the motion of the ball:
25
+ * - 1: simple miss (ball hits right part, bounces to the left)
26
+ * - 2: first hit the ring, then miss
27
+ * - 3: ball gets stuck between the ring and the base
28
+ * - 4: first hit the ring, then score
29
+ * - 5: direct score
30
+ */
31
+ static TYPE_BASKETBALL = '🏀';
32
+ /**
33
+ * A football thrown to the gate.
34
+ *
35
+ * {@link value} represents the motion of the ball:
36
+ * - 1: flies above the top barbell
37
+ * - 2: hits right barbell, then miss
38
+ * - 3: direct score in the middle
39
+ * - 4: hits left barbell, then score, then hits right barbell
40
+ * - 5: score in the top-right corner
41
+ */
42
+ static TYPE_FOOTBALL = '⚽️';
43
+ /**
44
+ * A bowling ball thrown to pins.
45
+ *
46
+ * Assuming the following identifiers for the pins:
47
+ * ```
48
+ * 4 5 6
49
+ * 2 3
50
+ * 1
51
+ * ```
52
+ *
53
+ * {@link value} represents the motion of the ball and pins:
54
+ * - 1: the ball touched 6th pin, none are down
55
+ * - 2: the ball hit 4th pin, only 4th pin is down.
56
+ * - 3: the ball hit 1st pin, pins 1, 2, 5 are down, leaving pins 3, 4, 6
57
+ * - 4: the ball hit 1st pin on the right side, all the pins except 2nd and 6th are down
58
+ * - 5: the ball hit 3rd pin and all the pins except 2nd are down.
59
+ * - 6: the ball hit 1st pin and all pins are down
60
+ */
61
+ static TYPE_BOWLING = '🎳';
62
+ /**
63
+ * A slot machine.
64
+ *
65
+ * {@link value} represents the result of the machine.
66
+ * Value itself is an integer in range `[1, 64]`,
67
+ * and is composed out of several parts.
68
+ *
69
+ * > **Note**: The following information is based on the TDesktop
70
+ * > implementation. These are the relevant files:
71
+ * > - [`chat_helpers/stickers_dice_pack.cpp`](https://github.com/telegramdesktop/tdesktop/blob/dev/Telegram/SourceFiles/chat_helpers/stickers_dice_pack.cpp)
72
+ * > - [`history/view/media/history_view_slot_machine.cpp`](https://github.com/telegramdesktop/tdesktop/blob/dev/Telegram/SourceFiles/history/view/media/history_view_slot_machine.cpp)
73
+ *
74
+ * Unlike other animated dices, this does not have
75
+ * all the possible combinations in the sticker set.
76
+ * Instead, `value` is a specially encoded integer that contains
77
+ * the information about the indexes.
78
+ *
79
+ * There are some base parts of the animations:
80
+ * - 0th sticker is the base background of the machine
81
+ * - 1st sticker is the background of the machine for the "winning" state (i.e. `777`)
82
+ * - 2nd sticker is the frame of the machine, including the handle
83
+ * - 8th sticker is the "idle" state for the left slot
84
+ * - 14th sticker is the "idle" state for the middle slot
85
+ * - 20th sticker is the "idle" state for the right slot
86
+ *
87
+ * The machine result is encoded as 3 concatenated two-bit integers,
88
+ * and the resulting integer is incremented by one.
89
+ *
90
+ * So, to decode the value to its parts, you can use this code:
91
+ * ```typescript
92
+ * const computePartValue = (val: number, idx: number) => ((val - 1) >> (idx * 2)) & 0x03; // 0..3
93
+ * const parts = [
94
+ * computePartValue(msg.media.value, 0),
95
+ * computePartValue(msg.media.value, 1),
96
+ * computePartValue(msg.media.value, 2),
97
+ * ]
98
+ * ```
99
+ *
100
+ * Each part of the value corresponds to a particular slot (i.e. part 0 is left slot,
101
+ * part 1 is middle, part 2 is right). The slot values are as follows:
102
+ * - 0: BAR (displayed as a *BAR* sign on a black background)
103
+ * - 1: BERRIES (displayed as berries, similar to emoji 🍇)
104
+ * - 2: LEMON (displayed as a lemon, similar to emoji 🍋)
105
+ * - 3: SEVEN (displayed as a red digit 7)
106
+ *
107
+ * Therefore, the winning value (i.e. `777`) is represented as `(3 << 4 | 3 << 2 | 3 << 0) + 1 = 64`
108
+ *
109
+ * To determine the needed animation parts, you'll need to apply some shifts.
110
+ * These are the offsets for the individual symbols:
111
+ * - WIN_SEVEN: 0
112
+ * - SEVEN: 1
113
+ * - BAR: 2
114
+ * - BERRIES: 3
115
+ * - LEMON: 4
116
+ *
117
+ * And these are the shifts for each slot:
118
+ * - LEFT: 3
119
+ * - MIDDLE: 9
120
+ * - RIGHT: 15
121
+ *
122
+ * > WIN_SEVEN is the same as SEVEN, but only used if the machine result is `777` (i.e. `value = 64`),
123
+ * > as it contains additional "blinking" animation.
124
+ *
125
+ * The sticker index is computed as follows: `SHIFTS[SLOT] + OFFSETS[SYM]`.
126
+ * For example, berries for the middle slot would be: `SHIFTS[MIDDLE] + OFFSETS[BERRIES] = 9 + 3 = 12`
127
+ *
128
+ * Currently, this sticker set is used for the machine: [SlotMachineAnimated](https://t.me/addstickers/SlotMachineAnimated)
129
+ */
130
+ static TYPE_SLOTS = '🎰';
6
131
  constructor(obj) {
7
132
  this.obj = obj;
8
- this.type = 'dice';
9
133
  }
10
134
  /**
11
135
  * An emoji which was originally sent.
@@ -40,129 +164,6 @@ class Dice {
40
164
  };
41
165
  }
42
166
  }
43
- /**
44
- * A simple 6-sided dice.
45
- *
46
- * {@link value} represents its value (1-6)
47
- */
48
- Dice.TYPE_DICE = '🎲';
49
- /**
50
- * A dart. Telegram dart has 4 rings and middle.
51
- *
52
- * {@link value} represents the position of the dart:
53
- * ![Dart position graph](https://i.imgur.com/iPBm7HG.png)
54
- */
55
- Dice.TYPE_DART = '🎯';
56
- /**
57
- * A basketball thrown into a hoop.
58
- *
59
- * {@link value} represents the motion of the ball:
60
- * - 1: simple miss (ball hits right part, bounces to the left)
61
- * - 2: first hit the ring, then miss
62
- * - 3: ball gets stuck between the ring and the base
63
- * - 4: first hit the ring, then score
64
- * - 5: direct score
65
- */
66
- Dice.TYPE_BASKETBALL = '🏀';
67
- /**
68
- * A football thrown to the gate.
69
- *
70
- * {@link value} represents the motion of the ball:
71
- * - 1: flies above the top barbell
72
- * - 2: hits right barbell, then miss
73
- * - 3: direct score in the middle
74
- * - 4: hits left barbell, then score, then hits right barbell
75
- * - 5: score in the top-right corner
76
- */
77
- Dice.TYPE_FOOTBALL = '⚽️';
78
- /**
79
- * A bowling ball thrown to pins.
80
- *
81
- * Assuming the following identifiers for the pins:
82
- * ```
83
- * 4 5 6
84
- * 2 3
85
- * 1
86
- * ```
87
- *
88
- * {@link value} represents the motion of the ball and pins:
89
- * - 1: the ball touched 6th pin, none are down
90
- * - 2: the ball hit 4th pin, only 4th pin is down.
91
- * - 3: the ball hit 1st pin, pins 1, 2, 5 are down, leaving pins 3, 4, 6
92
- * - 4: the ball hit 1st pin on the right side, all the pins except 2nd and 6th are down
93
- * - 5: the ball hit 3rd pin and all the pins except 2nd are down.
94
- * - 6: the ball hit 1st pin and all pins are down
95
- */
96
- Dice.TYPE_BOWLING = '🎳';
97
- /**
98
- * A slot machine.
99
- *
100
- * {@link value} represents the result of the machine.
101
- * Value itself is an integer in range `[1, 64]`,
102
- * and is composed out of several parts.
103
- *
104
- * > **Note**: The following information is based on the TDesktop
105
- * > implementation. These are the relevant files:
106
- * > - [`chat_helpers/stickers_dice_pack.cpp`](https://github.com/telegramdesktop/tdesktop/blob/dev/Telegram/SourceFiles/chat_helpers/stickers_dice_pack.cpp)
107
- * > - [`history/view/media/history_view_slot_machine.cpp`](https://github.com/telegramdesktop/tdesktop/blob/dev/Telegram/SourceFiles/history/view/media/history_view_slot_machine.cpp)
108
- *
109
- * Unlike other animated dices, this does not have
110
- * all the possible combinations in the sticker set.
111
- * Instead, `value` is a specially encoded integer that contains
112
- * the information about the indexes.
113
- *
114
- * There are some base parts of the animations:
115
- * - 0th sticker is the base background of the machine
116
- * - 1st sticker is the background of the machine for the "winning" state (i.e. `777`)
117
- * - 2nd sticker is the frame of the machine, including the handle
118
- * - 8th sticker is the "idle" state for the left slot
119
- * - 14th sticker is the "idle" state for the middle slot
120
- * - 20th sticker is the "idle" state for the right slot
121
- *
122
- * The machine result is encoded as 3 concatenated two-bit integers,
123
- * and the resulting integer is incremented by one.
124
- *
125
- * So, to decode the value to its parts, you can use this code:
126
- * ```typescript
127
- * const computePartValue = (val: number, idx: number) => ((val - 1) >> (idx * 2)) & 0x03; // 0..3
128
- * const parts = [
129
- * computePartValue(msg.media.value, 0),
130
- * computePartValue(msg.media.value, 1),
131
- * computePartValue(msg.media.value, 2),
132
- * ]
133
- * ```
134
- *
135
- * Each part of the value corresponds to a particular slot (i.e. part 0 is left slot,
136
- * part 1 is middle, part 2 is right). The slot values are as follows:
137
- * - 0: BAR (displayed as a *BAR* sign on a black background)
138
- * - 1: BERRIES (displayed as berries, similar to emoji 🍇)
139
- * - 2: LEMON (displayed as a lemon, similar to emoji 🍋)
140
- * - 3: SEVEN (displayed as a red digit 7)
141
- *
142
- * Therefore, the winning value (i.e. `777`) is represented as `(3 << 4 | 3 << 2 | 3 << 0) + 1 = 64`
143
- *
144
- * To determine the needed animation parts, you'll need to apply some shifts.
145
- * These are the offsets for the individual symbols:
146
- * - WIN_SEVEN: 0
147
- * - SEVEN: 1
148
- * - BAR: 2
149
- * - BERRIES: 3
150
- * - LEMON: 4
151
- *
152
- * And these are the shifts for each slot:
153
- * - LEFT: 3
154
- * - MIDDLE: 9
155
- * - RIGHT: 15
156
- *
157
- * > WIN_SEVEN is the same as SEVEN, but only used if the machine result is `777` (i.e. `value = 64`),
158
- * > as it contains additional "blinking" animation.
159
- *
160
- * The sticker index is computed as follows: `SHIFTS[SLOT] + OFFSETS[SYM]`.
161
- * For example, berries for the middle slot would be: `SHIFTS[MIDDLE] + OFFSETS[BERRIES] = 9 + 3 = 12`
162
- *
163
- * Currently, this sticker set is used for the machine: [SlotMachineAnimated](https://t.me/addstickers/SlotMachineAnimated)
164
- */
165
- Dice.TYPE_SLOTS = '🎰';
166
167
  const Dice$1 = /*#__PURE__*/makeInspectable(Dice, undefined, ['inputMedia']);
167
168
  //# sourceMappingURL=dice.js.map
168
169
  export { Dice$1 as Dice }
@@ -1 +1 @@
1
- {"version":3,"file":"dice.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/media/dice.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD;;GAEG;AACH,MAAM,OAAO,IAAI;IAoIb,YAAqB,GAA2B;QAA3B,QAAG,GAAH,GAAG,CAAwB;QAnIvC,SAAI,GAAG,MAAe,CAAA;IAmIoB,CAAC;IAEpD;;;;;OAKG;IACH,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAA;IAC5B,CAAC;IAED;;;;;OAKG;IACH,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAA;IACzB,CAAC;IAED;;;;;;;OAOG;IACH,IAAI,UAAU;QACV,OAAO;YACH,CAAC,EAAE,gBAAgB;YACnB,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ;SAC9B,CAAA;IACL,CAAC;;AApKD;;;;GAIG;AACa,cAAS,GAAG,IAAI,AAAP,CAAO;AAEhC;;;;;GAKG;AACa,cAAS,GAAG,IAAI,AAAP,CAAO;AAEhC;;;;;;;;;GASG;AACa,oBAAe,GAAG,IAAI,AAAP,CAAO;AAEtC;;;;;;;;;GASG;AACa,kBAAa,GAAG,IAAI,AAAP,CAAO;AAEpC;;;;;;;;;;;;;;;;;GAiBG;AACa,iBAAY,GAAG,IAAI,AAAP,CAAO;AAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmEG;AACa,eAAU,GAAG,IAAI,AAAP,CAAO;AAwCrC,eAAe,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,YAAY,CAAC,CAAC,CAAA","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { makeInspectable } from '../../utils/index.js'\n\n/**\n * A dice or another interactive random emoji.\n */\nexport class Dice {\n readonly type = 'dice' as const\n\n /**\n * A simple 6-sided dice.\n *\n * {@link value} represents its value (1-6)\n */\n static readonly TYPE_DICE = '🎲'\n\n /**\n * A dart. Telegram dart has 4 rings and middle.\n *\n * {@link value} represents the position of the dart:\n * ![Dart position graph](https://i.imgur.com/iPBm7HG.png)\n */\n static readonly TYPE_DART = '🎯'\n\n /**\n * A basketball thrown into a hoop.\n *\n * {@link value} represents the motion of the ball:\n * - 1: simple miss (ball hits right part, bounces to the left)\n * - 2: first hit the ring, then miss\n * - 3: ball gets stuck between the ring and the base\n * - 4: first hit the ring, then score\n * - 5: direct score\n */\n static readonly TYPE_BASKETBALL = '🏀'\n\n /**\n * A football thrown to the gate.\n *\n * {@link value} represents the motion of the ball:\n * - 1: flies above the top barbell\n * - 2: hits right barbell, then miss\n * - 3: direct score in the middle\n * - 4: hits left barbell, then score, then hits right barbell\n * - 5: score in the top-right corner\n */\n static readonly TYPE_FOOTBALL = '⚽️'\n\n /**\n * A bowling ball thrown to pins.\n *\n * Assuming the following identifiers for the pins:\n * ```\n * 4 5 6\n * 2 3\n * 1\n * ```\n *\n * {@link value} represents the motion of the ball and pins:\n * - 1: the ball touched 6th pin, none are down\n * - 2: the ball hit 4th pin, only 4th pin is down.\n * - 3: the ball hit 1st pin, pins 1, 2, 5 are down, leaving pins 3, 4, 6\n * - 4: the ball hit 1st pin on the right side, all the pins except 2nd and 6th are down\n * - 5: the ball hit 3rd pin and all the pins except 2nd are down.\n * - 6: the ball hit 1st pin and all pins are down\n */\n static readonly TYPE_BOWLING = '🎳'\n\n /**\n * A slot machine.\n *\n * {@link value} represents the result of the machine.\n * Value itself is an integer in range `[1, 64]`,\n * and is composed out of several parts.\n *\n * > **Note**: The following information is based on the TDesktop\n * > implementation. These are the relevant files:\n * > - [`chat_helpers/stickers_dice_pack.cpp`](https://github.com/telegramdesktop/tdesktop/blob/dev/Telegram/SourceFiles/chat_helpers/stickers_dice_pack.cpp)\n * > - [`history/view/media/history_view_slot_machine.cpp`](https://github.com/telegramdesktop/tdesktop/blob/dev/Telegram/SourceFiles/history/view/media/history_view_slot_machine.cpp)\n *\n * Unlike other animated dices, this does not have\n * all the possible combinations in the sticker set.\n * Instead, `value` is a specially encoded integer that contains\n * the information about the indexes.\n *\n * There are some base parts of the animations:\n * - 0th sticker is the base background of the machine\n * - 1st sticker is the background of the machine for the \"winning\" state (i.e. `777`)\n * - 2nd sticker is the frame of the machine, including the handle\n * - 8th sticker is the \"idle\" state for the left slot\n * - 14th sticker is the \"idle\" state for the middle slot\n * - 20th sticker is the \"idle\" state for the right slot\n *\n * The machine result is encoded as 3 concatenated two-bit integers,\n * and the resulting integer is incremented by one.\n *\n * So, to decode the value to its parts, you can use this code:\n * ```typescript\n * const computePartValue = (val: number, idx: number) => ((val - 1) >> (idx * 2)) & 0x03; // 0..3\n * const parts = [\n * computePartValue(msg.media.value, 0),\n * computePartValue(msg.media.value, 1),\n * computePartValue(msg.media.value, 2),\n * ]\n * ```\n *\n * Each part of the value corresponds to a particular slot (i.e. part 0 is left slot,\n * part 1 is middle, part 2 is right). The slot values are as follows:\n * - 0: BAR (displayed as a *BAR* sign on a black background)\n * - 1: BERRIES (displayed as berries, similar to emoji 🍇)\n * - 2: LEMON (displayed as a lemon, similar to emoji 🍋)\n * - 3: SEVEN (displayed as a red digit 7)\n *\n * Therefore, the winning value (i.e. `777`) is represented as `(3 << 4 | 3 << 2 | 3 << 0) + 1 = 64`\n *\n * To determine the needed animation parts, you'll need to apply some shifts.\n * These are the offsets for the individual symbols:\n * - WIN_SEVEN: 0\n * - SEVEN: 1\n * - BAR: 2\n * - BERRIES: 3\n * - LEMON: 4\n *\n * And these are the shifts for each slot:\n * - LEFT: 3\n * - MIDDLE: 9\n * - RIGHT: 15\n *\n * > WIN_SEVEN is the same as SEVEN, but only used if the machine result is `777` (i.e. `value = 64`),\n * > as it contains additional \"blinking\" animation.\n *\n * The sticker index is computed as follows: `SHIFTS[SLOT] + OFFSETS[SYM]`.\n * For example, berries for the middle slot would be: `SHIFTS[MIDDLE] + OFFSETS[BERRIES] = 9 + 3 = 12`\n *\n * Currently, this sticker set is used for the machine: [SlotMachineAnimated](https://t.me/addstickers/SlotMachineAnimated)\n */\n static readonly TYPE_SLOTS = '🎰'\n\n constructor(readonly obj: tl.RawMessageMediaDice) {}\n\n /**\n * An emoji which was originally sent.\n *\n * See static members of {@link Dice} for a list\n * of possible values\n */\n get emoji(): string {\n return this.obj.emoticon\n }\n\n /**\n * Emoji's interactive value.\n *\n * See what this value represents in the corresponding\n * type's documentation (in {@link Dice} static fields)\n */\n get value(): number {\n return this.obj.value\n }\n\n /**\n * Input media TL object generated from this object,\n * to be used inside {@link InputMediaLike} and\n * {@link TelegramClient.sendMedia}\n *\n * Note that when you use this media, a new `value`\n * will be generated!\n */\n get inputMedia(): tl.TypeInputMedia {\n return {\n _: 'inputMediaDice',\n emoticon: this.obj.emoticon,\n }\n }\n}\n\nmakeInspectable(Dice, undefined, ['inputMedia'])\n"]}
1
+ {"version":3,"file":"dice.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/media/dice.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD;;GAEG;AACH,MAAM,OAAO,IAAI;IAoIQ;IAnIZ,IAAI,GAAG,MAAe,CAAA;IAE/B;;;;OAIG;IACH,MAAM,CAAU,SAAS,GAAG,IAAI,CAAA;IAEhC;;;;;OAKG;IACH,MAAM,CAAU,SAAS,GAAG,IAAI,CAAA;IAEhC;;;;;;;;;OASG;IACH,MAAM,CAAU,eAAe,GAAG,IAAI,CAAA;IAEtC;;;;;;;;;OASG;IACH,MAAM,CAAU,aAAa,GAAG,IAAI,CAAA;IAEpC;;;;;;;;;;;;;;;;;OAiBG;IACH,MAAM,CAAU,YAAY,GAAG,IAAI,CAAA;IAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmEG;IACH,MAAM,CAAU,UAAU,GAAG,IAAI,CAAA;IAEjC,YAAqB,GAA2B;QAA3B,QAAG,GAAH,GAAG,CAAwB;IAAG,CAAC;IAEpD;;;;;OAKG;IACH,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAA;IAC5B,CAAC;IAED;;;;;OAKG;IACH,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAA;IACzB,CAAC;IAED;;;;;;;OAOG;IACH,IAAI,UAAU;QACV,OAAO;YACH,CAAC,EAAE,gBAAgB;YACnB,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ;SAC9B,CAAA;IACL,CAAC;;AAGL,eAAe,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,YAAY,CAAC,CAAC,CAAA","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { makeInspectable } from '../../utils/index.js'\n\n/**\n * A dice or another interactive random emoji.\n */\nexport class Dice {\n readonly type = 'dice' as const\n\n /**\n * A simple 6-sided dice.\n *\n * {@link value} represents its value (1-6)\n */\n static readonly TYPE_DICE = '🎲'\n\n /**\n * A dart. Telegram dart has 4 rings and middle.\n *\n * {@link value} represents the position of the dart:\n * ![Dart position graph](https://i.imgur.com/iPBm7HG.png)\n */\n static readonly TYPE_DART = '🎯'\n\n /**\n * A basketball thrown into a hoop.\n *\n * {@link value} represents the motion of the ball:\n * - 1: simple miss (ball hits right part, bounces to the left)\n * - 2: first hit the ring, then miss\n * - 3: ball gets stuck between the ring and the base\n * - 4: first hit the ring, then score\n * - 5: direct score\n */\n static readonly TYPE_BASKETBALL = '🏀'\n\n /**\n * A football thrown to the gate.\n *\n * {@link value} represents the motion of the ball:\n * - 1: flies above the top barbell\n * - 2: hits right barbell, then miss\n * - 3: direct score in the middle\n * - 4: hits left barbell, then score, then hits right barbell\n * - 5: score in the top-right corner\n */\n static readonly TYPE_FOOTBALL = '⚽️'\n\n /**\n * A bowling ball thrown to pins.\n *\n * Assuming the following identifiers for the pins:\n * ```\n * 4 5 6\n * 2 3\n * 1\n * ```\n *\n * {@link value} represents the motion of the ball and pins:\n * - 1: the ball touched 6th pin, none are down\n * - 2: the ball hit 4th pin, only 4th pin is down.\n * - 3: the ball hit 1st pin, pins 1, 2, 5 are down, leaving pins 3, 4, 6\n * - 4: the ball hit 1st pin on the right side, all the pins except 2nd and 6th are down\n * - 5: the ball hit 3rd pin and all the pins except 2nd are down.\n * - 6: the ball hit 1st pin and all pins are down\n */\n static readonly TYPE_BOWLING = '🎳'\n\n /**\n * A slot machine.\n *\n * {@link value} represents the result of the machine.\n * Value itself is an integer in range `[1, 64]`,\n * and is composed out of several parts.\n *\n * > **Note**: The following information is based on the TDesktop\n * > implementation. These are the relevant files:\n * > - [`chat_helpers/stickers_dice_pack.cpp`](https://github.com/telegramdesktop/tdesktop/blob/dev/Telegram/SourceFiles/chat_helpers/stickers_dice_pack.cpp)\n * > - [`history/view/media/history_view_slot_machine.cpp`](https://github.com/telegramdesktop/tdesktop/blob/dev/Telegram/SourceFiles/history/view/media/history_view_slot_machine.cpp)\n *\n * Unlike other animated dices, this does not have\n * all the possible combinations in the sticker set.\n * Instead, `value` is a specially encoded integer that contains\n * the information about the indexes.\n *\n * There are some base parts of the animations:\n * - 0th sticker is the base background of the machine\n * - 1st sticker is the background of the machine for the \"winning\" state (i.e. `777`)\n * - 2nd sticker is the frame of the machine, including the handle\n * - 8th sticker is the \"idle\" state for the left slot\n * - 14th sticker is the \"idle\" state for the middle slot\n * - 20th sticker is the \"idle\" state for the right slot\n *\n * The machine result is encoded as 3 concatenated two-bit integers,\n * and the resulting integer is incremented by one.\n *\n * So, to decode the value to its parts, you can use this code:\n * ```typescript\n * const computePartValue = (val: number, idx: number) => ((val - 1) >> (idx * 2)) & 0x03; // 0..3\n * const parts = [\n * computePartValue(msg.media.value, 0),\n * computePartValue(msg.media.value, 1),\n * computePartValue(msg.media.value, 2),\n * ]\n * ```\n *\n * Each part of the value corresponds to a particular slot (i.e. part 0 is left slot,\n * part 1 is middle, part 2 is right). The slot values are as follows:\n * - 0: BAR (displayed as a *BAR* sign on a black background)\n * - 1: BERRIES (displayed as berries, similar to emoji 🍇)\n * - 2: LEMON (displayed as a lemon, similar to emoji 🍋)\n * - 3: SEVEN (displayed as a red digit 7)\n *\n * Therefore, the winning value (i.e. `777`) is represented as `(3 << 4 | 3 << 2 | 3 << 0) + 1 = 64`\n *\n * To determine the needed animation parts, you'll need to apply some shifts.\n * These are the offsets for the individual symbols:\n * - WIN_SEVEN: 0\n * - SEVEN: 1\n * - BAR: 2\n * - BERRIES: 3\n * - LEMON: 4\n *\n * And these are the shifts for each slot:\n * - LEFT: 3\n * - MIDDLE: 9\n * - RIGHT: 15\n *\n * > WIN_SEVEN is the same as SEVEN, but only used if the machine result is `777` (i.e. `value = 64`),\n * > as it contains additional \"blinking\" animation.\n *\n * The sticker index is computed as follows: `SHIFTS[SLOT] + OFFSETS[SYM]`.\n * For example, berries for the middle slot would be: `SHIFTS[MIDDLE] + OFFSETS[BERRIES] = 9 + 3 = 12`\n *\n * Currently, this sticker set is used for the machine: [SlotMachineAnimated](https://t.me/addstickers/SlotMachineAnimated)\n */\n static readonly TYPE_SLOTS = '🎰'\n\n constructor(readonly obj: tl.RawMessageMediaDice) {}\n\n /**\n * An emoji which was originally sent.\n *\n * See static members of {@link Dice} for a list\n * of possible values\n */\n get emoji(): string {\n return this.obj.emoticon\n }\n\n /**\n * Emoji's interactive value.\n *\n * See what this value represents in the corresponding\n * type's documentation (in {@link Dice} static fields)\n */\n get value(): number {\n return this.obj.value\n }\n\n /**\n * Input media TL object generated from this object,\n * to be used inside {@link InputMediaLike} and\n * {@link TelegramClient.sendMedia}\n *\n * Note that when you use this media, a new `value`\n * will be generated!\n */\n get inputMedia(): tl.TypeInputMedia {\n return {\n _: 'inputMediaDice',\n emoticon: this.obj.emoticon,\n }\n }\n}\n\nmakeInspectable(Dice, undefined, ['inputMedia'])\n"]}
@@ -1,6 +1,11 @@
1
+ import { tl } from '@mtcute/tl';
1
2
  import { Audio } from './audio.js';
2
3
  import { Document } from './document.js';
3
4
  import { Sticker } from './sticker.js';
4
5
  import { Video } from './video.js';
5
6
  import { Voice } from './voice.js';
6
7
  export type ParsedDocument = Sticker | Voice | Audio | Video | Document;
8
+ /** @internal */
9
+ export declare function parseSticker(doc: tl.RawDocument): Sticker | undefined;
10
+ /** @internal */
11
+ export declare function parseDocument(doc: tl.RawDocument, media?: tl.RawMessageMediaDocument): ParsedDocument;
@@ -4,12 +4,18 @@ import { Sticker } from './sticker.js';
4
4
  import { Video } from './video.js';
5
5
  import { Voice } from './voice.js';
6
6
  /** @internal */
7
- export function parseDocument(doc, media) {
7
+ export function parseSticker(doc) {
8
8
  const stickerAttr = doc.attributes.find((a) => a._ === 'documentAttributeSticker' || a._ === 'documentAttributeCustomEmoji');
9
9
  if (stickerAttr) {
10
10
  const sz = doc.attributes.find((it) => it._ === 'documentAttributeImageSize' || it._ === 'documentAttributeVideo');
11
11
  return new Sticker(doc, stickerAttr, sz);
12
12
  }
13
+ }
14
+ /** @internal */
15
+ export function parseDocument(doc, media) {
16
+ const sticker = parseSticker(doc);
17
+ if (sticker)
18
+ return sticker;
13
19
  for (const attr of doc.attributes) {
14
20
  switch (attr._) {
15
21
  case 'documentAttributeAudio':
@@ -1 +1 @@
1
- {"version":3,"file":"document-utils.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/media/document-utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAIlC,gBAAgB;AAChB,MAAM,UAAU,aAAa,CAAC,GAAmB,EAAE,KAAkC;IACjF,MAAM,WAAW,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,CACnC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,0BAA0B,IAAI,CAAC,CAAC,CAAC,KAAK,8BAA8B,CACtF,CAAA;IAED,IAAI,WAAW,EAAE;QACb,MAAM,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,CAC1B,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,4BAA4B,IAAI,EAAE,CAAC,CAAC,KAAK,wBAAwB,CACjB,CAAA;QAErE,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,WAAkF,EAAE,EAAE,CAAC,CAAA;KAClH;IAED,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,UAAU,EAAE;QAC/B,QAAQ,IAAI,CAAC,CAAC,EAAE;YACZ,KAAK,wBAAwB;gBACzB,IAAI,IAAI,CAAC,KAAK,EAAE;oBACZ,OAAO,IAAI,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;iBAC9B;gBAED,OAAO,IAAI,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;YAE/B,KAAK,wBAAwB;gBACzB,OAAO,IAAI,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;YAEtC,KAAK,4BAA4B;gBAC7B,aAAa;gBACb,IAAI,GAAG,CAAC,QAAQ,KAAK,WAAW,EAAE;oBAC9B,OAAO,IAAI,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;iBACrC;SACR;KACJ;IAED,OAAO,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAA;AAC5B,CAAC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { Audio } from './audio.js'\nimport { Document } from './document.js'\nimport { Sticker } from './sticker.js'\nimport { Video } from './video.js'\nimport { Voice } from './voice.js'\n\nexport type ParsedDocument = Sticker | Voice | Audio | Video | Document\n\n/** @internal */\nexport function parseDocument(doc: tl.RawDocument, media?: tl.RawMessageMediaDocument): ParsedDocument {\n const stickerAttr = doc.attributes.find(\n (a) => a._ === 'documentAttributeSticker' || a._ === 'documentAttributeCustomEmoji',\n )\n\n if (stickerAttr) {\n const sz = doc.attributes.find(\n (it) => it._ === 'documentAttributeImageSize' || it._ === 'documentAttributeVideo',\n )! as tl.RawDocumentAttributeImageSize | tl.RawDocumentAttributeVideo\n\n return new Sticker(doc, stickerAttr as tl.RawDocumentAttributeSticker | tl.RawDocumentAttributeCustomEmoji, sz)\n }\n\n for (const attr of doc.attributes) {\n switch (attr._) {\n case 'documentAttributeAudio':\n if (attr.voice) {\n return new Voice(doc, attr)\n }\n\n return new Audio(doc, attr)\n\n case 'documentAttributeVideo':\n return new Video(doc, attr, media)\n\n case 'documentAttributeImageSize':\n // legacy gif\n if (doc.mimeType === 'image/gif') {\n return new Video(doc, attr, media)\n }\n }\n }\n\n return new Document(doc)\n}\n"]}
1
+ {"version":3,"file":"document-utils.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/media/document-utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAIlC,gBAAgB;AAChB,MAAM,UAAU,YAAY,CAAC,GAAmB;IAC5C,MAAM,WAAW,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,CACnC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,0BAA0B,IAAI,CAAC,CAAC,CAAC,KAAK,8BAA8B,CACtF,CAAA;IAED,IAAI,WAAW,EAAE,CAAC;QACd,MAAM,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,CAC1B,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,4BAA4B,IAAI,EAAE,CAAC,CAAC,KAAK,wBAAwB,CACjB,CAAA;QAErE,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,WAAkF,EAAE,EAAE,CAAC,CAAA;IACnH,CAAC;AACL,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,aAAa,CAAC,GAAmB,EAAE,KAAkC;IACjF,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,CAAA;IACjC,IAAI,OAAO;QAAE,OAAO,OAAO,CAAA;IAE3B,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;QAChC,QAAQ,IAAI,CAAC,CAAC,EAAE,CAAC;YACb,KAAK,wBAAwB;gBACzB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBACb,OAAO,IAAI,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;gBAC/B,CAAC;gBAED,OAAO,IAAI,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;YAE/B,KAAK,wBAAwB;gBACzB,OAAO,IAAI,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;YAEtC,KAAK,4BAA4B;gBAC7B,aAAa;gBACb,IAAI,GAAG,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;oBAC/B,OAAO,IAAI,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;gBACtC,CAAC;QACT,CAAC;IACL,CAAC;IAED,OAAO,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAA;AAC5B,CAAC","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { Audio } from './audio.js'\nimport { Document } from './document.js'\nimport { Sticker } from './sticker.js'\nimport { Video } from './video.js'\nimport { Voice } from './voice.js'\n\nexport type ParsedDocument = Sticker | Voice | Audio | Video | Document\n\n/** @internal */\nexport function parseSticker(doc: tl.RawDocument) {\n const stickerAttr = doc.attributes.find(\n (a) => a._ === 'documentAttributeSticker' || a._ === 'documentAttributeCustomEmoji',\n )\n\n if (stickerAttr) {\n const sz = doc.attributes.find(\n (it) => it._ === 'documentAttributeImageSize' || it._ === 'documentAttributeVideo',\n )! as tl.RawDocumentAttributeImageSize | tl.RawDocumentAttributeVideo\n\n return new Sticker(doc, stickerAttr as tl.RawDocumentAttributeSticker | tl.RawDocumentAttributeCustomEmoji, sz)\n }\n}\n\n/** @internal */\nexport function parseDocument(doc: tl.RawDocument, media?: tl.RawMessageMediaDocument): ParsedDocument {\n const sticker = parseSticker(doc)\n if (sticker) return sticker\n\n for (const attr of doc.attributes) {\n switch (attr._) {\n case 'documentAttributeAudio':\n if (attr.voice) {\n return new Voice(doc, attr)\n }\n\n return new Audio(doc, attr)\n\n case 'documentAttributeVideo':\n return new Video(doc, attr, media)\n\n case 'documentAttributeImageSize':\n // legacy gif\n if (doc.mimeType === 'image/gif') {\n return new Video(doc, attr, media)\n }\n }\n }\n\n return new Document(doc)\n}\n"]}
@@ -10,6 +10,7 @@ import { Thumbnail } from './thumbnail.js';
10
10
  * This also includes audios, videos, voices etc.
11
11
  */
12
12
  export class RawDocument extends FileLocation {
13
+ raw;
13
14
  constructor(raw) {
14
15
  super({
15
16
  _: 'inputDocumentFileLocation',
@@ -129,10 +130,7 @@ export class RawDocument extends FileLocation {
129
130
  * attributes.
130
131
  */
131
132
  class Document extends RawDocument {
132
- constructor() {
133
- super(...arguments);
134
- this.type = 'document';
135
- }
133
+ type = 'document';
136
134
  }
137
135
  const Document$1 = /*#__PURE__*/memoizeGetters(Document, ['fileName', 'thumbnails', 'fileId', 'uniqueFileId']);
138
136
  const Document$2 = /*#__PURE__*/makeInspectable(Document$1, ['fileSize', 'dcId'], ['inputMedia', 'inputDocument']);