o
    Zzj¦  ã                   @   sl   d Z ddlmZmZ ddlmZ ddlmZ ddlm	Z	 ddl
mZmZ er,ddlmZ G dd	„ d	eƒZd
S )zDThis module contains an object that represents a Telegram ChatPhoto.é    )ÚTYPE_CHECKINGÚFinal)Ú	constants)ÚTelegramObject)ÚDEFAULT_NONE)ÚJSONDictÚODVInput)ÚFilec                       sø   e Zd ZU dZdZddœdedededed	edB f
‡ fd
d„Zeeeeddœde	e
 de	e
 de	e
 de	e
 d	edB ddfdd„Zeeeeddœde	e
 de	e
 de	e
 de	e
 d	edB ddfdd„ZejjZee ed< 	 ejjZee ed< ‡  ZS )Ú	ChatPhotoaš
  This object represents a chat photo.

    Objects of this class are comparable in terms of equality. Two objects of this class are
    considered equal, if their :attr:`small_file_unique_id` and :attr:`big_file_unique_id` are
    equal.

    Args:
        small_file_id (:obj:`str`): File identifier of small
            (:tg-const:`telegram.ChatPhoto.SIZE_SMALL` x :tg-const:`telegram.ChatPhoto.SIZE_SMALL`)
            chat photo. This file_id can be used only for photo download and only for as long
            as the photo is not changed.
        small_file_unique_id (:obj:`str`): Unique file identifier of small
            (:tg-const:`telegram.ChatPhoto.SIZE_SMALL` x :tg-const:`telegram.ChatPhoto.SIZE_SMALL`)
            chat photo, which is supposed to be the same over time and for different bots.
            Can't be used to download or reuse the file.
        big_file_id (:obj:`str`): File identifier of big
            (:tg-const:`telegram.ChatPhoto.SIZE_BIG` x :tg-const:`telegram.ChatPhoto.SIZE_BIG`)
            chat photo. This file_id can be used only for photo download and only for as long as
            the photo is not changed.
        big_file_unique_id (:obj:`str`): Unique file identifier of big
            (:tg-const:`telegram.ChatPhoto.SIZE_BIG` x :tg-const:`telegram.ChatPhoto.SIZE_BIG`)
            chat photo, which is supposed to be the same over time and for different bots.
            Can't be used to download or reuse the file.

    Attributes:
        small_file_id (:obj:`str`): File identifier of small
            (:tg-const:`telegram.ChatPhoto.SIZE_SMALL` x :tg-const:`telegram.ChatPhoto.SIZE_SMALL`)
            chat photo. This file_id can be used only for photo download and only for as long
            as the photo is not changed.
        small_file_unique_id (:obj:`str`): Unique file identifier of small
            (:tg-const:`telegram.ChatPhoto.SIZE_SMALL` x :tg-const:`telegram.ChatPhoto.SIZE_SMALL`)
            chat photo, which is supposed to be the same over time and for different bots.
            Can't be used to download or reuse the file.
        big_file_id (:obj:`str`): File identifier of big
            (:tg-const:`telegram.ChatPhoto.SIZE_BIG` x :tg-const:`telegram.ChatPhoto.SIZE_BIG`)
            chat photo. This file_id can be used only for photo download and only for as long as
            the photo is not changed.
        big_file_unique_id (:obj:`str`): Unique file identifier of big
            (:tg-const:`telegram.ChatPhoto.SIZE_BIG` x :tg-const:`telegram.ChatPhoto.SIZE_BIG`)
            chat photo, which is supposed to be the same over time and for different bots.
            Can't be used to download or reuse the file.

    )Úbig_file_idÚbig_file_unique_idÚsmall_file_idÚsmall_file_unique_idN©Ú
api_kwargsr   r   r   r   r   c                   s@   t ƒ j|d� || _|| _|| _|| _| j| jf| _|  ¡  d S )Nr   )ÚsuperÚ__init__r   r   r   r   Ú	_id_attrsÚ_freeze)Úselfr   r   r   r   r   ©Ú	__class__© úT/var/www/kodo/tsheker/venv/lib/python3.10/site-packages/telegram/_files/chatphoto.pyr   T   s   	þzChatPhoto.__init__)Úread_timeoutÚwrite_timeoutÚconnect_timeoutÚpool_timeoutr   r   r   r   r   Úreturnr	   c                Ã   ó$   �|   ¡ j| j|||||d�I dH S )aœ  Convenience wrapper over :meth:`telegram.Bot.get_file` for getting the small
        (:tg-const:`telegram.ChatPhoto.SIZE_SMALL` x :tg-const:`telegram.ChatPhoto.SIZE_SMALL`)
        chat photo

        For the documentation of the arguments, please see :meth:`telegram.Bot.get_file`.

        Returns:
            :class:`telegram.File`

        Raises:
            :class:`telegram.error.TelegramError`

        ©Úfile_idr   r   r   r   r   N)Úget_botÚget_filer   ©r   r   r   r   r   r   r   r   r   Úget_small_filej   ó   €úzChatPhoto.get_small_filec                Ã   r   )a–  Convenience wrapper over :meth:`telegram.Bot.get_file` for getting the
        big (:tg-const:`telegram.ChatPhoto.SIZE_BIG` x :tg-const:`telegram.ChatPhoto.SIZE_BIG`)
        chat photo

        For the documentation of the arguments, please see :meth:`telegram.Bot.get_file`.

        Returns:
            :class:`telegram.File`

        Raises:
            :class:`telegram.error.TelegramError`

        r    N)r"   r#   r   r$   r   r   r   Úget_big_file‰   r&   zChatPhoto.get_big_fileÚ
SIZE_SMALLÚSIZE_BIG)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú	__slots__Ústrr   r   r   r   Úfloatr%   r'   r   ÚChatPhotoSizeÚSMALLr(   r   ÚintÚ__annotations__ÚBIGr)   Ú__classcell__r   r   r   r   r
       sn   
 ,ùþýüûùùýüûúù
ø"ùýüûúù
ør
   N)r-   Útypingr   r   Útelegramr   Útelegram._telegramobjectr   Útelegram._utils.defaultvaluer   Útelegram._utils.typesr   r   r	   r
   r   r   r   r   Ú<module>   s   