@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.
- package/esm/0_errors.js +2 -6
- package/esm/3_errors.js +2 -12
- package/esm/3_types.d.ts +1 -0
- package/esm/3_types.d.ts.map +1 -1
- package/esm/3_types.js +1 -0
- package/esm/4_errors.js +2 -12
- package/esm/_dnt.polyfills.d.ts +99 -0
- package/esm/_dnt.polyfills.d.ts.map +1 -1
- package/esm/_dnt.polyfills.js +127 -1
- package/esm/_dnt.test_polyfills.d.ts.map +1 -0
- package/esm/client/0_filters_test.d.ts.map +1 -1
- package/esm/client/0_markdown_test.d.ts.map +1 -1
- package/esm/client/0_params.d.ts +2 -0
- package/esm/client/0_params.d.ts.map +1 -1
- package/esm/client/0_password.d.ts +5 -5
- package/esm/client/0_password.d.ts.map +1 -1
- package/esm/client/0_password_test.d.ts.map +1 -1
- package/esm/client/0_storage_operations.js +143 -155
- package/esm/client/0_storage_operations_test.d.ts.map +1 -1
- package/esm/client/0_utilities.d.ts +1 -1
- package/esm/client/0_utilities_test.d.ts.map +1 -1
- package/esm/client/1_client_plain.js +4 -22
- package/esm/client/1_composer.js +8 -21
- package/esm/client/2_account_manager.js +85 -97
- package/esm/client/2_bot_info_manager.js +26 -38
- package/esm/client/2_business_connection_manager.js +10 -23
- package/esm/client/2_client_encrypted.js +194 -211
- package/esm/client/2_file_manager.d.ts +4 -3
- package/esm/client/2_file_manager.d.ts.map +1 -1
- package/esm/client/2_file_manager.js +268 -224
- package/esm/client/2_file_manager_test.d.ts.map +1 -1
- package/esm/client/2_network_statistics_manager.js +8 -21
- package/esm/client/2_payment_manager.js +7 -20
- package/esm/client/2_reaction_manager.js +7 -20
- package/esm/client/2_translations_manager.js +97 -107
- package/esm/client/2_update_manager.js +764 -759
- package/esm/client/3_client_encrypted_pool.js +10 -26
- package/esm/client/3_client_encrypted_pool_test.d.ts.map +1 -1
- package/esm/client/3_message_manager.d.ts +1 -1
- package/esm/client/3_message_manager.js +441 -448
- package/esm/client/3_message_manager_test.d.ts.map +1 -1
- package/esm/client/3_video_chat_manager.d.ts +1 -1
- package/esm/client/3_video_chat_manager.js +57 -68
- package/esm/client/4_callback_query_manager.js +18 -30
- package/esm/client/4_chat_list_manager.js +322 -318
- package/esm/client/4_chat_manager.js +118 -131
- package/esm/client/4_forum_manager.js +67 -73
- package/esm/client/4_gift_manager.js +16 -29
- package/esm/client/4_inline_query_manager.js +16 -28
- package/esm/client/4_link_preview_manager.js +6 -19
- package/esm/client/4_poll_manager.js +44 -57
- package/esm/client/4_story_manager.js +41 -53
- package/esm/client/5_client.d.ts +7 -0
- package/esm/client/5_client.d.ts.map +1 -1
- package/esm/client/5_client.js +1269 -1288
- package/esm/connection/1_connection_tcp.node.js +48 -65
- package/esm/connection/1_connection_web_socket.js +75 -91
- package/esm/deps/jsr.io/@roj/tgcrypto/1.0.1/dist/tgcrypto.js +3 -11
- package/esm/deps/jsr.io/@std/async/1.0.13/mux_async_iterator.js +31 -47
- package/esm/deps/jsr.io/@std/async/1.0.13/tee.js +11 -34
- package/esm/deps/jsr.io/@std/datetime/0.225.5/_date_time_formatter.js +4 -17
- package/esm/mod.js +2 -12
- package/esm/session/0_session_state.js +12 -38
- package/esm/session/1_session.js +49 -72
- package/esm/session/2_session_encrypted.js +324 -320
- package/esm/storage/1_utilities_test.d.ts.map +1 -1
- package/esm/storage/2_storage_indexed_db.js +26 -44
- package/esm/storage/2_storage_local_storage.node.js +12 -25
- package/esm/storage/2_storage_memory.js +24 -41
- package/esm/storage/2_storage_session_storage.js +3 -16
- package/esm/tl/0_utilities_test.d.ts.map +1 -1
- package/esm/tl/1_tl_reader.js +80 -88
- package/esm/tl/1_tl_reader_test.d.ts.map +1 -1
- package/esm/tl/1_tl_writer.js +155 -164
- package/esm/tl/1_tl_writer_test.d.ts.map +1 -1
- package/esm/transport/0_transport.js +1 -8
- package/esm/transport/1_transport_abridged.js +11 -24
- package/esm/transport/1_transport_intermediate.js +10 -23
- package/esm/transport/2_transport_provider_web_socket.d.ts.map +1 -1
- package/esm/types/0_upload_progress.d.ts +29 -0
- package/esm/types/0_upload_progress.d.ts.map +1 -0
- package/esm/types/0_upload_progress.js +20 -0
- package/esm/types/1_sticker.d.ts +1 -1
- package/esm/types/1_sticker.d.ts.map +1 -1
- package/esm/types/2_poll_answer.d.ts +19 -0
- package/esm/types/2_poll_answer.d.ts.map +1 -1
- package/esm/types/2_poll_answer.js +19 -0
- package/esm/types/7_update.d.ts +21 -2
- package/esm/types/7_update.d.ts.map +1 -1
- package/esm/utilities/0_bigint_test.d.ts.map +1 -1
- package/esm/utilities/0_buffer.d.ts +1 -1
- package/esm/utilities/0_buffer.d.ts.map +1 -1
- package/esm/utilities/0_buffer_test.d.ts.map +1 -1
- package/esm/utilities/0_hash.d.ts +2 -2
- package/esm/utilities/0_hash.d.ts.map +1 -1
- package/esm/utilities/0_mutex.js +4 -19
- package/esm/utilities/0_part_stream.js +11 -25
- package/esm/utilities/0_part_stream_test.d.ts.map +1 -1
- package/esm/utilities/0_rle.d.ts +2 -2
- package/esm/utilities/0_rle.d.ts.map +1 -1
- package/esm/utilities/0_rle_test.d.ts.map +1 -1
- package/esm/utilities/0_text.d.ts +20 -1
- package/esm/utilities/0_text.d.ts.map +1 -1
- package/esm/utilities/0_text.js +19 -0
- package/esm/utilities/1_auth.d.ts +1 -1
- package/esm/utilities/1_auth.d.ts.map +1 -1
- package/esm/utilities/1_base64.d.ts +1 -1
- package/esm/utilities/1_base64.d.ts.map +1 -1
- package/esm/utilities/1_base64_test.d.ts.map +1 -1
- package/esm/utilities/1_crypto.js +42 -53
- package/esm/utilities/1_crypto_test.d.ts.map +1 -1
- package/esm/utilities/1_logger.d.ts +2 -2
- package/esm/utilities/1_math_test.d.ts.map +1 -1
- package/esm/utilities/2_queue.js +29 -47
- package/package.json +1 -1
- package/script/0_errors.js +2 -6
- package/script/2_tl.js +17 -7
- package/script/3_errors.js +2 -12
- package/script/3_types.d.ts +1 -0
- package/script/3_types.d.ts.map +1 -1
- package/script/3_types.js +1 -0
- package/script/4_constants.js +17 -7
- package/script/4_errors.js +2 -12
- package/script/_dnt.polyfills.d.ts +99 -0
- package/script/_dnt.polyfills.d.ts.map +1 -1
- package/script/_dnt.polyfills.js +128 -0
- package/script/_dnt.test_polyfills.d.ts.map +1 -0
- package/script/client/0_filters_test.d.ts.map +1 -1
- package/script/client/0_markdown_test.d.ts.map +1 -1
- package/script/client/0_params.d.ts +2 -0
- package/script/client/0_params.d.ts.map +1 -1
- package/script/client/0_password.d.ts +5 -5
- package/script/client/0_password.d.ts.map +1 -1
- package/script/client/0_password.js +17 -7
- package/script/client/0_password_test.d.ts.map +1 -1
- package/script/client/0_storage_operations.js +143 -155
- package/script/client/0_storage_operations_test.d.ts.map +1 -1
- package/script/client/0_utilities.d.ts +1 -1
- package/script/client/0_utilities_test.d.ts.map +1 -1
- package/script/client/1_client_plain.js +4 -22
- package/script/client/1_composer.js +8 -21
- package/script/client/2_account_manager.js +85 -97
- package/script/client/2_bot_info_manager.js +26 -38
- package/script/client/2_business_connection_manager.js +10 -23
- package/script/client/2_client_encrypted.js +195 -212
- package/script/client/2_file_manager.d.ts +4 -3
- package/script/client/2_file_manager.d.ts.map +1 -1
- package/script/client/2_file_manager.js +285 -231
- package/script/client/2_file_manager_test.d.ts.map +1 -1
- package/script/client/2_network_statistics_manager.js +8 -21
- package/script/client/2_payment_manager.js +7 -20
- package/script/client/2_reaction_manager.js +7 -20
- package/script/client/2_translations_manager.js +98 -108
- package/script/client/2_update_manager.js +764 -759
- package/script/client/3_client_encrypted_pool.js +10 -26
- package/script/client/3_client_encrypted_pool_test.d.ts.map +1 -1
- package/script/client/3_message_manager.d.ts +1 -1
- package/script/client/3_message_manager.js +441 -448
- package/script/client/3_message_manager_test.d.ts.map +1 -1
- package/script/client/3_video_chat_manager.d.ts +1 -1
- package/script/client/3_video_chat_manager.js +57 -68
- package/script/client/4_callback_query_manager.js +18 -30
- package/script/client/4_chat_list_manager.js +322 -318
- package/script/client/4_chat_manager.js +118 -131
- package/script/client/4_forum_manager.js +67 -73
- package/script/client/4_gift_manager.js +16 -29
- package/script/client/4_inline_query_manager.js +16 -28
- package/script/client/4_link_preview_manager.js +6 -19
- package/script/client/4_poll_manager.js +44 -57
- package/script/client/4_story_manager.js +41 -53
- package/script/client/5_client.d.ts +7 -0
- package/script/client/5_client.d.ts.map +1 -1
- package/script/client/5_client.js +1269 -1288
- package/script/connection/1_connection_tcp.node.js +48 -65
- package/script/connection/1_connection_web_socket.js +92 -98
- package/script/deps/jsr.io/@roj/tgcrypto/1.0.1/dist/tgcrypto.js +3 -11
- package/script/deps/jsr.io/@std/assert/1.0.13/equal.js +17 -7
- package/script/deps/jsr.io/@std/async/1.0.13/delay.js +17 -7
- package/script/deps/jsr.io/@std/async/1.0.13/mux_async_iterator.js +31 -47
- package/script/deps/jsr.io/@std/async/1.0.13/tee.js +11 -34
- package/script/deps/jsr.io/@std/datetime/0.225.5/_date_time_formatter.js +4 -17
- package/script/deps/jsr.io/@std/internal/1.0.10/format.js +17 -7
- package/script/deps/jsr.io/@std/internal/1.0.10/styles.js +17 -7
- package/script/deps/jsr.io/@std/path/1.1.0/_os.js +17 -7
- package/script/mod.js +19 -19
- package/script/session/0_session_state.js +12 -38
- package/script/session/1_session.js +66 -79
- package/script/session/2_session_encrypted.js +325 -321
- package/script/storage/1_utilities_test.d.ts.map +1 -1
- package/script/storage/2_storage_indexed_db.js +26 -44
- package/script/storage/2_storage_local_storage.node.js +12 -25
- package/script/storage/2_storage_memory.js +24 -41
- package/script/storage/2_storage_session_storage.js +3 -16
- package/script/tl/0_utilities_test.d.ts.map +1 -1
- package/script/tl/1_tl_reader.js +81 -89
- package/script/tl/1_tl_reader_test.d.ts.map +1 -1
- package/script/tl/1_tl_writer.js +156 -165
- package/script/tl/1_tl_writer_test.d.ts.map +1 -1
- package/script/tl/2_telegram.js +17 -7
- package/script/transport/0_obfuscation.js +17 -7
- package/script/transport/0_transport.js +1 -8
- package/script/transport/1_transport_abridged.js +11 -24
- package/script/transport/1_transport_intermediate.js +10 -23
- package/script/transport/2_transport_provider_web_socket.d.ts.map +1 -1
- package/script/types/0_upload_progress.d.ts +29 -0
- package/script/types/0_upload_progress.d.ts.map +1 -0
- package/script/types/0_upload_progress.js +21 -0
- package/script/types/1_sticker.d.ts +1 -1
- package/script/types/1_sticker.d.ts.map +1 -1
- package/script/types/2_poll_answer.d.ts +19 -0
- package/script/types/2_poll_answer.d.ts.map +1 -1
- package/script/types/2_poll_answer.js +19 -0
- package/script/types/7_update.d.ts +21 -2
- package/script/types/7_update.d.ts.map +1 -1
- package/script/utilities/0_bigint.js +17 -7
- package/script/utilities/0_bigint_test.d.ts.map +1 -1
- package/script/utilities/0_buffer.d.ts +1 -1
- package/script/utilities/0_buffer.d.ts.map +1 -1
- package/script/utilities/0_buffer_test.d.ts.map +1 -1
- package/script/utilities/0_env.js +17 -7
- package/script/utilities/0_hash.d.ts +2 -2
- package/script/utilities/0_hash.d.ts.map +1 -1
- package/script/utilities/0_hash.js +17 -7
- package/script/utilities/0_misc.js +17 -7
- package/script/utilities/0_mutex.js +4 -19
- package/script/utilities/0_part_stream.js +11 -25
- package/script/utilities/0_part_stream_test.d.ts.map +1 -1
- package/script/utilities/0_rle.d.ts +2 -2
- package/script/utilities/0_rle.d.ts.map +1 -1
- package/script/utilities/0_rle_test.d.ts.map +1 -1
- package/script/utilities/0_text.d.ts +20 -1
- package/script/utilities/0_text.d.ts.map +1 -1
- package/script/utilities/0_text.js +19 -0
- package/script/utilities/1_auth.d.ts +1 -1
- package/script/utilities/1_auth.d.ts.map +1 -1
- package/script/utilities/1_auth.js +17 -7
- package/script/utilities/1_base64.d.ts +1 -1
- package/script/utilities/1_base64.d.ts.map +1 -1
- package/script/utilities/1_base64_test.d.ts.map +1 -1
- package/script/utilities/1_crypto.js +60 -61
- package/script/utilities/1_crypto_test.d.ts.map +1 -1
- package/script/utilities/1_logger.d.ts +2 -2
- package/script/utilities/1_math_test.d.ts.map +1 -1
- package/script/utilities/2_queue.js +30 -48
|
@@ -18,31 +18,19 @@
|
|
|
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 _NetworkStatisticsManager_c;
|
|
33
21
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
34
22
|
exports.NetworkStatisticsManager = void 0;
|
|
35
23
|
class NetworkStatisticsManager {
|
|
24
|
+
#c;
|
|
36
25
|
constructor(c) {
|
|
37
|
-
|
|
38
|
-
__classPrivateFieldSet(this, _NetworkStatisticsManager_c, c, "f");
|
|
26
|
+
this.#c = c;
|
|
39
27
|
}
|
|
40
28
|
async getNetworkStatistics() {
|
|
41
29
|
const [messagesRead, messagesWrite, cdnRead, cdnWrite] = await Promise.all([
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
30
|
+
this.#c.storage.get(["netstat_messages_read"]),
|
|
31
|
+
this.#c.storage.get(["netstat_messages_write"]),
|
|
32
|
+
this.#c.storage.get(["netstat_cdn_read"]),
|
|
33
|
+
this.#c.storage.get(["netstat_cdn_write"]),
|
|
46
34
|
]);
|
|
47
35
|
const messages = {
|
|
48
36
|
sent: Number(messagesWrite || 0),
|
|
@@ -58,14 +46,13 @@ class NetworkStatisticsManager {
|
|
|
58
46
|
return {
|
|
59
47
|
read: async (count) => {
|
|
60
48
|
const key = cdn ? "netstat_cdn_read" : "netstat_messages_read";
|
|
61
|
-
await
|
|
49
|
+
await this.#c.storage.incr([key], count);
|
|
62
50
|
},
|
|
63
51
|
write: async (count) => {
|
|
64
52
|
const key = cdn ? "netstat_cdn_write" : "netstat_messages_write";
|
|
65
|
-
await
|
|
53
|
+
await this.#c.storage.incr([key], count);
|
|
66
54
|
},
|
|
67
55
|
};
|
|
68
56
|
}
|
|
69
57
|
}
|
|
70
58
|
exports.NetworkStatisticsManager = NetworkStatisticsManager;
|
|
71
|
-
_NetworkStatisticsManager_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 _PaymentManager_c;
|
|
33
21
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
34
22
|
exports.PaymentManager = void 0;
|
|
35
23
|
const _0_errors_js_1 = require("../0_errors.js");
|
|
@@ -39,22 +27,22 @@ const paymentManagerUpdates = [
|
|
|
39
27
|
"updateBotPrecheckoutQuery",
|
|
40
28
|
];
|
|
41
29
|
class PaymentManager {
|
|
30
|
+
#c;
|
|
42
31
|
constructor(c) {
|
|
43
|
-
|
|
44
|
-
__classPrivateFieldSet(this, _PaymentManager_c, c, "f");
|
|
32
|
+
this.#c = c;
|
|
45
33
|
}
|
|
46
34
|
canHandleUpdate(update) {
|
|
47
35
|
return _2_tl_js_1.Api.isOneOf(paymentManagerUpdates, update);
|
|
48
36
|
}
|
|
49
37
|
async handleUpdate(update) {
|
|
50
38
|
if (_2_tl_js_1.Api.is("updateBotPrecheckoutQuery", update)) {
|
|
51
|
-
const preCheckoutQuery = await (0, _3_types_js_1.constructPreCheckoutQuery)(update,
|
|
39
|
+
const preCheckoutQuery = await (0, _3_types_js_1.constructPreCheckoutQuery)(update, this.#c.getEntity);
|
|
52
40
|
return { preCheckoutQuery };
|
|
53
41
|
}
|
|
54
42
|
return null;
|
|
55
43
|
}
|
|
56
44
|
async answerPreCheckoutQuery(preCheckoutQueryId, ok, params) {
|
|
57
|
-
|
|
45
|
+
this.#c.storage.assertBot("answerPreCheckoutQuery");
|
|
58
46
|
if (!ok && !params?.error) {
|
|
59
47
|
throw new _0_errors_js_1.InputError("error is required when ok is false");
|
|
60
48
|
}
|
|
@@ -62,12 +50,11 @@ class PaymentManager {
|
|
|
62
50
|
if (!queryId) {
|
|
63
51
|
throw new _0_errors_js_1.InputError("Invalid pre-checkout query ID");
|
|
64
52
|
}
|
|
65
|
-
await
|
|
53
|
+
await this.#c.invoke({ _: "messages.setBotPrecheckoutResults", query_id: queryId, error: params?.error, success: ok ? true : undefined });
|
|
66
54
|
}
|
|
67
55
|
async refundStarPayment(userId, telegramPaymentChargeId) {
|
|
68
|
-
|
|
69
|
-
await
|
|
56
|
+
this.#c.storage.assertBot("refundStarPayment");
|
|
57
|
+
await this.#c.invoke({ _: "payments.refundStarsCharge", user_id: await this.#c.getInputUser(userId), charge_id: telegramPaymentChargeId });
|
|
70
58
|
}
|
|
71
59
|
}
|
|
72
60
|
exports.PaymentManager = PaymentManager;
|
|
73
|
-
_PaymentManager_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 _ReactionManager_c;
|
|
33
21
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
34
22
|
exports.ReactionManager = void 0;
|
|
35
23
|
const _0_deps_js_1 = require("../0_deps.js");
|
|
@@ -43,16 +31,16 @@ const reactionManagerUpdates = [
|
|
|
43
31
|
"updateChannelMessageForwards",
|
|
44
32
|
];
|
|
45
33
|
class ReactionManager {
|
|
34
|
+
#c;
|
|
46
35
|
constructor(c) {
|
|
47
|
-
|
|
48
|
-
__classPrivateFieldSet(this, _ReactionManager_c, c, "f");
|
|
36
|
+
this.#c = c;
|
|
49
37
|
}
|
|
50
38
|
canHandleUpdate(update) {
|
|
51
39
|
return _2_tl_js_1.Api.isOneOf(reactionManagerUpdates, update);
|
|
52
40
|
}
|
|
53
41
|
async handleUpdate(update) {
|
|
54
42
|
if (_2_tl_js_1.Api.is("updateBotMessageReactions", update)) {
|
|
55
|
-
const messageReactionCount = await (0, _3_types_js_1.constructMessageReactionCount)(update,
|
|
43
|
+
const messageReactionCount = await (0, _3_types_js_1.constructMessageReactionCount)(update, this.#c.getEntity);
|
|
56
44
|
if (messageReactionCount) {
|
|
57
45
|
return { messageReactionCount };
|
|
58
46
|
}
|
|
@@ -61,7 +49,7 @@ class ReactionManager {
|
|
|
61
49
|
}
|
|
62
50
|
}
|
|
63
51
|
else if (_2_tl_js_1.Api.is("updateBotMessageReaction", update)) {
|
|
64
|
-
const messageReactions = await (0, _3_types_js_1.constructMessageReactions)(update,
|
|
52
|
+
const messageReactions = await (0, _3_types_js_1.constructMessageReactions)(update, this.#c.getEntity);
|
|
65
53
|
if (messageReactions) {
|
|
66
54
|
return { messageReactions };
|
|
67
55
|
}
|
|
@@ -71,10 +59,10 @@ class ReactionManager {
|
|
|
71
59
|
}
|
|
72
60
|
else if (_2_tl_js_1.Api.is("updateMessageReactions", update)) {
|
|
73
61
|
const chatId = _2_tl_js_1.Api.peerToChatId(update.peer);
|
|
74
|
-
const message = await
|
|
62
|
+
const message = await this.#c.messageStorage.getMessage(chatId, update.msg_id);
|
|
75
63
|
if (_2_tl_js_1.Api.is("message", message)) {
|
|
76
64
|
message.reactions = update.reactions;
|
|
77
|
-
await
|
|
65
|
+
await this.#c.messageStorage.setMessage(chatId, update.msg_id, message);
|
|
78
66
|
const views = message.views ?? 0;
|
|
79
67
|
const forwards = message.forwards ?? 0;
|
|
80
68
|
const recentReactions = update.reactions.recent_reactions ?? [];
|
|
@@ -87,7 +75,7 @@ class ReactionManager {
|
|
|
87
75
|
}
|
|
88
76
|
else if (_2_tl_js_1.Api.isOneOf(["updateChannelMessageViews", "updateChannelMessageForwards"], update)) {
|
|
89
77
|
const chatId = _2_tl_js_1.Api.peerToChatId({ ...update, _: "peerChannel" });
|
|
90
|
-
const message = await
|
|
78
|
+
const message = await this.#c.messageStorage.getMessage(chatId, update.id);
|
|
91
79
|
if (_2_tl_js_1.Api.is("message", message)) {
|
|
92
80
|
if ("views" in update) {
|
|
93
81
|
message.views = update.views;
|
|
@@ -111,4 +99,3 @@ class ReactionManager {
|
|
|
111
99
|
}
|
|
112
100
|
}
|
|
113
101
|
exports.ReactionManager = ReactionManager;
|
|
114
|
-
_ReactionManager_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 _TranslationsManager_instances, _TranslationsManager_c, _TranslationsManager_getTranslationsInner, _TranslationsManager_updateTranslationsQueue, _TranslationsManager_updateTranslations, _TranslationsManager_applyLangPackDifferenceAndSave, _TranslationsManager_applyLangPackDifference;
|
|
33
21
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
34
22
|
exports.TranslationsManager = void 0;
|
|
35
23
|
const _0_deps_js_1 = require("../0_deps.js");
|
|
@@ -42,130 +30,132 @@ const translationsManagerUpdates = [
|
|
|
42
30
|
"updateLangPack",
|
|
43
31
|
];
|
|
44
32
|
class TranslationsManager {
|
|
33
|
+
#c;
|
|
45
34
|
constructor(c) {
|
|
46
|
-
|
|
47
|
-
_TranslationsManager_c.set(this, void 0);
|
|
48
|
-
_TranslationsManager_updateTranslationsQueue.set(this, new _1_utilities_js_1.Queue("updateTranslations"));
|
|
49
|
-
__classPrivateFieldSet(this, _TranslationsManager_c, c, "f");
|
|
35
|
+
this.#c = c;
|
|
50
36
|
}
|
|
51
37
|
canHandleUpdate(update) {
|
|
52
38
|
return _2_tl_js_1.Api.isOneOf(translationsManagerUpdates, update);
|
|
53
39
|
}
|
|
54
40
|
async getTranslations(params) {
|
|
55
|
-
|
|
56
|
-
const platform = params?.platform ??
|
|
41
|
+
this.#c.storage.assertUser("getTranslations");
|
|
42
|
+
const platform = params?.platform ?? this.#c.langPack;
|
|
57
43
|
if (!platform) {
|
|
58
44
|
throw new _0_errors_js_1.InputError("No platform specified.");
|
|
59
45
|
}
|
|
60
|
-
const language = params?.language ??
|
|
46
|
+
const language = params?.language ?? this.#c.langCode;
|
|
61
47
|
if (!language) {
|
|
62
48
|
throw new _0_errors_js_1.InputError("No language specified.");
|
|
63
49
|
}
|
|
64
|
-
return await
|
|
50
|
+
return await this.#getTranslationsInner(platform, language);
|
|
65
51
|
}
|
|
66
|
-
async
|
|
67
|
-
|
|
68
|
-
|
|
52
|
+
async #getTranslationsInner(platform, language, assert = false) {
|
|
53
|
+
const maybeTranslations = await this.#c.messageStorage.getTranslations(platform, language);
|
|
54
|
+
if (maybeTranslations != null) {
|
|
55
|
+
return maybeTranslations[1];
|
|
69
56
|
}
|
|
70
|
-
if (
|
|
71
|
-
|
|
72
|
-
const translations = await __classPrivateFieldGet(this, _TranslationsManager_instances, "m", _TranslationsManager_getTranslationsInner).call(this, __classPrivateFieldGet(this, _TranslationsManager_c, "f").langPack, update.lang_code, true);
|
|
73
|
-
return { platform: __classPrivateFieldGet(this, _TranslationsManager_c, "f").langPack, language: update.lang_code, translations };
|
|
57
|
+
else if (assert) {
|
|
58
|
+
(0, _0_deps_js_1.unreachable)();
|
|
74
59
|
}
|
|
75
|
-
else
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
}
|
|
79
|
-
const translations = await __classPrivateFieldGet(this, _TranslationsManager_instances, "m", _TranslationsManager_applyLangPackDifferenceAndSave).call(this, __classPrivateFieldGet(this, _TranslationsManager_c, "f").langPack, __classPrivateFieldGet(this, _TranslationsManager_c, "f").langCode, update.difference.version, update.difference.from_version, update.difference.strings);
|
|
80
|
-
if (!translations) {
|
|
81
|
-
return null;
|
|
82
|
-
}
|
|
83
|
-
else {
|
|
84
|
-
return { platform: __classPrivateFieldGet(this, _TranslationsManager_c, "f").langPack, language: __classPrivateFieldGet(this, _TranslationsManager_c, "f").langCode, translations };
|
|
85
|
-
}
|
|
60
|
+
else {
|
|
61
|
+
await this.#updateTranslations(platform, language);
|
|
62
|
+
return await this.#getTranslationsInner(platform, language, true);
|
|
86
63
|
}
|
|
87
|
-
return null;
|
|
88
64
|
}
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
const maybeTranslations = await __classPrivateFieldGet(this, _TranslationsManager_c, "f").messageStorage.getTranslations(platform, language);
|
|
108
|
-
if (maybeTranslations != null) {
|
|
109
|
-
const difference = await __classPrivateFieldGet(this, _TranslationsManager_c, "f").invoke({ _: "langpack.getDifference", lang_pack: platform, lang_code: language, from_version: maybeTranslations[0] });
|
|
110
|
-
const newTranslations = __classPrivateFieldGet(this, _TranslationsManager_instances, "m", _TranslationsManager_applyLangPackDifference).call(this, maybeTranslations[1], difference.strings);
|
|
111
|
-
await __classPrivateFieldGet(this, _TranslationsManager_c, "f").messageStorage.setTranslations(platform, language, difference.version, newTranslations);
|
|
65
|
+
#updateTranslationsQueue = new _1_utilities_js_1.Queue("updateTranslations");
|
|
66
|
+
async #updateTranslations(platform, language) {
|
|
67
|
+
await new Promise((resolve, reject) => {
|
|
68
|
+
this.#updateTranslationsQueue.add(async () => {
|
|
69
|
+
try {
|
|
70
|
+
const maybeTranslations = await this.#c.messageStorage.getTranslations(platform, language);
|
|
71
|
+
if (maybeTranslations != null) {
|
|
72
|
+
const difference = await this.#c.invoke({ _: "langpack.getDifference", lang_pack: platform, lang_code: language, from_version: maybeTranslations[0] });
|
|
73
|
+
const newTranslations = this.#applyLangPackDifference(maybeTranslations[1], difference.strings);
|
|
74
|
+
await this.#c.messageStorage.setTranslations(platform, language, difference.version, newTranslations);
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
const pack = await this.#c.invoke({ _: "langpack.getLangPack", lang_pack: platform, lang_code: language });
|
|
78
|
+
const version = pack.version;
|
|
79
|
+
const translations = pack.strings.map(_3_types_js_1.constructTranslation);
|
|
80
|
+
await this.#c.messageStorage.setTranslations(platform, language, version, translations);
|
|
81
|
+
}
|
|
82
|
+
resolve();
|
|
112
83
|
}
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
const version = pack.version;
|
|
116
|
-
const translations = pack.strings.map(_3_types_js_1.constructTranslation);
|
|
117
|
-
await __classPrivateFieldGet(this, _TranslationsManager_c, "f").messageStorage.setTranslations(platform, language, version, translations);
|
|
84
|
+
catch (err) {
|
|
85
|
+
reject(err);
|
|
118
86
|
}
|
|
119
|
-
|
|
120
|
-
}
|
|
121
|
-
catch (err) {
|
|
122
|
-
reject(err);
|
|
123
|
-
}
|
|
87
|
+
});
|
|
124
88
|
});
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
89
|
+
}
|
|
90
|
+
async #applyLangPackDifferenceAndSave(platform, language, version, fromVersion, strings) {
|
|
91
|
+
const result = await new Promise((resolve, reject) => {
|
|
92
|
+
this.#updateTranslationsQueue.add(async () => {
|
|
93
|
+
try {
|
|
94
|
+
const maybeTranslations = await this.#c.messageStorage.getTranslations(platform, language);
|
|
95
|
+
let newTranslations = null;
|
|
96
|
+
if (maybeTranslations) {
|
|
97
|
+
if (fromVersion != maybeTranslations[0]) {
|
|
98
|
+
resolve("mustUpdate");
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
newTranslations = this.#applyLangPackDifference(maybeTranslations[1], strings);
|
|
102
|
+
await this.#c.messageStorage.setTranslations(platform, language, version, newTranslations);
|
|
136
103
|
}
|
|
137
|
-
newTranslations
|
|
138
|
-
await __classPrivateFieldGet(this, _TranslationsManager_c, "f").messageStorage.setTranslations(platform, language, version, newTranslations);
|
|
104
|
+
resolve(newTranslations);
|
|
139
105
|
}
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
}
|
|
106
|
+
catch (err) {
|
|
107
|
+
reject(err);
|
|
108
|
+
}
|
|
109
|
+
});
|
|
145
110
|
});
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
111
|
+
if (result == "mustUpdate") {
|
|
112
|
+
await this.#updateTranslations(platform, language);
|
|
113
|
+
return await this.#getTranslationsInner(platform, language, true);
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
return result;
|
|
117
|
+
}
|
|
150
118
|
}
|
|
151
|
-
|
|
152
|
-
|
|
119
|
+
#applyLangPackDifference(translations, strings) {
|
|
120
|
+
for (const string of strings) {
|
|
121
|
+
if (_2_tl_js_1.Api.is("langPackStringDeleted", string)) {
|
|
122
|
+
translations = translations.filter((v) => v.key != string.key);
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
const newTranslation = (0, _3_types_js_1.constructTranslation)(string);
|
|
126
|
+
const currentTranslation = translations.find((v) => v.key == string.key);
|
|
127
|
+
if (currentTranslation) {
|
|
128
|
+
Object.assign(currentTranslation, newTranslation);
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
translations.push(newTranslation);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
return translations;
|
|
153
136
|
}
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
translations = translations.filter((v) => v.key != string.key);
|
|
137
|
+
async handleUpdate(update) {
|
|
138
|
+
if (!this.#c.langPack) {
|
|
139
|
+
return null;
|
|
158
140
|
}
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
const
|
|
162
|
-
|
|
163
|
-
|
|
141
|
+
if (_2_tl_js_1.Api.is("updateLangPackTooLong", update)) {
|
|
142
|
+
await this.#updateTranslations(this.#c.langPack, update.lang_code);
|
|
143
|
+
const translations = await this.#getTranslationsInner(this.#c.langPack, update.lang_code, true);
|
|
144
|
+
return { platform: this.#c.langPack, language: update.lang_code, translations };
|
|
145
|
+
}
|
|
146
|
+
else if (_2_tl_js_1.Api.is("updateLangPack", update)) {
|
|
147
|
+
if (!this.#c.langCode) {
|
|
148
|
+
return null;
|
|
149
|
+
}
|
|
150
|
+
const translations = await this.#applyLangPackDifferenceAndSave(this.#c.langPack, this.#c.langCode, update.difference.version, update.difference.from_version, update.difference.strings);
|
|
151
|
+
if (!translations) {
|
|
152
|
+
return null;
|
|
164
153
|
}
|
|
165
154
|
else {
|
|
166
|
-
translations
|
|
155
|
+
return { platform: this.#c.langPack, language: this.#c.langCode, translations };
|
|
167
156
|
}
|
|
168
157
|
}
|
|
158
|
+
return null;
|
|
169
159
|
}
|
|
170
|
-
|
|
171
|
-
|
|
160
|
+
}
|
|
161
|
+
exports.TranslationsManager = TranslationsManager;
|