@mtkruto/node 0.153.0 → 0.160.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 (207) hide show
  1. package/esm/3_types.d.ts +3 -0
  2. package/esm/3_types.d.ts.map +1 -1
  3. package/esm/3_types.js +3 -0
  4. package/esm/4_constants.d.ts +1 -0
  5. package/esm/4_constants.d.ts.map +1 -1
  6. package/esm/4_constants.js +1 -0
  7. package/esm/client/0_markdown.js +4 -4
  8. package/esm/client/0_params.d.ts +11 -1
  9. package/esm/client/0_params.d.ts.map +1 -1
  10. package/esm/client/1_client_generic.d.ts +100 -3
  11. package/esm/client/1_client_generic.d.ts.map +1 -1
  12. package/esm/client/1_client_plain.d.ts +1 -1
  13. package/esm/client/1_client_plain.d.ts.map +1 -1
  14. package/esm/client/1_client_plain.js +25 -13
  15. package/esm/client/2_client_encrypted.d.ts +6 -3
  16. package/esm/client/2_client_encrypted.d.ts.map +1 -1
  17. package/esm/client/2_client_encrypted.js +166 -49
  18. package/esm/client/2_file_manager.js +1 -1
  19. package/esm/client/2_network_statistics_manager.d.ts.map +1 -1
  20. package/esm/client/2_network_statistics_manager.js +3 -2
  21. package/esm/client/2_payment_manager.js +2 -2
  22. package/esm/client/2_takeout_manager.js +2 -2
  23. package/esm/client/2_update_manager.d.ts.map +1 -1
  24. package/esm/client/2_update_manager.js +16 -11
  25. package/esm/client/3_account_manager.js +3 -3
  26. package/esm/client/3_message_manager.d.ts +11 -0
  27. package/esm/client/3_message_manager.d.ts.map +1 -1
  28. package/esm/client/3_message_manager.js +195 -74
  29. package/esm/client/3_sticker_set_manager.js +3 -3
  30. package/esm/client/3_video_chat_manager.js +1 -1
  31. package/esm/client/4_callback_query_manager.js +2 -2
  32. package/esm/client/4_chat_list_manager.js +3 -3
  33. package/esm/client/4_chat_manager.d.ts +3 -2
  34. package/esm/client/4_chat_manager.d.ts.map +1 -1
  35. package/esm/client/4_chat_manager.js +12 -5
  36. package/esm/client/4_contact_manager.js +1 -1
  37. package/esm/client/4_gift_manager.js +11 -11
  38. package/esm/client/4_inline_query_manager.js +1 -1
  39. package/esm/client/4_story_manager.d.ts +3 -1
  40. package/esm/client/4_story_manager.d.ts.map +1 -1
  41. package/esm/client/4_story_manager.js +17 -3
  42. package/esm/client/6_client.d.ts +102 -3
  43. package/esm/client/6_client.d.ts.map +1 -1
  44. package/esm/client/6_client.js +130 -2
  45. package/esm/client/6_client_dispatcher.d.ts +100 -3
  46. package/esm/client/6_client_dispatcher.d.ts.map +1 -1
  47. package/esm/client/6_client_dispatcher.js +126 -1
  48. package/esm/connection/0_get_tls_header.d.ts.map +1 -1
  49. package/esm/connection/0_get_tls_header.js +19 -0
  50. package/esm/connection/1_connection_web_socket.js +2 -2
  51. package/esm/session/0_session_state.d.ts +1 -0
  52. package/esm/session/0_session_state.d.ts.map +1 -1
  53. package/esm/session/0_session_state.js +8 -4
  54. package/esm/session/1_session.d.ts +1 -0
  55. package/esm/session/1_session.d.ts.map +1 -1
  56. package/esm/session/1_session.js +3 -0
  57. package/esm/session/2_session_encrypted.d.ts +11 -6
  58. package/esm/session/2_session_encrypted.d.ts.map +1 -1
  59. package/esm/session/2_session_encrypted.js +20 -12
  60. package/esm/storage/1_utilities.js +2 -2
  61. package/esm/transport/2_transport_provider_web_socket.js +1 -1
  62. package/esm/types/0_button_style.js +1 -1
  63. package/esm/types/0_chat_member_rights.js +34 -34
  64. package/esm/types/0_chat_photo.js +2 -2
  65. package/esm/types/0_dice.d.ts +1 -1
  66. package/esm/types/0_dice.d.ts.map +1 -1
  67. package/esm/types/0_giveaway_parameters.js +1 -1
  68. package/esm/types/0_live_stream_channel.d.ts +1 -1
  69. package/esm/types/0_live_stream_channel.d.ts.map +1 -1
  70. package/esm/types/0_report_reason.d.ts +53 -0
  71. package/esm/types/0_report_reason.d.ts.map +1 -0
  72. package/esm/types/0_report_reason.js +45 -0
  73. package/esm/types/0_story_report_option.d.ts +26 -0
  74. package/esm/types/0_story_report_option.d.ts.map +1 -0
  75. package/esm/types/0_story_report_option.js +25 -0
  76. package/esm/types/0_video_chat.js +2 -2
  77. package/esm/types/1_inline_keyboard_button.d.ts +2 -2
  78. package/esm/types/1_message_reaction.js +1 -1
  79. package/esm/types/1_sticker.js +1 -1
  80. package/esm/types/1_story_reaction.js +1 -1
  81. package/esm/types/1_story_report_result.d.ts +37 -0
  82. package/esm/types/1_story_report_result.d.ts.map +1 -0
  83. package/esm/types/1_story_report_result.js +36 -0
  84. package/esm/types/2_chat.js +2 -2
  85. package/esm/types/2_chat_member.js +3 -3
  86. package/esm/types/2_message_entity.js +1 -1
  87. package/esm/types/2_story_interactive_area.js +3 -3
  88. package/esm/types/3_chat_settings.js +1 -1
  89. package/esm/types/3_forward_header.js +3 -3
  90. package/esm/types/3_inline_query.js +1 -1
  91. package/esm/types/3_invite_link.js +2 -2
  92. package/esm/types/3_story.js +3 -3
  93. package/esm/types/4_gift.js +1 -1
  94. package/esm/types/5_gift_non_upgraded_information.js +8 -8
  95. package/esm/types/5_gift_upgraded_information.js +5 -5
  96. package/esm/types/6_poll_media.d.ts +1 -1
  97. package/esm/types/6_poll_media.d.ts.map +1 -1
  98. package/esm/types/7_inline_query_result.js +8 -8
  99. package/esm/types/7_poll_option.d.ts +1 -1
  100. package/esm/types/7_poll_option.d.ts.map +1 -1
  101. package/esm/types/8_inline_query_answer.js +1 -1
  102. package/esm/types/9_message.js +3 -3
  103. package/esm/utilities/0_env.js +1 -1
  104. package/package.json +1 -1
  105. package/script/3_types.d.ts +3 -0
  106. package/script/3_types.d.ts.map +1 -1
  107. package/script/3_types.js +3 -0
  108. package/script/4_constants.d.ts +1 -0
  109. package/script/4_constants.d.ts.map +1 -1
  110. package/script/4_constants.js +2 -1
  111. package/script/client/0_markdown.js +4 -4
  112. package/script/client/0_params.d.ts +11 -1
  113. package/script/client/0_params.d.ts.map +1 -1
  114. package/script/client/1_client_generic.d.ts +100 -3
  115. package/script/client/1_client_generic.d.ts.map +1 -1
  116. package/script/client/1_client_plain.d.ts +1 -1
  117. package/script/client/1_client_plain.d.ts.map +1 -1
  118. package/script/client/1_client_plain.js +24 -12
  119. package/script/client/2_client_encrypted.d.ts +6 -3
  120. package/script/client/2_client_encrypted.d.ts.map +1 -1
  121. package/script/client/2_client_encrypted.js +166 -49
  122. package/script/client/2_file_manager.js +1 -1
  123. package/script/client/2_network_statistics_manager.d.ts.map +1 -1
  124. package/script/client/2_network_statistics_manager.js +3 -2
  125. package/script/client/2_payment_manager.js +2 -2
  126. package/script/client/2_takeout_manager.js +2 -2
  127. package/script/client/2_update_manager.d.ts.map +1 -1
  128. package/script/client/2_update_manager.js +16 -11
  129. package/script/client/3_account_manager.js +3 -3
  130. package/script/client/3_message_manager.d.ts +11 -0
  131. package/script/client/3_message_manager.d.ts.map +1 -1
  132. package/script/client/3_message_manager.js +194 -73
  133. package/script/client/3_sticker_set_manager.js +3 -3
  134. package/script/client/3_video_chat_manager.js +1 -1
  135. package/script/client/4_callback_query_manager.js +2 -2
  136. package/script/client/4_chat_list_manager.js +3 -3
  137. package/script/client/4_chat_manager.d.ts +3 -2
  138. package/script/client/4_chat_manager.d.ts.map +1 -1
  139. package/script/client/4_chat_manager.js +11 -4
  140. package/script/client/4_contact_manager.js +1 -1
  141. package/script/client/4_gift_manager.js +11 -11
  142. package/script/client/4_inline_query_manager.js +1 -1
  143. package/script/client/4_story_manager.d.ts +3 -1
  144. package/script/client/4_story_manager.d.ts.map +1 -1
  145. package/script/client/4_story_manager.js +15 -1
  146. package/script/client/6_client.d.ts +102 -3
  147. package/script/client/6_client.d.ts.map +1 -1
  148. package/script/client/6_client.js +130 -2
  149. package/script/client/6_client_dispatcher.d.ts +100 -3
  150. package/script/client/6_client_dispatcher.d.ts.map +1 -1
  151. package/script/client/6_client_dispatcher.js +126 -1
  152. package/script/connection/0_get_tls_header.d.ts.map +1 -1
  153. package/script/connection/0_get_tls_header.js +19 -0
  154. package/script/connection/1_connection_web_socket.js +2 -2
  155. package/script/session/0_session_state.d.ts +1 -0
  156. package/script/session/0_session_state.d.ts.map +1 -1
  157. package/script/session/0_session_state.js +8 -4
  158. package/script/session/1_session.d.ts +1 -0
  159. package/script/session/1_session.d.ts.map +1 -1
  160. package/script/session/1_session.js +3 -0
  161. package/script/session/2_session_encrypted.d.ts +11 -6
  162. package/script/session/2_session_encrypted.d.ts.map +1 -1
  163. package/script/session/2_session_encrypted.js +20 -12
  164. package/script/storage/1_utilities.js +2 -2
  165. package/script/transport/2_transport_provider_web_socket.js +1 -1
  166. package/script/types/0_button_style.js +1 -1
  167. package/script/types/0_chat_member_rights.js +34 -34
  168. package/script/types/0_chat_photo.js +2 -2
  169. package/script/types/0_dice.d.ts +1 -1
  170. package/script/types/0_dice.d.ts.map +1 -1
  171. package/script/types/0_giveaway_parameters.js +1 -1
  172. package/script/types/0_live_stream_channel.d.ts +1 -1
  173. package/script/types/0_live_stream_channel.d.ts.map +1 -1
  174. package/script/types/0_report_reason.d.ts +53 -0
  175. package/script/types/0_report_reason.d.ts.map +1 -0
  176. package/script/types/0_report_reason.js +48 -0
  177. package/script/types/0_story_report_option.d.ts +26 -0
  178. package/script/types/0_story_report_option.d.ts.map +1 -0
  179. package/script/types/0_story_report_option.js +28 -0
  180. package/script/types/0_video_chat.js +2 -2
  181. package/script/types/1_inline_keyboard_button.d.ts +2 -2
  182. package/script/types/1_message_reaction.js +1 -1
  183. package/script/types/1_sticker.js +1 -1
  184. package/script/types/1_story_reaction.js +1 -1
  185. package/script/types/1_story_report_result.d.ts +37 -0
  186. package/script/types/1_story_report_result.d.ts.map +1 -0
  187. package/script/types/1_story_report_result.js +39 -0
  188. package/script/types/2_chat.js +2 -2
  189. package/script/types/2_chat_member.js +3 -3
  190. package/script/types/2_message_entity.js +1 -1
  191. package/script/types/2_story_interactive_area.js +3 -3
  192. package/script/types/3_chat_settings.js +1 -1
  193. package/script/types/3_forward_header.js +3 -3
  194. package/script/types/3_inline_query.js +1 -1
  195. package/script/types/3_invite_link.js +2 -2
  196. package/script/types/3_story.js +3 -3
  197. package/script/types/4_gift.js +1 -1
  198. package/script/types/5_gift_non_upgraded_information.js +8 -8
  199. package/script/types/5_gift_upgraded_information.js +5 -5
  200. package/script/types/6_poll_media.d.ts +1 -1
  201. package/script/types/6_poll_media.d.ts.map +1 -1
  202. package/script/types/7_inline_query_result.js +8 -8
  203. package/script/types/7_poll_option.d.ts +1 -1
  204. package/script/types/7_poll_option.d.ts.map +1 -1
  205. package/script/types/8_inline_query_answer.js +1 -1
  206. package/script/types/9_message.js +3 -3
  207. package/script/utilities/0_env.js +1 -1
@@ -21,12 +21,13 @@
21
21
  var _a;
22
22
  Object.defineProperty(exports, "__esModule", { value: true });
23
23
  exports.ClientEncrypted = void 0;
24
+ const _0_deps_js_1 = require("../0_deps.js");
24
25
  const _0_errors_js_1 = require("../0_errors.js");
25
26
  const _1_utilities_js_1 = require("../1_utilities.js");
26
27
  const _2_tl_js_1 = require("../2_tl.js");
27
- const _3_errors_js_1 = require("../3_errors.js");
28
28
  const _4_constants_js_1 = require("../4_constants.js");
29
29
  const _4_errors_js_1 = require("../4_errors.js");
30
+ const _4_errors_js_2 = require("../4_errors.js");
30
31
  const _4_session_js_1 = require("../4_session.js");
31
32
  const _0_client_abstract_js_1 = require("./0_client_abstract.js");
32
33
  const _0_utilities_js_1 = require("./0_utilities.js");
@@ -38,62 +39,155 @@ class ClientEncrypted extends _0_client_abstract_js_1.ClientAbstract {
38
39
  static #AUTH_KEY_CREATION_MAX_TRIES = 10;
39
40
  handlers = {};
40
41
  #L;
41
- #plain;
42
+ #dc;
43
+ #apiId;
44
+ #params;
45
+ #authKey = new Uint8Array();
46
+ #authKeyId = 0n;
47
+ #temporaryAuthKey = new Uint8Array();
48
+ #temporaryAuthKeyExpiresIn = 0;
42
49
  session;
43
50
  #sentRequests = new Map();
44
- #apiId;
45
- #appVersion;
46
- #deviceModel;
47
- #langCode;
48
- #langPack;
49
- #systemLangCode;
50
- #systemVersion;
51
- #disableUpdates;
51
+ #isAuthKeyBound = false;
52
+ #isPerfectForwardSecrecyEnabled = false;
52
53
  constructor(dc, apiId, params) {
53
54
  super();
54
55
  this.#L = (0, _1_utilities_js_1.getLogger)("ClientEncrypted").client(id++);
55
- this.#plain = new _1_client_plain_js_1.ClientPlain(dc, params);
56
+ this.#dc = dc;
57
+ this.#apiId = apiId;
58
+ this.#params = params;
59
+ this.#isPerfectForwardSecrecyEnabled = params?.isPerfectForwardSecrecyEnabled ?? false;
56
60
  this.session = new _4_session_js_1.SessionEncrypted(dc, params);
61
+ this.session.handlers.onTransportError = this.#onTransportError.bind(this);
57
62
  this.session.handlers.onUpdate = this.#onUpdate.bind(this);
58
63
  this.session.handlers.onNewServerSalt = this.#onNewServerSalt.bind(this);
59
64
  this.session.handlers.onMessageFailed = this.#onMessageFailed.bind(this);
60
65
  this.session.handlers.onRpcError = this.#onRpcError.bind(this);
61
66
  this.session.handlers.onRpcResult = this.#onRpcResult.bind(this);
62
67
  this.session.handlers.onPong = this.#onPong.bind(this);
63
- this.#apiId = apiId;
64
- this.#appVersion = params?.appVersion ?? _4_constants_js_1.APP_VERSION;
65
- this.#deviceModel = params?.deviceModel ?? _4_constants_js_1.DEVICE_MODEL;
66
- this.#langCode = params?.langCode ?? _4_constants_js_1.LANG_CODE;
67
- this.#langPack = params?.langPack ?? _4_constants_js_1.LANG_PACK;
68
- this.#systemLangCode = params?.systemLangCode ?? _4_constants_js_1.SYSTEM_LANG_CODE;
69
- this.#systemVersion = params?.systemVersion ?? _4_constants_js_1.SYSTEM_VERSION;
70
- this.#disableUpdates = params?.disableUpdates ?? false;
71
68
  }
72
- async connect() {
69
+ async #encryptMessage(message) {
70
+ const payloadWriter = new _2_tl_js_1.TLWriter();
71
+ payloadWriter.writeInt64((0, _1_utilities_js_1.getRandomId)());
72
+ payloadWriter.writeInt64((0, _1_utilities_js_1.getRandomId)());
73
+ payloadWriter.write(await (0, _2_tl_js_1.serializeMessage)(message));
74
+ let payload = payloadWriter.buffer;
75
+ const payloadSha1 = await (0, _1_utilities_js_1.sha1)(payload);
76
+ const messageKey = payloadSha1.subarray(4, 20);
77
+ payloadWriter.write(new Uint8Array((0, _1_utilities_js_1.mod)(-payload.byteLength, 16)));
78
+ payload = payloadWriter.buffer;
79
+ const sha1A = await (0, _1_utilities_js_1.sha1)((0, _0_deps_js_1.concat)([messageKey, this.#authKey.subarray(0, 32)]));
80
+ const sha1B = await (0, _1_utilities_js_1.sha1)((0, _0_deps_js_1.concat)([this.#authKey.slice(32, 48), messageKey, this.#authKey.slice(48, 64)]));
81
+ const sha1C = await (0, _1_utilities_js_1.sha1)((0, _0_deps_js_1.concat)([this.#authKey.slice(64, 96), messageKey]));
82
+ const sha1D = await (0, _1_utilities_js_1.sha1)((0, _0_deps_js_1.concat)([messageKey, this.#authKey.slice(96, 128)]));
83
+ const encryptionKey = (0, _0_deps_js_1.concat)([sha1A.slice(0, 8), sha1B.slice(8, 20), sha1C.slice(4, 16)]);
84
+ const encryptionIv = (0, _0_deps_js_1.concat)([sha1A.slice(8, 20), sha1B.slice(0, 8), sha1C.slice(16, 20), sha1D.slice(0, 8)]);
85
+ const encrypted = (0, _0_deps_js_1.ige256Encrypt)(payload, encryptionKey, encryptionIv);
86
+ const messageWriter = new _2_tl_js_1.TLWriter();
87
+ messageWriter.writeInt64(this.#authKeyId);
88
+ messageWriter.write(messageKey);
89
+ messageWriter.write(encrypted);
90
+ return messageWriter.buffer;
91
+ }
92
+ #connectPromise;
93
+ connect() {
94
+ return this.#connectPromise ??= this.#connect().finally(() => this.#connectPromise = undefined);
95
+ }
96
+ async #connect() {
73
97
  if (!this.authKey.byteLength) {
74
98
  await this.#createAuthKey();
75
99
  }
100
+ else if (this.#isPerfectForwardSecrecyEnabled) {
101
+ this.#L.debug("creating temporary auth key");
102
+ await this.#createAuthKeyInner(true);
103
+ }
76
104
  await super.connect();
105
+ if (this.#isPerfectForwardSecrecyEnabled) {
106
+ this.#isAuthKeyBound = false;
107
+ await this.#bindTemporaryAuthKey();
108
+ (0, _1_utilities_js_1.drop)(this.#refreshTemporaryAuthKey());
109
+ }
110
+ else {
111
+ this.#isAuthKeyBound = true;
112
+ }
113
+ }
114
+ async #bindTemporaryAuthKey() {
115
+ const nonce = (0, _1_utilities_js_1.getRandomId)();
116
+ const expires_at = (0, _1_utilities_js_1.toUnixTimestamp)(new Date()) + _4_constants_js_1.TEMPORARY_AUTH_KEY_TTL;
117
+ this.#temporaryAuthKeyExpiresIn = (0, _1_utilities_js_1.fromUnixTimestamp)(expires_at).getTime() - Date.now();
118
+ const object = {
119
+ _: "bind_auth_key_inner",
120
+ perm_auth_key_id: this.#authKeyId,
121
+ nonce,
122
+ expires_at,
123
+ temp_auth_key_id: this.session.authKeyId,
124
+ temp_session_id: this.session.id,
125
+ };
126
+ const encrypted_message = await this.#encryptMessage({
127
+ _: "message",
128
+ seqno: 0,
129
+ msg_id: this.session.previewNextMessageId(),
130
+ body: _2_tl_js_1.Mtproto.serializeObject(object),
131
+ });
132
+ await this.invoke({
133
+ _: "auth.bindTempAuthKey",
134
+ perm_auth_key_id: this.#authKeyId,
135
+ nonce,
136
+ encrypted_message,
137
+ expires_at,
138
+ }), this.#isAuthKeyBound = true;
139
+ }
140
+ #temporaryAuthKeyTimeoutController;
141
+ async #refreshTemporaryAuthKey() {
142
+ this.#temporaryAuthKeyTimeoutController?.abort();
143
+ const controller = this.#temporaryAuthKeyTimeoutController = new AbortController();
144
+ await (0, _0_deps_js_1.delay)(Math.max(0, this.#temporaryAuthKeyExpiresIn - 5 * _0_deps_js_1.SECOND), { signal: controller.signal });
145
+ if (this.#temporaryAuthKeyTimeoutController !== controller) {
146
+ return;
147
+ }
148
+ this.#temporaryAuthKeyTimeoutController = undefined;
149
+ this.#L.debug("reconnecting with a new temporary auth key");
150
+ this.disconnect();
151
+ (0, _1_utilities_js_1.drop)(this.connect());
77
152
  }
78
153
  disconnect() {
79
154
  super.disconnect();
155
+ this.#temporaryAuthKeyTimeoutController?.abort();
156
+ this.#temporaryAuthKeyTimeoutController = undefined;
80
157
  this.lastRequest = undefined;
158
+ const error = new _0_errors_js_1.ConnectionError("The connection was closed.");
159
+ for (const request of this.#sentRequests.values()) {
160
+ request.promiseWithResolvers.reject(error);
161
+ }
162
+ this.#sentRequests.clear();
81
163
  }
82
164
  #createAuthKeyPromise;
83
165
  #createAuthKey() {
84
- return this.#createAuthKeyPromise ??= this.#createAuthKeyInner().finally(() => {
166
+ return this.#createAuthKeyPromise ??= (this.#isPerfectForwardSecrecyEnabled ? Promise.all([this.#createAuthKeyInner(false), this.#createAuthKeyInner(true)]) : this.#createAuthKeyInner(false)).finally(() => {
85
167
  this.#createAuthKeyPromise = undefined;
86
168
  });
87
169
  }
88
- async #createAuthKeyInner() {
170
+ async #createAuthKeyInner(isTemporary) {
89
171
  let lastErr;
90
172
  let errored = false;
173
+ const plain = new _1_client_plain_js_1.ClientPlain(this.#dc, this.#params);
91
174
  for (let i = 0; i < _a.#AUTH_KEY_CREATION_MAX_TRIES; ++i) {
92
175
  try {
93
- await this.#plain.connect();
94
- const [authKey, serverSalt] = await this.#plain.createAuthKey();
95
- await this.setAuthKey(authKey);
96
- this.serverSalt = serverSalt;
176
+ await plain.connect();
177
+ const [authKey, serverSalt] = await plain.createAuthKey(isTemporary);
178
+ if (isTemporary) {
179
+ this.#temporaryAuthKey = authKey;
180
+ await this.session.setAuthKey(this.#temporaryAuthKey);
181
+ this.session.serverSalt = serverSalt;
182
+ this.#isConnectionInited = false;
183
+ }
184
+ else {
185
+ await this.setAuthKey(authKey);
186
+ }
187
+ if (!this.#isPerfectForwardSecrecyEnabled) {
188
+ await this.session.setAuthKey(authKey);
189
+ this.session.serverSalt = serverSalt;
190
+ }
97
191
  errored = false;
98
192
  break;
99
193
  }
@@ -106,7 +200,7 @@ class ClientEncrypted extends _0_client_abstract_js_1.ClientAbstract {
106
200
  this.#L.error("failed to create auth key:", err);
107
201
  }
108
202
  finally {
109
- this.#plain.disconnect();
203
+ plain.disconnect();
110
204
  }
111
205
  }
112
206
  if (errored) {
@@ -114,12 +208,19 @@ class ClientEncrypted extends _0_client_abstract_js_1.ClientAbstract {
114
208
  }
115
209
  }
116
210
  get authKey() {
117
- return this.session.authKey;
211
+ return this.#isPerfectForwardSecrecyEnabled ? this.#authKey : this.session.authKey;
118
212
  }
119
213
  async setAuthKey(authKey) {
120
- await this.session.setAuthKey(authKey);
214
+ if (this.#isPerfectForwardSecrecyEnabled) {
215
+ const hash = await (0, _1_utilities_js_1.sha1)(authKey);
216
+ this.#authKeyId = (0, _1_utilities_js_1.intFromBytes)(hash.slice(-8));
217
+ this.#authKey = authKey;
218
+ }
219
+ else {
220
+ await this.session.setAuthKey(authKey);
221
+ }
121
222
  }
122
- #connectionInited = false;
223
+ #isConnectionInited = false;
123
224
  lastRequest;
124
225
  async #send(function_) {
125
226
  this.lastRequest = new Date();
@@ -128,27 +229,27 @@ class ClientEncrypted extends _0_client_abstract_js_1.ClientAbstract {
128
229
  body = _2_tl_js_1.Mtproto.serializeObject(function_);
129
230
  }
130
231
  else {
131
- if (this.#disableUpdates && !(0, _0_utilities_js_1.isMediaFunction)(function_)) {
232
+ if (this.#isAuthKeyBound && this.#params?.disableUpdates && !(0, _0_utilities_js_1.isMediaFunction)(function_)) {
132
233
  function_ = { _: "invokeWithoutUpdates", query: function_ };
133
234
  }
134
- if (!this.#connectionInited) {
235
+ if (this.#isAuthKeyBound && !this.#isConnectionInited) {
135
236
  if (!this.#apiId) {
136
- throw new _0_errors_js_1.InputError("apiId not set");
237
+ throw new _4_errors_js_1.InputError("apiId not set");
137
238
  }
138
239
  function_ = {
139
240
  _: "initConnection",
140
241
  api_id: this.#apiId,
141
- app_version: this.#appVersion,
142
- device_model: this.#deviceModel,
143
- lang_code: this.#langCode,
144
- lang_pack: this.#langPack,
242
+ app_version: this.#params?.appVersion ?? _4_constants_js_1.APP_VERSION,
243
+ device_model: this.#params?.deviceModel ?? _4_constants_js_1.DEVICE_MODEL,
244
+ lang_code: this.#params?.langCode ?? _4_constants_js_1.LANG_CODE,
245
+ lang_pack: this.#params?.langPack ?? _4_constants_js_1.LANG_PACK,
145
246
  query: {
146
247
  _: "invokeWithLayer",
147
248
  layer: _2_tl_js_1.Api.LAYER,
148
249
  query: function_,
149
250
  },
150
- system_lang_code: this.#systemLangCode,
151
- system_version: this.#systemVersion,
251
+ system_lang_code: this.#params?.systemLangCode ?? _4_constants_js_1.SYSTEM_LANG_CODE,
252
+ system_version: this.#params?.systemVersion ?? _4_constants_js_1.SYSTEM_VERSION,
152
253
  };
153
254
  }
154
255
  body = _2_tl_js_1.Api.serializeObject(function_);
@@ -193,6 +294,17 @@ class ClientEncrypted extends _0_client_abstract_js_1.ClientAbstract {
193
294
  this.#sentRequests.set(messageId, sentRequest);
194
295
  return await sentRequest.promiseWithResolvers.promise;
195
296
  }
297
+ async #onTransportError(transportError) {
298
+ this.#L.error("transport error:", transportError);
299
+ if (!this.#isPerfectForwardSecrecyEnabled) {
300
+ return;
301
+ }
302
+ if (transportError.code === -404) {
303
+ this.#L.debug("reconnecting with a new temporary auth key");
304
+ this.disconnect();
305
+ await this.connect();
306
+ }
307
+ }
196
308
  async #onUpdate(body) {
197
309
  let type;
198
310
  try {
@@ -200,18 +312,18 @@ class ClientEncrypted extends _0_client_abstract_js_1.ClientAbstract {
200
312
  }
201
313
  catch (err) {
202
314
  this.#L.error("failed to deserialize update:", err);
203
- this.handlers.onDeserializationError?.();
315
+ await this.handlers.onDeserializationError?.();
204
316
  return;
205
317
  }
206
318
  if (_2_tl_js_1.Api.isOfEnum("Update", type) || _2_tl_js_1.Api.isOfEnum("Updates", type)) {
207
- this.handlers.onUpdate?.(type);
319
+ await this.handlers.onUpdate?.(type);
208
320
  }
209
321
  else {
210
322
  this.#L.warning("received unknown type:", (0, _0_utilities_js_1.repr)(type));
211
323
  }
212
324
  }
213
325
  #onNewServerSalt(serverSalt) {
214
- this.handlers.onNewServerSalt?.(serverSalt);
326
+ (0, _1_utilities_js_1.drop)(this.handlers.onNewServerSalt?.(serverSalt));
215
327
  }
216
328
  async #onMessageFailed(msgId, error) {
217
329
  const request = this.#sentRequests.get(msgId);
@@ -226,17 +338,22 @@ class ClientEncrypted extends _0_client_abstract_js_1.ClientAbstract {
226
338
  }
227
339
  }
228
340
  async #onRpcError(msgId, error) {
341
+ if (error.error_message === "AUTH_KEY_PERM_EMPTY" || error.error_message === "ENCRYPTED_MESSAGE_INVALID") {
342
+ this.#L.debug("reconnecting with a new temporary auth key because of", error.error_message);
343
+ this.disconnect();
344
+ await this.connect();
345
+ }
229
346
  const request = this.#sentRequests.get(msgId);
230
347
  this.#L.debug("received rpc_error with req_msg_id =", msgId, "for", request === undefined ? "unknown" : "known", "request");
231
348
  if (request) {
232
349
  this.#sentRequests.delete(msgId);
233
- const reason = (0, _4_errors_js_1.constructTelegramError)(error, request.call);
234
- if (reason instanceof _3_errors_js_1.ConnectionNotInited) {
235
- this.#connectionInited = false;
350
+ const reason = (0, _4_errors_js_2.constructTelegramError)(error, request.call);
351
+ if (reason instanceof _4_errors_js_1.ConnectionNotInited) {
352
+ this.#isConnectionInited = false;
236
353
  await this.#resend(request);
237
354
  }
238
355
  else {
239
- request.promiseWithResolvers.reject((0, _4_errors_js_1.constructTelegramError)(error, request.call));
356
+ request.promiseWithResolvers.reject((0, _4_errors_js_2.constructTelegramError)(error, request.call));
240
357
  }
241
358
  }
242
359
  }
@@ -254,15 +371,15 @@ class ClientEncrypted extends _0_client_abstract_js_1.ClientAbstract {
254
371
  catch (err) {
255
372
  sentRequest.promiseWithResolvers.reject(err);
256
373
  this.#L.error("failed to deserialize rpc_result body:", err);
257
- this.handlers.onDeserializationError?.();
374
+ await this.handlers.onDeserializationError?.();
258
375
  return;
259
376
  }
260
377
  finally {
261
378
  this.#sentRequests.delete(msgId);
262
379
  }
263
380
  }
264
- if (!this.#connectionInited) {
265
- this.#connectionInited = true;
381
+ if (!this.#isConnectionInited) {
382
+ this.#isConnectionInited = true;
266
383
  }
267
384
  }
268
385
  #onPong(pong) {
@@ -470,7 +470,7 @@ class FileManager {
470
470
  }
471
471
  const big = fileId_.location.source.type === _3_types_js_1.PhotoSourceType.ChatPhotoBig;
472
472
  const peer = await this.#c.getInputPeer(Number(fileId_.location.source.chatId));
473
- const location = { _: "inputPeerPhotoFileLocation", big: big ? true : undefined, peer, photo_id: fileId_.location.id };
473
+ const location = { _: "inputPeerPhotoFileLocation", big: big || undefined, peer, photo_id: fileId_.location.id };
474
474
  yield* this.downloadInner(location, fileId_.dcId, params);
475
475
  break;
476
476
  }
@@ -1 +1 @@
1
- {"version":3,"file":"2_network_statistics_manager.d.ts","sourceRoot":"","sources":["../../src/client/2_network_statistics_manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AAEtC,qBAAa,wBAAwB;;gBAIvB,CAAC,EAAE,CAAC;IAKV,oBAAoB;;;;;;;;;;IAmB1B,6BAA6B,CAAC,OAAO,EAAE,OAAO;sBAE5B,MAAM;uBAKL,MAAM;;CA2B1B"}
1
+ {"version":3,"file":"2_network_statistics_manager.d.ts","sourceRoot":"","sources":["../../src/client/2_network_statistics_manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAIH,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AAEtC,qBAAa,wBAAwB;;gBAIvB,CAAC,EAAE,CAAC;IAKV,oBAAoB;;;;;;;;;;IAmB1B,6BAA6B,CAAC,OAAO,EAAE,OAAO;sBAE5B,MAAM;uBAKL,MAAM;;CA2B1B"}
@@ -20,6 +20,7 @@
20
20
  */
21
21
  Object.defineProperty(exports, "__esModule", { value: true });
22
22
  exports.NetworkStatisticsManager = void 0;
23
+ const _0_misc_js_1 = require("../utilities/0_misc.js");
23
24
  const _1_logger_js_1 = require("../utilities/1_logger.js");
24
25
  class NetworkStatisticsManager {
25
26
  #c;
@@ -51,12 +52,12 @@ class NetworkStatisticsManager {
51
52
  read: (count) => {
52
53
  const key = isMedia ? "netstat_media_read" : "netstat_messages_read";
53
54
  this.#pendingWrites[key] = (this.#pendingWrites[key] ?? 0) + count;
54
- this.#write();
55
+ (0, _0_misc_js_1.drop)(this.#write());
55
56
  },
56
57
  write: (count) => {
57
58
  const key = isMedia ? "netstat_media_write" : "netstat_messages_write";
58
59
  this.#pendingWrites[key] = (this.#pendingWrites[key] ?? 0) + count;
59
- this.#write();
60
+ (0, _0_misc_js_1.drop)(this.#write());
60
61
  },
61
62
  };
62
63
  }
@@ -51,7 +51,7 @@ class PaymentManager {
51
51
  if (!queryId) {
52
52
  throw new _0_errors_js_1.InputError("Invalid pre-checkout query ID");
53
53
  }
54
- await this.#c.invoke({ _: "messages.setBotPrecheckoutResults", query_id: queryId, error: params?.error, success: ok ? true : undefined });
54
+ await this.#c.invoke({ _: "messages.setBotPrecheckoutResults", query_id: queryId, error: params?.error, success: ok || undefined });
55
55
  }
56
56
  async refundStarPayment(userId, telegramPaymentChargeId) {
57
57
  this.#c.storage.assertBot("refundStarPayment");
@@ -85,7 +85,7 @@ class PaymentManager {
85
85
  const peer = await this.#c.getInputPeer(chatId);
86
86
  const offset = params?.offset ?? "";
87
87
  const limit = (0, _0_utilities_js_1.getLimit)(params?.limit);
88
- const result = await this.#c.invoke({ _: "payments.getStarsTransactions", peer, ton: params?.isTon ? true : undefined, offset, limit, inbound: params?.isInbound ? true : undefined, outbound: params?.isOutbound ? true : undefined, ascending: params?.isAscending ? true : undefined, subscription_id: params?.subscriptionId });
88
+ const result = await this.#c.invoke({ _: "payments.getStarsTransactions", peer, ton: params?.isTon || undefined, offset, limit, inbound: params?.isInbound || undefined, outbound: params?.isOutbound || undefined, ascending: params?.isAscending || undefined, subscription_id: params?.subscriptionId });
89
89
  return (0, _3_types_js_1.constructStarTransactionList)(result, this.#c.getPeer);
90
90
  }
91
91
  }
@@ -28,12 +28,12 @@ class TakeoutManager {
28
28
  }
29
29
  async startTakeoutSession(params) {
30
30
  this.#c.storage.assertUser("startTakeoutSession");
31
- const result = await this.#c.invoke({ _: "account.initTakeoutSession", contacts: params?.isExportingContacts ? true : undefined, message_users: params?.isExportingPrivateChats ? true : undefined, message_chats: params?.isExportingGroupChats ? true : undefined, message_megagroups: params?.isExportingSupergroupChats ? true : undefined, message_channels: params?.isExportingChannelChats ? true : undefined, files: params?.isExportingFiles ? true : undefined, file_max_size: params?.maxFileSize ? BigInt(params.maxFileSize) : undefined });
31
+ const result = await this.#c.invoke({ _: "account.initTakeoutSession", contacts: params?.isExportingContacts || undefined, message_users: params?.isExportingPrivateChats || undefined, message_chats: params?.isExportingGroupChats || undefined, message_megagroups: params?.isExportingSupergroupChats || undefined, message_channels: params?.isExportingChannelChats || undefined, files: params?.isExportingFiles || undefined, file_max_size: params?.maxFileSize ? BigInt(params.maxFileSize) : undefined });
32
32
  return String(result.id);
33
33
  }
34
34
  async endTakeoutSession(takeoutId, params) {
35
35
  this.#c.storage.assertUser("endTakeoutSession");
36
- await this.#c.invoke({ _: "account.finishTakeoutSession", success: params?.isFailed ? undefined : true }, { takeoutId });
36
+ await this.#c.invoke({ _: "account.finishTakeoutSession", success: !params?.isFailed || undefined }, { takeoutId });
37
37
  }
38
38
  async getLeftChannels(takeoutId, params) {
39
39
  this.#c.storage.assertUser("getLeftChannels");
@@ -1 +1 @@
1
- {"version":3,"file":"2_update_manager.d.ts","sourceRoot":"","sources":["../../src/client/2_update_manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"2_update_manager.d.ts","sourceRoot":"","sources":["../../src/client/2_update_manager.ts"],"names":[],"mappings":"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"}
@@ -396,13 +396,13 @@ class UpdateManager {
396
396
  this.#processUpdatesQueue.add(() => this.#processUpdates(updates, checkGap, call).finally(callback));
397
397
  }
398
398
  async #processUpdates(updates_, checkGap, call = null) {
399
- /// First, individual updates (Update[1]) are extracted from Updates.[2]
400
- ///
401
- /// If an updatesTooLong[3] was received, an update gap recovery is initiated and no further action will be taken.
402
- ///
403
- /// [1]: https://core.telegram.org/type/Update
404
- /// [2]: https://core.telegram.org/type/Updates
405
- /// [3]: https://core.telegram.org/constructor/updatesTooLong
399
+ // First, individual updates (Update[1]) are extracted from Updates.[2]
400
+ //
401
+ // If an updatesTooLong[3] was received, an update gap recovery is initiated and no further action will be taken.
402
+ //
403
+ // [1]: https://core.telegram.org/type/Update
404
+ // [2]: https://core.telegram.org/type/Updates
405
+ // [3]: https://core.telegram.org/constructor/updatesTooLong
406
406
  let updates;
407
407
  if (_2_tl_js_1.Api.is("updatesCombined", updates_) || _2_tl_js_1.Api.is("updates", updates_)) {
408
408
  updates = updates_.updates;
@@ -429,7 +429,7 @@ class UpdateManager {
429
429
  return;
430
430
  }
431
431
  else if (localSeq + 1 < seqStart) {
432
- // There's an updates gap that must be filled.
432
+ // There's an update gap that must be filled.
433
433
  await this.recoverUpdateGap("localSeq + 1 < seqStart");
434
434
  }
435
435
  }
@@ -527,7 +527,7 @@ class UpdateManager {
527
527
  if (_2_tl_js_1.Api.is("updates", updates_) || _2_tl_js_1.Api.is("updatesCombined", updates_)) {
528
528
  this.processChats(updates_.chats, updates_);
529
529
  this.processUsers(updates_.users, updates_);
530
- this.#setUpdateStateDate(updates_.date);
530
+ await this.#setUpdateStateDate(updates_.date);
531
531
  }
532
532
  else if (_2_tl_js_1.Api.isOneOf([
533
533
  "updateShort",
@@ -627,7 +627,12 @@ class UpdateManager {
627
627
  continue;
628
628
  }
629
629
  else {
630
- throw err;
630
+ if (this.#c.isDisconnected()) {
631
+ return;
632
+ }
633
+ else {
634
+ throw err;
635
+ }
631
636
  }
632
637
  }
633
638
  if (_2_tl_js_1.Api.is("updates.difference", difference) || _2_tl_js_1.Api.is("updates.differenceSlice", difference)) {
@@ -956,7 +961,7 @@ class UpdateManager {
956
961
  }
957
962
  const controller = new AbortController();
958
963
  const promise = Promise.resolve().then(async () => {
959
- const logger = this.#LopenChat.branch(_2_tl_js_1.Api.peerToChatId(channel) + "");
964
+ const logger = this.#LopenChat.branch(String(_2_tl_js_1.Api.peerToChatId(channel)));
960
965
  while (true) {
961
966
  if (this.#c.isDisconnected()) {
962
967
  logger.debug("disconnected, stopping the loop");
@@ -418,7 +418,7 @@ class AccountManager {
418
418
  }
419
419
  async #toggleBotAddedtoAttachmentsMenu(botId, isWriteAllowed, enabled) {
420
420
  const bot = await this.#c.getInputUser(botId);
421
- await this.#c.invoke({ _: "messages.toggleBotInAttachMenu", bot, write_allowed: isWriteAllowed ? true : undefined, enabled });
421
+ await this.#c.invoke({ _: "messages.toggleBotInAttachMenu", bot, write_allowed: isWriteAllowed || undefined, enabled });
422
422
  }
423
423
  async addBotToAttachmentsMenu(botId, params) {
424
424
  this.#c.storage.assertUser("addBotToAttachmentsMenu");
@@ -459,7 +459,7 @@ class AccountManager {
459
459
  }
460
460
  const bot = params?.botId ? await this.#c.getInputUser(params.botId) : undefined;
461
461
  const file = await this.#c.fileManager.upload(photo, params, (0, _0_utilities_js_1.checkPhotoName)(params));
462
- await this.#c.invoke({ _: "photos.uploadProfilePhoto", fallback: params?.isPublic ? true : undefined, file, bot });
462
+ await this.#c.invoke({ _: "photos.uploadProfilePhoto", fallback: params?.isPublic || undefined, file, bot });
463
463
  }
464
464
  async updateProfileVideo(photo, params) {
465
465
  if (params?.botId && this.#c.storage.isBot) {
@@ -467,7 +467,7 @@ class AccountManager {
467
467
  }
468
468
  const bot = params?.botId ? await this.#c.getInputUser(params.botId) : undefined;
469
469
  const video = await this.#c.fileManager.upload(photo, params, () => "video.mp4");
470
- await this.#c.invoke({ _: "photos.uploadProfilePhoto", fallback: params?.isPublic ? true : undefined, video, video_start_ts: params?.thumbnailTimestamp, bot });
470
+ await this.#c.invoke({ _: "photos.uploadProfilePhoto", fallback: params?.isPublic || undefined, video, video_start_ts: params?.thumbnailTimestamp, bot });
471
471
  }
472
472
  async removeProfilePhoto(params) {
473
473
  if (params?.botId && this.#c.storage.isBot) {
@@ -134,6 +134,17 @@ export declare class MessageManager implements UpdateProcessor<MessageManagerUpd
134
134
  translateMessages(toLanguage: string, chatId: ID, messageIds: number[], params?: TranslateTextParams): Promise<TranslatedText[]>;
135
135
  translateMessage(toLanguage: string, chatId: ID, messageId: number, params?: TranslateTextParams): Promise<TranslatedText>;
136
136
  getRichText(chatId: ID, messageId: number): Promise<import("../3_types.js").RichText | null>;
137
+ getScheduledMessages(chatId: ID): Promise<Message[]>;
138
+ getFavoriteStickers(): Promise<import("../3_types.js").Sticker[]>;
139
+ addStickerToFavorites(fileId: string): Promise<void>;
140
+ removeStickerFromFavorites(fileId: string): Promise<void>;
141
+ addStickerToRecents(fileId: string): Promise<void>;
142
+ removeStickerFromRecents(fileId: string): Promise<void>;
143
+ clearRecentStickers(): Promise<void>;
144
+ getRecentStickers(): Promise<import("../3_types.js").Sticker[]>;
145
+ getSavedAnimations(): Promise<import("../3_types.js").Animation[]>;
146
+ saveAnimation(fileId: string): Promise<void>;
147
+ unsaveAnimation(fileId: string): Promise<void>;
137
148
  }
138
149
  export {};
139
150
  //# sourceMappingURL=3_message_manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"3_message_manager.d.ts","sourceRoot":"","sources":["../../src/client/3_message_manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"3_message_manager.d.ts","sourceRoot":"","sources":["../../src/client/3_message_manager.ts"],"names":[],"mappings":"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"}