GramJS

⚠️ This project is archived and no longer maintained. Development continues in teleproto, an actively maintained fork. It's largely compatible with GramJS for most projects, migration means little more than swapping the package:
npm install teleproto
See the migration guide for details.

messages.GetDocumentByHash

Get a document by its SHA256 hash, mainly used for gifs

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.GetDocumentByHash({
      sha256: Buffer.from("arbitrary data here"),
      size: BigInt("-4156887774564"),
      mimeType: "some string here",
    })
  );
  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.Document = await client.invoke(
    new Api.messages.GetDocumentByHash({
      sha256: Buffer.from("arbitrary data here"),
      size: BigInt("-4156887774564"),
      mimeType: "some string here",
    })
  );
  console.log(result); // prints the result
})();

Parameters

NameTypeDescription
sha256bytesSHA256 of file
sizeintSize of the file in bytes
mimeTypestringMime type

Result

Document

Possible errors

CodeTypeDescription
400SHA256_HASH_INVALIDThe provided SHA256 hash is invalid.

Can bots use this method?

Yes