@mtcute/core 0.10.2 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (963) hide show
  1. package/cjs/highlevel/base.d.ts +1 -1
  2. package/cjs/highlevel/base.js +29 -23
  3. package/cjs/highlevel/base.js.map +1 -1
  4. package/cjs/highlevel/client.d.ts +3 -2
  5. package/cjs/highlevel/client.js +1 -0
  6. package/cjs/highlevel/client.js.map +1 -1
  7. package/cjs/highlevel/managers/app-config-manager.js +7 -5
  8. package/cjs/highlevel/managers/app-config-manager.js.map +1 -1
  9. package/cjs/highlevel/methods/_init.js.map +1 -1
  10. package/cjs/highlevel/methods/auth/start-test.js.map +1 -1
  11. package/cjs/highlevel/methods/auth/start.js.map +1 -1
  12. package/cjs/highlevel/methods/auth/utils.js.map +1 -1
  13. package/cjs/highlevel/methods/bots/get-callback-answer.js.map +1 -1
  14. package/cjs/highlevel/methods/bots/get-game-high-scores.js.map +1 -1
  15. package/cjs/highlevel/methods/bots/normalize-command-scope.js.map +1 -1
  16. package/cjs/highlevel/methods/bots/set-my-commands.js.map +1 -1
  17. package/cjs/highlevel/methods/chats/add-chat-members.js.map +1 -1
  18. package/cjs/highlevel/methods/chats/ban-chat-member.js.map +1 -1
  19. package/cjs/highlevel/methods/chats/batched-queries.js.map +1 -1
  20. package/cjs/highlevel/methods/chats/delete-chat-photo.js.map +1 -1
  21. package/cjs/highlevel/methods/chats/delete-history.js.map +1 -1
  22. package/cjs/highlevel/methods/chats/get-chat-event-log.js.map +1 -1
  23. package/cjs/highlevel/methods/chats/get-chat-member.js.map +1 -1
  24. package/cjs/highlevel/methods/chats/get-chat-members.js.map +1 -1
  25. package/cjs/highlevel/methods/chats/get-chat-preview.js.map +1 -1
  26. package/cjs/highlevel/methods/chats/get-chat.js.map +1 -1
  27. package/cjs/highlevel/methods/chats/get-full-chat.js.map +1 -1
  28. package/cjs/highlevel/methods/chats/get-nearby-chats.js.map +1 -1
  29. package/cjs/highlevel/methods/chats/get-similar-channels.js.map +1 -1
  30. package/cjs/highlevel/methods/chats/iter-chat-event-log.js.map +1 -1
  31. package/cjs/highlevel/methods/chats/iter-chat-members.js.map +1 -1
  32. package/cjs/highlevel/methods/chats/join-chat.js.map +1 -1
  33. package/cjs/highlevel/methods/chats/kick-chat-member.js.map +1 -1
  34. package/cjs/highlevel/methods/chats/leave-chat.js.map +1 -1
  35. package/cjs/highlevel/methods/chats/open-chat.js.map +1 -1
  36. package/cjs/highlevel/methods/chats/reorder-usernames.js.map +1 -1
  37. package/cjs/highlevel/methods/chats/restrict-chat-member.js.map +1 -1
  38. package/cjs/highlevel/methods/chats/save-draft.js.map +1 -1
  39. package/cjs/highlevel/methods/chats/set-chat-color.js.map +1 -1
  40. package/cjs/highlevel/methods/chats/set-chat-photo.js.map +1 -1
  41. package/cjs/highlevel/methods/chats/set-chat-title.js.map +1 -1
  42. package/cjs/highlevel/methods/chats/toggle-fragment-username.js.map +1 -1
  43. package/cjs/highlevel/methods/chats/unarchive-chats.js.map +1 -1
  44. package/cjs/highlevel/methods/chats/unban-chat-member.js.map +1 -1
  45. package/cjs/highlevel/methods/contacts/delete-contacts.js.map +1 -1
  46. package/cjs/highlevel/methods/dialogs/create-folder.js.map +1 -1
  47. package/cjs/highlevel/methods/dialogs/edit-folder.js.map +1 -1
  48. package/cjs/highlevel/methods/dialogs/find-folder.js.map +1 -1
  49. package/cjs/highlevel/methods/dialogs/get-folders.js.map +1 -1
  50. package/cjs/highlevel/methods/dialogs/iter-dialogs.js.map +1 -1
  51. package/cjs/highlevel/methods/files/download-buffer.js.map +1 -1
  52. package/cjs/highlevel/methods/files/download-iterable.js +1 -1
  53. package/cjs/highlevel/methods/files/download-iterable.js.map +1 -1
  54. package/cjs/highlevel/methods/files/download-node-stream.js.map +1 -1
  55. package/cjs/highlevel/methods/files/download-stream.js.map +1 -1
  56. package/cjs/highlevel/methods/files/normalize-file-to-document.js.map +1 -1
  57. package/cjs/highlevel/methods/files/normalize-input-file.js.map +1 -1
  58. package/cjs/highlevel/methods/files/normalize-input-media.js +1 -2
  59. package/cjs/highlevel/methods/files/normalize-input-media.js.map +1 -1
  60. package/cjs/highlevel/methods/files/upload-file.js +7 -6
  61. package/cjs/highlevel/methods/files/upload-file.js.map +1 -1
  62. package/cjs/highlevel/methods/files/upload-media.js.map +1 -1
  63. package/cjs/highlevel/methods/forums/iter-forum-topics.js.map +1 -1
  64. package/cjs/highlevel/methods/invite-links/get-primary-invite-link.js.map +1 -1
  65. package/cjs/highlevel/methods/invite-links/iter-invite-link-members.js.map +1 -1
  66. package/cjs/highlevel/methods/invite-links/iter-invite-links.js.map +1 -1
  67. package/cjs/highlevel/methods/messages/close-poll.js.map +1 -1
  68. package/cjs/highlevel/methods/messages/delete-messages.js.map +1 -1
  69. package/cjs/highlevel/methods/messages/edit-inline-message.js.map +1 -1
  70. package/cjs/highlevel/methods/messages/edit-message.js.map +1 -1
  71. package/cjs/highlevel/methods/messages/find-in-update.js.map +1 -1
  72. package/cjs/highlevel/methods/messages/forward-messages.js.map +1 -1
  73. package/cjs/highlevel/methods/messages/get-callback-query-message.js.map +1 -1
  74. package/cjs/highlevel/methods/messages/get-discussion-message.js.map +1 -1
  75. package/cjs/highlevel/methods/messages/get-history.js +5 -1
  76. package/cjs/highlevel/methods/messages/get-history.js.map +1 -1
  77. package/cjs/highlevel/methods/messages/get-message-by-link.js.map +1 -1
  78. package/cjs/highlevel/methods/messages/get-message-group.js.map +1 -1
  79. package/cjs/highlevel/methods/messages/get-message-reactions.js.map +1 -1
  80. package/cjs/highlevel/methods/messages/get-messages.js.map +1 -1
  81. package/cjs/highlevel/methods/messages/get-reply-to.js.map +1 -1
  82. package/cjs/highlevel/methods/messages/iter-history.js.map +1 -1
  83. package/cjs/highlevel/methods/messages/iter-reaction-users.js.map +1 -1
  84. package/cjs/highlevel/methods/messages/iter-search-global.js.map +1 -1
  85. package/cjs/highlevel/methods/messages/iter-search-messages.js.map +1 -1
  86. package/cjs/highlevel/methods/messages/read-history.js.map +1 -1
  87. package/cjs/highlevel/methods/messages/send-answer.js.map +1 -1
  88. package/cjs/highlevel/methods/messages/send-comment.js.map +1 -1
  89. package/cjs/highlevel/methods/messages/send-common.js.map +1 -1
  90. package/cjs/highlevel/methods/messages/send-copy-group.js.map +1 -1
  91. package/cjs/highlevel/methods/messages/send-copy.js.map +1 -1
  92. package/cjs/highlevel/methods/messages/send-media-group.js.map +1 -1
  93. package/cjs/highlevel/methods/messages/send-media.js.map +1 -1
  94. package/cjs/highlevel/methods/messages/send-quote.js.map +1 -1
  95. package/cjs/highlevel/methods/messages/send-text.js.map +1 -1
  96. package/cjs/highlevel/methods/messages/send-typing.js.map +1 -1
  97. package/cjs/highlevel/methods/messages/send-vote.js.map +1 -1
  98. package/cjs/highlevel/methods/messages/translate-text.js.map +1 -1
  99. package/cjs/highlevel/methods/messages/unpin-all-messages.js.map +1 -1
  100. package/cjs/highlevel/methods/misc/normalize-privacy-rules.js.map +1 -1
  101. package/cjs/highlevel/methods/misc/normalize-text.js.map +1 -1
  102. package/cjs/highlevel/methods/misc/with-params.js.map +1 -1
  103. package/cjs/highlevel/methods/password/change-cloud-password.js.map +1 -1
  104. package/cjs/highlevel/methods/password/enable-cloud-password.js.map +1 -1
  105. package/cjs/highlevel/methods/password/remove-cloud-password.js.map +1 -1
  106. package/cjs/highlevel/methods/premium/can-apply-boost.js.map +1 -1
  107. package/cjs/highlevel/methods/premium/iter-boosters.js.map +1 -1
  108. package/cjs/highlevel/methods/stickers/create-sticker-set.js.map +1 -1
  109. package/cjs/highlevel/methods/stickers/delete-sticker-from-set.js.map +1 -1
  110. package/cjs/highlevel/methods/stickers/get-custom-emojis.js.map +1 -1
  111. package/cjs/highlevel/methods/stickers/move-sticker-in-set.js.map +1 -1
  112. package/cjs/highlevel/methods/stories/can-send-story.js.map +1 -1
  113. package/cjs/highlevel/methods/stories/edit-story.js.map +1 -1
  114. package/cjs/highlevel/methods/stories/find-in-update.js.map +1 -1
  115. package/cjs/highlevel/methods/stories/hide-my-stories-views.js.map +1 -1
  116. package/cjs/highlevel/methods/stories/iter-all-stories.js.map +1 -1
  117. package/cjs/highlevel/methods/stories/iter-profile-stories.js.map +1 -1
  118. package/cjs/highlevel/methods/stories/iter-story-viewers.js.map +1 -1
  119. package/cjs/highlevel/methods/stories/send-story.js.map +1 -1
  120. package/cjs/highlevel/methods/users/delete-profile-photos.js.map +1 -1
  121. package/cjs/highlevel/methods/users/get-users.js.map +1 -1
  122. package/cjs/highlevel/methods/users/iter-profile-photos.js.map +1 -1
  123. package/cjs/highlevel/methods/users/resolve-peer-many.js.map +1 -1
  124. package/cjs/highlevel/methods/users/resolve-peer.js.map +1 -1
  125. package/cjs/highlevel/methods/users/set-my-emoji-status.js.map +1 -1
  126. package/cjs/highlevel/methods/users/set-my-profile-photo.js.map +1 -1
  127. package/cjs/highlevel/storage/service/current-user.js +2 -0
  128. package/cjs/highlevel/storage/service/current-user.js.map +1 -1
  129. package/cjs/highlevel/storage/service/peers.js +5 -1
  130. package/cjs/highlevel/storage/service/peers.js.map +1 -1
  131. package/cjs/highlevel/storage/service/ref-messages.js +3 -0
  132. package/cjs/highlevel/storage/service/ref-messages.js.map +1 -1
  133. package/cjs/highlevel/storage/service/updates.js +1 -0
  134. package/cjs/highlevel/storage/service/updates.js.map +1 -1
  135. package/cjs/highlevel/storage/storage.d.ts +1 -1
  136. package/cjs/highlevel/storage/storage.js +17 -4
  137. package/cjs/highlevel/storage/storage.js.map +1 -1
  138. package/cjs/highlevel/types/auth/sent-code.js +1 -0
  139. package/cjs/highlevel/types/auth/sent-code.js.map +1 -1
  140. package/cjs/highlevel/types/bots/game-high-score.js +2 -0
  141. package/cjs/highlevel/types/bots/game-high-score.js.map +1 -1
  142. package/cjs/highlevel/types/bots/inline-message/factories.js.map +1 -1
  143. package/cjs/highlevel/types/bots/inline-result/factories.js.map +1 -1
  144. package/cjs/highlevel/types/bots/keyboards/builder.js +2 -1
  145. package/cjs/highlevel/types/bots/keyboards/builder.js.map +1 -1
  146. package/cjs/highlevel/types/bots/keyboards/factories.js.map +1 -1
  147. package/cjs/highlevel/types/calls/discard-reason.js.map +1 -1
  148. package/cjs/highlevel/types/conversation.js +13 -7
  149. package/cjs/highlevel/types/conversation.js.map +1 -1
  150. package/cjs/highlevel/types/errors.js +3 -0
  151. package/cjs/highlevel/types/errors.js.map +1 -1
  152. package/cjs/highlevel/types/files/file-location.js +3 -0
  153. package/cjs/highlevel/types/files/file-location.js.map +1 -1
  154. package/cjs/highlevel/types/files/uploaded-file.js +1 -1
  155. package/cjs/highlevel/types/files/uploaded-file.js.map +1 -1
  156. package/cjs/highlevel/types/files/utils.d.ts +3 -3
  157. package/cjs/highlevel/types/files/utils.js.map +1 -1
  158. package/cjs/highlevel/types/files/web-document.js +1 -0
  159. package/cjs/highlevel/types/files/web-document.js.map +1 -1
  160. package/cjs/highlevel/types/media/audio.js +3 -2
  161. package/cjs/highlevel/types/media/audio.js.map +1 -1
  162. package/cjs/highlevel/types/media/contact.js +2 -1
  163. package/cjs/highlevel/types/media/contact.js.map +1 -1
  164. package/cjs/highlevel/types/media/dice.js +125 -124
  165. package/cjs/highlevel/types/media/dice.js.map +1 -1
  166. package/cjs/highlevel/types/media/document-utils.js.map +1 -1
  167. package/cjs/highlevel/types/media/document.js +2 -4
  168. package/cjs/highlevel/types/media/document.js.map +1 -1
  169. package/cjs/highlevel/types/media/game.js +2 -1
  170. package/cjs/highlevel/types/media/game.js.map +1 -1
  171. package/cjs/highlevel/types/media/invoice.js +4 -1
  172. package/cjs/highlevel/types/media/invoice.js.map +1 -1
  173. package/cjs/highlevel/types/media/location.js +4 -5
  174. package/cjs/highlevel/types/media/location.js.map +1 -1
  175. package/cjs/highlevel/types/media/photo.js +8 -1
  176. package/cjs/highlevel/types/media/photo.js.map +1 -1
  177. package/cjs/highlevel/types/media/poll.js +4 -1
  178. package/cjs/highlevel/types/media/poll.js.map +1 -1
  179. package/cjs/highlevel/types/media/sticker.js +3 -1
  180. package/cjs/highlevel/types/media/sticker.js.map +1 -1
  181. package/cjs/highlevel/types/media/story.js +3 -1
  182. package/cjs/highlevel/types/media/story.js.map +1 -1
  183. package/cjs/highlevel/types/media/thumbnail.js +35 -22
  184. package/cjs/highlevel/types/media/thumbnail.js.map +1 -1
  185. package/cjs/highlevel/types/media/venue.js +2 -1
  186. package/cjs/highlevel/types/media/venue.js.map +1 -1
  187. package/cjs/highlevel/types/media/video.js +3 -1
  188. package/cjs/highlevel/types/media/video.js.map +1 -1
  189. package/cjs/highlevel/types/media/voice.js +2 -1
  190. package/cjs/highlevel/types/media/voice.js.map +1 -1
  191. package/cjs/highlevel/types/media/web-page.js +2 -1
  192. package/cjs/highlevel/types/media/web-page.js.map +1 -1
  193. package/cjs/highlevel/types/messages/dialog.js +3 -0
  194. package/cjs/highlevel/types/messages/dialog.js.map +1 -1
  195. package/cjs/highlevel/types/messages/draft-message.js +1 -0
  196. package/cjs/highlevel/types/messages/draft-message.js.map +1 -1
  197. package/cjs/highlevel/types/messages/message-action.js.map +1 -1
  198. package/cjs/highlevel/types/messages/message-entity.js +2 -0
  199. package/cjs/highlevel/types/messages/message-entity.js.map +1 -1
  200. package/cjs/highlevel/types/messages/message-forward.js +2 -0
  201. package/cjs/highlevel/types/messages/message-forward.js.map +1 -1
  202. package/cjs/highlevel/types/messages/message-media.js.map +1 -1
  203. package/cjs/highlevel/types/messages/message-reactions.js +4 -0
  204. package/cjs/highlevel/types/messages/message-reactions.js.map +1 -1
  205. package/cjs/highlevel/types/messages/message-replies.js +2 -0
  206. package/cjs/highlevel/types/messages/message-replies.js.map +1 -1
  207. package/cjs/highlevel/types/messages/message.js +6 -0
  208. package/cjs/highlevel/types/messages/message.js.map +1 -1
  209. package/cjs/highlevel/types/messages/replied-message.js +2 -0
  210. package/cjs/highlevel/types/messages/replied-message.js.map +1 -1
  211. package/cjs/highlevel/types/misc/sticker-set.js +7 -1
  212. package/cjs/highlevel/types/misc/sticker-set.js.map +1 -1
  213. package/cjs/highlevel/types/misc/takeout-session.js +5 -0
  214. package/cjs/highlevel/types/misc/takeout-session.js.map +1 -1
  215. package/cjs/highlevel/types/peers/chat-colors.js +2 -0
  216. package/cjs/highlevel/types/peers/chat-colors.js.map +1 -1
  217. package/cjs/highlevel/types/peers/chat-event/actions.js.map +1 -1
  218. package/cjs/highlevel/types/peers/chat-event/filters.js.map +1 -1
  219. package/cjs/highlevel/types/peers/chat-event/index.js +2 -0
  220. package/cjs/highlevel/types/peers/chat-event/index.js.map +1 -1
  221. package/cjs/highlevel/types/peers/chat-invite-link-member.js +2 -0
  222. package/cjs/highlevel/types/peers/chat-invite-link-member.js.map +1 -1
  223. package/cjs/highlevel/types/peers/chat-invite-link.js +2 -0
  224. package/cjs/highlevel/types/peers/chat-invite-link.js.map +1 -1
  225. package/cjs/highlevel/types/peers/chat-location.js +1 -0
  226. package/cjs/highlevel/types/peers/chat-location.js.map +1 -1
  227. package/cjs/highlevel/types/peers/chat-member.js +2 -0
  228. package/cjs/highlevel/types/peers/chat-member.js.map +1 -1
  229. package/cjs/highlevel/types/peers/chat-permissions.js +1 -0
  230. package/cjs/highlevel/types/peers/chat-permissions.js.map +1 -1
  231. package/cjs/highlevel/types/peers/chat-photo.js +5 -0
  232. package/cjs/highlevel/types/peers/chat-photo.js.map +1 -1
  233. package/cjs/highlevel/types/peers/chat-preview.js +2 -0
  234. package/cjs/highlevel/types/peers/chat-preview.js.map +1 -1
  235. package/cjs/highlevel/types/peers/chat.js +12 -1
  236. package/cjs/highlevel/types/peers/chat.js.map +1 -1
  237. package/cjs/highlevel/types/peers/forum-topic.js +9 -6
  238. package/cjs/highlevel/types/peers/forum-topic.js.map +1 -1
  239. package/cjs/highlevel/types/peers/peer.js.map +1 -1
  240. package/cjs/highlevel/types/peers/peers-index.js +3 -1
  241. package/cjs/highlevel/types/peers/peers-index.js.map +1 -1
  242. package/cjs/highlevel/types/peers/user.js +5 -1
  243. package/cjs/highlevel/types/peers/user.js.map +1 -1
  244. package/cjs/highlevel/types/premium/boost-slot.js +2 -0
  245. package/cjs/highlevel/types/premium/boost-slot.js.map +1 -1
  246. package/cjs/highlevel/types/premium/boost-stats.js +1 -0
  247. package/cjs/highlevel/types/premium/boost-stats.js.map +1 -1
  248. package/cjs/highlevel/types/premium/boost.js +2 -0
  249. package/cjs/highlevel/types/premium/boost.js.map +1 -1
  250. package/cjs/highlevel/types/reactions/emoji-status.js +1 -0
  251. package/cjs/highlevel/types/reactions/emoji-status.js.map +1 -1
  252. package/cjs/highlevel/types/reactions/peer-reaction.js +2 -0
  253. package/cjs/highlevel/types/reactions/peer-reaction.js.map +1 -1
  254. package/cjs/highlevel/types/reactions/reaction-count.js +1 -0
  255. package/cjs/highlevel/types/reactions/reaction-count.js.map +1 -1
  256. package/cjs/highlevel/types/reactions/types.js.map +1 -1
  257. package/cjs/highlevel/types/stories/all-stories.d.ts +2 -2
  258. package/cjs/highlevel/types/stories/all-stories.js +3 -1
  259. package/cjs/highlevel/types/stories/all-stories.js.map +1 -1
  260. package/cjs/highlevel/types/stories/interactive/base.js +1 -0
  261. package/cjs/highlevel/types/stories/interactive/base.js.map +1 -1
  262. package/cjs/highlevel/types/stories/interactive/channel-post.js +3 -1
  263. package/cjs/highlevel/types/stories/interactive/channel-post.js.map +1 -1
  264. package/cjs/highlevel/types/stories/interactive/index.js.map +1 -1
  265. package/cjs/highlevel/types/stories/interactive/input.js +1 -0
  266. package/cjs/highlevel/types/stories/interactive/input.js.map +1 -1
  267. package/cjs/highlevel/types/stories/interactive/location.js +2 -1
  268. package/cjs/highlevel/types/stories/interactive/location.js.map +1 -1
  269. package/cjs/highlevel/types/stories/interactive/reaction.js +2 -1
  270. package/cjs/highlevel/types/stories/interactive/reaction.js.map +1 -1
  271. package/cjs/highlevel/types/stories/interactive/venue.js +2 -1
  272. package/cjs/highlevel/types/stories/interactive/venue.js.map +1 -1
  273. package/cjs/highlevel/types/stories/peer-stories.js +2 -0
  274. package/cjs/highlevel/types/stories/peer-stories.js.map +1 -1
  275. package/cjs/highlevel/types/stories/stealth-mode.js +1 -0
  276. package/cjs/highlevel/types/stories/stealth-mode.js.map +1 -1
  277. package/cjs/highlevel/types/stories/story-interactions.js +2 -0
  278. package/cjs/highlevel/types/stories/story-interactions.js.map +1 -1
  279. package/cjs/highlevel/types/stories/story-viewer.d.ts +1 -1
  280. package/cjs/highlevel/types/stories/story-viewer.js +6 -0
  281. package/cjs/highlevel/types/stories/story-viewer.js.map +1 -1
  282. package/cjs/highlevel/types/stories/story.js +2 -0
  283. package/cjs/highlevel/types/stories/story.js.map +1 -1
  284. package/cjs/highlevel/types/updates/bot-chat-join-request.js +2 -0
  285. package/cjs/highlevel/types/updates/bot-chat-join-request.js.map +1 -1
  286. package/cjs/highlevel/types/updates/bot-reaction.js +4 -0
  287. package/cjs/highlevel/types/updates/bot-reaction.js.map +1 -1
  288. package/cjs/highlevel/types/updates/bot-stopped.js +2 -0
  289. package/cjs/highlevel/types/updates/bot-stopped.js.map +1 -1
  290. package/cjs/highlevel/types/updates/callback-query.js +4 -0
  291. package/cjs/highlevel/types/updates/callback-query.js.map +1 -1
  292. package/cjs/highlevel/types/updates/chat-join-request.js +2 -0
  293. package/cjs/highlevel/types/updates/chat-join-request.js.map +1 -1
  294. package/cjs/highlevel/types/updates/chat-member-update.js +2 -0
  295. package/cjs/highlevel/types/updates/chat-member-update.js.map +1 -1
  296. package/cjs/highlevel/types/updates/chosen-inline-result.js +2 -0
  297. package/cjs/highlevel/types/updates/chosen-inline-result.js.map +1 -1
  298. package/cjs/highlevel/types/updates/delete-message-update.js +1 -0
  299. package/cjs/highlevel/types/updates/delete-message-update.js.map +1 -1
  300. package/cjs/highlevel/types/updates/delete-story-update.js +2 -0
  301. package/cjs/highlevel/types/updates/delete-story-update.js.map +1 -1
  302. package/cjs/highlevel/types/updates/history-read-update.js +1 -0
  303. package/cjs/highlevel/types/updates/history-read-update.js.map +1 -1
  304. package/cjs/highlevel/types/updates/inline-query.js +2 -0
  305. package/cjs/highlevel/types/updates/inline-query.js.map +1 -1
  306. package/cjs/highlevel/types/updates/parse-update.js.map +1 -1
  307. package/cjs/highlevel/types/updates/poll-update.js +2 -0
  308. package/cjs/highlevel/types/updates/poll-update.js.map +1 -1
  309. package/cjs/highlevel/types/updates/poll-vote.js +2 -0
  310. package/cjs/highlevel/types/updates/poll-vote.js.map +1 -1
  311. package/cjs/highlevel/types/updates/pre-checkout-query.js +2 -0
  312. package/cjs/highlevel/types/updates/pre-checkout-query.js.map +1 -1
  313. package/cjs/highlevel/types/updates/story-update.js +2 -0
  314. package/cjs/highlevel/types/updates/story-update.js.map +1 -1
  315. package/cjs/highlevel/types/updates/user-status-update.js +1 -0
  316. package/cjs/highlevel/types/updates/user-status-update.js.map +1 -1
  317. package/cjs/highlevel/types/updates/user-typing-update.js +1 -0
  318. package/cjs/highlevel/types/updates/user-typing-update.js.map +1 -1
  319. package/cjs/highlevel/updates/manager.d.ts +1 -1
  320. package/cjs/highlevel/updates/manager.js +50 -28
  321. package/cjs/highlevel/updates/manager.js.map +1 -1
  322. package/cjs/highlevel/updates/parsed.js.map +1 -1
  323. package/cjs/highlevel/updates/utils.js.map +1 -1
  324. package/cjs/highlevel/utils/convert-file-id.js.map +1 -1
  325. package/cjs/highlevel/utils/entities.js.map +1 -1
  326. package/cjs/highlevel/utils/file-type.d.ts +1 -0
  327. package/cjs/highlevel/utils/file-type.js +35 -1
  328. package/cjs/highlevel/utils/file-type.js.map +1 -1
  329. package/cjs/highlevel/utils/file-utils.js +1 -1
  330. package/cjs/highlevel/utils/file-utils.js.map +1 -1
  331. package/cjs/highlevel/utils/inline-utils.js.map +1 -1
  332. package/cjs/highlevel/utils/inspectable.js.map +1 -1
  333. package/cjs/highlevel/utils/memoize.js.map +1 -1
  334. package/cjs/highlevel/utils/peer-utils.js.map +1 -1
  335. package/cjs/highlevel/utils/query-batcher.js.map +1 -1
  336. package/cjs/highlevel/utils/rps-meter.js +3 -0
  337. package/cjs/highlevel/utils/rps-meter.js.map +1 -1
  338. package/cjs/highlevel/utils/stream-utils.js.map +1 -1
  339. package/cjs/highlevel/utils/string-session.d.ts +1 -2
  340. package/cjs/highlevel/utils/string-session.js +27 -7
  341. package/cjs/highlevel/utils/string-session.js.map +1 -1
  342. package/cjs/highlevel/utils/voice-utils.js.map +1 -1
  343. package/cjs/highlevel/worker/app-config.d.ts +2 -3
  344. package/cjs/highlevel/worker/app-config.js +6 -3
  345. package/cjs/highlevel/worker/app-config.js.map +1 -1
  346. package/cjs/highlevel/worker/errors.js.map +1 -1
  347. package/cjs/highlevel/worker/invoker.js +3 -2
  348. package/cjs/highlevel/worker/invoker.js.map +1 -1
  349. package/cjs/highlevel/worker/port.d.ts +16 -17
  350. package/cjs/highlevel/worker/port.js +74 -49
  351. package/cjs/highlevel/worker/port.js.map +1 -1
  352. package/cjs/highlevel/worker/protocol.d.ts +2 -2
  353. package/cjs/highlevel/worker/protocol.js.map +1 -1
  354. package/cjs/highlevel/worker/storage.d.ts +9 -13
  355. package/cjs/highlevel/worker/storage.js +34 -19
  356. package/cjs/highlevel/worker/storage.js.map +1 -1
  357. package/cjs/highlevel/worker/worker.js +3 -0
  358. package/cjs/highlevel/worker/worker.js.map +1 -1
  359. package/cjs/network/auth-key.js +8 -1
  360. package/cjs/network/auth-key.js.map +1 -1
  361. package/cjs/network/authorization.js.map +1 -1
  362. package/cjs/network/client.d.ts +1 -1
  363. package/cjs/network/client.js +39 -14
  364. package/cjs/network/client.js.map +1 -1
  365. package/cjs/network/config-manager.js.map +1 -1
  366. package/cjs/network/mtproto-session.d.ts +1 -1
  367. package/cjs/network/mtproto-session.js +40 -30
  368. package/cjs/network/mtproto-session.js.map +1 -1
  369. package/cjs/network/multi-session-connection.d.ts +2 -2
  370. package/cjs/network/multi-session-connection.js +13 -7
  371. package/cjs/network/multi-session-connection.js.map +1 -1
  372. package/cjs/network/network-manager.d.ts +2 -3
  373. package/cjs/network/network-manager.js +49 -28
  374. package/cjs/network/network-manager.js.map +1 -1
  375. package/cjs/network/persistent-connection.d.ts +3 -3
  376. package/cjs/network/persistent-connection.js +33 -22
  377. package/cjs/network/persistent-connection.js.map +1 -1
  378. package/cjs/network/server-salt.js +4 -5
  379. package/cjs/network/server-salt.js.map +1 -1
  380. package/cjs/network/session-connection.d.ts +1 -1
  381. package/cjs/network/session-connection.js +22 -12
  382. package/cjs/network/session-connection.js.map +1 -1
  383. package/cjs/network/transports/abstract.d.ts +2 -2
  384. package/cjs/network/transports/abstract.js +1 -0
  385. package/cjs/network/transports/abstract.js.map +1 -1
  386. package/cjs/network/transports/intermediate.js +1 -0
  387. package/cjs/network/transports/intermediate.js.map +1 -1
  388. package/cjs/network/transports/obfuscated.js +3 -0
  389. package/cjs/network/transports/obfuscated.js.map +1 -1
  390. package/cjs/network/transports/streamed.d.ts +1 -1
  391. package/cjs/network/transports/streamed.js +1 -4
  392. package/cjs/network/transports/streamed.js.map +1 -1
  393. package/cjs/network/transports/wrapped.d.ts +1 -1
  394. package/cjs/network/transports/wrapped.js +2 -0
  395. package/cjs/network/transports/wrapped.js.map +1 -1
  396. package/cjs/platform.js.map +1 -1
  397. package/cjs/storage/driver.js +3 -4
  398. package/cjs/storage/driver.js.map +1 -1
  399. package/cjs/storage/memory/driver.js +1 -3
  400. package/cjs/storage/memory/driver.js.map +1 -1
  401. package/cjs/storage/memory/index.js +5 -7
  402. package/cjs/storage/memory/index.js.map +1 -1
  403. package/cjs/storage/memory/repository/auth-keys.d.ts +1 -1
  404. package/cjs/storage/memory/repository/auth-keys.js +2 -0
  405. package/cjs/storage/memory/repository/auth-keys.js.map +1 -1
  406. package/cjs/storage/memory/repository/kv.d.ts +1 -1
  407. package/cjs/storage/memory/repository/kv.js +2 -0
  408. package/cjs/storage/memory/repository/kv.js.map +1 -1
  409. package/cjs/storage/memory/repository/peers.d.ts +1 -1
  410. package/cjs/storage/memory/repository/peers.js +2 -0
  411. package/cjs/storage/memory/repository/peers.js.map +1 -1
  412. package/cjs/storage/memory/repository/ref-messages.d.ts +1 -1
  413. package/cjs/storage/memory/repository/ref-messages.js +2 -0
  414. package/cjs/storage/memory/repository/ref-messages.js.map +1 -1
  415. package/cjs/storage/service/auth-keys.js +2 -0
  416. package/cjs/storage/service/auth-keys.js.map +1 -1
  417. package/cjs/storage/service/base.js +4 -0
  418. package/cjs/storage/service/base.js.map +1 -1
  419. package/cjs/storage/service/default-dcs.js +2 -0
  420. package/cjs/storage/service/default-dcs.js.map +1 -1
  421. package/cjs/storage/service/future-salts.js +2 -1
  422. package/cjs/storage/service/future-salts.js.map +1 -1
  423. package/cjs/storage/sqlite/driver.js +10 -10
  424. package/cjs/storage/sqlite/driver.js.map +1 -1
  425. package/cjs/storage/sqlite/index.d.ts +1 -1
  426. package/cjs/storage/sqlite/index.js +5 -0
  427. package/cjs/storage/sqlite/index.js.map +1 -1
  428. package/cjs/storage/sqlite/repository/auth-keys.js +9 -0
  429. package/cjs/storage/sqlite/repository/auth-keys.js.map +1 -1
  430. package/cjs/storage/sqlite/repository/kv.js +5 -0
  431. package/cjs/storage/sqlite/repository/kv.js.map +1 -1
  432. package/cjs/storage/sqlite/repository/peers.js +6 -0
  433. package/cjs/storage/sqlite/repository/peers.js.map +1 -1
  434. package/cjs/storage/sqlite/repository/ref-messages.d.ts +1 -1
  435. package/cjs/storage/sqlite/repository/ref-messages.js +6 -0
  436. package/cjs/storage/sqlite/repository/ref-messages.js.map +1 -1
  437. package/cjs/storage/storage.d.ts +1 -3
  438. package/cjs/storage/storage.js +21 -13
  439. package/cjs/storage/storage.js.map +1 -1
  440. package/cjs/types/errors.js +13 -0
  441. package/cjs/types/errors.js.map +1 -1
  442. package/cjs/utils/async-lock.js +1 -3
  443. package/cjs/utils/async-lock.js.map +1 -1
  444. package/cjs/utils/bigint-utils.js.map +1 -1
  445. package/cjs/utils/binary/asn1-parser.js.map +1 -1
  446. package/cjs/utils/buffer-utils.js.map +1 -1
  447. package/cjs/utils/condition-variable.js +2 -0
  448. package/cjs/utils/condition-variable.js.map +1 -1
  449. package/cjs/utils/crypto/factorization.js.map +1 -1
  450. package/cjs/utils/crypto/keys.js.map +1 -1
  451. package/cjs/utils/crypto/miller-rabin.js.map +1 -1
  452. package/cjs/utils/crypto/password.js.map +1 -1
  453. package/cjs/utils/crypto/utils.js.map +1 -1
  454. package/cjs/utils/dcs.js +1 -1
  455. package/cjs/utils/dcs.js.map +1 -1
  456. package/cjs/utils/deque.js +8 -2
  457. package/cjs/utils/deque.js.map +1 -1
  458. package/cjs/utils/early-timer.js +4 -1
  459. package/cjs/utils/early-timer.js.map +1 -1
  460. package/cjs/utils/error-reporting.js.map +1 -1
  461. package/cjs/utils/function-utils.js.map +1 -1
  462. package/cjs/utils/linked-list.js +4 -1
  463. package/cjs/utils/linked-list.js.map +1 -1
  464. package/cjs/utils/links/bots.js.map +1 -1
  465. package/cjs/utils/links/chat.js.map +1 -1
  466. package/cjs/utils/links/common.js.map +1 -1
  467. package/cjs/utils/links/misc.js.map +1 -1
  468. package/cjs/utils/logger.d.ts +2 -2
  469. package/cjs/utils/logger.js +21 -14
  470. package/cjs/utils/logger.js.map +1 -1
  471. package/cjs/utils/long-utils.js +2 -6
  472. package/cjs/utils/long-utils.js.map +1 -1
  473. package/cjs/utils/lru-map.js +5 -1
  474. package/cjs/utils/lru-map.js.map +1 -1
  475. package/cjs/utils/lru-set.js +4 -0
  476. package/cjs/utils/lru-set.js.map +1 -1
  477. package/cjs/utils/peer-utils.js.map +1 -1
  478. package/cjs/utils/reloadable.d.ts +1 -1
  479. package/cjs/utils/reloadable.js +10 -7
  480. package/cjs/utils/reloadable.js.map +1 -1
  481. package/cjs/utils/sorted-array.js +2 -0
  482. package/cjs/utils/sorted-array.js.map +1 -1
  483. package/cjs/utils/tl-json.js.map +1 -1
  484. package/cjs/utils/type-assertions.js.map +1 -1
  485. package/esm/highlevel/base.d.ts +1 -1
  486. package/esm/highlevel/base.js +29 -23
  487. package/esm/highlevel/base.js.map +1 -1
  488. package/esm/highlevel/client.d.ts +2 -1
  489. package/esm/highlevel/client.js +1 -0
  490. package/esm/highlevel/client.js.map +1 -1
  491. package/esm/highlevel/managers/app-config-manager.js +7 -5
  492. package/esm/highlevel/managers/app-config-manager.js.map +1 -1
  493. package/esm/highlevel/methods/_init.js.map +1 -1
  494. package/esm/highlevel/methods/auth/start-test.js.map +1 -1
  495. package/esm/highlevel/methods/auth/start.js.map +1 -1
  496. package/esm/highlevel/methods/auth/utils.js.map +1 -1
  497. package/esm/highlevel/methods/bots/get-callback-answer.js.map +1 -1
  498. package/esm/highlevel/methods/bots/get-game-high-scores.js.map +1 -1
  499. package/esm/highlevel/methods/bots/normalize-command-scope.js.map +1 -1
  500. package/esm/highlevel/methods/bots/set-my-commands.js.map +1 -1
  501. package/esm/highlevel/methods/chats/add-chat-members.js.map +1 -1
  502. package/esm/highlevel/methods/chats/ban-chat-member.js.map +1 -1
  503. package/esm/highlevel/methods/chats/batched-queries.js.map +1 -1
  504. package/esm/highlevel/methods/chats/delete-chat-photo.js.map +1 -1
  505. package/esm/highlevel/methods/chats/delete-history.js.map +1 -1
  506. package/esm/highlevel/methods/chats/get-chat-event-log.js.map +1 -1
  507. package/esm/highlevel/methods/chats/get-chat-member.js.map +1 -1
  508. package/esm/highlevel/methods/chats/get-chat-members.js.map +1 -1
  509. package/esm/highlevel/methods/chats/get-chat-preview.js.map +1 -1
  510. package/esm/highlevel/methods/chats/get-chat.js.map +1 -1
  511. package/esm/highlevel/methods/chats/get-full-chat.js.map +1 -1
  512. package/esm/highlevel/methods/chats/get-nearby-chats.js.map +1 -1
  513. package/esm/highlevel/methods/chats/get-similar-channels.js.map +1 -1
  514. package/esm/highlevel/methods/chats/iter-chat-event-log.js.map +1 -1
  515. package/esm/highlevel/methods/chats/iter-chat-members.js.map +1 -1
  516. package/esm/highlevel/methods/chats/join-chat.js.map +1 -1
  517. package/esm/highlevel/methods/chats/kick-chat-member.js.map +1 -1
  518. package/esm/highlevel/methods/chats/leave-chat.js.map +1 -1
  519. package/esm/highlevel/methods/chats/open-chat.js.map +1 -1
  520. package/esm/highlevel/methods/chats/reorder-usernames.js.map +1 -1
  521. package/esm/highlevel/methods/chats/restrict-chat-member.js.map +1 -1
  522. package/esm/highlevel/methods/chats/save-draft.js.map +1 -1
  523. package/esm/highlevel/methods/chats/set-chat-color.js.map +1 -1
  524. package/esm/highlevel/methods/chats/set-chat-photo.js.map +1 -1
  525. package/esm/highlevel/methods/chats/set-chat-title.js.map +1 -1
  526. package/esm/highlevel/methods/chats/toggle-fragment-username.js.map +1 -1
  527. package/esm/highlevel/methods/chats/unarchive-chats.js.map +1 -1
  528. package/esm/highlevel/methods/chats/unban-chat-member.js.map +1 -1
  529. package/esm/highlevel/methods/contacts/delete-contacts.js.map +1 -1
  530. package/esm/highlevel/methods/dialogs/create-folder.js.map +1 -1
  531. package/esm/highlevel/methods/dialogs/edit-folder.js.map +1 -1
  532. package/esm/highlevel/methods/dialogs/find-folder.js.map +1 -1
  533. package/esm/highlevel/methods/dialogs/get-folders.js.map +1 -1
  534. package/esm/highlevel/methods/dialogs/iter-dialogs.js.map +1 -1
  535. package/esm/highlevel/methods/files/download-buffer.js.map +1 -1
  536. package/esm/highlevel/methods/files/download-iterable.js +1 -1
  537. package/esm/highlevel/methods/files/download-iterable.js.map +1 -1
  538. package/esm/highlevel/methods/files/download-node-stream.js.map +1 -1
  539. package/esm/highlevel/methods/files/download-stream.js.map +1 -1
  540. package/esm/highlevel/methods/files/normalize-file-to-document.js.map +1 -1
  541. package/esm/highlevel/methods/files/normalize-input-file.js.map +1 -1
  542. package/esm/highlevel/methods/files/normalize-input-media.js +1 -2
  543. package/esm/highlevel/methods/files/normalize-input-media.js.map +1 -1
  544. package/esm/highlevel/methods/files/upload-file.js +8 -7
  545. package/esm/highlevel/methods/files/upload-file.js.map +1 -1
  546. package/esm/highlevel/methods/files/upload-media.js.map +1 -1
  547. package/esm/highlevel/methods/forums/iter-forum-topics.js.map +1 -1
  548. package/esm/highlevel/methods/invite-links/get-primary-invite-link.js.map +1 -1
  549. package/esm/highlevel/methods/invite-links/iter-invite-link-members.js.map +1 -1
  550. package/esm/highlevel/methods/invite-links/iter-invite-links.js.map +1 -1
  551. package/esm/highlevel/methods/messages/close-poll.js.map +1 -1
  552. package/esm/highlevel/methods/messages/delete-messages.js.map +1 -1
  553. package/esm/highlevel/methods/messages/edit-inline-message.js.map +1 -1
  554. package/esm/highlevel/methods/messages/edit-message.js.map +1 -1
  555. package/esm/highlevel/methods/messages/find-in-update.js.map +1 -1
  556. package/esm/highlevel/methods/messages/forward-messages.js.map +1 -1
  557. package/esm/highlevel/methods/messages/get-callback-query-message.js.map +1 -1
  558. package/esm/highlevel/methods/messages/get-discussion-message.js.map +1 -1
  559. package/esm/highlevel/methods/messages/get-history.js +5 -1
  560. package/esm/highlevel/methods/messages/get-history.js.map +1 -1
  561. package/esm/highlevel/methods/messages/get-message-by-link.js.map +1 -1
  562. package/esm/highlevel/methods/messages/get-message-group.js.map +1 -1
  563. package/esm/highlevel/methods/messages/get-message-reactions.js.map +1 -1
  564. package/esm/highlevel/methods/messages/get-messages.js.map +1 -1
  565. package/esm/highlevel/methods/messages/get-reply-to.js.map +1 -1
  566. package/esm/highlevel/methods/messages/iter-history.js.map +1 -1
  567. package/esm/highlevel/methods/messages/iter-reaction-users.js.map +1 -1
  568. package/esm/highlevel/methods/messages/iter-search-global.js.map +1 -1
  569. package/esm/highlevel/methods/messages/iter-search-messages.js.map +1 -1
  570. package/esm/highlevel/methods/messages/read-history.js.map +1 -1
  571. package/esm/highlevel/methods/messages/send-answer.js.map +1 -1
  572. package/esm/highlevel/methods/messages/send-comment.js.map +1 -1
  573. package/esm/highlevel/methods/messages/send-common.js.map +1 -1
  574. package/esm/highlevel/methods/messages/send-copy-group.js.map +1 -1
  575. package/esm/highlevel/methods/messages/send-copy.js.map +1 -1
  576. package/esm/highlevel/methods/messages/send-media-group.js.map +1 -1
  577. package/esm/highlevel/methods/messages/send-media.js.map +1 -1
  578. package/esm/highlevel/methods/messages/send-quote.js.map +1 -1
  579. package/esm/highlevel/methods/messages/send-text.js.map +1 -1
  580. package/esm/highlevel/methods/messages/send-typing.js.map +1 -1
  581. package/esm/highlevel/methods/messages/send-vote.js.map +1 -1
  582. package/esm/highlevel/methods/messages/translate-text.js.map +1 -1
  583. package/esm/highlevel/methods/messages/unpin-all-messages.js.map +1 -1
  584. package/esm/highlevel/methods/misc/normalize-privacy-rules.js.map +1 -1
  585. package/esm/highlevel/methods/misc/normalize-text.js.map +1 -1
  586. package/esm/highlevel/methods/misc/with-params.js.map +1 -1
  587. package/esm/highlevel/methods/password/change-cloud-password.js.map +1 -1
  588. package/esm/highlevel/methods/password/enable-cloud-password.js.map +1 -1
  589. package/esm/highlevel/methods/password/remove-cloud-password.js.map +1 -1
  590. package/esm/highlevel/methods/premium/can-apply-boost.js.map +1 -1
  591. package/esm/highlevel/methods/premium/iter-boosters.js.map +1 -1
  592. package/esm/highlevel/methods/stickers/create-sticker-set.js.map +1 -1
  593. package/esm/highlevel/methods/stickers/delete-sticker-from-set.js.map +1 -1
  594. package/esm/highlevel/methods/stickers/get-custom-emojis.js.map +1 -1
  595. package/esm/highlevel/methods/stickers/move-sticker-in-set.js.map +1 -1
  596. package/esm/highlevel/methods/stories/can-send-story.js.map +1 -1
  597. package/esm/highlevel/methods/stories/edit-story.js.map +1 -1
  598. package/esm/highlevel/methods/stories/find-in-update.js.map +1 -1
  599. package/esm/highlevel/methods/stories/hide-my-stories-views.js.map +1 -1
  600. package/esm/highlevel/methods/stories/iter-all-stories.js.map +1 -1
  601. package/esm/highlevel/methods/stories/iter-profile-stories.js.map +1 -1
  602. package/esm/highlevel/methods/stories/iter-story-viewers.js.map +1 -1
  603. package/esm/highlevel/methods/stories/send-story.js.map +1 -1
  604. package/esm/highlevel/methods/users/delete-profile-photos.js.map +1 -1
  605. package/esm/highlevel/methods/users/get-users.js.map +1 -1
  606. package/esm/highlevel/methods/users/iter-profile-photos.js.map +1 -1
  607. package/esm/highlevel/methods/users/resolve-peer-many.js.map +1 -1
  608. package/esm/highlevel/methods/users/resolve-peer.js.map +1 -1
  609. package/esm/highlevel/methods/users/set-my-emoji-status.js.map +1 -1
  610. package/esm/highlevel/methods/users/set-my-profile-photo.js.map +1 -1
  611. package/esm/highlevel/storage/service/current-user.js +2 -0
  612. package/esm/highlevel/storage/service/current-user.js.map +1 -1
  613. package/esm/highlevel/storage/service/peers.js +5 -1
  614. package/esm/highlevel/storage/service/peers.js.map +1 -1
  615. package/esm/highlevel/storage/service/ref-messages.js +3 -0
  616. package/esm/highlevel/storage/service/ref-messages.js.map +1 -1
  617. package/esm/highlevel/storage/service/updates.js +1 -0
  618. package/esm/highlevel/storage/service/updates.js.map +1 -1
  619. package/esm/highlevel/storage/storage.d.ts +1 -1
  620. package/esm/highlevel/storage/storage.js +17 -4
  621. package/esm/highlevel/storage/storage.js.map +1 -1
  622. package/esm/highlevel/types/auth/sent-code.js +1 -0
  623. package/esm/highlevel/types/auth/sent-code.js.map +1 -1
  624. package/esm/highlevel/types/bots/game-high-score.js +2 -0
  625. package/esm/highlevel/types/bots/game-high-score.js.map +1 -1
  626. package/esm/highlevel/types/bots/inline-message/factories.js.map +1 -1
  627. package/esm/highlevel/types/bots/inline-result/factories.js.map +1 -1
  628. package/esm/highlevel/types/bots/keyboards/builder.js +2 -1
  629. package/esm/highlevel/types/bots/keyboards/builder.js.map +1 -1
  630. package/esm/highlevel/types/bots/keyboards/factories.js.map +1 -1
  631. package/esm/highlevel/types/calls/discard-reason.js.map +1 -1
  632. package/esm/highlevel/types/conversation.js +13 -7
  633. package/esm/highlevel/types/conversation.js.map +1 -1
  634. package/esm/highlevel/types/errors.js +3 -0
  635. package/esm/highlevel/types/errors.js.map +1 -1
  636. package/esm/highlevel/types/files/file-location.js +3 -0
  637. package/esm/highlevel/types/files/file-location.js.map +1 -1
  638. package/esm/highlevel/types/files/uploaded-file.js +1 -1
  639. package/esm/highlevel/types/files/uploaded-file.js.map +1 -1
  640. package/esm/highlevel/types/files/utils.d.ts +1 -1
  641. package/esm/highlevel/types/files/utils.js.map +1 -1
  642. package/esm/highlevel/types/files/web-document.js +1 -0
  643. package/esm/highlevel/types/files/web-document.js.map +1 -1
  644. package/esm/highlevel/types/media/audio.js +3 -2
  645. package/esm/highlevel/types/media/audio.js.map +1 -1
  646. package/esm/highlevel/types/media/contact.js +2 -1
  647. package/esm/highlevel/types/media/contact.js.map +1 -1
  648. package/esm/highlevel/types/media/dice.js +125 -124
  649. package/esm/highlevel/types/media/dice.js.map +1 -1
  650. package/esm/highlevel/types/media/document-utils.js.map +1 -1
  651. package/esm/highlevel/types/media/document.js +2 -4
  652. package/esm/highlevel/types/media/document.js.map +1 -1
  653. package/esm/highlevel/types/media/game.js +2 -1
  654. package/esm/highlevel/types/media/game.js.map +1 -1
  655. package/esm/highlevel/types/media/invoice.js +4 -1
  656. package/esm/highlevel/types/media/invoice.js.map +1 -1
  657. package/esm/highlevel/types/media/location.js +4 -5
  658. package/esm/highlevel/types/media/location.js.map +1 -1
  659. package/esm/highlevel/types/media/photo.js +8 -1
  660. package/esm/highlevel/types/media/photo.js.map +1 -1
  661. package/esm/highlevel/types/media/poll.js +4 -1
  662. package/esm/highlevel/types/media/poll.js.map +1 -1
  663. package/esm/highlevel/types/media/sticker.js +3 -1
  664. package/esm/highlevel/types/media/sticker.js.map +1 -1
  665. package/esm/highlevel/types/media/story.js +3 -1
  666. package/esm/highlevel/types/media/story.js.map +1 -1
  667. package/esm/highlevel/types/media/thumbnail.js +35 -22
  668. package/esm/highlevel/types/media/thumbnail.js.map +1 -1
  669. package/esm/highlevel/types/media/venue.js +2 -1
  670. package/esm/highlevel/types/media/venue.js.map +1 -1
  671. package/esm/highlevel/types/media/video.js +3 -1
  672. package/esm/highlevel/types/media/video.js.map +1 -1
  673. package/esm/highlevel/types/media/voice.js +2 -1
  674. package/esm/highlevel/types/media/voice.js.map +1 -1
  675. package/esm/highlevel/types/media/web-page.js +2 -1
  676. package/esm/highlevel/types/media/web-page.js.map +1 -1
  677. package/esm/highlevel/types/messages/dialog.js +3 -0
  678. package/esm/highlevel/types/messages/dialog.js.map +1 -1
  679. package/esm/highlevel/types/messages/draft-message.js +1 -0
  680. package/esm/highlevel/types/messages/draft-message.js.map +1 -1
  681. package/esm/highlevel/types/messages/message-action.js.map +1 -1
  682. package/esm/highlevel/types/messages/message-entity.js +2 -0
  683. package/esm/highlevel/types/messages/message-entity.js.map +1 -1
  684. package/esm/highlevel/types/messages/message-forward.js +2 -0
  685. package/esm/highlevel/types/messages/message-forward.js.map +1 -1
  686. package/esm/highlevel/types/messages/message-media.js.map +1 -1
  687. package/esm/highlevel/types/messages/message-reactions.js +4 -0
  688. package/esm/highlevel/types/messages/message-reactions.js.map +1 -1
  689. package/esm/highlevel/types/messages/message-replies.js +2 -0
  690. package/esm/highlevel/types/messages/message-replies.js.map +1 -1
  691. package/esm/highlevel/types/messages/message.js +6 -0
  692. package/esm/highlevel/types/messages/message.js.map +1 -1
  693. package/esm/highlevel/types/messages/replied-message.js +2 -0
  694. package/esm/highlevel/types/messages/replied-message.js.map +1 -1
  695. package/esm/highlevel/types/misc/sticker-set.js +7 -1
  696. package/esm/highlevel/types/misc/sticker-set.js.map +1 -1
  697. package/esm/highlevel/types/misc/takeout-session.js +5 -0
  698. package/esm/highlevel/types/misc/takeout-session.js.map +1 -1
  699. package/esm/highlevel/types/peers/chat-colors.js +2 -0
  700. package/esm/highlevel/types/peers/chat-colors.js.map +1 -1
  701. package/esm/highlevel/types/peers/chat-event/actions.js.map +1 -1
  702. package/esm/highlevel/types/peers/chat-event/filters.js.map +1 -1
  703. package/esm/highlevel/types/peers/chat-event/index.js +2 -0
  704. package/esm/highlevel/types/peers/chat-event/index.js.map +1 -1
  705. package/esm/highlevel/types/peers/chat-invite-link-member.js +2 -0
  706. package/esm/highlevel/types/peers/chat-invite-link-member.js.map +1 -1
  707. package/esm/highlevel/types/peers/chat-invite-link.js +2 -0
  708. package/esm/highlevel/types/peers/chat-invite-link.js.map +1 -1
  709. package/esm/highlevel/types/peers/chat-location.js +1 -0
  710. package/esm/highlevel/types/peers/chat-location.js.map +1 -1
  711. package/esm/highlevel/types/peers/chat-member.js +2 -0
  712. package/esm/highlevel/types/peers/chat-member.js.map +1 -1
  713. package/esm/highlevel/types/peers/chat-permissions.js +1 -0
  714. package/esm/highlevel/types/peers/chat-permissions.js.map +1 -1
  715. package/esm/highlevel/types/peers/chat-photo.js +5 -0
  716. package/esm/highlevel/types/peers/chat-photo.js.map +1 -1
  717. package/esm/highlevel/types/peers/chat-preview.js +2 -0
  718. package/esm/highlevel/types/peers/chat-preview.js.map +1 -1
  719. package/esm/highlevel/types/peers/chat.js +12 -1
  720. package/esm/highlevel/types/peers/chat.js.map +1 -1
  721. package/esm/highlevel/types/peers/forum-topic.js +9 -6
  722. package/esm/highlevel/types/peers/forum-topic.js.map +1 -1
  723. package/esm/highlevel/types/peers/peer.js.map +1 -1
  724. package/esm/highlevel/types/peers/peers-index.js +3 -1
  725. package/esm/highlevel/types/peers/peers-index.js.map +1 -1
  726. package/esm/highlevel/types/peers/user.js +5 -1
  727. package/esm/highlevel/types/peers/user.js.map +1 -1
  728. package/esm/highlevel/types/premium/boost-slot.js +2 -0
  729. package/esm/highlevel/types/premium/boost-slot.js.map +1 -1
  730. package/esm/highlevel/types/premium/boost-stats.js +1 -0
  731. package/esm/highlevel/types/premium/boost-stats.js.map +1 -1
  732. package/esm/highlevel/types/premium/boost.js +2 -0
  733. package/esm/highlevel/types/premium/boost.js.map +1 -1
  734. package/esm/highlevel/types/reactions/emoji-status.js +1 -0
  735. package/esm/highlevel/types/reactions/emoji-status.js.map +1 -1
  736. package/esm/highlevel/types/reactions/peer-reaction.js +2 -0
  737. package/esm/highlevel/types/reactions/peer-reaction.js.map +1 -1
  738. package/esm/highlevel/types/reactions/reaction-count.js +1 -0
  739. package/esm/highlevel/types/reactions/reaction-count.js.map +1 -1
  740. package/esm/highlevel/types/reactions/types.js.map +1 -1
  741. package/esm/highlevel/types/stories/all-stories.d.ts +2 -2
  742. package/esm/highlevel/types/stories/all-stories.js +3 -1
  743. package/esm/highlevel/types/stories/all-stories.js.map +1 -1
  744. package/esm/highlevel/types/stories/interactive/base.js +1 -0
  745. package/esm/highlevel/types/stories/interactive/base.js.map +1 -1
  746. package/esm/highlevel/types/stories/interactive/channel-post.js +3 -1
  747. package/esm/highlevel/types/stories/interactive/channel-post.js.map +1 -1
  748. package/esm/highlevel/types/stories/interactive/index.js.map +1 -1
  749. package/esm/highlevel/types/stories/interactive/input.js +1 -0
  750. package/esm/highlevel/types/stories/interactive/input.js.map +1 -1
  751. package/esm/highlevel/types/stories/interactive/location.js +2 -1
  752. package/esm/highlevel/types/stories/interactive/location.js.map +1 -1
  753. package/esm/highlevel/types/stories/interactive/reaction.js +2 -1
  754. package/esm/highlevel/types/stories/interactive/reaction.js.map +1 -1
  755. package/esm/highlevel/types/stories/interactive/venue.js +2 -1
  756. package/esm/highlevel/types/stories/interactive/venue.js.map +1 -1
  757. package/esm/highlevel/types/stories/peer-stories.js +2 -0
  758. package/esm/highlevel/types/stories/peer-stories.js.map +1 -1
  759. package/esm/highlevel/types/stories/stealth-mode.js +1 -0
  760. package/esm/highlevel/types/stories/stealth-mode.js.map +1 -1
  761. package/esm/highlevel/types/stories/story-interactions.js +2 -0
  762. package/esm/highlevel/types/stories/story-interactions.js.map +1 -1
  763. package/esm/highlevel/types/stories/story-viewer.d.ts +1 -1
  764. package/esm/highlevel/types/stories/story-viewer.js +6 -0
  765. package/esm/highlevel/types/stories/story-viewer.js.map +1 -1
  766. package/esm/highlevel/types/stories/story.js +2 -0
  767. package/esm/highlevel/types/stories/story.js.map +1 -1
  768. package/esm/highlevel/types/updates/bot-chat-join-request.js +2 -0
  769. package/esm/highlevel/types/updates/bot-chat-join-request.js.map +1 -1
  770. package/esm/highlevel/types/updates/bot-reaction.js +4 -0
  771. package/esm/highlevel/types/updates/bot-reaction.js.map +1 -1
  772. package/esm/highlevel/types/updates/bot-stopped.js +2 -0
  773. package/esm/highlevel/types/updates/bot-stopped.js.map +1 -1
  774. package/esm/highlevel/types/updates/callback-query.js +4 -0
  775. package/esm/highlevel/types/updates/callback-query.js.map +1 -1
  776. package/esm/highlevel/types/updates/chat-join-request.js +2 -0
  777. package/esm/highlevel/types/updates/chat-join-request.js.map +1 -1
  778. package/esm/highlevel/types/updates/chat-member-update.js +2 -0
  779. package/esm/highlevel/types/updates/chat-member-update.js.map +1 -1
  780. package/esm/highlevel/types/updates/chosen-inline-result.js +2 -0
  781. package/esm/highlevel/types/updates/chosen-inline-result.js.map +1 -1
  782. package/esm/highlevel/types/updates/delete-message-update.js +1 -0
  783. package/esm/highlevel/types/updates/delete-message-update.js.map +1 -1
  784. package/esm/highlevel/types/updates/delete-story-update.js +2 -0
  785. package/esm/highlevel/types/updates/delete-story-update.js.map +1 -1
  786. package/esm/highlevel/types/updates/history-read-update.js +1 -0
  787. package/esm/highlevel/types/updates/history-read-update.js.map +1 -1
  788. package/esm/highlevel/types/updates/inline-query.js +2 -0
  789. package/esm/highlevel/types/updates/inline-query.js.map +1 -1
  790. package/esm/highlevel/types/updates/parse-update.js.map +1 -1
  791. package/esm/highlevel/types/updates/poll-update.js +2 -0
  792. package/esm/highlevel/types/updates/poll-update.js.map +1 -1
  793. package/esm/highlevel/types/updates/poll-vote.js +2 -0
  794. package/esm/highlevel/types/updates/poll-vote.js.map +1 -1
  795. package/esm/highlevel/types/updates/pre-checkout-query.js +2 -0
  796. package/esm/highlevel/types/updates/pre-checkout-query.js.map +1 -1
  797. package/esm/highlevel/types/updates/story-update.js +2 -0
  798. package/esm/highlevel/types/updates/story-update.js.map +1 -1
  799. package/esm/highlevel/types/updates/user-status-update.js +1 -0
  800. package/esm/highlevel/types/updates/user-status-update.js.map +1 -1
  801. package/esm/highlevel/types/updates/user-typing-update.js +1 -0
  802. package/esm/highlevel/types/updates/user-typing-update.js.map +1 -1
  803. package/esm/highlevel/updates/manager.js +50 -28
  804. package/esm/highlevel/updates/manager.js.map +1 -1
  805. package/esm/highlevel/updates/parsed.js.map +1 -1
  806. package/esm/highlevel/updates/utils.js.map +1 -1
  807. package/esm/highlevel/utils/convert-file-id.js.map +1 -1
  808. package/esm/highlevel/utils/entities.js.map +1 -1
  809. package/esm/highlevel/utils/file-type.d.ts +1 -0
  810. package/esm/highlevel/utils/file-type.js +34 -0
  811. package/esm/highlevel/utils/file-type.js.map +1 -1
  812. package/esm/highlevel/utils/file-utils.js +1 -1
  813. package/esm/highlevel/utils/file-utils.js.map +1 -1
  814. package/esm/highlevel/utils/inline-utils.js.map +1 -1
  815. package/esm/highlevel/utils/inspectable.js.map +1 -1
  816. package/esm/highlevel/utils/memoize.js.map +1 -1
  817. package/esm/highlevel/utils/peer-utils.js.map +1 -1
  818. package/esm/highlevel/utils/query-batcher.js.map +1 -1
  819. package/esm/highlevel/utils/rps-meter.js +3 -0
  820. package/esm/highlevel/utils/rps-meter.js.map +1 -1
  821. package/esm/highlevel/utils/stream-utils.js.map +1 -1
  822. package/esm/highlevel/utils/string-session.d.ts +1 -2
  823. package/esm/highlevel/utils/string-session.js +27 -7
  824. package/esm/highlevel/utils/string-session.js.map +1 -1
  825. package/esm/highlevel/utils/voice-utils.js.map +1 -1
  826. package/esm/highlevel/worker/app-config.d.ts +2 -3
  827. package/esm/highlevel/worker/app-config.js +6 -3
  828. package/esm/highlevel/worker/app-config.js.map +1 -1
  829. package/esm/highlevel/worker/errors.js.map +1 -1
  830. package/esm/highlevel/worker/invoker.js +3 -2
  831. package/esm/highlevel/worker/invoker.js.map +1 -1
  832. package/esm/highlevel/worker/port.d.ts +16 -17
  833. package/esm/highlevel/worker/port.js +74 -49
  834. package/esm/highlevel/worker/port.js.map +1 -1
  835. package/esm/highlevel/worker/protocol.d.ts +1 -1
  836. package/esm/highlevel/worker/protocol.js.map +1 -1
  837. package/esm/highlevel/worker/storage.d.ts +9 -13
  838. package/esm/highlevel/worker/storage.js +34 -19
  839. package/esm/highlevel/worker/storage.js.map +1 -1
  840. package/esm/highlevel/worker/worker.js +3 -0
  841. package/esm/highlevel/worker/worker.js.map +1 -1
  842. package/esm/network/auth-key.js +8 -1
  843. package/esm/network/auth-key.js.map +1 -1
  844. package/esm/network/authorization.js.map +1 -1
  845. package/esm/network/client.js +39 -14
  846. package/esm/network/client.js.map +1 -1
  847. package/esm/network/config-manager.js.map +1 -1
  848. package/esm/network/mtproto-session.js +40 -30
  849. package/esm/network/mtproto-session.js.map +1 -1
  850. package/esm/network/multi-session-connection.d.ts +1 -1
  851. package/esm/network/multi-session-connection.js +13 -7
  852. package/esm/network/multi-session-connection.js.map +1 -1
  853. package/esm/network/network-manager.d.ts +2 -3
  854. package/esm/network/network-manager.js +49 -28
  855. package/esm/network/network-manager.js.map +1 -1
  856. package/esm/network/persistent-connection.d.ts +2 -2
  857. package/esm/network/persistent-connection.js +33 -22
  858. package/esm/network/persistent-connection.js.map +1 -1
  859. package/esm/network/server-salt.js +4 -5
  860. package/esm/network/server-salt.js.map +1 -1
  861. package/esm/network/session-connection.d.ts +1 -1
  862. package/esm/network/session-connection.js +22 -12
  863. package/esm/network/session-connection.js.map +1 -1
  864. package/esm/network/transports/abstract.d.ts +1 -1
  865. package/esm/network/transports/abstract.js +1 -0
  866. package/esm/network/transports/abstract.js.map +1 -1
  867. package/esm/network/transports/intermediate.js +1 -0
  868. package/esm/network/transports/intermediate.js.map +1 -1
  869. package/esm/network/transports/obfuscated.js +3 -0
  870. package/esm/network/transports/obfuscated.js.map +1 -1
  871. package/esm/network/transports/streamed.js +1 -4
  872. package/esm/network/transports/streamed.js.map +1 -1
  873. package/esm/network/transports/wrapped.js +2 -0
  874. package/esm/network/transports/wrapped.js.map +1 -1
  875. package/esm/platform.js.map +1 -1
  876. package/esm/storage/driver.js +3 -4
  877. package/esm/storage/driver.js.map +1 -1
  878. package/esm/storage/memory/driver.js +1 -3
  879. package/esm/storage/memory/driver.js.map +1 -1
  880. package/esm/storage/memory/index.js +5 -7
  881. package/esm/storage/memory/index.js.map +1 -1
  882. package/esm/storage/memory/repository/auth-keys.d.ts +1 -1
  883. package/esm/storage/memory/repository/auth-keys.js +2 -0
  884. package/esm/storage/memory/repository/auth-keys.js.map +1 -1
  885. package/esm/storage/memory/repository/kv.d.ts +1 -1
  886. package/esm/storage/memory/repository/kv.js +2 -0
  887. package/esm/storage/memory/repository/kv.js.map +1 -1
  888. package/esm/storage/memory/repository/peers.d.ts +1 -1
  889. package/esm/storage/memory/repository/peers.js +2 -0
  890. package/esm/storage/memory/repository/peers.js.map +1 -1
  891. package/esm/storage/memory/repository/ref-messages.d.ts +1 -1
  892. package/esm/storage/memory/repository/ref-messages.js +2 -0
  893. package/esm/storage/memory/repository/ref-messages.js.map +1 -1
  894. package/esm/storage/service/auth-keys.js +2 -0
  895. package/esm/storage/service/auth-keys.js.map +1 -1
  896. package/esm/storage/service/base.js +4 -0
  897. package/esm/storage/service/base.js.map +1 -1
  898. package/esm/storage/service/default-dcs.js +2 -0
  899. package/esm/storage/service/default-dcs.js.map +1 -1
  900. package/esm/storage/service/future-salts.js +2 -1
  901. package/esm/storage/service/future-salts.js.map +1 -1
  902. package/esm/storage/sqlite/driver.js +10 -10
  903. package/esm/storage/sqlite/driver.js.map +1 -1
  904. package/esm/storage/sqlite/index.d.ts +1 -1
  905. package/esm/storage/sqlite/index.js +5 -0
  906. package/esm/storage/sqlite/index.js.map +1 -1
  907. package/esm/storage/sqlite/repository/auth-keys.js +9 -0
  908. package/esm/storage/sqlite/repository/auth-keys.js.map +1 -1
  909. package/esm/storage/sqlite/repository/kv.js +5 -0
  910. package/esm/storage/sqlite/repository/kv.js.map +1 -1
  911. package/esm/storage/sqlite/repository/peers.js +6 -0
  912. package/esm/storage/sqlite/repository/peers.js.map +1 -1
  913. package/esm/storage/sqlite/repository/ref-messages.d.ts +1 -1
  914. package/esm/storage/sqlite/repository/ref-messages.js +6 -0
  915. package/esm/storage/sqlite/repository/ref-messages.js.map +1 -1
  916. package/esm/storage/storage.d.ts +1 -3
  917. package/esm/storage/storage.js +21 -13
  918. package/esm/storage/storage.js.map +1 -1
  919. package/esm/types/errors.js +13 -0
  920. package/esm/types/errors.js.map +1 -1
  921. package/esm/utils/async-lock.js +1 -3
  922. package/esm/utils/async-lock.js.map +1 -1
  923. package/esm/utils/bigint-utils.js.map +1 -1
  924. package/esm/utils/binary/asn1-parser.js.map +1 -1
  925. package/esm/utils/buffer-utils.js.map +1 -1
  926. package/esm/utils/condition-variable.js +2 -0
  927. package/esm/utils/condition-variable.js.map +1 -1
  928. package/esm/utils/crypto/factorization.js.map +1 -1
  929. package/esm/utils/crypto/keys.js.map +1 -1
  930. package/esm/utils/crypto/miller-rabin.js.map +1 -1
  931. package/esm/utils/crypto/password.js.map +1 -1
  932. package/esm/utils/crypto/utils.js.map +1 -1
  933. package/esm/utils/dcs.js +1 -1
  934. package/esm/utils/dcs.js.map +1 -1
  935. package/esm/utils/deque.js +8 -2
  936. package/esm/utils/deque.js.map +1 -1
  937. package/esm/utils/early-timer.js +4 -1
  938. package/esm/utils/early-timer.js.map +1 -1
  939. package/esm/utils/error-reporting.js.map +1 -1
  940. package/esm/utils/function-utils.js.map +1 -1
  941. package/esm/utils/linked-list.js +4 -1
  942. package/esm/utils/linked-list.js.map +1 -1
  943. package/esm/utils/links/bots.js.map +1 -1
  944. package/esm/utils/links/chat.js.map +1 -1
  945. package/esm/utils/links/common.js.map +1 -1
  946. package/esm/utils/links/misc.js.map +1 -1
  947. package/esm/utils/logger.d.ts +2 -2
  948. package/esm/utils/logger.js +21 -14
  949. package/esm/utils/logger.js.map +1 -1
  950. package/esm/utils/long-utils.js +2 -6
  951. package/esm/utils/long-utils.js.map +1 -1
  952. package/esm/utils/lru-map.js +5 -1
  953. package/esm/utils/lru-map.js.map +1 -1
  954. package/esm/utils/lru-set.js +4 -0
  955. package/esm/utils/lru-set.js.map +1 -1
  956. package/esm/utils/peer-utils.js.map +1 -1
  957. package/esm/utils/reloadable.js +10 -7
  958. package/esm/utils/reloadable.js.map +1 -1
  959. package/esm/utils/sorted-array.js +2 -0
  960. package/esm/utils/sorted-array.js.map +1 -1
  961. package/esm/utils/tl-json.js.map +1 -1
  962. package/esm/utils/type-assertions.js.map +1 -1
  963. package/package.json +11 -11
@@ -1 +1 @@
1
- {"version":3,"file":"bot-stopped.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/updates/bot-stopped.ts"],"names":[],"mappings":";;;AAEA,mDAAsD;AACtD,uDAAuD;AACvD,gDAAoD;AAEpD;;;;;GAKG;AACH,MAAa,gBAAgB;IACzB,YACa,GAA2B,EAC3B,MAAkB;QADlB,QAAG,GAAH,GAAG,CAAwB;QAC3B,WAAM,GAAN,MAAM,CAAY;IAC5B,CAAC;IAEJ;;OAEG;IACH,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAA;IAC1B,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACJ,OAAO,IAAI,eAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;IACtD,CAAC;IAED;;;;;OAKG;IACH,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAA;IAC3B,CAAC;CACJ;AA7BD,4CA6BC;AAED,IAAA,2BAAc,EAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;AAC1C,IAAA,0BAAe,EAAC,gBAAgB,CAAC,CAAA","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { makeInspectable } from '../../utils/index.js'\nimport { memoizeGetters } from '../../utils/memoize.js'\nimport { PeersIndex, User } from '../peers/index.js'\n\n/**\n * A user has stopped or restarted the bot.\n *\n * This update is **not** sent the first time user\n * interacts with the bot.\n */\nexport class BotStoppedUpdate {\n constructor(\n readonly raw: tl.RawUpdateBotStopped,\n readonly _peers: PeersIndex,\n ) {}\n\n /**\n * ID of the user who stopped or restarted the bot\n */\n get userId(): number {\n return this.raw.userId\n }\n\n /**\n * User who stopped or restarted the bot\n */\n get user(): User {\n return new User(this._peers.user(this.raw.userId))\n }\n\n /**\n * Whether the bot is currently stopped.\n *\n * If `true`, then the user has stopped the bot.\n * If `false`, then the user has re-started the bot.\n */\n get stopped(): boolean {\n return this.raw.stopped\n }\n}\n\nmemoizeGetters(BotStoppedUpdate, ['user'])\nmakeInspectable(BotStoppedUpdate)\n"]}
1
+ {"version":3,"file":"bot-stopped.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/updates/bot-stopped.ts"],"names":[],"mappings":";;;AAEA,mDAAsD;AACtD,uDAAuD;AACvD,gDAAoD;AAEpD;;;;;GAKG;AACH,MAAa,gBAAgB;IAEZ;IACA;IAFb,YACa,GAA2B,EAC3B,MAAkB;QADlB,QAAG,GAAH,GAAG,CAAwB;QAC3B,WAAM,GAAN,MAAM,CAAY;IAC5B,CAAC;IAEJ;;OAEG;IACH,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAA;IAC1B,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACJ,OAAO,IAAI,eAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;IACtD,CAAC;IAED;;;;;OAKG;IACH,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAA;IAC3B,CAAC;CACJ;AA7BD,4CA6BC;AAED,IAAA,2BAAc,EAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;AAC1C,IAAA,0BAAe,EAAC,gBAAgB,CAAC,CAAA","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { makeInspectable } from '../../utils/index.js'\nimport { memoizeGetters } from '../../utils/memoize.js'\nimport { PeersIndex, User } from '../peers/index.js'\n\n/**\n * A user has stopped or restarted the bot.\n *\n * This update is **not** sent the first time user\n * interacts with the bot.\n */\nexport class BotStoppedUpdate {\n constructor(\n readonly raw: tl.RawUpdateBotStopped,\n readonly _peers: PeersIndex,\n ) {}\n\n /**\n * ID of the user who stopped or restarted the bot\n */\n get userId(): number {\n return this.raw.userId\n }\n\n /**\n * User who stopped or restarted the bot\n */\n get user(): User {\n return new User(this._peers.user(this.raw.userId))\n }\n\n /**\n * Whether the bot is currently stopped.\n *\n * If `true`, then the user has stopped the bot.\n * If `false`, then the user has re-started the bot.\n */\n get stopped(): boolean {\n return this.raw.stopped\n }\n}\n\nmemoizeGetters(BotStoppedUpdate, ['user'])\nmakeInspectable(BotStoppedUpdate)\n"]}
@@ -10,6 +10,8 @@ const chat_js_1 = require("../peers/chat.js");
10
10
  const user_js_1 = require("../peers/user.js");
11
11
  /** Base class for callback queries */
12
12
  class BaseCallbackQuery {
13
+ raw;
14
+ _peers;
13
15
  constructor(raw, _peers) {
14
16
  this.raw = raw;
15
17
  this._peers = _peers;
@@ -67,6 +69,7 @@ class BaseCallbackQuery {
67
69
  * A callback query originating from a normal message sent by the bot.
68
70
  */
69
71
  class CallbackQuery extends BaseCallbackQuery {
72
+ raw;
70
73
  constructor(raw, _peers) {
71
74
  super(raw, _peers);
72
75
  this.raw = raw;
@@ -94,6 +97,7 @@ exports.CallbackQuery = CallbackQuery;
94
97
  * A callback query originating from an inline message sent by the bot.
95
98
  */
96
99
  class InlineCallbackQuery extends BaseCallbackQuery {
100
+ raw;
97
101
  constructor(raw, _peers) {
98
102
  super(raw, _peers);
99
103
  this.raw = raw;
@@ -1 +1 @@
1
- {"version":3,"file":"callback-query.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/updates/callback-query.ts"],"names":[],"mappings":";;;AAEA,sDAAkD;AAClD,wDAA0D;AAC1D,mDAAsD;AACtD,iEAAmE;AACnE,uDAAuD;AACvD,8CAAuC;AAEvC,8CAAuC;AAEvC,sCAAsC;AACtC,MAAM,iBAAiB;IACnB,YACa,GAAsE,EACtE,MAAkB;QADlB,QAAG,GAAH,GAAG,CAAmE;QACtE,WAAM,GAAN,MAAM,CAAY;IAC5B,CAAC;IAEJ;;OAEG;IACH,IAAI,EAAE;QACF,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAA;IAC3B,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACJ,OAAO,IAAI,cAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;IACtD,CAAC;IAED;;;OAGG;IACH,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,CAAA;IAChC,CAAC;IAED;;;;;OAKG;IACH,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAA;IAChC,CAAC;IAED;;;;;;OAMG;IACH,IAAI,OAAO;QACP,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI;YAAE,OAAO,IAAI,CAAA;QAE/B,OAAO,IAAA,yBAAW,GAAE,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAClD,CAAC;IAED;;;;OAIG;IACH,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,IAAI,IAAI,CAAA;IACzC,CAAC;CACJ;AAED;;GAEG;AACH,MAAa,aAAc,SAAQ,iBAAiB;IAChD,YACa,GAAiC,EAC1C,MAAkB;QAElB,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QAHT,QAAG,GAAH,GAAG,CAA8B;IAI9C,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACJ,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,wBAAwB,EAAE;YACzC,MAAM,IAAI,2BAAe,CAAC,2CAA2C,CAAC,CAAA;SACzE;QAED,OAAO,IAAI,cAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;IACnD,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAA;IACzB,CAAC;CACJ;AAzBD,sCAyBC;AAED,IAAA,2BAAc,EAAC,aAAa,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAA;AAC1D,IAAA,0BAAe,EAAC,aAAa,CAAC,CAAA;AAE9B;;GAEG;AACH,MAAa,mBAAoB,SAAQ,iBAAiB;IACtD,YACa,GAAuC,EAChD,MAAkB;QAElB,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QAHT,QAAG,GAAH,GAAG,CAAoC;IAIpD,CAAC;IAED;;;;OAIG;IACH,IAAI,eAAe;QACf,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAA;IACzB,CAAC;IAED;;;;;;OAMG;IACH,IAAI,kBAAkB;QAClB,OAAO,IAAA,uCAAqB,EAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAChD,CAAC;CACJ;AA3BD,kDA2BC;AAED,IAAA,2BAAc,EAAC,mBAAmB,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,oBAAoB,CAAC,CAAC,CAAA;AAC9E,IAAA,0BAAe,EAAC,mBAAmB,CAAC,CAAA","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { getPlatform } from '../../../platform.js'\nimport { MtArgumentError } from '../../../types/errors.js'\nimport { makeInspectable } from '../../utils/index.js'\nimport { encodeInlineMessageId } from '../../utils/inline-utils.js'\nimport { memoizeGetters } from '../../utils/memoize.js'\nimport { Chat } from '../peers/chat.js'\nimport { PeersIndex } from '../peers/peers-index.js'\nimport { User } from '../peers/user.js'\n\n/** Base class for callback queries */\nclass BaseCallbackQuery {\n constructor(\n readonly raw: tl.RawUpdateBotCallbackQuery | tl.RawUpdateInlineBotCallbackQuery,\n readonly _peers: PeersIndex,\n ) {}\n\n /**\n * ID of this callback query\n */\n get id(): tl.Long {\n return this.raw.queryId\n }\n\n /**\n * User who has pressed the button\n */\n get user(): User {\n return new User(this._peers.user(this.raw.userId))\n }\n\n /**\n * Unique ID, that represents the chat to which the inline\n * message was sent. Does *not* contain actual chat ID.\n */\n get uniqueChatId(): tl.Long {\n return this.raw.chatInstance\n }\n\n /**\n * Data that was contained in the callback button, if any\n *\n * Note that this field is defined by the client, and a bad\n * client can send arbitrary data in this field.\n */\n get data(): Uint8Array | null {\n return this.raw.data ?? null\n }\n\n /**\n * Data that was contained in the callback button, if any,\n * parsed as a UTF8 string\n *\n * Note that this field is defined by the client, and a bad\n * client can send arbitrary data in this field.\n */\n get dataStr(): string | null {\n if (!this.raw.data) return null\n\n return getPlatform().utf8Decode(this.raw.data)\n }\n\n /**\n * In case this message was from {@link InputInlineResultGame},\n * or the button was {@link BotKeyboard.game},\n * short name of the game that should be returned.\n */\n get game(): string | null {\n return this.raw.gameShortName ?? null\n }\n}\n\n/**\n * A callback query originating from a normal message sent by the bot.\n */\nexport class CallbackQuery extends BaseCallbackQuery {\n constructor(\n readonly raw: tl.RawUpdateBotCallbackQuery,\n _peers: PeersIndex,\n ) {\n super(raw, _peers)\n }\n\n /**\n * Chat where the originating message was sent\n */\n get chat(): Chat {\n if (this.raw._ !== 'updateBotCallbackQuery') {\n throw new MtArgumentError('Cannot get message id for inline callback')\n }\n\n return new Chat(this._peers.get(this.raw.peer))\n }\n\n /**\n * Identifier of the message containing the button which was clicked.\n */\n get messageId(): number {\n return this.raw.msgId\n }\n}\n\nmemoizeGetters(CallbackQuery, ['user', 'dataStr', 'chat'])\nmakeInspectable(CallbackQuery)\n\n/**\n * A callback query originating from an inline message sent by the bot.\n */\nexport class InlineCallbackQuery extends BaseCallbackQuery {\n constructor(\n readonly raw: tl.RawUpdateInlineBotCallbackQuery,\n _peers: PeersIndex,\n ) {\n super(raw, _peers)\n }\n\n /**\n * Identifier of the previously sent inline message,\n * that contained the button which was clicked.\n * This ID can be used in `TelegramClient.editInlineMessage`\n */\n get inlineMessageId(): tl.TypeInputBotInlineMessageID {\n return this.raw.msgId\n }\n\n /**\n * Identifier of the previously sent inline message,\n * that contained the button which was clicked,\n * as a TDLib and Bot API compatible string.\n * Can be used instead of {@link inlineMessageId} in\n * case you want to store it in some storage.\n */\n get inlineMessageIdStr(): string {\n return encodeInlineMessageId(this.raw.msgId)\n }\n}\n\nmemoizeGetters(InlineCallbackQuery, ['user', 'dataStr', 'inlineMessageIdStr'])\nmakeInspectable(InlineCallbackQuery)\n"]}
1
+ {"version":3,"file":"callback-query.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/updates/callback-query.ts"],"names":[],"mappings":";;;AAEA,sDAAkD;AAClD,wDAA0D;AAC1D,mDAAsD;AACtD,iEAAmE;AACnE,uDAAuD;AACvD,8CAAuC;AAEvC,8CAAuC;AAEvC,sCAAsC;AACtC,MAAM,iBAAiB;IAEN;IACA;IAFb,YACa,GAAsE,EACtE,MAAkB;QADlB,QAAG,GAAH,GAAG,CAAmE;QACtE,WAAM,GAAN,MAAM,CAAY;IAC5B,CAAC;IAEJ;;OAEG;IACH,IAAI,EAAE;QACF,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAA;IAC3B,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACJ,OAAO,IAAI,cAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;IACtD,CAAC;IAED;;;OAGG;IACH,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,CAAA;IAChC,CAAC;IAED;;;;;OAKG;IACH,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAA;IAChC,CAAC;IAED;;;;;;OAMG;IACH,IAAI,OAAO;QACP,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI;YAAE,OAAO,IAAI,CAAA;QAE/B,OAAO,IAAA,yBAAW,GAAE,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAClD,CAAC;IAED;;;;OAIG;IACH,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,IAAI,IAAI,CAAA;IACzC,CAAC;CACJ;AAED;;GAEG;AACH,MAAa,aAAc,SAAQ,iBAAiB;IAEnC;IADb,YACa,GAAiC,EAC1C,MAAkB;QAElB,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QAHT,QAAG,GAAH,GAAG,CAA8B;IAI9C,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACJ,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,wBAAwB,EAAE,CAAC;YAC1C,MAAM,IAAI,2BAAe,CAAC,2CAA2C,CAAC,CAAA;QAC1E,CAAC;QAED,OAAO,IAAI,cAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;IACnD,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAA;IACzB,CAAC;CACJ;AAzBD,sCAyBC;AAED,IAAA,2BAAc,EAAC,aAAa,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAA;AAC1D,IAAA,0BAAe,EAAC,aAAa,CAAC,CAAA;AAE9B;;GAEG;AACH,MAAa,mBAAoB,SAAQ,iBAAiB;IAEzC;IADb,YACa,GAAuC,EAChD,MAAkB;QAElB,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QAHT,QAAG,GAAH,GAAG,CAAoC;IAIpD,CAAC;IAED;;;;OAIG;IACH,IAAI,eAAe;QACf,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAA;IACzB,CAAC;IAED;;;;;;OAMG;IACH,IAAI,kBAAkB;QAClB,OAAO,IAAA,uCAAqB,EAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAChD,CAAC;CACJ;AA3BD,kDA2BC;AAED,IAAA,2BAAc,EAAC,mBAAmB,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,oBAAoB,CAAC,CAAC,CAAA;AAC9E,IAAA,0BAAe,EAAC,mBAAmB,CAAC,CAAA","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { getPlatform } from '../../../platform.js'\nimport { MtArgumentError } from '../../../types/errors.js'\nimport { makeInspectable } from '../../utils/index.js'\nimport { encodeInlineMessageId } from '../../utils/inline-utils.js'\nimport { memoizeGetters } from '../../utils/memoize.js'\nimport { Chat } from '../peers/chat.js'\nimport { PeersIndex } from '../peers/peers-index.js'\nimport { User } from '../peers/user.js'\n\n/** Base class for callback queries */\nclass BaseCallbackQuery {\n constructor(\n readonly raw: tl.RawUpdateBotCallbackQuery | tl.RawUpdateInlineBotCallbackQuery,\n readonly _peers: PeersIndex,\n ) {}\n\n /**\n * ID of this callback query\n */\n get id(): tl.Long {\n return this.raw.queryId\n }\n\n /**\n * User who has pressed the button\n */\n get user(): User {\n return new User(this._peers.user(this.raw.userId))\n }\n\n /**\n * Unique ID, that represents the chat to which the inline\n * message was sent. Does *not* contain actual chat ID.\n */\n get uniqueChatId(): tl.Long {\n return this.raw.chatInstance\n }\n\n /**\n * Data that was contained in the callback button, if any\n *\n * Note that this field is defined by the client, and a bad\n * client can send arbitrary data in this field.\n */\n get data(): Uint8Array | null {\n return this.raw.data ?? null\n }\n\n /**\n * Data that was contained in the callback button, if any,\n * parsed as a UTF8 string\n *\n * Note that this field is defined by the client, and a bad\n * client can send arbitrary data in this field.\n */\n get dataStr(): string | null {\n if (!this.raw.data) return null\n\n return getPlatform().utf8Decode(this.raw.data)\n }\n\n /**\n * In case this message was from {@link InputInlineResultGame},\n * or the button was {@link BotKeyboard.game},\n * short name of the game that should be returned.\n */\n get game(): string | null {\n return this.raw.gameShortName ?? null\n }\n}\n\n/**\n * A callback query originating from a normal message sent by the bot.\n */\nexport class CallbackQuery extends BaseCallbackQuery {\n constructor(\n readonly raw: tl.RawUpdateBotCallbackQuery,\n _peers: PeersIndex,\n ) {\n super(raw, _peers)\n }\n\n /**\n * Chat where the originating message was sent\n */\n get chat(): Chat {\n if (this.raw._ !== 'updateBotCallbackQuery') {\n throw new MtArgumentError('Cannot get message id for inline callback')\n }\n\n return new Chat(this._peers.get(this.raw.peer))\n }\n\n /**\n * Identifier of the message containing the button which was clicked.\n */\n get messageId(): number {\n return this.raw.msgId\n }\n}\n\nmemoizeGetters(CallbackQuery, ['user', 'dataStr', 'chat'])\nmakeInspectable(CallbackQuery)\n\n/**\n * A callback query originating from an inline message sent by the bot.\n */\nexport class InlineCallbackQuery extends BaseCallbackQuery {\n constructor(\n readonly raw: tl.RawUpdateInlineBotCallbackQuery,\n _peers: PeersIndex,\n ) {\n super(raw, _peers)\n }\n\n /**\n * Identifier of the previously sent inline message,\n * that contained the button which was clicked.\n * This ID can be used in `TelegramClient.editInlineMessage`\n */\n get inlineMessageId(): tl.TypeInputBotInlineMessageID {\n return this.raw.msgId\n }\n\n /**\n * Identifier of the previously sent inline message,\n * that contained the button which was clicked,\n * as a TDLib and Bot API compatible string.\n * Can be used instead of {@link inlineMessageId} in\n * case you want to store it in some storage.\n */\n get inlineMessageIdStr(): string {\n return encodeInlineMessageId(this.raw.msgId)\n }\n}\n\nmemoizeGetters(InlineCallbackQuery, ['user', 'dataStr', 'inlineMessageIdStr'])\nmakeInspectable(InlineCallbackQuery)\n"]}
@@ -13,6 +13,8 @@ const index_js_2 = require("../peers/index.js");
13
13
  * > if you are using a bot, see {@link BotChatJoinRequestUpdate}
14
14
  */
15
15
  class ChatJoinRequestUpdate {
16
+ raw;
17
+ _peers;
16
18
  constructor(raw, _peers) {
17
19
  this.raw = raw;
18
20
  this._peers = _peers;
@@ -1 +1 @@
1
- {"version":3,"file":"chat-join-request.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/updates/chat-join-request.ts"],"names":[],"mappings":";;;AAEA,gEAA4D;AAC5D,mDAAsD;AACtD,uDAAuD;AACvD,gDAAoD;AAEpD;;;;;;GAMG;AACH,MAAa,qBAAqB;IAC9B,YACa,GAAoC,EACpC,MAAkB;QADlB,QAAG,GAAH,GAAG,CAAiC;QACpC,WAAM,GAAN,MAAM,CAAY;IAC5B,CAAC;IAEJ,4CAA4C;IAC5C,kCAAkC;IAElC;;OAEG;IACH,IAAI,MAAM;QACN,OAAO,IAAA,6BAAa,EAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IACvC,CAAC;IAED;;OAEG;IACH,IAAI,mBAAmB;QACnB,OAAO,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAA;IACpC,CAAC;IAED;;OAEG;IACH,IAAI,gBAAgB;QAChB,OAAO,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,eAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAChF,CAAC;IAED;;OAEG;IACH,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,GAAG,CAAC,eAAe,CAAA;IACnC,CAAC;CACJ;AApCD,sDAoCC;AAED,IAAA,2BAAc,EAAC,qBAAqB,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAA;AAC3D,IAAA,0BAAe,EAAC,qBAAqB,CAAC,CAAA","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { getBarePeerId } from '../../../utils/peer-utils.js'\nimport { makeInspectable } from '../../utils/index.js'\nimport { memoizeGetters } from '../../utils/memoize.js'\nimport { PeersIndex, User } from '../peers/index.js'\n\n/**\n * This update is sent when a user requests to join a chat\n * via invite link with approvals.\n *\n * > **NOTE**: This update is only received by users,\n * > if you are using a bot, see {@link BotChatJoinRequestUpdate}\n */\nexport class ChatJoinRequestUpdate {\n constructor(\n readonly raw: tl.RawUpdatePendingJoinRequests,\n readonly _peers: PeersIndex,\n ) {}\n\n // in this update, peers index only contains\n // recent requesters, not the chat\n\n /**\n * ID of the chat/channel\n */\n get chatId(): number {\n return getBarePeerId(this.raw.peer)\n }\n\n /**\n * IDs of the users who recently requested to join the chat\n */\n get recentRequestersIds(): number[] {\n return this.raw.recentRequesters\n }\n\n /**\n * Users who recently requested to join the chat\n */\n get recentRequesters(): User[] {\n return this.raw.recentRequesters.map((id) => new User(this._peers.user(id)))\n }\n\n /**\n * Total number of pending requests\n */\n get totalPending(): number {\n return this.raw.requestsPending\n }\n}\n\nmemoizeGetters(ChatJoinRequestUpdate, ['recentRequesters'])\nmakeInspectable(ChatJoinRequestUpdate)\n"]}
1
+ {"version":3,"file":"chat-join-request.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/updates/chat-join-request.ts"],"names":[],"mappings":";;;AAEA,gEAA4D;AAC5D,mDAAsD;AACtD,uDAAuD;AACvD,gDAAoD;AAEpD;;;;;;GAMG;AACH,MAAa,qBAAqB;IAEjB;IACA;IAFb,YACa,GAAoC,EACpC,MAAkB;QADlB,QAAG,GAAH,GAAG,CAAiC;QACpC,WAAM,GAAN,MAAM,CAAY;IAC5B,CAAC;IAEJ,4CAA4C;IAC5C,kCAAkC;IAElC;;OAEG;IACH,IAAI,MAAM;QACN,OAAO,IAAA,6BAAa,EAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IACvC,CAAC;IAED;;OAEG;IACH,IAAI,mBAAmB;QACnB,OAAO,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAA;IACpC,CAAC;IAED;;OAEG;IACH,IAAI,gBAAgB;QAChB,OAAO,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,eAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAChF,CAAC;IAED;;OAEG;IACH,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,GAAG,CAAC,eAAe,CAAA;IACnC,CAAC;CACJ;AApCD,sDAoCC;AAED,IAAA,2BAAc,EAAC,qBAAqB,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAA;AAC3D,IAAA,0BAAe,EAAC,qBAAqB,CAAC,CAAA","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { getBarePeerId } from '../../../utils/peer-utils.js'\nimport { makeInspectable } from '../../utils/index.js'\nimport { memoizeGetters } from '../../utils/memoize.js'\nimport { PeersIndex, User } from '../peers/index.js'\n\n/**\n * This update is sent when a user requests to join a chat\n * via invite link with approvals.\n *\n * > **NOTE**: This update is only received by users,\n * > if you are using a bot, see {@link BotChatJoinRequestUpdate}\n */\nexport class ChatJoinRequestUpdate {\n constructor(\n readonly raw: tl.RawUpdatePendingJoinRequests,\n readonly _peers: PeersIndex,\n ) {}\n\n // in this update, peers index only contains\n // recent requesters, not the chat\n\n /**\n * ID of the chat/channel\n */\n get chatId(): number {\n return getBarePeerId(this.raw.peer)\n }\n\n /**\n * IDs of the users who recently requested to join the chat\n */\n get recentRequestersIds(): number[] {\n return this.raw.recentRequesters\n }\n\n /**\n * Users who recently requested to join the chat\n */\n get recentRequesters(): User[] {\n return this.raw.recentRequesters.map((id) => new User(this._peers.user(id)))\n }\n\n /**\n * Total number of pending requests\n */\n get totalPending(): number {\n return this.raw.requestsPending\n }\n}\n\nmemoizeGetters(ChatJoinRequestUpdate, ['recentRequesters'])\nmakeInspectable(ChatJoinRequestUpdate)\n"]}
@@ -30,6 +30,8 @@ function extractPeerId(raw) {
30
30
  * of a chat/channel member.
31
31
  */
32
32
  class ChatMemberUpdate {
33
+ raw;
34
+ _peers;
33
35
  constructor(raw, _peers) {
34
36
  this.raw = raw;
35
37
  this._peers = _peers;
@@ -1 +1 @@
1
- {"version":3,"file":"chat-member-update.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/updates/chat-member-update.ts"],"names":[],"mappings":"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","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { getMarkedPeerId } from '../../../utils/peer-utils.js'\nimport { makeInspectable } from '../../utils/index.js'\nimport { memoizeGetters } from '../../utils/memoize.js'\nimport { Chat } from '../peers/chat.js'\nimport { ChatInviteLink } from '../peers/chat-invite-link.js'\nimport { ChatMember } from '../peers/chat-member.js'\nimport { PeersIndex } from '../peers/peers-index.js'\nimport { User } from '../peers/user.js'\n\n/**\n * Type of the event. Can be one of:\n * - `joined`: User `user` joined the chat/channel on their own\n * - `added`: User `actor` added another user `user` to the chat\n * - `left`: User `user` left the channel on their own\n * - `kicked`: User `user` was kicked from the chat by `actor`\n * - `unkicked`: User `user` was removed from the list of kicked users by `actor` and can join the chat again\n * - `restricted`: User `user` was restricted by `actor`\n * - `unrestricted`: User `user` was unrestricted by `actor`\n * - `unrestricted_promoted`: User `user` was unrestricted AND promoted to an admin by `actor`\n * - `promoted`: User `user` was promoted to admin by `actor`\n * - `demoted`: User `user` was demoted from admin by `actor`\n * - `demoted_restricted`: User `user` was demoted from admin AND restricted by `actor`\n * - `demoted_kicked`: User `user` was demoted from admin AND kicked by `actor`\n * - `old_owner`: User `user` transferred their own chat ownership\n * - `new_owner`: User `actor` transferred their chat ownership to `user`\n * - `other`: Some other event (e.g. change in restrictions, change in admin rights, etc.)\n */\nexport type ChatMemberUpdateType =\n | 'joined'\n | 'added'\n | 'left'\n | 'kicked'\n | 'unkicked'\n | 'restricted'\n | 'unrestricted'\n | 'unrestricted_promoted'\n | 'promoted'\n | 'demoted'\n | 'demoted_restricted'\n | 'demoted_kicked'\n | 'old_owner'\n | 'new_owner'\n | 'other'\n\nfunction extractPeerId(raw?: tl.TypeChatParticipant | tl.TypeChannelParticipant) {\n if (!raw) return 0\n\n if (tl.isAnyChatParticipant(raw)) {\n return raw.userId\n }\n\n switch (raw._) {\n case 'channelParticipant':\n case 'channelParticipantSelf':\n case 'channelParticipantCreator':\n case 'channelParticipantAdmin':\n return raw.userId\n default:\n return getMarkedPeerId(raw.peer)\n }\n}\n\n/**\n * Update representing a change in the status\n * of a chat/channel member.\n */\nexport class ChatMemberUpdate {\n constructor(\n readonly raw: tl.RawUpdateChatParticipant | tl.RawUpdateChannelParticipant,\n readonly _peers: PeersIndex,\n ) {}\n\n /**\n * Date of the event\n */\n get date(): Date {\n return new Date(this.raw.date * 1000)\n }\n\n /**\n * Whether this is an update about current user\n */\n get isSelf(): boolean {\n return this.user.isSelf\n }\n\n /**\n * Type of the update\n *\n * @link ChatMemberUpdate.Type\n */\n get type(): ChatMemberUpdateType {\n // we do not use `.actor`, `.newMember` and `.oldMember`,\n // since using them would mean creating objects,\n // which will probably be useless in case this property\n // is used inside of a filter\n // fortunately, all the info is available as-is and does not require\n // additional parsing\n\n const old = this.raw.prevParticipant\n const cur = this.raw.newParticipant\n\n const oldId = extractPeerId(old)\n const curId = extractPeerId(cur)\n\n const actorId = this.raw.actorId\n\n if (!old && cur) {\n // join or added\n return actorId === curId ? 'joined' : 'added'\n }\n\n if (old && !cur) {\n // left, kicked (for chats) or unkicked\n if (actorId === oldId) return 'left'\n\n if (old._ === 'channelParticipantBanned') {\n return 'unkicked'\n }\n\n return 'kicked'\n }\n\n // in this case OR is the same as AND, but AND doesn't work well with typescript :shrug:\n if (!old || !cur) return 'other'\n\n switch (old._) {\n case 'chatParticipant':\n case 'channelParticipant':\n switch (cur._) {\n case 'chatParticipantAdmin':\n case 'channelParticipantAdmin':\n return 'promoted'\n case 'channelParticipantBanned':\n // kicked or restricted\n if (cur.left) return 'kicked'\n\n return 'restricted'\n }\n break\n case 'chatParticipantCreator':\n case 'channelParticipantCreator':\n return 'old_owner'\n }\n\n switch (cur._) {\n case 'chatParticipantCreator':\n case 'channelParticipantCreator':\n return 'new_owner'\n }\n\n if (old._ === 'channelParticipantBanned' && cur._ === 'channelParticipant') {\n return 'unrestricted'\n }\n\n if (old._ === 'channelParticipantBanned' && cur._ === 'channelParticipantAdmin') {\n return 'unrestricted_promoted'\n }\n\n if (old._ === 'channelParticipantAdmin' && cur._ === 'channelParticipant') {\n return 'demoted'\n }\n\n if (old._ === 'channelParticipantAdmin' && cur._ === 'channelParticipantBanned') {\n return cur.left ? 'demoted_kicked' : 'demoted_restricted'\n }\n\n if (old._ === 'channelParticipantBanned' && cur._ === 'channelParticipantBanned' && old.left !== cur.left) {\n if (actorId === curId) {\n return cur.left ? 'left' : 'joined'\n }\n\n return cur.left ? 'kicked' : 'added'\n }\n\n return 'other'\n }\n\n /**\n * Chat in which this event has occurred\n */\n get chat(): Chat {\n const id = this.raw._ === 'updateChannelParticipant' ? this.raw.channelId : this.raw.chatId\n\n return new Chat(this._peers.chat(id))\n }\n\n /**\n * Performer of the action which resulted in this update.\n *\n * Can be chat/channel administrator or the {@link user} themself.\n */\n get actor(): User {\n return new User(this._peers.user(this.raw.actorId))\n }\n\n /**\n * User representing the chat member whose status was changed.\n */\n get user(): User {\n return new User(this._peers.user(this.raw.userId))\n }\n\n /** Whether this is a self-made action (i.e. actor == user) */\n get isSelfMade(): boolean {\n return this.raw.actorId === this.raw.userId\n }\n\n /**\n * Previous (old) information about chat member.\n */\n get oldMember(): ChatMember | null {\n if (!this.raw.prevParticipant) return null\n\n return new ChatMember(this.raw.prevParticipant, this._peers)\n }\n\n /**\n * Current (new) information about chat member.\n */\n get newMember(): ChatMember | null {\n if (!this.raw.newParticipant) return null\n\n return new ChatMember(this.raw.newParticipant, this._peers)\n }\n\n /**\n * In case this is a \"join\" event, invite link that was used to join (if any)\n */\n get inviteLink(): ChatInviteLink | null {\n if (!this.raw.invite) return null\n\n return new ChatInviteLink(this.raw.invite)\n }\n}\n\nmemoizeGetters(ChatMemberUpdate, ['type', 'chat', 'actor', 'user', 'oldMember', 'newMember', 'inviteLink'])\nmakeInspectable(ChatMemberUpdate)\n"]}
1
+ {"version":3,"file":"chat-member-update.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/updates/chat-member-update.ts"],"names":[],"mappings":"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","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { getMarkedPeerId } from '../../../utils/peer-utils.js'\nimport { makeInspectable } from '../../utils/index.js'\nimport { memoizeGetters } from '../../utils/memoize.js'\nimport { Chat } from '../peers/chat.js'\nimport { ChatInviteLink } from '../peers/chat-invite-link.js'\nimport { ChatMember } from '../peers/chat-member.js'\nimport { PeersIndex } from '../peers/peers-index.js'\nimport { User } from '../peers/user.js'\n\n/**\n * Type of the event. Can be one of:\n * - `joined`: User `user` joined the chat/channel on their own\n * - `added`: User `actor` added another user `user` to the chat\n * - `left`: User `user` left the channel on their own\n * - `kicked`: User `user` was kicked from the chat by `actor`\n * - `unkicked`: User `user` was removed from the list of kicked users by `actor` and can join the chat again\n * - `restricted`: User `user` was restricted by `actor`\n * - `unrestricted`: User `user` was unrestricted by `actor`\n * - `unrestricted_promoted`: User `user` was unrestricted AND promoted to an admin by `actor`\n * - `promoted`: User `user` was promoted to admin by `actor`\n * - `demoted`: User `user` was demoted from admin by `actor`\n * - `demoted_restricted`: User `user` was demoted from admin AND restricted by `actor`\n * - `demoted_kicked`: User `user` was demoted from admin AND kicked by `actor`\n * - `old_owner`: User `user` transferred their own chat ownership\n * - `new_owner`: User `actor` transferred their chat ownership to `user`\n * - `other`: Some other event (e.g. change in restrictions, change in admin rights, etc.)\n */\nexport type ChatMemberUpdateType =\n | 'joined'\n | 'added'\n | 'left'\n | 'kicked'\n | 'unkicked'\n | 'restricted'\n | 'unrestricted'\n | 'unrestricted_promoted'\n | 'promoted'\n | 'demoted'\n | 'demoted_restricted'\n | 'demoted_kicked'\n | 'old_owner'\n | 'new_owner'\n | 'other'\n\nfunction extractPeerId(raw?: tl.TypeChatParticipant | tl.TypeChannelParticipant) {\n if (!raw) return 0\n\n if (tl.isAnyChatParticipant(raw)) {\n return raw.userId\n }\n\n switch (raw._) {\n case 'channelParticipant':\n case 'channelParticipantSelf':\n case 'channelParticipantCreator':\n case 'channelParticipantAdmin':\n return raw.userId\n default:\n return getMarkedPeerId(raw.peer)\n }\n}\n\n/**\n * Update representing a change in the status\n * of a chat/channel member.\n */\nexport class ChatMemberUpdate {\n constructor(\n readonly raw: tl.RawUpdateChatParticipant | tl.RawUpdateChannelParticipant,\n readonly _peers: PeersIndex,\n ) {}\n\n /**\n * Date of the event\n */\n get date(): Date {\n return new Date(this.raw.date * 1000)\n }\n\n /**\n * Whether this is an update about current user\n */\n get isSelf(): boolean {\n return this.user.isSelf\n }\n\n /**\n * Type of the update\n *\n * @link ChatMemberUpdate.Type\n */\n get type(): ChatMemberUpdateType {\n // we do not use `.actor`, `.newMember` and `.oldMember`,\n // since using them would mean creating objects,\n // which will probably be useless in case this property\n // is used inside of a filter\n // fortunately, all the info is available as-is and does not require\n // additional parsing\n\n const old = this.raw.prevParticipant\n const cur = this.raw.newParticipant\n\n const oldId = extractPeerId(old)\n const curId = extractPeerId(cur)\n\n const actorId = this.raw.actorId\n\n if (!old && cur) {\n // join or added\n return actorId === curId ? 'joined' : 'added'\n }\n\n if (old && !cur) {\n // left, kicked (for chats) or unkicked\n if (actorId === oldId) return 'left'\n\n if (old._ === 'channelParticipantBanned') {\n return 'unkicked'\n }\n\n return 'kicked'\n }\n\n // in this case OR is the same as AND, but AND doesn't work well with typescript :shrug:\n if (!old || !cur) return 'other'\n\n switch (old._) {\n case 'chatParticipant':\n case 'channelParticipant':\n switch (cur._) {\n case 'chatParticipantAdmin':\n case 'channelParticipantAdmin':\n return 'promoted'\n case 'channelParticipantBanned':\n // kicked or restricted\n if (cur.left) return 'kicked'\n\n return 'restricted'\n }\n break\n case 'chatParticipantCreator':\n case 'channelParticipantCreator':\n return 'old_owner'\n }\n\n switch (cur._) {\n case 'chatParticipantCreator':\n case 'channelParticipantCreator':\n return 'new_owner'\n }\n\n if (old._ === 'channelParticipantBanned' && cur._ === 'channelParticipant') {\n return 'unrestricted'\n }\n\n if (old._ === 'channelParticipantBanned' && cur._ === 'channelParticipantAdmin') {\n return 'unrestricted_promoted'\n }\n\n if (old._ === 'channelParticipantAdmin' && cur._ === 'channelParticipant') {\n return 'demoted'\n }\n\n if (old._ === 'channelParticipantAdmin' && cur._ === 'channelParticipantBanned') {\n return cur.left ? 'demoted_kicked' : 'demoted_restricted'\n }\n\n if (old._ === 'channelParticipantBanned' && cur._ === 'channelParticipantBanned' && old.left !== cur.left) {\n if (actorId === curId) {\n return cur.left ? 'left' : 'joined'\n }\n\n return cur.left ? 'kicked' : 'added'\n }\n\n return 'other'\n }\n\n /**\n * Chat in which this event has occurred\n */\n get chat(): Chat {\n const id = this.raw._ === 'updateChannelParticipant' ? this.raw.channelId : this.raw.chatId\n\n return new Chat(this._peers.chat(id))\n }\n\n /**\n * Performer of the action which resulted in this update.\n *\n * Can be chat/channel administrator or the {@link user} themself.\n */\n get actor(): User {\n return new User(this._peers.user(this.raw.actorId))\n }\n\n /**\n * User representing the chat member whose status was changed.\n */\n get user(): User {\n return new User(this._peers.user(this.raw.userId))\n }\n\n /** Whether this is a self-made action (i.e. actor == user) */\n get isSelfMade(): boolean {\n return this.raw.actorId === this.raw.userId\n }\n\n /**\n * Previous (old) information about chat member.\n */\n get oldMember(): ChatMember | null {\n if (!this.raw.prevParticipant) return null\n\n return new ChatMember(this.raw.prevParticipant, this._peers)\n }\n\n /**\n * Current (new) information about chat member.\n */\n get newMember(): ChatMember | null {\n if (!this.raw.newParticipant) return null\n\n return new ChatMember(this.raw.newParticipant, this._peers)\n }\n\n /**\n * In case this is a \"join\" event, invite link that was used to join (if any)\n */\n get inviteLink(): ChatInviteLink | null {\n if (!this.raw.invite) return null\n\n return new ChatInviteLink(this.raw.invite)\n }\n}\n\nmemoizeGetters(ChatMemberUpdate, ['type', 'chat', 'actor', 'user', 'oldMember', 'newMember', 'inviteLink'])\nmakeInspectable(ChatMemberUpdate)\n"]}
@@ -13,6 +13,8 @@ const index_js_2 = require("../peers/index.js");
13
13
  * > Inline feedback in [@BotFather](//t.me/botfather)
14
14
  */
15
15
  class ChosenInlineResult {
16
+ raw;
17
+ _peers;
16
18
  constructor(raw, _peers) {
17
19
  this.raw = raw;
18
20
  this._peers = _peers;
@@ -1 +1 @@
1
- {"version":3,"file":"chosen-inline-result.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/updates/chosen-inline-result.ts"],"names":[],"mappings":";;;AAEA,mDAAsD;AACtD,iEAAmE;AACnE,uDAAuD;AACvD,sDAA+C;AAC/C,gDAAoD;AAEpD;;;;;GAKG;AACH,MAAa,kBAAkB;IAC3B,YACa,GAA8B,EAC9B,MAAkB;QADlB,QAAG,GAAH,GAAG,CAA2B;QAC9B,WAAM,GAAN,MAAM,CAAY;IAC5B,CAAC;IAEJ;;;OAGG;IACH,IAAI,EAAE;QACF,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAA;IACtB,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACJ,OAAO,IAAI,eAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;IACtD,CAAC;IAED;;;OAGG;IACH,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAA;IACzB,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACR,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,UAAU;YAAE,OAAO,IAAI,CAAA;QAE/C,OAAO,IAAI,sBAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACrC,CAAC;IAED;;;;;;OAMG;IACH,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,CAAA;IACjC,CAAC;IAED;;;;;;;;OAQG;IACH,IAAI,YAAY;QACZ,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK;YAAE,OAAO,IAAI,CAAA;QAEhC,OAAO,IAAA,uCAAqB,EAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAChD,CAAC;CACJ;AA/DD,gDA+DC;AAED,IAAA,2BAAc,EAAC,kBAAkB,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;AACxD,IAAA,0BAAe,EAAC,kBAAkB,CAAC,CAAA","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { makeInspectable } from '../../utils/index.js'\nimport { encodeInlineMessageId } from '../../utils/inline-utils.js'\nimport { memoizeGetters } from '../../utils/memoize.js'\nimport { Location } from '../media/location.js'\nimport { PeersIndex, User } from '../peers/index.js'\n\n/**\n * An inline result was chosen by the user and sent to some chat\n *\n * > **Note**: To receive these updates, you must enable\n * > Inline feedback in [@BotFather](//t.me/botfather)\n */\nexport class ChosenInlineResult {\n constructor(\n readonly raw: tl.RawUpdateBotInlineSend,\n readonly _peers: PeersIndex,\n ) {}\n\n /**\n * Unique identifier of the chosen result,\n * as set in `InputInlineResult.id`\n */\n get id(): string {\n return this.raw.id\n }\n\n /**\n * User who has chosen the query\n */\n get user(): User {\n return new User(this._peers.user(this.raw.userId))\n }\n\n /**\n * The query that was previously sent by the user,\n * which was used to obtain this result\n */\n get query(): string {\n return this.raw.query\n }\n\n /**\n * Sender location, only applicable to bots that requested user location\n */\n get location(): Location | null {\n if (this.raw.geo?._ !== 'geoPoint') return null\n\n return new Location(this.raw.geo)\n }\n\n /**\n * Identifier of the sent inline message,\n * which can be used in `TelegramClient.editInlineMessage`\n *\n * > **Note**: this is only available in case the `InputInlineMessage`\n * > contained a reply keyboard markup.\n */\n get messageId(): tl.TypeInputBotInlineMessageID | null {\n return this.raw.msgId ?? null\n }\n\n /**\n * Identifier of the sent inline message\n * as a TDLib and Bot API compatible string.\n * Can be used instead of {@link messageId} in\n * case you want to store it in some storage.\n *\n * > **Note**: this is only available in case the `InputInlineMessage`\n * > contained a reply keyboard markup.\n */\n get messageIdStr(): string | null {\n if (!this.raw.msgId) return null\n\n return encodeInlineMessageId(this.raw.msgId)\n }\n}\n\nmemoizeGetters(ChosenInlineResult, ['user', 'location'])\nmakeInspectable(ChosenInlineResult)\n"]}
1
+ {"version":3,"file":"chosen-inline-result.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/updates/chosen-inline-result.ts"],"names":[],"mappings":";;;AAEA,mDAAsD;AACtD,iEAAmE;AACnE,uDAAuD;AACvD,sDAA+C;AAC/C,gDAAoD;AAEpD;;;;;GAKG;AACH,MAAa,kBAAkB;IAEd;IACA;IAFb,YACa,GAA8B,EAC9B,MAAkB;QADlB,QAAG,GAAH,GAAG,CAA2B;QAC9B,WAAM,GAAN,MAAM,CAAY;IAC5B,CAAC;IAEJ;;;OAGG;IACH,IAAI,EAAE;QACF,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAA;IACtB,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACJ,OAAO,IAAI,eAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;IACtD,CAAC;IAED;;;OAGG;IACH,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAA;IACzB,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACR,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,UAAU;YAAE,OAAO,IAAI,CAAA;QAE/C,OAAO,IAAI,sBAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACrC,CAAC;IAED;;;;;;OAMG;IACH,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,CAAA;IACjC,CAAC;IAED;;;;;;;;OAQG;IACH,IAAI,YAAY;QACZ,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK;YAAE,OAAO,IAAI,CAAA;QAEhC,OAAO,IAAA,uCAAqB,EAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAChD,CAAC;CACJ;AA/DD,gDA+DC;AAED,IAAA,2BAAc,EAAC,kBAAkB,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;AACxD,IAAA,0BAAe,EAAC,kBAAkB,CAAC,CAAA","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { makeInspectable } from '../../utils/index.js'\nimport { encodeInlineMessageId } from '../../utils/inline-utils.js'\nimport { memoizeGetters } from '../../utils/memoize.js'\nimport { Location } from '../media/location.js'\nimport { PeersIndex, User } from '../peers/index.js'\n\n/**\n * An inline result was chosen by the user and sent to some chat\n *\n * > **Note**: To receive these updates, you must enable\n * > Inline feedback in [@BotFather](//t.me/botfather)\n */\nexport class ChosenInlineResult {\n constructor(\n readonly raw: tl.RawUpdateBotInlineSend,\n readonly _peers: PeersIndex,\n ) {}\n\n /**\n * Unique identifier of the chosen result,\n * as set in `InputInlineResult.id`\n */\n get id(): string {\n return this.raw.id\n }\n\n /**\n * User who has chosen the query\n */\n get user(): User {\n return new User(this._peers.user(this.raw.userId))\n }\n\n /**\n * The query that was previously sent by the user,\n * which was used to obtain this result\n */\n get query(): string {\n return this.raw.query\n }\n\n /**\n * Sender location, only applicable to bots that requested user location\n */\n get location(): Location | null {\n if (this.raw.geo?._ !== 'geoPoint') return null\n\n return new Location(this.raw.geo)\n }\n\n /**\n * Identifier of the sent inline message,\n * which can be used in `TelegramClient.editInlineMessage`\n *\n * > **Note**: this is only available in case the `InputInlineMessage`\n * > contained a reply keyboard markup.\n */\n get messageId(): tl.TypeInputBotInlineMessageID | null {\n return this.raw.msgId ?? null\n }\n\n /**\n * Identifier of the sent inline message\n * as a TDLib and Bot API compatible string.\n * Can be used instead of {@link messageId} in\n * case you want to store it in some storage.\n *\n * > **Note**: this is only available in case the `InputInlineMessage`\n * > contained a reply keyboard markup.\n */\n get messageIdStr(): string | null {\n if (!this.raw.msgId) return null\n\n return encodeInlineMessageId(this.raw.msgId)\n }\n}\n\nmemoizeGetters(ChosenInlineResult, ['user', 'location'])\nmakeInspectable(ChosenInlineResult)\n"]}
@@ -7,6 +7,7 @@ const index_js_1 = require("../../utils/index.js");
7
7
  * One or more messages were deleted
8
8
  */
9
9
  class DeleteMessageUpdate {
10
+ raw;
10
11
  constructor(raw) {
11
12
  this.raw = raw;
12
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"delete-message-update.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/updates/delete-message-update.ts"],"names":[],"mappings":";;;AAEA,gEAAkE;AAClE,mDAAsD;AAEtD;;GAEG;AACH,MAAa,mBAAmB;IAC5B,YAAqB,GAAmE;QAAnE,QAAG,GAAH,GAAG,CAAgE;IAAG,CAAC;IAE5F;;OAEG;IACH,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAA;IAC5B,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,6BAA6B,CAAC,CAAC,CAAC,IAAA,mCAAmB,EAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IACxG,CAAC;CACJ;AAhBD,kDAgBC;AAED,IAAA,0BAAe,EAAC,mBAAmB,CAAC,CAAA","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { toggleChannelIdMark } from '../../../utils/peer-utils.js'\nimport { makeInspectable } from '../../utils/index.js'\n\n/**\n * One or more messages were deleted\n */\nexport class DeleteMessageUpdate {\n constructor(readonly raw: tl.RawUpdateDeleteMessages | tl.RawUpdateDeleteChannelMessages) {}\n\n /**\n * IDs of the messages which were deleted\n */\n get messageIds(): number[] {\n return this.raw.messages\n }\n\n /**\n * Marked ID of the channel where the messages were deleted\n */\n get channelId(): number | null {\n return this.raw._ === 'updateDeleteChannelMessages' ? toggleChannelIdMark(this.raw.channelId) : null\n }\n}\n\nmakeInspectable(DeleteMessageUpdate)\n"]}
1
+ {"version":3,"file":"delete-message-update.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/updates/delete-message-update.ts"],"names":[],"mappings":";;;AAEA,gEAAkE;AAClE,mDAAsD;AAEtD;;GAEG;AACH,MAAa,mBAAmB;IACP;IAArB,YAAqB,GAAmE;QAAnE,QAAG,GAAH,GAAG,CAAgE;IAAG,CAAC;IAE5F;;OAEG;IACH,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAA;IAC5B,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,6BAA6B,CAAC,CAAC,CAAC,IAAA,mCAAmB,EAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IACxG,CAAC;CACJ;AAhBD,kDAgBC;AAED,IAAA,0BAAe,EAAC,mBAAmB,CAAC,CAAA","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { toggleChannelIdMark } from '../../../utils/peer-utils.js'\nimport { makeInspectable } from '../../utils/index.js'\n\n/**\n * One or more messages were deleted\n */\nexport class DeleteMessageUpdate {\n constructor(readonly raw: tl.RawUpdateDeleteMessages | tl.RawUpdateDeleteChannelMessages) {}\n\n /**\n * IDs of the messages which were deleted\n */\n get messageIds(): number[] {\n return this.raw.messages\n }\n\n /**\n * Marked ID of the channel where the messages were deleted\n */\n get channelId(): number | null {\n return this.raw._ === 'updateDeleteChannelMessages' ? toggleChannelIdMark(this.raw.channelId) : null\n }\n}\n\nmakeInspectable(DeleteMessageUpdate)\n"]}
@@ -8,6 +8,8 @@ const memoize_js_1 = require("../../utils/memoize.js");
8
8
  * A story was deleted
9
9
  */
10
10
  class DeleteStoryUpdate {
11
+ raw;
12
+ _peers;
11
13
  constructor(raw, _peers) {
12
14
  this.raw = raw;
13
15
  this._peers = _peers;
@@ -1 +1 @@
1
- {"version":3,"file":"delete-story-update.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/updates/delete-story-update.ts"],"names":[],"mappings":";;;AAEA,yDAAwE;AACxE,mDAAsD;AACtD,uDAAuD;AAEvD;;GAEG;AACH,MAAa,iBAAiB;IAC1B,YACa,GAAsB,EACtB,MAAkB;QADlB,QAAG,GAAH,GAAG,CAAmB;QACtB,WAAM,GAAN,MAAM,CAAY;IAC5B,CAAC;IAEJ;;OAEG;IACH,IAAI,IAAI;QACJ,OAAO,IAAA,oBAAS,EAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IAChD,CAAC;IAED;;OAEG;IACH,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAA;IAC5B,CAAC;CACJ;AAnBD,8CAmBC;AAED,IAAA,2BAAc,EAAC,iBAAiB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;AAC3C,IAAA,0BAAe,EAAC,iBAAiB,CAAC,CAAA","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { parsePeer, Peer, PeersIndex } from '../../types/peers/index.js'\nimport { makeInspectable } from '../../utils/index.js'\nimport { memoizeGetters } from '../../utils/memoize.js'\n\n/**\n * A story was deleted\n */\nexport class DeleteStoryUpdate {\n constructor(\n readonly raw: tl.RawUpdateStory,\n readonly _peers: PeersIndex,\n ) {}\n\n /**\n * Peer that owns these stories.\n */\n get peer(): Peer {\n return parsePeer(this.raw.peer, this._peers)\n }\n\n /**\n * ID of the deleted story\n */\n get storyId(): number {\n return this.raw.story.id\n }\n}\n\nmemoizeGetters(DeleteStoryUpdate, ['peer'])\nmakeInspectable(DeleteStoryUpdate)\n"]}
1
+ {"version":3,"file":"delete-story-update.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/updates/delete-story-update.ts"],"names":[],"mappings":";;;AAEA,yDAAwE;AACxE,mDAAsD;AACtD,uDAAuD;AAEvD;;GAEG;AACH,MAAa,iBAAiB;IAEb;IACA;IAFb,YACa,GAAsB,EACtB,MAAkB;QADlB,QAAG,GAAH,GAAG,CAAmB;QACtB,WAAM,GAAN,MAAM,CAAY;IAC5B,CAAC;IAEJ;;OAEG;IACH,IAAI,IAAI;QACJ,OAAO,IAAA,oBAAS,EAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IAChD,CAAC;IAED;;OAEG;IACH,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAA;IAC5B,CAAC;CACJ;AAnBD,8CAmBC;AAED,IAAA,2BAAc,EAAC,iBAAiB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;AAC3C,IAAA,0BAAe,EAAC,iBAAiB,CAAC,CAAA","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { parsePeer, Peer, PeersIndex } from '../../types/peers/index.js'\nimport { makeInspectable } from '../../utils/index.js'\nimport { memoizeGetters } from '../../utils/memoize.js'\n\n/**\n * A story was deleted\n */\nexport class DeleteStoryUpdate {\n constructor(\n readonly raw: tl.RawUpdateStory,\n readonly _peers: PeersIndex,\n ) {}\n\n /**\n * Peer that owns these stories.\n */\n get peer(): Peer {\n return parsePeer(this.raw.peer, this._peers)\n }\n\n /**\n * ID of the deleted story\n */\n get storyId(): number {\n return this.raw.story.id\n }\n}\n\nmemoizeGetters(DeleteStoryUpdate, ['peer'])\nmakeInspectable(DeleteStoryUpdate)\n"]}
@@ -4,6 +4,7 @@ exports.HistoryReadUpdate = void 0;
4
4
  const peer_utils_js_1 = require("../../../utils/peer-utils.js");
5
5
  const index_js_1 = require("../../utils/index.js");
6
6
  class HistoryReadUpdate {
7
+ raw;
7
8
  constructor(raw) {
8
9
  this.raw = raw;
9
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"history-read-update.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/updates/history-read-update.ts"],"names":[],"mappings":";;;AAEA,gEAAmF;AACnF,mDAAsD;AAEtD,MAAa,iBAAiB;IAC1B,YACa,GAMoC;QANpC,QAAG,GAAH,GAAG,CAMiC;IAC9C,CAAC;IAEJ;;;OAGG;IACH,IAAI,QAAQ;QACR,QAAQ,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;YAChB,KAAK,mCAAmC,CAAC;YACzC,KAAK,yBAAyB,CAAC;YAC/B,KAAK,yBAAyB;gBAC1B,OAAO,IAAI,CAAA;YACf;gBACI,OAAO,KAAK,CAAA;SACnB;IACL,CAAC;IAED;;;OAGG;IACH,IAAI,YAAY;QACZ,QAAQ,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;YAChB,KAAK,mCAAmC,CAAC;YACzC,KAAK,kCAAkC;gBACnC,OAAO,IAAI,CAAA;YACf;gBACI,OAAO,KAAK,CAAA;SACnB;IACL,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACN,QAAQ,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;YAChB,KAAK,yBAAyB,CAAC;YAC/B,KAAK,wBAAwB;gBACzB,OAAO,IAAA,+BAAe,EAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YACzC,KAAK,yBAAyB,CAAC;YAC/B,KAAK,wBAAwB,CAAC;YAC9B,KAAK,mCAAmC,CAAC;YACzC,KAAK,kCAAkC;gBACnC,OAAO,IAAA,mCAAmB,EAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;SACrD;IACL,CAAC;IAED;;;;;OAKG;IACH,IAAI,WAAW;QACX,QAAQ,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;YAChB,KAAK,wBAAwB,CAAC;YAC9B,KAAK,wBAAwB;gBACzB,OAAO,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAA;YACpC,gFAAgF;YAChF,KAAK,kCAAkC,CAAC;YACxC,KAAK,yBAAyB,CAAC;YAC/B,KAAK,yBAAyB,CAAC;YAC/B,KAAK,mCAAmC;gBACpC,OAAO,CAAC,CAAA;SACf;IACL,CAAC;IAED;;;;;OAKG;IACH,IAAI,SAAS;QACT,QAAQ,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;YAChB,KAAK,yBAAyB,CAAC;YAC/B,KAAK,wBAAwB,CAAC;YAC9B,KAAK,yBAAyB,CAAC;YAC/B,KAAK,wBAAwB;gBACzB,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAA;YACzB,KAAK,mCAAmC,CAAC;YACzC,KAAK,kCAAkC;gBACnC,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAA;SAChC;IACL,CAAC;IAED;;;;OAIG;IACH,IAAI,QAAQ;QACR,QAAQ,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;YAChB,KAAK,yBAAyB,CAAC;YAC/B,KAAK,wBAAwB,CAAC;YAC9B,KAAK,yBAAyB,CAAC;YAC/B,KAAK,wBAAwB;gBACzB,OAAO,CAAC,CAAA;YACZ,KAAK,mCAAmC,CAAC;YACzC,KAAK,kCAAkC;gBACnC,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAA;SAC/B;IACL,CAAC;CACJ;AAhHD,8CAgHC;AAED,IAAA,0BAAe,EAAC,iBAAiB,CAAC,CAAA","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { getMarkedPeerId, toggleChannelIdMark } from '../../../utils/peer-utils.js'\nimport { makeInspectable } from '../../utils/index.js'\n\nexport class HistoryReadUpdate {\n constructor(\n readonly raw:\n | tl.RawUpdateReadHistoryInbox\n | tl.RawUpdateReadHistoryOutbox\n | tl.RawUpdateReadChannelInbox\n | tl.RawUpdateReadChannelOutbox\n | tl.RawUpdateReadChannelDiscussionInbox\n | tl.RawUpdateReadChannelDiscussionOutbox,\n ) {}\n\n /**\n * Whether this update is about an \"outbox\" read\n * (i.e. a message you have sent earlier was read)\n */\n get isOutbox(): boolean {\n switch (this.raw._) {\n case 'updateReadChannelDiscussionOutbox':\n case 'updateReadHistoryOutbox':\n case 'updateReadChannelOutbox':\n return true\n default:\n return false\n }\n }\n\n /**\n * Whether this update is about messages in a thread\n * (e.g. a comments thread or a topic in a forum)\n */\n get isDiscussion(): boolean {\n switch (this.raw._) {\n case 'updateReadChannelDiscussionOutbox':\n case 'updateReadChannelDiscussionInbox':\n return true\n default:\n return false\n }\n }\n\n /**\n * Marked peer ID of the chat where the messages were read.\n */\n get chatId(): number {\n switch (this.raw._) {\n case 'updateReadHistoryOutbox':\n case 'updateReadHistoryInbox':\n return getMarkedPeerId(this.raw.peer)\n case 'updateReadChannelOutbox':\n case 'updateReadChannelInbox':\n case 'updateReadChannelDiscussionOutbox':\n case 'updateReadChannelDiscussionInbox':\n return toggleChannelIdMark(this.raw.channelId)\n }\n }\n\n /**\n * For inbox updates (i.e. `isOutbox = false`),\n * number of messages that are still unread in the chat.\n *\n * For other updates, `0`\n */\n get unreadCount(): number {\n switch (this.raw._) {\n case 'updateReadHistoryInbox':\n case 'updateReadChannelInbox':\n return this.raw.stillUnreadCount\n // `updateReadChannelDiscussionInbox` does not contain that data for some reason\n case 'updateReadChannelDiscussionInbox':\n case 'updateReadHistoryOutbox':\n case 'updateReadChannelOutbox':\n case 'updateReadChannelDiscussionOutbox':\n return 0\n }\n }\n\n /**\n * ID of the last read message.\n *\n * Note that if `isDiscussion == true`, this contains the ID of the\n * last read message inside that thread, and not in the group itself.\n */\n get maxReadId(): number {\n switch (this.raw._) {\n case 'updateReadHistoryOutbox':\n case 'updateReadHistoryInbox':\n case 'updateReadChannelOutbox':\n case 'updateReadChannelInbox':\n return this.raw.maxId\n case 'updateReadChannelDiscussionOutbox':\n case 'updateReadChannelDiscussionInbox':\n return this.raw.readMaxId\n }\n }\n\n /**\n * ID of the thread/topic (i.e. ID of the top message).\n *\n * For non-thread updates, 0.\n */\n get threadId(): number {\n switch (this.raw._) {\n case 'updateReadHistoryOutbox':\n case 'updateReadHistoryInbox':\n case 'updateReadChannelOutbox':\n case 'updateReadChannelInbox':\n return 0\n case 'updateReadChannelDiscussionOutbox':\n case 'updateReadChannelDiscussionInbox':\n return this.raw.topMsgId\n }\n }\n}\n\nmakeInspectable(HistoryReadUpdate)\n"]}
1
+ {"version":3,"file":"history-read-update.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/updates/history-read-update.ts"],"names":[],"mappings":";;;AAEA,gEAAmF;AACnF,mDAAsD;AAEtD,MAAa,iBAAiB;IAEb;IADb,YACa,GAMoC;QANpC,QAAG,GAAH,GAAG,CAMiC;IAC9C,CAAC;IAEJ;;;OAGG;IACH,IAAI,QAAQ;QACR,QAAQ,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACjB,KAAK,mCAAmC,CAAC;YACzC,KAAK,yBAAyB,CAAC;YAC/B,KAAK,yBAAyB;gBAC1B,OAAO,IAAI,CAAA;YACf;gBACI,OAAO,KAAK,CAAA;QACpB,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,IAAI,YAAY;QACZ,QAAQ,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACjB,KAAK,mCAAmC,CAAC;YACzC,KAAK,kCAAkC;gBACnC,OAAO,IAAI,CAAA;YACf;gBACI,OAAO,KAAK,CAAA;QACpB,CAAC;IACL,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACN,QAAQ,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACjB,KAAK,yBAAyB,CAAC;YAC/B,KAAK,wBAAwB;gBACzB,OAAO,IAAA,+BAAe,EAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YACzC,KAAK,yBAAyB,CAAC;YAC/B,KAAK,wBAAwB,CAAC;YAC9B,KAAK,mCAAmC,CAAC;YACzC,KAAK,kCAAkC;gBACnC,OAAO,IAAA,mCAAmB,EAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QACtD,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,IAAI,WAAW;QACX,QAAQ,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACjB,KAAK,wBAAwB,CAAC;YAC9B,KAAK,wBAAwB;gBACzB,OAAO,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAA;YACpC,gFAAgF;YAChF,KAAK,kCAAkC,CAAC;YACxC,KAAK,yBAAyB,CAAC;YAC/B,KAAK,yBAAyB,CAAC;YAC/B,KAAK,mCAAmC;gBACpC,OAAO,CAAC,CAAA;QAChB,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,IAAI,SAAS;QACT,QAAQ,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACjB,KAAK,yBAAyB,CAAC;YAC/B,KAAK,wBAAwB,CAAC;YAC9B,KAAK,yBAAyB,CAAC;YAC/B,KAAK,wBAAwB;gBACzB,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAA;YACzB,KAAK,mCAAmC,CAAC;YACzC,KAAK,kCAAkC;gBACnC,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAA;QACjC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,IAAI,QAAQ;QACR,QAAQ,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACjB,KAAK,yBAAyB,CAAC;YAC/B,KAAK,wBAAwB,CAAC;YAC9B,KAAK,yBAAyB,CAAC;YAC/B,KAAK,wBAAwB;gBACzB,OAAO,CAAC,CAAA;YACZ,KAAK,mCAAmC,CAAC;YACzC,KAAK,kCAAkC;gBACnC,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAA;QAChC,CAAC;IACL,CAAC;CACJ;AAhHD,8CAgHC;AAED,IAAA,0BAAe,EAAC,iBAAiB,CAAC,CAAA","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { getMarkedPeerId, toggleChannelIdMark } from '../../../utils/peer-utils.js'\nimport { makeInspectable } from '../../utils/index.js'\n\nexport class HistoryReadUpdate {\n constructor(\n readonly raw:\n | tl.RawUpdateReadHistoryInbox\n | tl.RawUpdateReadHistoryOutbox\n | tl.RawUpdateReadChannelInbox\n | tl.RawUpdateReadChannelOutbox\n | tl.RawUpdateReadChannelDiscussionInbox\n | tl.RawUpdateReadChannelDiscussionOutbox,\n ) {}\n\n /**\n * Whether this update is about an \"outbox\" read\n * (i.e. a message you have sent earlier was read)\n */\n get isOutbox(): boolean {\n switch (this.raw._) {\n case 'updateReadChannelDiscussionOutbox':\n case 'updateReadHistoryOutbox':\n case 'updateReadChannelOutbox':\n return true\n default:\n return false\n }\n }\n\n /**\n * Whether this update is about messages in a thread\n * (e.g. a comments thread or a topic in a forum)\n */\n get isDiscussion(): boolean {\n switch (this.raw._) {\n case 'updateReadChannelDiscussionOutbox':\n case 'updateReadChannelDiscussionInbox':\n return true\n default:\n return false\n }\n }\n\n /**\n * Marked peer ID of the chat where the messages were read.\n */\n get chatId(): number {\n switch (this.raw._) {\n case 'updateReadHistoryOutbox':\n case 'updateReadHistoryInbox':\n return getMarkedPeerId(this.raw.peer)\n case 'updateReadChannelOutbox':\n case 'updateReadChannelInbox':\n case 'updateReadChannelDiscussionOutbox':\n case 'updateReadChannelDiscussionInbox':\n return toggleChannelIdMark(this.raw.channelId)\n }\n }\n\n /**\n * For inbox updates (i.e. `isOutbox = false`),\n * number of messages that are still unread in the chat.\n *\n * For other updates, `0`\n */\n get unreadCount(): number {\n switch (this.raw._) {\n case 'updateReadHistoryInbox':\n case 'updateReadChannelInbox':\n return this.raw.stillUnreadCount\n // `updateReadChannelDiscussionInbox` does not contain that data for some reason\n case 'updateReadChannelDiscussionInbox':\n case 'updateReadHistoryOutbox':\n case 'updateReadChannelOutbox':\n case 'updateReadChannelDiscussionOutbox':\n return 0\n }\n }\n\n /**\n * ID of the last read message.\n *\n * Note that if `isDiscussion == true`, this contains the ID of the\n * last read message inside that thread, and not in the group itself.\n */\n get maxReadId(): number {\n switch (this.raw._) {\n case 'updateReadHistoryOutbox':\n case 'updateReadHistoryInbox':\n case 'updateReadChannelOutbox':\n case 'updateReadChannelInbox':\n return this.raw.maxId\n case 'updateReadChannelDiscussionOutbox':\n case 'updateReadChannelDiscussionInbox':\n return this.raw.readMaxId\n }\n }\n\n /**\n * ID of the thread/topic (i.e. ID of the top message).\n *\n * For non-thread updates, 0.\n */\n get threadId(): number {\n switch (this.raw._) {\n case 'updateReadHistoryOutbox':\n case 'updateReadHistoryInbox':\n case 'updateReadChannelOutbox':\n case 'updateReadChannelInbox':\n return 0\n case 'updateReadChannelDiscussionOutbox':\n case 'updateReadChannelDiscussionInbox':\n return this.raw.topMsgId\n }\n }\n}\n\nmakeInspectable(HistoryReadUpdate)\n"]}
@@ -14,6 +14,8 @@ const PEER_TYPE_MAP = {
14
14
  inlineQueryPeerTypeBotPM: 'bot',
15
15
  };
16
16
  class InlineQuery {
17
+ raw;
18
+ _peers;
17
19
  constructor(raw, _peers) {
18
20
  this.raw = raw;
19
21
  this._peers = _peers;
@@ -1 +1 @@
1
- {"version":3,"file":"inline-query.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/updates/inline-query.ts"],"names":[],"mappings":";;;AAEA,mDAAsD;AACtD,uDAAuD;AACvD,sDAA+C;AAC/C,gDAA8D;AAE9D,MAAM,aAAa,GAAsD;IACrE,4BAA4B,EAAE,SAAS;IACvC,uBAAuB,EAAE,OAAO;IAChC,4BAA4B,EAAE,YAAY;IAC1C,qBAAqB,EAAE,MAAM;IAC7B,4BAA4B,EAAE,KAAK;IACnC,wBAAwB,EAAE,KAAK;CAClC,CAAA;AAED,MAAa,WAAW;IACpB,YACa,GAA+B,EAC/B,MAAkB;QADlB,QAAG,GAAH,GAAG,CAA4B;QAC/B,WAAM,GAAN,MAAM,CAAY;IAC5B,CAAC;IAEJ;;OAEG;IACH,IAAI,EAAE;QACF,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAA;IAC3B,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACJ,OAAO,IAAI,eAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;IACtD,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAA;IACzB,CAAC;IAED;;;;OAIG;IACH,IAAI,QAAQ;QACR,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,UAAU;YAAE,OAAO,IAAI,CAAA;QAE/C,OAAO,IAAI,sBAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACrC,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAA;IAC1B,CAAC;IAED;;;;;;;;;;OAUG;IACH,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IACxE,CAAC;CACJ;AA3DD,kCA2DC;AAED,IAAA,2BAAc,EAAC,WAAW,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;AACjD,IAAA,0BAAe,EAAC,WAAW,CAAC,CAAA","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { makeInspectable } from '../../utils/index.js'\nimport { memoizeGetters } from '../../utils/memoize.js'\nimport { Location } from '../media/location.js'\nimport { PeersIndex, PeerType, User } from '../peers/index.js'\n\nconst PEER_TYPE_MAP: Record<tl.TypeInlineQueryPeerType['_'], PeerType> = {\n inlineQueryPeerTypeBroadcast: 'channel',\n inlineQueryPeerTypeChat: 'group',\n inlineQueryPeerTypeMegagroup: 'supergroup',\n inlineQueryPeerTypePM: 'user',\n inlineQueryPeerTypeSameBotPM: 'bot',\n inlineQueryPeerTypeBotPM: 'bot',\n}\n\nexport class InlineQuery {\n constructor(\n readonly raw: tl.RawUpdateBotInlineQuery,\n readonly _peers: PeersIndex,\n ) {}\n\n /**\n * Unique query ID\n */\n get id(): tl.Long {\n return this.raw.queryId\n }\n\n /**\n * User who sent this query\n */\n get user(): User {\n return new User(this._peers.user(this.raw.userId))\n }\n\n /**\n * Text of the query (0-512 characters)\n */\n get query(): string {\n return this.raw.query\n }\n\n /**\n * Attached geolocation.\n *\n * Only used in case the bot requested user location\n */\n get location(): Location | null {\n if (this.raw.geo?._ !== 'geoPoint') return null\n\n return new Location(this.raw.geo)\n }\n\n /**\n * Inline query scroll offset, controlled by the bot\n */\n get offset(): string {\n return this.raw.offset\n }\n\n /**\n * Peer type from which this query was sent.\n *\n * Can be:\n * - `bot`: Query was sent in this bot's PM\n * - `user`: Query was sent in somebody's PM\n * - `group`: Query was sent in a legacy group\n * - `supergroup`: Query was sent in a supergroup\n * - `channel`: Query was sent in a channel\n * - `null`, in case this information is not available\n */\n get peerType(): PeerType | null {\n return this.raw.peerType ? PEER_TYPE_MAP[this.raw.peerType._] : null\n }\n}\n\nmemoizeGetters(InlineQuery, ['user', 'location'])\nmakeInspectable(InlineQuery)\n"]}
1
+ {"version":3,"file":"inline-query.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/updates/inline-query.ts"],"names":[],"mappings":";;;AAEA,mDAAsD;AACtD,uDAAuD;AACvD,sDAA+C;AAC/C,gDAA8D;AAE9D,MAAM,aAAa,GAAsD;IACrE,4BAA4B,EAAE,SAAS;IACvC,uBAAuB,EAAE,OAAO;IAChC,4BAA4B,EAAE,YAAY;IAC1C,qBAAqB,EAAE,MAAM;IAC7B,4BAA4B,EAAE,KAAK;IACnC,wBAAwB,EAAE,KAAK;CAClC,CAAA;AAED,MAAa,WAAW;IAEP;IACA;IAFb,YACa,GAA+B,EAC/B,MAAkB;QADlB,QAAG,GAAH,GAAG,CAA4B;QAC/B,WAAM,GAAN,MAAM,CAAY;IAC5B,CAAC;IAEJ;;OAEG;IACH,IAAI,EAAE;QACF,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAA;IAC3B,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACJ,OAAO,IAAI,eAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;IACtD,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAA;IACzB,CAAC;IAED;;;;OAIG;IACH,IAAI,QAAQ;QACR,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,UAAU;YAAE,OAAO,IAAI,CAAA;QAE/C,OAAO,IAAI,sBAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACrC,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAA;IAC1B,CAAC;IAED;;;;;;;;;;OAUG;IACH,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IACxE,CAAC;CACJ;AA3DD,kCA2DC;AAED,IAAA,2BAAc,EAAC,WAAW,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;AACjD,IAAA,0BAAe,EAAC,WAAW,CAAC,CAAA","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { makeInspectable } from '../../utils/index.js'\nimport { memoizeGetters } from '../../utils/memoize.js'\nimport { Location } from '../media/location.js'\nimport { PeersIndex, PeerType, User } from '../peers/index.js'\n\nconst PEER_TYPE_MAP: Record<tl.TypeInlineQueryPeerType['_'], PeerType> = {\n inlineQueryPeerTypeBroadcast: 'channel',\n inlineQueryPeerTypeChat: 'group',\n inlineQueryPeerTypeMegagroup: 'supergroup',\n inlineQueryPeerTypePM: 'user',\n inlineQueryPeerTypeSameBotPM: 'bot',\n inlineQueryPeerTypeBotPM: 'bot',\n}\n\nexport class InlineQuery {\n constructor(\n readonly raw: tl.RawUpdateBotInlineQuery,\n readonly _peers: PeersIndex,\n ) {}\n\n /**\n * Unique query ID\n */\n get id(): tl.Long {\n return this.raw.queryId\n }\n\n /**\n * User who sent this query\n */\n get user(): User {\n return new User(this._peers.user(this.raw.userId))\n }\n\n /**\n * Text of the query (0-512 characters)\n */\n get query(): string {\n return this.raw.query\n }\n\n /**\n * Attached geolocation.\n *\n * Only used in case the bot requested user location\n */\n get location(): Location | null {\n if (this.raw.geo?._ !== 'geoPoint') return null\n\n return new Location(this.raw.geo)\n }\n\n /**\n * Inline query scroll offset, controlled by the bot\n */\n get offset(): string {\n return this.raw.offset\n }\n\n /**\n * Peer type from which this query was sent.\n *\n * Can be:\n * - `bot`: Query was sent in this bot's PM\n * - `user`: Query was sent in somebody's PM\n * - `group`: Query was sent in a legacy group\n * - `supergroup`: Query was sent in a supergroup\n * - `channel`: Query was sent in a channel\n * - `null`, in case this information is not available\n */\n get peerType(): PeerType | null {\n return this.raw.peerType ? PEER_TYPE_MAP[this.raw.peerType._] : null\n }\n}\n\nmemoizeGetters(InlineQuery, ['user', 'location'])\nmakeInspectable(InlineQuery)\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"parse-update.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/updates/parse-update.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any,@typescript-eslint/no-unsafe-argument */\nimport { tl } from '@mtcute/tl'\n\nimport {\n BotChatJoinRequestUpdate,\n BotReactionCountUpdate,\n BotReactionUpdate,\n BotStoppedUpdate,\n CallbackQuery,\n ChatJoinRequestUpdate,\n ChatMemberUpdate,\n ChosenInlineResult,\n DeleteMessageUpdate,\n DeleteStoryUpdate,\n HistoryReadUpdate,\n InlineCallbackQuery,\n InlineQuery,\n Message,\n ParsedUpdate,\n PeersIndex,\n PollUpdate,\n PollVoteUpdate,\n PreCheckoutQuery,\n StoryUpdate,\n UserStatusUpdate,\n UserTypingUpdate,\n} from '../index.js'\n\n/** @internal */\nexport function _parseUpdate(update: tl.TypeUpdate, peers: PeersIndex): ParsedUpdate | null {\n switch (update._) {\n case 'updateNewMessage':\n case 'updateNewChannelMessage':\n case 'updateNewScheduledMessage':\n return {\n name: 'new_message',\n data: new Message(update.message, peers, update._ === 'updateNewScheduledMessage'),\n }\n case 'updateEditMessage':\n case 'updateEditChannelMessage':\n return { name: 'edit_message', data: new Message(update.message, peers) }\n case 'updateChatParticipant':\n case 'updateChannelParticipant':\n return { name: 'chat_member', data: new ChatMemberUpdate(update, peers) }\n case 'updateBotInlineQuery':\n return { name: 'inline_query', data: new InlineQuery(update, peers) }\n case 'updateBotInlineSend':\n return { name: 'chosen_inline_result', data: new ChosenInlineResult(update, peers) }\n case 'updateBotCallbackQuery':\n return { name: 'callback_query', data: new CallbackQuery(update, peers) }\n case 'updateInlineBotCallbackQuery':\n return { name: 'inline_callback_query', data: new InlineCallbackQuery(update, peers) }\n case 'updateMessagePoll':\n return { name: 'poll', data: new PollUpdate(update, peers) }\n case 'updateMessagePollVote':\n return { name: 'poll_vote', data: new PollVoteUpdate(update, peers) }\n case 'updateUserStatus':\n return { name: 'user_status', data: new UserStatusUpdate(update) }\n case 'updateChannelUserTyping':\n case 'updateChatUserTyping':\n case 'updateUserTyping':\n return { name: 'user_typing', data: new UserTypingUpdate(update) }\n case 'updateDeleteChannelMessages':\n case 'updateDeleteMessages':\n return { name: 'delete_message', data: new DeleteMessageUpdate(update) }\n case 'updateReadHistoryInbox':\n case 'updateReadHistoryOutbox':\n case 'updateReadChannelInbox':\n case 'updateReadChannelOutbox':\n case 'updateReadChannelDiscussionInbox':\n case 'updateReadChannelDiscussionOutbox':\n return { name: 'history_read', data: new HistoryReadUpdate(update) }\n case 'updateBotStopped':\n return { name: 'bot_stopped', data: new BotStoppedUpdate(update, peers) }\n case 'updateBotChatInviteRequester':\n return { name: 'bot_chat_join_request', data: new BotChatJoinRequestUpdate(update, peers) }\n case 'updatePendingJoinRequests':\n return { name: 'chat_join_request', data: new ChatJoinRequestUpdate(update, peers) }\n case 'updateBotPrecheckoutQuery':\n return { name: 'pre_checkout_query', data: new PreCheckoutQuery(update, peers) }\n case 'updateStory': {\n const story = update.story\n\n if (story._ === 'storyItemDeleted') {\n return { name: 'delete_story', data: new DeleteStoryUpdate(update, peers) }\n }\n\n return {\n name: 'story',\n data: new StoryUpdate(update, peers),\n }\n }\n case 'updateBotMessageReaction':\n return { name: 'bot_reaction', data: new BotReactionUpdate(update, peers) }\n case 'updateBotMessageReactions':\n return { name: 'bot_reaction_count', data: new BotReactionCountUpdate(update, peers) }\n default:\n return null\n }\n}\n"]}
1
+ {"version":3,"file":"parse-update.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/updates/parse-update.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any,@typescript-eslint/no-unsafe-argument */\nimport { tl } from '@mtcute/tl'\n\nimport {\n BotChatJoinRequestUpdate,\n BotReactionCountUpdate,\n BotReactionUpdate,\n BotStoppedUpdate,\n CallbackQuery,\n ChatJoinRequestUpdate,\n ChatMemberUpdate,\n ChosenInlineResult,\n DeleteMessageUpdate,\n DeleteStoryUpdate,\n HistoryReadUpdate,\n InlineCallbackQuery,\n InlineQuery,\n Message,\n ParsedUpdate,\n PeersIndex,\n PollUpdate,\n PollVoteUpdate,\n PreCheckoutQuery,\n StoryUpdate,\n UserStatusUpdate,\n UserTypingUpdate,\n} from '../index.js'\n\n/** @internal */\nexport function _parseUpdate(update: tl.TypeUpdate, peers: PeersIndex): ParsedUpdate | null {\n switch (update._) {\n case 'updateNewMessage':\n case 'updateNewChannelMessage':\n case 'updateNewScheduledMessage':\n return {\n name: 'new_message',\n data: new Message(update.message, peers, update._ === 'updateNewScheduledMessage'),\n }\n case 'updateEditMessage':\n case 'updateEditChannelMessage':\n return { name: 'edit_message', data: new Message(update.message, peers) }\n case 'updateChatParticipant':\n case 'updateChannelParticipant':\n return { name: 'chat_member', data: new ChatMemberUpdate(update, peers) }\n case 'updateBotInlineQuery':\n return { name: 'inline_query', data: new InlineQuery(update, peers) }\n case 'updateBotInlineSend':\n return { name: 'chosen_inline_result', data: new ChosenInlineResult(update, peers) }\n case 'updateBotCallbackQuery':\n return { name: 'callback_query', data: new CallbackQuery(update, peers) }\n case 'updateInlineBotCallbackQuery':\n return { name: 'inline_callback_query', data: new InlineCallbackQuery(update, peers) }\n case 'updateMessagePoll':\n return { name: 'poll', data: new PollUpdate(update, peers) }\n case 'updateMessagePollVote':\n return { name: 'poll_vote', data: new PollVoteUpdate(update, peers) }\n case 'updateUserStatus':\n return { name: 'user_status', data: new UserStatusUpdate(update) }\n case 'updateChannelUserTyping':\n case 'updateChatUserTyping':\n case 'updateUserTyping':\n return { name: 'user_typing', data: new UserTypingUpdate(update) }\n case 'updateDeleteChannelMessages':\n case 'updateDeleteMessages':\n return { name: 'delete_message', data: new DeleteMessageUpdate(update) }\n case 'updateReadHistoryInbox':\n case 'updateReadHistoryOutbox':\n case 'updateReadChannelInbox':\n case 'updateReadChannelOutbox':\n case 'updateReadChannelDiscussionInbox':\n case 'updateReadChannelDiscussionOutbox':\n return { name: 'history_read', data: new HistoryReadUpdate(update) }\n case 'updateBotStopped':\n return { name: 'bot_stopped', data: new BotStoppedUpdate(update, peers) }\n case 'updateBotChatInviteRequester':\n return { name: 'bot_chat_join_request', data: new BotChatJoinRequestUpdate(update, peers) }\n case 'updatePendingJoinRequests':\n return { name: 'chat_join_request', data: new ChatJoinRequestUpdate(update, peers) }\n case 'updateBotPrecheckoutQuery':\n return { name: 'pre_checkout_query', data: new PreCheckoutQuery(update, peers) }\n case 'updateStory': {\n const story = update.story\n\n if (story._ === 'storyItemDeleted') {\n return { name: 'delete_story', data: new DeleteStoryUpdate(update, peers) }\n }\n\n return {\n name: 'story',\n data: new StoryUpdate(update, peers),\n }\n }\n case 'updateBotMessageReaction':\n return { name: 'bot_reaction', data: new BotReactionUpdate(update, peers) }\n case 'updateBotMessageReactions':\n return { name: 'bot_reaction_count', data: new BotReactionCountUpdate(update, peers) }\n default:\n return null\n }\n}\n"]}
@@ -12,6 +12,8 @@ const poll_js_1 = require("../media/poll.js");
12
12
  * polls which were sent by this bot
13
13
  */
14
14
  class PollUpdate {
15
+ raw;
16
+ _peers;
15
17
  constructor(raw, _peers) {
16
18
  this.raw = raw;
17
19
  this._peers = _peers;
@@ -1 +1 @@
1
- {"version":3,"file":"poll-update.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/updates/poll-update.ts"],"names":[],"mappings":";;;AAEA,mDAAsD;AACtD,uDAAuD;AACvD,8CAAuC;AAGvC;;;;;;GAMG;AACH,MAAa,UAAU;IACnB,YACa,GAA4B,EAC5B,MAAkB;QADlB,QAAG,GAAH,GAAG,CAAyB;QAC5B,WAAM,GAAN,MAAM,CAAY;IAC5B,CAAC;IAEJ;;OAEG;IACH,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAA;IAC1B,CAAC;IAED;;OAEG;IACH,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAA;IACtC,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,IAAI,IAAI;QACJ,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAA;QAExB,IAAI,CAAC,IAAI,EAAE;YACP,mBAAmB;YACnB,IAAI,GAAG;gBACH,CAAC,EAAE,MAAM;gBACT,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM;gBACnB,QAAQ,EAAE,EAAE;gBACZ,OAAO,EACH,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBACpC,CAAC,EAAE,YAAY;oBACf,IAAI,EAAE,EAAE;oBACR,MAAM,EAAE,GAAG,CAAC,MAAM;iBACrB,CAAC,CAAC,IAAI,EAAE;aAChB,CAAA;SACJ;QAED,OAAO,IAAI,cAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IACxD,CAAC;CACJ;AAvDD,gCAuDC;AAED,IAAA,2BAAc,EAAC,UAAU,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;AACpC,IAAA,0BAAe,EAAC,UAAU,CAAC,CAAA","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { makeInspectable } from '../../utils/index.js'\nimport { memoizeGetters } from '../../utils/memoize.js'\nimport { Poll } from '../media/poll.js'\nimport { PeersIndex } from '../peers/peers-index.js'\n\n/**\n * Poll state has changed (stopped, somebody\n * has voted in an anonymous poll, etc.)\n *\n * Bots only receive updates about\n * polls which were sent by this bot\n */\nexport class PollUpdate {\n constructor(\n readonly raw: tl.RawUpdateMessagePoll,\n readonly _peers: PeersIndex,\n ) {}\n\n /**\n * Unique poll ID\n */\n get pollId(): tl.Long {\n return this.raw.pollId\n }\n\n /**\n * Whether this is a shortened version of update, not containing the poll itself.\n */\n get isShort(): boolean {\n return this.raw.poll === undefined\n }\n\n /**\n * The poll.\n *\n * When {@link isShort} is set, mtcute creates a stub poll\n * with empty question, answers and flags\n * (like `quiz`, `public`, etc.)\n *\n * If you need access to them, you should\n * map the {@link pollId} with full poll on your side\n * (e.g. in a database) and fetch from there.\n *\n * Bot API and TDLib do basically the same internally,\n * and thus are able to always provide them,\n * but mtcute currently does not have a way to do that.\n */\n get poll(): Poll {\n let poll = this.raw.poll\n\n if (!poll) {\n // create stub poll\n poll = {\n _: 'poll',\n id: this.raw.pollId,\n question: '',\n answers:\n this.raw.results.results?.map((res) => ({\n _: 'pollAnswer',\n text: '',\n option: res.option,\n })) ?? [],\n }\n }\n\n return new Poll(poll, this._peers, this.raw.results)\n }\n}\n\nmemoizeGetters(PollUpdate, ['poll'])\nmakeInspectable(PollUpdate)\n"]}
1
+ {"version":3,"file":"poll-update.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/updates/poll-update.ts"],"names":[],"mappings":";;;AAEA,mDAAsD;AACtD,uDAAuD;AACvD,8CAAuC;AAGvC;;;;;;GAMG;AACH,MAAa,UAAU;IAEN;IACA;IAFb,YACa,GAA4B,EAC5B,MAAkB;QADlB,QAAG,GAAH,GAAG,CAAyB;QAC5B,WAAM,GAAN,MAAM,CAAY;IAC5B,CAAC;IAEJ;;OAEG;IACH,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAA;IAC1B,CAAC;IAED;;OAEG;IACH,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAA;IACtC,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,IAAI,IAAI;QACJ,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAA;QAExB,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,mBAAmB;YACnB,IAAI,GAAG;gBACH,CAAC,EAAE,MAAM;gBACT,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM;gBACnB,QAAQ,EAAE,EAAE;gBACZ,OAAO,EACH,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBACpC,CAAC,EAAE,YAAY;oBACf,IAAI,EAAE,EAAE;oBACR,MAAM,EAAE,GAAG,CAAC,MAAM;iBACrB,CAAC,CAAC,IAAI,EAAE;aAChB,CAAA;QACL,CAAC;QAED,OAAO,IAAI,cAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IACxD,CAAC;CACJ;AAvDD,gCAuDC;AAED,IAAA,2BAAc,EAAC,UAAU,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;AACpC,IAAA,0BAAe,EAAC,UAAU,CAAC,CAAA","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { makeInspectable } from '../../utils/index.js'\nimport { memoizeGetters } from '../../utils/memoize.js'\nimport { Poll } from '../media/poll.js'\nimport { PeersIndex } from '../peers/peers-index.js'\n\n/**\n * Poll state has changed (stopped, somebody\n * has voted in an anonymous poll, etc.)\n *\n * Bots only receive updates about\n * polls which were sent by this bot\n */\nexport class PollUpdate {\n constructor(\n readonly raw: tl.RawUpdateMessagePoll,\n readonly _peers: PeersIndex,\n ) {}\n\n /**\n * Unique poll ID\n */\n get pollId(): tl.Long {\n return this.raw.pollId\n }\n\n /**\n * Whether this is a shortened version of update, not containing the poll itself.\n */\n get isShort(): boolean {\n return this.raw.poll === undefined\n }\n\n /**\n * The poll.\n *\n * When {@link isShort} is set, mtcute creates a stub poll\n * with empty question, answers and flags\n * (like `quiz`, `public`, etc.)\n *\n * If you need access to them, you should\n * map the {@link pollId} with full poll on your side\n * (e.g. in a database) and fetch from there.\n *\n * Bot API and TDLib do basically the same internally,\n * and thus are able to always provide them,\n * but mtcute currently does not have a way to do that.\n */\n get poll(): Poll {\n let poll = this.raw.poll\n\n if (!poll) {\n // create stub poll\n poll = {\n _: 'poll',\n id: this.raw.pollId,\n question: '',\n answers:\n this.raw.results.results?.map((res) => ({\n _: 'pollAnswer',\n text: '',\n option: res.option,\n })) ?? [],\n }\n }\n\n return new Poll(poll, this._peers, this.raw.results)\n }\n}\n\nmemoizeGetters(PollUpdate, ['poll'])\nmakeInspectable(PollUpdate)\n"]}
@@ -12,6 +12,8 @@ const index_js_2 = require("../peers/index.js");
12
12
  * that were sent by this bot.
13
13
  */
14
14
  class PollVoteUpdate {
15
+ raw;
16
+ _peers;
15
17
  constructor(raw, _peers) {
16
18
  this.raw = raw;
17
19
  this._peers = _peers;
@@ -1 +1 @@
1
- {"version":3,"file":"poll-vote.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/updates/poll-vote.ts"],"names":[],"mappings":";;;AAEA,wDAA6D;AAC7D,mDAAsD;AACtD,uDAAuD;AACvD,gDAA+D;AAE/D;;;;;GAKG;AACH,MAAa,cAAc;IACvB,YACa,GAAgC,EAChC,MAAkB;QADlB,QAAG,GAAH,GAAG,CAA6B;QAChC,WAAM,GAAN,MAAM,CAAY;IAC5B,CAAC;IAEJ;;OAEG;IACH,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAA;IAC1B,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACJ,OAAO,IAAA,oBAAS,EAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IAChD,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAA;IAC3B,CAAC;IAED;;;;;;OAMG;IACH,IAAI,iBAAiB;QACjB,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAChC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;gBAChB,MAAM,IAAI,8BAAkB,CAAC,oBAAoB,CAAC,CAAA;aACrD;YACD,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC5B,MAAM,IAAI,8BAAkB,CAAC,wCAAwC,CAAC,CAAA;aACzE;YAED,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;QACtB,CAAC,CAAC,CAAA;IACN,CAAC;CACJ;AAjED,wCAiEC;AAED,IAAA,2BAAc,EAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;AACxC,IAAA,0BAAe,EAAC,cAAc,CAAC,CAAA","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MtUnsupportedError } from '../../../types/errors.js'\nimport { makeInspectable } from '../../utils/index.js'\nimport { memoizeGetters } from '../../utils/memoize.js'\nimport { parsePeer, Peer, PeersIndex } from '../peers/index.js'\n\n/**\n * Some user has voted in a public poll.\n *\n * Bots only receive new votes in polls\n * that were sent by this bot.\n */\nexport class PollVoteUpdate {\n constructor(\n readonly raw: tl.RawUpdateMessagePollVote,\n readonly _peers: PeersIndex,\n ) {}\n\n /**\n * Unique poll ID\n */\n get pollId(): tl.Long {\n return this.raw.pollId\n }\n\n /**\n * Peer who has voted\n */\n get peer(): Peer {\n return parsePeer(this.raw.peer, this._peers)\n }\n\n /**\n * Answers that the user has chosen.\n *\n * Note that due to incredible Telegram APIs, you\n * have to have the poll cached to be able to properly\n * tell which answers were chosen, since in the API\n * there are just arbitrary `Buffer`s, which are\n * defined by the client.\n *\n * However, most of the major implementations\n * (tested with TDLib and Bot API, official apps\n * for Android, Desktop, iOS/macOS) and mtcute\n * (by default) create `option` as a one-byte `Buffer`,\n * incrementing from `48` (ASCII `0`) up to `57` (ASCII `9`),\n * and ASCII representation would define index in the array.\n * Meaning, if `chosen[0][0] === 48` or `chosen[0].toString() === '0'`,\n * then the first answer (indexed with `0`) was chosen. To get the index,\n * you simply subtract `48` from the first byte.\n *\n * This might break at any time, but seems to be consistent for now.\n * To get chosen answer indexes derived as before, use {@link chosenIndexesAuto}.\n */\n get chosen(): ReadonlyArray<Uint8Array> {\n return this.raw.options\n }\n\n /**\n * Indexes of the chosen answers, derived based on observations\n * described in {@link chosen}.\n * This might break at any time, but seems to be consistent for now.\n *\n * If something does not add up, {@link MtUnsupportedError} is thrown\n */\n get chosenIndexesAuto(): ReadonlyArray<number> {\n return this.raw.options.map((buf) => {\n if (buf.length > 1) {\n throw new MtUnsupportedError('option had >1 byte')\n }\n if (buf[0] < 48 || buf[0] > 57) {\n throw new MtUnsupportedError('option had first byte out of 0-9 range')\n }\n\n return buf[0] - 48\n })\n }\n}\n\nmemoizeGetters(PollVoteUpdate, ['peer'])\nmakeInspectable(PollVoteUpdate)\n"]}
1
+ {"version":3,"file":"poll-vote.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/updates/poll-vote.ts"],"names":[],"mappings":";;;AAEA,wDAA6D;AAC7D,mDAAsD;AACtD,uDAAuD;AACvD,gDAA+D;AAE/D;;;;;GAKG;AACH,MAAa,cAAc;IAEV;IACA;IAFb,YACa,GAAgC,EAChC,MAAkB;QADlB,QAAG,GAAH,GAAG,CAA6B;QAChC,WAAM,GAAN,MAAM,CAAY;IAC5B,CAAC;IAEJ;;OAEG;IACH,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAA;IAC1B,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACJ,OAAO,IAAA,oBAAS,EAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IAChD,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAA;IAC3B,CAAC;IAED;;;;;;OAMG;IACH,IAAI,iBAAiB;QACjB,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAChC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjB,MAAM,IAAI,8BAAkB,CAAC,oBAAoB,CAAC,CAAA;YACtD,CAAC;YACD,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;gBAC7B,MAAM,IAAI,8BAAkB,CAAC,wCAAwC,CAAC,CAAA;YAC1E,CAAC;YAED,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;QACtB,CAAC,CAAC,CAAA;IACN,CAAC;CACJ;AAjED,wCAiEC;AAED,IAAA,2BAAc,EAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;AACxC,IAAA,0BAAe,EAAC,cAAc,CAAC,CAAA","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MtUnsupportedError } from '../../../types/errors.js'\nimport { makeInspectable } from '../../utils/index.js'\nimport { memoizeGetters } from '../../utils/memoize.js'\nimport { parsePeer, Peer, PeersIndex } from '../peers/index.js'\n\n/**\n * Some user has voted in a public poll.\n *\n * Bots only receive new votes in polls\n * that were sent by this bot.\n */\nexport class PollVoteUpdate {\n constructor(\n readonly raw: tl.RawUpdateMessagePollVote,\n readonly _peers: PeersIndex,\n ) {}\n\n /**\n * Unique poll ID\n */\n get pollId(): tl.Long {\n return this.raw.pollId\n }\n\n /**\n * Peer who has voted\n */\n get peer(): Peer {\n return parsePeer(this.raw.peer, this._peers)\n }\n\n /**\n * Answers that the user has chosen.\n *\n * Note that due to incredible Telegram APIs, you\n * have to have the poll cached to be able to properly\n * tell which answers were chosen, since in the API\n * there are just arbitrary `Buffer`s, which are\n * defined by the client.\n *\n * However, most of the major implementations\n * (tested with TDLib and Bot API, official apps\n * for Android, Desktop, iOS/macOS) and mtcute\n * (by default) create `option` as a one-byte `Buffer`,\n * incrementing from `48` (ASCII `0`) up to `57` (ASCII `9`),\n * and ASCII representation would define index in the array.\n * Meaning, if `chosen[0][0] === 48` or `chosen[0].toString() === '0'`,\n * then the first answer (indexed with `0`) was chosen. To get the index,\n * you simply subtract `48` from the first byte.\n *\n * This might break at any time, but seems to be consistent for now.\n * To get chosen answer indexes derived as before, use {@link chosenIndexesAuto}.\n */\n get chosen(): ReadonlyArray<Uint8Array> {\n return this.raw.options\n }\n\n /**\n * Indexes of the chosen answers, derived based on observations\n * described in {@link chosen}.\n * This might break at any time, but seems to be consistent for now.\n *\n * If something does not add up, {@link MtUnsupportedError} is thrown\n */\n get chosenIndexesAuto(): ReadonlyArray<number> {\n return this.raw.options.map((buf) => {\n if (buf.length > 1) {\n throw new MtUnsupportedError('option had >1 byte')\n }\n if (buf[0] < 48 || buf[0] > 57) {\n throw new MtUnsupportedError('option had first byte out of 0-9 range')\n }\n\n return buf[0] - 48\n })\n }\n}\n\nmemoizeGetters(PollVoteUpdate, ['peer'])\nmakeInspectable(PollVoteUpdate)\n"]}
@@ -5,6 +5,8 @@ const index_js_1 = require("../../utils/index.js");
5
5
  const memoize_js_1 = require("../../utils/memoize.js");
6
6
  const index_js_2 = require("../peers/index.js");
7
7
  class PreCheckoutQuery {
8
+ raw;
9
+ _peers;
8
10
  constructor(raw, _peers) {
9
11
  this.raw = raw;
10
12
  this._peers = _peers;
@@ -1 +1 @@
1
- {"version":3,"file":"pre-checkout-query.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/updates/pre-checkout-query.ts"],"names":[],"mappings":";;;AAEA,mDAAsD;AACtD,uDAAuD;AACvD,gDAAoD;AAEpD,MAAa,gBAAgB;IACzB,YACoB,GAAoC,EACpC,MAAkB;QADlB,QAAG,GAAH,GAAG,CAAiC;QACpC,WAAM,GAAN,MAAM,CAAY;IACnC,CAAC;IAEJ;;OAEG;IACH,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAA;IAC3B,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAA;IAC1B,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACJ,OAAO,IAAI,eAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IAClD,CAAC;IAED;;;OAGG;IACH,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAA;IAC3B,CAAC;IAED;;OAEG;IACH,IAAI,WAAW;QACX,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI;YAAE,OAAO,IAAI,CAAA;QAE/B,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAA;IACxB,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAA;IAC5B,CAAC;IAED;;OAEG;IACH,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,CAAA;IAC/B,CAAC;CACJ;AAzDD,4CAyDC;AAED,IAAA,2BAAc,EAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;AAC1C,IAAA,0BAAe,EAAC,gBAAgB,CAAC,CAAA","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { makeInspectable } from '../../utils/index.js'\nimport { memoizeGetters } from '../../utils/memoize.js'\nimport { PeersIndex, User } from '../peers/index.js'\n\nexport class PreCheckoutQuery {\n constructor(\n public readonly raw: tl.RawUpdateBotPrecheckoutQuery,\n public readonly _peers: PeersIndex,\n ) {}\n\n /**\n * ID of the query\n */\n get queryId(): tl.Long {\n return this.raw.queryId\n }\n\n /**\n * ID of the user who sent the query\n */\n get userId(): number {\n return this.raw.userId\n }\n\n /**\n * User who sent the query\n */\n get user(): User {\n return new User(this._peers.user(this.userId))\n }\n\n /**\n * Bot-defined payload of the original invoice\n * (see {@link InputMediaInvoice.payload})\n */\n get payload(): Uint8Array {\n return this.raw.payload\n }\n\n /**\n * User-provided payment info (like name, phone, shipping address, etc.)\n */\n get paymentInfo(): tl.RawPaymentRequestedInfo | null {\n if (!this.raw.info) return null\n\n return this.raw.info\n }\n\n /**\n * Currency of the payment\n */\n get currency(): string {\n return this.raw.currency\n }\n\n /**\n * Total price of the payment\n */\n get totalAmount(): tl.Long {\n return this.raw.totalAmount\n }\n}\n\nmemoizeGetters(PreCheckoutQuery, ['user'])\nmakeInspectable(PreCheckoutQuery)\n"]}
1
+ {"version":3,"file":"pre-checkout-query.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/updates/pre-checkout-query.ts"],"names":[],"mappings":";;;AAEA,mDAAsD;AACtD,uDAAuD;AACvD,gDAAoD;AAEpD,MAAa,gBAAgB;IAEL;IACA;IAFpB,YACoB,GAAoC,EACpC,MAAkB;QADlB,QAAG,GAAH,GAAG,CAAiC;QACpC,WAAM,GAAN,MAAM,CAAY;IACnC,CAAC;IAEJ;;OAEG;IACH,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAA;IAC3B,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAA;IAC1B,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACJ,OAAO,IAAI,eAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IAClD,CAAC;IAED;;;OAGG;IACH,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAA;IAC3B,CAAC;IAED;;OAEG;IACH,IAAI,WAAW;QACX,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI;YAAE,OAAO,IAAI,CAAA;QAE/B,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAA;IACxB,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAA;IAC5B,CAAC;IAED;;OAEG;IACH,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,CAAA;IAC/B,CAAC;CACJ;AAzDD,4CAyDC;AAED,IAAA,2BAAc,EAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;AAC1C,IAAA,0BAAe,EAAC,gBAAgB,CAAC,CAAA","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { makeInspectable } from '../../utils/index.js'\nimport { memoizeGetters } from '../../utils/memoize.js'\nimport { PeersIndex, User } from '../peers/index.js'\n\nexport class PreCheckoutQuery {\n constructor(\n public readonly raw: tl.RawUpdateBotPrecheckoutQuery,\n public readonly _peers: PeersIndex,\n ) {}\n\n /**\n * ID of the query\n */\n get queryId(): tl.Long {\n return this.raw.queryId\n }\n\n /**\n * ID of the user who sent the query\n */\n get userId(): number {\n return this.raw.userId\n }\n\n /**\n * User who sent the query\n */\n get user(): User {\n return new User(this._peers.user(this.userId))\n }\n\n /**\n * Bot-defined payload of the original invoice\n * (see {@link InputMediaInvoice.payload})\n */\n get payload(): Uint8Array {\n return this.raw.payload\n }\n\n /**\n * User-provided payment info (like name, phone, shipping address, etc.)\n */\n get paymentInfo(): tl.RawPaymentRequestedInfo | null {\n if (!this.raw.info) return null\n\n return this.raw.info\n }\n\n /**\n * Currency of the payment\n */\n get currency(): string {\n return this.raw.currency\n }\n\n /**\n * Total price of the payment\n */\n get totalAmount(): tl.Long {\n return this.raw.totalAmount\n }\n}\n\nmemoizeGetters(PreCheckoutQuery, ['user'])\nmakeInspectable(PreCheckoutQuery)\n"]}
@@ -13,6 +13,8 @@ const memoize_js_1 = require("../../utils/memoize.js");
13
13
  * > is to store known stories IDs and compare them to the one in the update.
14
14
  */
15
15
  class StoryUpdate {
16
+ raw;
17
+ _peers;
16
18
  constructor(raw, _peers) {
17
19
  this.raw = raw;
18
20
  this._peers = _peers;
@@ -1 +1 @@
1
- {"version":3,"file":"story-update.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/updates/story-update.ts"],"names":[],"mappings":";;;AAEA,0EAAgE;AAChE,yDAAwE;AACxE,2DAAoD;AACpD,mDAAsD;AACtD,uDAAuD;AAEvD;;;;;GAKG;AACH,MAAa,WAAW;IACpB,YACa,GAAsB,EACtB,MAAkB;QADlB,QAAG,GAAH,GAAG,CAAmB;QACtB,WAAM,GAAN,MAAM,CAAY;IAC5B,CAAC;IAEJ;;OAEG;IACH,IAAI,IAAI;QACJ,OAAO,IAAA,oBAAS,EAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IAChD,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACL,IAAA,iCAAY,EAAC,mBAAmB,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;QAE9D,OAAO,IAAI,gBAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IACjD,CAAC;CACJ;AArBD,kCAqBC;AAED,IAAA,2BAAc,EAAC,WAAW,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;AAC9C,IAAA,0BAAe,EAAC,WAAW,CAAC,CAAA","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { assertTypeIs } from '../../../utils/type-assertions.js'\nimport { parsePeer, Peer, PeersIndex } from '../../types/peers/index.js'\nimport { Story } from '../../types/stories/index.js'\nimport { makeInspectable } from '../../utils/index.js'\nimport { memoizeGetters } from '../../utils/memoize.js'\n\n/**\n * A story was posted or edited\n *\n * > **Note**: Currently the only way to reliably test if this is a new story or an update\n * > is to store known stories IDs and compare them to the one in the update.\n */\nexport class StoryUpdate {\n constructor(\n readonly raw: tl.RawUpdateStory,\n readonly _peers: PeersIndex,\n ) {}\n\n /**\n * Peer that owns these stories.\n */\n get peer(): Peer {\n return parsePeer(this.raw.peer, this._peers)\n }\n\n /**\n * Story that was posted or edited.\n */\n get story(): Story {\n assertTypeIs('StoryUpdate.story', this.raw.story, 'storyItem')\n\n return new Story(this.raw.story, this._peers)\n }\n}\n\nmemoizeGetters(StoryUpdate, ['peer', 'story'])\nmakeInspectable(StoryUpdate)\n"]}
1
+ {"version":3,"file":"story-update.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/updates/story-update.ts"],"names":[],"mappings":";;;AAEA,0EAAgE;AAChE,yDAAwE;AACxE,2DAAoD;AACpD,mDAAsD;AACtD,uDAAuD;AAEvD;;;;;GAKG;AACH,MAAa,WAAW;IAEP;IACA;IAFb,YACa,GAAsB,EACtB,MAAkB;QADlB,QAAG,GAAH,GAAG,CAAmB;QACtB,WAAM,GAAN,MAAM,CAAY;IAC5B,CAAC;IAEJ;;OAEG;IACH,IAAI,IAAI;QACJ,OAAO,IAAA,oBAAS,EAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IAChD,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACL,IAAA,iCAAY,EAAC,mBAAmB,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;QAE9D,OAAO,IAAI,gBAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IACjD,CAAC;CACJ;AArBD,kCAqBC;AAED,IAAA,2BAAc,EAAC,WAAW,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;AAC9C,IAAA,0BAAe,EAAC,WAAW,CAAC,CAAA","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { assertTypeIs } from '../../../utils/type-assertions.js'\nimport { parsePeer, Peer, PeersIndex } from '../../types/peers/index.js'\nimport { Story } from '../../types/stories/index.js'\nimport { makeInspectable } from '../../utils/index.js'\nimport { memoizeGetters } from '../../utils/memoize.js'\n\n/**\n * A story was posted or edited\n *\n * > **Note**: Currently the only way to reliably test if this is a new story or an update\n * > is to store known stories IDs and compare them to the one in the update.\n */\nexport class StoryUpdate {\n constructor(\n readonly raw: tl.RawUpdateStory,\n readonly _peers: PeersIndex,\n ) {}\n\n /**\n * Peer that owns these stories.\n */\n get peer(): Peer {\n return parsePeer(this.raw.peer, this._peers)\n }\n\n /**\n * Story that was posted or edited.\n */\n get story(): Story {\n assertTypeIs('StoryUpdate.story', this.raw.story, 'storyItem')\n\n return new Story(this.raw.story, this._peers)\n }\n}\n\nmemoizeGetters(StoryUpdate, ['peer', 'story'])\nmakeInspectable(StoryUpdate)\n"]}
@@ -8,6 +8,7 @@ const index_js_2 = require("../peers/index.js");
8
8
  * User status has changed
9
9
  */
10
10
  class UserStatusUpdate {
11
+ raw;
11
12
  constructor(raw) {
12
13
  this.raw = raw;
13
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"user-status-update.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/updates/user-status-update.ts"],"names":[],"mappings":";;;AAEA,mDAAsD;AACtD,uDAAuD;AACvD,gDAAoD;AAEpD;;GAEG;AACH,MAAa,gBAAgB;IACzB,YAAqB,GAA2B;QAA3B,QAAG,GAAH,GAAG,CAAwB;IAAG,CAAC;IAEpD;;OAEG;IACH,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAA;IAC1B,CAAC;IAED,IAAY,aAAa;QACrB,OAAO,eAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAC5C,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAA;IACpC,CAAC;IAED;;;OAGG;IACH,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,aAAa,CAAC,UAAU,CAAA;IACxC,CAAC;IAED;;;OAGG;IACH,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,CAAA;IACzC,CAAC;CACJ;AApCD,4CAoCC;AAED,IAAA,2BAAc,EAAC,gBAAgB,EAAE,CAAC,eAAyC,CAAC,CAAC,CAAA;AAC7E,IAAA,0BAAe,EAAC,gBAAgB,EAAE,SAAS,EAAE,CAAC,eAAyC,CAAC,CAAC,CAAA","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { makeInspectable } from '../../utils/index.js'\nimport { memoizeGetters } from '../../utils/memoize.js'\nimport { User, UserStatus } from '../peers/index.js'\n\n/**\n * User status has changed\n */\nexport class UserStatusUpdate {\n constructor(readonly raw: tl.RawUpdateUserStatus) {}\n\n /**\n * ID of the user whose status has updated\n */\n get userId(): number {\n return this.raw.userId\n }\n\n private get _parsedStatus() {\n return User.parseStatus(this.raw.status)\n }\n\n /**\n * User's new Last Seen & Online status\n */\n get status(): UserStatus {\n return this._parsedStatus.status\n }\n\n /**\n * Last time this user was seen online.\n * Only available if {@link status} is `offline`\n */\n get lastOnline(): Date | null {\n return this._parsedStatus.lastOnline\n }\n\n /**\n * Time when this user will automatically go offline.\n * Only available if {@link status} is `online`\n */\n get nextOffline(): Date | null {\n return this._parsedStatus.nextOffline\n }\n}\n\nmemoizeGetters(UserStatusUpdate, ['_parsedStatus' as keyof UserStatusUpdate])\nmakeInspectable(UserStatusUpdate, undefined, ['_parsedStatus' as keyof UserStatusUpdate])\n"]}
1
+ {"version":3,"file":"user-status-update.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/updates/user-status-update.ts"],"names":[],"mappings":";;;AAEA,mDAAsD;AACtD,uDAAuD;AACvD,gDAAoD;AAEpD;;GAEG;AACH,MAAa,gBAAgB;IACJ;IAArB,YAAqB,GAA2B;QAA3B,QAAG,GAAH,GAAG,CAAwB;IAAG,CAAC;IAEpD;;OAEG;IACH,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAA;IAC1B,CAAC;IAED,IAAY,aAAa;QACrB,OAAO,eAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAC5C,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAA;IACpC,CAAC;IAED;;;OAGG;IACH,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,aAAa,CAAC,UAAU,CAAA;IACxC,CAAC;IAED;;;OAGG;IACH,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,CAAA;IACzC,CAAC;CACJ;AApCD,4CAoCC;AAED,IAAA,2BAAc,EAAC,gBAAgB,EAAE,CAAC,eAAyC,CAAC,CAAC,CAAA;AAC7E,IAAA,0BAAe,EAAC,gBAAgB,EAAE,SAAS,EAAE,CAAC,eAAyC,CAAC,CAAC,CAAA","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { makeInspectable } from '../../utils/index.js'\nimport { memoizeGetters } from '../../utils/memoize.js'\nimport { User, UserStatus } from '../peers/index.js'\n\n/**\n * User status has changed\n */\nexport class UserStatusUpdate {\n constructor(readonly raw: tl.RawUpdateUserStatus) {}\n\n /**\n * ID of the user whose status has updated\n */\n get userId(): number {\n return this.raw.userId\n }\n\n private get _parsedStatus() {\n return User.parseStatus(this.raw.status)\n }\n\n /**\n * User's new Last Seen & Online status\n */\n get status(): UserStatus {\n return this._parsedStatus.status\n }\n\n /**\n * Last time this user was seen online.\n * Only available if {@link status} is `offline`\n */\n get lastOnline(): Date | null {\n return this._parsedStatus.lastOnline\n }\n\n /**\n * Time when this user will automatically go offline.\n * Only available if {@link status} is `online`\n */\n get nextOffline(): Date | null {\n return this._parsedStatus.nextOffline\n }\n}\n\nmemoizeGetters(UserStatusUpdate, ['_parsedStatus' as keyof UserStatusUpdate])\nmakeInspectable(UserStatusUpdate, undefined, ['_parsedStatus' as keyof UserStatusUpdate])\n"]}
@@ -10,6 +10,7 @@ const index_js_1 = require("../../utils/index.js");
10
10
  * This update is valid for 6 seconds.
11
11
  */
12
12
  class UserTypingUpdate {
13
+ raw;
13
14
  constructor(raw) {
14
15
  this.raw = raw;
15
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"user-typing-update.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/updates/user-typing-update.ts"],"names":[],"mappings":";;;AAGA,sDAAqD;AACrD,gEAAiF;AACjF,mDAAsD;AAGtD;;;;GAIG;AACH,MAAa,gBAAgB;IACzB,YAAqB,GAAwF;QAAxF,QAAG,GAAH,GAAG,CAAqF;IAAG,CAAC;IAEjH;;OAEG;IACH,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAA,6BAAa,EAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAC/F,CAAC;IAED;;;;;OAKG;IACH,IAAI,MAAM;QACN,QAAQ,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;YAChB,KAAK,kBAAkB;gBACnB,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAA;YAC1B,KAAK,sBAAsB;gBACvB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAA;YAC3B,KAAK,yBAAyB;gBAC1B,OAAO,IAAA,mCAAmB,EAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;SACrD;IACL,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACR,QAAQ,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;YAChB,KAAK,kBAAkB;gBACnB,OAAO,MAAM,CAAA;YACjB,KAAK,sBAAsB;gBACvB,OAAO,MAAM,CAAA;YACjB,KAAK,yBAAyB;gBAC1B,OAAO,SAAS,CAAA;SACvB;IACL,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACN,QAAQ,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE;YACvB,KAAK,yBAAyB;gBAC1B,OAAO,QAAQ,CAAA;YACnB,KAAK,yBAAyB;gBAC1B,OAAO,QAAQ,CAAA;YACnB,KAAK,8BAA8B;gBAC/B,OAAO,cAAc,CAAA;YACzB,KAAK,8BAA8B;gBAC/B,OAAO,cAAc,CAAA;YACzB,KAAK,8BAA8B;gBAC/B,OAAO,cAAc,CAAA;YACzB,KAAK,8BAA8B;gBAC/B,OAAO,cAAc,CAAA;YACzB,KAAK,8BAA8B;gBAC/B,OAAO,cAAc,CAAA;YACzB,KAAK,iCAAiC;gBAClC,OAAO,iBAAiB,CAAA;YAC5B,KAAK,8BAA8B;gBAC/B,OAAO,KAAK,CAAA;YAChB,KAAK,2BAA2B;gBAC5B,OAAO,MAAM,CAAA;YACjB,KAAK,gCAAgC;gBACjC,OAAO,SAAS,CAAA;YACpB,KAAK,8BAA8B;gBAC/B,OAAO,cAAc,CAAA;YACzB,KAAK,8BAA8B;gBAC/B,OAAO,cAAc,CAAA;YACzB,KAAK,2BAA2B;gBAC5B,OAAO,YAAY,CAAA;YACvB,KAAK,gCAAgC;gBACjC,OAAO,gBAAgB,CAAA;YAC3B,KAAK,gCAAgC;gBACjC,OAAO,SAAS,CAAA;YACpB,KAAK,6BAA6B;gBAC9B,OAAO,aAAa,CAAA;YACxB,KAAK,iCAAiC;gBAClC,OAAO,kBAAkB,CAAA;YAC7B;gBACI,IAAA,sBAAW,EAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;SACnC;IACL,CAAC;CACJ;AAtFD,4CAsFC;AAED,IAAA,0BAAe,EAAC,gBAAgB,CAAC,CAAA","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { BasicPeerType } from '../../../types/peers.js'\nimport { assertNever } from '../../../types/utils.js'\nimport { getBarePeerId, toggleChannelIdMark } from '../../../utils/peer-utils.js'\nimport { makeInspectable } from '../../utils/index.js'\nimport { TypingStatus } from '../peers/index.js'\n\n/**\n * User's typing status has changed.\n *\n * This update is valid for 6 seconds.\n */\nexport class UserTypingUpdate {\n constructor(readonly raw: tl.RawUpdateUserTyping | tl.RawUpdateChatUserTyping | tl.RawUpdateChannelUserTyping) {}\n\n /**\n * ID of the user whose typing status changed\n */\n get userId(): number {\n return this.raw._ === 'updateUserTyping' ? this.raw.userId : getBarePeerId(this.raw.fromId)\n }\n\n /**\n * Marked ID of the chat where the user is typing,\n *\n * If the user is typing in PMs, this will\n * equal to {@link userId}\n */\n get chatId(): number {\n switch (this.raw._) {\n case 'updateUserTyping':\n return this.raw.userId\n case 'updateChatUserTyping':\n return -this.raw.chatId\n case 'updateChannelUserTyping':\n return toggleChannelIdMark(this.raw.channelId)\n }\n }\n\n /**\n * Type of the chat where this event has occurred\n */\n get chatType(): BasicPeerType {\n switch (this.raw._) {\n case 'updateUserTyping':\n return 'user'\n case 'updateChatUserTyping':\n return 'chat'\n case 'updateChannelUserTyping':\n return 'channel'\n }\n }\n\n /**\n * Current typing status\n */\n get status(): TypingStatus {\n switch (this.raw.action._) {\n case 'sendMessageTypingAction':\n return 'typing'\n case 'sendMessageCancelAction':\n return 'cancel'\n case 'sendMessageRecordVideoAction':\n return 'record_video'\n case 'sendMessageUploadVideoAction':\n return 'upload_video'\n case 'sendMessageRecordAudioAction':\n return 'record_voice'\n case 'sendMessageUploadAudioAction':\n return 'upload_voice'\n case 'sendMessageUploadPhotoAction':\n return 'upload_photo'\n case 'sendMessageUploadDocumentAction':\n return 'upload_document'\n case 'sendMessageGeoLocationAction':\n return 'geo'\n case 'sendMessageGamePlayAction':\n return 'game'\n case 'sendMessageChooseContactAction':\n return 'contact'\n case 'sendMessageRecordRoundAction':\n return 'record_round'\n case 'sendMessageUploadRoundAction':\n return 'upload_round'\n case 'speakingInGroupCallAction':\n return 'speak_call'\n case 'sendMessageHistoryImportAction':\n return 'history_import'\n case 'sendMessageChooseStickerAction':\n return 'sticker'\n case 'sendMessageEmojiInteraction':\n return 'interaction'\n case 'sendMessageEmojiInteractionSeen':\n return 'interaction_seen'\n default:\n assertNever(this.raw.action)\n }\n }\n}\n\nmakeInspectable(UserTypingUpdate)\n"]}
1
+ {"version":3,"file":"user-typing-update.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/updates/user-typing-update.ts"],"names":[],"mappings":";;;AAGA,sDAAqD;AACrD,gEAAiF;AACjF,mDAAsD;AAGtD;;;;GAIG;AACH,MAAa,gBAAgB;IACJ;IAArB,YAAqB,GAAwF;QAAxF,QAAG,GAAH,GAAG,CAAqF;IAAG,CAAC;IAEjH;;OAEG;IACH,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAA,6BAAa,EAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAC/F,CAAC;IAED;;;;;OAKG;IACH,IAAI,MAAM;QACN,QAAQ,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACjB,KAAK,kBAAkB;gBACnB,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAA;YAC1B,KAAK,sBAAsB;gBACvB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAA;YAC3B,KAAK,yBAAyB;gBAC1B,OAAO,IAAA,mCAAmB,EAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QACtD,CAAC;IACL,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACR,QAAQ,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACjB,KAAK,kBAAkB;gBACnB,OAAO,MAAM,CAAA;YACjB,KAAK,sBAAsB;gBACvB,OAAO,MAAM,CAAA;YACjB,KAAK,yBAAyB;gBAC1B,OAAO,SAAS,CAAA;QACxB,CAAC;IACL,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACN,QAAQ,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YACxB,KAAK,yBAAyB;gBAC1B,OAAO,QAAQ,CAAA;YACnB,KAAK,yBAAyB;gBAC1B,OAAO,QAAQ,CAAA;YACnB,KAAK,8BAA8B;gBAC/B,OAAO,cAAc,CAAA;YACzB,KAAK,8BAA8B;gBAC/B,OAAO,cAAc,CAAA;YACzB,KAAK,8BAA8B;gBAC/B,OAAO,cAAc,CAAA;YACzB,KAAK,8BAA8B;gBAC/B,OAAO,cAAc,CAAA;YACzB,KAAK,8BAA8B;gBAC/B,OAAO,cAAc,CAAA;YACzB,KAAK,iCAAiC;gBAClC,OAAO,iBAAiB,CAAA;YAC5B,KAAK,8BAA8B;gBAC/B,OAAO,KAAK,CAAA;YAChB,KAAK,2BAA2B;gBAC5B,OAAO,MAAM,CAAA;YACjB,KAAK,gCAAgC;gBACjC,OAAO,SAAS,CAAA;YACpB,KAAK,8BAA8B;gBAC/B,OAAO,cAAc,CAAA;YACzB,KAAK,8BAA8B;gBAC/B,OAAO,cAAc,CAAA;YACzB,KAAK,2BAA2B;gBAC5B,OAAO,YAAY,CAAA;YACvB,KAAK,gCAAgC;gBACjC,OAAO,gBAAgB,CAAA;YAC3B,KAAK,gCAAgC;gBACjC,OAAO,SAAS,CAAA;YACpB,KAAK,6BAA6B;gBAC9B,OAAO,aAAa,CAAA;YACxB,KAAK,iCAAiC;gBAClC,OAAO,kBAAkB,CAAA;YAC7B;gBACI,IAAA,sBAAW,EAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACpC,CAAC;IACL,CAAC;CACJ;AAtFD,4CAsFC;AAED,IAAA,0BAAe,EAAC,gBAAgB,CAAC,CAAA","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { BasicPeerType } from '../../../types/peers.js'\nimport { assertNever } from '../../../types/utils.js'\nimport { getBarePeerId, toggleChannelIdMark } from '../../../utils/peer-utils.js'\nimport { makeInspectable } from '../../utils/index.js'\nimport { TypingStatus } from '../peers/index.js'\n\n/**\n * User's typing status has changed.\n *\n * This update is valid for 6 seconds.\n */\nexport class UserTypingUpdate {\n constructor(readonly raw: tl.RawUpdateUserTyping | tl.RawUpdateChatUserTyping | tl.RawUpdateChannelUserTyping) {}\n\n /**\n * ID of the user whose typing status changed\n */\n get userId(): number {\n return this.raw._ === 'updateUserTyping' ? this.raw.userId : getBarePeerId(this.raw.fromId)\n }\n\n /**\n * Marked ID of the chat where the user is typing,\n *\n * If the user is typing in PMs, this will\n * equal to {@link userId}\n */\n get chatId(): number {\n switch (this.raw._) {\n case 'updateUserTyping':\n return this.raw.userId\n case 'updateChatUserTyping':\n return -this.raw.chatId\n case 'updateChannelUserTyping':\n return toggleChannelIdMark(this.raw.channelId)\n }\n }\n\n /**\n * Type of the chat where this event has occurred\n */\n get chatType(): BasicPeerType {\n switch (this.raw._) {\n case 'updateUserTyping':\n return 'user'\n case 'updateChatUserTyping':\n return 'chat'\n case 'updateChannelUserTyping':\n return 'channel'\n }\n }\n\n /**\n * Current typing status\n */\n get status(): TypingStatus {\n switch (this.raw.action._) {\n case 'sendMessageTypingAction':\n return 'typing'\n case 'sendMessageCancelAction':\n return 'cancel'\n case 'sendMessageRecordVideoAction':\n return 'record_video'\n case 'sendMessageUploadVideoAction':\n return 'upload_video'\n case 'sendMessageRecordAudioAction':\n return 'record_voice'\n case 'sendMessageUploadAudioAction':\n return 'upload_voice'\n case 'sendMessageUploadPhotoAction':\n return 'upload_photo'\n case 'sendMessageUploadDocumentAction':\n return 'upload_document'\n case 'sendMessageGeoLocationAction':\n return 'geo'\n case 'sendMessageGamePlayAction':\n return 'game'\n case 'sendMessageChooseContactAction':\n return 'contact'\n case 'sendMessageRecordRoundAction':\n return 'record_round'\n case 'sendMessageUploadRoundAction':\n return 'upload_round'\n case 'speakingInGroupCallAction':\n return 'speak_call'\n case 'sendMessageHistoryImportAction':\n return 'history_import'\n case 'sendMessageChooseStickerAction':\n return 'sticker'\n case 'sendMessageEmojiInteraction':\n return 'interaction'\n case 'sendMessageEmojiInteractionSeen':\n return 'interaction_seen'\n default:\n assertNever(this.raw.action)\n }\n }\n}\n\nmakeInspectable(UserTypingUpdate)\n"]}
@@ -1,4 +1,4 @@
1
- /// <reference types="node" resolution-mode="require"/>
1
+
2
2
  import { tl } from '@mtcute/tl';
3
3
  import { AsyncLock, ConditionVariable, Deque, EarlyTimer, SortedLinkedList } from '../../utils/index.js';
4
4
  import { BaseTelegramClient } from '../base.js';