tgsnake
Version:
Telegram MTProto framework for nodejs.
30 lines (29 loc) • 1.35 kB
JavaScript
;
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);
}