upload.GetFile
Returns content of a whole file or its part.
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.GetFile({
location: new Api.InputFileLocation({
volumeId: BigInt("-4156887774564"),
localId: 43,
secret: BigInt("-4156887774564"),
fileReference: Buffer.from("arbitrary data here"),
}),
offset: BigInt("-4156887774564"),
limit: 100,
precise: true,
cdnSupported: true,
})
);
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.upload.File = await client.invoke(
new Api.upload.GetFile({
location: new Api.InputFileLocation({
volumeId: BigInt("-4156887774564"),
localId: 43,
secret: BigInt("-4156887774564"),
fileReference: Buffer.from("arbitrary data here"),
}),
offset: BigInt("-4156887774564"),
limit: 100,
precise: true,
cdnSupported: true,
})
);
console.log(result); // prints the result
})();
Parameters
Name | Type | Description |
---|---|---|
flags | # | Flags, see TL conditional fields |
precise | flags.0?true | Disable some checks on limit and offset values, useful for example to stream videos by keyframes |
cdnSupported | flags.1?true | Whether the current client supports CDN downloads |
location | InputFileLocation | File location |
offset | int | Number of bytes to be skipped |
limit | int | Number of bytes to be returned |
Result
Possible errors
Code | Type | Description |
---|---|---|
400 | CHANNEL_INVALID | The provided channel is invalid. |
400 | CHANNEL_PRIVATE | You haven't joined this channel/supergroup. |
400 | FILE_REFERENCE_* | The file reference expired, it must be refreshed. |
406 | FILEREF_UPGRADE_NEEDED | The client has to be updated in order to support file references. |
400 | FILE_ID_INVALID | The provided file id is invalid. |
400 | FILE_REFERENCE_EXPIRED | File reference expired, it must be refetched as described in the documentation. |
400 | LIMIT_INVALID | The provided limit is invalid. |
400 | LOCATION_INVALID | The provided location is invalid. |
400 | MSG_ID_INVALID | Invalid message ID provided. |
400 | OFFSET_INVALID | The provided offset is invalid. |
400 | PEER_ID_INVALID | The provided peer id is invalid. |
Can bots use this method?
Yes
Related pages
Encrypted CDNs for Speed and Security
How to handle file references.
File references
How to handle file references.