GramJS

messages.GetHistory

Gets back the conversation history with one interlocutor / within a chat

Example

const { Api, TelegramClient } = require("telegram");
const { StringSession } = require("telegram/sessions");

const session = new StringSession(""); // You should put your string session here
const client = new TelegramClient(session, apiId, apiHash, {});

(async function run() {
  await client.connect(); // This assumes you have already authenticated with .start()

  const result = await client.invoke(
    new Api.messages.GetHistory({
      peer: "username",
      offsetId: 43,
      offsetDate: 43,
      addOffset: 0,
      limit: 100,
      maxId: 0,
      minId: 0,
      hash: 0,
    })
  );
  console.log(result); // prints the result
})();
import { Api, TelegramClient } from "telegram";
import { StringSession } from "telegram/sessions";

const session = new StringSession(""); // You should put your string session here
const client = new TelegramClient(session, apiId, apiHash, {});

(async function run() {
  await client.connect(); // This assumes you have already authenticated with .start()

  const result: Api.messages.Messages = await client.invoke(
    new Api.messages.GetHistory({
      peer: "username",
      offsetId: 43,
      offsetDate: 43,
      addOffset: 0,
      limit: 100,
      maxId: 0,
      minId: 0,
      hash: 0,
    })
  );
  console.log(result); // prints the result
})();

Parameters

NameTypeDescription
peerInputPeerTarget peer
offsetIdintOnly return messages starting from the specified message ID
offsetDateintOnly return messages sent before the specified date
addOffsetintNumber of list elements to be skipped, negative values are also accepted.
limitintNumber of results to return
maxIdintIf a positive value was transferred, the method will return only messages with IDs less than max_id
minIdintIf a positive value was transferred, the method will return only messages with IDs more than min_id
hashintResult hash

Result

messages.Messages

Possible errors

CodeTypeDescription
401AUTH_KEY_PERM_EMPTYThe temporary auth key must be binded to the permanent auth key to use these methods.
400CHANNEL_INVALIDThe provided channel is invalid
400CHANNEL_PRIVATEYou haven't joined this channel/supergroup
400CHAT_ID_INVALIDThe provided chat id is invalid
400CONNECTION_DEVICE_MODEL_EMPTYDevice model empty
400MSG_ID_INVALIDInvalid message ID provided
400PEER_ID_INVALIDThe provided peer id is invalid

Can bots use this method?

No

Pagination in the API

How to fetch results from large lists of objects.