@mtcute/core 0.30.3 → 0.32.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 (313) hide show
  1. package/client.cjs +85 -0
  2. package/client.js +85 -0
  3. package/highlevel/client.d.cts +411 -116
  4. package/highlevel/client.d.ts +411 -116
  5. package/highlevel/methods/auth/sign-in-qr.cjs +2 -0
  6. package/highlevel/methods/auth/sign-in-qr.js +2 -0
  7. package/highlevel/methods/auth/sign-in-qr.test.d.cts +1 -0
  8. package/highlevel/methods/auth/sign-in-qr.test.d.ts +1 -0
  9. package/highlevel/methods/chats/build-peers-index.cjs +45 -0
  10. package/highlevel/methods/chats/build-peers-index.d.cts +13 -0
  11. package/highlevel/methods/chats/build-peers-index.d.ts +13 -0
  12. package/highlevel/methods/chats/build-peers-index.js +40 -0
  13. package/highlevel/methods/chats/join-chat.cjs +1 -1
  14. package/highlevel/methods/chats/join-chat.d.cts +2 -1
  15. package/highlevel/methods/chats/join-chat.d.ts +2 -1
  16. package/highlevel/methods/chats/join-chat.js +1 -1
  17. package/highlevel/methods/chats/transfer-chat-ownership.cjs +6 -17
  18. package/highlevel/methods/chats/transfer-chat-ownership.js +6 -17
  19. package/highlevel/methods/communities/ban-community-participant.cjs +30 -0
  20. package/highlevel/methods/communities/ban-community-participant.d.cts +20 -0
  21. package/highlevel/methods/communities/ban-community-participant.d.ts +20 -0
  22. package/highlevel/methods/communities/ban-community-participant.js +25 -0
  23. package/highlevel/methods/communities/create-community.cjs +29 -0
  24. package/highlevel/methods/communities/create-community.d.cts +22 -0
  25. package/highlevel/methods/communities/create-community.d.ts +22 -0
  26. package/highlevel/methods/communities/create-community.js +24 -0
  27. package/highlevel/methods/communities/get-community-link-requests.cjs +27 -0
  28. package/highlevel/methods/communities/get-community-link-requests.d.cts +17 -0
  29. package/highlevel/methods/communities/get-community-link-requests.d.ts +17 -0
  30. package/highlevel/methods/communities/get-community-link-requests.js +22 -0
  31. package/highlevel/methods/communities/get-community-participant-chats.cjs +24 -0
  32. package/highlevel/methods/communities/get-community-participant-chats.d.cts +17 -0
  33. package/highlevel/methods/communities/get-community-participant-chats.d.ts +17 -0
  34. package/highlevel/methods/communities/get-community-participant-chats.js +19 -0
  35. package/highlevel/methods/communities/get-joined-communities.cjs +21 -0
  36. package/highlevel/methods/communities/get-joined-communities.d.cts +6 -0
  37. package/highlevel/methods/communities/get-joined-communities.d.ts +6 -0
  38. package/highlevel/methods/communities/get-joined-communities.js +16 -0
  39. package/highlevel/methods/communities/hide-community-link-request.cjs +30 -0
  40. package/highlevel/methods/communities/hide-community-link-request.d.cts +22 -0
  41. package/highlevel/methods/communities/hide-community-link-request.d.ts +22 -0
  42. package/highlevel/methods/communities/hide-community-link-request.js +25 -0
  43. package/highlevel/methods/communities/link-community-peer.cjs +32 -0
  44. package/highlevel/methods/communities/link-community-peer.d.cts +22 -0
  45. package/highlevel/methods/communities/link-community-peer.d.ts +22 -0
  46. package/highlevel/methods/communities/link-community-peer.js +27 -0
  47. package/highlevel/methods/communities/toggle-community-collapsed.cjs +18 -0
  48. package/highlevel/methods/communities/toggle-community-collapsed.d.cts +16 -0
  49. package/highlevel/methods/communities/toggle-community-collapsed.d.ts +16 -0
  50. package/highlevel/methods/communities/toggle-community-collapsed.js +13 -0
  51. package/highlevel/methods/ephemeral/delete-all-welcome-messages.cjs +17 -0
  52. package/highlevel/methods/ephemeral/delete-all-welcome-messages.d.cts +8 -0
  53. package/highlevel/methods/ephemeral/delete-all-welcome-messages.d.ts +8 -0
  54. package/highlevel/methods/ephemeral/delete-all-welcome-messages.js +12 -0
  55. package/highlevel/methods/ephemeral/delete-ephemeral-message.cjs +20 -0
  56. package/highlevel/methods/ephemeral/delete-ephemeral-message.d.cts +13 -0
  57. package/highlevel/methods/ephemeral/delete-ephemeral-message.d.ts +13 -0
  58. package/highlevel/methods/ephemeral/delete-ephemeral-message.js +15 -0
  59. package/highlevel/methods/ephemeral/delete-welcome-message.cjs +18 -0
  60. package/highlevel/methods/ephemeral/delete-welcome-message.d.cts +9 -0
  61. package/highlevel/methods/ephemeral/delete-welcome-message.d.ts +9 -0
  62. package/highlevel/methods/ephemeral/delete-welcome-message.js +13 -0
  63. package/highlevel/methods/ephemeral/edit-ephemeral-message.cjs +41 -0
  64. package/highlevel/methods/ephemeral/edit-ephemeral-message.d.cts +39 -0
  65. package/highlevel/methods/ephemeral/edit-ephemeral-message.d.ts +39 -0
  66. package/highlevel/methods/ephemeral/edit-ephemeral-message.js +36 -0
  67. package/highlevel/methods/ephemeral/find-in-update.cjs +27 -0
  68. package/highlevel/methods/ephemeral/find-in-update.d.cts +8 -0
  69. package/highlevel/methods/ephemeral/find-in-update.d.ts +8 -0
  70. package/highlevel/methods/ephemeral/find-in-update.js +22 -0
  71. package/highlevel/methods/ephemeral/get-ephemeral-callback-answer.cjs +31 -0
  72. package/highlevel/methods/ephemeral/get-ephemeral-callback-answer.d.cts +29 -0
  73. package/highlevel/methods/ephemeral/get-ephemeral-callback-answer.d.ts +29 -0
  74. package/highlevel/methods/ephemeral/get-ephemeral-callback-answer.js +26 -0
  75. package/highlevel/methods/ephemeral/get-welcome-messages.cjs +29 -0
  76. package/highlevel/methods/ephemeral/get-welcome-messages.d.cts +8 -0
  77. package/highlevel/methods/ephemeral/get-welcome-messages.d.ts +8 -0
  78. package/highlevel/methods/ephemeral/get-welcome-messages.js +24 -0
  79. package/highlevel/methods/ephemeral/send-ephemeral-message.cjs +48 -0
  80. package/highlevel/methods/ephemeral/send-ephemeral-message.d.cts +47 -0
  81. package/highlevel/methods/ephemeral/send-ephemeral-message.d.ts +47 -0
  82. package/highlevel/methods/ephemeral/send-ephemeral-message.js +43 -0
  83. package/highlevel/methods/files/download-iterable.cjs +7 -2
  84. package/highlevel/methods/files/download-iterable.js +7 -2
  85. package/highlevel/methods/files/download-iterable.test.d.cts +1 -0
  86. package/highlevel/methods/files/download-iterable.test.d.ts +1 -0
  87. package/highlevel/methods/files/download-stream.cjs +5 -6
  88. package/highlevel/methods/files/download-stream.js +5 -6
  89. package/highlevel/methods/files/normalize-input-media.cjs +25 -4
  90. package/highlevel/methods/files/normalize-input-media.js +25 -4
  91. package/highlevel/methods/forums/create-forum-topic.d.cts +7 -0
  92. package/highlevel/methods/forums/create-forum-topic.d.ts +7 -0
  93. package/highlevel/methods/forums/delete-forum-topic-history.d.cts +1 -1
  94. package/highlevel/methods/forums/delete-forum-topic-history.d.ts +1 -1
  95. package/highlevel/methods/forums/edit-forum-topic.cjs +2 -2
  96. package/highlevel/methods/forums/edit-forum-topic.d.cts +2 -2
  97. package/highlevel/methods/forums/edit-forum-topic.d.ts +2 -2
  98. package/highlevel/methods/forums/edit-forum-topic.js +2 -2
  99. package/highlevel/methods/forums/get-forum-topics-by-id.cjs +5 -1
  100. package/highlevel/methods/forums/get-forum-topics-by-id.d.cts +9 -1
  101. package/highlevel/methods/forums/get-forum-topics-by-id.d.ts +9 -1
  102. package/highlevel/methods/forums/get-forum-topics-by-id.js +5 -1
  103. package/highlevel/methods/forums/get-forum-topics-by-id.test.d.cts +1 -0
  104. package/highlevel/methods/forums/get-forum-topics-by-id.test.d.ts +1 -0
  105. package/highlevel/methods/forums/get-forum-topics.cjs +1 -1
  106. package/highlevel/methods/forums/get-forum-topics.js +1 -1
  107. package/highlevel/methods/forums/toggle-forum-topic-closed.cjs +1 -1
  108. package/highlevel/methods/forums/toggle-forum-topic-closed.d.cts +1 -1
  109. package/highlevel/methods/forums/toggle-forum-topic-closed.d.ts +1 -1
  110. package/highlevel/methods/forums/toggle-forum-topic-closed.js +1 -1
  111. package/highlevel/methods/forums/toggle-forum-topic-pinned.d.cts +1 -1
  112. package/highlevel/methods/forums/toggle-forum-topic-pinned.d.ts +1 -1
  113. package/highlevel/methods/forums/toggle-general-topic-hidden.cjs +3 -3
  114. package/highlevel/methods/forums/toggle-general-topic-hidden.js +4 -4
  115. package/highlevel/methods/gifts/buy-resale-gift.cjs +5 -2
  116. package/highlevel/methods/gifts/buy-resale-gift.d.cts +11 -1
  117. package/highlevel/methods/gifts/buy-resale-gift.d.ts +11 -1
  118. package/highlevel/methods/gifts/buy-resale-gift.js +5 -2
  119. package/highlevel/methods/messages/forward-messages.cjs +1 -0
  120. package/highlevel/methods/messages/forward-messages.d.cts +2 -0
  121. package/highlevel/methods/messages/forward-messages.d.ts +2 -0
  122. package/highlevel/methods/messages/forward-messages.js +1 -0
  123. package/highlevel/methods/messages/normalize-rich-message.cjs +3 -0
  124. package/highlevel/methods/messages/normalize-rich-message.js +3 -0
  125. package/highlevel/methods/messages/send-common.d.cts +7 -1
  126. package/highlevel/methods/messages/send-common.d.ts +7 -1
  127. package/highlevel/methods/messages/send-text.cjs +70 -35
  128. package/highlevel/methods/messages/send-text.js +70 -35
  129. package/highlevel/methods/messages/send-typing.d.cts +3 -3
  130. package/highlevel/methods/messages/send-typing.d.ts +3 -3
  131. package/highlevel/methods/messages/set-typing.cjs +1 -1
  132. package/highlevel/methods/messages/set-typing.d.cts +2 -2
  133. package/highlevel/methods/messages/set-typing.d.ts +2 -2
  134. package/highlevel/methods/messages/set-typing.js +1 -1
  135. package/highlevel/methods/users/resolve-peer.cjs +11 -1
  136. package/highlevel/methods/users/resolve-peer.js +11 -1
  137. package/highlevel/methods.d.cts +19 -0
  138. package/highlevel/methods.d.ts +19 -0
  139. package/highlevel/storage/service/peers.cjs +25 -0
  140. package/highlevel/storage/service/peers.js +25 -0
  141. package/highlevel/storage/service/peers.test.d.cts +1 -0
  142. package/highlevel/storage/service/peers.test.d.ts +1 -0
  143. package/highlevel/types/bots/keyboards/builder.cjs +5 -5
  144. package/highlevel/types/bots/keyboards/builder.d.cts +8 -9
  145. package/highlevel/types/bots/keyboards/builder.d.ts +8 -9
  146. package/highlevel/types/bots/keyboards/builder.js +5 -5
  147. package/highlevel/types/bots/keyboards/factories.cjs +51 -103
  148. package/highlevel/types/bots/keyboards/factories.d.cts +58 -89
  149. package/highlevel/types/bots/keyboards/factories.d.ts +58 -89
  150. package/highlevel/types/bots/keyboards/factories.js +51 -103
  151. package/highlevel/types/bots/keyboards/index.d.cts +3 -3
  152. package/highlevel/types/bots/keyboards/index.d.ts +3 -3
  153. package/highlevel/types/bots/keyboards/normalize.cjs +131 -0
  154. package/highlevel/types/bots/keyboards/normalize.d.cts +10 -0
  155. package/highlevel/types/bots/keyboards/normalize.d.ts +10 -0
  156. package/highlevel/types/bots/keyboards/normalize.js +126 -0
  157. package/highlevel/types/bots/keyboards/types.d.cts +160 -4
  158. package/highlevel/types/bots/keyboards/types.d.ts +160 -4
  159. package/highlevel/types/conversation.cjs +8 -0
  160. package/highlevel/types/conversation.d.cts +1 -0
  161. package/highlevel/types/conversation.d.ts +1 -0
  162. package/highlevel/types/conversation.js +10 -2
  163. package/highlevel/types/conversation.test.d.cts +1 -0
  164. package/highlevel/types/conversation.test.d.ts +1 -0
  165. package/highlevel/types/messages/dialog.cjs +8 -1
  166. package/highlevel/types/messages/dialog.d.cts +3 -0
  167. package/highlevel/types/messages/dialog.d.ts +3 -0
  168. package/highlevel/types/messages/dialog.js +8 -1
  169. package/highlevel/types/messages/dialog.test.d.cts +1 -0
  170. package/highlevel/types/messages/dialog.test.d.ts +1 -0
  171. package/highlevel/types/messages/ephemeral-message.cjs +135 -0
  172. package/highlevel/types/messages/ephemeral-message.d.cts +75 -0
  173. package/highlevel/types/messages/ephemeral-message.d.ts +75 -0
  174. package/highlevel/types/messages/ephemeral-message.js +130 -0
  175. package/highlevel/types/messages/index.d.cts +1 -0
  176. package/highlevel/types/messages/index.d.ts +1 -0
  177. package/highlevel/types/messages/message-action.cjs +14 -1
  178. package/highlevel/types/messages/message-action.d.cts +18 -1
  179. package/highlevel/types/messages/message-action.d.ts +18 -1
  180. package/highlevel/types/messages/message-action.js +14 -1
  181. package/highlevel/types/messages/message.cjs +7 -2
  182. package/highlevel/types/messages/message.d.cts +2 -2
  183. package/highlevel/types/messages/message.d.ts +2 -2
  184. package/highlevel/types/messages/message.js +8 -3
  185. package/highlevel/types/messages/replied-message.cjs +5 -1
  186. package/highlevel/types/messages/replied-message.d.cts +5 -1
  187. package/highlevel/types/messages/replied-message.d.ts +5 -1
  188. package/highlevel/types/messages/replied-message.js +5 -1
  189. package/highlevel/types/messages/rich/inner.cjs +37 -0
  190. package/highlevel/types/messages/rich/inner.d.cts +19 -0
  191. package/highlevel/types/messages/rich/inner.d.ts +19 -0
  192. package/highlevel/types/messages/rich/inner.js +37 -0
  193. package/highlevel/types/peers/chat.cjs +23 -3
  194. package/highlevel/types/peers/chat.d.cts +8 -3
  195. package/highlevel/types/peers/chat.d.ts +8 -3
  196. package/highlevel/types/peers/chat.js +24 -4
  197. package/highlevel/types/peers/community-peer.cjs +60 -0
  198. package/highlevel/types/peers/community-peer.d.cts +37 -0
  199. package/highlevel/types/peers/community-peer.d.ts +37 -0
  200. package/highlevel/types/peers/community-peer.js +55 -0
  201. package/highlevel/types/peers/full-chat.cjs +24 -5
  202. package/highlevel/types/peers/full-chat.d.cts +7 -0
  203. package/highlevel/types/peers/full-chat.d.ts +7 -0
  204. package/highlevel/types/peers/full-chat.js +24 -5
  205. package/highlevel/types/peers/index.d.cts +1 -0
  206. package/highlevel/types/peers/index.d.ts +1 -0
  207. package/highlevel/types/peers/peer.cjs +2 -0
  208. package/highlevel/types/peers/peer.js +2 -0
  209. package/highlevel/types/peers/typing-status.d.cts +4 -1
  210. package/highlevel/types/peers/typing-status.d.ts +4 -1
  211. package/highlevel/types/peers/user.cjs +6 -0
  212. package/highlevel/types/peers/user.d.cts +2 -0
  213. package/highlevel/types/peers/user.d.ts +2 -0
  214. package/highlevel/types/peers/user.js +6 -0
  215. package/highlevel/types/updates/delete-ephemeral-messages-update.cjs +27 -0
  216. package/highlevel/types/updates/delete-ephemeral-messages-update.d.cts +15 -0
  217. package/highlevel/types/updates/delete-ephemeral-messages-update.d.ts +15 -0
  218. package/highlevel/types/updates/delete-ephemeral-messages-update.js +22 -0
  219. package/highlevel/types/updates/ephemeral-callback-query.cjs +69 -0
  220. package/highlevel/types/updates/ephemeral-callback-query.d.cts +44 -0
  221. package/highlevel/types/updates/ephemeral-callback-query.d.ts +44 -0
  222. package/highlevel/types/updates/ephemeral-callback-query.js +64 -0
  223. package/highlevel/types/updates/index.d.cts +16 -2
  224. package/highlevel/types/updates/index.d.ts +16 -2
  225. package/highlevel/types/updates/parse-update.cjs +12 -1
  226. package/highlevel/types/updates/parse-update.js +12 -1
  227. package/highlevel/types/updates/user-typing-update.cjs +18 -0
  228. package/highlevel/types/updates/user-typing-update.d.cts +9 -0
  229. package/highlevel/types/updates/user-typing-update.d.ts +9 -0
  230. package/highlevel/types/updates/user-typing-update.js +18 -0
  231. package/highlevel/updates/manager.cjs +71 -41
  232. package/highlevel/updates/manager.d.cts +1 -0
  233. package/highlevel/updates/manager.d.ts +1 -0
  234. package/highlevel/updates/manager.js +71 -41
  235. package/highlevel/updates/manager.test.d.cts +1 -0
  236. package/highlevel/updates/manager.test.d.ts +1 -0
  237. package/highlevel/utils/stream-utils.cjs +8 -4
  238. package/highlevel/utils/stream-utils.js +8 -4
  239. package/highlevel/utils/stream-utils.test.d.cts +1 -0
  240. package/highlevel/utils/stream-utils.test.d.ts +1 -0
  241. package/highlevel/utils/walk-page-blocks.cjs +9 -0
  242. package/highlevel/utils/walk-page-blocks.js +9 -0
  243. package/index.cjs +10 -0
  244. package/index.js +11 -1
  245. package/methods.cjs +33 -0
  246. package/methods.js +33 -0
  247. package/network/client.cjs +4 -3
  248. package/network/client.d.cts +1 -0
  249. package/network/client.d.ts +1 -0
  250. package/network/client.js +4 -3
  251. package/network/middlewares/flood-waiter.cjs +2 -2
  252. package/network/middlewares/flood-waiter.js +2 -2
  253. package/network/middlewares/internal-errors.cjs +1 -1
  254. package/network/middlewares/internal-errors.js +1 -1
  255. package/network/middlewares/media-throttle.cjs +1 -1
  256. package/network/middlewares/media-throttle.js +1 -1
  257. package/network/mtproto-session.cjs +9 -2
  258. package/network/mtproto-session.d.cts +3 -1
  259. package/network/mtproto-session.d.ts +3 -1
  260. package/network/mtproto-session.js +9 -2
  261. package/network/mtproxy/index.cjs +4 -3
  262. package/network/mtproxy/index.d.cts +2 -2
  263. package/network/mtproxy/index.d.ts +2 -2
  264. package/network/mtproxy/index.js +4 -3
  265. package/network/network-manager.cjs +44 -16
  266. package/network/network-manager.d.cts +10 -3
  267. package/network/network-manager.d.ts +10 -3
  268. package/network/network-manager.js +45 -17
  269. package/network/network-manager.test.d.cts +1 -0
  270. package/network/network-manager.test.d.ts +1 -0
  271. package/network/persistent-connection.cjs +10 -2
  272. package/network/persistent-connection.js +10 -2
  273. package/network/session-connection.cjs +15 -6
  274. package/network/session-connection.js +15 -6
  275. package/network/session-connection.test.d.cts +1 -0
  276. package/network/session-connection.test.d.ts +1 -0
  277. package/network/transports/abstract.cjs +16 -0
  278. package/network/transports/abstract.d.cts +8 -2
  279. package/network/transports/abstract.d.ts +8 -2
  280. package/network/transports/abstract.js +17 -1
  281. package/network/transports/obfuscated.cjs +3 -1
  282. package/network/transports/obfuscated.js +3 -1
  283. package/package.json +6 -6
  284. package/tl/api-schema.json +1 -1
  285. package/tl/binary/reader.cjs +221 -103
  286. package/tl/binary/reader.js +221 -103
  287. package/tl/binary/writer.cjs +693 -277
  288. package/tl/binary/writer.js +693 -277
  289. package/tl/compat/reader.cjs +93 -0
  290. package/tl/compat/reader.js +93 -0
  291. package/tl/index.d.cts +12529 -4762
  292. package/tl/index.d.ts +12529 -4762
  293. package/tl/inner-tl.cjs +90 -24
  294. package/tl/inner-tl.js +90 -24
  295. package/tl/raw-errors.json +1 -1
  296. package/tl/rpc-error.test.d.cts +1 -0
  297. package/tl/rpc-error.test.d.ts +1 -0
  298. package/utils/abort-signal.cjs +1 -12
  299. package/utils/abort-signal.js +1 -12
  300. package/utils/abort-signal.test.d.cts +1 -0
  301. package/utils/abort-signal.test.d.ts +1 -0
  302. package/utils/binary/compat.cjs +189 -29
  303. package/utils/binary/compat.js +189 -29
  304. package/utils/early-timer.cjs +3 -11
  305. package/utils/early-timer.js +3 -11
  306. package/utils/early-timer.test.d.cts +1 -0
  307. package/utils/early-timer.test.d.ts +1 -0
  308. package/utils/function-utils.cjs +9 -4
  309. package/utils/function-utils.js +9 -4
  310. package/utils/links/bots.cjs +10 -2
  311. package/utils/links/bots.js +10 -2
  312. package/utils/peer-utils.cjs +8 -0
  313. package/utils/peer-utils.js +8 -0
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -7,17 +7,6 @@ if (typeof globalThis !== "undefined" && !globalThis._MTCUTE_CJS_DEPRECATION_WAR
7
7
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
8
8
  function combineAbortSignals(signal1, signal2) {
9
9
  if (!signal2) return signal1;
10
- if (typeof AbortSignal.any === "function") {
11
- return AbortSignal.any([signal1, signal2]);
12
- }
13
- const controller = new AbortController();
14
- function abort() {
15
- controller.abort(this.reason);
16
- signal1.removeEventListener("abort", abort);
17
- signal2.removeEventListener("abort", abort);
18
- }
19
- signal1.addEventListener("abort", abort);
20
- signal2.addEventListener("abort", abort);
21
- return controller.signal;
10
+ return AbortSignal.any([signal1, signal2]);
22
11
  }
23
12
  exports.combineAbortSignals = combineAbortSignals;
@@ -1,17 +1,6 @@
1
1
  function combineAbortSignals(signal1, signal2) {
2
2
  if (!signal2) return signal1;
3
- if (typeof AbortSignal.any === "function") {
4
- return AbortSignal.any([signal1, signal2]);
5
- }
6
- const controller = new AbortController();
7
- function abort() {
8
- controller.abort(this.reason);
9
- signal1.removeEventListener("abort", abort);
10
- signal2.removeEventListener("abort", abort);
11
- }
12
- signal1.addEventListener("abort", abort);
13
- signal2.addEventListener("abort", abort);
14
- return controller.signal;
3
+ return AbortSignal.any([signal1, signal2]);
15
4
  }
16
5
  export {
17
6
  combineAbortSignals
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -12,6 +12,7 @@ const Long = require("long");
12
12
  const peersIndex = require("../../highlevel/types/peers/peers-index.cjs");
13
13
  const reader = require("../../tl/binary/reader.cjs");
14
14
  const reader$1 = require("../../tl/compat/reader.cjs");
15
+ const errors = require("../../types/errors.cjs");
15
16
  const innerTl = require("../../tl/inner-tl.cjs");
16
17
  function replaceType(obj, type) {
17
18
  return Object.assign(obj, { _: type });
@@ -172,6 +173,8 @@ function mapCompatPageBlock(obj) {
172
173
  _: "pageBlockOrderedList",
173
174
  items: obj.items.map(mapCompatPageListOrderedItem)
174
175
  };
176
+ case "pageBlockBlockquote_layer228":
177
+ return replaceType(obj, "pageBlockBlockquote");
175
178
  case "pageBlockList":
176
179
  return {
177
180
  ...obj,
@@ -226,6 +229,7 @@ function mapCompatMessageAction(obj) {
226
229
  case "messageActionStarGiftUnique_layer202":
227
230
  case "messageActionStarGiftUnique_layer214":
228
231
  case "messageActionStarGiftUnique_layer221":
232
+ case "messageActionStarGiftUnique_layer228":
229
233
  return {
230
234
  ...obj,
231
235
  _: "messageActionStarGiftUnique",
@@ -308,7 +312,8 @@ function mapCompatMessage(obj) {
308
312
  ...obj,
309
313
  _: "message",
310
314
  media: obj.media ? mapCompatMessageMedia(obj.media) : void 0,
311
- replyTo: obj.replyTo ? mapMessageReplyHeader(obj.replyTo) : void 0
315
+ replyTo: obj.replyTo ? mapMessageReplyHeader(obj.replyTo) : void 0,
316
+ replyMarkup: obj.replyMarkup ? mapCompatReplyMarkup(obj.replyMarkup) : void 0
312
317
  };
313
318
  case "messageService_layer204":
314
319
  return {
@@ -322,43 +327,162 @@ function mapCompatMessage(obj) {
322
327
  }
323
328
  }
324
329
  function mapCompatKeyboardButton(obj) {
330
+ const style = "style" in obj ? obj.style : void 0;
325
331
  switch (obj._) {
326
332
  case "keyboardButton_layer221":
327
- return replaceType(obj, "keyboardButton");
328
- case "keyboardButtonUrl_layer221":
329
- return replaceType(obj, "keyboardButtonUrl");
330
- case "keyboardButtonCallback_layer221":
331
- return replaceType(obj, "keyboardButtonCallback");
333
+ case "keyboardButton_layer228":
334
+ return { _: "keyboardButton", style, text: obj.text, type: { _: "buttonTypeDefault" } };
332
335
  case "keyboardButtonRequestPhone_layer221":
333
- return replaceType(obj, "keyboardButtonRequestPhone");
336
+ case "keyboardButtonRequestPhone_layer228":
337
+ return { _: "keyboardButton", style, text: obj.text, type: { _: "buttonTypeRequestPhone" } };
334
338
  case "keyboardButtonRequestGeoLocation_layer221":
335
- return replaceType(obj, "keyboardButtonRequestGeoLocation");
336
- case "keyboardButtonSwitchInline_layer221":
337
- return replaceType(obj, "keyboardButtonSwitchInline");
338
- case "keyboardButtonGame_layer221":
339
- return replaceType(obj, "keyboardButtonGame");
340
- case "keyboardButtonBuy_layer221":
341
- return replaceType(obj, "keyboardButtonBuy");
342
- case "keyboardButtonUrlAuth_layer221":
343
- return replaceType(obj, "keyboardButtonUrlAuth");
344
- case "inputKeyboardButtonUrlAuth_layer221":
345
- return replaceType(obj, "inputKeyboardButtonUrlAuth");
339
+ case "keyboardButtonRequestGeoLocation_layer228":
340
+ return { _: "keyboardButton", style, text: obj.text, type: { _: "buttonTypeRequestGeoLocation" } };
346
341
  case "keyboardButtonRequestPoll_layer221":
347
- return replaceType(obj, "keyboardButtonRequestPoll");
348
- case "inputKeyboardButtonUserProfile_layer221":
349
- return replaceType(obj, "inputKeyboardButtonUserProfile");
350
- case "keyboardButtonUserProfile_layer221":
351
- return replaceType(obj, "keyboardButtonUserProfile");
352
- case "keyboardButtonWebView_layer221":
353
- return replaceType(obj, "keyboardButtonWebView");
342
+ case "keyboardButtonRequestPoll_layer228":
343
+ return { _: "keyboardButton", style, text: obj.text, type: { _: "buttonTypeRequestPoll", quiz: obj.quiz } };
354
344
  case "keyboardButtonSimpleWebView_layer221":
355
- return replaceType(obj, "keyboardButtonSimpleWebView");
345
+ case "keyboardButtonSimpleWebView_layer228":
346
+ return { _: "keyboardButton", style, text: obj.text, type: { _: "buttonTypeSimpleWebView", url: obj.url } };
356
347
  case "keyboardButtonRequestPeer_layer221":
357
- return replaceType(obj, "keyboardButtonRequestPeer");
348
+ case "keyboardButtonRequestPeer_layer228":
349
+ return {
350
+ _: "keyboardButton",
351
+ style,
352
+ text: obj.text,
353
+ type: {
354
+ _: "buttonTypeRequestPeer",
355
+ buttonId: obj.buttonId,
356
+ peerType: obj.peerType,
357
+ maxQuantity: obj.maxQuantity
358
+ }
359
+ };
358
360
  case "inputKeyboardButtonRequestPeer_layer221":
359
- return replaceType(obj, "inputKeyboardButtonRequestPeer");
361
+ case "inputKeyboardButtonRequestPeer_layer228":
362
+ return {
363
+ _: "keyboardButton",
364
+ style,
365
+ text: obj.text,
366
+ type: {
367
+ _: "inputButtonTypeRequestPeer",
368
+ nameRequested: obj.nameRequested,
369
+ usernameRequested: obj.usernameRequested,
370
+ photoRequested: obj.photoRequested,
371
+ buttonId: obj.buttonId,
372
+ peerType: obj.peerType,
373
+ maxQuantity: obj.maxQuantity
374
+ }
375
+ };
376
+ case "keyboardButtonUrl_layer221":
377
+ case "keyboardButtonUrl_layer228":
378
+ return { _: "keyboardInlineButton", style, text: obj.text, type: { _: "inlineButtonTypeUrl", url: obj.url } };
379
+ case "keyboardButtonCallback_layer221":
380
+ case "keyboardButtonCallback_layer228":
381
+ return {
382
+ _: "keyboardInlineButton",
383
+ style,
384
+ text: obj.text,
385
+ type: { _: "inlineButtonTypeCallback", requiresPassword: obj.requiresPassword, data: obj.data }
386
+ };
387
+ case "keyboardButtonGame_layer221":
388
+ case "keyboardButtonGame_layer228":
389
+ return { _: "keyboardInlineButton", style, text: obj.text, type: { _: "inlineButtonTypeGame" } };
390
+ case "keyboardButtonBuy_layer221":
391
+ case "keyboardButtonBuy_layer228":
392
+ return { _: "keyboardInlineButton", style, text: obj.text, type: { _: "inlineButtonTypeBuy" } };
393
+ case "keyboardButtonWebView_layer221":
394
+ case "keyboardButtonWebView_layer228":
395
+ return {
396
+ _: "keyboardInlineButton",
397
+ style,
398
+ text: obj.text,
399
+ type: { _: "inlineButtonTypeWebView", url: obj.url }
400
+ };
360
401
  case "keyboardButtonCopy_layer221":
361
- return replaceType(obj, "keyboardButtonCopy");
402
+ case "keyboardButtonCopy_layer228":
403
+ return {
404
+ _: "keyboardInlineButton",
405
+ style,
406
+ text: obj.text,
407
+ type: { _: "inlineButtonTypeCopy", copyText: obj.copyText }
408
+ };
409
+ case "keyboardButtonUserProfile_layer221":
410
+ case "keyboardButtonUserProfile_layer228":
411
+ return {
412
+ _: "keyboardInlineButton",
413
+ style,
414
+ text: obj.text,
415
+ type: { _: "inlineButtonTypeUserProfile", userId: obj.userId }
416
+ };
417
+ case "inputKeyboardButtonUserProfile_layer221":
418
+ case "inputKeyboardButtonUserProfile_layer228":
419
+ return {
420
+ _: "keyboardInlineButton",
421
+ style,
422
+ text: obj.text,
423
+ type: { _: "inputInlineButtonTypeUserProfile", userId: obj.userId }
424
+ };
425
+ case "keyboardButtonSwitchInline_layer221":
426
+ case "keyboardButtonSwitchInline_layer228":
427
+ return {
428
+ _: "keyboardInlineButton",
429
+ style,
430
+ text: obj.text,
431
+ type: {
432
+ _: "inlineButtonTypeSwitchInline",
433
+ samePeer: obj.samePeer,
434
+ query: obj.query,
435
+ peerTypes: obj.peerTypes
436
+ }
437
+ };
438
+ case "keyboardButtonUrlAuth_layer221":
439
+ case "keyboardButtonUrlAuth_layer228":
440
+ return {
441
+ _: "keyboardInlineButton",
442
+ style,
443
+ text: obj.text,
444
+ type: {
445
+ _: "inlineButtonTypeUrlAuth",
446
+ fwdText: obj.fwdText,
447
+ url: obj.url,
448
+ buttonId: obj.buttonId
449
+ }
450
+ };
451
+ case "inputKeyboardButtonUrlAuth_layer221":
452
+ case "inputKeyboardButtonUrlAuth_layer228":
453
+ return {
454
+ _: "keyboardInlineButton",
455
+ style,
456
+ text: obj.text,
457
+ type: {
458
+ _: "inputInlineButtonTypeUrlAuth",
459
+ requestWriteAccess: obj.requestWriteAccess,
460
+ fwdText: obj.fwdText,
461
+ url: obj.url,
462
+ bot: obj.bot
463
+ }
464
+ };
465
+ default:
466
+ return obj;
467
+ }
468
+ }
469
+ function toInlineButton(btn) {
470
+ const mapped = btn;
471
+ if (mapped._ !== "keyboardInlineButton") {
472
+ throw new errors.MtTypeAssertionError("mapCompatReplyMarkup (@ rows[*].buttons[*])", "keyboardInlineButton", mapped._);
473
+ }
474
+ return mapped;
475
+ }
476
+ function mapCompatReplyMarkup(obj) {
477
+ switch (obj._) {
478
+ case "replyInlineMarkup_layer228":
479
+ return {
480
+ _: "replyInlineMarkup",
481
+ rows: obj.rows.map((row) => ({
482
+ _: "keyboardInlineButtonRow",
483
+ buttons: row.buttons.map(toInlineButton)
484
+ }))
485
+ };
362
486
  default:
363
487
  return obj;
364
488
  }
@@ -406,6 +530,7 @@ function mapCompatObject(obj) {
406
530
  case "messageActionStarGift_layer216":
407
531
  case "messageActionStarGift_layer218":
408
532
  case "messageActionStarGiftUnique_layer221":
533
+ case "messageActionStarGiftUnique_layer228":
409
534
  return mapCompatMessageAction(obj);
410
535
  case "userFull_layer199":
411
536
  return replaceType(dropFields(obj, ["premiumGifts"]), "userFull");
@@ -435,6 +560,20 @@ function mapCompatObject(obj) {
435
560
  };
436
561
  case "channelFull_layer211":
437
562
  return replaceType(obj, "channelFull");
563
+ case "user_layer227":
564
+ return {
565
+ ...obj,
566
+ _: "user",
567
+ emojiStatus: obj.emojiStatus ? mapCompatEmojiStatus(obj.emojiStatus) : void 0
568
+ };
569
+ case "channel_layer227":
570
+ return {
571
+ ...obj,
572
+ _: "channel",
573
+ emojiStatus: obj.emojiStatus ? mapCompatEmojiStatus(obj.emojiStatus) : void 0
574
+ };
575
+ case "botCommand_layer227":
576
+ return replaceType(obj, "botCommand");
438
577
  case "phoneCallDiscardReasonAllowGroupCall_layer202":
439
578
  return { _: "phoneCallDiscardReasonMissed" };
440
579
  case "message_layer199":
@@ -492,25 +631,46 @@ function mapCompatObject(obj) {
492
631
  case "poll_layer224":
493
632
  return mapCompatPoll(obj);
494
633
  case "keyboardButton_layer221":
634
+ case "keyboardButton_layer228":
495
635
  case "keyboardButtonUrl_layer221":
636
+ case "keyboardButtonUrl_layer228":
496
637
  case "keyboardButtonCallback_layer221":
638
+ case "keyboardButtonCallback_layer228":
497
639
  case "keyboardButtonRequestPhone_layer221":
640
+ case "keyboardButtonRequestPhone_layer228":
498
641
  case "keyboardButtonRequestGeoLocation_layer221":
642
+ case "keyboardButtonRequestGeoLocation_layer228":
499
643
  case "keyboardButtonSwitchInline_layer221":
644
+ case "keyboardButtonSwitchInline_layer228":
500
645
  case "keyboardButtonGame_layer221":
646
+ case "keyboardButtonGame_layer228":
501
647
  case "keyboardButtonBuy_layer221":
648
+ case "keyboardButtonBuy_layer228":
502
649
  case "keyboardButtonUrlAuth_layer221":
650
+ case "keyboardButtonUrlAuth_layer228":
503
651
  case "inputKeyboardButtonUrlAuth_layer221":
652
+ case "inputKeyboardButtonUrlAuth_layer228":
504
653
  case "keyboardButtonRequestPoll_layer221":
654
+ case "keyboardButtonRequestPoll_layer228":
505
655
  case "inputKeyboardButtonUserProfile_layer221":
656
+ case "inputKeyboardButtonUserProfile_layer228":
506
657
  case "keyboardButtonUserProfile_layer221":
658
+ case "keyboardButtonUserProfile_layer228":
507
659
  case "keyboardButtonWebView_layer221":
660
+ case "keyboardButtonWebView_layer228":
508
661
  case "keyboardButtonSimpleWebView_layer221":
662
+ case "keyboardButtonSimpleWebView_layer228":
509
663
  case "keyboardButtonRequestPeer_layer221":
664
+ case "keyboardButtonRequestPeer_layer228":
510
665
  case "inputKeyboardButtonRequestPeer_layer221":
666
+ case "inputKeyboardButtonRequestPeer_layer228":
511
667
  case "keyboardButtonCopy_layer221":
668
+ case "keyboardButtonCopy_layer228":
512
669
  return mapCompatKeyboardButton(obj);
670
+ case "replyInlineMarkup_layer228":
671
+ return mapCompatReplyMarkup(obj);
513
672
  case "pageBlockOrderedList_layer225":
673
+ case "pageBlockBlockquote_layer228":
514
674
  return mapCompatPageBlock(obj);
515
675
  case "pageListOrderedItemBlocks_layer225":
516
676
  return mapCompatPageListOrderedItem(obj);
@@ -5,6 +5,7 @@ import Long from "long";
5
5
  import { PeersIndex } from "../../highlevel/types/peers/peers-index.js";
6
6
  import { __tlReaderMap } from "../../tl/binary/reader.js";
7
7
  import { __tlReaderMapCompat } from "../../tl/compat/reader.js";
8
+ import { MtTypeAssertionError } from "../../types/errors.js";
8
9
  import { isAnyUser, isAnyChat } from "../../tl/inner-tl.js";
9
10
  function replaceType(obj, type) {
10
11
  return Object.assign(obj, { _: type });
@@ -165,6 +166,8 @@ function mapCompatPageBlock(obj) {
165
166
  _: "pageBlockOrderedList",
166
167
  items: obj.items.map(mapCompatPageListOrderedItem)
167
168
  };
169
+ case "pageBlockBlockquote_layer228":
170
+ return replaceType(obj, "pageBlockBlockquote");
168
171
  case "pageBlockList":
169
172
  return {
170
173
  ...obj,
@@ -219,6 +222,7 @@ function mapCompatMessageAction(obj) {
219
222
  case "messageActionStarGiftUnique_layer202":
220
223
  case "messageActionStarGiftUnique_layer214":
221
224
  case "messageActionStarGiftUnique_layer221":
225
+ case "messageActionStarGiftUnique_layer228":
222
226
  return {
223
227
  ...obj,
224
228
  _: "messageActionStarGiftUnique",
@@ -301,7 +305,8 @@ function mapCompatMessage(obj) {
301
305
  ...obj,
302
306
  _: "message",
303
307
  media: obj.media ? mapCompatMessageMedia(obj.media) : void 0,
304
- replyTo: obj.replyTo ? mapMessageReplyHeader(obj.replyTo) : void 0
308
+ replyTo: obj.replyTo ? mapMessageReplyHeader(obj.replyTo) : void 0,
309
+ replyMarkup: obj.replyMarkup ? mapCompatReplyMarkup(obj.replyMarkup) : void 0
305
310
  };
306
311
  case "messageService_layer204":
307
312
  return {
@@ -315,43 +320,162 @@ function mapCompatMessage(obj) {
315
320
  }
316
321
  }
317
322
  function mapCompatKeyboardButton(obj) {
323
+ const style = "style" in obj ? obj.style : void 0;
318
324
  switch (obj._) {
319
325
  case "keyboardButton_layer221":
320
- return replaceType(obj, "keyboardButton");
321
- case "keyboardButtonUrl_layer221":
322
- return replaceType(obj, "keyboardButtonUrl");
323
- case "keyboardButtonCallback_layer221":
324
- return replaceType(obj, "keyboardButtonCallback");
326
+ case "keyboardButton_layer228":
327
+ return { _: "keyboardButton", style, text: obj.text, type: { _: "buttonTypeDefault" } };
325
328
  case "keyboardButtonRequestPhone_layer221":
326
- return replaceType(obj, "keyboardButtonRequestPhone");
329
+ case "keyboardButtonRequestPhone_layer228":
330
+ return { _: "keyboardButton", style, text: obj.text, type: { _: "buttonTypeRequestPhone" } };
327
331
  case "keyboardButtonRequestGeoLocation_layer221":
328
- return replaceType(obj, "keyboardButtonRequestGeoLocation");
329
- case "keyboardButtonSwitchInline_layer221":
330
- return replaceType(obj, "keyboardButtonSwitchInline");
331
- case "keyboardButtonGame_layer221":
332
- return replaceType(obj, "keyboardButtonGame");
333
- case "keyboardButtonBuy_layer221":
334
- return replaceType(obj, "keyboardButtonBuy");
335
- case "keyboardButtonUrlAuth_layer221":
336
- return replaceType(obj, "keyboardButtonUrlAuth");
337
- case "inputKeyboardButtonUrlAuth_layer221":
338
- return replaceType(obj, "inputKeyboardButtonUrlAuth");
332
+ case "keyboardButtonRequestGeoLocation_layer228":
333
+ return { _: "keyboardButton", style, text: obj.text, type: { _: "buttonTypeRequestGeoLocation" } };
339
334
  case "keyboardButtonRequestPoll_layer221":
340
- return replaceType(obj, "keyboardButtonRequestPoll");
341
- case "inputKeyboardButtonUserProfile_layer221":
342
- return replaceType(obj, "inputKeyboardButtonUserProfile");
343
- case "keyboardButtonUserProfile_layer221":
344
- return replaceType(obj, "keyboardButtonUserProfile");
345
- case "keyboardButtonWebView_layer221":
346
- return replaceType(obj, "keyboardButtonWebView");
335
+ case "keyboardButtonRequestPoll_layer228":
336
+ return { _: "keyboardButton", style, text: obj.text, type: { _: "buttonTypeRequestPoll", quiz: obj.quiz } };
347
337
  case "keyboardButtonSimpleWebView_layer221":
348
- return replaceType(obj, "keyboardButtonSimpleWebView");
338
+ case "keyboardButtonSimpleWebView_layer228":
339
+ return { _: "keyboardButton", style, text: obj.text, type: { _: "buttonTypeSimpleWebView", url: obj.url } };
349
340
  case "keyboardButtonRequestPeer_layer221":
350
- return replaceType(obj, "keyboardButtonRequestPeer");
341
+ case "keyboardButtonRequestPeer_layer228":
342
+ return {
343
+ _: "keyboardButton",
344
+ style,
345
+ text: obj.text,
346
+ type: {
347
+ _: "buttonTypeRequestPeer",
348
+ buttonId: obj.buttonId,
349
+ peerType: obj.peerType,
350
+ maxQuantity: obj.maxQuantity
351
+ }
352
+ };
351
353
  case "inputKeyboardButtonRequestPeer_layer221":
352
- return replaceType(obj, "inputKeyboardButtonRequestPeer");
354
+ case "inputKeyboardButtonRequestPeer_layer228":
355
+ return {
356
+ _: "keyboardButton",
357
+ style,
358
+ text: obj.text,
359
+ type: {
360
+ _: "inputButtonTypeRequestPeer",
361
+ nameRequested: obj.nameRequested,
362
+ usernameRequested: obj.usernameRequested,
363
+ photoRequested: obj.photoRequested,
364
+ buttonId: obj.buttonId,
365
+ peerType: obj.peerType,
366
+ maxQuantity: obj.maxQuantity
367
+ }
368
+ };
369
+ case "keyboardButtonUrl_layer221":
370
+ case "keyboardButtonUrl_layer228":
371
+ return { _: "keyboardInlineButton", style, text: obj.text, type: { _: "inlineButtonTypeUrl", url: obj.url } };
372
+ case "keyboardButtonCallback_layer221":
373
+ case "keyboardButtonCallback_layer228":
374
+ return {
375
+ _: "keyboardInlineButton",
376
+ style,
377
+ text: obj.text,
378
+ type: { _: "inlineButtonTypeCallback", requiresPassword: obj.requiresPassword, data: obj.data }
379
+ };
380
+ case "keyboardButtonGame_layer221":
381
+ case "keyboardButtonGame_layer228":
382
+ return { _: "keyboardInlineButton", style, text: obj.text, type: { _: "inlineButtonTypeGame" } };
383
+ case "keyboardButtonBuy_layer221":
384
+ case "keyboardButtonBuy_layer228":
385
+ return { _: "keyboardInlineButton", style, text: obj.text, type: { _: "inlineButtonTypeBuy" } };
386
+ case "keyboardButtonWebView_layer221":
387
+ case "keyboardButtonWebView_layer228":
388
+ return {
389
+ _: "keyboardInlineButton",
390
+ style,
391
+ text: obj.text,
392
+ type: { _: "inlineButtonTypeWebView", url: obj.url }
393
+ };
353
394
  case "keyboardButtonCopy_layer221":
354
- return replaceType(obj, "keyboardButtonCopy");
395
+ case "keyboardButtonCopy_layer228":
396
+ return {
397
+ _: "keyboardInlineButton",
398
+ style,
399
+ text: obj.text,
400
+ type: { _: "inlineButtonTypeCopy", copyText: obj.copyText }
401
+ };
402
+ case "keyboardButtonUserProfile_layer221":
403
+ case "keyboardButtonUserProfile_layer228":
404
+ return {
405
+ _: "keyboardInlineButton",
406
+ style,
407
+ text: obj.text,
408
+ type: { _: "inlineButtonTypeUserProfile", userId: obj.userId }
409
+ };
410
+ case "inputKeyboardButtonUserProfile_layer221":
411
+ case "inputKeyboardButtonUserProfile_layer228":
412
+ return {
413
+ _: "keyboardInlineButton",
414
+ style,
415
+ text: obj.text,
416
+ type: { _: "inputInlineButtonTypeUserProfile", userId: obj.userId }
417
+ };
418
+ case "keyboardButtonSwitchInline_layer221":
419
+ case "keyboardButtonSwitchInline_layer228":
420
+ return {
421
+ _: "keyboardInlineButton",
422
+ style,
423
+ text: obj.text,
424
+ type: {
425
+ _: "inlineButtonTypeSwitchInline",
426
+ samePeer: obj.samePeer,
427
+ query: obj.query,
428
+ peerTypes: obj.peerTypes
429
+ }
430
+ };
431
+ case "keyboardButtonUrlAuth_layer221":
432
+ case "keyboardButtonUrlAuth_layer228":
433
+ return {
434
+ _: "keyboardInlineButton",
435
+ style,
436
+ text: obj.text,
437
+ type: {
438
+ _: "inlineButtonTypeUrlAuth",
439
+ fwdText: obj.fwdText,
440
+ url: obj.url,
441
+ buttonId: obj.buttonId
442
+ }
443
+ };
444
+ case "inputKeyboardButtonUrlAuth_layer221":
445
+ case "inputKeyboardButtonUrlAuth_layer228":
446
+ return {
447
+ _: "keyboardInlineButton",
448
+ style,
449
+ text: obj.text,
450
+ type: {
451
+ _: "inputInlineButtonTypeUrlAuth",
452
+ requestWriteAccess: obj.requestWriteAccess,
453
+ fwdText: obj.fwdText,
454
+ url: obj.url,
455
+ bot: obj.bot
456
+ }
457
+ };
458
+ default:
459
+ return obj;
460
+ }
461
+ }
462
+ function toInlineButton(btn) {
463
+ const mapped = btn;
464
+ if (mapped._ !== "keyboardInlineButton") {
465
+ throw new MtTypeAssertionError("mapCompatReplyMarkup (@ rows[*].buttons[*])", "keyboardInlineButton", mapped._);
466
+ }
467
+ return mapped;
468
+ }
469
+ function mapCompatReplyMarkup(obj) {
470
+ switch (obj._) {
471
+ case "replyInlineMarkup_layer228":
472
+ return {
473
+ _: "replyInlineMarkup",
474
+ rows: obj.rows.map((row) => ({
475
+ _: "keyboardInlineButtonRow",
476
+ buttons: row.buttons.map(toInlineButton)
477
+ }))
478
+ };
355
479
  default:
356
480
  return obj;
357
481
  }
@@ -399,6 +523,7 @@ function mapCompatObject(obj) {
399
523
  case "messageActionStarGift_layer216":
400
524
  case "messageActionStarGift_layer218":
401
525
  case "messageActionStarGiftUnique_layer221":
526
+ case "messageActionStarGiftUnique_layer228":
402
527
  return mapCompatMessageAction(obj);
403
528
  case "userFull_layer199":
404
529
  return replaceType(dropFields(obj, ["premiumGifts"]), "userFull");
@@ -428,6 +553,20 @@ function mapCompatObject(obj) {
428
553
  };
429
554
  case "channelFull_layer211":
430
555
  return replaceType(obj, "channelFull");
556
+ case "user_layer227":
557
+ return {
558
+ ...obj,
559
+ _: "user",
560
+ emojiStatus: obj.emojiStatus ? mapCompatEmojiStatus(obj.emojiStatus) : void 0
561
+ };
562
+ case "channel_layer227":
563
+ return {
564
+ ...obj,
565
+ _: "channel",
566
+ emojiStatus: obj.emojiStatus ? mapCompatEmojiStatus(obj.emojiStatus) : void 0
567
+ };
568
+ case "botCommand_layer227":
569
+ return replaceType(obj, "botCommand");
431
570
  case "phoneCallDiscardReasonAllowGroupCall_layer202":
432
571
  return { _: "phoneCallDiscardReasonMissed" };
433
572
  case "message_layer199":
@@ -485,25 +624,46 @@ function mapCompatObject(obj) {
485
624
  case "poll_layer224":
486
625
  return mapCompatPoll(obj);
487
626
  case "keyboardButton_layer221":
627
+ case "keyboardButton_layer228":
488
628
  case "keyboardButtonUrl_layer221":
629
+ case "keyboardButtonUrl_layer228":
489
630
  case "keyboardButtonCallback_layer221":
631
+ case "keyboardButtonCallback_layer228":
490
632
  case "keyboardButtonRequestPhone_layer221":
633
+ case "keyboardButtonRequestPhone_layer228":
491
634
  case "keyboardButtonRequestGeoLocation_layer221":
635
+ case "keyboardButtonRequestGeoLocation_layer228":
492
636
  case "keyboardButtonSwitchInline_layer221":
637
+ case "keyboardButtonSwitchInline_layer228":
493
638
  case "keyboardButtonGame_layer221":
639
+ case "keyboardButtonGame_layer228":
494
640
  case "keyboardButtonBuy_layer221":
641
+ case "keyboardButtonBuy_layer228":
495
642
  case "keyboardButtonUrlAuth_layer221":
643
+ case "keyboardButtonUrlAuth_layer228":
496
644
  case "inputKeyboardButtonUrlAuth_layer221":
645
+ case "inputKeyboardButtonUrlAuth_layer228":
497
646
  case "keyboardButtonRequestPoll_layer221":
647
+ case "keyboardButtonRequestPoll_layer228":
498
648
  case "inputKeyboardButtonUserProfile_layer221":
649
+ case "inputKeyboardButtonUserProfile_layer228":
499
650
  case "keyboardButtonUserProfile_layer221":
651
+ case "keyboardButtonUserProfile_layer228":
500
652
  case "keyboardButtonWebView_layer221":
653
+ case "keyboardButtonWebView_layer228":
501
654
  case "keyboardButtonSimpleWebView_layer221":
655
+ case "keyboardButtonSimpleWebView_layer228":
502
656
  case "keyboardButtonRequestPeer_layer221":
657
+ case "keyboardButtonRequestPeer_layer228":
503
658
  case "inputKeyboardButtonRequestPeer_layer221":
659
+ case "inputKeyboardButtonRequestPeer_layer228":
504
660
  case "keyboardButtonCopy_layer221":
661
+ case "keyboardButtonCopy_layer228":
505
662
  return mapCompatKeyboardButton(obj);
663
+ case "replyInlineMarkup_layer228":
664
+ return mapCompatReplyMarkup(obj);
506
665
  case "pageBlockOrderedList_layer225":
666
+ case "pageBlockBlockquote_layer228":
507
667
  return mapCompatPageBlock(obj);
508
668
  case "pageListOrderedItemBlocks_layer225":
509
669
  return mapCompatPageListOrderedItem(obj);
@@ -21,11 +21,7 @@ class EarlyTimer {
21
21
  emitWhenIdle() {
22
22
  utils.timers.clearTimeout(this._timeout);
23
23
  this._timeoutTs = performance.now();
24
- if (typeof queueMicrotask !== "undefined") {
25
- queueMicrotask(this.emitNow);
26
- } else {
27
- this._timeout = utils.timers.setTimeout(this.emitNow, 0);
28
- }
24
+ queueMicrotask(this.emitNow);
29
25
  }
30
26
  /**
31
27
  * Emit the timer before the next given milliseconds
@@ -46,12 +42,8 @@ class EarlyTimer {
46
42
  if (!this._timeoutTs || ts < this._timeoutTs) {
47
43
  this.reset();
48
44
  const diff = ts - performance.now();
49
- if (diff > 0) {
50
- this._timeout = utils.timers.setTimeout(this.emitNow, diff);
51
- this._timeoutTs = ts;
52
- } else {
53
- this._handler();
54
- }
45
+ this._timeout = utils.timers.setTimeout(this.emitNow, Math.max(diff, 0));
46
+ this._timeoutTs = ts;
55
47
  }
56
48
  }
57
49
  /**