Hide navigation sidebar
Hide table of contents sidebar
PTB has undergone significant changes in v20. Please read the documentation carefully and also check out the transition guide in the wiki.
Back to top
Toggle table of contents sidebar

# InputMediaDocument

class telegram.InputMediaDocument(media, caption=None, parse_mode=None, disable_content_type_detection=None, caption_entities=None, filename=None, thumbnail=None, *, api_kwargs=None)

  Bases: `telegram.InputMedia`

  Represents a general file to be sent.

  Use In

  - `telegram.Bot.edit_message_media()`

  - `telegram.Bot.send_media_group()`

  See also

  Working with Files and Media

  Changed in version 20.5: Removed the deprecated argument and attribute `thumb`.

  Parameters:

    - media (`str` | file object | `bytes` | `pathlib.Path` | `telegram.Document`) –

      File to send. Pass a `file_id` as String to send a file that exists on the Telegram servers (recommended), pass an HTTP URL as a String for Telegram to get a file from the Internet, or upload a new one. To upload a file, you can either pass a file object (e.g. `open("filename", "rb")`) or the file contents as bytes. If the bot is running in `local_mode`, passing the path of the file (as string or `pathlib.Path` object) is supported as well. Lastly you can pass an existing `telegram.Document` object to send.

      Changed in version 13.2: Accept `bytes` as input.

    - filename (`str`, optional) –

      Custom file name for the document, when uploading a new file. Convenience parameter, useful e.g. when sending files generated by the `tempfile` module.

      New in version 13.1.

    - caption (`str`, optional) – Caption of the document to be sent, 0-`1024` characters after entities parsing.

    - parse_mode (`str`, optional) – Mode for parsing entities. See `telegram.constants.ParseMode` and formatting options for more details.

    - caption_entities (Sequence[`telegram.MessageEntity`], optional) –

      Sequence of special entities that appear in the caption, which can be specified instead of `parse_mode`.

      Changed in version 20.0: Accepts any `collections.abc.Sequence` as input instead of just a list. The input is converted to a tuple.

    - disable_content_type_detection (`bool`, optional) – Disables automatic server-side content type detection for files uploaded using multipart/form-data. Always `True`, if the document is sent as part of an album.

    - thumbnail (file object | `bytes` | `pathlib.Path` | `str`, optional) –

      Thumbnail of the file sent; can be ignored if thumbnail generation for the file is supported server-side. The thumbnail should be in JPEG format and less than 200 kB in size. A thumbnail’s width and height should not exceed 320. Ignored if the file is not uploaded using multipart/form-data. Thumbnails can’t be reused and can be only uploaded as a new file. To upload a file, you can either pass a file object (e.g. `open("filename", "rb")`) or the file contents as bytes. If the bot is running in `local_mode`, passing the path of the file (as string or `pathlib.Path` object) is supported as well.

      New in version 20.2.

  type

    `'document'`.

    Type:

      `str`

  media

    File to send.

    Type:

      `str` | `telegram.InputFile`

  caption

    Optional. Caption of the document to be sent, 0-`1024` characters after entities parsing.

    Type:

      `str`

  parse_mode

    Optional. Mode for parsing entities. See `telegram.constants.ParseMode` and formatting options for more details.

    Type:

      `str`

  caption_entities

    Optional. Tuple of special entities that appear in the caption, which can be specified instead of `parse_mode`.

    Changed in version 20.0:

    - This attribute is now an immutable tuple.

    - This attribute is now always a tuple, that may be empty.

    Type:

      Tuple[`telegram.MessageEntity`]

  disable_content_type_detection

    Optional. Disables automatic server-side content type detection for files uploaded using multipart/form-data. Always `True`, if the document is sent as part of an album.

    Type:

      `bool`

  thumbnail

    Optional. Thumbnail of the file sent; can be ignored if thumbnail generation for the file is supported server-side. The thumbnail should be in JPEG format and less than 200 kB in size. A thumbnail’s width and height should not exceed 320. Ignored if the file is not uploaded using multipart/form-data. Thumbnails can’t be reused and can be only uploaded as a new file.

    New in version 20.2.

    Type:

      `telegram.InputFile`