@mtkruto/node 0.67.2 → 0.68.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 (244) hide show
  1. package/esm/0_errors.js +2 -6
  2. package/esm/3_errors.js +2 -12
  3. package/esm/3_types.d.ts +1 -0
  4. package/esm/3_types.d.ts.map +1 -1
  5. package/esm/3_types.js +1 -0
  6. package/esm/4_errors.js +2 -12
  7. package/esm/_dnt.polyfills.d.ts +99 -0
  8. package/esm/_dnt.polyfills.d.ts.map +1 -1
  9. package/esm/_dnt.polyfills.js +127 -1
  10. package/esm/_dnt.test_polyfills.d.ts.map +1 -0
  11. package/esm/client/0_filters_test.d.ts.map +1 -1
  12. package/esm/client/0_markdown_test.d.ts.map +1 -1
  13. package/esm/client/0_params.d.ts +2 -0
  14. package/esm/client/0_params.d.ts.map +1 -1
  15. package/esm/client/0_password.d.ts +5 -5
  16. package/esm/client/0_password.d.ts.map +1 -1
  17. package/esm/client/0_password_test.d.ts.map +1 -1
  18. package/esm/client/0_storage_operations.js +143 -155
  19. package/esm/client/0_storage_operations_test.d.ts.map +1 -1
  20. package/esm/client/0_utilities.d.ts +1 -1
  21. package/esm/client/0_utilities_test.d.ts.map +1 -1
  22. package/esm/client/1_client_plain.js +4 -22
  23. package/esm/client/1_composer.js +8 -21
  24. package/esm/client/2_account_manager.js +85 -97
  25. package/esm/client/2_bot_info_manager.js +26 -38
  26. package/esm/client/2_business_connection_manager.js +10 -23
  27. package/esm/client/2_client_encrypted.js +194 -211
  28. package/esm/client/2_file_manager.d.ts +4 -3
  29. package/esm/client/2_file_manager.d.ts.map +1 -1
  30. package/esm/client/2_file_manager.js +268 -224
  31. package/esm/client/2_file_manager_test.d.ts.map +1 -1
  32. package/esm/client/2_network_statistics_manager.js +8 -21
  33. package/esm/client/2_payment_manager.js +7 -20
  34. package/esm/client/2_reaction_manager.js +7 -20
  35. package/esm/client/2_translations_manager.js +97 -107
  36. package/esm/client/2_update_manager.js +764 -759
  37. package/esm/client/3_client_encrypted_pool.js +10 -26
  38. package/esm/client/3_client_encrypted_pool_test.d.ts.map +1 -1
  39. package/esm/client/3_message_manager.d.ts +1 -1
  40. package/esm/client/3_message_manager.js +441 -448
  41. package/esm/client/3_message_manager_test.d.ts.map +1 -1
  42. package/esm/client/3_video_chat_manager.d.ts +1 -1
  43. package/esm/client/3_video_chat_manager.js +57 -68
  44. package/esm/client/4_callback_query_manager.js +18 -30
  45. package/esm/client/4_chat_list_manager.js +322 -318
  46. package/esm/client/4_chat_manager.js +118 -131
  47. package/esm/client/4_forum_manager.js +67 -73
  48. package/esm/client/4_gift_manager.js +16 -29
  49. package/esm/client/4_inline_query_manager.js +16 -28
  50. package/esm/client/4_link_preview_manager.js +6 -19
  51. package/esm/client/4_poll_manager.js +44 -57
  52. package/esm/client/4_story_manager.js +41 -53
  53. package/esm/client/5_client.d.ts +7 -0
  54. package/esm/client/5_client.d.ts.map +1 -1
  55. package/esm/client/5_client.js +1269 -1288
  56. package/esm/connection/1_connection_tcp.node.js +48 -65
  57. package/esm/connection/1_connection_web_socket.js +75 -91
  58. package/esm/deps/jsr.io/@roj/tgcrypto/1.0.1/dist/tgcrypto.js +3 -11
  59. package/esm/deps/jsr.io/@std/async/1.0.13/mux_async_iterator.js +31 -47
  60. package/esm/deps/jsr.io/@std/async/1.0.13/tee.js +11 -34
  61. package/esm/deps/jsr.io/@std/datetime/0.225.5/_date_time_formatter.js +4 -17
  62. package/esm/mod.js +2 -12
  63. package/esm/session/0_session_state.js +12 -38
  64. package/esm/session/1_session.js +49 -72
  65. package/esm/session/2_session_encrypted.js +324 -320
  66. package/esm/storage/1_utilities_test.d.ts.map +1 -1
  67. package/esm/storage/2_storage_indexed_db.js +26 -44
  68. package/esm/storage/2_storage_local_storage.node.js +12 -25
  69. package/esm/storage/2_storage_memory.js +24 -41
  70. package/esm/storage/2_storage_session_storage.js +3 -16
  71. package/esm/tl/0_utilities_test.d.ts.map +1 -1
  72. package/esm/tl/1_tl_reader.js +80 -88
  73. package/esm/tl/1_tl_reader_test.d.ts.map +1 -1
  74. package/esm/tl/1_tl_writer.js +155 -164
  75. package/esm/tl/1_tl_writer_test.d.ts.map +1 -1
  76. package/esm/transport/0_transport.js +1 -8
  77. package/esm/transport/1_transport_abridged.js +11 -24
  78. package/esm/transport/1_transport_intermediate.js +10 -23
  79. package/esm/transport/2_transport_provider_web_socket.d.ts.map +1 -1
  80. package/esm/types/0_upload_progress.d.ts +29 -0
  81. package/esm/types/0_upload_progress.d.ts.map +1 -0
  82. package/esm/types/0_upload_progress.js +20 -0
  83. package/esm/types/1_sticker.d.ts +1 -1
  84. package/esm/types/1_sticker.d.ts.map +1 -1
  85. package/esm/types/2_poll_answer.d.ts +19 -0
  86. package/esm/types/2_poll_answer.d.ts.map +1 -1
  87. package/esm/types/2_poll_answer.js +19 -0
  88. package/esm/types/7_update.d.ts +21 -2
  89. package/esm/types/7_update.d.ts.map +1 -1
  90. package/esm/utilities/0_bigint_test.d.ts.map +1 -1
  91. package/esm/utilities/0_buffer.d.ts +1 -1
  92. package/esm/utilities/0_buffer.d.ts.map +1 -1
  93. package/esm/utilities/0_buffer_test.d.ts.map +1 -1
  94. package/esm/utilities/0_hash.d.ts +2 -2
  95. package/esm/utilities/0_hash.d.ts.map +1 -1
  96. package/esm/utilities/0_mutex.js +4 -19
  97. package/esm/utilities/0_part_stream.js +11 -25
  98. package/esm/utilities/0_part_stream_test.d.ts.map +1 -1
  99. package/esm/utilities/0_rle.d.ts +2 -2
  100. package/esm/utilities/0_rle.d.ts.map +1 -1
  101. package/esm/utilities/0_rle_test.d.ts.map +1 -1
  102. package/esm/utilities/0_text.d.ts +20 -1
  103. package/esm/utilities/0_text.d.ts.map +1 -1
  104. package/esm/utilities/0_text.js +19 -0
  105. package/esm/utilities/1_auth.d.ts +1 -1
  106. package/esm/utilities/1_auth.d.ts.map +1 -1
  107. package/esm/utilities/1_base64.d.ts +1 -1
  108. package/esm/utilities/1_base64.d.ts.map +1 -1
  109. package/esm/utilities/1_base64_test.d.ts.map +1 -1
  110. package/esm/utilities/1_crypto.js +42 -53
  111. package/esm/utilities/1_crypto_test.d.ts.map +1 -1
  112. package/esm/utilities/1_logger.d.ts +2 -2
  113. package/esm/utilities/1_math_test.d.ts.map +1 -1
  114. package/esm/utilities/2_queue.js +29 -47
  115. package/package.json +1 -1
  116. package/script/0_errors.js +2 -6
  117. package/script/2_tl.js +17 -7
  118. package/script/3_errors.js +2 -12
  119. package/script/3_types.d.ts +1 -0
  120. package/script/3_types.d.ts.map +1 -1
  121. package/script/3_types.js +1 -0
  122. package/script/4_constants.js +17 -7
  123. package/script/4_errors.js +2 -12
  124. package/script/_dnt.polyfills.d.ts +99 -0
  125. package/script/_dnt.polyfills.d.ts.map +1 -1
  126. package/script/_dnt.polyfills.js +128 -0
  127. package/script/_dnt.test_polyfills.d.ts.map +1 -0
  128. package/script/client/0_filters_test.d.ts.map +1 -1
  129. package/script/client/0_markdown_test.d.ts.map +1 -1
  130. package/script/client/0_params.d.ts +2 -0
  131. package/script/client/0_params.d.ts.map +1 -1
  132. package/script/client/0_password.d.ts +5 -5
  133. package/script/client/0_password.d.ts.map +1 -1
  134. package/script/client/0_password.js +17 -7
  135. package/script/client/0_password_test.d.ts.map +1 -1
  136. package/script/client/0_storage_operations.js +143 -155
  137. package/script/client/0_storage_operations_test.d.ts.map +1 -1
  138. package/script/client/0_utilities.d.ts +1 -1
  139. package/script/client/0_utilities_test.d.ts.map +1 -1
  140. package/script/client/1_client_plain.js +4 -22
  141. package/script/client/1_composer.js +8 -21
  142. package/script/client/2_account_manager.js +85 -97
  143. package/script/client/2_bot_info_manager.js +26 -38
  144. package/script/client/2_business_connection_manager.js +10 -23
  145. package/script/client/2_client_encrypted.js +195 -212
  146. package/script/client/2_file_manager.d.ts +4 -3
  147. package/script/client/2_file_manager.d.ts.map +1 -1
  148. package/script/client/2_file_manager.js +285 -231
  149. package/script/client/2_file_manager_test.d.ts.map +1 -1
  150. package/script/client/2_network_statistics_manager.js +8 -21
  151. package/script/client/2_payment_manager.js +7 -20
  152. package/script/client/2_reaction_manager.js +7 -20
  153. package/script/client/2_translations_manager.js +98 -108
  154. package/script/client/2_update_manager.js +764 -759
  155. package/script/client/3_client_encrypted_pool.js +10 -26
  156. package/script/client/3_client_encrypted_pool_test.d.ts.map +1 -1
  157. package/script/client/3_message_manager.d.ts +1 -1
  158. package/script/client/3_message_manager.js +441 -448
  159. package/script/client/3_message_manager_test.d.ts.map +1 -1
  160. package/script/client/3_video_chat_manager.d.ts +1 -1
  161. package/script/client/3_video_chat_manager.js +57 -68
  162. package/script/client/4_callback_query_manager.js +18 -30
  163. package/script/client/4_chat_list_manager.js +322 -318
  164. package/script/client/4_chat_manager.js +118 -131
  165. package/script/client/4_forum_manager.js +67 -73
  166. package/script/client/4_gift_manager.js +16 -29
  167. package/script/client/4_inline_query_manager.js +16 -28
  168. package/script/client/4_link_preview_manager.js +6 -19
  169. package/script/client/4_poll_manager.js +44 -57
  170. package/script/client/4_story_manager.js +41 -53
  171. package/script/client/5_client.d.ts +7 -0
  172. package/script/client/5_client.d.ts.map +1 -1
  173. package/script/client/5_client.js +1269 -1288
  174. package/script/connection/1_connection_tcp.node.js +48 -65
  175. package/script/connection/1_connection_web_socket.js +92 -98
  176. package/script/deps/jsr.io/@roj/tgcrypto/1.0.1/dist/tgcrypto.js +3 -11
  177. package/script/deps/jsr.io/@std/assert/1.0.13/equal.js +17 -7
  178. package/script/deps/jsr.io/@std/async/1.0.13/delay.js +17 -7
  179. package/script/deps/jsr.io/@std/async/1.0.13/mux_async_iterator.js +31 -47
  180. package/script/deps/jsr.io/@std/async/1.0.13/tee.js +11 -34
  181. package/script/deps/jsr.io/@std/datetime/0.225.5/_date_time_formatter.js +4 -17
  182. package/script/deps/jsr.io/@std/internal/1.0.10/format.js +17 -7
  183. package/script/deps/jsr.io/@std/internal/1.0.10/styles.js +17 -7
  184. package/script/deps/jsr.io/@std/path/1.1.0/_os.js +17 -7
  185. package/script/mod.js +19 -19
  186. package/script/session/0_session_state.js +12 -38
  187. package/script/session/1_session.js +66 -79
  188. package/script/session/2_session_encrypted.js +325 -321
  189. package/script/storage/1_utilities_test.d.ts.map +1 -1
  190. package/script/storage/2_storage_indexed_db.js +26 -44
  191. package/script/storage/2_storage_local_storage.node.js +12 -25
  192. package/script/storage/2_storage_memory.js +24 -41
  193. package/script/storage/2_storage_session_storage.js +3 -16
  194. package/script/tl/0_utilities_test.d.ts.map +1 -1
  195. package/script/tl/1_tl_reader.js +81 -89
  196. package/script/tl/1_tl_reader_test.d.ts.map +1 -1
  197. package/script/tl/1_tl_writer.js +156 -165
  198. package/script/tl/1_tl_writer_test.d.ts.map +1 -1
  199. package/script/tl/2_telegram.js +17 -7
  200. package/script/transport/0_obfuscation.js +17 -7
  201. package/script/transport/0_transport.js +1 -8
  202. package/script/transport/1_transport_abridged.js +11 -24
  203. package/script/transport/1_transport_intermediate.js +10 -23
  204. package/script/transport/2_transport_provider_web_socket.d.ts.map +1 -1
  205. package/script/types/0_upload_progress.d.ts +29 -0
  206. package/script/types/0_upload_progress.d.ts.map +1 -0
  207. package/script/types/0_upload_progress.js +21 -0
  208. package/script/types/1_sticker.d.ts +1 -1
  209. package/script/types/1_sticker.d.ts.map +1 -1
  210. package/script/types/2_poll_answer.d.ts +19 -0
  211. package/script/types/2_poll_answer.d.ts.map +1 -1
  212. package/script/types/2_poll_answer.js +19 -0
  213. package/script/types/7_update.d.ts +21 -2
  214. package/script/types/7_update.d.ts.map +1 -1
  215. package/script/utilities/0_bigint.js +17 -7
  216. package/script/utilities/0_bigint_test.d.ts.map +1 -1
  217. package/script/utilities/0_buffer.d.ts +1 -1
  218. package/script/utilities/0_buffer.d.ts.map +1 -1
  219. package/script/utilities/0_buffer_test.d.ts.map +1 -1
  220. package/script/utilities/0_env.js +17 -7
  221. package/script/utilities/0_hash.d.ts +2 -2
  222. package/script/utilities/0_hash.d.ts.map +1 -1
  223. package/script/utilities/0_hash.js +17 -7
  224. package/script/utilities/0_misc.js +17 -7
  225. package/script/utilities/0_mutex.js +4 -19
  226. package/script/utilities/0_part_stream.js +11 -25
  227. package/script/utilities/0_part_stream_test.d.ts.map +1 -1
  228. package/script/utilities/0_rle.d.ts +2 -2
  229. package/script/utilities/0_rle.d.ts.map +1 -1
  230. package/script/utilities/0_rle_test.d.ts.map +1 -1
  231. package/script/utilities/0_text.d.ts +20 -1
  232. package/script/utilities/0_text.d.ts.map +1 -1
  233. package/script/utilities/0_text.js +19 -0
  234. package/script/utilities/1_auth.d.ts +1 -1
  235. package/script/utilities/1_auth.d.ts.map +1 -1
  236. package/script/utilities/1_auth.js +17 -7
  237. package/script/utilities/1_base64.d.ts +1 -1
  238. package/script/utilities/1_base64.d.ts.map +1 -1
  239. package/script/utilities/1_base64_test.d.ts.map +1 -1
  240. package/script/utilities/1_crypto.js +60 -61
  241. package/script/utilities/1_crypto_test.d.ts.map +1 -1
  242. package/script/utilities/1_logger.d.ts +2 -2
  243. package/script/utilities/1_math_test.d.ts.map +1 -1
  244. package/script/utilities/2_queue.js +30 -48
@@ -18,38 +18,33 @@
18
18
  * You should have received a copy of the GNU Lesser General Public License
19
19
  * along with this program. If not, see <https://www.gnu.org/licenses/>.
20
20
  */
21
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
22
- if (kind === "m") throw new TypeError("Private method is not writable");
23
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
24
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
25
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
26
- };
27
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
28
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
29
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
30
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
31
- };
32
- var _ForumManager_instances, _a, _ForumManager_c, _ForumManager_validateTopicTitle, _ForumManager_assertNongenralTopicIdValid, _ForumManager_assertAnyTopicIdValid, _ForumManager_toggleGeneralTopicHidden, _ForumManager_toggleNongeneralTopicClosed, _ForumManager_setTopicPinned;
21
+ var _a;
33
22
  Object.defineProperty(exports, "__esModule", { value: true });
34
23
  exports.ForumManager = void 0;
35
24
  const _0_errors_js_1 = require("../0_errors.js");
36
25
  const _1_utilities_js_1 = require("../1_utilities.js");
37
26
  const _3_types_js_1 = require("../3_types.js");
38
27
  class ForumManager {
28
+ #c;
39
29
  constructor(c) {
40
- _ForumManager_instances.add(this);
41
- _ForumManager_c.set(this, void 0);
42
- __classPrivateFieldSet(this, _ForumManager_c, c, "f");
30
+ this.#c = c;
31
+ }
32
+ static #validateTopicTitle(title) {
33
+ title = title.trim();
34
+ if (!title) {
35
+ throw new InputEvent("Invalid topic title.");
36
+ }
37
+ return title;
43
38
  }
44
39
  async createTopic(chatId, title, params) {
45
- title = __classPrivateFieldGet(_a, _a, "m", _ForumManager_validateTopicTitle).call(_a, title);
40
+ title = _a.#validateTopicTitle(title);
46
41
  let send_as;
47
42
  if (params?.sendAs) {
48
- __classPrivateFieldGet(this, _ForumManager_c, "f").storage.assertUser("sendAs");
49
- send_as = await __classPrivateFieldGet(this, _ForumManager_c, "f").getInputPeer(params.sendAs);
43
+ this.#c.storage.assertUser("sendAs");
44
+ send_as = await this.#c.getInputPeer(params.sendAs);
50
45
  }
51
- const channel = await __classPrivateFieldGet(this, _ForumManager_c, "f").getInputChannel(chatId);
52
- const updates = await __classPrivateFieldGet(this, _ForumManager_c, "f").invoke({
46
+ const channel = await this.#c.getInputChannel(chatId);
47
+ const updates = await this.#c.invoke({
53
48
  _: "channels.createForumTopic",
54
49
  channel,
55
50
  title,
@@ -58,81 +53,80 @@ class ForumManager {
58
53
  send_as,
59
54
  random_id: (0, _1_utilities_js_1.getRandomId)(),
60
55
  });
61
- const message = (await __classPrivateFieldGet(this, _ForumManager_c, "f").messageManager.updatesToMessages(chatId, updates))[0];
56
+ const message = (await this.#c.messageManager.updatesToMessages(chatId, updates))[0];
62
57
  return (0, _3_types_js_1.constructTopic)((0, _3_types_js_1.assertMessageType)(message, "forumTopicCreated"));
63
58
  }
59
+ static #assertNongenralTopicIdValid(topicId) {
60
+ if (!topicId || topicId < 2) {
61
+ throw new _0_errors_js_1.InputError("Invalid topic ID.");
62
+ }
63
+ }
64
+ static #assertAnyTopicIdValid(topicId) {
65
+ if (!topicId || topicId < 1) {
66
+ throw new _0_errors_js_1.InputError("Invalid topic ID.");
67
+ }
68
+ }
64
69
  async editTopic(chatId, topicId, title, params) {
65
- __classPrivateFieldGet(_a, _a, "m", _ForumManager_assertNongenralTopicIdValid).call(_a, topicId);
66
- title = __classPrivateFieldGet(_a, _a, "m", _ForumManager_validateTopicTitle).call(_a, title);
67
- const channel = await __classPrivateFieldGet(this, _ForumManager_c, "f").getInputChannel(chatId);
68
- const updates = await __classPrivateFieldGet(this, _ForumManager_c, "f").invoke({
70
+ _a.#assertNongenralTopicIdValid(topicId);
71
+ title = _a.#validateTopicTitle(title);
72
+ const channel = await this.#c.getInputChannel(chatId);
73
+ const updates = await this.#c.invoke({
69
74
  _: "channels.editForumTopic",
70
75
  channel,
71
76
  topic_id: topicId,
72
77
  title,
73
78
  icon_emoji_id: params?.customEmojiId ? BigInt(params.customEmojiId) : undefined,
74
79
  });
75
- const message = (await __classPrivateFieldGet(this, _ForumManager_c, "f").messageManager.updatesToMessages(chatId, updates))[0];
80
+ const message = (await this.#c.messageManager.updatesToMessages(chatId, updates))[0];
76
81
  return (0, _3_types_js_1.constructTopic)((0, _3_types_js_1.assertMessageType)(message, "forumTopicEdited"));
77
82
  }
83
+ async #toggleGeneralTopicHidden(chatId, hidden) {
84
+ const channel = await this.#c.getInputChannel(chatId);
85
+ await this.#c.invoke({
86
+ _: "channels.editForumTopic",
87
+ channel,
88
+ topic_id: 1,
89
+ hidden,
90
+ });
91
+ }
78
92
  async hideGeneralTopic(chatId) {
79
- await __classPrivateFieldGet(this, _ForumManager_instances, "m", _ForumManager_toggleGeneralTopicHidden).call(this, chatId, true);
93
+ await this.#toggleGeneralTopicHidden(chatId, true);
80
94
  }
81
95
  async showGeneralTopic(chatId) {
82
- await __classPrivateFieldGet(this, _ForumManager_instances, "m", _ForumManager_toggleGeneralTopicHidden).call(this, chatId, false);
96
+ await this.#toggleGeneralTopicHidden(chatId, false);
97
+ }
98
+ async #toggleNongeneralTopicClosed(chatId, topicId, closed) {
99
+ _a.#assertNongenralTopicIdValid(topicId);
100
+ const channel = await this.#c.getInputChannel(chatId);
101
+ await this.#c.invoke({
102
+ _: "channels.editForumTopic",
103
+ channel,
104
+ topic_id: 1,
105
+ closed,
106
+ });
83
107
  }
84
108
  async closeTopic(chatId, topicId) {
85
- await __classPrivateFieldGet(this, _ForumManager_instances, "m", _ForumManager_toggleNongeneralTopicClosed).call(this, chatId, topicId, true);
109
+ await this.#toggleNongeneralTopicClosed(chatId, topicId, true);
86
110
  }
87
111
  async reopenTopic(chatId, topicId) {
88
- await __classPrivateFieldGet(this, _ForumManager_instances, "m", _ForumManager_toggleNongeneralTopicClosed).call(this, chatId, topicId, false);
112
+ await this.#toggleNongeneralTopicClosed(chatId, topicId, false);
113
+ }
114
+ async #setTopicPinned(chatId, topicId, pinned) {
115
+ _a.#assertAnyTopicIdValid(topicId);
116
+ const channel = await this.#c.getInputChannel(chatId);
117
+ await this.#c.invoke({
118
+ _: "channels.updatePinnedForumTopic",
119
+ channel,
120
+ topic_id: 1,
121
+ pinned,
122
+ });
89
123
  }
90
124
  async pinTopic(chatId, topicId) {
91
- await __classPrivateFieldGet(this, _ForumManager_instances, "m", _ForumManager_setTopicPinned).call(this, chatId, topicId, true);
125
+ await this.#setTopicPinned(chatId, topicId, true);
92
126
  }
93
127
  async unpinTopic(chatId, topicId) {
94
- await __classPrivateFieldGet(this, _ForumManager_instances, "m", _ForumManager_setTopicPinned).call(this, chatId, topicId, false);
128
+ await this.#setTopicPinned(chatId, topicId, false);
95
129
  }
96
130
  }
97
131
  exports.ForumManager = ForumManager;
98
- _a = ForumManager, _ForumManager_c = new WeakMap(), _ForumManager_instances = new WeakSet(), _ForumManager_validateTopicTitle = function _ForumManager_validateTopicTitle(title) {
99
- title = title.trim();
100
- if (!title) {
101
- throw new InputEvent("Invalid topic title.");
102
- }
103
- return title;
104
- }, _ForumManager_assertNongenralTopicIdValid = function _ForumManager_assertNongenralTopicIdValid(topicId) {
105
- if (!topicId || topicId < 2) {
106
- throw new _0_errors_js_1.InputError("Invalid topic ID.");
107
- }
108
- }, _ForumManager_assertAnyTopicIdValid = function _ForumManager_assertAnyTopicIdValid(topicId) {
109
- if (!topicId || topicId < 1) {
110
- throw new _0_errors_js_1.InputError("Invalid topic ID.");
111
- }
112
- }, _ForumManager_toggleGeneralTopicHidden = async function _ForumManager_toggleGeneralTopicHidden(chatId, hidden) {
113
- const channel = await __classPrivateFieldGet(this, _ForumManager_c, "f").getInputChannel(chatId);
114
- await __classPrivateFieldGet(this, _ForumManager_c, "f").invoke({
115
- _: "channels.editForumTopic",
116
- channel,
117
- topic_id: 1,
118
- hidden,
119
- });
120
- }, _ForumManager_toggleNongeneralTopicClosed = async function _ForumManager_toggleNongeneralTopicClosed(chatId, topicId, closed) {
121
- __classPrivateFieldGet(_a, _a, "m", _ForumManager_assertNongenralTopicIdValid).call(_a, topicId);
122
- const channel = await __classPrivateFieldGet(this, _ForumManager_c, "f").getInputChannel(chatId);
123
- await __classPrivateFieldGet(this, _ForumManager_c, "f").invoke({
124
- _: "channels.editForumTopic",
125
- channel,
126
- topic_id: 1,
127
- closed,
128
- });
129
- }, _ForumManager_setTopicPinned = async function _ForumManager_setTopicPinned(chatId, topicId, pinned) {
130
- __classPrivateFieldGet(_a, _a, "m", _ForumManager_assertAnyTopicIdValid).call(_a, topicId);
131
- const channel = await __classPrivateFieldGet(this, _ForumManager_c, "f").getInputChannel(chatId);
132
- await __classPrivateFieldGet(this, _ForumManager_c, "f").invoke({
133
- _: "channels.updatePinnedForumTopic",
134
- channel,
135
- topic_id: 1,
136
- pinned,
137
- });
138
- };
132
+ _a = ForumManager;
@@ -18,18 +18,6 @@
18
18
  * You should have received a copy of the GNU Lesser General Public License
19
19
  * along with this program. If not, see <https://www.gnu.org/licenses/>.
20
20
  */
21
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
22
- if (kind === "m") throw new TypeError("Private method is not writable");
23
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
24
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
25
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
26
- };
27
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
28
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
29
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
30
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
31
- };
32
- var _GiftManager_c;
33
21
  Object.defineProperty(exports, "__esModule", { value: true });
34
22
  exports.GiftManager = void 0;
35
23
  const _0_deps_js_1 = require("../0_deps.js");
@@ -38,45 +26,45 @@ const _2_tl_js_1 = require("../2_tl.js");
38
26
  const _3_types_js_1 = require("../3_types.js");
39
27
  const _0_utilities_js_1 = require("./0_utilities.js");
40
28
  class GiftManager {
29
+ #c;
41
30
  constructor(c) {
42
- _GiftManager_c.set(this, void 0);
43
- __classPrivateFieldSet(this, _GiftManager_c, c, "f");
31
+ this.#c = c;
44
32
  }
45
33
  async getGifts() {
46
- const gifts = await __classPrivateFieldGet(this, _GiftManager_c, "f").invoke({ _: "payments.getStarGifts", hash: 0 });
34
+ const gifts = await this.#c.invoke({ _: "payments.getStarGifts", hash: 0 });
47
35
  if (!(_2_tl_js_1.Api.is("payments.starGifts", gifts))) {
48
36
  (0, _0_deps_js_1.unreachable)();
49
37
  }
50
- return await Promise.all(gifts.gifts.map((v) => (0, _3_types_js_1.constructGift)(v, __classPrivateFieldGet(this, _GiftManager_c, "f").getEntity)));
38
+ return await Promise.all(gifts.gifts.map((v) => (0, _3_types_js_1.constructGift)(v, this.#c.getEntity)));
51
39
  }
52
40
  async getClaimedGifts(chatId, params) {
53
- __classPrivateFieldGet(this, _GiftManager_c, "f").storage.assertUser("getClaimedGifts");
41
+ this.#c.storage.assertUser("getClaimedGifts");
54
42
  const offset = params?.offset ?? "";
55
43
  const limit = (0, _0_utilities_js_1.getLimit)(params?.limit);
56
- const peer = await __classPrivateFieldGet(this, _GiftManager_c, "f").getInputPeer(chatId);
57
- const result = await __classPrivateFieldGet(this, _GiftManager_c, "f").invoke({ _: "payments.getSavedStarGifts", peer, offset, limit });
58
- return await (0, _3_types_js_1.constructClaimedGifts)(result, __classPrivateFieldGet(this, _GiftManager_c, "f").getEntity);
44
+ const peer = await this.#c.getInputPeer(chatId);
45
+ const result = await this.#c.invoke({ _: "payments.getSavedStarGifts", peer, offset, limit });
46
+ return await (0, _3_types_js_1.constructClaimedGifts)(result, this.#c.getEntity);
59
47
  }
60
48
  async sendGift(chatId, giftId, params) {
61
49
  const hide_name = params?.private ? true : undefined;
62
50
  const include_upgrade = params?.upgrade ? true : undefined;
63
- const peer = await __classPrivateFieldGet(this, _GiftManager_c, "f").getInputPeer(chatId);
51
+ const peer = await this.#c.getInputPeer(chatId);
64
52
  const gift_id = BigInt(giftId);
65
53
  let message;
66
54
  if (params?.message) {
67
- const parsedText = await __classPrivateFieldGet(this, _GiftManager_c, "f").messageManager.parseText(params.message, params);
55
+ const parsedText = await this.#c.messageManager.parseText(params.message, params);
68
56
  message = { _: "textWithEntities", text: parsedText[0], entities: parsedText[1] ?? [] };
69
57
  }
70
58
  const invoice = { _: "inputInvoiceStarGift", hide_name, include_upgrade, peer, gift_id, message };
71
- const paymentForm = await __classPrivateFieldGet(this, _GiftManager_c, "f").invoke({ _: "payments.getPaymentForm", invoice });
72
- await __classPrivateFieldGet(this, _GiftManager_c, "f").invoke({ _: "payments.sendStarsForm", form_id: paymentForm.form_id, invoice });
59
+ const paymentForm = await this.#c.invoke({ _: "payments.getPaymentForm", invoice });
60
+ await this.#c.invoke({ _: "payments.sendStarsForm", form_id: paymentForm.form_id, invoice });
73
61
  }
74
62
  async sellGift(userId, messageId) {
75
- const message = await __classPrivateFieldGet(this, _GiftManager_c, "f").messageManager.getMessage(userId, messageId);
63
+ const message = await this.#c.messageManager.getMessage(userId, messageId);
76
64
  if (message == null) {
77
65
  throw new _0_errors_js_1.InputError("Message not found.");
78
66
  }
79
- await __classPrivateFieldGet(this, _GiftManager_c, "f").invoke({ _: "payments.convertStarGift", stargift: { _: "inputSavedStarGiftUser", msg_id: message.id } });
67
+ await this.#c.invoke({ _: "payments.convertStarGift", stargift: { _: "inputSavedStarGiftUser", msg_id: message.id } });
80
68
  }
81
69
  async getGift(slug) {
82
70
  if (slug.length > 100) {
@@ -86,9 +74,8 @@ class GiftManager {
86
74
  if (!/^[a-z]+-[1-9][0-9]*$/.test(slug)) {
87
75
  throw new _0_errors_js_1.InputError("Invalid slug.");
88
76
  }
89
- const result = await __classPrivateFieldGet(this, _GiftManager_c, "f").invoke({ _: "payments.getUniqueStarGift", slug });
90
- return await (0, _3_types_js_1.constructGift)(result.gift, __classPrivateFieldGet(this, _GiftManager_c, "f").getEntity.bind(this));
77
+ const result = await this.#c.invoke({ _: "payments.getUniqueStarGift", slug });
78
+ return await (0, _3_types_js_1.constructGift)(result.gift, this.#c.getEntity.bind(this));
91
79
  }
92
80
  }
93
81
  exports.GiftManager = GiftManager;
94
- _GiftManager_c = new WeakMap();
@@ -18,18 +18,6 @@
18
18
  * You should have received a copy of the GNU Lesser General Public License
19
19
  * along with this program. If not, see <https://www.gnu.org/licenses/>.
20
20
  */
21
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
22
- if (kind === "m") throw new TypeError("Private method is not writable");
23
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
24
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
25
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
26
- };
27
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
28
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
29
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
30
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
31
- };
32
- var _a, _InlineQueryManager_c, _InlineQueryManager_isExpired;
33
21
  Object.defineProperty(exports, "__esModule", { value: true });
34
22
  exports.InlineQueryManager = void 0;
35
23
  const _0_deps_js_1 = require("../0_deps.js");
@@ -41,46 +29,46 @@ const inlineQueryManagerUpdates = [
41
29
  "updateBotInlineSend",
42
30
  ];
43
31
  class InlineQueryManager {
32
+ #c;
44
33
  constructor(c) {
45
- _InlineQueryManager_c.set(this, void 0);
46
- __classPrivateFieldSet(this, _InlineQueryManager_c, c, "f");
34
+ this.#c = c;
47
35
  }
48
36
  async answerInlineQuery(id, results, params) {
49
- __classPrivateFieldGet(this, _InlineQueryManager_c, "f").storage.assertBot("answerInlineQuery");
37
+ this.#c.storage.assertBot("answerInlineQuery");
50
38
  (0, _0_utilities_js_1.checkInlineQueryId)(id);
51
- await __classPrivateFieldGet(this, _InlineQueryManager_c, "f").invoke({ _: "messages.setInlineBotResults", query_id: BigInt(id), results: await Promise.all(results.map((v) => (0, _3_types_js_1.inlineQueryResultToTlObject)(v, __classPrivateFieldGet(this, _InlineQueryManager_c, "f").messageManager.parseText.bind(__classPrivateFieldGet(this, _InlineQueryManager_c, "f").messageManager), __classPrivateFieldGet(this, _InlineQueryManager_c, "f").messageManager.usernameResolver.bind(__classPrivateFieldGet(this, _InlineQueryManager_c, "f").messageManager)))), cache_time: params?.cacheTime ?? 300, private: params?.isPersonal ? true : undefined, switch_webview: params?.button && params.button.miniApp ? ({ _: "inlineBotWebView", text: params.button.text, url: params.button.miniApp.url }) : undefined, switch_pm: params?.button && params.button.startParameter ? ({ _: "inlineBotSwitchPM", text: params.button.text, start_param: params.button.startParameter }) : undefined, gallery: params?.isGallery ? true : undefined, next_offset: params?.nextOffset });
39
+ await this.#c.invoke({ _: "messages.setInlineBotResults", query_id: BigInt(id), results: await Promise.all(results.map((v) => (0, _3_types_js_1.inlineQueryResultToTlObject)(v, this.#c.messageManager.parseText.bind(this.#c.messageManager), this.#c.messageManager.usernameResolver.bind(this.#c.messageManager)))), cache_time: params?.cacheTime ?? 300, private: params?.isPersonal ? true : undefined, switch_webview: params?.button && params.button.miniApp ? ({ _: "inlineBotWebView", text: params.button.text, url: params.button.miniApp.url }) : undefined, switch_pm: params?.button && params.button.startParameter ? ({ _: "inlineBotSwitchPM", text: params.button.text, start_param: params.button.startParameter }) : undefined, gallery: params?.isGallery ? true : undefined, next_offset: params?.nextOffset });
52
40
  }
53
41
  canHandleUpdate(update) {
54
42
  return _2_tl_js_1.Api.isOneOf(inlineQueryManagerUpdates, update);
55
43
  }
56
44
  async handleUpdate(update) {
57
45
  if (_2_tl_js_1.Api.is("updateBotInlineQuery", update)) {
58
- return { inlineQuery: await (0, _3_types_js_1.constructInlineQuery)(update, __classPrivateFieldGet(this, _InlineQueryManager_c, "f").getEntity) };
46
+ return { inlineQuery: await (0, _3_types_js_1.constructInlineQuery)(update, this.#c.getEntity) };
59
47
  }
60
48
  else if (_2_tl_js_1.Api.is("updateBotInlineSend", update)) {
61
- return { chosenInlineResult: await (0, _3_types_js_1.constructChosenInlineResult)(update, __classPrivateFieldGet(this, _InlineQueryManager_c, "f").getEntity) };
49
+ return { chosenInlineResult: await (0, _3_types_js_1.constructChosenInlineResult)(update, this.#c.getEntity) };
62
50
  }
63
51
  else {
64
52
  (0, _0_deps_js_1.unreachable)();
65
53
  }
66
54
  }
67
55
  async sendInlineQuery(botId_, chatId, params) {
68
- __classPrivateFieldGet(this, _InlineQueryManager_c, "f").storage.assertUser("sendInlineQuery");
69
- const bot = await __classPrivateFieldGet(this, _InlineQueryManager_c, "f").getInputUser(botId_), peer = await __classPrivateFieldGet(this, _InlineQueryManager_c, "f").getInputPeer(chatId), query = params?.query ?? "", offset = params?.offset ?? "";
70
- const botId = await __classPrivateFieldGet(this, _InlineQueryManager_c, "f").getInputPeerChatId(bot), peerId = await __classPrivateFieldGet(this, _InlineQueryManager_c, "f").getInputPeerChatId(peer);
71
- const maybeResults = await __classPrivateFieldGet(this, _InlineQueryManager_c, "f").messageStorage.getInlineQueryAnswer(botId, peerId, query, offset);
72
- if (maybeResults != null && !__classPrivateFieldGet(_a, _a, "m", _InlineQueryManager_isExpired).call(_a, maybeResults[1], maybeResults[0].cache_time)) {
56
+ this.#c.storage.assertUser("sendInlineQuery");
57
+ const bot = await this.#c.getInputUser(botId_), peer = await this.#c.getInputPeer(chatId), query = params?.query ?? "", offset = params?.offset ?? "";
58
+ const botId = await this.#c.getInputPeerChatId(bot), peerId = await this.#c.getInputPeerChatId(peer);
59
+ const maybeResults = await this.#c.messageStorage.getInlineQueryAnswer(botId, peerId, query, offset);
60
+ if (maybeResults != null && !InlineQueryManager.#isExpired(maybeResults[1], maybeResults[0].cache_time)) {
73
61
  return (0, _3_types_js_1.constructInlineQueryAnswer)(maybeResults[0]);
74
62
  }
75
63
  const then = new Date();
76
- const results = await __classPrivateFieldGet(this, _InlineQueryManager_c, "f").invoke({ _: "messages.getInlineBotResults", bot, peer, query, offset });
64
+ const results = await this.#c.invoke({ _: "messages.getInlineBotResults", bot, peer, query, offset });
77
65
  if (results.cache_time > 0) {
78
- await __classPrivateFieldGet(this, _InlineQueryManager_c, "f").messageStorage.setInlineQueryAnswer(botId, peerId, query, offset, results, then);
66
+ await this.#c.messageStorage.setInlineQueryAnswer(botId, peerId, query, offset, results, then);
79
67
  }
80
68
  return (0, _3_types_js_1.constructInlineQueryAnswer)(results);
81
69
  }
70
+ static #isExpired(date, cacheTime) {
71
+ return (Date.now() - date.getTime()) / 1000 > cacheTime;
72
+ }
82
73
  }
83
74
  exports.InlineQueryManager = InlineQueryManager;
84
- _a = InlineQueryManager, _InlineQueryManager_c = new WeakMap(), _InlineQueryManager_isExpired = function _InlineQueryManager_isExpired(date, cacheTime) {
85
- return (Date.now() - date.getTime()) / 1000 > cacheTime;
86
- };
@@ -18,18 +18,6 @@
18
18
  * You should have received a copy of the GNU Lesser General Public License
19
19
  * along with this program. If not, see <https://www.gnu.org/licenses/>.
20
20
  */
21
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
22
- if (kind === "m") throw new TypeError("Private method is not writable");
23
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
24
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
25
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
26
- };
27
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
28
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
29
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
30
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
31
- };
32
- var _LinkPreviewManager_c;
33
21
  Object.defineProperty(exports, "__esModule", { value: true });
34
22
  exports.LinkPreviewManager = void 0;
35
23
  const _2_tl_js_1 = require("../2_tl.js");
@@ -38,19 +26,19 @@ const linkPreviewManagerUpdates = [
38
26
  "updateWebPage",
39
27
  ];
40
28
  class LinkPreviewManager {
29
+ #c;
41
30
  constructor(c) {
42
- _LinkPreviewManager_c.set(this, void 0);
43
- __classPrivateFieldSet(this, _LinkPreviewManager_c, c, "f");
31
+ this.#c = c;
44
32
  }
45
33
  async getLinkPreview(text, params) {
46
- const [text_, entities_] = await __classPrivateFieldGet(this, _LinkPreviewManager_c, "f").messageManager.parseText(text, params);
47
- const result = await __classPrivateFieldGet(this, _LinkPreviewManager_c, "f").invoke({
34
+ const [text_, entities_] = await this.#c.messageManager.parseText(text, params);
35
+ const result = await this.#c.invoke({
48
36
  _: "messages.getWebPagePreview",
49
37
  message: text_,
50
38
  entities: entities_,
51
39
  });
52
40
  if (_2_tl_js_1.Api.is("messageMediaWebPage", result.media)) {
53
- return await (0, _3_types_js_1.constructLinkPreview)(result.media, undefined, __classPrivateFieldGet(this, _LinkPreviewManager_c, "f").getEntity);
41
+ return await (0, _3_types_js_1.constructLinkPreview)(result.media, undefined, this.#c.getEntity);
54
42
  }
55
43
  else {
56
44
  return null;
@@ -60,9 +48,8 @@ class LinkPreviewManager {
60
48
  return _2_tl_js_1.Api.isOneOf(linkPreviewManagerUpdates, update);
61
49
  }
62
50
  async handleUpdate(update) {
63
- const linkPreview = await (0, _3_types_js_1.constructLinkPreview)({ _: "messageMediaWebPage", webpage: update.webpage }, undefined, __classPrivateFieldGet(this, _LinkPreviewManager_c, "f").getEntity);
51
+ const linkPreview = await (0, _3_types_js_1.constructLinkPreview)({ _: "messageMediaWebPage", webpage: update.webpage }, undefined, this.#c.getEntity);
64
52
  return { linkPreview };
65
53
  }
66
54
  }
67
55
  exports.LinkPreviewManager = LinkPreviewManager;
68
- _LinkPreviewManager_c = new WeakMap();
@@ -18,18 +18,6 @@
18
18
  * You should have received a copy of the GNU Lesser General Public License
19
19
  * along with this program. If not, see <https://www.gnu.org/licenses/>.
20
20
  */
21
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
22
- if (kind === "m") throw new TypeError("Private method is not writable");
23
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
24
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
25
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
26
- };
27
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
28
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
29
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
30
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
31
- };
32
- var _PollManager_instances, _PollManager_c, _PollManager_voteInner;
33
21
  Object.defineProperty(exports, "__esModule", { value: true });
34
22
  exports.PollManager = void 0;
35
23
  const _0_deps_js_1 = require("../0_deps.js");
@@ -41,35 +29,68 @@ const pollManagerUpdates = [
41
29
  "updateMessagePollVote",
42
30
  ];
43
31
  class PollManager {
32
+ #c;
44
33
  constructor(c) {
45
- _PollManager_instances.add(this);
46
- _PollManager_c.set(this, void 0);
47
- __classPrivateFieldSet(this, _PollManager_c, c, "f");
34
+ this.#c = c;
48
35
  }
49
36
  async vote(chatId, messageId, optionIndexes) {
50
- __classPrivateFieldGet(this, _PollManager_c, "f").storage.assertUser("vote");
37
+ this.#c.storage.assertUser("vote");
51
38
  if (!optionIndexes.length) {
52
39
  throw new _0_errors_js_1.InputError("No options provided.");
53
40
  }
54
- await __classPrivateFieldGet(this, _PollManager_instances, "m", _PollManager_voteInner).call(this, chatId, messageId, optionIndexes);
41
+ await this.#voteInner(chatId, messageId, optionIndexes);
55
42
  }
56
43
  async retractVote(chatId, messageId) {
57
- __classPrivateFieldGet(this, _PollManager_c, "f").storage.assertUser("retractVote");
58
- await __classPrivateFieldGet(this, _PollManager_instances, "m", _PollManager_voteInner).call(this, chatId, messageId, []);
44
+ this.#c.storage.assertUser("retractVote");
45
+ await this.#voteInner(chatId, messageId, []);
46
+ }
47
+ async #voteInner(chatId, messageId, optionIndexes) {
48
+ const message = await this.#c.messageManager.getMessage(chatId, messageId);
49
+ if (!("poll" in message)) {
50
+ throw new _0_errors_js_1.InputError("Message not a poll.");
51
+ }
52
+ if (message.poll.options.filter((v) => v.chosen).length == 0 && optionIndexes.length == 0) {
53
+ throw new _0_errors_js_1.InputError("No vote has been casted.");
54
+ }
55
+ if (!message.poll.allowMultipleAnswers && optionIndexes.length > 1) {
56
+ throw new _0_errors_js_1.InputError("Cannot cast multiple options for this vote.");
57
+ }
58
+ for (const optionIndex of optionIndexes) {
59
+ if (optionIndex + 1 > message.poll.options.length) {
60
+ throw new _0_errors_js_1.InputError("Got invalid option index.");
61
+ }
62
+ }
63
+ if (optionIndexes.length > 0 && message.poll.options.map((v, i) => [i, v.chosen]).filter((v) => v[1]).every(([v]) => optionIndexes.includes(v))) {
64
+ throw new _0_errors_js_1.InputError("The same options are already casted.");
65
+ }
66
+ const peer = await this.#c.getInputPeer(chatId);
67
+ const chatId_ = _2_tl_js_1.Api.peerToChatId(peer);
68
+ const message_ = await this.#c.messageStorage.getMessage(chatId_, messageId);
69
+ if (!_2_tl_js_1.Api.is("message", message_)) {
70
+ (0, _0_deps_js_1.unreachable)();
71
+ }
72
+ const media = message_.media;
73
+ if (!_2_tl_js_1.Api.is("messageMediaPoll", media)) {
74
+ (0, _0_deps_js_1.unreachable)();
75
+ }
76
+ const poll = media.poll;
77
+ optionIndexes = Array.from(new Set(optionIndexes));
78
+ const options = optionIndexes.map((i) => poll.answers[i].option);
79
+ await this.#c.invoke({ _: "messages.sendVote", peer, msg_id: messageId, options });
59
80
  }
60
81
  canHandleUpdate(update) {
61
82
  return _2_tl_js_1.Api.isOneOf(pollManagerUpdates, update);
62
83
  }
63
84
  async handleUpdate(update) {
64
85
  if (_2_tl_js_1.Api.is("updateMessagePoll", update)) {
65
- await __classPrivateFieldGet(this, _PollManager_c, "f").storage.setPollResults(update.poll_id, update.results);
86
+ await this.#c.storage.setPollResults(update.poll_id, update.results);
66
87
  let poll = null;
67
88
  if (update.poll) {
68
89
  poll = update.poll;
69
- await __classPrivateFieldGet(this, _PollManager_c, "f").storage.setPoll(poll.id, poll);
90
+ await this.#c.storage.setPoll(poll.id, poll);
70
91
  }
71
92
  else {
72
- poll = await __classPrivateFieldGet(this, _PollManager_c, "f").storage.getPoll(update.poll_id);
93
+ poll = await this.#c.storage.getPoll(update.poll_id);
73
94
  }
74
95
  if (poll) {
75
96
  const messageMediaPoll = { _: "messageMediaPoll", poll, results: update.results };
@@ -80,43 +101,9 @@ class PollManager {
80
101
  }
81
102
  }
82
103
  else {
83
- const pollAnswer = await (0, _3_types_js_1.constructPollAnswer)(update, __classPrivateFieldGet(this, _PollManager_c, "f").getEntity);
104
+ const pollAnswer = await (0, _3_types_js_1.constructPollAnswer)(update, this.#c.getEntity);
84
105
  return { pollAnswer };
85
106
  }
86
107
  }
87
108
  }
88
109
  exports.PollManager = PollManager;
89
- _PollManager_c = new WeakMap(), _PollManager_instances = new WeakSet(), _PollManager_voteInner = async function _PollManager_voteInner(chatId, messageId, optionIndexes) {
90
- const message = await __classPrivateFieldGet(this, _PollManager_c, "f").messageManager.getMessage(chatId, messageId);
91
- if (!("poll" in message)) {
92
- throw new _0_errors_js_1.InputError("Message not a poll.");
93
- }
94
- if (message.poll.options.filter((v) => v.chosen).length == 0 && optionIndexes.length == 0) {
95
- throw new _0_errors_js_1.InputError("No vote has been casted.");
96
- }
97
- if (!message.poll.allowMultipleAnswers && optionIndexes.length > 1) {
98
- throw new _0_errors_js_1.InputError("Cannot cast multiple options for this vote.");
99
- }
100
- for (const optionIndex of optionIndexes) {
101
- if (optionIndex + 1 > message.poll.options.length) {
102
- throw new _0_errors_js_1.InputError("Got invalid option index.");
103
- }
104
- }
105
- if (optionIndexes.length > 0 && message.poll.options.map((v, i) => [i, v.chosen]).filter((v) => v[1]).every(([v]) => optionIndexes.includes(v))) {
106
- throw new _0_errors_js_1.InputError("The same options are already casted.");
107
- }
108
- const peer = await __classPrivateFieldGet(this, _PollManager_c, "f").getInputPeer(chatId);
109
- const chatId_ = _2_tl_js_1.Api.peerToChatId(peer);
110
- const message_ = await __classPrivateFieldGet(this, _PollManager_c, "f").messageStorage.getMessage(chatId_, messageId);
111
- if (!_2_tl_js_1.Api.is("message", message_)) {
112
- (0, _0_deps_js_1.unreachable)();
113
- }
114
- const media = message_.media;
115
- if (!_2_tl_js_1.Api.is("messageMediaPoll", media)) {
116
- (0, _0_deps_js_1.unreachable)();
117
- }
118
- const poll = media.poll;
119
- optionIndexes = Array.from(new Set(optionIndexes));
120
- const options = optionIndexes.map((i) => poll.answers[i].option);
121
- await __classPrivateFieldGet(this, _PollManager_c, "f").invoke({ _: "messages.sendVote", peer, msg_id: messageId, options });
122
- };