UNPKG

tgsnake

Version:

Telegram MTProto framework for nodejs.

30 lines (29 loc) 1.35 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getMessages = getMessages; const platform_node_js_1 = require("../../platform.node.js"); const Utilities_js_1 = require("../../Utilities.js"); async function getMessages(client, chatId, messageIds = [], replyToMessageIds = [], replies = 1) { if (!messageIds.length && !replyToMessageIds.length) { throw new Error('Missing argument'); } let parsedMsgIds = messageIds.length ? messageIds.map((id) => new platform_node_js_1.Raw.InputMessageID({ id: id })) : replyToMessageIds.length ? replyToMessageIds.map((id) => new platform_node_js_1.Raw.InputMessageReplyTo({ id: id })) : []; if (replies < 0) replies = (1 << 31) - 1; let peer = await client._client.resolvePeer(chatId); if (peer instanceof platform_node_js_1.Raw.InputPeerChannel) { let msg = await client._client.invoke(new platform_node_js_1.Raw.channels.GetMessages({ channel: peer, id: parsedMsgIds, })); return await (0, Utilities_js_1.parseMessages)(client, msg, replies); } let msg = await client._client.invoke(new platform_node_js_1.Raw.messages.GetMessages({ id: parsedMsgIds, })); return await (0, Utilities_js_1.parseMessages)(client, msg, replies); }