@mtcute/core 0.30.3 → 0.31.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 +73 -0
- package/client.js +73 -0
- package/highlevel/client.d.cts +344 -114
- package/highlevel/client.d.ts +344 -114
- 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/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-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/edit-ephemeral-message.cjs +33 -0
- package/highlevel/methods/ephemeral/edit-ephemeral-message.d.cts +25 -0
- package/highlevel/methods/ephemeral/edit-ephemeral-message.d.ts +25 -0
- package/highlevel/methods/ephemeral/edit-ephemeral-message.js +28 -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/send-ephemeral-message.cjs +38 -0
- package/highlevel/methods/ephemeral/send-ephemeral-message.d.cts +29 -0
- package/highlevel/methods/ephemeral/send-ephemeral-message.d.ts +29 -0
- package/highlevel/methods/ephemeral/send-ephemeral-message.js +33 -0
- package/highlevel/methods/files/download-iterable.cjs +4 -2
- package/highlevel/methods/files/download-iterable.js +4 -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/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 +1 -1
- 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 +1 -1
- 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.d.cts +1 -1
- package/highlevel/methods/forums/toggle-forum-topic-closed.d.ts +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 +2 -2
- package/highlevel/methods/forums/toggle-general-topic-hidden.js +3 -3
- 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 -4
- package/highlevel/methods/messages/send-text.js +70 -4
- package/highlevel/methods/users/resolve-peer.cjs +11 -1
- package/highlevel/methods/users/resolve-peer.js +11 -1
- package/highlevel/methods.d.cts +16 -0
- package/highlevel/methods.d.ts +16 -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/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/ephemeral-message.cjs +103 -0
- package/highlevel/types/messages/ephemeral-message.d.cts +55 -0
- package/highlevel/types/messages/ephemeral-message.d.ts +55 -0
- package/highlevel/types/messages/ephemeral-message.js +98 -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 +6 -0
- package/highlevel/types/messages/message-action.d.cts +8 -1
- package/highlevel/types/messages/message-action.d.ts +8 -1
- package/highlevel/types/messages/message-action.js +6 -0
- 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/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 +20 -5
- package/highlevel/types/peers/full-chat.d.cts +5 -0
- package/highlevel/types/peers/full-chat.d.ts +5 -0
- package/highlevel/types/peers/full-chat.js +20 -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/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 +61 -0
- package/highlevel/types/updates/ephemeral-callback-query.d.cts +38 -0
- package/highlevel/types/updates/ephemeral-callback-query.d.ts +38 -0
- package/highlevel/types/updates/ephemeral-callback-query.js +56 -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/updates/manager.cjs +31 -13
- package/highlevel/updates/manager.d.cts +1 -0
- package/highlevel/updates/manager.d.ts +1 -0
- package/highlevel/updates/manager.js +31 -13
- 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 +4 -0
- package/highlevel/utils/walk-page-blocks.js +4 -0
- package/index.cjs +10 -0
- package/index.js +11 -1
- package/methods.cjs +27 -0
- package/methods.js +27 -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/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 +3 -0
- package/network/session-connection.js +3 -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 +90 -15
- package/tl/binary/reader.js +90 -15
- package/tl/binary/writer.cjs +385 -80
- package/tl/binary/writer.js +385 -80
- package/tl/compat/reader.cjs +11 -0
- package/tl/compat/reader.js +11 -0
- package/tl/index.d.cts +12380 -4272
- package/tl/index.d.ts +12380 -4272
- package/tl/inner-tl.cjs +70 -20
- package/tl/inner-tl.js +70 -20
- package/tl/raw-errors.json +1 -1
- 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 +14 -0
- package/utils/binary/compat.js +14 -0
- 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 +3 -0
- package/utils/links/bots.js +3 -0
- package/utils/peer-utils.cjs +8 -0
- package/utils/peer-utils.js +8 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ITelegramClient } from '../../client.types.js';
|
|
2
|
+
import { InputPeerLike } from '../../types/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Approve or decline a peer link request to a community
|
|
5
|
+
*/
|
|
6
|
+
export declare function hideCommunityLinkRequest(client: ITelegramClient, params: {
|
|
7
|
+
/** Community ID */
|
|
8
|
+
communityId: InputPeerLike;
|
|
9
|
+
/** Peer whose link request should be approved/declined */
|
|
10
|
+
peerId: InputPeerLike;
|
|
11
|
+
/** Whether to approve or decline the request */
|
|
12
|
+
action: 'approve' | 'decline';
|
|
13
|
+
}): Promise<void>;
|
|
14
|
+
/**
|
|
15
|
+
* Approve or decline all pending peer link requests to a community
|
|
16
|
+
*/
|
|
17
|
+
export declare function hideAllCommunityLinkRequests(client: ITelegramClient, params: {
|
|
18
|
+
/** Community ID */
|
|
19
|
+
communityId: InputPeerLike;
|
|
20
|
+
/** Whether to approve or decline the requests */
|
|
21
|
+
action: 'approve' | 'decline';
|
|
22
|
+
}): Promise<void>;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { assertTrue } from "../../../utils/type-assertions.js";
|
|
2
|
+
import { resolvePeer, resolveChannel } from "../users/resolve-peer.js";
|
|
3
|
+
async function hideCommunityLinkRequest(client, params) {
|
|
4
|
+
const { communityId, peerId, action } = params;
|
|
5
|
+
const r = await client.call({
|
|
6
|
+
_: "communities.togglePeerLinkRequestApproval",
|
|
7
|
+
community: await resolveChannel(client, communityId),
|
|
8
|
+
peer: await resolvePeer(client, peerId),
|
|
9
|
+
reject: action === "decline" || void 0
|
|
10
|
+
});
|
|
11
|
+
assertTrue("communities.togglePeerLinkRequestApproval", r);
|
|
12
|
+
}
|
|
13
|
+
async function hideAllCommunityLinkRequests(client, params) {
|
|
14
|
+
const { communityId, action } = params;
|
|
15
|
+
const r = await client.call({
|
|
16
|
+
_: "communities.toggleAllPeerLinkRequestApproval",
|
|
17
|
+
community: await resolveChannel(client, communityId),
|
|
18
|
+
reject: action === "decline" || void 0
|
|
19
|
+
});
|
|
20
|
+
assertTrue("communities.toggleAllPeerLinkRequestApproval", r);
|
|
21
|
+
}
|
|
22
|
+
export {
|
|
23
|
+
hideAllCommunityLinkRequests,
|
|
24
|
+
hideCommunityLinkRequest
|
|
25
|
+
};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
if (typeof globalThis !== "undefined" && !globalThis._MTCUTE_CJS_DEPRECATION_WARNED) {
|
|
2
|
+
globalThis._MTCUTE_CJS_DEPRECATION_WARNED = true;
|
|
3
|
+
console.warn("[@mtcute/core] CommonJS bundles are deprecated. They will be removed completely in one of the upcoming releases. No support is provided for CommonJS users. Please consider switching to ESM, it's " + (/* @__PURE__ */ new Date()).getFullYear() + " already.");
|
|
4
|
+
console.warn("[@mtcute/core] Learn more about switching to ESM: https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c");
|
|
5
|
+
}
|
|
6
|
+
"use strict";
|
|
7
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
8
|
+
const typeAssertions = require("../../../utils/type-assertions.cjs");
|
|
9
|
+
const resolvePeer = require("../users/resolve-peer.cjs");
|
|
10
|
+
async function linkCommunityPeer(client, params) {
|
|
11
|
+
const { communityId, peerId, hidden } = params;
|
|
12
|
+
const r = await client.call({
|
|
13
|
+
_: "communities.togglePeerLink",
|
|
14
|
+
community: await resolvePeer.resolveChannel(client, communityId),
|
|
15
|
+
peer: await resolvePeer.resolvePeer(client, peerId),
|
|
16
|
+
visible: !hidden || void 0,
|
|
17
|
+
hidden: hidden || void 0
|
|
18
|
+
});
|
|
19
|
+
typeAssertions.assertTrue("communities.togglePeerLink", r);
|
|
20
|
+
}
|
|
21
|
+
async function unlinkCommunityPeer(client, params) {
|
|
22
|
+
const { communityId, peerId } = params;
|
|
23
|
+
const r = await client.call({
|
|
24
|
+
_: "communities.togglePeerLink",
|
|
25
|
+
community: await resolvePeer.resolveChannel(client, communityId),
|
|
26
|
+
peer: await resolvePeer.resolvePeer(client, peerId),
|
|
27
|
+
deleted: true
|
|
28
|
+
});
|
|
29
|
+
typeAssertions.assertTrue("communities.togglePeerLink", r);
|
|
30
|
+
}
|
|
31
|
+
exports.linkCommunityPeer = linkCommunityPeer;
|
|
32
|
+
exports.unlinkCommunityPeer = unlinkCommunityPeer;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ITelegramClient } from '../../client.types.js';
|
|
2
|
+
import { InputPeerLike } from '../../types/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Link a chat to a community, or update the visibility of an existing link
|
|
5
|
+
*/
|
|
6
|
+
export declare function linkCommunityPeer(client: ITelegramClient, params: {
|
|
7
|
+
/** Community ID */
|
|
8
|
+
communityId: InputPeerLike;
|
|
9
|
+
/** Chat to link to the community */
|
|
10
|
+
peerId: InputPeerLike;
|
|
11
|
+
/** Whether the chat should be hidden in the community's peer list */
|
|
12
|
+
hidden?: boolean;
|
|
13
|
+
}): Promise<void>;
|
|
14
|
+
/**
|
|
15
|
+
* Unlink a chat from a community
|
|
16
|
+
*/
|
|
17
|
+
export declare function unlinkCommunityPeer(client: ITelegramClient, params: {
|
|
18
|
+
/** Community ID */
|
|
19
|
+
communityId: InputPeerLike;
|
|
20
|
+
/** Chat to unlink from the community */
|
|
21
|
+
peerId: InputPeerLike;
|
|
22
|
+
}): Promise<void>;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ITelegramClient } from '../../client.types.js';
|
|
2
|
+
import { InputPeerLike } from '../../types/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Link a chat to a community, or update the visibility of an existing link
|
|
5
|
+
*/
|
|
6
|
+
export declare function linkCommunityPeer(client: ITelegramClient, params: {
|
|
7
|
+
/** Community ID */
|
|
8
|
+
communityId: InputPeerLike;
|
|
9
|
+
/** Chat to link to the community */
|
|
10
|
+
peerId: InputPeerLike;
|
|
11
|
+
/** Whether the chat should be hidden in the community's peer list */
|
|
12
|
+
hidden?: boolean;
|
|
13
|
+
}): Promise<void>;
|
|
14
|
+
/**
|
|
15
|
+
* Unlink a chat from a community
|
|
16
|
+
*/
|
|
17
|
+
export declare function unlinkCommunityPeer(client: ITelegramClient, params: {
|
|
18
|
+
/** Community ID */
|
|
19
|
+
communityId: InputPeerLike;
|
|
20
|
+
/** Chat to unlink from the community */
|
|
21
|
+
peerId: InputPeerLike;
|
|
22
|
+
}): Promise<void>;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { assertTrue } from "../../../utils/type-assertions.js";
|
|
2
|
+
import { resolvePeer, resolveChannel } from "../users/resolve-peer.js";
|
|
3
|
+
async function linkCommunityPeer(client, params) {
|
|
4
|
+
const { communityId, peerId, hidden } = params;
|
|
5
|
+
const r = await client.call({
|
|
6
|
+
_: "communities.togglePeerLink",
|
|
7
|
+
community: await resolveChannel(client, communityId),
|
|
8
|
+
peer: await resolvePeer(client, peerId),
|
|
9
|
+
visible: !hidden || void 0,
|
|
10
|
+
hidden: hidden || void 0
|
|
11
|
+
});
|
|
12
|
+
assertTrue("communities.togglePeerLink", r);
|
|
13
|
+
}
|
|
14
|
+
async function unlinkCommunityPeer(client, params) {
|
|
15
|
+
const { communityId, peerId } = params;
|
|
16
|
+
const r = await client.call({
|
|
17
|
+
_: "communities.togglePeerLink",
|
|
18
|
+
community: await resolveChannel(client, communityId),
|
|
19
|
+
peer: await resolvePeer(client, peerId),
|
|
20
|
+
deleted: true
|
|
21
|
+
});
|
|
22
|
+
assertTrue("communities.togglePeerLink", r);
|
|
23
|
+
}
|
|
24
|
+
export {
|
|
25
|
+
linkCommunityPeer,
|
|
26
|
+
unlinkCommunityPeer
|
|
27
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
if (typeof globalThis !== "undefined" && !globalThis._MTCUTE_CJS_DEPRECATION_WARNED) {
|
|
2
|
+
globalThis._MTCUTE_CJS_DEPRECATION_WARNED = true;
|
|
3
|
+
console.warn("[@mtcute/core] CommonJS bundles are deprecated. They will be removed completely in one of the upcoming releases. No support is provided for CommonJS users. Please consider switching to ESM, it's " + (/* @__PURE__ */ new Date()).getFullYear() + " already.");
|
|
4
|
+
console.warn("[@mtcute/core] Learn more about switching to ESM: https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c");
|
|
5
|
+
}
|
|
6
|
+
"use strict";
|
|
7
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
8
|
+
const resolvePeer = require("../users/resolve-peer.cjs");
|
|
9
|
+
async function toggleCommunityCollapsed(client, params) {
|
|
10
|
+
const { communityId, collapsed, shouldDispatch } = params;
|
|
11
|
+
const res = await client.call({
|
|
12
|
+
_: "communities.toggleCommunityCollapsedInDialogs",
|
|
13
|
+
community: await resolvePeer.resolveChannel(client, communityId),
|
|
14
|
+
collapsed: collapsed || void 0
|
|
15
|
+
});
|
|
16
|
+
client.handleClientUpdate(res, !shouldDispatch);
|
|
17
|
+
}
|
|
18
|
+
exports.toggleCommunityCollapsed = toggleCommunityCollapsed;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ITelegramClient } from '../../client.types.js';
|
|
2
|
+
import { InputPeerLike } from '../../types/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Toggle whether a community is collapsed in the dialogs list
|
|
5
|
+
*/
|
|
6
|
+
export declare function toggleCommunityCollapsed(client: ITelegramClient, params: {
|
|
7
|
+
/** Community ID */
|
|
8
|
+
communityId: InputPeerLike;
|
|
9
|
+
/** Whether the community should be collapsed */
|
|
10
|
+
collapsed: boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Whether to dispatch the returned updates
|
|
13
|
+
* to the client's update handler.
|
|
14
|
+
*/
|
|
15
|
+
shouldDispatch?: true;
|
|
16
|
+
}): Promise<void>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ITelegramClient } from '../../client.types.js';
|
|
2
|
+
import { InputPeerLike } from '../../types/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Toggle whether a community is collapsed in the dialogs list
|
|
5
|
+
*/
|
|
6
|
+
export declare function toggleCommunityCollapsed(client: ITelegramClient, params: {
|
|
7
|
+
/** Community ID */
|
|
8
|
+
communityId: InputPeerLike;
|
|
9
|
+
/** Whether the community should be collapsed */
|
|
10
|
+
collapsed: boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Whether to dispatch the returned updates
|
|
13
|
+
* to the client's update handler.
|
|
14
|
+
*/
|
|
15
|
+
shouldDispatch?: true;
|
|
16
|
+
}): Promise<void>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { resolveChannel } from "../users/resolve-peer.js";
|
|
2
|
+
async function toggleCommunityCollapsed(client, params) {
|
|
3
|
+
const { communityId, collapsed, shouldDispatch } = params;
|
|
4
|
+
const res = await client.call({
|
|
5
|
+
_: "communities.toggleCommunityCollapsedInDialogs",
|
|
6
|
+
community: await resolveChannel(client, communityId),
|
|
7
|
+
collapsed: collapsed || void 0
|
|
8
|
+
});
|
|
9
|
+
client.handleClientUpdate(res, !shouldDispatch);
|
|
10
|
+
}
|
|
11
|
+
export {
|
|
12
|
+
toggleCommunityCollapsed
|
|
13
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
if (typeof globalThis !== "undefined" && !globalThis._MTCUTE_CJS_DEPRECATION_WARNED) {
|
|
2
|
+
globalThis._MTCUTE_CJS_DEPRECATION_WARNED = true;
|
|
3
|
+
console.warn("[@mtcute/core] CommonJS bundles are deprecated. They will be removed completely in one of the upcoming releases. No support is provided for CommonJS users. Please consider switching to ESM, it's " + (/* @__PURE__ */ new Date()).getFullYear() + " already.");
|
|
4
|
+
console.warn("[@mtcute/core] Learn more about switching to ESM: https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c");
|
|
5
|
+
}
|
|
6
|
+
"use strict";
|
|
7
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
8
|
+
const typeAssertions = require("../../../utils/type-assertions.cjs");
|
|
9
|
+
const resolvePeer = require("../users/resolve-peer.cjs");
|
|
10
|
+
async function deleteEphemeralMessage(client, params) {
|
|
11
|
+
const { chatId, receiverId, messageId } = params;
|
|
12
|
+
const r = await client.call({
|
|
13
|
+
_: "ephemeral.deleteMessage",
|
|
14
|
+
peer: await resolvePeer.resolvePeer(client, chatId),
|
|
15
|
+
receiverId: await resolvePeer.resolveUser(client, receiverId),
|
|
16
|
+
id: messageId
|
|
17
|
+
});
|
|
18
|
+
typeAssertions.assertTrue("ephemeral.deleteMessage", r);
|
|
19
|
+
}
|
|
20
|
+
exports.deleteEphemeralMessage = deleteEphemeralMessage;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ITelegramClient } from '../../client.types.js';
|
|
2
|
+
import { InputPeerLike } from '../../types/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Delete a previously sent ephemeral message
|
|
5
|
+
*/
|
|
6
|
+
export declare function deleteEphemeralMessage(client: ITelegramClient, params: {
|
|
7
|
+
/** Chat where the message was sent */
|
|
8
|
+
chatId: InputPeerLike;
|
|
9
|
+
/** User the message is visible to */
|
|
10
|
+
receiverId: InputPeerLike;
|
|
11
|
+
/** ID of the message to delete */
|
|
12
|
+
messageId: number;
|
|
13
|
+
}): Promise<void>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ITelegramClient } from '../../client.types.js';
|
|
2
|
+
import { InputPeerLike } from '../../types/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Delete a previously sent ephemeral message
|
|
5
|
+
*/
|
|
6
|
+
export declare function deleteEphemeralMessage(client: ITelegramClient, params: {
|
|
7
|
+
/** Chat where the message was sent */
|
|
8
|
+
chatId: InputPeerLike;
|
|
9
|
+
/** User the message is visible to */
|
|
10
|
+
receiverId: InputPeerLike;
|
|
11
|
+
/** ID of the message to delete */
|
|
12
|
+
messageId: number;
|
|
13
|
+
}): Promise<void>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { assertTrue } from "../../../utils/type-assertions.js";
|
|
2
|
+
import { resolveUser, resolvePeer } from "../users/resolve-peer.js";
|
|
3
|
+
async function deleteEphemeralMessage(client, params) {
|
|
4
|
+
const { chatId, receiverId, messageId } = params;
|
|
5
|
+
const r = await client.call({
|
|
6
|
+
_: "ephemeral.deleteMessage",
|
|
7
|
+
peer: await resolvePeer(client, chatId),
|
|
8
|
+
receiverId: await resolveUser(client, receiverId),
|
|
9
|
+
id: messageId
|
|
10
|
+
});
|
|
11
|
+
assertTrue("ephemeral.deleteMessage", r);
|
|
12
|
+
}
|
|
13
|
+
export {
|
|
14
|
+
deleteEphemeralMessage
|
|
15
|
+
};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
if (typeof globalThis !== "undefined" && !globalThis._MTCUTE_CJS_DEPRECATION_WARNED) {
|
|
2
|
+
globalThis._MTCUTE_CJS_DEPRECATION_WARNED = true;
|
|
3
|
+
console.warn("[@mtcute/core] CommonJS bundles are deprecated. They will be removed completely in one of the upcoming releases. No support is provided for CommonJS users. Please consider switching to ESM, it's " + (/* @__PURE__ */ new Date()).getFullYear() + " already.");
|
|
4
|
+
console.warn("[@mtcute/core] Learn more about switching to ESM: https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c");
|
|
5
|
+
}
|
|
6
|
+
"use strict";
|
|
7
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
8
|
+
const normalizeInputMedia = require("../files/normalize-input-media.cjs");
|
|
9
|
+
const normalizeText = require("../misc/normalize-text.cjs");
|
|
10
|
+
const resolvePeer = require("../users/resolve-peer.cjs");
|
|
11
|
+
const findInUpdate = require("./find-in-update.cjs");
|
|
12
|
+
const factories = require("../../types/bots/keyboards/factories.cjs");
|
|
13
|
+
async function editEphemeralMessage(client, params) {
|
|
14
|
+
const { chatId, receiverId, messageId, text, media, replyMarkup, shouldDispatch } = params;
|
|
15
|
+
let message;
|
|
16
|
+
let entities;
|
|
17
|
+
if (text !== void 0) {
|
|
18
|
+
[message, entities] = await normalizeText._normalizeInputText(client, text);
|
|
19
|
+
}
|
|
20
|
+
const peer = await resolvePeer.resolvePeer(client, chatId);
|
|
21
|
+
const res = await client.call({
|
|
22
|
+
_: "ephemeral.editMessage",
|
|
23
|
+
peer,
|
|
24
|
+
receiverId: await resolvePeer.resolveUser(client, receiverId),
|
|
25
|
+
id: messageId,
|
|
26
|
+
message,
|
|
27
|
+
entities,
|
|
28
|
+
media: media ? await normalizeInputMedia._normalizeInputMedia(client, media, { uploadPeer: peer }) : void 0,
|
|
29
|
+
replyMarkup: factories._convertToTl(replyMarkup)
|
|
30
|
+
});
|
|
31
|
+
return findInUpdate._findEphemeralMessageInUpdate(client, res, true, !shouldDispatch);
|
|
32
|
+
}
|
|
33
|
+
exports.editEphemeralMessage = editEphemeralMessage;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ITelegramClient } from '../../client.types.js';
|
|
2
|
+
import { ReplyMarkup } from '../../types/bots/keyboards/index.js';
|
|
3
|
+
import { EphemeralMessage, InputMediaLike, InputPeerLike, InputText } from '../../types/index.js';
|
|
4
|
+
/**
|
|
5
|
+
* Edit a previously sent ephemeral message
|
|
6
|
+
*/
|
|
7
|
+
export declare function editEphemeralMessage(client: ITelegramClient, params: {
|
|
8
|
+
/** Chat where the message was sent */
|
|
9
|
+
chatId: InputPeerLike;
|
|
10
|
+
/** User the message is visible to */
|
|
11
|
+
receiverId: InputPeerLike;
|
|
12
|
+
/** ID of the message to edit */
|
|
13
|
+
messageId: number;
|
|
14
|
+
/** New text of the message */
|
|
15
|
+
text?: InputText;
|
|
16
|
+
/** New media of the message */
|
|
17
|
+
media?: InputMediaLike;
|
|
18
|
+
/** New reply markup of the message */
|
|
19
|
+
replyMarkup?: ReplyMarkup;
|
|
20
|
+
/**
|
|
21
|
+
* Whether to dispatch the returned updates
|
|
22
|
+
* to the client's update handler.
|
|
23
|
+
*/
|
|
24
|
+
shouldDispatch?: true;
|
|
25
|
+
}): Promise<EphemeralMessage>;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ITelegramClient } from '../../client.types.js';
|
|
2
|
+
import { ReplyMarkup } from '../../types/bots/keyboards/index.js';
|
|
3
|
+
import { EphemeralMessage, InputMediaLike, InputPeerLike, InputText } from '../../types/index.js';
|
|
4
|
+
/**
|
|
5
|
+
* Edit a previously sent ephemeral message
|
|
6
|
+
*/
|
|
7
|
+
export declare function editEphemeralMessage(client: ITelegramClient, params: {
|
|
8
|
+
/** Chat where the message was sent */
|
|
9
|
+
chatId: InputPeerLike;
|
|
10
|
+
/** User the message is visible to */
|
|
11
|
+
receiverId: InputPeerLike;
|
|
12
|
+
/** ID of the message to edit */
|
|
13
|
+
messageId: number;
|
|
14
|
+
/** New text of the message */
|
|
15
|
+
text?: InputText;
|
|
16
|
+
/** New media of the message */
|
|
17
|
+
media?: InputMediaLike;
|
|
18
|
+
/** New reply markup of the message */
|
|
19
|
+
replyMarkup?: ReplyMarkup;
|
|
20
|
+
/**
|
|
21
|
+
* Whether to dispatch the returned updates
|
|
22
|
+
* to the client's update handler.
|
|
23
|
+
*/
|
|
24
|
+
shouldDispatch?: true;
|
|
25
|
+
}): Promise<EphemeralMessage>;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { _normalizeInputMedia } from "../files/normalize-input-media.js";
|
|
2
|
+
import { _normalizeInputText } from "../misc/normalize-text.js";
|
|
3
|
+
import { resolvePeer, resolveUser } from "../users/resolve-peer.js";
|
|
4
|
+
import { _findEphemeralMessageInUpdate } from "./find-in-update.js";
|
|
5
|
+
import { _convertToTl } from "../../types/bots/keyboards/factories.js";
|
|
6
|
+
async function editEphemeralMessage(client, params) {
|
|
7
|
+
const { chatId, receiverId, messageId, text, media, replyMarkup, shouldDispatch } = params;
|
|
8
|
+
let message;
|
|
9
|
+
let entities;
|
|
10
|
+
if (text !== void 0) {
|
|
11
|
+
[message, entities] = await _normalizeInputText(client, text);
|
|
12
|
+
}
|
|
13
|
+
const peer = await resolvePeer(client, chatId);
|
|
14
|
+
const res = await client.call({
|
|
15
|
+
_: "ephemeral.editMessage",
|
|
16
|
+
peer,
|
|
17
|
+
receiverId: await resolveUser(client, receiverId),
|
|
18
|
+
id: messageId,
|
|
19
|
+
message,
|
|
20
|
+
entities,
|
|
21
|
+
media: media ? await _normalizeInputMedia(client, media, { uploadPeer: peer }) : void 0,
|
|
22
|
+
replyMarkup: _convertToTl(replyMarkup)
|
|
23
|
+
});
|
|
24
|
+
return _findEphemeralMessageInUpdate(client, res, true, !shouldDispatch);
|
|
25
|
+
}
|
|
26
|
+
export {
|
|
27
|
+
editEphemeralMessage
|
|
28
|
+
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
if (typeof globalThis !== "undefined" && !globalThis._MTCUTE_CJS_DEPRECATION_WARNED) {
|
|
2
|
+
globalThis._MTCUTE_CJS_DEPRECATION_WARNED = true;
|
|
3
|
+
console.warn("[@mtcute/core] CommonJS bundles are deprecated. They will be removed completely in one of the upcoming releases. No support is provided for CommonJS users. Please consider switching to ESM, it's " + (/* @__PURE__ */ new Date()).getFullYear() + " already.");
|
|
4
|
+
console.warn("[@mtcute/core] Learn more about switching to ESM: https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c");
|
|
5
|
+
}
|
|
6
|
+
"use strict";
|
|
7
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
8
|
+
const errors = require("../../../types/errors.cjs");
|
|
9
|
+
const utils = require("../../updates/utils.cjs");
|
|
10
|
+
const ephemeralMessage = require("../../types/messages/ephemeral-message.cjs");
|
|
11
|
+
const peersIndex = require("../../types/peers/peers-index.cjs");
|
|
12
|
+
function _findEphemeralMessageInUpdate(client, res, isEdit = false, noDispatch = true) {
|
|
13
|
+
utils.assertIsUpdatesGroup("_findEphemeralMessageInUpdate", res);
|
|
14
|
+
client.handleClientUpdate(res, noDispatch);
|
|
15
|
+
for (const u of res.updates) {
|
|
16
|
+
if (u._ !== "updateNewEphemeralMessage" && u._ !== "updateEditEphemeralMessage") continue;
|
|
17
|
+
if (isEdit !== (u._ === "updateEditEphemeralMessage")) continue;
|
|
18
|
+
const peers = peersIndex.PeersIndex.from(res);
|
|
19
|
+
return new ephemeralMessage.EphemeralMessage(u.message, peers);
|
|
20
|
+
}
|
|
21
|
+
throw new errors.MtTypeAssertionError(
|
|
22
|
+
"_findEphemeralMessageInUpdate (@ .updates[*])",
|
|
23
|
+
"updateNewEphemeralMessage | updateEditEphemeralMessage",
|
|
24
|
+
"none"
|
|
25
|
+
);
|
|
26
|
+
}
|
|
27
|
+
exports._findEphemeralMessageInUpdate = _findEphemeralMessageInUpdate;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { tl } from '../../../tl/index.js';
|
|
2
|
+
import { ITelegramClient } from '../../client.types.js';
|
|
3
|
+
import { EphemeralMessage } from '../../types/index.js';
|
|
4
|
+
/**
|
|
5
|
+
* @internal
|
|
6
|
+
* @noemit
|
|
7
|
+
*/
|
|
8
|
+
export declare function _findEphemeralMessageInUpdate(client: ITelegramClient, res: tl.TypeUpdates, isEdit?: boolean, noDispatch?: boolean): EphemeralMessage;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { tl } from '../../../tl/index.js';
|
|
2
|
+
import { ITelegramClient } from '../../client.types.js';
|
|
3
|
+
import { EphemeralMessage } from '../../types/index.js';
|
|
4
|
+
/**
|
|
5
|
+
* @internal
|
|
6
|
+
* @noemit
|
|
7
|
+
*/
|
|
8
|
+
export declare function _findEphemeralMessageInUpdate(client: ITelegramClient, res: tl.TypeUpdates, isEdit?: boolean, noDispatch?: boolean): EphemeralMessage;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { MtTypeAssertionError } from "../../../types/errors.js";
|
|
2
|
+
import { assertIsUpdatesGroup } from "../../updates/utils.js";
|
|
3
|
+
import { EphemeralMessage as EphemeralMessage$2 } from "../../types/messages/ephemeral-message.js";
|
|
4
|
+
import { PeersIndex } from "../../types/peers/peers-index.js";
|
|
5
|
+
function _findEphemeralMessageInUpdate(client, res, isEdit = false, noDispatch = true) {
|
|
6
|
+
assertIsUpdatesGroup("_findEphemeralMessageInUpdate", res);
|
|
7
|
+
client.handleClientUpdate(res, noDispatch);
|
|
8
|
+
for (const u of res.updates) {
|
|
9
|
+
if (u._ !== "updateNewEphemeralMessage" && u._ !== "updateEditEphemeralMessage") continue;
|
|
10
|
+
if (isEdit !== (u._ === "updateEditEphemeralMessage")) continue;
|
|
11
|
+
const peers = PeersIndex.from(res);
|
|
12
|
+
return new EphemeralMessage$2(u.message, peers);
|
|
13
|
+
}
|
|
14
|
+
throw new MtTypeAssertionError(
|
|
15
|
+
"_findEphemeralMessageInUpdate (@ .updates[*])",
|
|
16
|
+
"updateNewEphemeralMessage | updateEditEphemeralMessage",
|
|
17
|
+
"none"
|
|
18
|
+
);
|
|
19
|
+
}
|
|
20
|
+
export {
|
|
21
|
+
_findEphemeralMessageInUpdate
|
|
22
|
+
};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
if (typeof globalThis !== "undefined" && !globalThis._MTCUTE_CJS_DEPRECATION_WARNED) {
|
|
2
|
+
globalThis._MTCUTE_CJS_DEPRECATION_WARNED = true;
|
|
3
|
+
console.warn("[@mtcute/core] CommonJS bundles are deprecated. They will be removed completely in one of the upcoming releases. No support is provided for CommonJS users. Please consider switching to ESM, it's " + (/* @__PURE__ */ new Date()).getFullYear() + " already.");
|
|
4
|
+
console.warn("[@mtcute/core] Learn more about switching to ESM: https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c");
|
|
5
|
+
}
|
|
6
|
+
"use strict";
|
|
7
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
8
|
+
const utils = require("@fuman/utils");
|
|
9
|
+
const resolvePeer = require("../users/resolve-peer.cjs");
|
|
10
|
+
async function getEphemeralCallbackAnswer(client, params) {
|
|
11
|
+
const { chatId, messageId, data, timeout = 1e4, fireAndForget } = params;
|
|
12
|
+
const promise = client.call(
|
|
13
|
+
{
|
|
14
|
+
_: "ephemeral.getCallbackAnswer",
|
|
15
|
+
peer: await resolvePeer.resolvePeer(client, chatId),
|
|
16
|
+
id: messageId,
|
|
17
|
+
data: typeof data === "string" ? utils.utf8.encoder.encode(data) : data
|
|
18
|
+
},
|
|
19
|
+
{ timeout, throw503: true }
|
|
20
|
+
);
|
|
21
|
+
if (fireAndForget) {
|
|
22
|
+
promise.catch(() => {
|
|
23
|
+
});
|
|
24
|
+
return {
|
|
25
|
+
_: "messages.botCallbackAnswer",
|
|
26
|
+
cacheTime: 0
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
return promise;
|
|
30
|
+
}
|
|
31
|
+
exports.getEphemeralCallbackAnswer = getEphemeralCallbackAnswer;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { tl } from '../../../tl/index.js';
|
|
2
|
+
import { ITelegramClient } from '../../client.types.js';
|
|
3
|
+
import { InputPeerLike } from '../../types/index.js';
|
|
4
|
+
/**
|
|
5
|
+
* Request a callback answer from a bot for an ephemeral message,
|
|
6
|
+
* i.e. click an inline button that contains data.
|
|
7
|
+
*/
|
|
8
|
+
export declare function getEphemeralCallbackAnswer(client: ITelegramClient, params: {
|
|
9
|
+
/** Chat where the ephemeral message was sent */
|
|
10
|
+
chatId: InputPeerLike;
|
|
11
|
+
/** ID of the ephemeral message containing the button */
|
|
12
|
+
messageId: number;
|
|
13
|
+
/** Data contained in the button */
|
|
14
|
+
data?: string | Uint8Array;
|
|
15
|
+
/**
|
|
16
|
+
* Timeout for the query in ms.
|
|
17
|
+
*
|
|
18
|
+
* @default `10000` (10 sec)
|
|
19
|
+
*/
|
|
20
|
+
timeout?: number;
|
|
21
|
+
/**
|
|
22
|
+
* Whether to "fire and forget" this request,
|
|
23
|
+
* in which case the promise will resolve as soon
|
|
24
|
+
* as the request is sent with an empty response.
|
|
25
|
+
*
|
|
26
|
+
* **Note**: any errors will be silently ignored.
|
|
27
|
+
*/
|
|
28
|
+
fireAndForget?: boolean;
|
|
29
|
+
}): Promise<tl.messages.TypeBotCallbackAnswer>;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { tl } from '../../../tl/index.js';
|
|
2
|
+
import { ITelegramClient } from '../../client.types.js';
|
|
3
|
+
import { InputPeerLike } from '../../types/index.js';
|
|
4
|
+
/**
|
|
5
|
+
* Request a callback answer from a bot for an ephemeral message,
|
|
6
|
+
* i.e. click an inline button that contains data.
|
|
7
|
+
*/
|
|
8
|
+
export declare function getEphemeralCallbackAnswer(client: ITelegramClient, params: {
|
|
9
|
+
/** Chat where the ephemeral message was sent */
|
|
10
|
+
chatId: InputPeerLike;
|
|
11
|
+
/** ID of the ephemeral message containing the button */
|
|
12
|
+
messageId: number;
|
|
13
|
+
/** Data contained in the button */
|
|
14
|
+
data?: string | Uint8Array;
|
|
15
|
+
/**
|
|
16
|
+
* Timeout for the query in ms.
|
|
17
|
+
*
|
|
18
|
+
* @default `10000` (10 sec)
|
|
19
|
+
*/
|
|
20
|
+
timeout?: number;
|
|
21
|
+
/**
|
|
22
|
+
* Whether to "fire and forget" this request,
|
|
23
|
+
* in which case the promise will resolve as soon
|
|
24
|
+
* as the request is sent with an empty response.
|
|
25
|
+
*
|
|
26
|
+
* **Note**: any errors will be silently ignored.
|
|
27
|
+
*/
|
|
28
|
+
fireAndForget?: boolean;
|
|
29
|
+
}): Promise<tl.messages.TypeBotCallbackAnswer>;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { utf8 } from "@fuman/utils";
|
|
2
|
+
import { resolvePeer } from "../users/resolve-peer.js";
|
|
3
|
+
async function getEphemeralCallbackAnswer(client, params) {
|
|
4
|
+
const { chatId, messageId, data, timeout = 1e4, fireAndForget } = params;
|
|
5
|
+
const promise = client.call(
|
|
6
|
+
{
|
|
7
|
+
_: "ephemeral.getCallbackAnswer",
|
|
8
|
+
peer: await resolvePeer(client, chatId),
|
|
9
|
+
id: messageId,
|
|
10
|
+
data: typeof data === "string" ? utf8.encoder.encode(data) : data
|
|
11
|
+
},
|
|
12
|
+
{ timeout, throw503: true }
|
|
13
|
+
);
|
|
14
|
+
if (fireAndForget) {
|
|
15
|
+
promise.catch(() => {
|
|
16
|
+
});
|
|
17
|
+
return {
|
|
18
|
+
_: "messages.botCallbackAnswer",
|
|
19
|
+
cacheTime: 0
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
return promise;
|
|
23
|
+
}
|
|
24
|
+
export {
|
|
25
|
+
getEphemeralCallbackAnswer
|
|
26
|
+
};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
if (typeof globalThis !== "undefined" && !globalThis._MTCUTE_CJS_DEPRECATION_WARNED) {
|
|
2
|
+
globalThis._MTCUTE_CJS_DEPRECATION_WARNED = true;
|
|
3
|
+
console.warn("[@mtcute/core] CommonJS bundles are deprecated. They will be removed completely in one of the upcoming releases. No support is provided for CommonJS users. Please consider switching to ESM, it's " + (/* @__PURE__ */ new Date()).getFullYear() + " already.");
|
|
4
|
+
console.warn("[@mtcute/core] Learn more about switching to ESM: https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c");
|
|
5
|
+
}
|
|
6
|
+
"use strict";
|
|
7
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
8
|
+
const longUtils = require("../../../utils/long-utils.cjs");
|
|
9
|
+
const normalizeInputMedia = require("../files/normalize-input-media.cjs");
|
|
10
|
+
const normalizeText = require("../misc/normalize-text.cjs");
|
|
11
|
+
const resolvePeer = require("../users/resolve-peer.cjs");
|
|
12
|
+
const findInUpdate = require("./find-in-update.cjs");
|
|
13
|
+
const factories = require("../../types/bots/keyboards/factories.cjs");
|
|
14
|
+
async function sendEphemeralMessage(client, chatId, receiverId, text, params) {
|
|
15
|
+
const { media, replyTo, replyToEphemeral, queryId, shouldDispatch } = params ?? {};
|
|
16
|
+
const [message, entities] = await normalizeText._normalizeInputText(client, text);
|
|
17
|
+
const peer = await resolvePeer.resolvePeer(client, chatId);
|
|
18
|
+
let replyToTl;
|
|
19
|
+
if (replyTo !== void 0) {
|
|
20
|
+
replyToTl = { _: "inputReplyToMessage", replyToMsgId: replyTo };
|
|
21
|
+
} else if (replyToEphemeral !== void 0) {
|
|
22
|
+
replyToTl = { _: "inputReplyToEphemeralMessage", id: replyToEphemeral };
|
|
23
|
+
}
|
|
24
|
+
const res = await client.call({
|
|
25
|
+
_: "ephemeral.sendMessage",
|
|
26
|
+
peer,
|
|
27
|
+
receiverId: await resolvePeer.resolveUser(client, receiverId),
|
|
28
|
+
queryId,
|
|
29
|
+
message,
|
|
30
|
+
entities,
|
|
31
|
+
media: media ? await normalizeInputMedia._normalizeInputMedia(client, media, { uploadPeer: peer }) : void 0,
|
|
32
|
+
replyMarkup: factories._convertToTl(params?.replyMarkup),
|
|
33
|
+
randomId: longUtils.randomLong(),
|
|
34
|
+
replyTo: replyToTl
|
|
35
|
+
});
|
|
36
|
+
return findInUpdate._findEphemeralMessageInUpdate(client, res, false, !shouldDispatch);
|
|
37
|
+
}
|
|
38
|
+
exports.sendEphemeralMessage = sendEphemeralMessage;
|