U
    g                     @   sL   d Z ddlmZ ddlmZ ddlmZ ddlmZm	Z	 G dd deZ
dS )	z2This module contains the LinkPreviewOptions class.    )Optional)TelegramObject)DEFAULT_NONE)JSONDictODVInputc                	       s^   e Zd ZdZdZeeeeefddee ee ee ee ee e	e
 d fddZ  ZS )LinkPreviewOptionsa  
    Describes the options used for link preview generation.

    Objects of this class are comparable in terms of equality. Two objects of this class are
    considered equal, if their :attr:`is_disabled`, :attr:`url`, :attr:`prefer_small_media`,
    :attr:`prefer_large_media`, and :attr:`show_above_text` are equal.

    .. versionadded:: 20.8

    Args:
        is_disabled (:obj:`bool`, optional): :obj:`True`, if the link preview is disabled.
        url (:obj:`str`, optional): The URL to use for the link preview. If empty, then the first
            URL found in the message text will be used.
        prefer_small_media (:obj:`bool`, optional): :obj:`True`, if the media in the link preview
            is supposed to be shrunk; ignored if the URL isn't explicitly specified or media size
            change isn't supported for the preview.
        prefer_large_media (:obj:`bool`, optional): :obj:`True`, if the media in the link preview
            is supposed to be enlarged; ignored if the URL isn't explicitly specified or media
            size change isn't supported for the preview.
        show_above_text (:obj:`bool`, optional): :obj:`True`, if the link preview must be shown
            above the message text; otherwise, the link preview will be shown below the message
            text.

    Attributes:
        is_disabled (:obj:`bool`): Optional. :obj:`True`, if the link preview is disabled.
        url (:obj:`str`): Optional. The URL to use for the link preview. If empty, then the first
            URL found in the message text will be used.
        prefer_small_media (:obj:`bool`): Optional. :obj:`True`, if the media in the link preview
            is supposed to be shrunk; ignored if the URL isn't explicitly specified or media size
            change isn't supported for the preview.
        prefer_large_media (:obj:`bool`): Optional. :obj:`True`, if the media in the link preview
            is supposed to be enlarged; ignored if the URL isn't explicitly specified or media size
            change isn't supported for the preview.
        show_above_text (:obj:`bool`): Optional. :obj:`True`, if the link preview must be shown
            above the message text; otherwise, the link preview will be shown below the message
            text.
    )is_disabledprefer_large_mediaprefer_small_mediashow_above_texturlN
api_kwargs)r   r   r
   r	   r   r   c                   sR   t  j|d || _|| _|| _|| _|| _| j| j| j| j| jf| _|   d S )Nr   )	super__init__r   r   r
   r	   r   Z	_id_attrsZ_freeze)selfr   r   r
   r	   r   r   	__class__ @/tmp/pip-unpacked-wheel-swnnwir2/telegram/_linkpreviewoptions.pyr   L   s    
zLinkPreviewOptions.__init__)__name__
__module____qualname____doc__	__slots__r   r   boolstrr   r   r   __classcell__r   r   r   r   r      s"   &
r   N)r   typingr   Ztelegram._telegramobjectr   Ztelegram._utils.defaultvaluer   Ztelegram._utils.typesr   r   r   r   r   r   r   <module>   s
   