@mtcute/core 0.28.0 → 0.28.2
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/client.cjs +16 -0
- package/client.js +16 -0
- package/highlevel/base.cjs +2 -0
- package/highlevel/base.js +2 -0
- package/highlevel/client.d.cts +74 -5
- package/highlevel/client.d.ts +74 -5
- package/highlevel/methods/chats/batched-queries.cjs +2 -4
- package/highlevel/methods/chats/batched-queries.d.cts +1 -1
- package/highlevel/methods/chats/batched-queries.d.ts +1 -1
- package/highlevel/methods/chats/batched-queries.js +2 -4
- package/highlevel/methods/chats/edit-chat-member-rank.cjs +19 -0
- package/highlevel/methods/chats/edit-chat-member-rank.d.cts +13 -0
- package/highlevel/methods/chats/edit-chat-member-rank.d.ts +13 -0
- package/highlevel/methods/chats/edit-chat-member-rank.js +14 -0
- package/highlevel/methods/chats/get-chats.cjs +27 -0
- package/highlevel/methods/chats/get-chats.d.cts +9 -0
- package/highlevel/methods/chats/get-chats.d.ts +9 -0
- package/highlevel/methods/chats/get-chats.js +22 -0
- package/highlevel/methods/chats/get-chats.test.d.cts +1 -0
- package/highlevel/methods/chats/get-chats.test.d.ts +1 -0
- package/highlevel/methods/chats/get-creator-after-leave.cjs +20 -4
- package/highlevel/methods/chats/get-creator-after-leave.d.cts +2 -2
- package/highlevel/methods/chats/get-creator-after-leave.d.ts +2 -2
- package/highlevel/methods/chats/get-creator-after-leave.js +21 -5
- package/highlevel/methods/chats/get-peers.cjs +16 -0
- package/highlevel/methods/chats/get-peers.d.cts +9 -0
- package/highlevel/methods/chats/get-peers.d.ts +9 -0
- package/highlevel/methods/chats/get-peers.js +11 -0
- package/highlevel/methods/chats/get-peers.test.d.cts +1 -0
- package/highlevel/methods/chats/get-peers.test.d.ts +1 -0
- package/highlevel/methods/chats/toggle-content-protection.cjs +3 -2
- package/highlevel/methods/chats/toggle-content-protection.d.cts +4 -1
- package/highlevel/methods/chats/toggle-content-protection.d.ts +4 -1
- package/highlevel/methods/chats/toggle-content-protection.js +3 -2
- package/highlevel/methods/chats/transfer-chat-ownership.cjs +36 -0
- package/highlevel/methods/chats/transfer-chat-ownership.d.cts +16 -0
- package/highlevel/methods/chats/transfer-chat-ownership.d.ts +16 -0
- package/highlevel/methods/chats/transfer-chat-ownership.js +31 -0
- package/highlevel/methods/contacts/set-contact-note.cjs +2 -0
- package/highlevel/methods/contacts/set-contact-note.js +2 -0
- package/highlevel/methods/files/upload-file.cjs +2 -2
- package/highlevel/methods/files/upload-file.js +2 -2
- package/highlevel/methods/users/get-users.d.cts +1 -2
- package/highlevel/methods/users/get-users.d.ts +1 -2
- package/highlevel/methods/users/resolve-peer.cjs +4 -4
- package/highlevel/methods/users/resolve-peer.js +4 -4
- package/highlevel/methods.d.cts +4 -0
- package/highlevel/methods.d.ts +4 -0
- package/highlevel/types/messages/message-action.cjs +13 -0
- package/highlevel/types/messages/message-action.d.cts +19 -1
- package/highlevel/types/messages/message-action.d.ts +19 -1
- package/highlevel/types/messages/message-action.js +13 -0
- package/highlevel/types/messages/message.cjs +4 -0
- package/highlevel/types/messages/message.d.cts +2 -0
- package/highlevel/types/messages/message.d.ts +2 -0
- package/highlevel/types/messages/message.js +4 -0
- package/highlevel/types/peers/chat-event/actions.cjs +7 -0
- package/highlevel/types/peers/chat-event/actions.d.cts +11 -1
- package/highlevel/types/peers/chat-event/actions.d.ts +11 -1
- package/highlevel/types/peers/chat-event/actions.js +7 -0
- package/highlevel/types/peers/chat-event/filters.cjs +1 -0
- package/highlevel/types/peers/chat-event/filters.js +1 -0
- package/highlevel/types/peers/chat-member.cjs +5 -8
- package/highlevel/types/peers/chat-member.d.cts +2 -2
- package/highlevel/types/peers/chat-member.d.ts +2 -2
- package/highlevel/types/peers/chat-member.js +5 -8
- package/highlevel/types/peers/full-user.cjs +14 -0
- package/highlevel/types/peers/full-user.d.cts +10 -0
- package/highlevel/types/peers/full-user.d.ts +10 -0
- package/highlevel/types/peers/full-user.js +14 -0
- package/highlevel/types/peers/peer.cjs +13 -3
- package/highlevel/types/peers/peer.d.cts +4 -0
- package/highlevel/types/peers/peer.d.ts +4 -0
- package/highlevel/types/peers/peer.js +13 -3
- package/highlevel/updates/manager.cjs +2 -0
- package/highlevel/updates/manager.js +2 -0
- package/highlevel/utils/file-utils.cjs +2 -2
- package/highlevel/utils/file-utils.d.cts +1 -1
- package/highlevel/utils/file-utils.d.ts +1 -1
- package/highlevel/utils/file-utils.js +2 -2
- package/methods.cjs +8 -0
- package/methods.js +8 -0
- package/network/mtproto-session.cjs +2 -0
- package/network/mtproto-session.js +2 -0
- package/network/network-manager.cjs +1 -1
- package/network/network-manager.js +1 -1
- package/network/server-salt.cjs +4 -8
- package/network/server-salt.js +4 -8
- package/network/session-connection.cjs +2 -0
- package/network/session-connection.js +2 -0
- package/network/transports/intermediate.cjs +2 -0
- package/network/transports/intermediate.js +2 -0
- package/package.json +3 -3
- package/storage/storage.cjs +2 -0
- package/storage/storage.js +2 -0
- package/utils/binary/compat.cjs +9 -0
- package/utils/binary/compat.d.cts +3 -0
- package/utils/binary/compat.d.ts +3 -0
- package/utils/binary/compat.js +10 -1
- package/utils/date-entity-format.cjs +48 -0
- package/utils/date-entity-format.d.cts +24 -0
- package/utils/date-entity-format.d.ts +24 -0
- package/utils/date-entity-format.js +43 -0
- package/utils/date-entity-format.test.d.cts +1 -0
- package/utils/date-entity-format.test.d.ts +1 -0
- package/utils/index.d.cts +3 -0
- package/utils/index.d.ts +3 -0
- package/utils/links/bots.cjs +3 -0
- package/utils/links/bots.js +3 -0
- package/utils.cjs +14 -0
- package/utils.js +9 -1
package/methods.js
CHANGED
|
@@ -40,17 +40,20 @@ import { deleteGroup } from "./highlevel/methods/chats/delete-group.js";
|
|
|
40
40
|
import { deleteHistory } from "./highlevel/methods/chats/delete-history.js";
|
|
41
41
|
import { deleteUserHistory } from "./highlevel/methods/chats/delete-user-history.js";
|
|
42
42
|
import { editAdminRights } from "./highlevel/methods/chats/edit-admin-rights.js";
|
|
43
|
+
import { editChatMemberRank } from "./highlevel/methods/chats/edit-chat-member-rank.js";
|
|
43
44
|
import { getChatEventLog } from "./highlevel/methods/chats/get-chat-event-log.js";
|
|
44
45
|
import { getChatMember } from "./highlevel/methods/chats/get-chat-member.js";
|
|
45
46
|
import { getChatMembers } from "./highlevel/methods/chats/get-chat-members.js";
|
|
46
47
|
import { getChatPreview } from "./highlevel/methods/chats/get-chat-preview.js";
|
|
47
48
|
import { getChat } from "./highlevel/methods/chats/get-chat.js";
|
|
49
|
+
import { getChats } from "./highlevel/methods/chats/get-chats.js";
|
|
48
50
|
import { getCreatorAfterLeave } from "./highlevel/methods/chats/get-creator-after-leave.js";
|
|
49
51
|
import { getFullChat } from "./highlevel/methods/chats/get-full-chat.js";
|
|
50
52
|
import { getFullUser } from "./highlevel/methods/chats/get-full-user.js";
|
|
51
53
|
import { getMessageAuthor } from "./highlevel/methods/chats/get-message-author.js";
|
|
52
54
|
import { getNearbyChats } from "./highlevel/methods/chats/get-nearby-chats.js";
|
|
53
55
|
import { getPeer } from "./highlevel/methods/chats/get-peer.js";
|
|
56
|
+
import { getPeers } from "./highlevel/methods/chats/get-peers.js";
|
|
54
57
|
import { getSimilarChannels } from "./highlevel/methods/chats/get-similar-channels.js";
|
|
55
58
|
import { getUser } from "./highlevel/methods/chats/get-user.js";
|
|
56
59
|
import { iterChatEventLog } from "./highlevel/methods/chats/iter-chat-event-log.js";
|
|
@@ -75,6 +78,7 @@ import { toggleContentProtection } from "./highlevel/methods/chats/toggle-conten
|
|
|
75
78
|
import { toggleFragmentUsername } from "./highlevel/methods/chats/toggle-fragment-username.js";
|
|
76
79
|
import { toggleJoinRequests } from "./highlevel/methods/chats/toggle-join-requests.js";
|
|
77
80
|
import { toggleJoinToSend } from "./highlevel/methods/chats/toggle-join-to-send.js";
|
|
81
|
+
import { transferChatOwnership } from "./highlevel/methods/chats/transfer-chat-ownership.js";
|
|
78
82
|
import { unarchiveChats } from "./highlevel/methods/chats/unarchive-chats.js";
|
|
79
83
|
import { unbanChatMember } from "./highlevel/methods/chats/unban-chat-member.js";
|
|
80
84
|
import { addContact } from "./highlevel/methods/contacts/add-contact.js";
|
|
@@ -338,6 +342,7 @@ export {
|
|
|
338
342
|
downloadChunk,
|
|
339
343
|
editAdminRights,
|
|
340
344
|
editBusinessChatLink,
|
|
345
|
+
editChatMemberRank,
|
|
341
346
|
editCloseFriends,
|
|
342
347
|
editCloseFriendsRaw,
|
|
343
348
|
editFolder,
|
|
@@ -369,6 +374,7 @@ export {
|
|
|
369
374
|
getChatMembers,
|
|
370
375
|
getChatPreview,
|
|
371
376
|
getChatlistPreview,
|
|
377
|
+
getChats,
|
|
372
378
|
getCollectibleInfo,
|
|
373
379
|
getCommonChats,
|
|
374
380
|
getContacts,
|
|
@@ -408,6 +414,7 @@ export {
|
|
|
408
414
|
getPeerDialogs,
|
|
409
415
|
getPeerSettings,
|
|
410
416
|
getPeerStories,
|
|
417
|
+
getPeers,
|
|
411
418
|
getPrimaryInviteLink,
|
|
412
419
|
getProfilePhoto,
|
|
413
420
|
getProfilePhotos,
|
|
@@ -564,6 +571,7 @@ export {
|
|
|
564
571
|
togglePinnedStarGifts,
|
|
565
572
|
toggleStoriesPinned,
|
|
566
573
|
toggleTodoCompleted,
|
|
574
|
+
transferChatOwnership,
|
|
567
575
|
transferStarGift,
|
|
568
576
|
translateMessage,
|
|
569
577
|
translateText,
|
|
@@ -11,6 +11,8 @@ const Long = require("long");
|
|
|
11
11
|
const longUtils = require("../utils/long-utils.cjs");
|
|
12
12
|
const miscUtils = require("../utils/misc-utils.cjs");
|
|
13
13
|
const sortedArray = require("../utils/sorted-array.cjs");
|
|
14
|
+
require("@mtcute/tl/binary/reader.js");
|
|
15
|
+
require("@mtcute/tl/binary/writer.js");
|
|
14
16
|
const authKey = require("./auth-key.cjs");
|
|
15
17
|
const errors = require("../types/errors.cjs");
|
|
16
18
|
class MtprotoSession {
|
|
@@ -4,6 +4,8 @@ import Long from "long";
|
|
|
4
4
|
import { randomLong, LongSet, LongMap, compareLongs } from "../utils/long-utils.js";
|
|
5
5
|
import { getRandomInt } from "../utils/misc-utils.js";
|
|
6
6
|
import { SortedArray } from "../utils/sorted-array.js";
|
|
7
|
+
import "@mtcute/tl/binary/reader.js";
|
|
8
|
+
import "@mtcute/tl/binary/writer.js";
|
|
7
9
|
import { AuthKey } from "./auth-key.js";
|
|
8
10
|
import { MtcuteError } from "../types/errors.js";
|
|
9
11
|
class MtprotoSession {
|
package/network/server-salt.cjs
CHANGED
|
@@ -35,19 +35,15 @@ class ServerSaltManager {
|
|
|
35
35
|
_replaceAndScheduleNext() {
|
|
36
36
|
if (this._timer) utils.timers.clearTimeout(this._timer);
|
|
37
37
|
const now = Date.now() / 1e3;
|
|
38
|
-
let next;
|
|
39
38
|
while (this._futureSalts.length !== 0) {
|
|
40
39
|
const salt = this._futureSalts[0];
|
|
41
|
-
if (salt.validSince
|
|
42
|
-
|
|
43
|
-
break;
|
|
44
|
-
}
|
|
40
|
+
if (salt.validSince > now) break;
|
|
41
|
+
this.currentSalt = salt.salt;
|
|
45
42
|
this._futureSalts.shift();
|
|
46
43
|
}
|
|
47
|
-
if (
|
|
48
|
-
|
|
44
|
+
if (this._futureSalts.length) {
|
|
45
|
+
this._scheduleReplace(this._futureSalts[0]);
|
|
49
46
|
}
|
|
50
|
-
this._scheduleReplace(next);
|
|
51
47
|
}
|
|
52
48
|
destroy() {
|
|
53
49
|
utils.timers.clearTimeout(this._timer);
|
package/network/server-salt.js
CHANGED
|
@@ -28,19 +28,15 @@ class ServerSaltManager {
|
|
|
28
28
|
_replaceAndScheduleNext() {
|
|
29
29
|
if (this._timer) timers.clearTimeout(this._timer);
|
|
30
30
|
const now = Date.now() / 1e3;
|
|
31
|
-
let next;
|
|
32
31
|
while (this._futureSalts.length !== 0) {
|
|
33
32
|
const salt = this._futureSalts[0];
|
|
34
|
-
if (salt.validSince
|
|
35
|
-
|
|
36
|
-
break;
|
|
37
|
-
}
|
|
33
|
+
if (salt.validSince > now) break;
|
|
34
|
+
this.currentSalt = salt.salt;
|
|
38
35
|
this._futureSalts.shift();
|
|
39
36
|
}
|
|
40
|
-
if (
|
|
41
|
-
|
|
37
|
+
if (this._futureSalts.length) {
|
|
38
|
+
this._scheduleReplace(this._futureSalts[0]);
|
|
42
39
|
}
|
|
43
|
-
this._scheduleReplace(next);
|
|
44
40
|
}
|
|
45
41
|
destroy() {
|
|
46
42
|
timers.clearTimeout(this._timer);
|
|
@@ -12,6 +12,8 @@ const Long = require("long");
|
|
|
12
12
|
const mtproto = require("../utils/crypto/mtproto.cjs");
|
|
13
13
|
const earlyTimer = require("../utils/early-timer.cjs");
|
|
14
14
|
const longUtils = require("../utils/long-utils.cjs");
|
|
15
|
+
require("@mtcute/tl/binary/reader.js");
|
|
16
|
+
require("@mtcute/tl/binary/writer.js");
|
|
15
17
|
const authorization = require("./authorization.cjs");
|
|
16
18
|
const mtprotoSession = require("./mtproto-session.cjs");
|
|
17
19
|
const persistentConnection = require("./persistent-connection.cjs");
|
|
@@ -5,6 +5,8 @@ import Long from "long";
|
|
|
5
5
|
import { createAesIgeForMessageOld } from "../utils/crypto/mtproto.js";
|
|
6
6
|
import { EarlyTimer } from "../utils/early-timer.js";
|
|
7
7
|
import { longFromBuffer, randomLong, removeFromLongArray } from "../utils/long-utils.js";
|
|
8
|
+
import "@mtcute/tl/binary/reader.js";
|
|
9
|
+
import "@mtcute/tl/binary/writer.js";
|
|
8
10
|
import { doAuthorization } from "./authorization.js";
|
|
9
11
|
import { MtprotoSession } from "./mtproto-session.js";
|
|
10
12
|
import { PersistentConnection } from "./persistent-connection.js";
|
|
@@ -9,6 +9,8 @@ const io = require("@fuman/io");
|
|
|
9
9
|
const utils = require("@fuman/utils");
|
|
10
10
|
const miscUtils = require("../../utils/misc-utils.cjs");
|
|
11
11
|
require("@mtcute/tl-runtime");
|
|
12
|
+
require("@mtcute/tl/binary/reader.js");
|
|
13
|
+
require("@mtcute/tl/binary/writer.js");
|
|
12
14
|
const abstract = require("./abstract.cjs");
|
|
13
15
|
const TAG = new Uint8Array([238, 238, 238, 238]);
|
|
14
16
|
const PADDED_TAG = new Uint8Array([221, 221, 221, 221]);
|
|
@@ -2,6 +2,8 @@ import { read, write } from "@fuman/io";
|
|
|
2
2
|
import { typed } from "@fuman/utils";
|
|
3
3
|
import { getRandomInt } from "../../utils/misc-utils.js";
|
|
4
4
|
import "@mtcute/tl-runtime";
|
|
5
|
+
import "@mtcute/tl/binary/reader.js";
|
|
6
|
+
import "@mtcute/tl/binary/writer.js";
|
|
5
7
|
import { TransportError } from "./abstract.js";
|
|
6
8
|
const TAG = new Uint8Array([238, 238, 238, 238]);
|
|
7
9
|
const PADDED_TAG = new Uint8Array([221, 221, 221, 221]);
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mtcute/core",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.28.
|
|
4
|
+
"version": "0.28.2",
|
|
5
5
|
"description": "Type-safe library for MTProto (Telegram API)",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"scripts": {},
|
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
"@fuman/io": "0.0.19",
|
|
10
10
|
"@fuman/net": "0.0.19",
|
|
11
11
|
"@fuman/utils": "0.0.19",
|
|
12
|
-
"@mtcute/file-id": "^0.
|
|
13
|
-
"@mtcute/tl": "^
|
|
12
|
+
"@mtcute/file-id": "^0.28.2",
|
|
13
|
+
"@mtcute/tl": "^223.0.0",
|
|
14
14
|
"@mtcute/tl-runtime": "^0.24.3",
|
|
15
15
|
"@types/events": "3.0.0",
|
|
16
16
|
"long": "5.2.3"
|
package/storage/storage.cjs
CHANGED
|
@@ -8,6 +8,8 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
|
8
8
|
const defaultDcs = require("./service/default-dcs.cjs");
|
|
9
9
|
const functionUtils = require("../utils/function-utils.cjs");
|
|
10
10
|
require("@mtcute/tl-runtime");
|
|
11
|
+
require("@mtcute/tl/binary/reader.js");
|
|
12
|
+
require("@mtcute/tl/binary/writer.js");
|
|
11
13
|
const authKeys = require("./service/auth-keys.cjs");
|
|
12
14
|
const futureSalts = require("./service/future-salts.cjs");
|
|
13
15
|
class StorageManager {
|
package/storage/storage.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { DefaultDcsService } from "./service/default-dcs.js";
|
|
2
2
|
import { asyncResettable } from "../utils/function-utils.js";
|
|
3
3
|
import "@mtcute/tl-runtime";
|
|
4
|
+
import "@mtcute/tl/binary/reader.js";
|
|
5
|
+
import "@mtcute/tl/binary/writer.js";
|
|
4
6
|
import { AuthKeysService } from "./service/auth-keys.js";
|
|
5
7
|
import { FutureSaltsService } from "./service/future-salts.js";
|
|
6
8
|
class StorageManager {
|
package/utils/binary/compat.cjs
CHANGED
|
@@ -206,6 +206,7 @@ function mapCompatMessage(obj) {
|
|
|
206
206
|
case "message_layer204":
|
|
207
207
|
case "message_layer216":
|
|
208
208
|
case "message_layer220":
|
|
209
|
+
case "message_layer222":
|
|
209
210
|
return {
|
|
210
211
|
...obj,
|
|
211
212
|
_: "message",
|
|
@@ -339,6 +340,7 @@ function mapCompatObject(obj) {
|
|
|
339
340
|
case "message_layer204":
|
|
340
341
|
case "message_layer216":
|
|
341
342
|
case "message_layer220":
|
|
343
|
+
case "message_layer222":
|
|
342
344
|
case "messageService_layer204":
|
|
343
345
|
return mapCompatMessage(obj);
|
|
344
346
|
case "messageReplyHeader_layer206":
|
|
@@ -368,6 +370,12 @@ function mapCompatObject(obj) {
|
|
|
368
370
|
case "starGiftAttributePattern_layer221":
|
|
369
371
|
case "starGiftAttributeModel_layer221":
|
|
370
372
|
return mapCompatStarGiftAttribute(obj);
|
|
373
|
+
case "chatParticipant_layer222":
|
|
374
|
+
return replaceType(obj, "chatParticipant");
|
|
375
|
+
case "chatParticipantCreator_layer222":
|
|
376
|
+
return replaceType(obj, "chatParticipantCreator");
|
|
377
|
+
case "chatParticipantAdmin_layer222":
|
|
378
|
+
return replaceType(obj, "chatParticipantAdmin");
|
|
371
379
|
case "keyboardButton_layer221":
|
|
372
380
|
case "keyboardButtonUrl_layer221":
|
|
373
381
|
case "keyboardButtonCallback_layer221":
|
|
@@ -426,5 +434,6 @@ function deserializePeersIndexWithCompat(data) {
|
|
|
426
434
|
}
|
|
427
435
|
return res;
|
|
428
436
|
}
|
|
437
|
+
exports.__tlReaderMapWithCompat = _combinedReaderMap;
|
|
429
438
|
exports.deserializeObjectWithCompat = deserializeObjectWithCompat;
|
|
430
439
|
exports.deserializePeersIndexWithCompat = deserializePeersIndexWithCompat;
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
+
import { TlReaderMap } from '@mtcute/tl-runtime';
|
|
1
2
|
import { tl } from '@mtcute/tl';
|
|
2
3
|
import { PeersIndex } from '../../highlevel/types/peers/peers-index.js';
|
|
4
|
+
declare const _combinedReaderMap: TlReaderMap;
|
|
5
|
+
export { _combinedReaderMap as __tlReaderMapWithCompat };
|
|
3
6
|
/**
|
|
4
7
|
* Deserialize a TL object previously serialized with {@link serializeObject},
|
|
5
8
|
* with backwards compatibility for older versions of the schema.
|
package/utils/binary/compat.d.ts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
|
+
import { TlReaderMap } from '@mtcute/tl-runtime';
|
|
1
2
|
import { tl } from '@mtcute/tl';
|
|
2
3
|
import { PeersIndex } from '../../highlevel/types/peers/peers-index.js';
|
|
4
|
+
declare const _combinedReaderMap: TlReaderMap;
|
|
5
|
+
export { _combinedReaderMap as __tlReaderMapWithCompat };
|
|
3
6
|
/**
|
|
4
7
|
* Deserialize a TL object previously serialized with {@link serializeObject},
|
|
5
8
|
* with backwards compatibility for older versions of the schema.
|
package/utils/binary/compat.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Bytes, read } from "@fuman/io";
|
|
2
|
-
import {
|
|
2
|
+
import { objectEntries, assert } from "@fuman/utils";
|
|
3
3
|
import { tl } from "@mtcute/tl";
|
|
4
4
|
import { TlBinaryReader } from "@mtcute/tl-runtime";
|
|
5
5
|
import { __tlReaderMap } from "@mtcute/tl/binary/reader.js";
|
|
@@ -199,6 +199,7 @@ function mapCompatMessage(obj) {
|
|
|
199
199
|
case "message_layer204":
|
|
200
200
|
case "message_layer216":
|
|
201
201
|
case "message_layer220":
|
|
202
|
+
case "message_layer222":
|
|
202
203
|
return {
|
|
203
204
|
...obj,
|
|
204
205
|
_: "message",
|
|
@@ -332,6 +333,7 @@ function mapCompatObject(obj) {
|
|
|
332
333
|
case "message_layer204":
|
|
333
334
|
case "message_layer216":
|
|
334
335
|
case "message_layer220":
|
|
336
|
+
case "message_layer222":
|
|
335
337
|
case "messageService_layer204":
|
|
336
338
|
return mapCompatMessage(obj);
|
|
337
339
|
case "messageReplyHeader_layer206":
|
|
@@ -361,6 +363,12 @@ function mapCompatObject(obj) {
|
|
|
361
363
|
case "starGiftAttributePattern_layer221":
|
|
362
364
|
case "starGiftAttributeModel_layer221":
|
|
363
365
|
return mapCompatStarGiftAttribute(obj);
|
|
366
|
+
case "chatParticipant_layer222":
|
|
367
|
+
return replaceType(obj, "chatParticipant");
|
|
368
|
+
case "chatParticipantCreator_layer222":
|
|
369
|
+
return replaceType(obj, "chatParticipantCreator");
|
|
370
|
+
case "chatParticipantAdmin_layer222":
|
|
371
|
+
return replaceType(obj, "chatParticipantAdmin");
|
|
364
372
|
case "keyboardButton_layer221":
|
|
365
373
|
case "keyboardButtonUrl_layer221":
|
|
366
374
|
case "keyboardButtonCallback_layer221":
|
|
@@ -420,6 +428,7 @@ function deserializePeersIndexWithCompat(data) {
|
|
|
420
428
|
return res;
|
|
421
429
|
}
|
|
422
430
|
export {
|
|
431
|
+
_combinedReaderMap as __tlReaderMapWithCompat,
|
|
423
432
|
deserializeObjectWithCompat,
|
|
424
433
|
deserializePeersIndexWithCompat
|
|
425
434
|
};
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
if (typeof globalThis !== "undefined" && !globalThis._MTCUTE_CJS_DEPRECATION_WARNED) {
|
|
2
|
+
globalThis._MTCUTE_CJS_DEPRECATION_WARNED = true;
|
|
3
|
+
console.warn("[@mtcute/core] CommonJS bundles are deprecated. They will be removed completely in one of the upcoming releases. No support is provided for CommonJS users. Please consider switching to ESM, it's " + (/* @__PURE__ */ new Date()).getFullYear() + " already.");
|
|
4
|
+
console.warn("[@mtcute/core] Learn more about switching to ESM: https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c");
|
|
5
|
+
}
|
|
6
|
+
"use strict";
|
|
7
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
8
|
+
function parseDateEntityFormat(format) {
|
|
9
|
+
if (format === "r" || format === "R") {
|
|
10
|
+
return { relative: true };
|
|
11
|
+
}
|
|
12
|
+
const result = {};
|
|
13
|
+
for (const c of format) {
|
|
14
|
+
switch (c) {
|
|
15
|
+
case "t":
|
|
16
|
+
result.shortTime = true;
|
|
17
|
+
break;
|
|
18
|
+
case "T":
|
|
19
|
+
result.longTime = true;
|
|
20
|
+
break;
|
|
21
|
+
case "d":
|
|
22
|
+
result.shortDate = true;
|
|
23
|
+
break;
|
|
24
|
+
case "D":
|
|
25
|
+
result.longDate = true;
|
|
26
|
+
break;
|
|
27
|
+
case "w":
|
|
28
|
+
case "W":
|
|
29
|
+
result.dayOfWeek = true;
|
|
30
|
+
break;
|
|
31
|
+
default:
|
|
32
|
+
throw new Error(`Invalid date format character: ${c}`);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return result;
|
|
36
|
+
}
|
|
37
|
+
function dateEntityFormatToString(entity) {
|
|
38
|
+
if (entity.relative) return "r";
|
|
39
|
+
let result = "";
|
|
40
|
+
if (entity.dayOfWeek) result += "w";
|
|
41
|
+
if (entity.shortDate) result += "d";
|
|
42
|
+
if (entity.longDate) result += "D";
|
|
43
|
+
if (entity.shortTime) result += "t";
|
|
44
|
+
if (entity.longTime) result += "T";
|
|
45
|
+
return result;
|
|
46
|
+
}
|
|
47
|
+
exports.dateEntityFormatToString = dateEntityFormatToString;
|
|
48
|
+
exports.parseDateEntityFormat = parseDateEntityFormat;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { tl } from '@mtcute/tl';
|
|
2
|
+
export type DateEntityFlags = Omit<tl.RawMessageEntityFormattedDate, '_' | 'offset' | 'length' | 'date'>;
|
|
3
|
+
/**
|
|
4
|
+
* Parse a date-time entity format string into flags for `messageEntityFormattedDate`.
|
|
5
|
+
*
|
|
6
|
+
* Format string must match: `r|w?[dD]?[tT]?`
|
|
7
|
+
*
|
|
8
|
+
* Control characters:
|
|
9
|
+
* - `r`: relative time (cannot be combined with others)
|
|
10
|
+
* - `w`: day of the week
|
|
11
|
+
* - `d`: short date (e.g. "17.03.22")
|
|
12
|
+
* - `D`: long date (e.g. "March 17, 2022")
|
|
13
|
+
* - `t`: short time (e.g. "22:45")
|
|
14
|
+
* - `T`: long time (e.g. "22:45:00")
|
|
15
|
+
*
|
|
16
|
+
* Empty string means display text as-is, user can still see the underlying date.
|
|
17
|
+
*/
|
|
18
|
+
export declare function parseDateEntityFormat(format: string): DateEntityFlags;
|
|
19
|
+
/**
|
|
20
|
+
* Convert `messageEntityFormattedDate` flags to a format string.
|
|
21
|
+
*
|
|
22
|
+
* @see {@link parseDateEntityFormat} for the format description
|
|
23
|
+
*/
|
|
24
|
+
export declare function dateEntityFormatToString(entity: DateEntityFlags): string;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { tl } from '@mtcute/tl';
|
|
2
|
+
export type DateEntityFlags = Omit<tl.RawMessageEntityFormattedDate, '_' | 'offset' | 'length' | 'date'>;
|
|
3
|
+
/**
|
|
4
|
+
* Parse a date-time entity format string into flags for `messageEntityFormattedDate`.
|
|
5
|
+
*
|
|
6
|
+
* Format string must match: `r|w?[dD]?[tT]?`
|
|
7
|
+
*
|
|
8
|
+
* Control characters:
|
|
9
|
+
* - `r`: relative time (cannot be combined with others)
|
|
10
|
+
* - `w`: day of the week
|
|
11
|
+
* - `d`: short date (e.g. "17.03.22")
|
|
12
|
+
* - `D`: long date (e.g. "March 17, 2022")
|
|
13
|
+
* - `t`: short time (e.g. "22:45")
|
|
14
|
+
* - `T`: long time (e.g. "22:45:00")
|
|
15
|
+
*
|
|
16
|
+
* Empty string means display text as-is, user can still see the underlying date.
|
|
17
|
+
*/
|
|
18
|
+
export declare function parseDateEntityFormat(format: string): DateEntityFlags;
|
|
19
|
+
/**
|
|
20
|
+
* Convert `messageEntityFormattedDate` flags to a format string.
|
|
21
|
+
*
|
|
22
|
+
* @see {@link parseDateEntityFormat} for the format description
|
|
23
|
+
*/
|
|
24
|
+
export declare function dateEntityFormatToString(entity: DateEntityFlags): string;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
function parseDateEntityFormat(format) {
|
|
2
|
+
if (format === "r" || format === "R") {
|
|
3
|
+
return { relative: true };
|
|
4
|
+
}
|
|
5
|
+
const result = {};
|
|
6
|
+
for (const c of format) {
|
|
7
|
+
switch (c) {
|
|
8
|
+
case "t":
|
|
9
|
+
result.shortTime = true;
|
|
10
|
+
break;
|
|
11
|
+
case "T":
|
|
12
|
+
result.longTime = true;
|
|
13
|
+
break;
|
|
14
|
+
case "d":
|
|
15
|
+
result.shortDate = true;
|
|
16
|
+
break;
|
|
17
|
+
case "D":
|
|
18
|
+
result.longDate = true;
|
|
19
|
+
break;
|
|
20
|
+
case "w":
|
|
21
|
+
case "W":
|
|
22
|
+
result.dayOfWeek = true;
|
|
23
|
+
break;
|
|
24
|
+
default:
|
|
25
|
+
throw new Error(`Invalid date format character: ${c}`);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return result;
|
|
29
|
+
}
|
|
30
|
+
function dateEntityFormatToString(entity) {
|
|
31
|
+
if (entity.relative) return "r";
|
|
32
|
+
let result = "";
|
|
33
|
+
if (entity.dayOfWeek) result += "w";
|
|
34
|
+
if (entity.shortDate) result += "d";
|
|
35
|
+
if (entity.longDate) result += "D";
|
|
36
|
+
if (entity.shortTime) result += "t";
|
|
37
|
+
if (entity.longTime) result += "T";
|
|
38
|
+
return result;
|
|
39
|
+
}
|
|
40
|
+
export {
|
|
41
|
+
dateEntityFormatToString,
|
|
42
|
+
parseDateEntityFormat
|
|
43
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/utils/index.d.cts
CHANGED
|
@@ -7,6 +7,7 @@ export * from './bigint-utils.js';
|
|
|
7
7
|
export * from './binary/compat.js';
|
|
8
8
|
export * from './binary/serialization.js';
|
|
9
9
|
export * from './crypto/index.js';
|
|
10
|
+
export * from './date-entity-format.js';
|
|
10
11
|
export * from './dcs.js';
|
|
11
12
|
export * from './early-timer.js';
|
|
12
13
|
export * from './function-utils.js';
|
|
@@ -19,3 +20,5 @@ export * from './sorted-array.js';
|
|
|
19
20
|
export * from './tl-json.js';
|
|
20
21
|
export * from './type-assertions.js';
|
|
21
22
|
export * from '@mtcute/tl-runtime';
|
|
23
|
+
export { __tlReaderMap } from '@mtcute/tl/binary/reader.js';
|
|
24
|
+
export { __tlWriterMap } from '@mtcute/tl/binary/writer.js';
|
package/utils/index.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ export * from './bigint-utils.js';
|
|
|
7
7
|
export * from './binary/compat.js';
|
|
8
8
|
export * from './binary/serialization.js';
|
|
9
9
|
export * from './crypto/index.js';
|
|
10
|
+
export * from './date-entity-format.js';
|
|
10
11
|
export * from './dcs.js';
|
|
11
12
|
export * from './early-timer.js';
|
|
12
13
|
export * from './function-utils.js';
|
|
@@ -19,3 +20,5 @@ export * from './sorted-array.js';
|
|
|
19
20
|
export * from './tl-json.js';
|
|
20
21
|
export * from './type-assertions.js';
|
|
21
22
|
export * from '@mtcute/tl-runtime';
|
|
23
|
+
export { __tlReaderMap } from '@mtcute/tl/binary/reader.js';
|
|
24
|
+
export { __tlWriterMap } from '@mtcute/tl/binary/writer.js';
|
package/utils/links/bots.cjs
CHANGED
package/utils/links/bots.js
CHANGED
package/utils.cjs
CHANGED
|
@@ -12,6 +12,7 @@ const defaultDcs = require("./storage/service/default-dcs.cjs");
|
|
|
12
12
|
const bigintUtils = require("./utils/bigint-utils.cjs");
|
|
13
13
|
const compat = require("./utils/binary/compat.cjs");
|
|
14
14
|
const serialization = require("./utils/binary/serialization.cjs");
|
|
15
|
+
const dateEntityFormat = require("./utils/date-entity-format.cjs");
|
|
15
16
|
const dcs = require("./utils/dcs.cjs");
|
|
16
17
|
const earlyTimer = require("./utils/early-timer.cjs");
|
|
17
18
|
const functionUtils = require("./utils/function-utils.cjs");
|
|
@@ -23,6 +24,8 @@ const sortedArray = require("./utils/sorted-array.cjs");
|
|
|
23
24
|
const tlJson = require("./utils/tl-json.cjs");
|
|
24
25
|
const typeAssertions = require("./utils/type-assertions.cjs");
|
|
25
26
|
const tlRuntime = require("@mtcute/tl-runtime");
|
|
27
|
+
const reader_js = require("@mtcute/tl/binary/reader.js");
|
|
28
|
+
const writer_js = require("@mtcute/tl/binary/writer.js");
|
|
26
29
|
const convertFileId = require("./highlevel/utils/convert-file-id.cjs");
|
|
27
30
|
const entities = require("./highlevel/utils/entities.cjs");
|
|
28
31
|
const fileUtils = require("./highlevel/utils/file-utils.cjs");
|
|
@@ -48,12 +51,15 @@ exports.DefaultDcsService = defaultDcs.DefaultDcsService;
|
|
|
48
51
|
exports.randomBigInt = bigintUtils.randomBigInt;
|
|
49
52
|
exports.randomBigIntBits = bigintUtils.randomBigIntBits;
|
|
50
53
|
exports.randomBigIntInRange = bigintUtils.randomBigIntInRange;
|
|
54
|
+
exports.__tlReaderMapWithCompat = compat.__tlReaderMapWithCompat;
|
|
51
55
|
exports.deserializeObjectWithCompat = compat.deserializeObjectWithCompat;
|
|
52
56
|
exports.deserializePeersIndexWithCompat = compat.deserializePeersIndexWithCompat;
|
|
53
57
|
exports.deserializeObject = serialization.deserializeObject;
|
|
54
58
|
exports.deserializePeersIndex = serialization.deserializePeersIndex;
|
|
55
59
|
exports.serializeObject = serialization.serializeObject;
|
|
56
60
|
exports.serializePeersIndex = serialization.serializePeersIndex;
|
|
61
|
+
exports.dateEntityFormatToString = dateEntityFormat.dateEntityFormatToString;
|
|
62
|
+
exports.parseDateEntityFormat = dateEntityFormat.parseDateEntityFormat;
|
|
57
63
|
exports.defaultProductionDc = dcs.defaultProductionDc;
|
|
58
64
|
exports.defaultProductionIpv6Dc = dcs.defaultProductionIpv6Dc;
|
|
59
65
|
exports.defaultTestDc = dcs.defaultTestDc;
|
|
@@ -91,6 +97,14 @@ exports.hasValueAtKey = typeAssertions.hasValueAtKey;
|
|
|
91
97
|
exports.isPresent = typeAssertions.isPresent;
|
|
92
98
|
exports.isTlRpcError = typeAssertions.isTlRpcError;
|
|
93
99
|
exports.mtpAssertTypeIs = typeAssertions.mtpAssertTypeIs;
|
|
100
|
+
Object.defineProperty(exports, "__tlReaderMap", {
|
|
101
|
+
enumerable: true,
|
|
102
|
+
get: () => reader_js.__tlReaderMap
|
|
103
|
+
});
|
|
104
|
+
Object.defineProperty(exports, "__tlWriterMap", {
|
|
105
|
+
enumerable: true,
|
|
106
|
+
get: () => writer_js.__tlWriterMap
|
|
107
|
+
});
|
|
94
108
|
exports.fileIdToEncryptedFile = convertFileId.fileIdToEncryptedFile;
|
|
95
109
|
exports.fileIdToInputDocument = convertFileId.fileIdToInputDocument;
|
|
96
110
|
exports.fileIdToInputFileLocation = convertFileId.fileIdToInputFileLocation;
|
package/utils.js
CHANGED
|
@@ -3,8 +3,9 @@ import { UpdatesStateService } from "./highlevel/storage/service/updates.js";
|
|
|
3
3
|
import { BaseService } from "./storage/service/base.js";
|
|
4
4
|
import { DefaultDcsService } from "./storage/service/default-dcs.js";
|
|
5
5
|
import { randomBigInt, randomBigIntBits, randomBigIntInRange } from "./utils/bigint-utils.js";
|
|
6
|
-
import { deserializeObjectWithCompat, deserializePeersIndexWithCompat } from "./utils/binary/compat.js";
|
|
6
|
+
import { __tlReaderMapWithCompat, deserializeObjectWithCompat, deserializePeersIndexWithCompat } from "./utils/binary/compat.js";
|
|
7
7
|
import { deserializeObject, deserializePeersIndex, serializeObject, serializePeersIndex } from "./utils/binary/serialization.js";
|
|
8
|
+
import { dateEntityFormatToString, parseDateEntityFormat } from "./utils/date-entity-format.js";
|
|
8
9
|
import { defaultProductionDc, defaultProductionIpv6Dc, defaultTestDc, defaultTestIpv6Dc, parseBasicDcOption, serializeBasicDcOption } from "./utils/dcs.js";
|
|
9
10
|
import { EarlyTimer } from "./utils/early-timer.js";
|
|
10
11
|
import { asyncResettable, throttle } from "./utils/function-utils.js";
|
|
@@ -16,6 +17,8 @@ import { SortedArray } from "./utils/sorted-array.js";
|
|
|
16
17
|
import { jsonToTlJson, tlJsonToJson } from "./utils/tl-json.js";
|
|
17
18
|
import { assertTrue, assertTypeIs, assertTypeIsNot, hasValueAtKey, isPresent, isTlRpcError, mtpAssertTypeIs } from "./utils/type-assertions.js";
|
|
18
19
|
export * from "@mtcute/tl-runtime";
|
|
20
|
+
import { __tlReaderMap } from "@mtcute/tl/binary/reader.js";
|
|
21
|
+
import { __tlWriterMap } from "@mtcute/tl/binary/writer.js";
|
|
19
22
|
import { fileIdToEncryptedFile, fileIdToInputDocument, fileIdToInputFileLocation, fileIdToInputPhoto, fileIdToInputWebFileLocation, fileIdToSecureFile } from "./highlevel/utils/convert-file-id.js";
|
|
20
23
|
import { joinTextWithEntities } from "./highlevel/utils/entities.js";
|
|
21
24
|
import { determinePartSize, extractFileName, inflateSvgPath, isProbablyPlainText, strippedPhotoToJpg, svgPathToFile } from "./highlevel/utils/file-utils.js";
|
|
@@ -48,6 +51,9 @@ export {
|
|
|
48
51
|
RpsMeter,
|
|
49
52
|
SortedArray,
|
|
50
53
|
UpdatesStateService,
|
|
54
|
+
__tlReaderMap,
|
|
55
|
+
__tlReaderMapWithCompat,
|
|
56
|
+
__tlWriterMap,
|
|
51
57
|
addPublicKey,
|
|
52
58
|
assertTrue,
|
|
53
59
|
assertTypeIs,
|
|
@@ -59,6 +65,7 @@ export {
|
|
|
59
65
|
computeSrpParams,
|
|
60
66
|
createAesIgeForMessage,
|
|
61
67
|
createAesIgeForMessageOld,
|
|
68
|
+
dateEntityFormatToString,
|
|
62
69
|
decodeWaveform,
|
|
63
70
|
defaultProductionDc,
|
|
64
71
|
defaultProductionIpv6Dc,
|
|
@@ -113,6 +120,7 @@ export {
|
|
|
113
120
|
normalizeMessageId,
|
|
114
121
|
normalizePhoneNumber,
|
|
115
122
|
parseBasicDcOption,
|
|
123
|
+
parseDateEntityFormat,
|
|
116
124
|
parseInlineMessageId,
|
|
117
125
|
parseMarkedPeerId,
|
|
118
126
|
parsePublicKey,
|