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

# InputMedia

class telegram.InputMedia(media_type, media, caption=None, caption_entities=None, parse_mode=None, *, api_kwargs=None)

  Bases: `telegram.TelegramObject`

  Base class for Telegram InputMedia Objects.

  Use In

  `telegram.Bot.edit_message_media()`

  Changed in version 20.0: Added arguments and attributes `type`, `media`, `caption`, `caption_entities`, `parse_mode`.

  See also

  Working with Files and Media

  Parameters:

    - media_type (`str`) – Type of media that the instance represents.

    - media (`str` | file object | `bytes` | `pathlib.Path` | `telegram.Animation` | `telegram.Audio` | `telegram.Document` | `telegram.PhotoSize` | `telegram.Video`) – 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 media object of the corresponding type to send.

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

    - 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.

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

  type

    Type of the input media.

    Type:

      `str`

  media

    Media to send.

    Type:

      `str` | `telegram.InputFile`

  caption

    Optional. Caption of the media 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`]