@mtcute/core 0.30.3 → 0.32.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/client.cjs +85 -0
- package/client.js +85 -0
- package/highlevel/client.d.cts +411 -116
- package/highlevel/client.d.ts +411 -116
- package/highlevel/methods/auth/sign-in-qr.cjs +2 -0
- package/highlevel/methods/auth/sign-in-qr.js +2 -0
- package/highlevel/methods/auth/sign-in-qr.test.d.cts +1 -0
- package/highlevel/methods/auth/sign-in-qr.test.d.ts +1 -0
- package/highlevel/methods/chats/build-peers-index.cjs +45 -0
- package/highlevel/methods/chats/build-peers-index.d.cts +13 -0
- package/highlevel/methods/chats/build-peers-index.d.ts +13 -0
- package/highlevel/methods/chats/build-peers-index.js +40 -0
- package/highlevel/methods/chats/join-chat.cjs +1 -1
- package/highlevel/methods/chats/join-chat.d.cts +2 -1
- package/highlevel/methods/chats/join-chat.d.ts +2 -1
- package/highlevel/methods/chats/join-chat.js +1 -1
- package/highlevel/methods/chats/transfer-chat-ownership.cjs +6 -17
- package/highlevel/methods/chats/transfer-chat-ownership.js +6 -17
- package/highlevel/methods/communities/ban-community-participant.cjs +30 -0
- package/highlevel/methods/communities/ban-community-participant.d.cts +20 -0
- package/highlevel/methods/communities/ban-community-participant.d.ts +20 -0
- package/highlevel/methods/communities/ban-community-participant.js +25 -0
- package/highlevel/methods/communities/create-community.cjs +29 -0
- package/highlevel/methods/communities/create-community.d.cts +22 -0
- package/highlevel/methods/communities/create-community.d.ts +22 -0
- package/highlevel/methods/communities/create-community.js +24 -0
- package/highlevel/methods/communities/get-community-link-requests.cjs +27 -0
- package/highlevel/methods/communities/get-community-link-requests.d.cts +17 -0
- package/highlevel/methods/communities/get-community-link-requests.d.ts +17 -0
- package/highlevel/methods/communities/get-community-link-requests.js +22 -0
- package/highlevel/methods/communities/get-community-participant-chats.cjs +24 -0
- package/highlevel/methods/communities/get-community-participant-chats.d.cts +17 -0
- package/highlevel/methods/communities/get-community-participant-chats.d.ts +17 -0
- package/highlevel/methods/communities/get-community-participant-chats.js +19 -0
- package/highlevel/methods/communities/get-joined-communities.cjs +21 -0
- package/highlevel/methods/communities/get-joined-communities.d.cts +6 -0
- package/highlevel/methods/communities/get-joined-communities.d.ts +6 -0
- package/highlevel/methods/communities/get-joined-communities.js +16 -0
- package/highlevel/methods/communities/hide-community-link-request.cjs +30 -0
- package/highlevel/methods/communities/hide-community-link-request.d.cts +22 -0
- package/highlevel/methods/communities/hide-community-link-request.d.ts +22 -0
- package/highlevel/methods/communities/hide-community-link-request.js +25 -0
- package/highlevel/methods/communities/link-community-peer.cjs +32 -0
- package/highlevel/methods/communities/link-community-peer.d.cts +22 -0
- package/highlevel/methods/communities/link-community-peer.d.ts +22 -0
- package/highlevel/methods/communities/link-community-peer.js +27 -0
- package/highlevel/methods/communities/toggle-community-collapsed.cjs +18 -0
- package/highlevel/methods/communities/toggle-community-collapsed.d.cts +16 -0
- package/highlevel/methods/communities/toggle-community-collapsed.d.ts +16 -0
- package/highlevel/methods/communities/toggle-community-collapsed.js +13 -0
- package/highlevel/methods/ephemeral/delete-all-welcome-messages.cjs +17 -0
- package/highlevel/methods/ephemeral/delete-all-welcome-messages.d.cts +8 -0
- package/highlevel/methods/ephemeral/delete-all-welcome-messages.d.ts +8 -0
- package/highlevel/methods/ephemeral/delete-all-welcome-messages.js +12 -0
- package/highlevel/methods/ephemeral/delete-ephemeral-message.cjs +20 -0
- package/highlevel/methods/ephemeral/delete-ephemeral-message.d.cts +13 -0
- package/highlevel/methods/ephemeral/delete-ephemeral-message.d.ts +13 -0
- package/highlevel/methods/ephemeral/delete-ephemeral-message.js +15 -0
- package/highlevel/methods/ephemeral/delete-welcome-message.cjs +18 -0
- package/highlevel/methods/ephemeral/delete-welcome-message.d.cts +9 -0
- package/highlevel/methods/ephemeral/delete-welcome-message.d.ts +9 -0
- package/highlevel/methods/ephemeral/delete-welcome-message.js +13 -0
- package/highlevel/methods/ephemeral/edit-ephemeral-message.cjs +41 -0
- package/highlevel/methods/ephemeral/edit-ephemeral-message.d.cts +39 -0
- package/highlevel/methods/ephemeral/edit-ephemeral-message.d.ts +39 -0
- package/highlevel/methods/ephemeral/edit-ephemeral-message.js +36 -0
- package/highlevel/methods/ephemeral/find-in-update.cjs +27 -0
- package/highlevel/methods/ephemeral/find-in-update.d.cts +8 -0
- package/highlevel/methods/ephemeral/find-in-update.d.ts +8 -0
- package/highlevel/methods/ephemeral/find-in-update.js +22 -0
- package/highlevel/methods/ephemeral/get-ephemeral-callback-answer.cjs +31 -0
- package/highlevel/methods/ephemeral/get-ephemeral-callback-answer.d.cts +29 -0
- package/highlevel/methods/ephemeral/get-ephemeral-callback-answer.d.ts +29 -0
- package/highlevel/methods/ephemeral/get-ephemeral-callback-answer.js +26 -0
- package/highlevel/methods/ephemeral/get-welcome-messages.cjs +29 -0
- package/highlevel/methods/ephemeral/get-welcome-messages.d.cts +8 -0
- package/highlevel/methods/ephemeral/get-welcome-messages.d.ts +8 -0
- package/highlevel/methods/ephemeral/get-welcome-messages.js +24 -0
- package/highlevel/methods/ephemeral/send-ephemeral-message.cjs +48 -0
- package/highlevel/methods/ephemeral/send-ephemeral-message.d.cts +47 -0
- package/highlevel/methods/ephemeral/send-ephemeral-message.d.ts +47 -0
- package/highlevel/methods/ephemeral/send-ephemeral-message.js +43 -0
- package/highlevel/methods/files/download-iterable.cjs +7 -2
- package/highlevel/methods/files/download-iterable.js +7 -2
- package/highlevel/methods/files/download-iterable.test.d.cts +1 -0
- package/highlevel/methods/files/download-iterable.test.d.ts +1 -0
- package/highlevel/methods/files/download-stream.cjs +5 -6
- package/highlevel/methods/files/download-stream.js +5 -6
- package/highlevel/methods/files/normalize-input-media.cjs +25 -4
- package/highlevel/methods/files/normalize-input-media.js +25 -4
- package/highlevel/methods/forums/create-forum-topic.d.cts +7 -0
- package/highlevel/methods/forums/create-forum-topic.d.ts +7 -0
- package/highlevel/methods/forums/delete-forum-topic-history.d.cts +1 -1
- package/highlevel/methods/forums/delete-forum-topic-history.d.ts +1 -1
- package/highlevel/methods/forums/edit-forum-topic.cjs +2 -2
- package/highlevel/methods/forums/edit-forum-topic.d.cts +2 -2
- package/highlevel/methods/forums/edit-forum-topic.d.ts +2 -2
- package/highlevel/methods/forums/edit-forum-topic.js +2 -2
- package/highlevel/methods/forums/get-forum-topics-by-id.cjs +5 -1
- package/highlevel/methods/forums/get-forum-topics-by-id.d.cts +9 -1
- package/highlevel/methods/forums/get-forum-topics-by-id.d.ts +9 -1
- package/highlevel/methods/forums/get-forum-topics-by-id.js +5 -1
- package/highlevel/methods/forums/get-forum-topics-by-id.test.d.cts +1 -0
- package/highlevel/methods/forums/get-forum-topics-by-id.test.d.ts +1 -0
- package/highlevel/methods/forums/get-forum-topics.cjs +1 -1
- package/highlevel/methods/forums/get-forum-topics.js +1 -1
- package/highlevel/methods/forums/toggle-forum-topic-closed.cjs +1 -1
- package/highlevel/methods/forums/toggle-forum-topic-closed.d.cts +1 -1
- package/highlevel/methods/forums/toggle-forum-topic-closed.d.ts +1 -1
- package/highlevel/methods/forums/toggle-forum-topic-closed.js +1 -1
- package/highlevel/methods/forums/toggle-forum-topic-pinned.d.cts +1 -1
- package/highlevel/methods/forums/toggle-forum-topic-pinned.d.ts +1 -1
- package/highlevel/methods/forums/toggle-general-topic-hidden.cjs +3 -3
- package/highlevel/methods/forums/toggle-general-topic-hidden.js +4 -4
- package/highlevel/methods/gifts/buy-resale-gift.cjs +5 -2
- package/highlevel/methods/gifts/buy-resale-gift.d.cts +11 -1
- package/highlevel/methods/gifts/buy-resale-gift.d.ts +11 -1
- package/highlevel/methods/gifts/buy-resale-gift.js +5 -2
- package/highlevel/methods/messages/forward-messages.cjs +1 -0
- package/highlevel/methods/messages/forward-messages.d.cts +2 -0
- package/highlevel/methods/messages/forward-messages.d.ts +2 -0
- package/highlevel/methods/messages/forward-messages.js +1 -0
- package/highlevel/methods/messages/normalize-rich-message.cjs +3 -0
- package/highlevel/methods/messages/normalize-rich-message.js +3 -0
- package/highlevel/methods/messages/send-common.d.cts +7 -1
- package/highlevel/methods/messages/send-common.d.ts +7 -1
- package/highlevel/methods/messages/send-text.cjs +70 -35
- package/highlevel/methods/messages/send-text.js +70 -35
- package/highlevel/methods/messages/send-typing.d.cts +3 -3
- package/highlevel/methods/messages/send-typing.d.ts +3 -3
- package/highlevel/methods/messages/set-typing.cjs +1 -1
- package/highlevel/methods/messages/set-typing.d.cts +2 -2
- package/highlevel/methods/messages/set-typing.d.ts +2 -2
- package/highlevel/methods/messages/set-typing.js +1 -1
- package/highlevel/methods/users/resolve-peer.cjs +11 -1
- package/highlevel/methods/users/resolve-peer.js +11 -1
- package/highlevel/methods.d.cts +19 -0
- package/highlevel/methods.d.ts +19 -0
- package/highlevel/storage/service/peers.cjs +25 -0
- package/highlevel/storage/service/peers.js +25 -0
- package/highlevel/storage/service/peers.test.d.cts +1 -0
- package/highlevel/storage/service/peers.test.d.ts +1 -0
- package/highlevel/types/bots/keyboards/builder.cjs +5 -5
- package/highlevel/types/bots/keyboards/builder.d.cts +8 -9
- package/highlevel/types/bots/keyboards/builder.d.ts +8 -9
- package/highlevel/types/bots/keyboards/builder.js +5 -5
- package/highlevel/types/bots/keyboards/factories.cjs +51 -103
- package/highlevel/types/bots/keyboards/factories.d.cts +58 -89
- package/highlevel/types/bots/keyboards/factories.d.ts +58 -89
- package/highlevel/types/bots/keyboards/factories.js +51 -103
- package/highlevel/types/bots/keyboards/index.d.cts +3 -3
- package/highlevel/types/bots/keyboards/index.d.ts +3 -3
- package/highlevel/types/bots/keyboards/normalize.cjs +131 -0
- package/highlevel/types/bots/keyboards/normalize.d.cts +10 -0
- package/highlevel/types/bots/keyboards/normalize.d.ts +10 -0
- package/highlevel/types/bots/keyboards/normalize.js +126 -0
- package/highlevel/types/bots/keyboards/types.d.cts +160 -4
- package/highlevel/types/bots/keyboards/types.d.ts +160 -4
- package/highlevel/types/conversation.cjs +8 -0
- package/highlevel/types/conversation.d.cts +1 -0
- package/highlevel/types/conversation.d.ts +1 -0
- package/highlevel/types/conversation.js +10 -2
- package/highlevel/types/conversation.test.d.cts +1 -0
- package/highlevel/types/conversation.test.d.ts +1 -0
- package/highlevel/types/messages/dialog.cjs +8 -1
- package/highlevel/types/messages/dialog.d.cts +3 -0
- package/highlevel/types/messages/dialog.d.ts +3 -0
- package/highlevel/types/messages/dialog.js +8 -1
- package/highlevel/types/messages/dialog.test.d.cts +1 -0
- package/highlevel/types/messages/dialog.test.d.ts +1 -0
- package/highlevel/types/messages/ephemeral-message.cjs +135 -0
- package/highlevel/types/messages/ephemeral-message.d.cts +75 -0
- package/highlevel/types/messages/ephemeral-message.d.ts +75 -0
- package/highlevel/types/messages/ephemeral-message.js +130 -0
- package/highlevel/types/messages/index.d.cts +1 -0
- package/highlevel/types/messages/index.d.ts +1 -0
- package/highlevel/types/messages/message-action.cjs +14 -1
- package/highlevel/types/messages/message-action.d.cts +18 -1
- package/highlevel/types/messages/message-action.d.ts +18 -1
- package/highlevel/types/messages/message-action.js +14 -1
- package/highlevel/types/messages/message.cjs +7 -2
- package/highlevel/types/messages/message.d.cts +2 -2
- package/highlevel/types/messages/message.d.ts +2 -2
- package/highlevel/types/messages/message.js +8 -3
- package/highlevel/types/messages/replied-message.cjs +5 -1
- package/highlevel/types/messages/replied-message.d.cts +5 -1
- package/highlevel/types/messages/replied-message.d.ts +5 -1
- package/highlevel/types/messages/replied-message.js +5 -1
- package/highlevel/types/messages/rich/inner.cjs +37 -0
- package/highlevel/types/messages/rich/inner.d.cts +19 -0
- package/highlevel/types/messages/rich/inner.d.ts +19 -0
- package/highlevel/types/messages/rich/inner.js +37 -0
- package/highlevel/types/peers/chat.cjs +23 -3
- package/highlevel/types/peers/chat.d.cts +8 -3
- package/highlevel/types/peers/chat.d.ts +8 -3
- package/highlevel/types/peers/chat.js +24 -4
- package/highlevel/types/peers/community-peer.cjs +60 -0
- package/highlevel/types/peers/community-peer.d.cts +37 -0
- package/highlevel/types/peers/community-peer.d.ts +37 -0
- package/highlevel/types/peers/community-peer.js +55 -0
- package/highlevel/types/peers/full-chat.cjs +24 -5
- package/highlevel/types/peers/full-chat.d.cts +7 -0
- package/highlevel/types/peers/full-chat.d.ts +7 -0
- package/highlevel/types/peers/full-chat.js +24 -5
- package/highlevel/types/peers/index.d.cts +1 -0
- package/highlevel/types/peers/index.d.ts +1 -0
- package/highlevel/types/peers/peer.cjs +2 -0
- package/highlevel/types/peers/peer.js +2 -0
- package/highlevel/types/peers/typing-status.d.cts +4 -1
- package/highlevel/types/peers/typing-status.d.ts +4 -1
- package/highlevel/types/peers/user.cjs +6 -0
- package/highlevel/types/peers/user.d.cts +2 -0
- package/highlevel/types/peers/user.d.ts +2 -0
- package/highlevel/types/peers/user.js +6 -0
- package/highlevel/types/updates/delete-ephemeral-messages-update.cjs +27 -0
- package/highlevel/types/updates/delete-ephemeral-messages-update.d.cts +15 -0
- package/highlevel/types/updates/delete-ephemeral-messages-update.d.ts +15 -0
- package/highlevel/types/updates/delete-ephemeral-messages-update.js +22 -0
- package/highlevel/types/updates/ephemeral-callback-query.cjs +69 -0
- package/highlevel/types/updates/ephemeral-callback-query.d.cts +44 -0
- package/highlevel/types/updates/ephemeral-callback-query.d.ts +44 -0
- package/highlevel/types/updates/ephemeral-callback-query.js +64 -0
- package/highlevel/types/updates/index.d.cts +16 -2
- package/highlevel/types/updates/index.d.ts +16 -2
- package/highlevel/types/updates/parse-update.cjs +12 -1
- package/highlevel/types/updates/parse-update.js +12 -1
- package/highlevel/types/updates/user-typing-update.cjs +18 -0
- package/highlevel/types/updates/user-typing-update.d.cts +9 -0
- package/highlevel/types/updates/user-typing-update.d.ts +9 -0
- package/highlevel/types/updates/user-typing-update.js +18 -0
- package/highlevel/updates/manager.cjs +71 -41
- package/highlevel/updates/manager.d.cts +1 -0
- package/highlevel/updates/manager.d.ts +1 -0
- package/highlevel/updates/manager.js +71 -41
- package/highlevel/updates/manager.test.d.cts +1 -0
- package/highlevel/updates/manager.test.d.ts +1 -0
- package/highlevel/utils/stream-utils.cjs +8 -4
- package/highlevel/utils/stream-utils.js +8 -4
- package/highlevel/utils/stream-utils.test.d.cts +1 -0
- package/highlevel/utils/stream-utils.test.d.ts +1 -0
- package/highlevel/utils/walk-page-blocks.cjs +9 -0
- package/highlevel/utils/walk-page-blocks.js +9 -0
- package/index.cjs +10 -0
- package/index.js +11 -1
- package/methods.cjs +33 -0
- package/methods.js +33 -0
- package/network/client.cjs +4 -3
- package/network/client.d.cts +1 -0
- package/network/client.d.ts +1 -0
- package/network/client.js +4 -3
- package/network/middlewares/flood-waiter.cjs +2 -2
- package/network/middlewares/flood-waiter.js +2 -2
- package/network/middlewares/internal-errors.cjs +1 -1
- package/network/middlewares/internal-errors.js +1 -1
- package/network/middlewares/media-throttle.cjs +1 -1
- package/network/middlewares/media-throttle.js +1 -1
- package/network/mtproto-session.cjs +9 -2
- package/network/mtproto-session.d.cts +3 -1
- package/network/mtproto-session.d.ts +3 -1
- package/network/mtproto-session.js +9 -2
- package/network/mtproxy/index.cjs +4 -3
- package/network/mtproxy/index.d.cts +2 -2
- package/network/mtproxy/index.d.ts +2 -2
- package/network/mtproxy/index.js +4 -3
- package/network/network-manager.cjs +44 -16
- package/network/network-manager.d.cts +10 -3
- package/network/network-manager.d.ts +10 -3
- package/network/network-manager.js +45 -17
- package/network/network-manager.test.d.cts +1 -0
- package/network/network-manager.test.d.ts +1 -0
- package/network/persistent-connection.cjs +10 -2
- package/network/persistent-connection.js +10 -2
- package/network/session-connection.cjs +15 -6
- package/network/session-connection.js +15 -6
- package/network/session-connection.test.d.cts +1 -0
- package/network/session-connection.test.d.ts +1 -0
- package/network/transports/abstract.cjs +16 -0
- package/network/transports/abstract.d.cts +8 -2
- package/network/transports/abstract.d.ts +8 -2
- package/network/transports/abstract.js +17 -1
- package/network/transports/obfuscated.cjs +3 -1
- package/network/transports/obfuscated.js +3 -1
- package/package.json +6 -6
- package/tl/api-schema.json +1 -1
- package/tl/binary/reader.cjs +221 -103
- package/tl/binary/reader.js +221 -103
- package/tl/binary/writer.cjs +693 -277
- package/tl/binary/writer.js +693 -277
- package/tl/compat/reader.cjs +93 -0
- package/tl/compat/reader.js +93 -0
- package/tl/index.d.cts +12529 -4762
- package/tl/index.d.ts +12529 -4762
- package/tl/inner-tl.cjs +90 -24
- package/tl/inner-tl.js +90 -24
- package/tl/raw-errors.json +1 -1
- package/tl/rpc-error.test.d.cts +1 -0
- package/tl/rpc-error.test.d.ts +1 -0
- package/utils/abort-signal.cjs +1 -12
- package/utils/abort-signal.js +1 -12
- package/utils/abort-signal.test.d.cts +1 -0
- package/utils/abort-signal.test.d.ts +1 -0
- package/utils/binary/compat.cjs +189 -29
- package/utils/binary/compat.js +189 -29
- package/utils/early-timer.cjs +3 -11
- package/utils/early-timer.js +3 -11
- package/utils/early-timer.test.d.cts +1 -0
- package/utils/early-timer.test.d.ts +1 -0
- package/utils/function-utils.cjs +9 -4
- package/utils/function-utils.js +9 -4
- package/utils/links/bots.cjs +10 -2
- package/utils/links/bots.js +10 -2
- package/utils/peer-utils.cjs +8 -0
- package/utils/peer-utils.js +8 -0
|
@@ -5,19 +5,60 @@ if (typeof globalThis !== "undefined" && !globalThis._MTCUTE_CJS_DEPRECATION_WAR
|
|
|
5
5
|
}
|
|
6
6
|
"use strict";
|
|
7
7
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
8
|
-
const errors = require("../../../types/errors.cjs");
|
|
9
8
|
const longUtils = require("../../../utils/long-utils.cjs");
|
|
10
9
|
const peerUtils$1 = require("../../../utils/peer-utils.cjs");
|
|
11
10
|
const message = require("../../types/messages/message.cjs");
|
|
12
11
|
const utils = require("../../updates/utils.cjs");
|
|
13
12
|
const peerUtils = require("../../utils/peer-utils.cjs");
|
|
14
|
-
const
|
|
13
|
+
const buildPeersIndex = require("../chats/build-peers-index.cjs");
|
|
15
14
|
const normalizeText = require("../misc/normalize-text.cjs");
|
|
16
15
|
const resolvePeer = require("../users/resolve-peer.cjs");
|
|
17
16
|
const findInUpdate = require("./find-in-update.cjs");
|
|
18
17
|
const sendCommon = require("./send-common.cjs");
|
|
19
18
|
const factories = require("../../types/bots/keyboards/factories.cjs");
|
|
20
|
-
|
|
19
|
+
function _inputReplyToToHeader(replyTo, peer) {
|
|
20
|
+
if (!replyTo) return [void 0, void 0];
|
|
21
|
+
switch (replyTo._) {
|
|
22
|
+
case "inputReplyToMessage": {
|
|
23
|
+
const replyToPeerId = replyTo.replyToPeerId && peerUtils$1.getMarkedPeerId(replyTo.replyToPeerId) !== peerUtils$1.getMarkedPeerId(peer) ? peerUtils.inputPeerToPeer(replyTo.replyToPeerId) : void 0;
|
|
24
|
+
return [
|
|
25
|
+
{
|
|
26
|
+
_: "messageReplyHeader",
|
|
27
|
+
replyToMsgId: replyTo.replyToMsgId,
|
|
28
|
+
replyToPeerId,
|
|
29
|
+
replyToTopId: replyTo.topMsgId,
|
|
30
|
+
quote: replyTo.quoteText !== void 0 ? true : void 0,
|
|
31
|
+
quoteText: replyTo.quoteText,
|
|
32
|
+
quoteEntities: replyTo.quoteEntities,
|
|
33
|
+
quoteOffset: replyTo.quoteOffset,
|
|
34
|
+
todoItemId: replyTo.todoItemId,
|
|
35
|
+
pollOption: replyTo.pollOption
|
|
36
|
+
},
|
|
37
|
+
replyTo.monoforumPeerId ? peerUtils.inputPeerToPeer(replyTo.monoforumPeerId) : void 0
|
|
38
|
+
];
|
|
39
|
+
}
|
|
40
|
+
case "inputReplyToStory":
|
|
41
|
+
return [
|
|
42
|
+
{
|
|
43
|
+
_: "messageReplyStoryHeader",
|
|
44
|
+
peer: peerUtils.inputPeerToPeer(replyTo.peer),
|
|
45
|
+
storyId: replyTo.storyId
|
|
46
|
+
},
|
|
47
|
+
void 0
|
|
48
|
+
];
|
|
49
|
+
case "inputReplyToMonoForum":
|
|
50
|
+
return [void 0, peerUtils.inputPeerToPeer(replyTo.monoforumPeerId)];
|
|
51
|
+
case "inputReplyToEphemeralMessage":
|
|
52
|
+
return [
|
|
53
|
+
{
|
|
54
|
+
_: "messageReplyHeader",
|
|
55
|
+
replyToEphemeral: true,
|
|
56
|
+
replyToMsgId: replyTo.id
|
|
57
|
+
},
|
|
58
|
+
void 0
|
|
59
|
+
];
|
|
60
|
+
}
|
|
61
|
+
}
|
|
21
62
|
async function sendText(client, chatId, text, params) {
|
|
22
63
|
if (!params) params = {};
|
|
23
64
|
const [message$1, entities] = await normalizeText._normalizeInputText(client, text);
|
|
@@ -28,6 +69,7 @@ async function sendText(client, chatId, text, params) {
|
|
|
28
69
|
params
|
|
29
70
|
);
|
|
30
71
|
const randomId = params.randomId ?? longUtils.randomLong();
|
|
72
|
+
const sendAs = params.sendAs ? await resolvePeer.resolvePeer(client, params.sendAs) : void 0;
|
|
31
73
|
const res = await client.call(
|
|
32
74
|
{
|
|
33
75
|
_: "messages.sendMessage",
|
|
@@ -42,7 +84,7 @@ async function sendText(client, chatId, text, params) {
|
|
|
42
84
|
entities,
|
|
43
85
|
clearDraft: params.clearDraft,
|
|
44
86
|
noforwards: params.forbidForwards,
|
|
45
|
-
sendAs
|
|
87
|
+
sendAs,
|
|
46
88
|
invertMedia: params.invertMedia,
|
|
47
89
|
quickReplyShortcut,
|
|
48
90
|
effect: params.effect,
|
|
@@ -56,50 +98,43 @@ async function sendText(client, chatId, text, params) {
|
|
|
56
98
|
}
|
|
57
99
|
);
|
|
58
100
|
if (res._ === "updateShortSentMessage") {
|
|
101
|
+
const [replyToHeader, savedPeerId] = _inputReplyToToHeader(replyTo, peer);
|
|
59
102
|
const msg2 = {
|
|
60
103
|
_: "message",
|
|
61
104
|
id: res.id,
|
|
62
105
|
peerId: peerUtils.inputPeerToPeer(peer),
|
|
63
|
-
fromId: { _: "peerUser", userId: client.storage.self.getCached().userId },
|
|
106
|
+
fromId: sendAs ? peerUtils.inputPeerToPeer(sendAs) : { _: "peerUser", userId: client.storage.self.getCached().userId },
|
|
107
|
+
savedPeerId,
|
|
108
|
+
replyTo: replyToHeader,
|
|
64
109
|
message: message$1,
|
|
65
110
|
date: res.date,
|
|
66
111
|
out: res.out,
|
|
112
|
+
silent: params.silent,
|
|
113
|
+
noforwards: params.forbidForwards,
|
|
114
|
+
invertMedia: params.invertMedia,
|
|
115
|
+
effect: params.effect,
|
|
67
116
|
replyMarkup,
|
|
68
|
-
|
|
117
|
+
media: res.media,
|
|
118
|
+
entities: res.entities,
|
|
119
|
+
ttlPeriod: res.ttlPeriod
|
|
69
120
|
};
|
|
70
121
|
if (!params.shouldDispatch) {
|
|
71
122
|
client.handleClientUpdate(utils.createDummyUpdate(res.pts, res.ptsCount));
|
|
72
123
|
}
|
|
73
|
-
const
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
peers.users.set(cached.id, cached);
|
|
86
|
-
break;
|
|
87
|
-
case "chat":
|
|
88
|
-
case "chatForbidden":
|
|
89
|
-
case "channel":
|
|
90
|
-
case "channelForbidden":
|
|
91
|
-
peers.chats.set(cached.id, cached);
|
|
92
|
-
break;
|
|
93
|
-
default:
|
|
94
|
-
throw new errors.MtTypeAssertionError(
|
|
95
|
-
"sendText (@ users.getUsers)",
|
|
96
|
-
"user | chat | channel",
|
|
97
|
-
// not very accurate, but good enough
|
|
98
|
-
cached._
|
|
99
|
-
);
|
|
124
|
+
const peersToFetch = [peer, msg2.fromId];
|
|
125
|
+
if (savedPeerId) peersToFetch.push(savedPeerId);
|
|
126
|
+
if (replyToHeader?._ === "messageReplyHeader" && replyToHeader.replyToPeerId) {
|
|
127
|
+
peersToFetch.push(replyToHeader.replyToPeerId);
|
|
128
|
+
} else if (replyToHeader?._ === "messageReplyStoryHeader") {
|
|
129
|
+
peersToFetch.push(replyToHeader.peer);
|
|
130
|
+
}
|
|
131
|
+
const peers = await buildPeersIndex._buildPeersIndex(client, "sendText", peersToFetch);
|
|
132
|
+
if (replyToHeader?._ === "messageReplyHeader" && replyToHeader.replyToTopId && replyToHeader.replyToTopId !== 1 && msg2.peerId._ === "peerChannel") {
|
|
133
|
+
const chat = peers.chats.get(msg2.peerId.channelId);
|
|
134
|
+
if (chat?._ === "channel" && chat.forum) {
|
|
135
|
+
replyToHeader.forumTopic = true;
|
|
100
136
|
}
|
|
101
|
-
}
|
|
102
|
-
await Promise.all([fetchPeer(peer), fetchPeer(msg2.fromId)]);
|
|
137
|
+
}
|
|
103
138
|
const ret = new message.Message(msg2, peers);
|
|
104
139
|
return ret;
|
|
105
140
|
}
|
|
@@ -1,16 +1,57 @@
|
|
|
1
|
-
import { MtTypeAssertionError } from "../../../types/errors.js";
|
|
2
1
|
import { randomLong } from "../../../utils/long-utils.js";
|
|
3
2
|
import { getMarkedPeerId } from "../../../utils/peer-utils.js";
|
|
4
3
|
import { Message as Message$2 } from "../../types/messages/message.js";
|
|
5
4
|
import { createDummyUpdate } from "../../updates/utils.js";
|
|
6
5
|
import { inputPeerToPeer } from "../../utils/peer-utils.js";
|
|
7
|
-
import {
|
|
6
|
+
import { _buildPeersIndex } from "../chats/build-peers-index.js";
|
|
8
7
|
import { _normalizeInputText } from "../misc/normalize-text.js";
|
|
9
8
|
import { resolvePeer } from "../users/resolve-peer.js";
|
|
10
9
|
import { _findMessageInUpdate } from "./find-in-update.js";
|
|
11
10
|
import { _processCommonSendParameters } from "./send-common.js";
|
|
12
11
|
import { _convertToTl } from "../../types/bots/keyboards/factories.js";
|
|
13
|
-
|
|
12
|
+
function _inputReplyToToHeader(replyTo, peer) {
|
|
13
|
+
if (!replyTo) return [void 0, void 0];
|
|
14
|
+
switch (replyTo._) {
|
|
15
|
+
case "inputReplyToMessage": {
|
|
16
|
+
const replyToPeerId = replyTo.replyToPeerId && getMarkedPeerId(replyTo.replyToPeerId) !== getMarkedPeerId(peer) ? inputPeerToPeer(replyTo.replyToPeerId) : void 0;
|
|
17
|
+
return [
|
|
18
|
+
{
|
|
19
|
+
_: "messageReplyHeader",
|
|
20
|
+
replyToMsgId: replyTo.replyToMsgId,
|
|
21
|
+
replyToPeerId,
|
|
22
|
+
replyToTopId: replyTo.topMsgId,
|
|
23
|
+
quote: replyTo.quoteText !== void 0 ? true : void 0,
|
|
24
|
+
quoteText: replyTo.quoteText,
|
|
25
|
+
quoteEntities: replyTo.quoteEntities,
|
|
26
|
+
quoteOffset: replyTo.quoteOffset,
|
|
27
|
+
todoItemId: replyTo.todoItemId,
|
|
28
|
+
pollOption: replyTo.pollOption
|
|
29
|
+
},
|
|
30
|
+
replyTo.monoforumPeerId ? inputPeerToPeer(replyTo.monoforumPeerId) : void 0
|
|
31
|
+
];
|
|
32
|
+
}
|
|
33
|
+
case "inputReplyToStory":
|
|
34
|
+
return [
|
|
35
|
+
{
|
|
36
|
+
_: "messageReplyStoryHeader",
|
|
37
|
+
peer: inputPeerToPeer(replyTo.peer),
|
|
38
|
+
storyId: replyTo.storyId
|
|
39
|
+
},
|
|
40
|
+
void 0
|
|
41
|
+
];
|
|
42
|
+
case "inputReplyToMonoForum":
|
|
43
|
+
return [void 0, inputPeerToPeer(replyTo.monoforumPeerId)];
|
|
44
|
+
case "inputReplyToEphemeralMessage":
|
|
45
|
+
return [
|
|
46
|
+
{
|
|
47
|
+
_: "messageReplyHeader",
|
|
48
|
+
replyToEphemeral: true,
|
|
49
|
+
replyToMsgId: replyTo.id
|
|
50
|
+
},
|
|
51
|
+
void 0
|
|
52
|
+
];
|
|
53
|
+
}
|
|
54
|
+
}
|
|
14
55
|
async function sendText(client, chatId, text, params) {
|
|
15
56
|
if (!params) params = {};
|
|
16
57
|
const [message, entities] = await _normalizeInputText(client, text);
|
|
@@ -21,6 +62,7 @@ async function sendText(client, chatId, text, params) {
|
|
|
21
62
|
params
|
|
22
63
|
);
|
|
23
64
|
const randomId = params.randomId ?? randomLong();
|
|
65
|
+
const sendAs = params.sendAs ? await resolvePeer(client, params.sendAs) : void 0;
|
|
24
66
|
const res = await client.call(
|
|
25
67
|
{
|
|
26
68
|
_: "messages.sendMessage",
|
|
@@ -35,7 +77,7 @@ async function sendText(client, chatId, text, params) {
|
|
|
35
77
|
entities,
|
|
36
78
|
clearDraft: params.clearDraft,
|
|
37
79
|
noforwards: params.forbidForwards,
|
|
38
|
-
sendAs
|
|
80
|
+
sendAs,
|
|
39
81
|
invertMedia: params.invertMedia,
|
|
40
82
|
quickReplyShortcut,
|
|
41
83
|
effect: params.effect,
|
|
@@ -49,50 +91,43 @@ async function sendText(client, chatId, text, params) {
|
|
|
49
91
|
}
|
|
50
92
|
);
|
|
51
93
|
if (res._ === "updateShortSentMessage") {
|
|
94
|
+
const [replyToHeader, savedPeerId] = _inputReplyToToHeader(replyTo, peer);
|
|
52
95
|
const msg2 = {
|
|
53
96
|
_: "message",
|
|
54
97
|
id: res.id,
|
|
55
98
|
peerId: inputPeerToPeer(peer),
|
|
56
|
-
fromId: { _: "peerUser", userId: client.storage.self.getCached().userId },
|
|
99
|
+
fromId: sendAs ? inputPeerToPeer(sendAs) : { _: "peerUser", userId: client.storage.self.getCached().userId },
|
|
100
|
+
savedPeerId,
|
|
101
|
+
replyTo: replyToHeader,
|
|
57
102
|
message,
|
|
58
103
|
date: res.date,
|
|
59
104
|
out: res.out,
|
|
105
|
+
silent: params.silent,
|
|
106
|
+
noforwards: params.forbidForwards,
|
|
107
|
+
invertMedia: params.invertMedia,
|
|
108
|
+
effect: params.effect,
|
|
60
109
|
replyMarkup,
|
|
61
|
-
|
|
110
|
+
media: res.media,
|
|
111
|
+
entities: res.entities,
|
|
112
|
+
ttlPeriod: res.ttlPeriod
|
|
62
113
|
};
|
|
63
114
|
if (!params.shouldDispatch) {
|
|
64
115
|
client.handleClientUpdate(createDummyUpdate(res.pts, res.ptsCount));
|
|
65
116
|
}
|
|
66
|
-
const
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
peers.users.set(cached.id, cached);
|
|
79
|
-
break;
|
|
80
|
-
case "chat":
|
|
81
|
-
case "chatForbidden":
|
|
82
|
-
case "channel":
|
|
83
|
-
case "channelForbidden":
|
|
84
|
-
peers.chats.set(cached.id, cached);
|
|
85
|
-
break;
|
|
86
|
-
default:
|
|
87
|
-
throw new MtTypeAssertionError(
|
|
88
|
-
"sendText (@ users.getUsers)",
|
|
89
|
-
"user | chat | channel",
|
|
90
|
-
// not very accurate, but good enough
|
|
91
|
-
cached._
|
|
92
|
-
);
|
|
117
|
+
const peersToFetch = [peer, msg2.fromId];
|
|
118
|
+
if (savedPeerId) peersToFetch.push(savedPeerId);
|
|
119
|
+
if (replyToHeader?._ === "messageReplyHeader" && replyToHeader.replyToPeerId) {
|
|
120
|
+
peersToFetch.push(replyToHeader.replyToPeerId);
|
|
121
|
+
} else if (replyToHeader?._ === "messageReplyStoryHeader") {
|
|
122
|
+
peersToFetch.push(replyToHeader.peer);
|
|
123
|
+
}
|
|
124
|
+
const peers = await _buildPeersIndex(client, "sendText", peersToFetch);
|
|
125
|
+
if (replyToHeader?._ === "messageReplyHeader" && replyToHeader.replyToTopId && replyToHeader.replyToTopId !== 1 && msg2.peerId._ === "peerChannel") {
|
|
126
|
+
const chat = peers.chats.get(msg2.peerId.channelId);
|
|
127
|
+
if (chat?._ === "channel" && chat.forum) {
|
|
128
|
+
replyToHeader.forumTopic = true;
|
|
93
129
|
}
|
|
94
|
-
}
|
|
95
|
-
await Promise.all([fetchPeer(peer), fetchPeer(msg2.fromId)]);
|
|
130
|
+
}
|
|
96
131
|
const ret = new Message$2(msg2, peers);
|
|
97
132
|
return ret;
|
|
98
133
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { tl } from '../../../tl/index.js';
|
|
2
2
|
import { ITelegramClient } from '../../client.types.js';
|
|
3
|
-
import { InputPeerLike,
|
|
4
|
-
export declare function _mapTypingStatus(status:
|
|
3
|
+
import { InputPeerLike, SendableTypingStatus } from '../../types/index.js';
|
|
4
|
+
export declare function _mapTypingStatus(status: SendableTypingStatus, progress?: number): tl.TypeSendMessageAction;
|
|
5
5
|
/**
|
|
6
6
|
* Sends a current user/bot typing event
|
|
7
7
|
* to a conversation partner or group.
|
|
@@ -16,7 +16,7 @@ export declare function _mapTypingStatus(status: Exclude<TypingStatus, 'interact
|
|
|
16
16
|
* @param status Typing status
|
|
17
17
|
* @param params
|
|
18
18
|
*/
|
|
19
|
-
export declare function sendTyping(client: ITelegramClient, chatId: InputPeerLike, status?:
|
|
19
|
+
export declare function sendTyping(client: ITelegramClient, chatId: InputPeerLike, status?: SendableTypingStatus | tl.TypeSendMessageAction, params?: {
|
|
20
20
|
/**
|
|
21
21
|
* For `upload_*` and history import actions, progress of the upload
|
|
22
22
|
*/
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { tl } from '../../../tl/index.js';
|
|
2
2
|
import { ITelegramClient } from '../../client.types.js';
|
|
3
|
-
import { InputPeerLike,
|
|
4
|
-
export declare function _mapTypingStatus(status:
|
|
3
|
+
import { InputPeerLike, SendableTypingStatus } from '../../types/index.js';
|
|
4
|
+
export declare function _mapTypingStatus(status: SendableTypingStatus, progress?: number): tl.TypeSendMessageAction;
|
|
5
5
|
/**
|
|
6
6
|
* Sends a current user/bot typing event
|
|
7
7
|
* to a conversation partner or group.
|
|
@@ -16,7 +16,7 @@ export declare function _mapTypingStatus(status: Exclude<TypingStatus, 'interact
|
|
|
16
16
|
* @param status Typing status
|
|
17
17
|
* @param params
|
|
18
18
|
*/
|
|
19
|
-
export declare function sendTyping(client: ITelegramClient, chatId: InputPeerLike, status?:
|
|
19
|
+
export declare function sendTyping(client: ITelegramClient, chatId: InputPeerLike, status?: SendableTypingStatus | tl.TypeSendMessageAction, params?: {
|
|
20
20
|
/**
|
|
21
21
|
* For `upload_*` and history import actions, progress of the upload
|
|
22
22
|
*/
|
|
@@ -21,7 +21,7 @@ async function setTyping(client, params) {
|
|
|
21
21
|
threadId
|
|
22
22
|
} = params;
|
|
23
23
|
let status = params.status ?? "typing";
|
|
24
|
-
if (typeof status === "string") status = sendTyping._mapTypingStatus(status);
|
|
24
|
+
if (typeof status === "string") status = sendTyping._mapTypingStatus(status, params.progress ?? 0);
|
|
25
25
|
const peer = await resolvePeer.resolvePeer(client, peerId);
|
|
26
26
|
const timerId = _getTypingTimerId(peer, businessConnectionId);
|
|
27
27
|
await client.timers.cancel(timerId);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { tl } from '../../../tl/index.js';
|
|
2
2
|
import { ITelegramClient } from '../../client.types.js';
|
|
3
3
|
import { InputPeerLike } from '../../types/peers/peer.js';
|
|
4
|
-
import {
|
|
4
|
+
import { SendableTypingStatus } from '../../types/peers/typing-status.js';
|
|
5
5
|
export declare function _getTypingTimerId(peer: tl.TypeInputPeer, businessId?: string): string;
|
|
6
6
|
/**
|
|
7
7
|
* Sets whether a user is typing in a specific chat
|
|
@@ -17,7 +17,7 @@ export declare function setTyping(client: ITelegramClient, params: {
|
|
|
17
17
|
*
|
|
18
18
|
* @default `typing`
|
|
19
19
|
*/
|
|
20
|
-
status?:
|
|
20
|
+
status?: SendableTypingStatus | tl.TypeSendMessageAction;
|
|
21
21
|
/**
|
|
22
22
|
* For `upload_*` and history import actions, progress of the upload
|
|
23
23
|
*/
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { tl } from '../../../tl/index.js';
|
|
2
2
|
import { ITelegramClient } from '../../client.types.js';
|
|
3
3
|
import { InputPeerLike } from '../../types/peers/peer.js';
|
|
4
|
-
import {
|
|
4
|
+
import { SendableTypingStatus } from '../../types/peers/typing-status.js';
|
|
5
5
|
export declare function _getTypingTimerId(peer: tl.TypeInputPeer, businessId?: string): string;
|
|
6
6
|
/**
|
|
7
7
|
* Sets whether a user is typing in a specific chat
|
|
@@ -17,7 +17,7 @@ export declare function setTyping(client: ITelegramClient, params: {
|
|
|
17
17
|
*
|
|
18
18
|
* @default `typing`
|
|
19
19
|
*/
|
|
20
|
-
status?:
|
|
20
|
+
status?: SendableTypingStatus | tl.TypeSendMessageAction;
|
|
21
21
|
/**
|
|
22
22
|
* For `upload_*` and history import actions, progress of the upload
|
|
23
23
|
*/
|
|
@@ -14,7 +14,7 @@ async function setTyping(client, params) {
|
|
|
14
14
|
threadId
|
|
15
15
|
} = params;
|
|
16
16
|
let status = params.status ?? "typing";
|
|
17
|
-
if (typeof status === "string") status = _mapTypingStatus(status);
|
|
17
|
+
if (typeof status === "string") status = _mapTypingStatus(status, params.progress ?? 0);
|
|
18
18
|
const peer = await resolvePeer(client, peerId);
|
|
19
19
|
const timerId = _getTypingTimerId(peer, businessConnectionId);
|
|
20
20
|
await client.timers.cancel(timerId);
|
|
@@ -107,7 +107,17 @@ async function resolvePeer(client, peerId, force = false) {
|
|
|
107
107
|
};
|
|
108
108
|
}
|
|
109
109
|
} catch (e) {
|
|
110
|
-
if (
|
|
110
|
+
if (innerTl.RpcError.is(e, "COMMUNITY_ID_INVALID")) {
|
|
111
|
+
if (client.storage.self.getCached(true)?.isBot) {
|
|
112
|
+
return {
|
|
113
|
+
_: "inputPeerChannel",
|
|
114
|
+
channelId: bareId,
|
|
115
|
+
accessHash: Long.ZERO
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
} else if (!innerTl.RpcError.is(e, "CHANNEL_INVALID")) {
|
|
119
|
+
throw e;
|
|
120
|
+
}
|
|
111
121
|
}
|
|
112
122
|
break;
|
|
113
123
|
}
|
|
@@ -100,7 +100,17 @@ async function resolvePeer(client, peerId, force = false) {
|
|
|
100
100
|
};
|
|
101
101
|
}
|
|
102
102
|
} catch (e) {
|
|
103
|
-
if (
|
|
103
|
+
if (RpcError.is(e, "COMMUNITY_ID_INVALID")) {
|
|
104
|
+
if (client.storage.self.getCached(true)?.isBot) {
|
|
105
|
+
return {
|
|
106
|
+
_: "inputPeerChannel",
|
|
107
|
+
channelId: bareId,
|
|
108
|
+
accessHash: Long.ZERO
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
} else if (!RpcError.is(e, "CHANNEL_INVALID")) {
|
|
112
|
+
throw e;
|
|
113
|
+
}
|
|
104
114
|
}
|
|
105
115
|
break;
|
|
106
116
|
}
|
package/highlevel/methods.d.cts
CHANGED
|
@@ -89,6 +89,18 @@ export { toggleJoinToSend } from './methods/chats/toggle-join-to-send.js';
|
|
|
89
89
|
export { transferChatOwnership } from './methods/chats/transfer-chat-ownership.js';
|
|
90
90
|
export { unarchiveChats } from './methods/chats/unarchive-chats.js';
|
|
91
91
|
export { unbanChatMember } from './methods/chats/unban-chat-member.js';
|
|
92
|
+
export { banCommunityParticipant } from './methods/communities/ban-community-participant.js';
|
|
93
|
+
export { unbanCommunityParticipant } from './methods/communities/ban-community-participant.js';
|
|
94
|
+
export { createCommunity } from './methods/communities/create-community.js';
|
|
95
|
+
export { getCommunityLinkRequests } from './methods/communities/get-community-link-requests.js';
|
|
96
|
+
export { getCommunityParticipantChats } from './methods/communities/get-community-participant-chats.js';
|
|
97
|
+
export type { CommunityParticipantChats } from './methods/communities/get-community-participant-chats.js';
|
|
98
|
+
export { getJoinedCommunities } from './methods/communities/get-joined-communities.js';
|
|
99
|
+
export { hideCommunityLinkRequest } from './methods/communities/hide-community-link-request.js';
|
|
100
|
+
export { hideAllCommunityLinkRequests } from './methods/communities/hide-community-link-request.js';
|
|
101
|
+
export { linkCommunityPeer } from './methods/communities/link-community-peer.js';
|
|
102
|
+
export { unlinkCommunityPeer } from './methods/communities/link-community-peer.js';
|
|
103
|
+
export { toggleCommunityCollapsed } from './methods/communities/toggle-community-collapsed.js';
|
|
92
104
|
export { addContact } from './methods/contacts/add-contact.js';
|
|
93
105
|
export { deleteContacts } from './methods/contacts/delete-contacts.js';
|
|
94
106
|
export { getContacts } from './methods/contacts/get-contacts.js';
|
|
@@ -105,6 +117,13 @@ export { getPeerDialogs } from './methods/dialogs/get-peer-dialogs.js';
|
|
|
105
117
|
export { iterDialogs } from './methods/dialogs/iter-dialogs.js';
|
|
106
118
|
export { joinChatlist } from './methods/dialogs/join-chatlist.js';
|
|
107
119
|
export { setFoldersOrder } from './methods/dialogs/set-folders-order.js';
|
|
120
|
+
export { deleteAllWelcomeMessages } from './methods/ephemeral/delete-all-welcome-messages.js';
|
|
121
|
+
export { deleteEphemeralMessage } from './methods/ephemeral/delete-ephemeral-message.js';
|
|
122
|
+
export { deleteWelcomeMessage } from './methods/ephemeral/delete-welcome-message.js';
|
|
123
|
+
export { editEphemeralMessage } from './methods/ephemeral/edit-ephemeral-message.js';
|
|
124
|
+
export { getEphemeralCallbackAnswer } from './methods/ephemeral/get-ephemeral-callback-answer.js';
|
|
125
|
+
export { getWelcomeMessages } from './methods/ephemeral/get-welcome-messages.js';
|
|
126
|
+
export { sendEphemeralMessage } from './methods/ephemeral/send-ephemeral-message.js';
|
|
108
127
|
export { downloadAsBuffer } from './methods/files/download-buffer.js';
|
|
109
128
|
export { downloadChunk } from './methods/files/download-chunk.js';
|
|
110
129
|
export { _normalizeFileDownloadLocation } from './methods/files/download-iterable.js';
|
package/highlevel/methods.d.ts
CHANGED
|
@@ -89,6 +89,18 @@ export { toggleJoinToSend } from './methods/chats/toggle-join-to-send.js';
|
|
|
89
89
|
export { transferChatOwnership } from './methods/chats/transfer-chat-ownership.js';
|
|
90
90
|
export { unarchiveChats } from './methods/chats/unarchive-chats.js';
|
|
91
91
|
export { unbanChatMember } from './methods/chats/unban-chat-member.js';
|
|
92
|
+
export { banCommunityParticipant } from './methods/communities/ban-community-participant.js';
|
|
93
|
+
export { unbanCommunityParticipant } from './methods/communities/ban-community-participant.js';
|
|
94
|
+
export { createCommunity } from './methods/communities/create-community.js';
|
|
95
|
+
export { getCommunityLinkRequests } from './methods/communities/get-community-link-requests.js';
|
|
96
|
+
export { getCommunityParticipantChats } from './methods/communities/get-community-participant-chats.js';
|
|
97
|
+
export type { CommunityParticipantChats } from './methods/communities/get-community-participant-chats.js';
|
|
98
|
+
export { getJoinedCommunities } from './methods/communities/get-joined-communities.js';
|
|
99
|
+
export { hideCommunityLinkRequest } from './methods/communities/hide-community-link-request.js';
|
|
100
|
+
export { hideAllCommunityLinkRequests } from './methods/communities/hide-community-link-request.js';
|
|
101
|
+
export { linkCommunityPeer } from './methods/communities/link-community-peer.js';
|
|
102
|
+
export { unlinkCommunityPeer } from './methods/communities/link-community-peer.js';
|
|
103
|
+
export { toggleCommunityCollapsed } from './methods/communities/toggle-community-collapsed.js';
|
|
92
104
|
export { addContact } from './methods/contacts/add-contact.js';
|
|
93
105
|
export { deleteContacts } from './methods/contacts/delete-contacts.js';
|
|
94
106
|
export { getContacts } from './methods/contacts/get-contacts.js';
|
|
@@ -105,6 +117,13 @@ export { getPeerDialogs } from './methods/dialogs/get-peer-dialogs.js';
|
|
|
105
117
|
export { iterDialogs } from './methods/dialogs/iter-dialogs.js';
|
|
106
118
|
export { joinChatlist } from './methods/dialogs/join-chatlist.js';
|
|
107
119
|
export { setFoldersOrder } from './methods/dialogs/set-folders-order.js';
|
|
120
|
+
export { deleteAllWelcomeMessages } from './methods/ephemeral/delete-all-welcome-messages.js';
|
|
121
|
+
export { deleteEphemeralMessage } from './methods/ephemeral/delete-ephemeral-message.js';
|
|
122
|
+
export { deleteWelcomeMessage } from './methods/ephemeral/delete-welcome-message.js';
|
|
123
|
+
export { editEphemeralMessage } from './methods/ephemeral/edit-ephemeral-message.js';
|
|
124
|
+
export { getEphemeralCallbackAnswer } from './methods/ephemeral/get-ephemeral-callback-answer.js';
|
|
125
|
+
export { getWelcomeMessages } from './methods/ephemeral/get-welcome-messages.js';
|
|
126
|
+
export { sendEphemeralMessage } from './methods/ephemeral/send-ephemeral-message.js';
|
|
108
127
|
export { downloadAsBuffer } from './methods/files/download-buffer.js';
|
|
109
128
|
export { downloadChunk } from './methods/files/download-chunk.js';
|
|
110
129
|
export { _normalizeFileDownloadLocation } from './methods/files/download-iterable.js';
|
|
@@ -129,6 +129,23 @@ class PeersService extends base.BaseService {
|
|
|
129
129
|
accessHash = peer.accessHash;
|
|
130
130
|
break;
|
|
131
131
|
}
|
|
132
|
+
case "community":
|
|
133
|
+
case "communityForbidden": {
|
|
134
|
+
if (!peer.accessHash) {
|
|
135
|
+
this._log.warn("received community without access hash: %j", peer);
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
dto = {
|
|
139
|
+
id: peerUtils.toggleChannelIdMark(peer.id),
|
|
140
|
+
accessHash: longUtils.longToFastString(peer.accessHash),
|
|
141
|
+
isMin: peer._ === "community" ? peer.min : false,
|
|
142
|
+
usernames: [],
|
|
143
|
+
updated: Date.now(),
|
|
144
|
+
complete: this._serializeTl(peer)
|
|
145
|
+
};
|
|
146
|
+
accessHash = peer.accessHash;
|
|
147
|
+
break;
|
|
148
|
+
}
|
|
132
149
|
default:
|
|
133
150
|
return;
|
|
134
151
|
}
|
|
@@ -163,6 +180,13 @@ class PeersService extends base.BaseService {
|
|
|
163
180
|
verified: peer.verified,
|
|
164
181
|
defaultBannedRights: peer.defaultBannedRights
|
|
165
182
|
};
|
|
183
|
+
} else if (existing._ === "community" && peer._ === "community") {
|
|
184
|
+
newComplete = {
|
|
185
|
+
...existing,
|
|
186
|
+
title: peer.title,
|
|
187
|
+
photo: peer.photo,
|
|
188
|
+
defaultBannedRights: peer.defaultBannedRights
|
|
189
|
+
};
|
|
166
190
|
} else if (existing._ === "user" && peer._ === "user") {
|
|
167
191
|
newComplete = {
|
|
168
192
|
...existing,
|
|
@@ -216,6 +240,7 @@ class PeersService extends base.BaseService {
|
|
|
216
240
|
await this._refs.deleteByPeer(peer.id);
|
|
217
241
|
}
|
|
218
242
|
async _writePending() {
|
|
243
|
+
this._pendingWritesTimer = null;
|
|
219
244
|
try {
|
|
220
245
|
await utils.asyncPool(this._pendingWrites.values(), async (dto) => {
|
|
221
246
|
await this._peers.store(dto);
|
|
@@ -122,6 +122,23 @@ class PeersService extends BaseService {
|
|
|
122
122
|
accessHash = peer.accessHash;
|
|
123
123
|
break;
|
|
124
124
|
}
|
|
125
|
+
case "community":
|
|
126
|
+
case "communityForbidden": {
|
|
127
|
+
if (!peer.accessHash) {
|
|
128
|
+
this._log.warn("received community without access hash: %j", peer);
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
dto = {
|
|
132
|
+
id: toggleChannelIdMark(peer.id),
|
|
133
|
+
accessHash: longToFastString(peer.accessHash),
|
|
134
|
+
isMin: peer._ === "community" ? peer.min : false,
|
|
135
|
+
usernames: [],
|
|
136
|
+
updated: Date.now(),
|
|
137
|
+
complete: this._serializeTl(peer)
|
|
138
|
+
};
|
|
139
|
+
accessHash = peer.accessHash;
|
|
140
|
+
break;
|
|
141
|
+
}
|
|
125
142
|
default:
|
|
126
143
|
return;
|
|
127
144
|
}
|
|
@@ -156,6 +173,13 @@ class PeersService extends BaseService {
|
|
|
156
173
|
verified: peer.verified,
|
|
157
174
|
defaultBannedRights: peer.defaultBannedRights
|
|
158
175
|
};
|
|
176
|
+
} else if (existing._ === "community" && peer._ === "community") {
|
|
177
|
+
newComplete = {
|
|
178
|
+
...existing,
|
|
179
|
+
title: peer.title,
|
|
180
|
+
photo: peer.photo,
|
|
181
|
+
defaultBannedRights: peer.defaultBannedRights
|
|
182
|
+
};
|
|
159
183
|
} else if (existing._ === "user" && peer._ === "user") {
|
|
160
184
|
newComplete = {
|
|
161
185
|
...existing,
|
|
@@ -209,6 +233,7 @@ class PeersService extends BaseService {
|
|
|
209
233
|
await this._refs.deleteByPeer(peer.id);
|
|
210
234
|
}
|
|
211
235
|
async _writePending() {
|
|
236
|
+
this._pendingWritesTimer = null;
|
|
212
237
|
try {
|
|
213
238
|
await asyncPool(this._pendingWrites.values(), async (dto) => {
|
|
214
239
|
await this._peers.store(dto);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -66,11 +66,11 @@ class BotKeyboardBuilder {
|
|
|
66
66
|
/**
|
|
67
67
|
* Return contents of this builder as an inline keyboard
|
|
68
68
|
*/
|
|
69
|
-
asInline() {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
69
|
+
asInline(params = {}) {
|
|
70
|
+
const ret = params;
|
|
71
|
+
ret.type = "inline";
|
|
72
|
+
ret.buttons = this._buttons;
|
|
73
|
+
return ret;
|
|
74
74
|
}
|
|
75
75
|
/**
|
|
76
76
|
* Return contents of this builder as a reply keyboard
|