
    ՟f                     v    d Z ddlmZ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	e      Zy
)zDThis module contains an object that represents a Telegram ChatPhoto.    )TYPE_CHECKINGFinalOptional)	constants)TelegramObject)DEFAULT_NONE)JSONDictODVInput)Filec                   \    e Zd ZU dZdZdddedededed	ee   f
 fd
Ze	e	e	e	ddde
e   de
e   de
e   de
e   d	ee   ddfdZe	e	e	e	ddde
e   de
e   de
e   de
e   d	ee   ddfdZej                  j                   Zee   ed<   	 ej                  j*                  Zee   ed<    x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                    t         |   |       || _        || _        || _        || _        | j                  | j
                  f| _        | j                          y )Nr   )super__init__r   r   r   r   	_id_attrs_freeze)selfr   r   r   r   r   	__class__s         T/var/www/cvtools/html/venv/lib/python3.12/site-packages/telegram/_files/chatphoto.pyr   zChatPhoto.__init__S   s]     	J/"/)=! +'9 %%##

 	    )read_timeoutwrite_timeoutconnect_timeoutpool_timeoutr   r   r   r   r    returnr   c                |   K   | j                         j                  | j                  |||||       d{   S 7 w)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   s         r   get_small_filezChatPhoto.get_small_filei   sH     , \\^,,&&%'+%! - 
 
 	
 
   3<:<c                |   K   | j                         j                  | j                  |||||       d{   S 7 w)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'   s         r   get_big_filezChatPhoto.get_big_file   sH     , \\^,,$$%'+%! - 
 
 	
 
r)   
SIZE_SMALLSIZE_BIG)__name__
__module____qualname____doc__	__slots__strr   r	   r   r   r
   floatr(   r+   r   ChatPhotoSizeSMALLr,   r   int__annotations__BIGr-   __classcell__)r   s   @r   r   r      s`   *XI *. " 	
   X&2 )5)5+7(4)-
 uo
  	

 "%
 uo
 X&
 

D )5)5+7(4)-
 uo
  	

 "%
 uo
 X&
 

> '44::Jc
: %2266HeCj6r   r   N)r1   typingr   r   r   telegramr   telegram._telegramobjectr   telegram._utils.defaultvaluer   telegram._utils.typesr	   r
   r   r    r   r   <module>rA      s1   & K 1 1  3 5 4Q Qr   