@mtkruto/node 0.0.835 → 0.0.901
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/client/client.d.ts +23 -3
- package/esm/client/client.js +497 -76
- package/esm/client/client_abstract.d.ts +2 -0
- package/esm/client/client_abstract.js +14 -3
- package/esm/client/client_plain.js +18 -4
- package/esm/constants.d.ts +7 -5
- package/esm/constants.js +10 -6
- package/esm/deps/deno.land/std@0.190.0/encoding/base64.d.ts +11 -0
- package/esm/deps/deno.land/std@0.190.0/encoding/base64.js +140 -0
- package/esm/deps/deno.land/x/q@v0.0.1/mod.d.ts +6 -0
- package/esm/deps/deno.land/x/q@v0.0.1/mod.js +71 -0
- package/esm/deps.d.ts +2 -0
- package/esm/deps.js +2 -0
- package/esm/mod.d.ts +3 -3
- package/esm/mod.js +3 -3
- package/esm/storage/storage.d.ts +18 -0
- package/esm/storage/storage.js +103 -0
- package/esm/tl/1_tl_object.d.ts +0 -1
- package/esm/tl/1_tl_object.js +1 -1
- package/esm/tl/4_tl_writer.d.ts +5 -0
- package/esm/tl/5_rpc_result.d.ts +9 -0
- package/esm/tl/6_message.d.ts +10 -0
- package/esm/tl/{5_message.js → 6_message.js} +2 -2
- package/esm/tl/{6_message_container.d.ts → 7_message_container.d.ts} +1 -1
- package/esm/tl/{6_message_container.js → 7_message_container.js} +2 -2
- package/esm/transport/transport_provider.d.ts +7 -4
- package/esm/transport/transport_provider.js +11 -8
- package/esm/types/3_message.d.ts +5 -1
- package/esm/types/3_message.js +26 -22
- package/esm/utilities/1_message.d.ts +2 -2
- package/esm/utilities/1_message.js +3 -3
- package/esm/utilities/1_password.js +1 -1
- package/package.json +1 -1
- package/script/client/client.d.ts +23 -3
- package/script/client/client.js +497 -76
- package/script/client/client_abstract.d.ts +2 -0
- package/script/client/client_abstract.js +14 -3
- package/script/client/client_plain.js +18 -4
- package/script/constants.d.ts +7 -5
- package/script/constants.js +34 -7
- package/script/deps/deno.land/std@0.190.0/encoding/base64.d.ts +11 -0
- package/script/deps/deno.land/std@0.190.0/encoding/base64.js +145 -0
- package/script/deps/deno.land/x/q@v0.0.1/mod.d.ts +6 -0
- package/script/deps/deno.land/x/q@v0.0.1/mod.js +75 -0
- package/script/deps.d.ts +2 -0
- package/script/deps.js +6 -1
- package/script/mod.d.ts +3 -3
- package/script/mod.js +3 -3
- package/script/storage/storage.d.ts +18 -0
- package/script/storage/storage.js +126 -0
- package/script/tl/1_tl_object.d.ts +0 -1
- package/script/tl/1_tl_object.js +1 -1
- package/script/tl/4_tl_writer.d.ts +5 -0
- package/script/tl/5_rpc_result.d.ts +9 -0
- package/script/tl/6_message.d.ts +10 -0
- package/script/tl/{5_message.js → 6_message.js} +6 -6
- package/script/tl/{6_message_container.d.ts → 7_message_container.d.ts} +1 -1
- package/script/tl/{6_message_container.js → 7_message_container.js} +4 -4
- package/script/transport/transport_provider.d.ts +7 -4
- package/script/transport/transport_provider.js +11 -8
- package/script/types/3_message.d.ts +5 -1
- package/script/types/3_message.js +26 -22
- package/script/utilities/1_message.d.ts +2 -2
- package/script/utilities/1_message.js +9 -9
- package/script/utilities/1_password.js +1 -1
- package/esm/tl/3_tl_writer.d.ts +0 -5
- package/esm/tl/4_rpc_result.d.ts +0 -8
- package/esm/tl/5_message.d.ts +0 -11
- package/script/tl/3_tl_writer.d.ts +0 -5
- package/script/tl/4_rpc_result.d.ts +0 -8
- package/script/tl/5_message.d.ts +0 -11
- /package/esm/tl/{3_tl_writer.js → 4_tl_writer.js} +0 -0
- /package/esm/tl/{4_rpc_result.js → 5_rpc_result.js} +0 -0
- /package/script/tl/{3_tl_writer.js → 4_tl_writer.js} +0 -0
- /package/script/tl/{4_rpc_result.js → 5_rpc_result.js} +0 -0
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { id } from "./1_tl_object.js";
|
|
2
|
+
import { ReadObject } from "./3_tl_reader.js";
|
|
3
|
+
export declare class RPCResult {
|
|
4
|
+
readonly messageId: bigint;
|
|
5
|
+
readonly result: ReadObject;
|
|
6
|
+
static get [id](): number;
|
|
7
|
+
constructor(messageId: bigint, result: ReadObject);
|
|
8
|
+
static deserialize(buffer: Uint8Array): RPCResult;
|
|
9
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ReadObject, TLReader } from "./3_tl_reader.js";
|
|
2
|
+
import { RPCResult } from "./5_rpc_result.js";
|
|
3
|
+
export declare class Message {
|
|
4
|
+
readonly id: bigint;
|
|
5
|
+
readonly seqNo: number;
|
|
6
|
+
readonly body: ReadObject | RPCResult;
|
|
7
|
+
constructor(id: bigint, seqNo: number, body: ReadObject | RPCResult);
|
|
8
|
+
serialize(): Uint8Array;
|
|
9
|
+
static deserialize(reader: TLReader): Message;
|
|
10
|
+
}
|
|
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.Message = void 0;
|
|
4
4
|
const _1_tl_object_js_1 = require("./1_tl_object.js");
|
|
5
5
|
const _3_tl_reader_js_1 = require("./3_tl_reader.js");
|
|
6
|
-
const
|
|
7
|
-
const
|
|
6
|
+
const _4_tl_writer_js_1 = require("./4_tl_writer.js");
|
|
7
|
+
const _5_rpc_result_js_1 = require("./5_rpc_result.js");
|
|
8
8
|
// TODO: test
|
|
9
9
|
function calculateLength(object) {
|
|
10
10
|
let length = 0;
|
|
@@ -42,10 +42,10 @@ class Message {
|
|
|
42
42
|
});
|
|
43
43
|
}
|
|
44
44
|
serialize() {
|
|
45
|
-
if (this.body instanceof
|
|
45
|
+
if (this.body instanceof _5_rpc_result_js_1.RPCResult) {
|
|
46
46
|
throw new Error("Not applicable");
|
|
47
47
|
}
|
|
48
|
-
return new
|
|
48
|
+
return new _4_tl_writer_js_1.TLWriter()
|
|
49
49
|
.writeInt64(this.id)
|
|
50
50
|
.writeInt32(this.seqNo)
|
|
51
51
|
.writeInt32(calculateLength(this.body))
|
|
@@ -60,8 +60,8 @@ class Message {
|
|
|
60
60
|
const cid = reader.readInt32(false);
|
|
61
61
|
let body;
|
|
62
62
|
{
|
|
63
|
-
if (cid ==
|
|
64
|
-
body =
|
|
63
|
+
if (cid == _5_rpc_result_js_1.RPCResult[_1_tl_object_js_1.id]) {
|
|
64
|
+
body = _5_rpc_result_js_1.RPCResult.deserialize(reader.buffer);
|
|
65
65
|
}
|
|
66
66
|
else {
|
|
67
67
|
body = reader.readObject(cid);
|
|
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.MessageContainer = void 0;
|
|
4
4
|
const _1_tl_object_js_1 = require("./1_tl_object.js");
|
|
5
5
|
const _3_tl_reader_js_1 = require("./3_tl_reader.js");
|
|
6
|
-
const
|
|
7
|
-
const
|
|
6
|
+
const _4_tl_writer_js_1 = require("./4_tl_writer.js");
|
|
7
|
+
const _6_message_js_1 = require("./6_message.js");
|
|
8
8
|
class MessageContainer {
|
|
9
9
|
static get [_1_tl_object_js_1.id]() {
|
|
10
10
|
return 0x73F1F8DC;
|
|
@@ -18,7 +18,7 @@ class MessageContainer {
|
|
|
18
18
|
});
|
|
19
19
|
}
|
|
20
20
|
serialize() {
|
|
21
|
-
const writer = new
|
|
21
|
+
const writer = new _4_tl_writer_js_1.TLWriter();
|
|
22
22
|
writer.writeInt32(MessageContainer[_1_tl_object_js_1.id]);
|
|
23
23
|
writer.writeInt32(this.messages.length);
|
|
24
24
|
for (const message of this.messages) {
|
|
@@ -31,7 +31,7 @@ class MessageContainer {
|
|
|
31
31
|
const length = reader.readInt32();
|
|
32
32
|
const messages = new Array();
|
|
33
33
|
for (let i = 0; i < length; i++) {
|
|
34
|
-
messages.push(
|
|
34
|
+
messages.push(_6_message_js_1.Message.deserialize(reader));
|
|
35
35
|
}
|
|
36
36
|
return new MessageContainer(messages);
|
|
37
37
|
}
|
|
@@ -5,10 +5,13 @@ export interface TransportProviderParams {
|
|
|
5
5
|
dc?: DC;
|
|
6
6
|
cdn: boolean;
|
|
7
7
|
}
|
|
8
|
-
export type TransportProvider =
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
export type TransportProvider = {
|
|
9
|
+
initialDc: DC;
|
|
10
|
+
createTransport: (params: TransportProviderParams) => {
|
|
11
|
+
connection: Connection;
|
|
12
|
+
transport: Transport;
|
|
13
|
+
dcId: number;
|
|
14
|
+
};
|
|
12
15
|
};
|
|
13
16
|
export interface TransportProviderCreatorParams {
|
|
14
17
|
initialDc: DC;
|
|
@@ -14,14 +14,17 @@ const dcToNameMap = {
|
|
|
14
14
|
"5": "flora",
|
|
15
15
|
};
|
|
16
16
|
const defaultTransportProvider = ({ initialDc, wss }) => {
|
|
17
|
-
return
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
17
|
+
return {
|
|
18
|
+
initialDc,
|
|
19
|
+
createTransport: ({ dc, cdn }) => {
|
|
20
|
+
dc ??= initialDc;
|
|
21
|
+
wss ??= typeof location !== "undefined" && location.protocol == "http:" ? false : true;
|
|
22
|
+
const url = `${wss ? "wss" : "ws"}://${dcToNameMap[dc]}${cdn ? "-1" : ""}.web.telegram.org/${dc.endsWith("-test") ? "apiws_test" : "apiws"}`;
|
|
23
|
+
const connection = new connection_web_socket_js_1.ConnectionWebSocket(url);
|
|
24
|
+
const transport = new transport_intermediate_js_1.TransportIntermediate(connection, true);
|
|
25
|
+
const dcId = Number(dc[0]) + (dc.endsWith("-test") ? 10000 : 0) * (cdn ? -1 : 1);
|
|
26
|
+
return { connection, transport, dcId };
|
|
27
|
+
},
|
|
25
28
|
};
|
|
26
29
|
};
|
|
27
30
|
exports.defaultTransportProvider = defaultTransportProvider;
|
|
@@ -19,4 +19,8 @@ export interface Message {
|
|
|
19
19
|
views?: number;
|
|
20
20
|
replyMarkup?: InlineKeyboardMarkup | ReplyKeyboardMarkup | ReplyKeyboardRemove | ForceReply;
|
|
21
21
|
}
|
|
22
|
-
export declare function constructMessage(message_: types.Message,
|
|
22
|
+
export declare function constructMessage(message_: types.Message, getEntity: {
|
|
23
|
+
(peer: types.PeerUser): Promise<types.User | null>;
|
|
24
|
+
(peer: types.PeerChat): Promise<types.Chat | null>;
|
|
25
|
+
(peer: types.PeerChannel): Promise<types.Channel | null>;
|
|
26
|
+
}): Promise<Message>;
|
|
@@ -34,42 +34,46 @@ const _1_chat_js_1 = require("./1_chat.js");
|
|
|
34
34
|
const _1_user_js_1 = require("./1_user.js");
|
|
35
35
|
const _2_inline_keyboard_markup_js_1 = require("./2_inline_keyboard_markup.js");
|
|
36
36
|
const _2_reply_keyboard_markup_js_1 = require("./2_reply_keyboard_markup.js");
|
|
37
|
-
function constructMessage(message_,
|
|
37
|
+
async function constructMessage(message_, getEntity) {
|
|
38
38
|
let chat_ = null;
|
|
39
39
|
if (message_.peerId instanceof types.PeerUser) {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
40
|
+
const entity = await getEntity(message_.peerId);
|
|
41
|
+
if (entity) {
|
|
42
|
+
chat_ = (0, _1_chat_js_1.constructChat)(entity);
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
(0, _0_control_js_1.UNREACHABLE)();
|
|
45
46
|
}
|
|
46
47
|
}
|
|
47
48
|
else if (message_.peerId instanceof types.PeerChat) {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
49
|
+
const entity = await getEntity(message_.peerId);
|
|
50
|
+
if (entity) {
|
|
51
|
+
chat_ = (0, _1_chat_js_1.constructChat)(entity);
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
(0, _0_control_js_1.UNREACHABLE)();
|
|
53
55
|
}
|
|
54
56
|
}
|
|
55
57
|
else if (message_.peerId instanceof types.PeerChannel) {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
58
|
+
const entity = await getEntity(message_.peerId);
|
|
59
|
+
if (entity) {
|
|
60
|
+
chat_ = (0, _1_chat_js_1.constructChat)(entity);
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
(0, _0_control_js_1.UNREACHABLE)();
|
|
61
64
|
}
|
|
62
65
|
}
|
|
63
|
-
|
|
66
|
+
else {
|
|
64
67
|
(0, _0_control_js_1.UNREACHABLE)();
|
|
65
68
|
}
|
|
66
69
|
const message = { id: message_.id, chat: chat_, views: message_.views };
|
|
67
70
|
if (message_.fromId instanceof types.PeerUser) {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
71
|
+
const entity = await getEntity(message_.fromId);
|
|
72
|
+
if (entity) {
|
|
73
|
+
message.from = (0, _1_user_js_1.constructUser)(entity);
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
(0, _0_control_js_1.UNREACHABLE)();
|
|
73
77
|
}
|
|
74
78
|
}
|
|
75
79
|
if (message_.message) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Message } from "../tl/
|
|
2
|
-
import { MessageContainer } from "../tl/
|
|
1
|
+
import { Message } from "../tl/6_message.js";
|
|
2
|
+
import { MessageContainer } from "../tl/7_message_container.js";
|
|
3
3
|
export declare function getMessageId(): bigint;
|
|
4
4
|
export declare function packUnencryptedMessage(data: Uint8Array): Uint8Array;
|
|
5
5
|
export declare function unpackUnencryptedMessage(buffer: Uint8Array): {
|
|
@@ -6,9 +6,9 @@ const _0_tl_raw_reader_js_1 = require("../tl/0_tl_raw_reader.js");
|
|
|
6
6
|
const _0_tl_raw_writer_js_1 = require("../tl/0_tl_raw_writer.js");
|
|
7
7
|
const _1_tl_object_js_1 = require("../tl/1_tl_object.js");
|
|
8
8
|
const _3_tl_reader_js_1 = require("../tl/3_tl_reader.js");
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
9
|
+
const _5_rpc_result_js_1 = require("../tl/5_rpc_result.js");
|
|
10
|
+
const _6_message_js_1 = require("../tl/6_message.js");
|
|
11
|
+
const _7_message_container_js_1 = require("../tl/7_message_container.js");
|
|
12
12
|
const _0_buffer_js_1 = require("./0_buffer.js");
|
|
13
13
|
const _0_hash_js_1 = require("./0_hash.js");
|
|
14
14
|
let lastMsgId = 0n;
|
|
@@ -87,16 +87,16 @@ async function decryptMessage(buffer, authKey, authKeyId, _sessionId) {
|
|
|
87
87
|
const length = plainReader.readInt32();
|
|
88
88
|
plainReader = new _3_tl_reader_js_1.TLReader(plainReader.read(length));
|
|
89
89
|
const cid = plainReader.readInt32(false);
|
|
90
|
-
if (cid ==
|
|
91
|
-
return
|
|
90
|
+
if (cid == _7_message_container_js_1.MessageContainer[_1_tl_object_js_1.id]) {
|
|
91
|
+
return _7_message_container_js_1.MessageContainer.deserialize(plainReader.buffer);
|
|
92
92
|
}
|
|
93
|
-
else if (cid ==
|
|
94
|
-
const body =
|
|
95
|
-
return new
|
|
93
|
+
else if (cid == _5_rpc_result_js_1.RPCResult[_1_tl_object_js_1.id]) {
|
|
94
|
+
const body = _5_rpc_result_js_1.RPCResult.deserialize(plainReader.buffer);
|
|
95
|
+
return new _6_message_js_1.Message(mid, seqno, body);
|
|
96
96
|
}
|
|
97
97
|
else {
|
|
98
98
|
const body = plainReader.readObject(cid);
|
|
99
|
-
return new
|
|
99
|
+
return new _6_message_js_1.Message(mid, seqno, body);
|
|
100
100
|
}
|
|
101
101
|
}
|
|
102
102
|
exports.decryptMessage = decryptMessage;
|
package/esm/tl/3_tl_writer.d.ts
DELETED
package/esm/tl/4_rpc_result.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { id, MaybeVectorTLObject } from "./1_tl_object.js";
|
|
2
|
-
export declare class RPCResult {
|
|
3
|
-
readonly messageId: bigint;
|
|
4
|
-
readonly result: MaybeVectorTLObject;
|
|
5
|
-
static get [id](): number;
|
|
6
|
-
constructor(messageId: bigint, result: MaybeVectorTLObject);
|
|
7
|
-
static deserialize(buffer: Uint8Array): RPCResult;
|
|
8
|
-
}
|
package/esm/tl/5_message.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { MaybeVectorTLObject } from "./1_tl_object.js";
|
|
2
|
-
import { TLReader } from "./3_tl_reader.js";
|
|
3
|
-
import { RPCResult } from "./4_rpc_result.js";
|
|
4
|
-
export declare class Message {
|
|
5
|
-
readonly id: bigint;
|
|
6
|
-
readonly seqNo: number;
|
|
7
|
-
readonly body: MaybeVectorTLObject | RPCResult;
|
|
8
|
-
constructor(id: bigint, seqNo: number, body: MaybeVectorTLObject | RPCResult);
|
|
9
|
-
serialize(): Uint8Array;
|
|
10
|
-
static deserialize(reader: TLReader): Message;
|
|
11
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { id, MaybeVectorTLObject } from "./1_tl_object.js";
|
|
2
|
-
export declare class RPCResult {
|
|
3
|
-
readonly messageId: bigint;
|
|
4
|
-
readonly result: MaybeVectorTLObject;
|
|
5
|
-
static get [id](): number;
|
|
6
|
-
constructor(messageId: bigint, result: MaybeVectorTLObject);
|
|
7
|
-
static deserialize(buffer: Uint8Array): RPCResult;
|
|
8
|
-
}
|
package/script/tl/5_message.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { MaybeVectorTLObject } from "./1_tl_object.js";
|
|
2
|
-
import { TLReader } from "./3_tl_reader.js";
|
|
3
|
-
import { RPCResult } from "./4_rpc_result.js";
|
|
4
|
-
export declare class Message {
|
|
5
|
-
readonly id: bigint;
|
|
6
|
-
readonly seqNo: number;
|
|
7
|
-
readonly body: MaybeVectorTLObject | RPCResult;
|
|
8
|
-
constructor(id: bigint, seqNo: number, body: MaybeVectorTLObject | RPCResult);
|
|
9
|
-
serialize(): Uint8Array;
|
|
10
|
-
static deserialize(reader: TLReader): Message;
|
|
11
|
-
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|