@mtkruto/node 0.110.1 → 0.112.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/esm/3_types.d.ts +5 -0
- package/esm/3_types.d.ts.map +1 -1
- package/esm/3_types.js +5 -0
- package/esm/client/0_params.d.ts +12 -4
- package/esm/client/0_params.d.ts.map +1 -1
- package/esm/client/1_client_generic.d.ts +36 -3
- package/esm/client/1_client_generic.d.ts.map +1 -1
- package/esm/client/2_context.d.ts +7 -3
- package/esm/client/2_context.d.ts.map +1 -1
- package/esm/client/2_context.js +8 -0
- package/esm/client/3_message_manager.d.ts +5 -4
- package/esm/client/3_message_manager.d.ts.map +1 -1
- package/esm/client/3_message_manager.js +65 -19
- package/esm/client/4_chat_manager.d.ts +9 -6
- package/esm/client/4_chat_manager.d.ts.map +1 -1
- package/esm/client/4_chat_manager.js +101 -84
- package/esm/client/5_client.d.ts +36 -3
- package/esm/client/5_client.d.ts.map +1 -1
- package/esm/client/5_client.js +41 -0
- package/esm/client/5_client_dispatcher.d.ts +36 -3
- package/esm/client/5_client_dispatcher.d.ts.map +1 -1
- package/esm/client/5_client_dispatcher.js +41 -0
- package/esm/types/0_checklist_changed.d.ts +29 -0
- package/esm/types/0_checklist_changed.d.ts.map +1 -0
- package/esm/types/0_checklist_changed.js +25 -0
- package/esm/types/3_checklist_item.d.ts +65 -0
- package/esm/types/3_checklist_item.d.ts.map +1 -0
- package/esm/types/3_checklist_item.js +51 -0
- package/esm/types/3_input_checklist_item.d.ts +31 -0
- package/esm/types/3_input_checklist_item.d.ts.map +1 -0
- package/esm/types/3_input_checklist_item.js +20 -0
- package/esm/types/3_input_poll_option.d.ts +31 -0
- package/esm/types/3_input_poll_option.d.ts.map +1 -0
- package/esm/types/3_input_poll_option.js +20 -0
- package/esm/types/4_checklist.d.ts +38 -0
- package/esm/types/4_checklist.d.ts.map +1 -0
- package/esm/types/4_checklist.js +31 -0
- package/esm/types/6_message.d.ts +50 -17
- package/esm/types/6_message.d.ts.map +1 -1
- package/esm/types/6_message.js +19 -1
- package/esm/types/7_inline_query_result.d.ts +1 -1
- package/esm/types/7_inline_query_result.d.ts.map +1 -1
- package/esm/types/7_inline_query_result.js +2 -2
- package/package.json +1 -1
- package/script/3_types.d.ts +5 -0
- package/script/3_types.d.ts.map +1 -1
- package/script/3_types.js +5 -0
- package/script/client/0_params.d.ts +12 -4
- package/script/client/0_params.d.ts.map +1 -1
- package/script/client/1_client_generic.d.ts +36 -3
- package/script/client/1_client_generic.d.ts.map +1 -1
- package/script/client/2_context.d.ts +7 -3
- package/script/client/2_context.d.ts.map +1 -1
- package/script/client/2_context.js +8 -0
- package/script/client/3_message_manager.d.ts +5 -4
- package/script/client/3_message_manager.d.ts.map +1 -1
- package/script/client/3_message_manager.js +65 -19
- package/script/client/4_chat_manager.d.ts +9 -6
- package/script/client/4_chat_manager.d.ts.map +1 -1
- package/script/client/4_chat_manager.js +101 -84
- package/script/client/5_client.d.ts +36 -3
- package/script/client/5_client.d.ts.map +1 -1
- package/script/client/5_client.js +41 -0
- package/script/client/5_client_dispatcher.d.ts +36 -3
- package/script/client/5_client_dispatcher.d.ts.map +1 -1
- package/script/client/5_client_dispatcher.js +41 -0
- package/script/types/0_checklist_changed.d.ts +29 -0
- package/script/types/0_checklist_changed.d.ts.map +1 -0
- package/script/types/0_checklist_changed.js +28 -0
- package/script/types/3_checklist_item.d.ts +65 -0
- package/script/types/3_checklist_item.d.ts.map +1 -0
- package/script/types/3_checklist_item.js +54 -0
- package/script/types/3_input_checklist_item.d.ts +31 -0
- package/script/types/3_input_checklist_item.d.ts.map +1 -0
- package/script/types/3_input_checklist_item.js +21 -0
- package/script/types/3_input_poll_option.d.ts +31 -0
- package/script/types/3_input_poll_option.d.ts.map +1 -0
- package/script/types/3_input_poll_option.js +21 -0
- package/script/types/4_checklist.d.ts +38 -0
- package/script/types/4_checklist.d.ts.map +1 -0
- package/script/types/4_checklist.js +34 -0
- package/script/types/6_message.d.ts +50 -17
- package/script/types/6_message.d.ts.map +1 -1
- package/script/types/6_message.js +19 -1
- package/script/types/7_inline_query_result.d.ts +1 -1
- package/script/types/7_inline_query_result.d.ts.map +1 -1
- package/script/types/7_inline_query_result.js +2 -2
|
@@ -28,7 +28,6 @@ const _3_errors_js_1 = require("../3_errors.js");
|
|
|
28
28
|
const _3_transport_js_1 = require("../3_transport.js");
|
|
29
29
|
const _3_types_js_1 = require("../3_types.js");
|
|
30
30
|
const _3_types_js_2 = require("../3_types.js");
|
|
31
|
-
const _0_message_search_filter_js_1 = require("../types/0_message_search_filter.js");
|
|
32
31
|
const _0_html_js_1 = require("./0_html.js");
|
|
33
32
|
const _0_markdown_js_1 = require("./0_markdown.js");
|
|
34
33
|
const _0_utilities_js_1 = require("./0_utilities.js");
|
|
@@ -160,9 +159,9 @@ class MessageManager {
|
|
|
160
159
|
this.#c.storage.assertUser("businessConsendAtnectionId");
|
|
161
160
|
}
|
|
162
161
|
}
|
|
163
|
-
|
|
162
|
+
parseText(text_, params) {
|
|
164
163
|
const [text, entities_] = MessageManager.parseText(text_, params?.entities ?? [], params?.parseMode ?? this.#c.parseMode);
|
|
165
|
-
const entities = entities_?.length > 0 ?
|
|
164
|
+
const entities = entities_?.length > 0 ? entities_.map((v) => (0, _3_types_js_2.messageEntityToTlObject)(v, this.#c.getPeer)) : undefined;
|
|
166
165
|
return [text, entities];
|
|
167
166
|
}
|
|
168
167
|
async updatesToMessages(chatId, updates, businessConnectionId) {
|
|
@@ -275,7 +274,7 @@ class MessageManager {
|
|
|
275
274
|
}
|
|
276
275
|
async sendMessageDraft(chatId, draftId, text, params) {
|
|
277
276
|
this.#c.storage.assertBot("sendMessageDraft");
|
|
278
|
-
const [message, entities] =
|
|
277
|
+
const [message, entities] = this.parseText(text, params);
|
|
279
278
|
const peer = await this.#c.getInputPeer(chatId);
|
|
280
279
|
await this.#c.invoke({
|
|
281
280
|
_: "messages.setTyping",
|
|
@@ -286,7 +285,7 @@ class MessageManager {
|
|
|
286
285
|
}
|
|
287
286
|
async sendMessage(chatId, text, params) {
|
|
288
287
|
this.#checkParams(params);
|
|
289
|
-
const [message, entities] =
|
|
288
|
+
const [message, entities] = this.parseText(text, params);
|
|
290
289
|
const replyMarkup = await this.#constructReplyMarkup(params);
|
|
291
290
|
const peer = await this.#c.getInputPeer(chatId);
|
|
292
291
|
const randomId = (0, _1_utilities_js_1.getRandomId)();
|
|
@@ -685,7 +684,7 @@ class MessageManager {
|
|
|
685
684
|
const sendAs = params?.sendAs ? await this.#c.getInputPeer(params.sendAs) : undefined;
|
|
686
685
|
const replyMarkup = await this.#constructReplyMarkup(params);
|
|
687
686
|
const caption_ = params?.caption;
|
|
688
|
-
const parseResult = caption_ !== undefined ?
|
|
687
|
+
const parseResult = caption_ !== undefined ? this.parseText(caption_, { parseMode: params?.parseMode, entities: params?.captionEntities }) : undefined;
|
|
689
688
|
const caption = parseResult === undefined ? undefined : parseResult[0];
|
|
690
689
|
const captionEntities = parseResult === undefined ? undefined : parseResult[1];
|
|
691
690
|
const result = await this.#c.invoke({
|
|
@@ -743,16 +742,16 @@ class MessageManager {
|
|
|
743
742
|
const sendAs = params?.sendAs ? await this.#c.getInputPeer(params.sendAs) : undefined;
|
|
744
743
|
const replyMarkup = await this.#constructReplyMarkup(params);
|
|
745
744
|
const explanation = params?.explanation;
|
|
746
|
-
const parseResult = explanation !== undefined ?
|
|
745
|
+
const parseResult = explanation !== undefined ? this.parseText(explanation, { parseMode: params?.explanationParseMode, entities: params?.explanationEntities }) : undefined;
|
|
747
746
|
const solution = parseResult === undefined ? undefined : parseResult[0];
|
|
748
747
|
const solutionEntities = parseResult === undefined ? undefined : parseResult[1];
|
|
749
|
-
const answers =
|
|
750
|
-
const text =
|
|
751
|
-
const entities =
|
|
752
|
-
const parseResult =
|
|
748
|
+
const answers = options.map((v, i) => {
|
|
749
|
+
const text = v.text;
|
|
750
|
+
const entities = v.entities;
|
|
751
|
+
const parseResult = this.parseText(text, { parseMode: v.parseMode, entities });
|
|
753
752
|
return ({ _: "pollAnswer", option: (0, _1_utilities_js_1.encodeText)(String(i)), text: { _: "textWithEntities", text: parseResult[0], entities: parseResult[1] ?? [] } });
|
|
754
|
-
})
|
|
755
|
-
const questionParseResult =
|
|
753
|
+
});
|
|
754
|
+
const questionParseResult = this.parseText(question, { parseMode: params?.questionParseMode, entities: params?.questionEntities });
|
|
756
755
|
const poll = { _: "poll", id: (0, _1_utilities_js_1.getRandomId)(), answers, question: { _: "textWithEntities", text: questionParseResult[0], entities: questionParseResult[1] ?? [] }, closed: params?.isClosed ? true : undefined, close_date: params?.closeDate, close_period: params?.openPeriod ? params.openPeriod : undefined, multiple_choice: params?.allowMultipleAnswers ? true : undefined, public_voters: params?.isAnonymous === false ? true : undefined, quiz: params?.type === "quiz" ? true : undefined };
|
|
757
756
|
const media = { _: "inputMediaPoll", poll, correct_answers: params?.correctOptionIndex !== undefined ? [(0, _1_utilities_js_1.encodeText)(String(params.correctOptionIndex))] : undefined, solution, solution_entities: solutionEntities };
|
|
758
757
|
const result = await this.#c.invoke({
|
|
@@ -773,6 +772,53 @@ class MessageManager {
|
|
|
773
772
|
const message = (await this.updatesToMessages(chatId, result, params?.businessConnectionId))[0];
|
|
774
773
|
return (0, _3_types_js_2.assertMessageType)(message, "poll");
|
|
775
774
|
}
|
|
775
|
+
async sendChecklist(chatId, title, items, params) {
|
|
776
|
+
this.#c.storage.assertUser("sendChecklist");
|
|
777
|
+
this.#checkParams(params);
|
|
778
|
+
title = title?.trim();
|
|
779
|
+
if (!title) {
|
|
780
|
+
throw new Error("Title must not be empty.");
|
|
781
|
+
}
|
|
782
|
+
if (!Array.isArray(items) || items.length < 1) {
|
|
783
|
+
throw new Error("There must be at least one item.");
|
|
784
|
+
}
|
|
785
|
+
const peer = await this.#c.getInputPeer(chatId);
|
|
786
|
+
const randomId = (0, _1_utilities_js_1.getRandomId)();
|
|
787
|
+
const silent = params?.isSilent ? true : undefined;
|
|
788
|
+
const noforwards = params?.isContentProtected ? true : undefined;
|
|
789
|
+
const sendAs = params?.sendAs ? await this.#c.getInputPeer(params.sendAs) : undefined;
|
|
790
|
+
const list = items.map((v, i) => {
|
|
791
|
+
const text = v.text;
|
|
792
|
+
const entities = v.entities;
|
|
793
|
+
const parseResult = this.parseText(text, { parseMode: v.parseMode, entities });
|
|
794
|
+
return ({ _: "todoItem", id: i + 1, title: { _: "textWithEntities", text: parseResult[0], entities: parseResult[1] ?? [] } });
|
|
795
|
+
});
|
|
796
|
+
const titleParseResult = this.parseText(title, { parseMode: params?.titleParseMode, entities: params?.titleEntities });
|
|
797
|
+
const todo = {
|
|
798
|
+
_: "todoList",
|
|
799
|
+
title: { _: "textWithEntities", text: titleParseResult[0], entities: titleParseResult[1] ?? [] },
|
|
800
|
+
list,
|
|
801
|
+
others_can_append: params?.isExtendableByOthers ? true : undefined,
|
|
802
|
+
others_can_complete: params?.isCompletableByOthers ? true : undefined,
|
|
803
|
+
};
|
|
804
|
+
const media = { _: "inputMediaTodo", todo };
|
|
805
|
+
const result = await this.#c.invoke({
|
|
806
|
+
_: "messages.sendMedia",
|
|
807
|
+
peer,
|
|
808
|
+
random_id: randomId,
|
|
809
|
+
silent,
|
|
810
|
+
noforwards,
|
|
811
|
+
reply_to: await this.#constructReplyTo(params),
|
|
812
|
+
send_as: sendAs,
|
|
813
|
+
media,
|
|
814
|
+
message: "",
|
|
815
|
+
effect: params?.effectId ? BigInt(params.effectId) : undefined,
|
|
816
|
+
schedule_date: params?.sendAt,
|
|
817
|
+
allow_paid_floodskip: params?.isPaidBroadcast ? true : undefined,
|
|
818
|
+
}, { businessConnectionId: params?.businessConnectionId });
|
|
819
|
+
const message = (await this.updatesToMessages(chatId, result, params?.businessConnectionId))[0];
|
|
820
|
+
return (0, _3_types_js_2.assertMessageType)(message, "checklist");
|
|
821
|
+
}
|
|
776
822
|
async editMessageReplyMarkup(chatId, messageId, params) {
|
|
777
823
|
this.#checkParams(params);
|
|
778
824
|
const result = await this.#c.invoke({
|
|
@@ -803,7 +849,7 @@ class MessageManager {
|
|
|
803
849
|
throw new _0_errors_js_1.InputError("The referenced message is not a text message.");
|
|
804
850
|
}
|
|
805
851
|
}
|
|
806
|
-
const [message, entities] =
|
|
852
|
+
const [message, entities] = this.parseText(text, params);
|
|
807
853
|
if (!message) {
|
|
808
854
|
throw new _0_errors_js_1.InputError("Message text cannot be empty.");
|
|
809
855
|
}
|
|
@@ -845,7 +891,7 @@ class MessageManager {
|
|
|
845
891
|
if (!canHaveCaption) {
|
|
846
892
|
throw new _0_errors_js_1.InputError("The referenced message cannot have a caption.");
|
|
847
893
|
}
|
|
848
|
-
const [message, entities] =
|
|
894
|
+
const [message, entities] = this.parseText(params?.caption ?? "", params);
|
|
849
895
|
const result = await this.#c.invoke({
|
|
850
896
|
_: "messages.editMessage",
|
|
851
897
|
id: (0, _0_utilities_js_1.checkMessageId)(messageId),
|
|
@@ -858,7 +904,7 @@ class MessageManager {
|
|
|
858
904
|
}
|
|
859
905
|
async #editInlineMessageTextInner(inlineMessageId, text, params, allowEmpty = true) {
|
|
860
906
|
this.#checkParams(params);
|
|
861
|
-
const [message, entities] =
|
|
907
|
+
const [message, entities] = this.parseText(text, params);
|
|
862
908
|
if (!allowEmpty && !message) {
|
|
863
909
|
throw new _0_errors_js_1.InputError("Message text cannot be empty.");
|
|
864
910
|
}
|
|
@@ -1014,7 +1060,7 @@ class MessageManager {
|
|
|
1014
1060
|
if (!("animation" in message) && !("audio" in message) && !("document" in message) && !("photo" in message) && !("video" in message)) {
|
|
1015
1061
|
throw new _0_errors_js_1.InputError("Unexpected message type.");
|
|
1016
1062
|
}
|
|
1017
|
-
const [text, entities] = media.caption !== undefined ?
|
|
1063
|
+
const [text, entities] = media.caption !== undefined ? this.parseText(media.caption, { entities: media.captionEntities, parseMode: media.parseMode }) : ["", []];
|
|
1018
1064
|
const result = await this.#c.invoke({
|
|
1019
1065
|
_: "messages.editMessage",
|
|
1020
1066
|
peer: await this.#c.getInputPeer(chatId),
|
|
@@ -1257,7 +1303,7 @@ class MessageManager {
|
|
|
1257
1303
|
peer,
|
|
1258
1304
|
q: query,
|
|
1259
1305
|
add_offset: params?.addOffset ?? 0,
|
|
1260
|
-
filter: (0,
|
|
1306
|
+
filter: (0, _3_types_js_1.messageSearchFilterToTlObject)(params?.filter ?? "empty"),
|
|
1261
1307
|
hash: 0n,
|
|
1262
1308
|
limit: (0, _0_utilities_js_1.getLimit)(params?.limit),
|
|
1263
1309
|
max_date: 0,
|
|
@@ -1425,7 +1471,7 @@ class MessageManager {
|
|
|
1425
1471
|
const multiMedia = new Array();
|
|
1426
1472
|
for (const v of media) {
|
|
1427
1473
|
const randomId = (0, _1_utilities_js_1.getRandomId)();
|
|
1428
|
-
const [message, entities] = v.caption !== undefined ?
|
|
1474
|
+
const [message, entities] = v.caption !== undefined ? this.parseText(v.caption, { entities: v.captionEntities, parseMode: v.parseMode }) : ["", []];
|
|
1429
1475
|
multiMedia.push({ _: "inputSingleMedia", message, entities, random_id: randomId, media: await this.#resolveInputMedia(v) });
|
|
1430
1476
|
}
|
|
1431
1477
|
const peer = await this.#c.getInputPeer(chatId);
|
|
@@ -48,16 +48,14 @@ export declare class ChatManager implements UpdateProcessor<ChatManagerUpdate, t
|
|
|
48
48
|
banChatMember(chatId: ID, memberId: ID, params?: BanChatMemberParams): Promise<void>;
|
|
49
49
|
unbanChatMember(chatId: ID, memberId: ID): Promise<void>;
|
|
50
50
|
setChatMemberRights(chatId: ID, memberId: ID, params?: SetChatMemberRightsParams): Promise<void>;
|
|
51
|
+
promoteChatMember(chatId: ID, userId: ID, params?: PromoteChatMemberParams): Promise<void>;
|
|
52
|
+
setChatMemberTag(chatId: ID, userId: ID, params?: SetChatMemberTagParams): Promise<void>;
|
|
51
53
|
setAvailableReactions(chatId: ID, availableReactions: "none" | "all" | Reaction[]): Promise<void>;
|
|
52
54
|
setBoostsRequiredToCircumventRestrictions(chatId: ID, boosts: number): Promise<void>;
|
|
53
55
|
enableJoinRequests(chatId: ID): Promise<void>;
|
|
54
56
|
disableJoinRequests(chatId: ID): Promise<void>;
|
|
55
57
|
setChatStickerSet(chatId: ID, setName: string): Promise<void>;
|
|
56
58
|
deleteChatStickerSet(chatId: ID): Promise<void>;
|
|
57
|
-
deleteChatPhoto(chatId: ID): Promise<void>;
|
|
58
|
-
setChatPhoto(chatId: ID, photo: FileSource, params?: SetChatPhotoParams): Promise<void>;
|
|
59
|
-
addChatMember(chatId: ID, userId: ID, params?: AddChatMemberParams): Promise<import("../3_types.js").FailedInvitation[]>;
|
|
60
|
-
addChatMembers(chatId: ID, userIds: ID[]): Promise<import("../3_types.js").FailedInvitation[]>;
|
|
61
59
|
disableSlowMode(chatId: ID): Promise<void>;
|
|
62
60
|
setSlowMode(chatId: ID, duration: SlowModeDuration): Promise<void>;
|
|
63
61
|
setChatTitle(chatId: ID, title: string): Promise<void>;
|
|
@@ -74,10 +72,15 @@ export declare class ChatManager implements UpdateProcessor<ChatManagerUpdate, t
|
|
|
74
72
|
getDiscussionChatSuggestions(): Promise<ChatP[]>;
|
|
75
73
|
setDiscussionChat(chatId: ID, discussionChatId: ID): Promise<void>;
|
|
76
74
|
transferChatOwnership(chatId: ID, userId: ID, password: string): Promise<void>;
|
|
77
|
-
promoteChatMember(chatId: ID, userId: ID, params?: PromoteChatMemberParams): Promise<void>;
|
|
78
|
-
setChatMemberTag(chatId: ID, userId: ID, params?: SetChatMemberTagParams): Promise<void>;
|
|
79
75
|
enableSharing(chatId: ID): Promise<void>;
|
|
80
76
|
disableSharing(chatId: ID): Promise<void>;
|
|
77
|
+
deleteChatPhoto(chatId: ID): Promise<void>;
|
|
78
|
+
setChatPhoto(chatId: ID, photo: FileSource, params?: SetChatPhotoParams): Promise<void>;
|
|
79
|
+
addChatMember(chatId: ID, userId: ID, params?: AddChatMemberParams): Promise<import("../3_types.js").FailedInvitation[]>;
|
|
80
|
+
addChatMembers(chatId: ID, userIds: ID[]): Promise<import("../3_types.js").FailedInvitation[]>;
|
|
81
|
+
getRecommendedChannels(): Promise<import("../3_types.js").ChatPChannel[]>;
|
|
82
|
+
getSimilarChannels(chatId: ID): Promise<import("../3_types.js").ChatPChannel[]>;
|
|
83
|
+
getSimilarBots(chatId: ID): Promise<import("../3_types.js").ChatPPrivate[]>;
|
|
81
84
|
}
|
|
82
85
|
export {};
|
|
83
86
|
//# sourceMappingURL=4_chat_manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"4_chat_manager.d.ts","sourceRoot":"","sources":["../../src/client/4_chat_manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAIH,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAqC,KAAK,KAAK,EAA2I,KAAK,gBAAgB,EAA6B,MAAM,eAAe,CAAC;AACzQ,OAAO,EAA8B,KAAK,UAAU,EAAE,KAAK,EAAE,EAAE,KAAK,QAAQ,EAAsB,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AAErI,OAAO,KAAK,EAA8E,mBAAmB,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEpZ,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,UAAU,CAAE,SAAQ,EAAE;IACpB,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,EAAE,cAAc,CAAC;CAChC;AAED,QAAA,MAAM,kBAAkB,gGAId,CAAC;AAEX,KAAK,iBAAiB,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAExE,qBAAa,WAAY,YAAW,eAAe,CAAC,iBAAiB,EAAE,IAAI,CAAC;;gBAG9D,CAAC,EAAE,CAAC;IAIhB,eAAe,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,IAAI,iBAAiB;IAI1D,YAAY,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAyB/D,kBAAkB,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE;IAQzC,kBAAkB,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE;IAQzC,mBAAmB,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,yBAAyB;IAUlE,mBAAmB,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,yBAAyB;IASlE,eAAe,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,qBAAqB;IAsB1D,gBAAgB,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,sBAAsB;IAQ5D,qBAAqB,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,2BAA2B;IAOtE,QAAQ,CAAC,MAAM,EAAE,EAAE;IAcnB,SAAS,CAAC,MAAM,EAAE,EAAE;IAcpB,aAAa,CAAC,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,mBAAmB;IAuCpE,eAAe,CAAC,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE;IAMxC,mBAAmB,CAAC,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,yBAAyB;
|
|
1
|
+
{"version":3,"file":"4_chat_manager.d.ts","sourceRoot":"","sources":["../../src/client/4_chat_manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -160,7 +160,7 @@ class ChatManager {
|
|
|
160
160
|
(0, _0_deps_js_1.unreachable)();
|
|
161
161
|
}
|
|
162
162
|
}
|
|
163
|
-
//
|
|
163
|
+
// CHAT MEMBERS //
|
|
164
164
|
async banChatMember(chatId, memberId, params) {
|
|
165
165
|
const chat = await this.#c.getInputPeer(chatId);
|
|
166
166
|
if (!(_2_tl_js_1.Api.is("inputPeerChannel", chat)) && !(_2_tl_js_1.Api.is("inputPeerChat", chat))) {
|
|
@@ -211,6 +211,25 @@ class ChatManager {
|
|
|
211
211
|
const member = await this.#c.getInputPeer(memberId);
|
|
212
212
|
await this.#c.invoke({ _: "channels.editBanned", channel, participant: member, banned_rights: (0, _3_types_js_2.chatMemberRightsToTlObject)(params?.rights, params?.until) });
|
|
213
213
|
}
|
|
214
|
+
async promoteChatMember(chatId, userId, params) {
|
|
215
|
+
const channel = await this.#c.getInputChannel(chatId);
|
|
216
|
+
const user_id = await this.#c.getInputUser(userId);
|
|
217
|
+
const admin_rights = (0, _3_types_js_1.chatAdministratorRightsToTlObject)(params ?? {});
|
|
218
|
+
const rank = params?.title ?? "";
|
|
219
|
+
await this.#c.invoke({
|
|
220
|
+
_: "channels.editAdmin",
|
|
221
|
+
channel,
|
|
222
|
+
user_id,
|
|
223
|
+
admin_rights,
|
|
224
|
+
rank,
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
async setChatMemberTag(chatId, userId, params) {
|
|
228
|
+
const peer = await this.#c.getInputPeer(chatId);
|
|
229
|
+
const participant = await this.#c.getInputPeer(userId);
|
|
230
|
+
const rank = params?.tag ?? "";
|
|
231
|
+
await this.#c.invoke({ _: "messages.editChatParticipantRank", peer, participant, rank });
|
|
232
|
+
}
|
|
214
233
|
// CHAT SETTINGS //
|
|
215
234
|
async setAvailableReactions(chatId, availableReactions) {
|
|
216
235
|
await this.#c.invoke({ _: "messages.setChatAvailableReactions", peer: await this.#c.getInputPeer(chatId), available_reactions: availableReactions === "none" ? { _: "chatReactionsNone" } : availableReactions === "all" ? { _: "chatReactionsAll" } : Array.isArray(availableReactions) ? ({ _: "chatReactionsSome", reactions: availableReactions.map((v) => (0, _3_types_js_2.reactionToTlObject)(v)) }) : (0, _0_deps_js_1.unreachable)() });
|
|
@@ -236,70 +255,6 @@ class ChatManager {
|
|
|
236
255
|
const channel = await this.#c.getInputChannel(chatId);
|
|
237
256
|
await this.#c.invoke({ _: "channels.setStickers", channel, stickerset: { _: "inputStickerSetEmpty" } });
|
|
238
257
|
}
|
|
239
|
-
// CHAT PHOTOS //
|
|
240
|
-
async deleteChatPhoto(chatId) {
|
|
241
|
-
const peer = await this.#c.getInputPeer(chatId);
|
|
242
|
-
if (!((0, _0_utilities_js_1.canBeInputChannel)(peer)) && !(_2_tl_js_1.Api.is("inputPeerChat", peer))) {
|
|
243
|
-
(0, _0_deps_js_1.unreachable)();
|
|
244
|
-
}
|
|
245
|
-
if ((0, _0_utilities_js_1.canBeInputChannel)(peer)) {
|
|
246
|
-
await this.#c.invoke({ _: "channels.editPhoto", channel: (0, _0_utilities_js_1.toInputChannel)(peer), photo: { _: "inputChatPhotoEmpty" } });
|
|
247
|
-
}
|
|
248
|
-
else if (_2_tl_js_1.Api.is("inputPeerChat", peer)) {
|
|
249
|
-
await this.#c.invoke({ _: "messages.editChatPhoto", chat_id: peer.chat_id, photo: { _: "inputChatPhotoEmpty" } });
|
|
250
|
-
}
|
|
251
|
-
}
|
|
252
|
-
async setChatPhoto(chatId, photo, params) {
|
|
253
|
-
const peer = await this.#c.getInputPeer(chatId);
|
|
254
|
-
if (!((0, _0_utilities_js_1.canBeInputChannel)(peer)) && !(_2_tl_js_1.Api.is("inputPeerChat", peer))) {
|
|
255
|
-
(0, _0_deps_js_1.unreachable)();
|
|
256
|
-
}
|
|
257
|
-
const file = await this.#c.fileManager.upload(photo, params);
|
|
258
|
-
const photo_ = { _: "inputChatUploadedPhoto", file };
|
|
259
|
-
if ((0, _0_utilities_js_1.canBeInputChannel)(peer)) {
|
|
260
|
-
await this.#c.invoke({ _: "channels.editPhoto", channel: (0, _0_utilities_js_1.toInputChannel)(peer), photo: photo_ });
|
|
261
|
-
}
|
|
262
|
-
else if (_2_tl_js_1.Api.is("inputPeerChat", peer)) {
|
|
263
|
-
await this.#c.invoke({ _: "messages.editChatPhoto", chat_id: peer.chat_id, photo: photo_ });
|
|
264
|
-
}
|
|
265
|
-
}
|
|
266
|
-
// INVITING MEMBERS //
|
|
267
|
-
async addChatMember(chatId, userId, params) {
|
|
268
|
-
this.#c.storage.assertUser("addChatMember");
|
|
269
|
-
const chat = await this.#c.getInputPeer(chatId);
|
|
270
|
-
if (_2_tl_js_1.Api.isOneOf(["inputPeerEmpty", "inputPeerSelf", "inputPeerUser", "inputPeerUserFromMessage"], chat)) {
|
|
271
|
-
throw new _0_errors_js_1.InputError("Cannot add members to private chats");
|
|
272
|
-
}
|
|
273
|
-
const user = await this.#c.getInputUser(userId);
|
|
274
|
-
if (_2_tl_js_1.Api.is("inputPeerChat", chat)) {
|
|
275
|
-
const result = await this.#c.invoke({ _: "messages.addChatUser", chat_id: chat.chat_id, user_id: user, fwd_limit: params?.historyLimit ?? 0 });
|
|
276
|
-
return result.missing_invitees.map(_3_types_js_1.constructFailedInvitation);
|
|
277
|
-
}
|
|
278
|
-
else if (_2_tl_js_1.Api.is("inputPeerChannel", chat)) {
|
|
279
|
-
const result = await this.#c.invoke({ _: "channels.inviteToChannel", channel: { ...chat, _: "inputChannel" }, users: [user] });
|
|
280
|
-
return result.missing_invitees.map(_3_types_js_1.constructFailedInvitation);
|
|
281
|
-
}
|
|
282
|
-
(0, _0_deps_js_1.unreachable)();
|
|
283
|
-
}
|
|
284
|
-
async addChatMembers(chatId, userIds) {
|
|
285
|
-
this.#c.storage.assertUser("addChatMembers");
|
|
286
|
-
const chat = await this.#c.getInputPeer(chatId);
|
|
287
|
-
if (_2_tl_js_1.Api.isOneOf(["inputPeerEmpty", "inputPeerSelf", "inputPeerUser", "inputPeerUserFromMessage"], chat)) {
|
|
288
|
-
throw new _0_errors_js_1.InputError("Cannot add members to private chats");
|
|
289
|
-
}
|
|
290
|
-
const users = new Array();
|
|
291
|
-
for (const userId of userIds) {
|
|
292
|
-
users.push(await this.#c.getInputUser(userId));
|
|
293
|
-
}
|
|
294
|
-
if (_2_tl_js_1.Api.is("inputPeerChat", chat)) {
|
|
295
|
-
throw new _0_errors_js_1.InputError("addChatMembers cannot be used with basic groups");
|
|
296
|
-
}
|
|
297
|
-
else if ((0, _0_utilities_js_1.canBeInputChannel)(chat)) {
|
|
298
|
-
const result = await this.#c.invoke({ _: "channels.inviteToChannel", channel: (0, _0_utilities_js_1.toInputChannel)(chat), users });
|
|
299
|
-
return result.missing_invitees.map(_3_types_js_1.constructFailedInvitation);
|
|
300
|
-
}
|
|
301
|
-
(0, _0_deps_js_1.unreachable)();
|
|
302
|
-
}
|
|
303
258
|
async #toggleSlowMode(chatId, seconds) {
|
|
304
259
|
const channel = await this.#c.getInputChannel(chatId);
|
|
305
260
|
await this.#c.invoke({ _: "channels.toggleSlowMode", channel, seconds });
|
|
@@ -430,25 +385,6 @@ class ChatManager {
|
|
|
430
385
|
const password_ = await (0, _0_password_js_1.checkPassword)(password, ap);
|
|
431
386
|
await this.#c.invoke({ _: "messages.editChatCreator", peer, user_id, password: password_ });
|
|
432
387
|
}
|
|
433
|
-
async promoteChatMember(chatId, userId, params) {
|
|
434
|
-
const channel = await this.#c.getInputChannel(chatId);
|
|
435
|
-
const user_id = await this.#c.getInputUser(userId);
|
|
436
|
-
const admin_rights = (0, _3_types_js_1.chatAdministratorRightsToTlObject)(params ?? {});
|
|
437
|
-
const rank = params?.title ?? "";
|
|
438
|
-
await this.#c.invoke({
|
|
439
|
-
_: "channels.editAdmin",
|
|
440
|
-
channel,
|
|
441
|
-
user_id,
|
|
442
|
-
admin_rights,
|
|
443
|
-
rank,
|
|
444
|
-
});
|
|
445
|
-
}
|
|
446
|
-
async setChatMemberTag(chatId, userId, params) {
|
|
447
|
-
const peer = await this.#c.getInputPeer(chatId);
|
|
448
|
-
const participant = await this.#c.getInputPeer(userId);
|
|
449
|
-
const rank = params?.tag ?? "";
|
|
450
|
-
await this.#c.invoke({ _: "messages.editChatParticipantRank", peer, participant, rank });
|
|
451
|
-
}
|
|
452
388
|
async #setIsSharingEnabled(chatId, isSharingEnabled) {
|
|
453
389
|
const peer = await this.#c.getInputPeer(chatId);
|
|
454
390
|
await this.#c.invoke({ _: "messages.toggleNoForwards", peer, enabled: !isSharingEnabled });
|
|
@@ -461,5 +397,86 @@ class ChatManager {
|
|
|
461
397
|
this.#c.storage.assertUser("disableSharing");
|
|
462
398
|
await this.#setIsSharingEnabled(chatId, false);
|
|
463
399
|
}
|
|
400
|
+
// CHAT PHOTOS //
|
|
401
|
+
async deleteChatPhoto(chatId) {
|
|
402
|
+
const peer = await this.#c.getInputPeer(chatId);
|
|
403
|
+
if (!((0, _0_utilities_js_1.canBeInputChannel)(peer)) && !(_2_tl_js_1.Api.is("inputPeerChat", peer))) {
|
|
404
|
+
(0, _0_deps_js_1.unreachable)();
|
|
405
|
+
}
|
|
406
|
+
if ((0, _0_utilities_js_1.canBeInputChannel)(peer)) {
|
|
407
|
+
await this.#c.invoke({ _: "channels.editPhoto", channel: (0, _0_utilities_js_1.toInputChannel)(peer), photo: { _: "inputChatPhotoEmpty" } });
|
|
408
|
+
}
|
|
409
|
+
else if (_2_tl_js_1.Api.is("inputPeerChat", peer)) {
|
|
410
|
+
await this.#c.invoke({ _: "messages.editChatPhoto", chat_id: peer.chat_id, photo: { _: "inputChatPhotoEmpty" } });
|
|
411
|
+
}
|
|
412
|
+
}
|
|
413
|
+
async setChatPhoto(chatId, photo, params) {
|
|
414
|
+
const peer = await this.#c.getInputPeer(chatId);
|
|
415
|
+
if (!((0, _0_utilities_js_1.canBeInputChannel)(peer)) && !(_2_tl_js_1.Api.is("inputPeerChat", peer))) {
|
|
416
|
+
(0, _0_deps_js_1.unreachable)();
|
|
417
|
+
}
|
|
418
|
+
const file = await this.#c.fileManager.upload(photo, params);
|
|
419
|
+
const photo_ = { _: "inputChatUploadedPhoto", file };
|
|
420
|
+
if ((0, _0_utilities_js_1.canBeInputChannel)(peer)) {
|
|
421
|
+
await this.#c.invoke({ _: "channels.editPhoto", channel: (0, _0_utilities_js_1.toInputChannel)(peer), photo: photo_ });
|
|
422
|
+
}
|
|
423
|
+
else if (_2_tl_js_1.Api.is("inputPeerChat", peer)) {
|
|
424
|
+
await this.#c.invoke({ _: "messages.editChatPhoto", chat_id: peer.chat_id, photo: photo_ });
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
// INVITING MEMBERS //
|
|
428
|
+
async addChatMember(chatId, userId, params) {
|
|
429
|
+
this.#c.storage.assertUser("addChatMember");
|
|
430
|
+
const chat = await this.#c.getInputPeer(chatId);
|
|
431
|
+
if (_2_tl_js_1.Api.isOneOf(["inputPeerEmpty", "inputPeerSelf", "inputPeerUser", "inputPeerUserFromMessage"], chat)) {
|
|
432
|
+
throw new _0_errors_js_1.InputError("Cannot add members to private chats");
|
|
433
|
+
}
|
|
434
|
+
const user = await this.#c.getInputUser(userId);
|
|
435
|
+
if (_2_tl_js_1.Api.is("inputPeerChat", chat)) {
|
|
436
|
+
const result = await this.#c.invoke({ _: "messages.addChatUser", chat_id: chat.chat_id, user_id: user, fwd_limit: params?.historyLimit ?? 0 });
|
|
437
|
+
return result.missing_invitees.map(_3_types_js_1.constructFailedInvitation);
|
|
438
|
+
}
|
|
439
|
+
else if (_2_tl_js_1.Api.is("inputPeerChannel", chat)) {
|
|
440
|
+
const result = await this.#c.invoke({ _: "channels.inviteToChannel", channel: { ...chat, _: "inputChannel" }, users: [user] });
|
|
441
|
+
return result.missing_invitees.map(_3_types_js_1.constructFailedInvitation);
|
|
442
|
+
}
|
|
443
|
+
(0, _0_deps_js_1.unreachable)();
|
|
444
|
+
}
|
|
445
|
+
async addChatMembers(chatId, userIds) {
|
|
446
|
+
this.#c.storage.assertUser("addChatMembers");
|
|
447
|
+
const chat = await this.#c.getInputPeer(chatId);
|
|
448
|
+
if (_2_tl_js_1.Api.isOneOf(["inputPeerEmpty", "inputPeerSelf", "inputPeerUser", "inputPeerUserFromMessage"], chat)) {
|
|
449
|
+
throw new _0_errors_js_1.InputError("Cannot add members to private chats");
|
|
450
|
+
}
|
|
451
|
+
const users = new Array();
|
|
452
|
+
for (const userId of userIds) {
|
|
453
|
+
users.push(await this.#c.getInputUser(userId));
|
|
454
|
+
}
|
|
455
|
+
if (_2_tl_js_1.Api.is("inputPeerChat", chat)) {
|
|
456
|
+
throw new _0_errors_js_1.InputError("addChatMembers cannot be used with basic groups");
|
|
457
|
+
}
|
|
458
|
+
else if ((0, _0_utilities_js_1.canBeInputChannel)(chat)) {
|
|
459
|
+
const result = await this.#c.invoke({ _: "channels.inviteToChannel", channel: (0, _0_utilities_js_1.toInputChannel)(chat), users });
|
|
460
|
+
return result.missing_invitees.map(_3_types_js_1.constructFailedInvitation);
|
|
461
|
+
}
|
|
462
|
+
(0, _0_deps_js_1.unreachable)();
|
|
463
|
+
}
|
|
464
|
+
async getRecommendedChannels() {
|
|
465
|
+
this.#c.storage.assertUser("getRecommendedChannels");
|
|
466
|
+
const result = await this.#c.invoke({ _: "channels.getChannelRecommendations" });
|
|
467
|
+
return result.chats.map((v) => (0, _3_types_js_1.constructChatP)(v)).filter((v) => v.type === "channel");
|
|
468
|
+
}
|
|
469
|
+
async getSimilarChannels(chatId) {
|
|
470
|
+
this.#c.storage.assertUser("getSimilarChannels");
|
|
471
|
+
const channel = await this.#c.getInputChannel(chatId);
|
|
472
|
+
const result = await this.#c.invoke({ _: "channels.getChannelRecommendations", channel });
|
|
473
|
+
return result.chats.map((v) => (0, _3_types_js_1.constructChatP)(v)).filter((v) => v.type === "channel");
|
|
474
|
+
}
|
|
475
|
+
async getSimilarBots(chatId) {
|
|
476
|
+
this.#c.storage.assertUser("getSimilarBots");
|
|
477
|
+
const bot = await this.#c.getInputUser(chatId);
|
|
478
|
+
const result = await this.#c.invoke({ _: "bots.getBotRecommendations", bot });
|
|
479
|
+
return result.users.map((v) => (0, _3_types_js_1.constructChatP)(v)).filter((v) => v.type === "private");
|
|
480
|
+
}
|
|
464
481
|
}
|
|
465
482
|
exports.ChatManager = ChatManager;
|
|
@@ -20,10 +20,10 @@
|
|
|
20
20
|
import { type Storage } from "../2_storage.js";
|
|
21
21
|
import { Api, Mtproto } from "../2_tl.js";
|
|
22
22
|
import { type DC } from "../3_transport.js";
|
|
23
|
-
import { type BotCommand, type BotTokenCheckResult, type BusinessConnection, type CallbackQueryAnswer, type CallbackQueryQuestion, type Chat, type ChatAction, type ChatListItem, type ChatMember, type ChatP, type ChatPChannel, type ChatPGroup, type ChatPSupergroup, type ChatSettings, type ClaimedGifts, type FailedInvitation, type FileSource, type Gift, type ID, type InactiveChat, type InlineQueryAnswer, type InlineQueryResult, type InputGift, type InputMedia, type InputStoryContent, type InviteLink, type JoinRequest, type LinkPreview, type LiveStreamChannel, type Message, type MessageAnimation, type MessageAudio, type MessageContact, type MessageDice, type MessageDocument, type MessageInvoice, type MessageList, type MessageLocation, type MessagePhoto, type MessagePoll, type MessageReactionList, type MessageSticker, type MessageText, type MessageVenue, type MessageVideo, type MessageVideoNote, type MessageVoice, type MiniAppInfo, type NetworkStatistics, type ParseMode, type PasswordCheckResult, type Poll, type PriceTag, type Reaction, type SavedChats, type SlowModeDuration, type Sticker, type StickerSet, type Story, type Topic, type Translation, type User, type VideoChat, type VideoChatActive, type VideoChatScheduled, type VoiceTranscription } from "../3_types.js";
|
|
23
|
+
import { type BotCommand, type BotTokenCheckResult, type BusinessConnection, type CallbackQueryAnswer, type CallbackQueryQuestion, type Chat, type ChatAction, type ChatListItem, type ChatMember, type ChatP, type ChatPChannel, type ChatPGroup, type ChatPPrivate, type ChatPSupergroup, type ChatSettings, type ClaimedGifts, type FailedInvitation, type FileSource, type Gift, type ID, type InactiveChat, type InlineQueryAnswer, type InlineQueryResult, type InputChecklistItem, type InputGift, type InputMedia, type InputPollOption, type InputStoryContent, type InviteLink, type JoinRequest, type LinkPreview, type LiveStreamChannel, type Message, type MessageAnimation, type MessageAudio, type MessageChecklist, type MessageContact, type MessageDice, type MessageDocument, type MessageInvoice, type MessageList, type MessageLocation, type MessagePhoto, type MessagePoll, type MessageReactionList, type MessageSticker, type MessageText, type MessageVenue, type MessageVideo, type MessageVideoNote, type MessageVoice, type MiniAppInfo, type NetworkStatistics, type ParseMode, type PasswordCheckResult, type Poll, type PriceTag, type Reaction, type SavedChats, type SlowModeDuration, type Sticker, type StickerSet, type Story, type Topic, type Translation, type User, type VideoChat, type VideoChatActive, type VideoChatScheduled, type VoiceTranscription } from "../3_types.js";
|
|
24
24
|
import { Migrate } from "../4_errors.js";
|
|
25
25
|
import type { CodeCheckResult } from "../types/0_code_check_result.js";
|
|
26
|
-
import type { AddChatMemberParams, AddContactParams, AddReactionParams, AnswerCallbackQueryParams, AnswerInlineQueryParams, AnswerPreCheckoutQueryParams, ApproveJoinRequestsParams, BanChatMemberParams, CheckUsernameParams, CreateChannelParams, CreateGroupParams, CreateInviteLinkParams, CreateStoryParams, CreateSupergroupParams, CreateTopicParams, DeclineJoinRequestsParams, DeleteMessageParams, DeleteMessagesParams, DownloadLiveStreamSegmentParams, DownloadParams, EditInlineMessageCaptionParams, EditInlineMessageMediaParams, EditInlineMessageTextParams, EditMessageCaptionParams, EditMessageLiveLocationParams, EditMessageMediaParams, EditMessageReplyMarkupParams, EditMessageTextParams, EditTopicParams, EnableSignaturesParams, ForwardMessagesParams, GetChatMembersParams, GetChatsParams, GetClaimedGiftsParams, GetCommonChatsParams, GetCreatedInviteLinksParams, GetHistoryParams, GetJoinRequestsParams, GetLinkPreviewParams, GetMessageReactionsParams, GetMyCommandsParams, GetSavedChatsParams, GetSavedMessagesParams, GetTranslationsParams, InvokeParams, JoinVideoChatParams, OpenChatParams, OpenMiniAppParams, PinMessageParams, PromoteChatMemberParams, ScheduleVideoChatParams, SearchMessagesParams, SendAnimationParams, SendAudioParams, SendContactParams, SendDiceParams, SendDocumentParams, SendGiftParams, SendInlineQueryParams, SendInvoiceParams, SendLocationParams, SendMediaGroupParams, SendMessageDraftParams, SendMessageParams, SendPhotoParams, SendPollParams, SendStickerParams, SendVenueParams, SendVideoNoteParams, SendVideoParams, SendVoiceParams, SetBirthdayParams, SetChatMemberRightsParams, SetChatMemberTagParams, SetChatPhotoParams, SetEmojiStatusParams, SetLocationParams, SetMyCommandsParams, SetNameColorParams, SetPersonalChannelParams, SetProfileColorParams, SetReactionsParams, SetWorkingHoursParams, SignInParams, StartBotParams, StartVideoChatParams, StopPollParams, UnpinMessageParams, UpdateProfileParams } from "./0_params.js";
|
|
26
|
+
import type { AddChatMemberParams, AddContactParams, AddReactionParams, AnswerCallbackQueryParams, AnswerInlineQueryParams, AnswerPreCheckoutQueryParams, ApproveJoinRequestsParams, BanChatMemberParams, CheckUsernameParams, CreateChannelParams, CreateGroupParams, CreateInviteLinkParams, CreateStoryParams, CreateSupergroupParams, CreateTopicParams, DeclineJoinRequestsParams, DeleteMessageParams, DeleteMessagesParams, DownloadLiveStreamSegmentParams, DownloadParams, EditInlineMessageCaptionParams, EditInlineMessageMediaParams, EditInlineMessageTextParams, EditMessageCaptionParams, EditMessageLiveLocationParams, EditMessageMediaParams, EditMessageReplyMarkupParams, EditMessageTextParams, EditTopicParams, EnableSignaturesParams, ForwardMessagesParams, GetChatMembersParams, GetChatsParams, GetClaimedGiftsParams, GetCommonChatsParams, GetCreatedInviteLinksParams, GetHistoryParams, GetJoinRequestsParams, GetLinkPreviewParams, GetMessageReactionsParams, GetMyCommandsParams, GetSavedChatsParams, GetSavedMessagesParams, GetTranslationsParams, InvokeParams, JoinVideoChatParams, OpenChatParams, OpenMiniAppParams, PinMessageParams, PromoteChatMemberParams, ScheduleVideoChatParams, SearchMessagesParams, SendAnimationParams, SendAudioParams, SendChecklistParams, SendContactParams, SendDiceParams, SendDocumentParams, SendGiftParams, SendInlineQueryParams, SendInvoiceParams, SendLocationParams, SendMediaGroupParams, SendMessageDraftParams, SendMessageParams, SendPhotoParams, SendPollParams, SendStickerParams, SendVenueParams, SendVideoNoteParams, SendVideoParams, SendVoiceParams, SetBirthdayParams, SetChatMemberRightsParams, SetChatMemberTagParams, SetChatPhotoParams, SetEmojiStatusParams, SetLocationParams, SetMyCommandsParams, SetNameColorParams, SetPersonalChannelParams, SetProfileColorParams, SetReactionsParams, SetWorkingHoursParams, SignInParams, StartBotParams, StartVideoChatParams, StopPollParams, UnpinMessageParams, UpdateProfileParams } from "./0_params.js";
|
|
27
27
|
import { StorageOperations } from "./0_storage_operations.js";
|
|
28
28
|
import type { ClientGeneric } from "./1_client_generic.js";
|
|
29
29
|
import type { ClientPlainParams } from "./1_client_plain.js";
|
|
@@ -507,7 +507,17 @@ export declare class Client<C extends Context = Context> extends Composer<C> imp
|
|
|
507
507
|
* @param options The poll's options.
|
|
508
508
|
* @returns The sent poll.
|
|
509
509
|
*/
|
|
510
|
-
sendPoll(chatId: ID, question: string, options:
|
|
510
|
+
sendPoll(chatId: ID, question: string, options: InputPollOption[], params?: SendPollParams): Promise<MessagePoll>;
|
|
511
|
+
/**
|
|
512
|
+
* Send a checklist. User-only.
|
|
513
|
+
*
|
|
514
|
+
* @method ms
|
|
515
|
+
* @param chatId The identifier of a chat to send the checklist to.
|
|
516
|
+
* @param title The checklist's title.
|
|
517
|
+
* @param items The checklist's items.
|
|
518
|
+
* @returns The sent checklist.
|
|
519
|
+
*/
|
|
520
|
+
sendChecklist(chatId: ID, title: string, items: InputChecklistItem[], params?: SendChecklistParams): Promise<MessageChecklist>;
|
|
511
521
|
/**
|
|
512
522
|
* Send an invoice. Bot-only.
|
|
513
523
|
*
|
|
@@ -1444,6 +1454,29 @@ export declare class Client<C extends Context = Context> extends Composer<C> imp
|
|
|
1444
1454
|
* @param chatId The identifier of a chat.
|
|
1445
1455
|
*/
|
|
1446
1456
|
disableSharing(chatId: ID): Promise<void>;
|
|
1457
|
+
/**
|
|
1458
|
+
* Get recommended channels. User-only.
|
|
1459
|
+
*
|
|
1460
|
+
* @method ch
|
|
1461
|
+
* @returns A list of recommended channels.
|
|
1462
|
+
*/
|
|
1463
|
+
getRecommendedChannels(): Promise<ChatPChannel[]>;
|
|
1464
|
+
/**
|
|
1465
|
+
* Get similar channels. User-only.
|
|
1466
|
+
*
|
|
1467
|
+
* @method ch
|
|
1468
|
+
* @param chatId The identifier of a channel to get similar channels for.
|
|
1469
|
+
* @returns A list of similar channels.
|
|
1470
|
+
*/
|
|
1471
|
+
getSimilarChannels(chatId: ID): Promise<ChatPChannel[]>;
|
|
1472
|
+
/**
|
|
1473
|
+
* Get similar bots. User-only.
|
|
1474
|
+
*
|
|
1475
|
+
* @method ch
|
|
1476
|
+
* @param chatId The identifier of a bot to get similar bots for.
|
|
1477
|
+
* @returns A list of similar bots.
|
|
1478
|
+
*/
|
|
1479
|
+
getSimilarBots(chatId: ID): Promise<ChatPPrivate[]>;
|
|
1447
1480
|
/**
|
|
1448
1481
|
* Send a callback query. User-only.
|
|
1449
1482
|
*
|