@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.
Files changed (233) hide show
  1. package/client.cjs +73 -0
  2. package/client.js +73 -0
  3. package/highlevel/client.d.cts +344 -114
  4. package/highlevel/client.d.ts +344 -114
  5. package/highlevel/methods/auth/sign-in-qr.cjs +2 -0
  6. package/highlevel/methods/auth/sign-in-qr.js +2 -0
  7. package/highlevel/methods/auth/sign-in-qr.test.d.cts +1 -0
  8. package/highlevel/methods/auth/sign-in-qr.test.d.ts +1 -0
  9. package/highlevel/methods/chats/join-chat.cjs +1 -1
  10. package/highlevel/methods/chats/join-chat.d.cts +2 -1
  11. package/highlevel/methods/chats/join-chat.d.ts +2 -1
  12. package/highlevel/methods/chats/join-chat.js +1 -1
  13. package/highlevel/methods/chats/transfer-chat-ownership.cjs +6 -17
  14. package/highlevel/methods/chats/transfer-chat-ownership.js +6 -17
  15. package/highlevel/methods/communities/ban-community-participant.cjs +30 -0
  16. package/highlevel/methods/communities/ban-community-participant.d.cts +20 -0
  17. package/highlevel/methods/communities/ban-community-participant.d.ts +20 -0
  18. package/highlevel/methods/communities/ban-community-participant.js +25 -0
  19. package/highlevel/methods/communities/create-community.cjs +29 -0
  20. package/highlevel/methods/communities/create-community.d.cts +22 -0
  21. package/highlevel/methods/communities/create-community.d.ts +22 -0
  22. package/highlevel/methods/communities/create-community.js +24 -0
  23. package/highlevel/methods/communities/get-community-link-requests.cjs +27 -0
  24. package/highlevel/methods/communities/get-community-link-requests.d.cts +17 -0
  25. package/highlevel/methods/communities/get-community-link-requests.d.ts +17 -0
  26. package/highlevel/methods/communities/get-community-link-requests.js +22 -0
  27. package/highlevel/methods/communities/get-community-participant-chats.cjs +24 -0
  28. package/highlevel/methods/communities/get-community-participant-chats.d.cts +17 -0
  29. package/highlevel/methods/communities/get-community-participant-chats.d.ts +17 -0
  30. package/highlevel/methods/communities/get-community-participant-chats.js +19 -0
  31. package/highlevel/methods/communities/get-joined-communities.cjs +21 -0
  32. package/highlevel/methods/communities/get-joined-communities.d.cts +6 -0
  33. package/highlevel/methods/communities/get-joined-communities.d.ts +6 -0
  34. package/highlevel/methods/communities/get-joined-communities.js +16 -0
  35. package/highlevel/methods/communities/hide-community-link-request.cjs +30 -0
  36. package/highlevel/methods/communities/hide-community-link-request.d.cts +22 -0
  37. package/highlevel/methods/communities/hide-community-link-request.d.ts +22 -0
  38. package/highlevel/methods/communities/hide-community-link-request.js +25 -0
  39. package/highlevel/methods/communities/link-community-peer.cjs +32 -0
  40. package/highlevel/methods/communities/link-community-peer.d.cts +22 -0
  41. package/highlevel/methods/communities/link-community-peer.d.ts +22 -0
  42. package/highlevel/methods/communities/link-community-peer.js +27 -0
  43. package/highlevel/methods/communities/toggle-community-collapsed.cjs +18 -0
  44. package/highlevel/methods/communities/toggle-community-collapsed.d.cts +16 -0
  45. package/highlevel/methods/communities/toggle-community-collapsed.d.ts +16 -0
  46. package/highlevel/methods/communities/toggle-community-collapsed.js +13 -0
  47. package/highlevel/methods/ephemeral/delete-ephemeral-message.cjs +20 -0
  48. package/highlevel/methods/ephemeral/delete-ephemeral-message.d.cts +13 -0
  49. package/highlevel/methods/ephemeral/delete-ephemeral-message.d.ts +13 -0
  50. package/highlevel/methods/ephemeral/delete-ephemeral-message.js +15 -0
  51. package/highlevel/methods/ephemeral/edit-ephemeral-message.cjs +33 -0
  52. package/highlevel/methods/ephemeral/edit-ephemeral-message.d.cts +25 -0
  53. package/highlevel/methods/ephemeral/edit-ephemeral-message.d.ts +25 -0
  54. package/highlevel/methods/ephemeral/edit-ephemeral-message.js +28 -0
  55. package/highlevel/methods/ephemeral/find-in-update.cjs +27 -0
  56. package/highlevel/methods/ephemeral/find-in-update.d.cts +8 -0
  57. package/highlevel/methods/ephemeral/find-in-update.d.ts +8 -0
  58. package/highlevel/methods/ephemeral/find-in-update.js +22 -0
  59. package/highlevel/methods/ephemeral/get-ephemeral-callback-answer.cjs +31 -0
  60. package/highlevel/methods/ephemeral/get-ephemeral-callback-answer.d.cts +29 -0
  61. package/highlevel/methods/ephemeral/get-ephemeral-callback-answer.d.ts +29 -0
  62. package/highlevel/methods/ephemeral/get-ephemeral-callback-answer.js +26 -0
  63. package/highlevel/methods/ephemeral/send-ephemeral-message.cjs +38 -0
  64. package/highlevel/methods/ephemeral/send-ephemeral-message.d.cts +29 -0
  65. package/highlevel/methods/ephemeral/send-ephemeral-message.d.ts +29 -0
  66. package/highlevel/methods/ephemeral/send-ephemeral-message.js +33 -0
  67. package/highlevel/methods/files/download-iterable.cjs +4 -2
  68. package/highlevel/methods/files/download-iterable.js +4 -2
  69. package/highlevel/methods/files/download-iterable.test.d.cts +1 -0
  70. package/highlevel/methods/files/download-iterable.test.d.ts +1 -0
  71. package/highlevel/methods/files/download-stream.cjs +5 -6
  72. package/highlevel/methods/files/download-stream.js +5 -6
  73. package/highlevel/methods/forums/create-forum-topic.d.cts +7 -0
  74. package/highlevel/methods/forums/create-forum-topic.d.ts +7 -0
  75. package/highlevel/methods/forums/delete-forum-topic-history.d.cts +1 -1
  76. package/highlevel/methods/forums/delete-forum-topic-history.d.ts +1 -1
  77. package/highlevel/methods/forums/edit-forum-topic.cjs +1 -1
  78. package/highlevel/methods/forums/edit-forum-topic.d.cts +2 -2
  79. package/highlevel/methods/forums/edit-forum-topic.d.ts +2 -2
  80. package/highlevel/methods/forums/edit-forum-topic.js +1 -1
  81. package/highlevel/methods/forums/get-forum-topics-by-id.cjs +5 -1
  82. package/highlevel/methods/forums/get-forum-topics-by-id.d.cts +9 -1
  83. package/highlevel/methods/forums/get-forum-topics-by-id.d.ts +9 -1
  84. package/highlevel/methods/forums/get-forum-topics-by-id.js +5 -1
  85. package/highlevel/methods/forums/get-forum-topics-by-id.test.d.cts +1 -0
  86. package/highlevel/methods/forums/get-forum-topics-by-id.test.d.ts +1 -0
  87. package/highlevel/methods/forums/get-forum-topics.cjs +1 -1
  88. package/highlevel/methods/forums/get-forum-topics.js +1 -1
  89. package/highlevel/methods/forums/toggle-forum-topic-closed.d.cts +1 -1
  90. package/highlevel/methods/forums/toggle-forum-topic-closed.d.ts +1 -1
  91. package/highlevel/methods/forums/toggle-forum-topic-pinned.d.cts +1 -1
  92. package/highlevel/methods/forums/toggle-forum-topic-pinned.d.ts +1 -1
  93. package/highlevel/methods/forums/toggle-general-topic-hidden.cjs +2 -2
  94. package/highlevel/methods/forums/toggle-general-topic-hidden.js +3 -3
  95. package/highlevel/methods/messages/send-common.d.cts +7 -1
  96. package/highlevel/methods/messages/send-common.d.ts +7 -1
  97. package/highlevel/methods/messages/send-text.cjs +70 -4
  98. package/highlevel/methods/messages/send-text.js +70 -4
  99. package/highlevel/methods/users/resolve-peer.cjs +11 -1
  100. package/highlevel/methods/users/resolve-peer.js +11 -1
  101. package/highlevel/methods.d.cts +16 -0
  102. package/highlevel/methods.d.ts +16 -0
  103. package/highlevel/storage/service/peers.cjs +25 -0
  104. package/highlevel/storage/service/peers.js +25 -0
  105. package/highlevel/storage/service/peers.test.d.cts +1 -0
  106. package/highlevel/storage/service/peers.test.d.ts +1 -0
  107. package/highlevel/types/conversation.cjs +8 -0
  108. package/highlevel/types/conversation.d.cts +1 -0
  109. package/highlevel/types/conversation.d.ts +1 -0
  110. package/highlevel/types/conversation.js +10 -2
  111. package/highlevel/types/conversation.test.d.cts +1 -0
  112. package/highlevel/types/conversation.test.d.ts +1 -0
  113. package/highlevel/types/messages/ephemeral-message.cjs +103 -0
  114. package/highlevel/types/messages/ephemeral-message.d.cts +55 -0
  115. package/highlevel/types/messages/ephemeral-message.d.ts +55 -0
  116. package/highlevel/types/messages/ephemeral-message.js +98 -0
  117. package/highlevel/types/messages/index.d.cts +1 -0
  118. package/highlevel/types/messages/index.d.ts +1 -0
  119. package/highlevel/types/messages/message-action.cjs +6 -0
  120. package/highlevel/types/messages/message-action.d.cts +8 -1
  121. package/highlevel/types/messages/message-action.d.ts +8 -1
  122. package/highlevel/types/messages/message-action.js +6 -0
  123. package/highlevel/types/messages/replied-message.cjs +5 -1
  124. package/highlevel/types/messages/replied-message.d.cts +5 -1
  125. package/highlevel/types/messages/replied-message.d.ts +5 -1
  126. package/highlevel/types/messages/replied-message.js +5 -1
  127. package/highlevel/types/peers/chat.cjs +23 -3
  128. package/highlevel/types/peers/chat.d.cts +8 -3
  129. package/highlevel/types/peers/chat.d.ts +8 -3
  130. package/highlevel/types/peers/chat.js +24 -4
  131. package/highlevel/types/peers/community-peer.cjs +60 -0
  132. package/highlevel/types/peers/community-peer.d.cts +37 -0
  133. package/highlevel/types/peers/community-peer.d.ts +37 -0
  134. package/highlevel/types/peers/community-peer.js +55 -0
  135. package/highlevel/types/peers/full-chat.cjs +20 -5
  136. package/highlevel/types/peers/full-chat.d.cts +5 -0
  137. package/highlevel/types/peers/full-chat.d.ts +5 -0
  138. package/highlevel/types/peers/full-chat.js +20 -5
  139. package/highlevel/types/peers/index.d.cts +1 -0
  140. package/highlevel/types/peers/index.d.ts +1 -0
  141. package/highlevel/types/peers/peer.cjs +2 -0
  142. package/highlevel/types/peers/peer.js +2 -0
  143. package/highlevel/types/peers/user.cjs +6 -0
  144. package/highlevel/types/peers/user.d.cts +2 -0
  145. package/highlevel/types/peers/user.d.ts +2 -0
  146. package/highlevel/types/peers/user.js +6 -0
  147. package/highlevel/types/updates/delete-ephemeral-messages-update.cjs +27 -0
  148. package/highlevel/types/updates/delete-ephemeral-messages-update.d.cts +15 -0
  149. package/highlevel/types/updates/delete-ephemeral-messages-update.d.ts +15 -0
  150. package/highlevel/types/updates/delete-ephemeral-messages-update.js +22 -0
  151. package/highlevel/types/updates/ephemeral-callback-query.cjs +61 -0
  152. package/highlevel/types/updates/ephemeral-callback-query.d.cts +38 -0
  153. package/highlevel/types/updates/ephemeral-callback-query.d.ts +38 -0
  154. package/highlevel/types/updates/ephemeral-callback-query.js +56 -0
  155. package/highlevel/types/updates/index.d.cts +16 -2
  156. package/highlevel/types/updates/index.d.ts +16 -2
  157. package/highlevel/types/updates/parse-update.cjs +12 -1
  158. package/highlevel/types/updates/parse-update.js +12 -1
  159. package/highlevel/updates/manager.cjs +31 -13
  160. package/highlevel/updates/manager.d.cts +1 -0
  161. package/highlevel/updates/manager.d.ts +1 -0
  162. package/highlevel/updates/manager.js +31 -13
  163. package/highlevel/updates/manager.test.d.cts +1 -0
  164. package/highlevel/updates/manager.test.d.ts +1 -0
  165. package/highlevel/utils/stream-utils.cjs +8 -4
  166. package/highlevel/utils/stream-utils.js +8 -4
  167. package/highlevel/utils/stream-utils.test.d.cts +1 -0
  168. package/highlevel/utils/stream-utils.test.d.ts +1 -0
  169. package/highlevel/utils/walk-page-blocks.cjs +4 -0
  170. package/highlevel/utils/walk-page-blocks.js +4 -0
  171. package/index.cjs +10 -0
  172. package/index.js +11 -1
  173. package/methods.cjs +27 -0
  174. package/methods.js +27 -0
  175. package/network/client.cjs +4 -3
  176. package/network/client.d.cts +1 -0
  177. package/network/client.d.ts +1 -0
  178. package/network/client.js +4 -3
  179. package/network/middlewares/flood-waiter.cjs +2 -2
  180. package/network/middlewares/flood-waiter.js +2 -2
  181. package/network/middlewares/internal-errors.cjs +1 -1
  182. package/network/middlewares/internal-errors.js +1 -1
  183. package/network/middlewares/media-throttle.cjs +1 -1
  184. package/network/middlewares/media-throttle.js +1 -1
  185. package/network/mtproxy/index.cjs +4 -3
  186. package/network/mtproxy/index.d.cts +2 -2
  187. package/network/mtproxy/index.d.ts +2 -2
  188. package/network/mtproxy/index.js +4 -3
  189. package/network/network-manager.cjs +44 -16
  190. package/network/network-manager.d.cts +10 -3
  191. package/network/network-manager.d.ts +10 -3
  192. package/network/network-manager.js +45 -17
  193. package/network/network-manager.test.d.cts +1 -0
  194. package/network/network-manager.test.d.ts +1 -0
  195. package/network/persistent-connection.cjs +10 -2
  196. package/network/persistent-connection.js +10 -2
  197. package/network/session-connection.cjs +3 -0
  198. package/network/session-connection.js +3 -0
  199. package/network/transports/abstract.cjs +16 -0
  200. package/network/transports/abstract.d.cts +8 -2
  201. package/network/transports/abstract.d.ts +8 -2
  202. package/network/transports/abstract.js +17 -1
  203. package/network/transports/obfuscated.cjs +3 -1
  204. package/network/transports/obfuscated.js +3 -1
  205. package/package.json +6 -6
  206. package/tl/api-schema.json +1 -1
  207. package/tl/binary/reader.cjs +90 -15
  208. package/tl/binary/reader.js +90 -15
  209. package/tl/binary/writer.cjs +385 -80
  210. package/tl/binary/writer.js +385 -80
  211. package/tl/compat/reader.cjs +11 -0
  212. package/tl/compat/reader.js +11 -0
  213. package/tl/index.d.cts +12380 -4272
  214. package/tl/index.d.ts +12380 -4272
  215. package/tl/inner-tl.cjs +70 -20
  216. package/tl/inner-tl.js +70 -20
  217. package/tl/raw-errors.json +1 -1
  218. package/utils/abort-signal.cjs +1 -12
  219. package/utils/abort-signal.js +1 -12
  220. package/utils/abort-signal.test.d.cts +1 -0
  221. package/utils/abort-signal.test.d.ts +1 -0
  222. package/utils/binary/compat.cjs +14 -0
  223. package/utils/binary/compat.js +14 -0
  224. package/utils/early-timer.cjs +3 -11
  225. package/utils/early-timer.js +3 -11
  226. package/utils/early-timer.test.d.cts +1 -0
  227. package/utils/early-timer.test.d.ts +1 -0
  228. package/utils/function-utils.cjs +9 -4
  229. package/utils/function-utils.js +9 -4
  230. package/utils/links/bots.cjs +3 -0
  231. package/utils/links/bots.js +3 -0
  232. package/utils/peer-utils.cjs +8 -0
  233. 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;