feat(client): support downloading from file ids

This commit is contained in:
teidesu 2021-05-01 21:10:49 +03:00
parent 9303d0841a
commit 2034ae8b28
2 changed files with 7 additions and 2 deletions

View file

@ -8,6 +8,7 @@ import {
FileDownloadParameters,
FileLocation,
} from '../../types'
import { fileIdToInputFileLocation } from '@mtcute/file-id'
/**
* Download a file and return it as an iterable, which yields file contents
@ -52,6 +53,9 @@ export async function* downloadAsIterable(
if (!fileSize) fileSize = location.fileSize
location = location.location as any
}
if (typeof location === 'string') {
location = fileIdToInputFileLocation(location)
}
// we will receive a FileMigrateError in case this is invalid
if (!dcId) dcId = this._primaryDc.id

View file

@ -49,9 +49,10 @@ export type InputFileLike =
export interface FileDownloadParameters {
/**
* File location which should be downloaded
* File location which should be downloaded.
* You can also provide TDLib and Bot API compatible File ID
*/
location: tl.TypeInputFileLocation | FileLocation
location: tl.TypeInputFileLocation | FileLocation | string
/**
* Total file size, if known.