@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
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { tl } from '../../../tl/index.js';
|
|
2
|
+
import { Peer } from '../peers/peer.js';
|
|
3
|
+
import { PeersIndex } from '../peers/peers-index.js';
|
|
4
|
+
import { EphemeralMessage } from '../messages/ephemeral-message.js';
|
|
5
|
+
import { User } from '../peers/user.js';
|
|
6
|
+
/**
|
|
7
|
+
* A callback query originating from an ephemeral message sent by the bot.
|
|
8
|
+
*/
|
|
9
|
+
export declare class EphemeralCallbackQuery {
|
|
10
|
+
readonly raw: tl.RawUpdateEphemeralBotCallbackQuery;
|
|
11
|
+
readonly _peers: PeersIndex;
|
|
12
|
+
constructor(raw: tl.RawUpdateEphemeralBotCallbackQuery, _peers: PeersIndex);
|
|
13
|
+
/** ID of this callback query */
|
|
14
|
+
get id(): tl.Long;
|
|
15
|
+
/** User who has pressed the button */
|
|
16
|
+
get user(): User;
|
|
17
|
+
/**
|
|
18
|
+
* Chat where the originating ephemeral message was sent.
|
|
19
|
+
*
|
|
20
|
+
* `null` if not available (see {@link chatInstance})
|
|
21
|
+
*/
|
|
22
|
+
get chat(): Peer | null;
|
|
23
|
+
/** Identifier uniquely corresponding to the chat the message was sent to, if any */
|
|
24
|
+
get chatInstance(): tl.Long | null;
|
|
25
|
+
/** Identifier of the ephemeral message containing the button which was clicked */
|
|
26
|
+
get messageId(): number;
|
|
27
|
+
/** The originating ephemeral message */
|
|
28
|
+
get message(): EphemeralMessage;
|
|
29
|
+
/**
|
|
30
|
+
* Data that was contained in the callback button.
|
|
31
|
+
*
|
|
32
|
+
* Note that this field is defined by the client, and a bad
|
|
33
|
+
* client can send arbitrary data in this field.
|
|
34
|
+
*/
|
|
35
|
+
get data(): Uint8Array;
|
|
36
|
+
/**
|
|
37
|
+
* Data that was contained in the callback button,
|
|
38
|
+
* parsed as a UTF8 string
|
|
39
|
+
*
|
|
40
|
+
* Note that this field is defined by the client, and a bad
|
|
41
|
+
* client can send arbitrary data in this field.
|
|
42
|
+
*/
|
|
43
|
+
get dataStr(): string;
|
|
44
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { utf8 } from "@fuman/utils";
|
|
2
|
+
import { memoizeGetters } from "../../utils/memoize.js";
|
|
3
|
+
import { EphemeralMessage as EphemeralMessage$2 } from "../messages/ephemeral-message.js";
|
|
4
|
+
import { parsePeer } from "../peers/peer.js";
|
|
5
|
+
import { User as User$2 } from "../peers/user.js";
|
|
6
|
+
import { makeInspectable } from "../../utils/inspectable.js";
|
|
7
|
+
class EphemeralCallbackQuery {
|
|
8
|
+
constructor(raw, _peers) {
|
|
9
|
+
this.raw = raw;
|
|
10
|
+
this._peers = _peers;
|
|
11
|
+
}
|
|
12
|
+
/** ID of this callback query */
|
|
13
|
+
get id() {
|
|
14
|
+
return this.raw.queryId;
|
|
15
|
+
}
|
|
16
|
+
/** User who has pressed the button */
|
|
17
|
+
get user() {
|
|
18
|
+
return new User$2(this._peers.user(this.raw.userId));
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Chat where the originating ephemeral message was sent.
|
|
22
|
+
*
|
|
23
|
+
* `null` if not available (see {@link chatInstance})
|
|
24
|
+
*/
|
|
25
|
+
get chat() {
|
|
26
|
+
return this.raw.peer ? parsePeer(this.raw.peer, this._peers) : null;
|
|
27
|
+
}
|
|
28
|
+
/** Identifier uniquely corresponding to the chat the message was sent to, if any */
|
|
29
|
+
get chatInstance() {
|
|
30
|
+
return this.raw.chatInstance ?? null;
|
|
31
|
+
}
|
|
32
|
+
/** Identifier of the ephemeral message containing the button which was clicked */
|
|
33
|
+
get messageId() {
|
|
34
|
+
return this.raw.msgId;
|
|
35
|
+
}
|
|
36
|
+
/** The originating ephemeral message */
|
|
37
|
+
get message() {
|
|
38
|
+
return new EphemeralMessage$2(this.raw.message, this._peers);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Data that was contained in the callback button.
|
|
42
|
+
*
|
|
43
|
+
* Note that this field is defined by the client, and a bad
|
|
44
|
+
* client can send arbitrary data in this field.
|
|
45
|
+
*/
|
|
46
|
+
get data() {
|
|
47
|
+
return this.raw.data;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Data that was contained in the callback button,
|
|
51
|
+
* parsed as a UTF8 string
|
|
52
|
+
*
|
|
53
|
+
* Note that this field is defined by the client, and a bad
|
|
54
|
+
* client can send arbitrary data in this field.
|
|
55
|
+
*/
|
|
56
|
+
get dataStr() {
|
|
57
|
+
return utf8.decoder.decode(this.raw.data);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
const EphemeralCallbackQuery$1 = /* @__PURE__ */ memoizeGetters(EphemeralCallbackQuery, ["user", "chat", "message", "dataStr"]);
|
|
61
|
+
const EphemeralCallbackQuery$2 = /* @__PURE__ */ makeInspectable(EphemeralCallbackQuery$1);
|
|
62
|
+
export {
|
|
63
|
+
EphemeralCallbackQuery$2 as EphemeralCallbackQuery
|
|
64
|
+
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BusinessConnection, Message } from '../../types/index.js';
|
|
1
|
+
import { BusinessConnection, EphemeralMessage, Message } from '../../types/index.js';
|
|
2
2
|
import { BotChatJoinRequestUpdate } from './bot-chat-join-request.js';
|
|
3
3
|
import { BotGuestChatQuery } from './bot-guest-chat-query.js';
|
|
4
4
|
import { BotReactionCountUpdate, BotReactionUpdate } from './bot-reaction.js';
|
|
@@ -9,8 +9,10 @@ import { ChatJoinRequestUpdate } from './chat-join-request.js';
|
|
|
9
9
|
import { ChatMemberUpdate } from './chat-member-update.js';
|
|
10
10
|
import { ChosenInlineResult } from './chosen-inline-result.js';
|
|
11
11
|
import { DeleteBusinessMessageUpdate } from './delete-business-message-update.js';
|
|
12
|
+
import { DeleteEphemeralMessagesUpdate } from './delete-ephemeral-messages-update.js';
|
|
12
13
|
import { DeleteMessageUpdate } from './delete-message-update.js';
|
|
13
14
|
import { DeleteStoryUpdate } from './delete-story-update.js';
|
|
15
|
+
import { EphemeralCallbackQuery } from './ephemeral-callback-query.js';
|
|
14
16
|
import { HistoryReadUpdate } from './history-read-update.js';
|
|
15
17
|
import { InlineQuery } from './inline-query.js';
|
|
16
18
|
import { PollUpdate } from './poll-update.js';
|
|
@@ -20,7 +22,7 @@ import { StoryUpdate } from './story-update.js';
|
|
|
20
22
|
import { UserStatusUpdate } from './user-status-update.js';
|
|
21
23
|
import { UserTypingUpdate } from './user-typing-update.js';
|
|
22
24
|
export type { ChatMemberUpdateType } from './chat-member-update.js';
|
|
23
|
-
export { BotChatJoinRequestUpdate, BotGuestChatQuery, BotReactionCountUpdate, BotReactionUpdate, BotStoppedUpdate, BusinessCallbackQuery, BusinessMessage, CallbackQuery, ChatJoinRequestUpdate, ChatMemberUpdate, ChosenInlineResult, DeleteBusinessMessageUpdate, DeleteMessageUpdate, DeleteStoryUpdate, HistoryReadUpdate, InlineCallbackQuery, InlineQuery, PollUpdate, PollVoteUpdate, PreCheckoutQuery, StoryUpdate, UserStatusUpdate, UserTypingUpdate, };
|
|
25
|
+
export { BotChatJoinRequestUpdate, BotGuestChatQuery, BotReactionCountUpdate, BotReactionUpdate, BotStoppedUpdate, BusinessCallbackQuery, BusinessMessage, CallbackQuery, ChatJoinRequestUpdate, ChatMemberUpdate, ChosenInlineResult, DeleteBusinessMessageUpdate, DeleteEphemeralMessagesUpdate, DeleteMessageUpdate, DeleteStoryUpdate, EphemeralCallbackQuery, HistoryReadUpdate, InlineCallbackQuery, InlineQuery, PollUpdate, PollVoteUpdate, PreCheckoutQuery, StoryUpdate, UserStatusUpdate, UserTypingUpdate, };
|
|
24
26
|
export type ParsedUpdate = {
|
|
25
27
|
name: 'new_message';
|
|
26
28
|
data: Message;
|
|
@@ -108,4 +110,16 @@ export type ParsedUpdate = {
|
|
|
108
110
|
} | {
|
|
109
111
|
name: 'delete_business_message';
|
|
110
112
|
data: DeleteBusinessMessageUpdate;
|
|
113
|
+
} | {
|
|
114
|
+
name: 'new_ephemeral_message';
|
|
115
|
+
data: EphemeralMessage;
|
|
116
|
+
} | {
|
|
117
|
+
name: 'edit_ephemeral_message';
|
|
118
|
+
data: EphemeralMessage;
|
|
119
|
+
} | {
|
|
120
|
+
name: 'delete_ephemeral_messages';
|
|
121
|
+
data: DeleteEphemeralMessagesUpdate;
|
|
122
|
+
} | {
|
|
123
|
+
name: 'ephemeral_callback_query';
|
|
124
|
+
data: EphemeralCallbackQuery;
|
|
111
125
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BusinessConnection, Message } from '../../types/index.js';
|
|
1
|
+
import { BusinessConnection, EphemeralMessage, Message } from '../../types/index.js';
|
|
2
2
|
import { BotChatJoinRequestUpdate } from './bot-chat-join-request.js';
|
|
3
3
|
import { BotGuestChatQuery } from './bot-guest-chat-query.js';
|
|
4
4
|
import { BotReactionCountUpdate, BotReactionUpdate } from './bot-reaction.js';
|
|
@@ -9,8 +9,10 @@ import { ChatJoinRequestUpdate } from './chat-join-request.js';
|
|
|
9
9
|
import { ChatMemberUpdate } from './chat-member-update.js';
|
|
10
10
|
import { ChosenInlineResult } from './chosen-inline-result.js';
|
|
11
11
|
import { DeleteBusinessMessageUpdate } from './delete-business-message-update.js';
|
|
12
|
+
import { DeleteEphemeralMessagesUpdate } from './delete-ephemeral-messages-update.js';
|
|
12
13
|
import { DeleteMessageUpdate } from './delete-message-update.js';
|
|
13
14
|
import { DeleteStoryUpdate } from './delete-story-update.js';
|
|
15
|
+
import { EphemeralCallbackQuery } from './ephemeral-callback-query.js';
|
|
14
16
|
import { HistoryReadUpdate } from './history-read-update.js';
|
|
15
17
|
import { InlineQuery } from './inline-query.js';
|
|
16
18
|
import { PollUpdate } from './poll-update.js';
|
|
@@ -20,7 +22,7 @@ import { StoryUpdate } from './story-update.js';
|
|
|
20
22
|
import { UserStatusUpdate } from './user-status-update.js';
|
|
21
23
|
import { UserTypingUpdate } from './user-typing-update.js';
|
|
22
24
|
export type { ChatMemberUpdateType } from './chat-member-update.js';
|
|
23
|
-
export { BotChatJoinRequestUpdate, BotGuestChatQuery, BotReactionCountUpdate, BotReactionUpdate, BotStoppedUpdate, BusinessCallbackQuery, BusinessMessage, CallbackQuery, ChatJoinRequestUpdate, ChatMemberUpdate, ChosenInlineResult, DeleteBusinessMessageUpdate, DeleteMessageUpdate, DeleteStoryUpdate, HistoryReadUpdate, InlineCallbackQuery, InlineQuery, PollUpdate, PollVoteUpdate, PreCheckoutQuery, StoryUpdate, UserStatusUpdate, UserTypingUpdate, };
|
|
25
|
+
export { BotChatJoinRequestUpdate, BotGuestChatQuery, BotReactionCountUpdate, BotReactionUpdate, BotStoppedUpdate, BusinessCallbackQuery, BusinessMessage, CallbackQuery, ChatJoinRequestUpdate, ChatMemberUpdate, ChosenInlineResult, DeleteBusinessMessageUpdate, DeleteEphemeralMessagesUpdate, DeleteMessageUpdate, DeleteStoryUpdate, EphemeralCallbackQuery, HistoryReadUpdate, InlineCallbackQuery, InlineQuery, PollUpdate, PollVoteUpdate, PreCheckoutQuery, StoryUpdate, UserStatusUpdate, UserTypingUpdate, };
|
|
24
26
|
export type ParsedUpdate = {
|
|
25
27
|
name: 'new_message';
|
|
26
28
|
data: Message;
|
|
@@ -108,4 +110,16 @@ export type ParsedUpdate = {
|
|
|
108
110
|
} | {
|
|
109
111
|
name: 'delete_business_message';
|
|
110
112
|
data: DeleteBusinessMessageUpdate;
|
|
113
|
+
} | {
|
|
114
|
+
name: 'new_ephemeral_message';
|
|
115
|
+
data: EphemeralMessage;
|
|
116
|
+
} | {
|
|
117
|
+
name: 'edit_ephemeral_message';
|
|
118
|
+
data: EphemeralMessage;
|
|
119
|
+
} | {
|
|
120
|
+
name: 'delete_ephemeral_messages';
|
|
121
|
+
data: DeleteEphemeralMessagesUpdate;
|
|
122
|
+
} | {
|
|
123
|
+
name: 'ephemeral_callback_query';
|
|
124
|
+
data: EphemeralCallbackQuery;
|
|
111
125
|
};
|
|
@@ -5,16 +5,18 @@ 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
|
|
8
|
+
const ephemeralCallbackQuery = require("./ephemeral-callback-query.cjs");
|
|
9
9
|
const botChatJoinRequest = require("./bot-chat-join-request.cjs");
|
|
10
10
|
const botGuestChatQuery = require("./bot-guest-chat-query.cjs");
|
|
11
11
|
const botReaction = require("./bot-reaction.cjs");
|
|
12
12
|
const botStopped = require("./bot-stopped.cjs");
|
|
13
13
|
const businessMessage = require("./business-message.cjs");
|
|
14
|
+
const callbackQuery = require("./callback-query.cjs");
|
|
14
15
|
const chatJoinRequest = require("./chat-join-request.cjs");
|
|
15
16
|
const chatMemberUpdate = require("./chat-member-update.cjs");
|
|
16
17
|
const chosenInlineResult = require("./chosen-inline-result.cjs");
|
|
17
18
|
const deleteBusinessMessageUpdate = require("./delete-business-message-update.cjs");
|
|
19
|
+
const deleteEphemeralMessagesUpdate = require("./delete-ephemeral-messages-update.cjs");
|
|
18
20
|
const deleteMessageUpdate = require("./delete-message-update.cjs");
|
|
19
21
|
const deleteStoryUpdate = require("./delete-story-update.cjs");
|
|
20
22
|
const historyReadUpdate = require("./history-read-update.cjs");
|
|
@@ -26,6 +28,7 @@ const storyUpdate = require("./story-update.cjs");
|
|
|
26
28
|
const userStatusUpdate = require("./user-status-update.cjs");
|
|
27
29
|
const userTypingUpdate = require("./user-typing-update.cjs");
|
|
28
30
|
const businessConnection = require("../premium/business-connection.cjs");
|
|
31
|
+
const ephemeralMessage = require("../messages/ephemeral-message.cjs");
|
|
29
32
|
const message = require("../messages/message.cjs");
|
|
30
33
|
function _parseUpdate({ update, peers }) {
|
|
31
34
|
switch (update._) {
|
|
@@ -104,6 +107,14 @@ function _parseUpdate({ update, peers }) {
|
|
|
104
107
|
return { name: "delete_business_message", data: new deleteBusinessMessageUpdate.DeleteBusinessMessageUpdate(update, peers) };
|
|
105
108
|
case "updateBusinessBotCallbackQuery":
|
|
106
109
|
return { name: "business_callback_query", data: new callbackQuery.BusinessCallbackQuery(update, peers) };
|
|
110
|
+
case "updateNewEphemeralMessage":
|
|
111
|
+
return { name: "new_ephemeral_message", data: new ephemeralMessage.EphemeralMessage(update.message, peers) };
|
|
112
|
+
case "updateEditEphemeralMessage":
|
|
113
|
+
return { name: "edit_ephemeral_message", data: new ephemeralMessage.EphemeralMessage(update.message, peers) };
|
|
114
|
+
case "updateDeleteEphemeralMessages":
|
|
115
|
+
return { name: "delete_ephemeral_messages", data: new deleteEphemeralMessagesUpdate.DeleteEphemeralMessagesUpdate(update, peers) };
|
|
116
|
+
case "updateEphemeralBotCallbackQuery":
|
|
117
|
+
return { name: "ephemeral_callback_query", data: new ephemeralCallbackQuery.EphemeralCallbackQuery(update, peers) };
|
|
107
118
|
default:
|
|
108
119
|
return null;
|
|
109
120
|
}
|
|
@@ -1,13 +1,15 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { EphemeralCallbackQuery as EphemeralCallbackQuery$2 } from "./ephemeral-callback-query.js";
|
|
2
2
|
import { BotChatJoinRequestUpdate as BotChatJoinRequestUpdate$2 } from "./bot-chat-join-request.js";
|
|
3
3
|
import { BotGuestChatQuery as BotGuestChatQuery$2 } from "./bot-guest-chat-query.js";
|
|
4
4
|
import { BotReactionCountUpdate as BotReactionCountUpdate$2, BotReactionUpdate as BotReactionUpdate$2 } from "./bot-reaction.js";
|
|
5
5
|
import { BotStoppedUpdate as BotStoppedUpdate$2 } from "./bot-stopped.js";
|
|
6
6
|
import { BusinessMessage } from "./business-message.js";
|
|
7
|
+
import { BusinessCallbackQuery as BusinessCallbackQuery$2, InlineCallbackQuery as InlineCallbackQuery$2, CallbackQuery as CallbackQuery$2 } from "./callback-query.js";
|
|
7
8
|
import { ChatJoinRequestUpdate as ChatJoinRequestUpdate$2 } from "./chat-join-request.js";
|
|
8
9
|
import { ChatMemberUpdate as ChatMemberUpdate$2 } from "./chat-member-update.js";
|
|
9
10
|
import { ChosenInlineResult as ChosenInlineResult$2 } from "./chosen-inline-result.js";
|
|
10
11
|
import { DeleteBusinessMessageUpdate as DeleteBusinessMessageUpdate$2 } from "./delete-business-message-update.js";
|
|
12
|
+
import { DeleteEphemeralMessagesUpdate as DeleteEphemeralMessagesUpdate$2 } from "./delete-ephemeral-messages-update.js";
|
|
11
13
|
import { DeleteMessageUpdate as DeleteMessageUpdate$1 } from "./delete-message-update.js";
|
|
12
14
|
import { DeleteStoryUpdate as DeleteStoryUpdate$2 } from "./delete-story-update.js";
|
|
13
15
|
import { HistoryReadUpdate as HistoryReadUpdate$1 } from "./history-read-update.js";
|
|
@@ -19,6 +21,7 @@ import { StoryUpdate as StoryUpdate$2 } from "./story-update.js";
|
|
|
19
21
|
import { UserStatusUpdate as UserStatusUpdate$2 } from "./user-status-update.js";
|
|
20
22
|
import { UserTypingUpdate as UserTypingUpdate$1 } from "./user-typing-update.js";
|
|
21
23
|
import { BusinessConnection as BusinessConnection$2 } from "../premium/business-connection.js";
|
|
24
|
+
import { EphemeralMessage as EphemeralMessage$2 } from "../messages/ephemeral-message.js";
|
|
22
25
|
import { Message as Message$2 } from "../messages/message.js";
|
|
23
26
|
function _parseUpdate({ update, peers }) {
|
|
24
27
|
switch (update._) {
|
|
@@ -97,6 +100,14 @@ function _parseUpdate({ update, peers }) {
|
|
|
97
100
|
return { name: "delete_business_message", data: new DeleteBusinessMessageUpdate$2(update, peers) };
|
|
98
101
|
case "updateBusinessBotCallbackQuery":
|
|
99
102
|
return { name: "business_callback_query", data: new BusinessCallbackQuery$2(update, peers) };
|
|
103
|
+
case "updateNewEphemeralMessage":
|
|
104
|
+
return { name: "new_ephemeral_message", data: new EphemeralMessage$2(update.message, peers) };
|
|
105
|
+
case "updateEditEphemeralMessage":
|
|
106
|
+
return { name: "edit_ephemeral_message", data: new EphemeralMessage$2(update.message, peers) };
|
|
107
|
+
case "updateDeleteEphemeralMessages":
|
|
108
|
+
return { name: "delete_ephemeral_messages", data: new DeleteEphemeralMessagesUpdate$2(update, peers) };
|
|
109
|
+
case "updateEphemeralBotCallbackQuery":
|
|
110
|
+
return { name: "ephemeral_callback_query", data: new EphemeralCallbackQuery$2(update, peers) };
|
|
100
111
|
default:
|
|
101
112
|
return null;
|
|
102
113
|
}
|
|
@@ -102,10 +102,28 @@ class UserTypingUpdate {
|
|
|
102
102
|
return "interaction";
|
|
103
103
|
case "sendMessageEmojiInteractionSeen":
|
|
104
104
|
return "interaction_seen";
|
|
105
|
+
case "sendMessageStopDraftAction":
|
|
106
|
+
return "stop_draft";
|
|
105
107
|
default:
|
|
106
108
|
utils.assertNever(this.raw.action);
|
|
107
109
|
}
|
|
108
110
|
}
|
|
111
|
+
/**
|
|
112
|
+
* ID of the draft this update is related to, if any
|
|
113
|
+
* (i.e. the status is `typing` for a draft action, or `stop_draft`)
|
|
114
|
+
*/
|
|
115
|
+
get draftId() {
|
|
116
|
+
const action = this.raw.action;
|
|
117
|
+
return "randomId" in action ? action.randomId : null;
|
|
118
|
+
}
|
|
119
|
+
/** Whether the ongoing draft streaming may be stopped by the user */
|
|
120
|
+
get canStopDraft() {
|
|
121
|
+
return "canStop" in this.raw.action ? this.raw.action.canStop : false;
|
|
122
|
+
}
|
|
123
|
+
/** Whether the draft should be kept once the user stops the streaming */
|
|
124
|
+
get keepDraftOnStop() {
|
|
125
|
+
return "keepOnStop" in this.raw.action ? this.raw.action.keepOnStop : false;
|
|
126
|
+
}
|
|
109
127
|
}
|
|
110
128
|
const UserTypingUpdate$1 = /* @__PURE__ */ inspectable.makeInspectable(UserTypingUpdate);
|
|
111
129
|
exports.UserTypingUpdate = UserTypingUpdate$1;
|
|
@@ -30,4 +30,13 @@ export declare class UserTypingUpdate {
|
|
|
30
30
|
* Current typing status
|
|
31
31
|
*/
|
|
32
32
|
get status(): TypingStatus;
|
|
33
|
+
/**
|
|
34
|
+
* ID of the draft this update is related to, if any
|
|
35
|
+
* (i.e. the status is `typing` for a draft action, or `stop_draft`)
|
|
36
|
+
*/
|
|
37
|
+
get draftId(): tl.Long | null;
|
|
38
|
+
/** Whether the ongoing draft streaming may be stopped by the user */
|
|
39
|
+
get canStopDraft(): boolean;
|
|
40
|
+
/** Whether the draft should be kept once the user stops the streaming */
|
|
41
|
+
get keepDraftOnStop(): boolean;
|
|
33
42
|
}
|
|
@@ -30,4 +30,13 @@ export declare class UserTypingUpdate {
|
|
|
30
30
|
* Current typing status
|
|
31
31
|
*/
|
|
32
32
|
get status(): TypingStatus;
|
|
33
|
+
/**
|
|
34
|
+
* ID of the draft this update is related to, if any
|
|
35
|
+
* (i.e. the status is `typing` for a draft action, or `stop_draft`)
|
|
36
|
+
*/
|
|
37
|
+
get draftId(): tl.Long | null;
|
|
38
|
+
/** Whether the ongoing draft streaming may be stopped by the user */
|
|
39
|
+
get canStopDraft(): boolean;
|
|
40
|
+
/** Whether the draft should be kept once the user stops the streaming */
|
|
41
|
+
get keepDraftOnStop(): boolean;
|
|
33
42
|
}
|
|
@@ -95,10 +95,28 @@ class UserTypingUpdate {
|
|
|
95
95
|
return "interaction";
|
|
96
96
|
case "sendMessageEmojiInteractionSeen":
|
|
97
97
|
return "interaction_seen";
|
|
98
|
+
case "sendMessageStopDraftAction":
|
|
99
|
+
return "stop_draft";
|
|
98
100
|
default:
|
|
99
101
|
assertNever(this.raw.action);
|
|
100
102
|
}
|
|
101
103
|
}
|
|
104
|
+
/**
|
|
105
|
+
* ID of the draft this update is related to, if any
|
|
106
|
+
* (i.e. the status is `typing` for a draft action, or `stop_draft`)
|
|
107
|
+
*/
|
|
108
|
+
get draftId() {
|
|
109
|
+
const action = this.raw.action;
|
|
110
|
+
return "randomId" in action ? action.randomId : null;
|
|
111
|
+
}
|
|
112
|
+
/** Whether the ongoing draft streaming may be stopped by the user */
|
|
113
|
+
get canStopDraft() {
|
|
114
|
+
return "canStop" in this.raw.action ? this.raw.action.canStop : false;
|
|
115
|
+
}
|
|
116
|
+
/** Whether the draft should be kept once the user stops the streaming */
|
|
117
|
+
get keepDraftOnStop() {
|
|
118
|
+
return "keepOnStop" in this.raw.action ? this.raw.action.keepOnStop : false;
|
|
119
|
+
}
|
|
102
120
|
}
|
|
103
121
|
const UserTypingUpdate$1 = /* @__PURE__ */ makeInspectable(UserTypingUpdate);
|
|
104
122
|
export {
|
|
@@ -480,6 +480,24 @@ class UpdatesManager {
|
|
|
480
480
|
index.set(bare, cached);
|
|
481
481
|
return true;
|
|
482
482
|
}
|
|
483
|
+
async function fetchEntitiesPeers(entities) {
|
|
484
|
+
if (!entities) return true;
|
|
485
|
+
for (const ent of entities) {
|
|
486
|
+
if (ent._ === "messageEntityMentionName" && !await fetchPeer(ent.userId)) {
|
|
487
|
+
return false;
|
|
488
|
+
}
|
|
489
|
+
}
|
|
490
|
+
return true;
|
|
491
|
+
}
|
|
492
|
+
async function fetchRichMessagePeers(richMessage) {
|
|
493
|
+
if (!richMessage) return true;
|
|
494
|
+
const richMessagePeers = /* @__PURE__ */ new Set();
|
|
495
|
+
collectRichMessagePeerIds(richMessage, richMessagePeers);
|
|
496
|
+
for (const peer of richMessagePeers) {
|
|
497
|
+
if (!await fetchPeer(peer)) return false;
|
|
498
|
+
}
|
|
499
|
+
return true;
|
|
500
|
+
}
|
|
483
501
|
switch (upd._) {
|
|
484
502
|
case "updateNewMessage":
|
|
485
503
|
case "updateNewChannelMessage":
|
|
@@ -503,20 +521,8 @@ class UpdatesManager {
|
|
|
503
521
|
}
|
|
504
522
|
if (!await fetchPeer(msg.viaBotId)) return missing;
|
|
505
523
|
if (!await fetchPeer(msg.guestchatViaFrom)) return missing;
|
|
506
|
-
if (msg.entities)
|
|
507
|
-
|
|
508
|
-
if (ent._ === "messageEntityMentionName") {
|
|
509
|
-
if (!await fetchPeer(ent.userId)) return missing;
|
|
510
|
-
}
|
|
511
|
-
}
|
|
512
|
-
}
|
|
513
|
-
if (msg.richMessage) {
|
|
514
|
-
const richMessagePeers = /* @__PURE__ */ new Set();
|
|
515
|
-
collectRichMessagePeerIds(msg.richMessage, richMessagePeers);
|
|
516
|
-
for (const peer of richMessagePeers) {
|
|
517
|
-
if (!await fetchPeer(peer)) return missing;
|
|
518
|
-
}
|
|
519
|
-
}
|
|
524
|
+
if (!await fetchEntitiesPeers(msg.entities)) return missing;
|
|
525
|
+
if (!await fetchRichMessagePeers(msg.richMessage)) return missing;
|
|
520
526
|
if (msg.media) {
|
|
521
527
|
switch (msg.media._) {
|
|
522
528
|
case "messageMediaContact":
|
|
@@ -554,25 +560,43 @@ class UpdatesManager {
|
|
|
554
560
|
if (!await fetchPeer(msg.action.fromId)) return missing;
|
|
555
561
|
if (!await fetchPeer(msg.action.toId)) return missing;
|
|
556
562
|
break;
|
|
563
|
+
case "messageActionChatJoinedViaCommunity":
|
|
564
|
+
if (!await fetchPeer(peerUtils.toggleChannelIdMark(msg.action.communityId), true)) {
|
|
565
|
+
return missing;
|
|
566
|
+
}
|
|
567
|
+
break;
|
|
568
|
+
case "messageActionChangeCommunity":
|
|
569
|
+
if (msg.action.communityId !== void 0 && !await fetchPeer(peerUtils.toggleChannelIdMark(msg.action.communityId), true)) {
|
|
570
|
+
return missing;
|
|
571
|
+
}
|
|
572
|
+
break;
|
|
573
|
+
case "messageActionGiftPremium":
|
|
574
|
+
case "messageActionGiftCode":
|
|
575
|
+
case "messageActionStarGift":
|
|
576
|
+
case "messageActionStarGiftUnique":
|
|
577
|
+
if (!await fetchEntitiesPeers(msg.action.message?.entities)) return missing;
|
|
578
|
+
break;
|
|
557
579
|
}
|
|
558
580
|
}
|
|
559
581
|
break;
|
|
560
582
|
}
|
|
583
|
+
case "updateNewEphemeralMessage":
|
|
584
|
+
case "updateEditEphemeralMessage": {
|
|
585
|
+
const msg = upd.message;
|
|
586
|
+
if (!await fetchPeer(msg.peerId, true)) return missing;
|
|
587
|
+
if (!await fetchPeer(msg.fromId)) return missing;
|
|
588
|
+
if (!await fetchPeer(msg.receiverId)) return missing;
|
|
589
|
+
if (!await fetchEntitiesPeers(msg.entities)) return missing;
|
|
590
|
+
if (!await fetchRichMessagePeers(msg.richMessage)) return missing;
|
|
591
|
+
break;
|
|
592
|
+
}
|
|
593
|
+
case "updateEphemeralBotCallbackQuery":
|
|
594
|
+
if (!await fetchPeer(upd.peer, true)) return missing;
|
|
595
|
+
if (!await fetchPeer(upd.userId)) return missing;
|
|
596
|
+
break;
|
|
561
597
|
case "updateDraftMessage":
|
|
562
|
-
if ("entities" in upd.draft && upd.draft.entities)
|
|
563
|
-
|
|
564
|
-
if (ent._ === "messageEntityMentionName") {
|
|
565
|
-
if (!await fetchPeer(ent.userId)) return missing;
|
|
566
|
-
}
|
|
567
|
-
}
|
|
568
|
-
}
|
|
569
|
-
if ("richMessage" in upd.draft && upd.draft.richMessage) {
|
|
570
|
-
const richMessagePeers = /* @__PURE__ */ new Set();
|
|
571
|
-
collectRichMessagePeerIds(upd.draft.richMessage, richMessagePeers);
|
|
572
|
-
for (const peer of richMessagePeers) {
|
|
573
|
-
if (!await fetchPeer(peer)) return missing;
|
|
574
|
-
}
|
|
575
|
-
}
|
|
598
|
+
if ("entities" in upd.draft && !await fetchEntitiesPeers(upd.draft.entities)) return missing;
|
|
599
|
+
if ("richMessage" in upd.draft && !await fetchRichMessagePeers(upd.draft.richMessage)) return missing;
|
|
576
600
|
}
|
|
577
601
|
return missing;
|
|
578
602
|
}
|
|
@@ -891,6 +915,16 @@ class UpdatesManager {
|
|
|
891
915
|
);
|
|
892
916
|
}
|
|
893
917
|
}
|
|
918
|
+
_consumeNoDispatch(pending) {
|
|
919
|
+
if (!this.noDispatchEnabled) return false;
|
|
920
|
+
const upd = pending.update;
|
|
921
|
+
const channelId = pending.channelId ?? 0;
|
|
922
|
+
const msgId = upd._ === "updateNewMessage" || upd._ === "updateNewChannelMessage" || upd._ === "updateBotNewBusinessMessage" ? upd.message.id : void 0;
|
|
923
|
+
const foundByMsgId = msgId ? this.noDispatchMsg.get(channelId)?.delete(msgId) : false;
|
|
924
|
+
const foundByPts = this.noDispatchPts.get(channelId)?.delete(pending.pts);
|
|
925
|
+
const foundByQts = this.noDispatchQts.delete(pending.qts);
|
|
926
|
+
return Boolean(foundByMsgId || foundByPts || foundByQts);
|
|
927
|
+
}
|
|
894
928
|
async _onUpdate(pending, requestedDiff, postponed = false, unordered = false) {
|
|
895
929
|
const { client, log } = this;
|
|
896
930
|
const upd = pending.update;
|
|
@@ -964,6 +998,7 @@ class UpdatesManager {
|
|
|
964
998
|
this.qts = pending.qts;
|
|
965
999
|
}
|
|
966
1000
|
}
|
|
1001
|
+
const inNoDispatchIndex = this._consumeNoDispatch(pending);
|
|
967
1002
|
if (utils$2.isMessageEmpty(upd)) return;
|
|
968
1003
|
switch (upd._) {
|
|
969
1004
|
case "mtcute.dummyUpdate":
|
|
@@ -981,8 +1016,8 @@ class UpdatesManager {
|
|
|
981
1016
|
break;
|
|
982
1017
|
}
|
|
983
1018
|
case "updateChannel": {
|
|
984
|
-
const channel = pending.peers.
|
|
985
|
-
if (channel._ !== "channelForbidden") {
|
|
1019
|
+
const channel = pending.peers.chats.get(upd.channelId);
|
|
1020
|
+
if (!channel || channel._ !== "channelForbidden" && channel._ !== "communityForbidden") {
|
|
986
1021
|
this.inaccessibleChannels.delete(upd.channelId);
|
|
987
1022
|
}
|
|
988
1023
|
break;
|
|
@@ -1035,16 +1070,9 @@ class UpdatesManager {
|
|
|
1035
1070
|
}
|
|
1036
1071
|
}
|
|
1037
1072
|
}
|
|
1038
|
-
if (
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
const foundByMsgId = msgId && this.noDispatchMsg.get(channelId)?.delete(msgId);
|
|
1042
|
-
const foundByPts = this.noDispatchPts.get(channelId)?.delete(pending.pts);
|
|
1043
|
-
const foundByQts = this.noDispatchQts.delete(pending.qts);
|
|
1044
|
-
if (foundByMsgId || foundByPts || foundByQts) {
|
|
1045
|
-
log.debug("not dispatching %s because it is in no_dispatch index", upd._);
|
|
1046
|
-
return;
|
|
1047
|
-
}
|
|
1073
|
+
if (inNoDispatchIndex) {
|
|
1074
|
+
log.debug("not dispatching %s because it is in no_dispatch index", upd._);
|
|
1075
|
+
return;
|
|
1048
1076
|
}
|
|
1049
1077
|
log.debug("dispatching %s (postponed = %s)", upd._, postponed);
|
|
1050
1078
|
if (upd._ === "updateNewMessage" && upd.message._ !== "messageEmpty") {
|
|
@@ -1364,12 +1392,14 @@ class UpdatesManager {
|
|
|
1364
1392
|
} else if (cpts.has(pending.channelId)) {
|
|
1365
1393
|
localPts = cpts.get(pending.channelId);
|
|
1366
1394
|
}
|
|
1367
|
-
if (
|
|
1395
|
+
if (localPts === void 0) {
|
|
1368
1396
|
log.warn(
|
|
1369
1397
|
"local pts not available for postponed %s (cid = %d), skipping",
|
|
1370
1398
|
upd._,
|
|
1371
1399
|
pending.channelId
|
|
1372
1400
|
);
|
|
1401
|
+
pendingPtsUpdatesPostponed.removeIndex(i);
|
|
1402
|
+
i--;
|
|
1373
1403
|
continue;
|
|
1374
1404
|
}
|
|
1375
1405
|
if (localPts > pending.ptsBefore) {
|
|
@@ -118,6 +118,7 @@ export declare class UpdatesManager {
|
|
|
118
118
|
_fetchChannelDifferenceViaUpdate(channelId: number, pts?: number): void;
|
|
119
119
|
_fetchDifference(requestedDiff: Map<number, Promise<void>>): Promise<void>;
|
|
120
120
|
_fetchDifferenceLater(requestedDiff: Map<number, Promise<void>>): void;
|
|
121
|
+
private _consumeNoDispatch;
|
|
121
122
|
_onUpdate(pending: PendingUpdate, requestedDiff: Map<number, Promise<void>>, postponed?: boolean, unordered?: boolean): Promise<void>;
|
|
122
123
|
_loop(): Promise<void>;
|
|
123
124
|
}
|
|
@@ -118,6 +118,7 @@ export declare class UpdatesManager {
|
|
|
118
118
|
_fetchChannelDifferenceViaUpdate(channelId: number, pts?: number): void;
|
|
119
119
|
_fetchDifference(requestedDiff: Map<number, Promise<void>>): Promise<void>;
|
|
120
120
|
_fetchDifferenceLater(requestedDiff: Map<number, Promise<void>>): void;
|
|
121
|
+
private _consumeNoDispatch;
|
|
121
122
|
_onUpdate(pending: PendingUpdate, requestedDiff: Map<number, Promise<void>>, postponed?: boolean, unordered?: boolean): Promise<void>;
|
|
122
123
|
_loop(): Promise<void>;
|
|
123
124
|
}
|