GramJS

messages.SearchGlobal

Search for messages and peers globally

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.SearchGlobal({
      q: "some string here",
      filter: new Api.InputMessagesFilterPhotos({}),
      minDate: 43,
      maxDate: 43,
      offsetRate: 43,
      offsetPeer: "username",
      offsetId: 43,
      limit: 100,
      folderId: 43,
    })
  );
  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.SearchGlobal({
      q: "some string here",
      filter: new Api.InputMessagesFilterPhotos({}),
      minDate: 43,
      maxDate: 43,
      offsetRate: 43,
      offsetPeer: "username",
      offsetId: 43,
      limit: 100,
      folderId: 43,
    })
  );
  console.log(result); // prints the result
})();

Parameters

NameTypeDescription
flags#Flags, see TL conditional fields
folderIdflags.0?intPeer folder ID, for more info click here
qstringQuery
filterMessagesFilterGlobal search filter
minDateintIf a positive value was specified, the method will return only messages with date bigger than min_date
maxDateintIf a positive value was transferred, the method will return only messages with date smaller than max_date
offsetRateintInitially 0, then set to the next_rate parameter of messages.messagesSlice
offsetPeerInputPeerOffsets for pagination, for more info click here
offsetIdintOffsets for pagination, for more info click here
limitintOffsets for pagination, for more info click here

Result

messages.Messages

Possible errors

CodeTypeDescription
400FOLDER_ID_INVALIDInvalid folder ID.
400SEARCH_QUERY_EMPTYThe search query is empty.

Can bots use this method?

No

Folders

Telegram allows placing chats into folders, based on their type, mute status, or other custom criteria, thanks to folder blacklists and whitelists.

messages.messagesSlice

Incomplete list of messages and auxiliary data.

Pagination in the API

How to fetch results from large lists of objects.