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.

upload.GetCdnFileHashes

Get SHA256 hashes for verifying downloaded CDN files

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.upload.GetCdnFileHashes({
      fileToken: Buffer.from("arbitrary data here"),
      offset: BigInt("-4156887774564"),
    })
  );
  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.Vector<FileHash> = await client.invoke(
    new Api.upload.GetCdnFileHashes({
      fileToken: Buffer.from("arbitrary data here"),
      offset: BigInt("-4156887774564"),
    })
  );
  console.log(result); // prints the result
})();

Parameters

NameTypeDescription
fileTokenbytesFile
offsetintOffset from which to start getting hashes

Result

Vector<FileHash>

Possible errors

CodeTypeDescription
400CDN_METHOD_INVALIDYou can't call this method in a CDN DC.
400RSA_DECRYPT_FAILEDInternal RSA decryption failed.

Can bots use this method?

Yes

Encrypted CDNs for Speed and Security