LinkPreviewOptions

class pyrogram.types.LinkPreviewOptions

Options for link preview generation in a message (Bot API style).

Use this with send_message() as the link_preview_options parameter. It maps to the underlying MTProto fields as follows:

  • is_disabledno_webpage=True on messages.SendMessage

  • urlurl field on inputMediaWebPage

  • prefer_large_mediaforce_large_media=True on inputMediaWebPage

  • prefer_small_mediaforce_small_media=True on inputMediaWebPage

  • show_above_textinvert_media=True on messages.SendMessage / messages.SendMedia

Parameters:
  • is_disabled (bool, optional) – True to disable link preview entirely. Equivalent to the legacy disable_web_page_preview=True parameter.

  • url (str, optional) – Specific URL to use for the preview. Telegram will generate the preview from this URL instead of the first URL found in the text.

  • prefer_large_media (bool, optional) – True to force a large preview image. Mutually exclusive with prefer_small_media.

  • prefer_small_media (bool, optional) – True to force a small preview image. Mutually exclusive with prefer_large_media.

  • show_above_text (bool, optional) – True to place the link preview above the message text instead of below it.

Example

from pyrogram.types import LinkPreviewOptions

# Disable preview
await app.send_message(
    "me", "https://pyrogram.org",
    link_preview_options=LinkPreviewOptions(is_disabled=True)
)

# Force large image and show above text
await app.send_message(
    "me", "Check this out: https://pyrogram.org",
    link_preview_options=LinkPreviewOptions(
        prefer_large_media=True,
        show_above_text=True
    )
)

# Preview a specific URL that differs from the text link
await app.send_message(
    "me", "Click here",
    link_preview_options=LinkPreviewOptions(url="https://pyrogram.org")
)