
    'i                     r    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	e      Zy
)zDThis module contains an object that represents a Telegram ChatPhoto.    )TYPE_CHECKINGFinal)	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dz  f
 fd
Zeeeeddde	e
   de	e
   de	e
   de	e
   d	edz  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dz  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         c/home/obispo/Crisostomo_bridge/mision_env/lib/python3.12/site-packages/telegram/_files/chatphoto.pyr   zChatPhoto.__init__T   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_filej   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	   floatr'   r*   r   ChatPhotoSizeSMALLr+   r   int__annotations__BIGr,   __classcell__)r   s   @r   r   r       s]   *XI '+ " 	
   tO2 )5)5+7(4&*
 uo
  	

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

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