mirror of
https://github.com/aiogram/aiogram.git
synced 2026-04-08 16:37:47 +00:00
28 lines
1.3 KiB
Python
28 lines
1.3 KiB
Python
from __future__ import annotations
|
|
|
|
from typing import TYPE_CHECKING, Any, Dict
|
|
|
|
from ..types import File
|
|
from .base import Request, TelegramMethod
|
|
|
|
if TYPE_CHECKING: # pragma: no cover
|
|
from ..client.bot import Bot
|
|
|
|
|
|
class GetFile(TelegramMethod[File]):
|
|
"""
|
|
Use this method to get basic info about a file and prepare it for downloading. For the moment, bots can download files of up to 20MB in size. On success, a `File <https://core.telegram.org/bots/api#file>`_ object is returned. The file can then be downloaded via the link :code:`https://api.telegram.org/file/bot<token>/<file_path>`, where :code:`<file_path>` is taken from the response. It is guaranteed that the link will be valid for at least 1 hour. When the link expires, a new one can be requested by calling `getFile <https://core.telegram.org/bots/api#getfile>`_ again.
|
|
**Note:** This function may not preserve the original file name and MIME type. You should save the file's MIME type and name (if available) when the File object is received.
|
|
|
|
Source: https://core.telegram.org/bots/api#getfile
|
|
"""
|
|
|
|
__returning__ = File
|
|
|
|
file_id: str
|
|
"""File identifier to get info about"""
|
|
|
|
def build_request(self, bot: Bot) -> Request:
|
|
data: Dict[str, Any] = self.dict()
|
|
|
|
return Request(method="getFile", data=data)
|