@mtcute/core 0.11.0 → 0.12.1

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 (471) hide show
  1. package/cjs/highlevel/client.d.ts +198 -18
  2. package/cjs/highlevel/client.js +53 -0
  3. package/cjs/highlevel/client.js.map +1 -1
  4. package/cjs/highlevel/methods/_imports.js.map +1 -1
  5. package/cjs/highlevel/methods/auth/utils.d.ts +3 -0
  6. package/cjs/highlevel/methods/bots/normalize-command-scope.d.ts +5 -1
  7. package/cjs/highlevel/methods/chats/batched-queries.d.ts +10 -1
  8. package/cjs/highlevel/methods/chats/get-full-chat.d.ts +2 -2
  9. package/cjs/highlevel/methods/chats/get-full-chat.js +1 -1
  10. package/cjs/highlevel/methods/chats/get-full-chat.js.map +1 -1
  11. package/cjs/highlevel/methods/dialogs/get-folders.d.ts +3 -0
  12. package/cjs/highlevel/methods/files/normalize-file-to-document.d.ts +9 -1
  13. package/cjs/highlevel/methods/files/normalize-input-media.d.ts +1 -0
  14. package/cjs/highlevel/methods/files/normalize-input-media.js +11 -10
  15. package/cjs/highlevel/methods/files/normalize-input-media.js.map +1 -1
  16. package/cjs/highlevel/methods/messages/_business-connection.d.ts +7 -0
  17. package/cjs/highlevel/methods/messages/_business-connection.js +42 -0
  18. package/cjs/highlevel/methods/messages/_business-connection.js.map +1 -0
  19. package/cjs/highlevel/methods/messages/close-poll.js +1 -1
  20. package/cjs/highlevel/methods/messages/close-poll.js.map +1 -1
  21. package/cjs/highlevel/methods/messages/edit-message.d.ts +1 -0
  22. package/cjs/highlevel/methods/messages/edit-message.js +2 -1
  23. package/cjs/highlevel/methods/messages/edit-message.js.map +1 -1
  24. package/cjs/highlevel/methods/messages/find-in-update.d.ts +13 -1
  25. package/cjs/highlevel/methods/messages/find-in-update.js +7 -2
  26. package/cjs/highlevel/methods/messages/find-in-update.js.map +1 -1
  27. package/cjs/highlevel/methods/messages/forward-messages.d.ts +5 -0
  28. package/cjs/highlevel/methods/messages/forward-messages.js +2 -0
  29. package/cjs/highlevel/methods/messages/forward-messages.js.map +1 -1
  30. package/cjs/highlevel/methods/messages/get-all-scheduled-messages.d.ts +8 -0
  31. package/cjs/highlevel/methods/messages/get-all-scheduled-messages.js +32 -0
  32. package/cjs/highlevel/methods/messages/get-all-scheduled-messages.js.map +1 -0
  33. package/cjs/highlevel/methods/messages/get-discussion-message.d.ts +4 -0
  34. package/cjs/highlevel/methods/messages/iter-search-global.js +2 -1
  35. package/cjs/highlevel/methods/messages/iter-search-global.js.map +1 -1
  36. package/cjs/highlevel/methods/messages/search-global.d.ts +4 -0
  37. package/cjs/highlevel/methods/messages/search-global.js +2 -1
  38. package/cjs/highlevel/methods/messages/search-global.js.map +1 -1
  39. package/cjs/highlevel/methods/messages/send-common.d.ts +28 -0
  40. package/cjs/highlevel/methods/messages/send-common.js +21 -1
  41. package/cjs/highlevel/methods/messages/send-common.js.map +1 -1
  42. package/cjs/highlevel/methods/messages/send-media-group.js +5 -2
  43. package/cjs/highlevel/methods/messages/send-media-group.js.map +1 -1
  44. package/cjs/highlevel/methods/messages/send-media.js +4 -2
  45. package/cjs/highlevel/methods/messages/send-media.js.map +1 -1
  46. package/cjs/highlevel/methods/messages/send-text.js +4 -2
  47. package/cjs/highlevel/methods/messages/send-text.js.map +1 -1
  48. package/cjs/highlevel/methods/messages/send-typing.d.ts +4 -0
  49. package/cjs/highlevel/methods/messages/send-typing.js +2 -1
  50. package/cjs/highlevel/methods/messages/send-typing.js.map +1 -1
  51. package/cjs/highlevel/methods/misc/chain-id.d.ts +4 -1
  52. package/cjs/highlevel/methods/misc/get-collectible-info.d.ts +6 -0
  53. package/cjs/highlevel/methods/misc/get-collectible-info.js +26 -0
  54. package/cjs/highlevel/methods/misc/get-collectible-info.js.map +1 -0
  55. package/cjs/highlevel/methods/misc/normalize-text.d.ts +5 -1
  56. package/cjs/highlevel/methods/premium/create-business-chat-link.d.ts +12 -0
  57. package/cjs/highlevel/methods/premium/create-business-chat-link.js +26 -0
  58. package/cjs/highlevel/methods/premium/create-business-chat-link.js.map +1 -0
  59. package/cjs/highlevel/methods/premium/edit-business-chat-link.d.ts +20 -0
  60. package/cjs/highlevel/methods/premium/edit-business-chat-link.js +42 -0
  61. package/cjs/highlevel/methods/premium/edit-business-chat-link.js.map +1 -0
  62. package/cjs/highlevel/methods/premium/get-business-chat-links.d.ts +6 -0
  63. package/cjs/highlevel/methods/premium/get-business-chat-links.js +14 -0
  64. package/cjs/highlevel/methods/premium/get-business-chat-links.js.map +1 -0
  65. package/cjs/highlevel/methods/premium/get-business-connection.d.ts +8 -0
  66. package/cjs/highlevel/methods/premium/get-business-connection.js +25 -0
  67. package/cjs/highlevel/methods/premium/get-business-connection.js.map +1 -0
  68. package/cjs/highlevel/methods/premium/set-business-intro.d.ts +22 -0
  69. package/cjs/highlevel/methods/premium/set-business-intro.js +42 -0
  70. package/cjs/highlevel/methods/premium/set-business-intro.js.map +1 -0
  71. package/cjs/highlevel/methods/premium/set-business-work-hours.d.ts +18 -0
  72. package/cjs/highlevel/methods/premium/set-business-work-hours.js +33 -0
  73. package/cjs/highlevel/methods/premium/set-business-work-hours.js.map +1 -0
  74. package/cjs/highlevel/methods/stickers/_utils.d.ts +10 -0
  75. package/cjs/highlevel/methods/stickers/_utils.js +27 -0
  76. package/cjs/highlevel/methods/stickers/_utils.js.map +1 -0
  77. package/cjs/highlevel/methods/stickers/add-sticker-to-set.d.ts +1 -2
  78. package/cjs/highlevel/methods/stickers/add-sticker-to-set.js +3 -17
  79. package/cjs/highlevel/methods/stickers/add-sticker-to-set.js.map +1 -1
  80. package/cjs/highlevel/methods/stickers/create-sticker-set.d.ts +0 -3
  81. package/cjs/highlevel/methods/stickers/create-sticker-set.js +2 -19
  82. package/cjs/highlevel/methods/stickers/create-sticker-set.js.map +1 -1
  83. package/cjs/highlevel/methods/stickers/delete-sticker-from-set.d.ts +1 -2
  84. package/cjs/highlevel/methods/stickers/delete-sticker-from-set.js +1 -2
  85. package/cjs/highlevel/methods/stickers/delete-sticker-from-set.js.map +1 -1
  86. package/cjs/highlevel/methods/stickers/get-installed-stickers.d.ts +1 -2
  87. package/cjs/highlevel/methods/stickers/get-installed-stickers.js +1 -2
  88. package/cjs/highlevel/methods/stickers/get-installed-stickers.js.map +1 -1
  89. package/cjs/highlevel/methods/stickers/get-my-sticker-sets.d.ts +13 -0
  90. package/cjs/highlevel/methods/stickers/get-my-sticker-sets.js +24 -0
  91. package/cjs/highlevel/methods/stickers/get-my-sticker-sets.js.map +1 -0
  92. package/cjs/highlevel/methods/stickers/get-sticker-set.d.ts +2 -2
  93. package/cjs/highlevel/methods/stickers/get-sticker-set.js +2 -2
  94. package/cjs/highlevel/methods/stickers/get-sticker-set.js.map +1 -1
  95. package/cjs/highlevel/methods/stickers/move-sticker-in-set.d.ts +2 -3
  96. package/cjs/highlevel/methods/stickers/move-sticker-in-set.js +2 -3
  97. package/cjs/highlevel/methods/stickers/move-sticker-in-set.js.map +1 -1
  98. package/cjs/highlevel/methods/stickers/replace-sticker-in-set.d.ts +24 -0
  99. package/cjs/highlevel/methods/stickers/replace-sticker-in-set.js +32 -0
  100. package/cjs/highlevel/methods/stickers/replace-sticker-in-set.js.map +1 -0
  101. package/cjs/highlevel/methods/stories/find-in-update.d.ts +5 -1
  102. package/cjs/highlevel/methods/users/set-my-birthday.d.ts +12 -0
  103. package/cjs/highlevel/methods/users/set-my-birthday.js +22 -0
  104. package/cjs/highlevel/methods/users/set-my-birthday.js.map +1 -0
  105. package/cjs/highlevel/methods.d.ts +12 -0
  106. package/cjs/highlevel/methods.js +33 -3
  107. package/cjs/highlevel/methods.js.map +1 -1
  108. package/cjs/highlevel/storage/storage.d.ts +7 -2
  109. package/cjs/highlevel/types/auth/sent-code.d.ts +7 -2
  110. package/cjs/highlevel/types/auth/sent-code.js +14 -0
  111. package/cjs/highlevel/types/auth/sent-code.js.map +1 -1
  112. package/cjs/highlevel/types/bots/inline-message/factories.d.ts +5 -1
  113. package/cjs/highlevel/types/bots/inline-result/factories.d.ts +4 -1
  114. package/cjs/highlevel/types/bots/keyboards/factories.d.ts +7 -1
  115. package/cjs/highlevel/types/calls/discard-reason.d.ts +5 -0
  116. package/cjs/highlevel/types/files/uploaded-file.d.ts +2 -0
  117. package/cjs/highlevel/types/files/utils.d.ts +6 -5
  118. package/cjs/highlevel/types/files/utils.js.map +1 -1
  119. package/cjs/highlevel/types/media/document-utils.d.ts +5 -0
  120. package/cjs/highlevel/types/media/document-utils.js +9 -2
  121. package/cjs/highlevel/types/media/document-utils.js.map +1 -1
  122. package/cjs/highlevel/types/media/input-media/types.d.ts +2 -2
  123. package/cjs/highlevel/types/media/input-media/types.js.map +1 -1
  124. package/cjs/highlevel/types/media/poll.d.ts +17 -6
  125. package/cjs/highlevel/types/media/poll.js +65 -18
  126. package/cjs/highlevel/types/media/poll.js.map +1 -1
  127. package/cjs/highlevel/types/messages/dialog.js +1 -12
  128. package/cjs/highlevel/types/messages/dialog.js.map +1 -1
  129. package/cjs/highlevel/types/messages/input-message-id.d.ts +5 -0
  130. package/cjs/highlevel/types/messages/message-action.d.ts +19 -2
  131. package/cjs/highlevel/types/messages/message-action.js +6 -0
  132. package/cjs/highlevel/types/messages/message-action.js.map +1 -1
  133. package/cjs/highlevel/types/messages/message-media.d.ts +4 -0
  134. package/cjs/highlevel/types/messages/message.d.ts +59 -1
  135. package/cjs/highlevel/types/messages/message.js +96 -1
  136. package/cjs/highlevel/types/messages/message.js.map +1 -1
  137. package/cjs/highlevel/types/misc/collectible-info.d.ts +27 -0
  138. package/cjs/highlevel/types/misc/collectible-info.js +46 -0
  139. package/cjs/highlevel/types/misc/collectible-info.js.map +1 -0
  140. package/cjs/highlevel/types/misc/entities.d.ts +7 -0
  141. package/cjs/highlevel/types/misc/entities.js +15 -0
  142. package/cjs/highlevel/types/misc/entities.js.map +1 -1
  143. package/cjs/highlevel/types/misc/index.d.ts +1 -0
  144. package/cjs/highlevel/types/misc/index.js +1 -0
  145. package/cjs/highlevel/types/misc/index.js.map +1 -1
  146. package/cjs/highlevel/types/misc/sticker-set.d.ts +8 -1
  147. package/cjs/highlevel/types/misc/sticker-set.js +36 -5
  148. package/cjs/highlevel/types/misc/sticker-set.js.map +1 -1
  149. package/cjs/highlevel/types/peers/chat-event/actions.d.ts +3 -0
  150. package/cjs/highlevel/types/peers/chat-event/filters.d.ts +2 -0
  151. package/cjs/highlevel/types/peers/chat.d.ts +7 -93
  152. package/cjs/highlevel/types/peers/chat.js +2 -195
  153. package/cjs/highlevel/types/peers/chat.js.map +1 -1
  154. package/cjs/highlevel/types/peers/full-chat.d.ts +103 -0
  155. package/cjs/highlevel/types/peers/full-chat.js +237 -0
  156. package/cjs/highlevel/types/peers/full-chat.js.map +1 -0
  157. package/cjs/highlevel/types/peers/index.d.ts +1 -0
  158. package/cjs/highlevel/types/peers/index.js +1 -0
  159. package/cjs/highlevel/types/peers/index.js.map +1 -1
  160. package/cjs/highlevel/types/peers/user.d.ts +5 -0
  161. package/cjs/highlevel/types/peers/user.js +7 -0
  162. package/cjs/highlevel/types/peers/user.js.map +1 -1
  163. package/cjs/highlevel/types/premium/business-account.d.ts +19 -0
  164. package/cjs/highlevel/types/premium/business-account.js +45 -0
  165. package/cjs/highlevel/types/premium/business-account.js.map +1 -0
  166. package/cjs/highlevel/types/premium/business-chat-link.d.ts +19 -0
  167. package/cjs/highlevel/types/premium/business-chat-link.js +39 -0
  168. package/cjs/highlevel/types/premium/business-chat-link.js.map +1 -0
  169. package/cjs/highlevel/types/premium/business-connection.d.ts +23 -0
  170. package/cjs/highlevel/types/premium/business-connection.js +45 -0
  171. package/cjs/highlevel/types/premium/business-connection.js.map +1 -0
  172. package/cjs/highlevel/types/premium/business-intro.d.ts +22 -0
  173. package/cjs/highlevel/types/premium/business-intro.js +43 -0
  174. package/cjs/highlevel/types/premium/business-intro.js.map +1 -0
  175. package/cjs/highlevel/types/premium/business-location.d.ts +10 -0
  176. package/cjs/highlevel/types/premium/business-location.js +26 -0
  177. package/cjs/highlevel/types/premium/business-location.js.map +1 -0
  178. package/cjs/highlevel/types/premium/business-work-hours.d.ts +42 -0
  179. package/cjs/highlevel/types/premium/business-work-hours.js +141 -0
  180. package/cjs/highlevel/types/premium/business-work-hours.js.map +1 -0
  181. package/cjs/highlevel/types/premium/index.d.ts +5 -0
  182. package/cjs/highlevel/types/premium/index.js +5 -0
  183. package/cjs/highlevel/types/premium/index.js.map +1 -1
  184. package/cjs/highlevel/types/updates/business-message.d.ts +18 -0
  185. package/cjs/highlevel/types/updates/business-message.js +35 -0
  186. package/cjs/highlevel/types/updates/business-message.js.map +1 -0
  187. package/cjs/highlevel/types/updates/delete-business-message-update.d.ts +21 -0
  188. package/cjs/highlevel/types/updates/delete-business-message-update.js +37 -0
  189. package/cjs/highlevel/types/updates/delete-business-message-update.js.map +1 -0
  190. package/cjs/highlevel/types/updates/index.d.ts +19 -2
  191. package/cjs/highlevel/types/updates/index.js +5 -1
  192. package/cjs/highlevel/types/updates/index.js.map +1 -1
  193. package/cjs/highlevel/types/updates/parse-update.d.ts +4 -1
  194. package/cjs/highlevel/types/updates/parse-update.js +8 -0
  195. package/cjs/highlevel/types/updates/parse-update.js.map +1 -1
  196. package/cjs/highlevel/types/updates/poll-update.js +2 -2
  197. package/cjs/highlevel/types/updates/poll-update.js.map +1 -1
  198. package/cjs/highlevel/updates/manager.d.ts +0 -1
  199. package/cjs/highlevel/updates/manager.js +7 -2
  200. package/cjs/highlevel/updates/manager.js.map +1 -1
  201. package/cjs/highlevel/updates/parsed.js +8 -2
  202. package/cjs/highlevel/updates/parsed.js.map +1 -1
  203. package/cjs/highlevel/updates/types.d.ts +57 -0
  204. package/cjs/highlevel/updates/utils.d.ts +2 -0
  205. package/cjs/highlevel/utils/inspectable.js +7 -0
  206. package/cjs/highlevel/utils/inspectable.js.map +1 -1
  207. package/cjs/highlevel/worker/index.js +6 -0
  208. package/cjs/highlevel/worker/protocol.d.ts +0 -1
  209. package/cjs/index.js +6 -0
  210. package/cjs/network/client.d.ts +2 -2
  211. package/cjs/network/client.js +9 -1
  212. package/cjs/network/client.js.map +1 -1
  213. package/cjs/network/mtproto-session.d.ts +0 -1
  214. package/cjs/network/multi-session-connection.d.ts +0 -1
  215. package/cjs/network/network-manager.d.ts +8 -0
  216. package/cjs/network/network-manager.js +9 -4
  217. package/cjs/network/network-manager.js.map +1 -1
  218. package/cjs/network/persistent-connection.d.ts +0 -1
  219. package/cjs/network/session-connection.js +11 -0
  220. package/cjs/network/session-connection.js.map +1 -1
  221. package/cjs/network/transports/abstract.d.ts +0 -1
  222. package/cjs/network/transports/streamed.d.ts +0 -1
  223. package/cjs/network/transports/wrapped.d.ts +0 -1
  224. package/cjs/platform.js +6 -0
  225. package/cjs/storage/sqlite/repository/peers.js +1 -2
  226. package/cjs/storage/sqlite/repository/peers.js.map +1 -1
  227. package/cjs/storage/storage.d.ts +21 -0
  228. package/cjs/types/utils.d.ts +1 -0
  229. package/cjs/types/utils.js.map +1 -1
  230. package/cjs/utils/index.js +6 -0
  231. package/cjs/utils/reloadable.d.ts +0 -1
  232. package/client.d.ts +1 -0
  233. package/client.js +1 -0
  234. package/esm/highlevel/client.d.ts +198 -18
  235. package/esm/highlevel/client.js +47 -0
  236. package/esm/highlevel/client.js.map +1 -1
  237. package/esm/highlevel/methods/_imports.js.map +1 -1
  238. package/esm/highlevel/methods/auth/utils.d.ts +3 -0
  239. package/esm/highlevel/methods/bots/normalize-command-scope.d.ts +5 -1
  240. package/esm/highlevel/methods/chats/batched-queries.d.ts +10 -1
  241. package/esm/highlevel/methods/chats/get-full-chat.d.ts +2 -2
  242. package/esm/highlevel/methods/chats/get-full-chat.js +2 -2
  243. package/esm/highlevel/methods/chats/get-full-chat.js.map +1 -1
  244. package/esm/highlevel/methods/dialogs/get-folders.d.ts +3 -0
  245. package/esm/highlevel/methods/files/normalize-file-to-document.d.ts +9 -1
  246. package/esm/highlevel/methods/files/normalize-input-media.d.ts +1 -0
  247. package/esm/highlevel/methods/files/normalize-input-media.js +11 -10
  248. package/esm/highlevel/methods/files/normalize-input-media.js.map +1 -1
  249. package/esm/highlevel/methods/messages/_business-connection.d.ts +7 -0
  250. package/esm/highlevel/methods/messages/_business-connection.js +38 -0
  251. package/esm/highlevel/methods/messages/_business-connection.js.map +1 -0
  252. package/esm/highlevel/methods/messages/close-poll.js +1 -1
  253. package/esm/highlevel/methods/messages/close-poll.js.map +1 -1
  254. package/esm/highlevel/methods/messages/edit-message.d.ts +1 -0
  255. package/esm/highlevel/methods/messages/edit-message.js +2 -1
  256. package/esm/highlevel/methods/messages/edit-message.js.map +1 -1
  257. package/esm/highlevel/methods/messages/find-in-update.d.ts +13 -1
  258. package/esm/highlevel/methods/messages/find-in-update.js +7 -2
  259. package/esm/highlevel/methods/messages/find-in-update.js.map +1 -1
  260. package/esm/highlevel/methods/messages/forward-messages.d.ts +5 -0
  261. package/esm/highlevel/methods/messages/forward-messages.js +2 -0
  262. package/esm/highlevel/methods/messages/forward-messages.js.map +1 -1
  263. package/esm/highlevel/methods/messages/get-all-scheduled-messages.d.ts +8 -0
  264. package/esm/highlevel/methods/messages/get-all-scheduled-messages.js +25 -0
  265. package/esm/highlevel/methods/messages/get-all-scheduled-messages.js.map +1 -0
  266. package/esm/highlevel/methods/messages/get-discussion-message.d.ts +4 -0
  267. package/esm/highlevel/methods/messages/iter-search-global.js +2 -1
  268. package/esm/highlevel/methods/messages/iter-search-global.js.map +1 -1
  269. package/esm/highlevel/methods/messages/search-global.d.ts +4 -0
  270. package/esm/highlevel/methods/messages/search-global.js +2 -1
  271. package/esm/highlevel/methods/messages/search-global.js.map +1 -1
  272. package/esm/highlevel/methods/messages/send-common.d.ts +28 -0
  273. package/esm/highlevel/methods/messages/send-common.js +19 -0
  274. package/esm/highlevel/methods/messages/send-common.js.map +1 -1
  275. package/esm/highlevel/methods/messages/send-media-group.js +5 -2
  276. package/esm/highlevel/methods/messages/send-media-group.js.map +1 -1
  277. package/esm/highlevel/methods/messages/send-media.js +4 -2
  278. package/esm/highlevel/methods/messages/send-media.js.map +1 -1
  279. package/esm/highlevel/methods/messages/send-text.js +4 -2
  280. package/esm/highlevel/methods/messages/send-text.js.map +1 -1
  281. package/esm/highlevel/methods/messages/send-typing.d.ts +4 -0
  282. package/esm/highlevel/methods/messages/send-typing.js +2 -1
  283. package/esm/highlevel/methods/messages/send-typing.js.map +1 -1
  284. package/esm/highlevel/methods/misc/chain-id.d.ts +4 -1
  285. package/esm/highlevel/methods/misc/get-collectible-info.d.ts +6 -0
  286. package/esm/highlevel/methods/misc/get-collectible-info.js +22 -0
  287. package/esm/highlevel/methods/misc/get-collectible-info.js.map +1 -0
  288. package/esm/highlevel/methods/misc/normalize-text.d.ts +5 -1
  289. package/esm/highlevel/methods/premium/create-business-chat-link.d.ts +12 -0
  290. package/esm/highlevel/methods/premium/create-business-chat-link.js +22 -0
  291. package/esm/highlevel/methods/premium/create-business-chat-link.js.map +1 -0
  292. package/esm/highlevel/methods/premium/edit-business-chat-link.d.ts +20 -0
  293. package/esm/highlevel/methods/premium/edit-business-chat-link.js +37 -0
  294. package/esm/highlevel/methods/premium/edit-business-chat-link.js.map +1 -0
  295. package/esm/highlevel/methods/premium/get-business-chat-links.d.ts +6 -0
  296. package/esm/highlevel/methods/premium/get-business-chat-links.js +10 -0
  297. package/esm/highlevel/methods/premium/get-business-chat-links.js.map +1 -0
  298. package/esm/highlevel/methods/premium/get-business-connection.d.ts +8 -0
  299. package/esm/highlevel/methods/premium/get-business-connection.js +21 -0
  300. package/esm/highlevel/methods/premium/get-business-connection.js.map +1 -0
  301. package/esm/highlevel/methods/premium/set-business-intro.d.ts +22 -0
  302. package/esm/highlevel/methods/premium/set-business-intro.js +38 -0
  303. package/esm/highlevel/methods/premium/set-business-intro.js.map +1 -0
  304. package/esm/highlevel/methods/premium/set-business-work-hours.d.ts +18 -0
  305. package/esm/highlevel/methods/premium/set-business-work-hours.js +29 -0
  306. package/esm/highlevel/methods/premium/set-business-work-hours.js.map +1 -0
  307. package/esm/highlevel/methods/stickers/_utils.d.ts +10 -0
  308. package/esm/highlevel/methods/stickers/_utils.js +23 -0
  309. package/esm/highlevel/methods/stickers/_utils.js.map +1 -0
  310. package/esm/highlevel/methods/stickers/add-sticker-to-set.d.ts +1 -2
  311. package/esm/highlevel/methods/stickers/add-sticker-to-set.js +4 -18
  312. package/esm/highlevel/methods/stickers/add-sticker-to-set.js.map +1 -1
  313. package/esm/highlevel/methods/stickers/create-sticker-set.d.ts +0 -3
  314. package/esm/highlevel/methods/stickers/create-sticker-set.js +3 -20
  315. package/esm/highlevel/methods/stickers/create-sticker-set.js.map +1 -1
  316. package/esm/highlevel/methods/stickers/delete-sticker-from-set.d.ts +1 -2
  317. package/esm/highlevel/methods/stickers/delete-sticker-from-set.js +1 -2
  318. package/esm/highlevel/methods/stickers/delete-sticker-from-set.js.map +1 -1
  319. package/esm/highlevel/methods/stickers/get-installed-stickers.d.ts +1 -2
  320. package/esm/highlevel/methods/stickers/get-installed-stickers.js +1 -2
  321. package/esm/highlevel/methods/stickers/get-installed-stickers.js.map +1 -1
  322. package/esm/highlevel/methods/stickers/get-my-sticker-sets.d.ts +13 -0
  323. package/esm/highlevel/methods/stickers/get-my-sticker-sets.js +17 -0
  324. package/esm/highlevel/methods/stickers/get-my-sticker-sets.js.map +1 -0
  325. package/esm/highlevel/methods/stickers/get-sticker-set.d.ts +2 -2
  326. package/esm/highlevel/methods/stickers/get-sticker-set.js +2 -2
  327. package/esm/highlevel/methods/stickers/get-sticker-set.js.map +1 -1
  328. package/esm/highlevel/methods/stickers/move-sticker-in-set.d.ts +2 -3
  329. package/esm/highlevel/methods/stickers/move-sticker-in-set.js +2 -3
  330. package/esm/highlevel/methods/stickers/move-sticker-in-set.js.map +1 -1
  331. package/esm/highlevel/methods/stickers/replace-sticker-in-set.d.ts +24 -0
  332. package/esm/highlevel/methods/stickers/replace-sticker-in-set.js +28 -0
  333. package/esm/highlevel/methods/stickers/replace-sticker-in-set.js.map +1 -0
  334. package/esm/highlevel/methods/stories/find-in-update.d.ts +5 -1
  335. package/esm/highlevel/methods/users/set-my-birthday.d.ts +12 -0
  336. package/esm/highlevel/methods/users/set-my-birthday.js +18 -0
  337. package/esm/highlevel/methods/users/set-my-birthday.js.map +1 -0
  338. package/esm/highlevel/methods.d.ts +12 -0
  339. package/esm/highlevel/methods.js +12 -0
  340. package/esm/highlevel/methods.js.map +1 -1
  341. package/esm/highlevel/storage/storage.d.ts +7 -2
  342. package/esm/highlevel/types/auth/sent-code.d.ts +7 -2
  343. package/esm/highlevel/types/auth/sent-code.js +14 -0
  344. package/esm/highlevel/types/auth/sent-code.js.map +1 -1
  345. package/esm/highlevel/types/bots/inline-message/factories.d.ts +5 -1
  346. package/esm/highlevel/types/bots/inline-result/factories.d.ts +4 -1
  347. package/esm/highlevel/types/bots/keyboards/factories.d.ts +7 -1
  348. package/esm/highlevel/types/calls/discard-reason.d.ts +5 -0
  349. package/esm/highlevel/types/files/uploaded-file.d.ts +2 -0
  350. package/esm/highlevel/types/files/utils.d.ts +6 -5
  351. package/esm/highlevel/types/files/utils.js.map +1 -1
  352. package/esm/highlevel/types/media/document-utils.d.ts +5 -0
  353. package/esm/highlevel/types/media/document-utils.js +7 -1
  354. package/esm/highlevel/types/media/document-utils.js.map +1 -1
  355. package/esm/highlevel/types/media/input-media/types.d.ts +2 -2
  356. package/esm/highlevel/types/media/input-media/types.js.map +1 -1
  357. package/esm/highlevel/types/media/poll.d.ts +17 -6
  358. package/esm/highlevel/types/media/poll.js +64 -17
  359. package/esm/highlevel/types/media/poll.js.map +1 -1
  360. package/esm/highlevel/types/messages/dialog.js +1 -12
  361. package/esm/highlevel/types/messages/dialog.js.map +1 -1
  362. package/esm/highlevel/types/messages/input-message-id.d.ts +5 -0
  363. package/esm/highlevel/types/messages/message-action.d.ts +19 -2
  364. package/esm/highlevel/types/messages/message-action.js +6 -0
  365. package/esm/highlevel/types/messages/message-action.js.map +1 -1
  366. package/esm/highlevel/types/messages/message-media.d.ts +4 -0
  367. package/esm/highlevel/types/messages/message.d.ts +59 -1
  368. package/esm/highlevel/types/messages/message.js +96 -1
  369. package/esm/highlevel/types/messages/message.js.map +1 -1
  370. package/esm/highlevel/types/misc/collectible-info.d.ts +27 -0
  371. package/esm/highlevel/types/misc/collectible-info.js +43 -0
  372. package/esm/highlevel/types/misc/collectible-info.js.map +1 -0
  373. package/esm/highlevel/types/misc/entities.d.ts +7 -0
  374. package/esm/highlevel/types/misc/entities.js +13 -1
  375. package/esm/highlevel/types/misc/entities.js.map +1 -1
  376. package/esm/highlevel/types/misc/index.d.ts +1 -0
  377. package/esm/highlevel/types/misc/index.js +1 -0
  378. package/esm/highlevel/types/misc/index.js.map +1 -1
  379. package/esm/highlevel/types/misc/sticker-set.d.ts +8 -1
  380. package/esm/highlevel/types/misc/sticker-set.js +38 -7
  381. package/esm/highlevel/types/misc/sticker-set.js.map +1 -1
  382. package/esm/highlevel/types/peers/chat-event/actions.d.ts +3 -0
  383. package/esm/highlevel/types/peers/chat-event/filters.d.ts +2 -0
  384. package/esm/highlevel/types/peers/chat.d.ts +7 -93
  385. package/esm/highlevel/types/peers/chat.js +2 -195
  386. package/esm/highlevel/types/peers/chat.js.map +1 -1
  387. package/esm/highlevel/types/peers/full-chat.d.ts +103 -0
  388. package/esm/highlevel/types/peers/full-chat.js +234 -0
  389. package/esm/highlevel/types/peers/full-chat.js.map +1 -0
  390. package/esm/highlevel/types/peers/index.d.ts +1 -0
  391. package/esm/highlevel/types/peers/index.js +1 -0
  392. package/esm/highlevel/types/peers/index.js.map +1 -1
  393. package/esm/highlevel/types/peers/user.d.ts +5 -0
  394. package/esm/highlevel/types/peers/user.js +7 -0
  395. package/esm/highlevel/types/peers/user.js.map +1 -1
  396. package/esm/highlevel/types/premium/business-account.d.ts +19 -0
  397. package/esm/highlevel/types/premium/business-account.js +42 -0
  398. package/esm/highlevel/types/premium/business-account.js.map +1 -0
  399. package/esm/highlevel/types/premium/business-chat-link.d.ts +19 -0
  400. package/esm/highlevel/types/premium/business-chat-link.js +36 -0
  401. package/esm/highlevel/types/premium/business-chat-link.js.map +1 -0
  402. package/esm/highlevel/types/premium/business-connection.d.ts +23 -0
  403. package/esm/highlevel/types/premium/business-connection.js +42 -0
  404. package/esm/highlevel/types/premium/business-connection.js.map +1 -0
  405. package/esm/highlevel/types/premium/business-intro.d.ts +22 -0
  406. package/esm/highlevel/types/premium/business-intro.js +40 -0
  407. package/esm/highlevel/types/premium/business-intro.js.map +1 -0
  408. package/esm/highlevel/types/premium/business-location.d.ts +10 -0
  409. package/esm/highlevel/types/premium/business-location.js +23 -0
  410. package/esm/highlevel/types/premium/business-location.js.map +1 -0
  411. package/esm/highlevel/types/premium/business-work-hours.d.ts +42 -0
  412. package/esm/highlevel/types/premium/business-work-hours.js +137 -0
  413. package/esm/highlevel/types/premium/business-work-hours.js.map +1 -0
  414. package/esm/highlevel/types/premium/index.d.ts +5 -0
  415. package/esm/highlevel/types/premium/index.js +5 -0
  416. package/esm/highlevel/types/premium/index.js.map +1 -1
  417. package/esm/highlevel/types/updates/business-message.d.ts +18 -0
  418. package/esm/highlevel/types/updates/business-message.js +31 -0
  419. package/esm/highlevel/types/updates/business-message.js.map +1 -0
  420. package/esm/highlevel/types/updates/delete-business-message-update.d.ts +21 -0
  421. package/esm/highlevel/types/updates/delete-business-message-update.js +34 -0
  422. package/esm/highlevel/types/updates/delete-business-message-update.js.map +1 -0
  423. package/esm/highlevel/types/updates/index.d.ts +19 -2
  424. package/esm/highlevel/types/updates/index.js +3 -1
  425. package/esm/highlevel/types/updates/index.js.map +1 -1
  426. package/esm/highlevel/types/updates/parse-update.d.ts +4 -1
  427. package/esm/highlevel/types/updates/parse-update.js +9 -1
  428. package/esm/highlevel/types/updates/parse-update.js.map +1 -1
  429. package/esm/highlevel/types/updates/poll-update.js +2 -2
  430. package/esm/highlevel/types/updates/poll-update.js.map +1 -1
  431. package/esm/highlevel/updates/manager.d.ts +0 -1
  432. package/esm/highlevel/updates/manager.js +7 -2
  433. package/esm/highlevel/updates/manager.js.map +1 -1
  434. package/esm/highlevel/updates/parsed.js +8 -2
  435. package/esm/highlevel/updates/parsed.js.map +1 -1
  436. package/esm/highlevel/updates/types.d.ts +57 -0
  437. package/esm/highlevel/updates/utils.d.ts +2 -0
  438. package/esm/highlevel/utils/inspectable.js +4 -0
  439. package/esm/highlevel/utils/inspectable.js.map +1 -1
  440. package/esm/highlevel/worker/protocol.d.ts +0 -1
  441. package/esm/network/client.d.ts +2 -2
  442. package/esm/network/client.js +9 -1
  443. package/esm/network/client.js.map +1 -1
  444. package/esm/network/mtproto-session.d.ts +0 -1
  445. package/esm/network/multi-session-connection.d.ts +0 -1
  446. package/esm/network/network-manager.d.ts +8 -0
  447. package/esm/network/network-manager.js +9 -4
  448. package/esm/network/network-manager.js.map +1 -1
  449. package/esm/network/persistent-connection.d.ts +0 -1
  450. package/esm/network/session-connection.js +11 -0
  451. package/esm/network/session-connection.js.map +1 -1
  452. package/esm/network/transports/abstract.d.ts +0 -1
  453. package/esm/network/transports/streamed.d.ts +0 -1
  454. package/esm/network/transports/wrapped.d.ts +0 -1
  455. package/esm/storage/sqlite/repository/peers.js +1 -2
  456. package/esm/storage/sqlite/repository/peers.js.map +1 -1
  457. package/esm/storage/storage.d.ts +21 -0
  458. package/esm/types/utils.d.ts +1 -0
  459. package/esm/types/utils.js.map +1 -1
  460. package/esm/utils/reloadable.d.ts +0 -1
  461. package/index.d.ts +1 -0
  462. package/index.js +1 -0
  463. package/methods.d.ts +1 -0
  464. package/methods.js +1 -0
  465. package/package.json +5 -5
  466. package/platform.d.ts +1 -0
  467. package/platform.js +1 -0
  468. package/utils.d.ts +1 -0
  469. package/utils.js +1 -0
  470. package/worker.d.ts +1 -0
  471. package/worker.js +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/misc/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,+BAA+B,CAAA;AAC7C,cAAc,kBAAkB,CAAA;AAChC,cAAc,sBAAsB,CAAA","sourcesContent":["export * from './app-config.js'\nexport * from './entities.js'\nexport * from './input-privacy-rule/index.js'\nexport * from './sticker-set.js'\nexport * from './takeout-session.js'\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/misc/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,uBAAuB,CAAA;AACrC,cAAc,eAAe,CAAA;AAC7B,cAAc,+BAA+B,CAAA;AAC7C,cAAc,kBAAkB,CAAA;AAChC,cAAc,sBAAsB,CAAA","sourcesContent":["export * from './app-config.js'\nexport * from './collectible-info.js'\nexport * from './entities.js'\nexport * from './input-privacy-rule/index.js'\nexport * from './sticker-set.js'\nexport * from './takeout-session.js'\n"]}
@@ -48,11 +48,12 @@ export interface StickerInfo {
48
48
  export declare class StickerSet {
49
49
  readonly brief: tl.RawStickerSet;
50
50
  readonly full?: tl.messages.RawStickerSet;
51
+ readonly cover?: tl.TypeStickerSetCovered;
51
52
  /**
52
53
  * Whether this object contains information about stickers inside the set
53
54
  */
54
55
  readonly isFull: boolean;
55
- constructor(raw: tl.TypeStickerSet | tl.messages.TypeStickerSet);
56
+ constructor(raw: tl.TypeStickerSet | tl.messages.TypeStickerSet | tl.TypeStickerSetCovered);
56
57
  /**
57
58
  * Whether this sticker set was archived
58
59
  * (due to too many saved stickers in the current account)
@@ -62,6 +63,10 @@ export declare class StickerSet {
62
63
  * Whether this stickerset is official
63
64
  */
64
65
  get isOfficial(): boolean;
66
+ /**
67
+ * Whether this sticker set was created by the current user
68
+ */
69
+ get isCreator(): boolean;
65
70
  /**
66
71
  * Type of the stickers in this set
67
72
  */
@@ -98,6 +103,8 @@ export declare class StickerSet {
98
103
  * In case this object does not contain info about stickers (i.e. {@link isFull} = false)
99
104
  */
100
105
  get stickers(): ReadonlyArray<StickerInfo>;
106
+ /** Cover stickers of the sticker set. Not the same as {@link thumbnails} */
107
+ get covers(): ReadonlyArray<Sticker>;
101
108
  /**
102
109
  * Available sticker set thumbnails.
103
110
  *
@@ -1,10 +1,11 @@
1
+ import { tl } from '@mtcute/tl';
1
2
  import { MtTypeAssertionError } from '../../../types/errors.js';
2
3
  import { LongMap } from '../../../utils/long-utils.js';
3
4
  import { makeInspectable } from '../../utils/index.js';
4
5
  import { memoizeGetters } from '../../utils/memoize.js';
5
6
  import { MtEmptyError } from '../errors.js';
6
- import { parseDocument } from '../media/document-utils.js';
7
- import { Sticker, Thumbnail } from '../media/index.js';
7
+ import { parseSticker } from '../media/document-utils.js';
8
+ import { Thumbnail } from '../media/index.js';
8
9
  export function normalizeInputStickerSet(input) {
9
10
  if (typeof input === 'string') {
10
11
  return {
@@ -39,12 +40,20 @@ export function normalizeInputStickerSet(input) {
39
40
  return { _: 'inputStickerSetEmojiChannelDefaultStatuses' };
40
41
  }
41
42
  }
43
+ function parseStickerOrThrow(doc) {
44
+ const sticker = parseSticker(doc);
45
+ if (!sticker) {
46
+ throw new MtTypeAssertionError('full.documents', 'sticker', 'not a sticker');
47
+ }
48
+ return sticker;
49
+ }
42
50
  /**
43
51
  * A sticker set (aka sticker pack)
44
52
  */
45
53
  class StickerSet {
46
54
  brief;
47
55
  full;
56
+ cover;
48
57
  /**
49
58
  * Whether this object contains information about stickers inside the set
50
59
  */
@@ -57,6 +66,10 @@ class StickerSet {
57
66
  else if (raw._ === 'stickerSet') {
58
67
  this.brief = raw;
59
68
  }
69
+ else if (tl.isAnyStickerSetCovered(raw)) {
70
+ this.cover = raw;
71
+ this.brief = raw.set;
72
+ }
60
73
  else {
61
74
  throw new MtTypeAssertionError('StickerSet', 'messages.stickerSet | stickerSet', raw._);
62
75
  }
@@ -75,6 +88,12 @@ class StickerSet {
75
88
  get isOfficial() {
76
89
  return this.brief.official;
77
90
  }
91
+ /**
92
+ * Whether this sticker set was created by the current user
93
+ */
94
+ get isCreator() {
95
+ return this.brief.creator;
96
+ }
78
97
  /**
79
98
  * Type of the stickers in this set
80
99
  */
@@ -141,15 +160,12 @@ class StickerSet {
141
160
  * In case this object does not contain info about stickers (i.e. {@link isFull} = false)
142
161
  */
143
162
  get stickers() {
144
- if (!this.isFull)
163
+ if (!this.full)
145
164
  throw new MtEmptyError();
146
165
  const stickers = [];
147
166
  const index = new LongMap();
148
167
  this.full.documents.forEach((doc) => {
149
- const sticker = parseDocument(doc);
150
- if (!(sticker instanceof Sticker)) {
151
- throw new MtTypeAssertionError('full.documents', 'Sticker', sticker.mimeType);
152
- }
168
+ const sticker = parseStickerOrThrow(doc);
153
169
  const info = {
154
170
  alt: sticker.emoji,
155
171
  emoji: '', // populated later
@@ -168,6 +184,21 @@ class StickerSet {
168
184
  });
169
185
  return stickers;
170
186
  }
187
+ /** Cover stickers of the sticker set. Not the same as {@link thumbnails} */
188
+ get covers() {
189
+ if (!this.cover)
190
+ return [];
191
+ switch (this.cover._) {
192
+ case 'stickerSetCovered':
193
+ return [parseStickerOrThrow(this.cover.cover)];
194
+ case 'stickerSetMultiCovered':
195
+ return this.cover.covers.map((it) => parseStickerOrThrow(it));
196
+ case 'stickerSetFullCovered':
197
+ return this.cover.documents.map((it) => parseStickerOrThrow(it));
198
+ case 'stickerSetNoCovered':
199
+ return [];
200
+ }
201
+ }
171
202
  /**
172
203
  * Available sticker set thumbnails.
173
204
  *
@@ -1 +1 @@
1
- {"version":3,"file":"sticker-set.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/misc/sticker-set.ts"],"names":[],"mappings":"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","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MtTypeAssertionError } from '../../../types/errors.js'\nimport { LongMap } from '../../../utils/long-utils.js'\nimport { makeInspectable } from '../../utils/index.js'\nimport { memoizeGetters } from '../../utils/memoize.js'\nimport { MtEmptyError } from '../errors.js'\nimport { InputFileLike } from '../files/index.js'\nimport { parseDocument } from '../media/document-utils.js'\nimport { MaskPosition, Sticker, StickerSourceType, StickerType, Thumbnail } from '../media/index.js'\n\n/**\n * Input sticker set.\n * Can be one of:\n * - Raw TL object\n * - Sticker set short name\n * - {@link StickerSet} object\n * - `{ dice: \"<emoji>\" }` (e.g. `{ dice: \"🎲\" }`) - Used for fetching animated dice stickers\n * - `{ system: string }` - for system stickersets:\n * - `\"animated\"` - Animated emojis stickerset\n * - `\"animated_animations\"` - Animated emoji reaction stickerset\n * (contains animations to play when a user clicks on a given animated emoji)\n * - `\"premium_gifts\"` - Stickers to show when receiving a gifted Telegram Premium subscription,\n * - `\"generic_animations\"` - Generic animation stickerset containing animations to play\n * when reacting to messages using a normal emoji without a custom animation\n * - `\"default_statuses\"` - Default custom emoji status stickerset\n * - `\"default_topic_icons\"` - Default custom emoji stickerset for forum topic icons\n * - `\"default_channel_statuses\"` - Default custom emoji status stickerset for channels\n */\nexport type InputStickerSet =\n | tl.TypeInputStickerSet\n | { dice: string }\n | {\n system:\n | 'animated'\n | 'animated_animations'\n | 'premium_gifts'\n | 'generic_animations'\n | 'default_statuses'\n | 'default_topic_icons'\n | 'default_channel_statuses'\n }\n | StickerSet\n | string\n\nexport function normalizeInputStickerSet(input: InputStickerSet): tl.TypeInputStickerSet {\n if (typeof input === 'string') {\n return {\n _: 'inputStickerSetShortName',\n shortName: input,\n }\n }\n if ('_' in input) return input\n if (input instanceof StickerSet) return input.inputStickerSet\n\n if ('dice' in input) {\n return {\n _: 'inputStickerSetDice',\n emoticon: input.dice,\n }\n }\n\n switch (input.system) {\n case 'animated':\n return { _: 'inputStickerSetAnimatedEmoji' }\n case 'animated_animations':\n return { _: 'inputStickerSetAnimatedEmojiAnimations' }\n case 'premium_gifts':\n return { _: 'inputStickerSetPremiumGifts' }\n case 'generic_animations':\n return { _: 'inputStickerSetEmojiGenericAnimations' }\n case 'default_statuses':\n return { _: 'inputStickerSetEmojiDefaultStatuses' }\n case 'default_topic_icons':\n return { _: 'inputStickerSetEmojiDefaultTopicIcons' }\n case 'default_channel_statuses':\n return { _: 'inputStickerSetEmojiChannelDefaultStatuses' }\n }\n}\n\n/**\n * Information about one sticker inside the set\n */\nexport interface StickerInfo {\n /**\n * Primary alt emoji that is displayed in dialogs list\n */\n readonly alt: string\n\n /**\n * One or more emojis representing this sticker\n */\n readonly emoji: string\n\n /**\n * Document with the actual sticker\n */\n readonly sticker: Sticker\n}\n\n/**\n * A sticker set (aka sticker pack)\n */\nexport class StickerSet {\n readonly brief: tl.RawStickerSet\n readonly full?: tl.messages.RawStickerSet\n\n /**\n * Whether this object contains information about stickers inside the set\n */\n readonly isFull: boolean\n\n constructor(raw: tl.TypeStickerSet | tl.messages.TypeStickerSet) {\n if (raw._ === 'messages.stickerSet') {\n this.full = raw\n this.brief = raw.set\n } else if (raw._ === 'stickerSet') {\n this.brief = raw\n } else {\n throw new MtTypeAssertionError('StickerSet', 'messages.stickerSet | stickerSet', raw._)\n }\n\n this.isFull = raw._ === 'messages.stickerSet'\n }\n\n /**\n * Whether this sticker set was archived\n * (due to too many saved stickers in the current account)\n */\n get isArchived(): boolean {\n return this.brief.archived!\n }\n\n /**\n * Whether this stickerset is official\n */\n get isOfficial(): boolean {\n return this.brief.official!\n }\n\n /**\n * Type of the stickers in this set\n */\n get type(): StickerType {\n if (this.brief.masks) {\n return 'mask'\n }\n\n if (this.brief.emojis) {\n return 'emoji'\n }\n\n return 'sticker'\n }\n\n /**\n * Source file type of the stickers in this set\n */\n get sourceType(): StickerSourceType {\n if (this.brief.animated) {\n return 'animated'\n }\n\n if (this.brief.videos) {\n return 'video'\n }\n\n return 'static'\n }\n\n /**\n * Date when this sticker set was installed\n */\n get installedDate(): Date | null {\n return this.brief.installedDate ? new Date(this.brief.installedDate * 1000) : null\n }\n\n /**\n * Number of stickers in this sticker set\n */\n get count(): number {\n return this.brief.count\n }\n\n /**\n * Input sticker set to be used in other API methods\n */\n get inputStickerSet(): tl.TypeInputStickerSet {\n return {\n _: 'inputStickerSetID',\n id: this.brief.id,\n accessHash: this.brief.accessHash,\n }\n }\n\n /**\n * Title of the sticker set\n */\n get title(): string {\n return this.brief.title\n }\n\n /**\n * Short name of sticker set to use in `tg://addstickers?set=short_name`\n * or `https://t.me/addstickers/short_name`\n */\n get shortName(): string {\n return this.brief.shortName\n }\n\n /**\n * List of stickers inside this sticker set\n *\n * @throws MtEmptyError\n * In case this object does not contain info about stickers (i.e. {@link isFull} = false)\n */\n get stickers(): ReadonlyArray<StickerInfo> {\n if (!this.isFull) throw new MtEmptyError()\n\n const stickers: StickerInfo[] = []\n const index = new LongMap<tl.Mutable<StickerInfo>>()\n\n this.full!.documents.forEach((doc) => {\n const sticker = parseDocument(doc as tl.RawDocument)\n\n if (!(sticker instanceof Sticker)) {\n throw new MtTypeAssertionError('full.documents', 'Sticker', sticker.mimeType)\n }\n\n const info: tl.Mutable<StickerInfo> = {\n alt: sticker.emoji,\n emoji: '', // populated later\n sticker,\n }\n stickers.push(info)\n index.set(doc.id, info)\n })\n\n this.full!.packs.forEach((pack) => {\n pack.documents.forEach((id) => {\n const item = index.get(id)\n\n if (item) {\n item.emoji += pack.emoticon\n }\n })\n })\n\n return stickers\n }\n\n /**\n * Available sticker set thumbnails.\n *\n * Returns empty array if not available\n * (i.e. first sticker should be used as thumbnail)\n */\n get thumbnails(): ReadonlyArray<Thumbnail> {\n return this.brief.thumbs?.map((sz) => new Thumbnail(this.brief, sz)) ?? []\n }\n\n /**\n * Get a sticker set thumbnail by its type.\n *\n * Thumbnail types are described in the\n * [Telegram docs](https://core.telegram.org/api/files#image-thumbnail-types),\n * and are also available as static members of {@link Thumbnail} for convenience.\n *\n * @param type Thumbnail type\n */\n getThumbnail(type: string): Thumbnail | null {\n return this.thumbnails.find((it) => it.type === type) ?? null\n }\n\n /**\n * Find stickers given their emoji.\n *\n * @param emoji Emoji to search for\n * @throws MtEmptyError\n * In case this object does not contain info about stickers (i.e. {@link isFull} = false)\n */\n getStickersByEmoji(emoji: string): StickerInfo[] {\n return this.stickers.filter((it) => it.alt === emoji || it.emoji.includes(emoji))\n }\n\n private _getInputDocument(idx: number): tl.TypeInputDocument {\n if (!this.full) throw new MtEmptyError()\n\n if (idx < 0) idx = this.full.documents.length + idx\n const doc = this.full.documents[idx] as tl.RawDocument\n\n if (!doc) {\n throw new RangeError(`Sticker set does not have sticker ${idx}`)\n }\n\n return {\n _: 'inputDocument',\n id: doc.id,\n accessHash: doc.accessHash,\n fileReference: doc.fileReference,\n }\n }\n}\n\nmemoizeGetters(StickerSet, ['thumbnails', 'stickers'])\nmakeInspectable(StickerSet, ['isFull'])\n\nexport interface InputStickerSetItem {\n /**\n * File containing the sticker.\n *\n * For normal stickers: must be a `.png` or `.webp` file\n * up to 512kb, having both dimensions `<=512px`, and having\n * one of the dimensions `==512px`\n *\n * For animated stickers: must be a `.tgs` file\n * up to 64kb, having canvas dimensions exactly\n * `512x512`px, duration no more than 3 seconds\n * and animated at 60fps ([source](https://core.telegram.org/animated_stickers#technical-requirements))\n */\n file: InputFileLike\n\n /**\n * One or more emojis that represent this sticker\n */\n emojis: string\n\n /**\n * In case this is a mask sticker,\n * position of the mask\n */\n maskPosition?: MaskPosition\n}\n"]}
1
+ {"version":3,"file":"sticker-set.js","sourceRoot":"","sources":["../../../../../src/highlevel/types/misc/sticker-set.ts"],"names":[],"mappings":"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","sourcesContent":["import { tl } from '@mtcute/tl'\n\nimport { MtTypeAssertionError } from '../../../types/errors.js'\nimport { LongMap } from '../../../utils/long-utils.js'\nimport { makeInspectable } from '../../utils/index.js'\nimport { memoizeGetters } from '../../utils/memoize.js'\nimport { MtEmptyError } from '../errors.js'\nimport { InputFileLike } from '../files/index.js'\nimport { parseSticker } from '../media/document-utils.js'\nimport { MaskPosition, Sticker, StickerSourceType, StickerType, Thumbnail } from '../media/index.js'\n\n/**\n * Input sticker set.\n * Can be one of:\n * - Raw TL object\n * - Sticker set short name\n * - {@link StickerSet} object\n * - `{ dice: \"<emoji>\" }` (e.g. `{ dice: \"🎲\" }`) - Used for fetching animated dice stickers\n * - `{ system: string }` - for system stickersets:\n * - `\"animated\"` - Animated emojis stickerset\n * - `\"animated_animations\"` - Animated emoji reaction stickerset\n * (contains animations to play when a user clicks on a given animated emoji)\n * - `\"premium_gifts\"` - Stickers to show when receiving a gifted Telegram Premium subscription,\n * - `\"generic_animations\"` - Generic animation stickerset containing animations to play\n * when reacting to messages using a normal emoji without a custom animation\n * - `\"default_statuses\"` - Default custom emoji status stickerset\n * - `\"default_topic_icons\"` - Default custom emoji stickerset for forum topic icons\n * - `\"default_channel_statuses\"` - Default custom emoji status stickerset for channels\n */\nexport type InputStickerSet =\n | tl.TypeInputStickerSet\n | { dice: string }\n | {\n system:\n | 'animated'\n | 'animated_animations'\n | 'premium_gifts'\n | 'generic_animations'\n | 'default_statuses'\n | 'default_topic_icons'\n | 'default_channel_statuses'\n }\n | StickerSet\n | string\n\nexport function normalizeInputStickerSet(input: InputStickerSet): tl.TypeInputStickerSet {\n if (typeof input === 'string') {\n return {\n _: 'inputStickerSetShortName',\n shortName: input,\n }\n }\n if ('_' in input) return input\n if (input instanceof StickerSet) return input.inputStickerSet\n\n if ('dice' in input) {\n return {\n _: 'inputStickerSetDice',\n emoticon: input.dice,\n }\n }\n\n switch (input.system) {\n case 'animated':\n return { _: 'inputStickerSetAnimatedEmoji' }\n case 'animated_animations':\n return { _: 'inputStickerSetAnimatedEmojiAnimations' }\n case 'premium_gifts':\n return { _: 'inputStickerSetPremiumGifts' }\n case 'generic_animations':\n return { _: 'inputStickerSetEmojiGenericAnimations' }\n case 'default_statuses':\n return { _: 'inputStickerSetEmojiDefaultStatuses' }\n case 'default_topic_icons':\n return { _: 'inputStickerSetEmojiDefaultTopicIcons' }\n case 'default_channel_statuses':\n return { _: 'inputStickerSetEmojiChannelDefaultStatuses' }\n }\n}\n\n/**\n * Information about one sticker inside the set\n */\nexport interface StickerInfo {\n /**\n * Primary alt emoji that is displayed in dialogs list\n */\n readonly alt: string\n\n /**\n * One or more emojis representing this sticker\n */\n readonly emoji: string\n\n /**\n * Document with the actual sticker\n */\n readonly sticker: Sticker\n}\n\nfunction parseStickerOrThrow(doc: tl.RawDocument): Sticker {\n const sticker = parseSticker(doc)\n\n if (!sticker) {\n throw new MtTypeAssertionError('full.documents', 'sticker', 'not a sticker')\n }\n\n return sticker\n}\n\n/**\n * A sticker set (aka sticker pack)\n */\nexport class StickerSet {\n readonly brief: tl.RawStickerSet\n readonly full?: tl.messages.RawStickerSet\n readonly cover?: tl.TypeStickerSetCovered\n\n /**\n * Whether this object contains information about stickers inside the set\n */\n readonly isFull: boolean\n\n constructor(raw: tl.TypeStickerSet | tl.messages.TypeStickerSet | tl.TypeStickerSetCovered) {\n if (raw._ === 'messages.stickerSet') {\n this.full = raw\n this.brief = raw.set\n } else if (raw._ === 'stickerSet') {\n this.brief = raw\n } else if (tl.isAnyStickerSetCovered(raw)) {\n this.cover = raw\n this.brief = raw.set\n } else {\n throw new MtTypeAssertionError('StickerSet', 'messages.stickerSet | stickerSet', raw._)\n }\n\n this.isFull = raw._ === 'messages.stickerSet'\n }\n\n /**\n * Whether this sticker set was archived\n * (due to too many saved stickers in the current account)\n */\n get isArchived(): boolean {\n return this.brief.archived!\n }\n\n /**\n * Whether this stickerset is official\n */\n get isOfficial(): boolean {\n return this.brief.official!\n }\n\n /**\n * Whether this sticker set was created by the current user\n */\n get isCreator(): boolean {\n return this.brief.creator!\n }\n\n /**\n * Type of the stickers in this set\n */\n get type(): StickerType {\n if (this.brief.masks) {\n return 'mask'\n }\n\n if (this.brief.emojis) {\n return 'emoji'\n }\n\n return 'sticker'\n }\n\n /**\n * Source file type of the stickers in this set\n */\n get sourceType(): StickerSourceType {\n if (this.brief.animated) {\n return 'animated'\n }\n\n if (this.brief.videos) {\n return 'video'\n }\n\n return 'static'\n }\n\n /**\n * Date when this sticker set was installed\n */\n get installedDate(): Date | null {\n return this.brief.installedDate ? new Date(this.brief.installedDate * 1000) : null\n }\n\n /**\n * Number of stickers in this sticker set\n */\n get count(): number {\n return this.brief.count\n }\n\n /**\n * Input sticker set to be used in other API methods\n */\n get inputStickerSet(): tl.TypeInputStickerSet {\n return {\n _: 'inputStickerSetID',\n id: this.brief.id,\n accessHash: this.brief.accessHash,\n }\n }\n\n /**\n * Title of the sticker set\n */\n get title(): string {\n return this.brief.title\n }\n\n /**\n * Short name of sticker set to use in `tg://addstickers?set=short_name`\n * or `https://t.me/addstickers/short_name`\n */\n get shortName(): string {\n return this.brief.shortName\n }\n\n /**\n * List of stickers inside this sticker set\n *\n * @throws MtEmptyError\n * In case this object does not contain info about stickers (i.e. {@link isFull} = false)\n */\n get stickers(): ReadonlyArray<StickerInfo> {\n if (!this.full) throw new MtEmptyError()\n\n const stickers: StickerInfo[] = []\n const index = new LongMap<tl.Mutable<StickerInfo>>()\n\n this.full.documents.forEach((doc) => {\n const sticker = parseStickerOrThrow(doc as tl.RawDocument)\n\n const info: tl.Mutable<StickerInfo> = {\n alt: sticker.emoji,\n emoji: '', // populated later\n sticker,\n }\n stickers.push(info)\n index.set(doc.id, info)\n })\n\n this.full.packs.forEach((pack) => {\n pack.documents.forEach((id) => {\n const item = index.get(id)\n\n if (item) {\n item.emoji += pack.emoticon\n }\n })\n })\n\n return stickers\n }\n\n /** Cover stickers of the sticker set. Not the same as {@link thumbnails} */\n get covers(): ReadonlyArray<Sticker> {\n if (!this.cover) return []\n\n switch (this.cover._) {\n case 'stickerSetCovered':\n return [parseStickerOrThrow(this.cover.cover as tl.RawDocument)]\n case 'stickerSetMultiCovered':\n return this.cover.covers.map((it) => parseStickerOrThrow(it as tl.RawDocument))\n case 'stickerSetFullCovered':\n return this.cover.documents.map((it) => parseStickerOrThrow(it as tl.RawDocument))\n case 'stickerSetNoCovered':\n return []\n }\n }\n\n /**\n * Available sticker set thumbnails.\n *\n * Returns empty array if not available\n * (i.e. first sticker should be used as thumbnail)\n */\n get thumbnails(): ReadonlyArray<Thumbnail> {\n return this.brief.thumbs?.map((sz) => new Thumbnail(this.brief, sz)) ?? []\n }\n\n /**\n * Get a sticker set thumbnail by its type.\n *\n * Thumbnail types are described in the\n * [Telegram docs](https://core.telegram.org/api/files#image-thumbnail-types),\n * and are also available as static members of {@link Thumbnail} for convenience.\n *\n * @param type Thumbnail type\n */\n getThumbnail(type: string): Thumbnail | null {\n return this.thumbnails.find((it) => it.type === type) ?? null\n }\n\n /**\n * Find stickers given their emoji.\n *\n * @param emoji Emoji to search for\n * @throws MtEmptyError\n * In case this object does not contain info about stickers (i.e. {@link isFull} = false)\n */\n getStickersByEmoji(emoji: string): StickerInfo[] {\n return this.stickers.filter((it) => it.alt === emoji || it.emoji.includes(emoji))\n }\n\n private _getInputDocument(idx: number): tl.TypeInputDocument {\n if (!this.full) throw new MtEmptyError()\n\n if (idx < 0) idx = this.full.documents.length + idx\n const doc = this.full.documents[idx] as tl.RawDocument\n\n if (!doc) {\n throw new RangeError(`Sticker set does not have sticker ${idx}`)\n }\n\n return {\n _: 'inputDocument',\n id: doc.id,\n accessHash: doc.accessHash,\n fileReference: doc.fileReference,\n }\n }\n}\n\nmemoizeGetters(StickerSet, ['thumbnails', 'stickers'])\nmakeInspectable(StickerSet, ['isFull'])\n\nexport interface InputStickerSetItem {\n /**\n * File containing the sticker.\n *\n * For normal stickers: must be a `.png` or `.webp` file\n * up to 512kb, having both dimensions `<=512px`, and having\n * one of the dimensions `==512px`\n *\n * For animated stickers: must be a `.tgs` file\n * up to 64kb, having canvas dimensions exactly\n * `512x512`px, duration no more than 3 seconds\n * and animated at 60fps ([source](https://core.telegram.org/animated_stickers#technical-requirements))\n */\n file: InputFileLike\n\n /**\n * One or more emojis that represent this sticker\n */\n emojis: string\n\n /**\n * In case this is a mask sticker,\n * position of the mask\n */\n maskPosition?: MaskPosition\n}\n"]}
@@ -6,6 +6,7 @@ import { ChatLocation } from '../chat-location.js';
6
6
  import { ChatMember } from '../chat-member.js';
7
7
  import { ChatPermissions } from '../chat-permissions.js';
8
8
  import { ForumTopic } from '../forum-topic.js';
9
+ import { PeersIndex } from '../peers-index.js';
9
10
  import { User } from '../user.js';
10
11
  /** A user has joined the channel (in the case of big groups, info of the user that has joined isn't shown) */
11
12
  export interface ChatActionUserJoined {
@@ -261,3 +262,5 @@ export interface ChatActionTopicDeleted {
261
262
  }
262
263
  /** Chat event action (`null` if unsupported) */
263
264
  export type ChatAction = ChatActionUserJoined | ChatActionUserLeft | ChatActionUserInvited | ChatActionTitleChanged | ChatActionDescriptionChanged | ChatActionUsernameChanged | ChatActionUsernamesChanged | ChatActionPhotoChanged | ChatActionInvitesToggled | ChatActionSignaturesToggled | ChatActionMessagePinned | ChatActionMessageEdited | ChatActionMessageDeleted | ChatActionUserPermissionsChanged | ChatActionUserAdminPermissionsChanged | ChatActionStickersetChanged | ChatActionHistoryToggled | ChatActionDefaultPermissionsChanged | ChatActionPollStopped | ChatActionLinkedChatChanged | ChatActionLocationChanged | ChatActionSlowModeChanged | ChatActionCallStarted | ChatActionCallEnded | ChatActionCallSettingChanged | ChatActionUserJoinedInvite | ChatActionInviteLinkDeleted | ChatActionInviteLinkEdited | ChatActionInviteLinkRevoked | ChatActionUserJoinedApproved | ChatActionTtlChanged | ChatActionNoForwardsToggled | ChatActionForumToggled | ChatActionTopicCreated | ChatActionTopicEdited | ChatActionTopicDeleted | null;
265
+ /** @internal */
266
+ export declare function _actionFromTl(e: tl.TypeChannelAdminLogEventAction, peers: PeersIndex): ChatAction;
@@ -6,3 +6,5 @@ export interface ChatEventFilters {
6
6
  localFilter?: Record<string, true>;
7
7
  }
8
8
  export type InputChatEventFilters = ChatEventFilters | tl.TypeChannelAdminLogEventsFilter | MaybeArray<Exclude<ChatAction, null>['type']> | undefined;
9
+ /** @internal */
10
+ export declare function normalizeChatEventFilters(input: InputChatEventFilters): ChatEventFilters;
@@ -1,11 +1,10 @@
1
1
  import { tl } from '@mtcute/tl';
2
- import { Photo } from '../media/photo.js';
3
2
  import { MessageEntity } from '../messages/message-entity.js';
4
3
  import { EmojiStatus } from '../reactions/emoji-status.js';
5
4
  import { ChatColors } from './chat-colors.js';
6
- import { ChatLocation } from './chat-location.js';
7
5
  import { ChatPermissions } from './chat-permissions.js';
8
6
  import { ChatPhoto } from './chat-photo.js';
7
+ import { PeersIndex } from './peers-index.js';
9
8
  import { User } from './user.js';
10
9
  /**
11
10
  * Chat type. Can be:
@@ -21,13 +20,12 @@ export type ChatType = 'private' | 'bot' | 'group' | 'supergroup' | 'channel' |
21
20
  * A chat.
22
21
  */
23
22
  export declare class Chat {
24
- readonly fullPeer?: tl.RawUserFull | tl.TypeChatFull | undefined;
25
23
  readonly type: "chat";
26
24
  /**
27
25
  * Raw peer object that this {@link Chat} represents.
28
26
  */
29
27
  readonly peer: tl.RawUser | tl.RawChat | tl.RawChannel | tl.RawChatForbidden | tl.RawChannelForbidden;
30
- constructor(peer: tl.TypeUser | tl.TypeChat, fullPeer?: tl.RawUserFull | tl.TypeChatFull | undefined);
28
+ constructor(peer: tl.TypeUser | tl.TypeChat);
31
29
  /** Marked ID of this chat */
32
30
  get id(): number;
33
31
  /**
@@ -119,12 +117,6 @@ export declare class Chat {
119
117
  get hasJoinToSend(): boolean;
120
118
  /** Whether this group has content protection (i.e. disabled forwards) */
121
119
  get hasContentProtection(): boolean;
122
- /**
123
- * Whether this chat (user) has restricted sending them voice/video messages.
124
- *
125
- * Returned only in {@link TelegramClient.getFullChat}
126
- */
127
- get hasBlockedVoices(): boolean;
128
120
  /**
129
121
  * Title, for supergroups, channels and groups
130
122
  */
@@ -157,52 +149,9 @@ export declare class Chat {
157
149
  * Chat photo, if any.
158
150
  * Suitable for downloads only.
159
151
  *
160
- * If full chat information is available, prefer {@link fullPhoto} instead.
152
+ * If full chat information is available, prefer {@link FullChat#fullPhoto} instead.
161
153
  */
162
154
  get photo(): ChatPhoto | null;
163
- /**
164
- * Full information about this chat's photo, if any.
165
- *
166
- * Unlike {@link Chat.photo}, this field contains additional information
167
- * about the photo, such as its date, more sizes, and is the only
168
- * way to get the animated profile photo.
169
- *
170
- * This field takes into account any personal/fallback photo
171
- * that the user may have set
172
- *
173
- * Only available in {@link TelegramClient.getFullChat}
174
- */
175
- get fullPhoto(): Photo | null;
176
- /**
177
- * A custom photo (set by the current user) that should be displayed
178
- * instead of the actual chat photo.
179
- *
180
- * Currently only available for users.
181
- * Returned only in {@link TelegramClient.getFullChat}
182
- */
183
- get personalPhoto(): Photo | null;
184
- /**
185
- * Actual profile photo of the user, bypassing the custom one.
186
- *
187
- * Returned only in {@link TelegramClient.getFullChat}
188
- */
189
- get realPhoto(): Photo | null;
190
- /**
191
- * A photo that the user has set to be shown
192
- * in case their actual profile photo is not available
193
- * due to privacy settings.
194
- *
195
- * Currently only available for users.
196
- * Returned only in {@link TelegramClient.getFullChat}
197
- */
198
- get publicPhoto(): Photo | null;
199
- /**
200
- * Bio of the other party in a private chat, or description of a
201
- * group, supergroup or channel.
202
- *
203
- * Returned only in {@link TelegramClient.getFullChat}
204
- */
205
- get bio(): string | null;
206
155
  /**
207
156
  * User's or bot's assigned DC (data center).
208
157
  * Available only in case the user has set a public profile photo.
@@ -213,26 +162,6 @@ export declare class Chat {
213
162
  * to the administrator who set the current profile photo.
214
163
  */
215
164
  get dcId(): number | null;
216
- /**
217
- * Chat's permanent invite link, for groups, supergroups and channels.
218
- * Returned only in {@link TelegramClient.getFullChat}
219
- */
220
- get inviteLink(): string | null;
221
- /**
222
- * For supergroups, name of the group sticker set.
223
- * Returned only in {@link TelegramClient.getFullChat}
224
- */
225
- get stickerSetName(): string | null;
226
- /**
227
- * Whether the group sticker set can be changed by you.
228
- * Returned only in {@link TelegramClient.getFullChat}
229
- */
230
- get canSetStickerSet(): boolean | null;
231
- /**
232
- * Chat members count, for groups, supergroups and channels only.
233
- * Returned only in {@link TelegramClient.getFullChat}
234
- */
235
- get membersCount(): number | null;
236
165
  /**
237
166
  * The list of reasons why this chat might be unavailable to some users.
238
167
  * This field is available only in case {@link isRestricted} is `true`
@@ -256,25 +185,6 @@ export declare class Chat {
256
185
  * Returned only in {@link TelegramClient.getNearbyChats}
257
186
  */
258
187
  readonly distance?: number;
259
- /**
260
- * Location of the chat.
261
- * Returned only in {@link TelegramClient.getFullChat}
262
- */
263
- get location(): ChatLocation | null;
264
- private _linkedChat?;
265
- /**
266
- * The linked discussion group (in case of channels)
267
- * or the linked channel (in case of supergroups).
268
- *
269
- * Returned only in {@link TelegramClient.getFullChat}
270
- */
271
- get linkedChat(): Chat | null;
272
- /**
273
- * TTL of all messages in this chat, in seconds
274
- *
275
- * Returned only in {@link TelegramClient.getFullChat}
276
- */
277
- get ttlPeriod(): number | null;
278
188
  /**
279
189
  * Maximum ID of stories this chat has (or 0 if none)
280
190
  */
@@ -304,6 +214,10 @@ export declare class Chat {
304
214
  * Returns `null` if this is not a chat with user
305
215
  */
306
216
  get user(): User | null;
217
+ /** @internal */
218
+ static _parseFromMessage(message: tl.RawMessage | tl.RawMessageService, peers: PeersIndex): Chat;
219
+ /** @internal */
220
+ static _parseFromPeer(peer: tl.TypePeer, peers: PeersIndex): Chat;
307
221
  /**
308
222
  * Create a mention for the chat.
309
223
  *
@@ -2,11 +2,9 @@ import { MtArgumentError, MtTypeAssertionError } from '../../../types/errors.js'
2
2
  import { getMarkedPeerId } from '../../../utils/peer-utils.js';
3
3
  import { makeInspectable } from '../../utils/index.js';
4
4
  import { memoizeGetters } from '../../utils/memoize.js';
5
- import { Photo } from '../media/photo.js';
6
5
  import { MessageEntity } from '../messages/message-entity.js';
7
6
  import { EmojiStatus } from '../reactions/emoji-status.js';
8
7
  import { ChatColors } from './chat-colors.js';
9
- import { ChatLocation } from './chat-location.js';
10
8
  import { ChatPermissions } from './chat-permissions.js';
11
9
  import { ChatPhoto } from './chat-photo.js';
12
10
  import { User } from './user.js';
@@ -14,14 +12,12 @@ import { User } from './user.js';
14
12
  * A chat.
15
13
  */
16
14
  class Chat {
17
- fullPeer;
18
15
  type = 'chat';
19
16
  /**
20
17
  * Raw peer object that this {@link Chat} represents.
21
18
  */
22
19
  peer;
23
- constructor(peer, fullPeer) {
24
- this.fullPeer = fullPeer;
20
+ constructor(peer) {
25
21
  if (!peer)
26
22
  throw new MtArgumentError('peer is not available');
27
23
  switch (peer._) {
@@ -237,14 +233,6 @@ class Chat {
237
233
  get hasContentProtection() {
238
234
  return (this.peer._ === 'channel' || this.peer._ === 'chat') && this.peer.noforwards;
239
235
  }
240
- /**
241
- * Whether this chat (user) has restricted sending them voice/video messages.
242
- *
243
- * Returned only in {@link TelegramClient.getFullChat}
244
- */
245
- get hasBlockedVoices() {
246
- return this.fullPeer?._ === 'userFull' && this.fullPeer.voiceMessagesForbidden;
247
- }
248
236
  /**
249
237
  * Title, for supergroups, channels and groups
250
238
  */
@@ -300,7 +288,7 @@ class Chat {
300
288
  * Chat photo, if any.
301
289
  * Suitable for downloads only.
302
290
  *
303
- * If full chat information is available, prefer {@link fullPhoto} instead.
291
+ * If full chat information is available, prefer {@link FullChat#fullPhoto} instead.
304
292
  */
305
293
  get photo() {
306
294
  if (!('photo' in this.peer) ||
@@ -310,86 +298,6 @@ class Chat {
310
298
  }
311
299
  return new ChatPhoto(this.inputPeer, this.peer.photo);
312
300
  }
313
- /**
314
- * Full information about this chat's photo, if any.
315
- *
316
- * Unlike {@link Chat.photo}, this field contains additional information
317
- * about the photo, such as its date, more sizes, and is the only
318
- * way to get the animated profile photo.
319
- *
320
- * This field takes into account any personal/fallback photo
321
- * that the user may have set
322
- *
323
- * Only available in {@link TelegramClient.getFullChat}
324
- */
325
- get fullPhoto() {
326
- if (!this.fullPeer)
327
- return null;
328
- let photo = undefined;
329
- switch (this.fullPeer._) {
330
- case 'userFull':
331
- photo = this.fullPeer.personalPhoto ?? this.fullPeer.profilePhoto ?? this.fullPeer.fallbackPhoto;
332
- break;
333
- case 'chatFull':
334
- case 'channelFull':
335
- photo = this.fullPeer.chatPhoto;
336
- }
337
- if (photo?._ !== 'photo')
338
- return null;
339
- return new Photo(photo);
340
- }
341
- /**
342
- * A custom photo (set by the current user) that should be displayed
343
- * instead of the actual chat photo.
344
- *
345
- * Currently only available for users.
346
- * Returned only in {@link TelegramClient.getFullChat}
347
- */
348
- get personalPhoto() {
349
- if (!this.fullPeer || this.fullPeer._ !== 'userFull')
350
- return null;
351
- if (this.fullPeer.personalPhoto?._ !== 'photo')
352
- return null;
353
- return new Photo(this.fullPeer.personalPhoto);
354
- }
355
- /**
356
- * Actual profile photo of the user, bypassing the custom one.
357
- *
358
- * Returned only in {@link TelegramClient.getFullChat}
359
- */
360
- get realPhoto() {
361
- if (!this.fullPeer)
362
- return null;
363
- if (this.fullPeer._ !== 'userFull')
364
- return this.fullPhoto;
365
- if (this.fullPeer.personalPhoto?._ !== 'photo')
366
- return null;
367
- return new Photo(this.fullPeer.personalPhoto);
368
- }
369
- /**
370
- * A photo that the user has set to be shown
371
- * in case their actual profile photo is not available
372
- * due to privacy settings.
373
- *
374
- * Currently only available for users.
375
- * Returned only in {@link TelegramClient.getFullChat}
376
- */
377
- get publicPhoto() {
378
- if (!this.fullPeer || this.fullPeer._ !== 'userFull')
379
- return null;
380
- if (this.fullPeer.fallbackPhoto?._ !== 'photo')
381
- return null;
382
- return new Photo(this.fullPeer.fallbackPhoto);
383
- }
384
- /**
385
- * Bio of the other party in a private chat, or description of a
386
- * group, supergroup or channel.
387
- *
388
- * Returned only in {@link TelegramClient.getFullChat}
389
- */
390
- get bio() {
391
- return this.fullPeer?.about ?? null;
392
- }
393
301
  /**
394
302
  * User's or bot's assigned DC (data center).
395
303
  * Available only in case the user has set a public profile photo.
@@ -405,50 +313,6 @@ class Chat {
405
313
  return (this.peer.photo
406
314
  ?.dcId ?? null);
407
315
  }
408
- /**
409
- * Chat's permanent invite link, for groups, supergroups and channels.
410
- * Returned only in {@link TelegramClient.getFullChat}
411
- */
412
- get inviteLink() {
413
- if (this.fullPeer && this.fullPeer._ !== 'userFull') {
414
- switch (this.fullPeer.exportedInvite?._) {
415
- case 'chatInvitePublicJoinRequests':
416
- return null;
417
- case 'chatInviteExported':
418
- return this.fullPeer.exportedInvite.link;
419
- }
420
- }
421
- return null;
422
- }
423
- /**
424
- * For supergroups, name of the group sticker set.
425
- * Returned only in {@link TelegramClient.getFullChat}
426
- */
427
- get stickerSetName() {
428
- return this.fullPeer && this.fullPeer._ === 'channelFull' ? this.fullPeer.stickerset?.shortName ?? null : null;
429
- }
430
- /**
431
- * Whether the group sticker set can be changed by you.
432
- * Returned only in {@link TelegramClient.getFullChat}
433
- */
434
- get canSetStickerSet() {
435
- return this.fullPeer && this.fullPeer._ === 'channelFull' ? this.fullPeer.canSetStickers ?? null : null;
436
- }
437
- /**
438
- * Chat members count, for groups, supergroups and channels only.
439
- * Returned only in {@link TelegramClient.getFullChat}
440
- */
441
- get membersCount() {
442
- if (this.fullPeer && this.fullPeer._ !== 'userFull') {
443
- if (this.fullPeer._ === 'chatFull' && this.fullPeer.participants._ === 'chatParticipants') {
444
- return this.fullPeer.participants.participants.length;
445
- }
446
- else if (this.fullPeer._ === 'channelFull') {
447
- return this.fullPeer.participantsCount ?? null;
448
- }
449
- }
450
- return null;
451
- }
452
316
  /**
453
317
  * The list of reasons why this chat might be unavailable to some users.
454
318
  * This field is available only in case {@link isRestricted} is `true`
@@ -486,34 +350,6 @@ class Chat {
486
350
  * Returned only in {@link TelegramClient.getNearbyChats}
487
351
  */
488
352
  distance;
489
- /**
490
- * Location of the chat.
491
- * Returned only in {@link TelegramClient.getFullChat}
492
- */
493
- get location() {
494
- if (!this.fullPeer || this.fullPeer._ !== 'channelFull' || this.fullPeer.location?._ !== 'channelLocation') {
495
- return null;
496
- }
497
- return new ChatLocation(this.fullPeer.location);
498
- }
499
- _linkedChat;
500
- /**
501
- * The linked discussion group (in case of channels)
502
- * or the linked channel (in case of supergroups).
503
- *
504
- * Returned only in {@link TelegramClient.getFullChat}
505
- */
506
- get linkedChat() {
507
- return this._linkedChat ?? null;
508
- }
509
- /**
510
- * TTL of all messages in this chat, in seconds
511
- *
512
- * Returned only in {@link TelegramClient.getFullChat}
513
- */
514
- get ttlPeriod() {
515
- return this.fullPeer?.ttlPeriod ?? null;
516
- }
517
353
  /**
518
354
  * Maximum ID of stories this chat has (or 0 if none)
519
355
  */
@@ -582,30 +418,6 @@ class Chat {
582
418
  }
583
419
  return new Chat(peers.chat(peer.channelId));
584
420
  }
585
- /** @internal */
586
- static _parseFull(full) {
587
- if (full._ === 'users.userFull') {
588
- const user = full.users.find((it) => it.id === full.fullUser.id);
589
- if (!user || user._ === 'userEmpty') {
590
- throw new MtTypeAssertionError('Chat._parseFull', 'user', user?._ ?? 'undefined');
591
- }
592
- return new Chat(user, full.fullUser);
593
- }
594
- const fullChat = full.fullChat;
595
- let chat = undefined;
596
- let linked = undefined;
597
- for (const c of full.chats) {
598
- if (fullChat.id === c.id) {
599
- chat = c;
600
- }
601
- if (fullChat._ === 'channelFull' && fullChat.linkedChatId === c.id) {
602
- linked = c;
603
- }
604
- }
605
- const ret = new Chat(chat, fullChat);
606
- ret._linkedChat = linked ? new Chat(linked) : undefined;
607
- return ret;
608
- }
609
421
  /**
610
422
  * Create a mention for the chat.
611
423
  *
@@ -653,13 +465,8 @@ const Chat$1 = /*#__PURE__*/memoizeGetters(Chat, [
653
465
  'chatType',
654
466
  'usernames',
655
467
  'photo',
656
- 'fullPhoto',
657
- 'personalPhoto',
658
- 'realPhoto',
659
- 'publicPhoto',
660
468
  'permissions',
661
469
  'defaultPermissions',
662
- 'location',
663
470
  'user',
664
471
  'color',
665
472
  ]);