
    di                     z    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d
S )zDThis module contains an object that represents a Telegram ChatPhoto.    )TYPE_CHECKINGFinal)	constants)TelegramObject)DEFAULT_NONE)JSONDictODVInput)Filec                   p    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| _        |                                  d S )Nr   )super__init__r   r   r   r   	_id_attrs_freeze)selfr   r   r   r   r   	__class__s         V/root/projects/qq-shell/venv/lib/python3.11/site-packages/telegram/_files/chatphoto.pyr   zChatPhoto.__init__T   sj     	J///"/)=! +'9 %#

 	    )read_timeoutwrite_timeoutconnect_timeoutpool_timeoutr   r   r   r   r   returnr
   c                v   K   |                                                      | j        |||||           d{V 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   s         r   get_small_filezChatPhoto.get_small_filej   s`      , \\^^,,&%'+%! - 
 
 
 
 
 
 
 
 	
r   c                v   K   |                                                      | j        |||||           d{V S )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   s`      , \\^^,,$%'+%! - 
 
 
 
 
 
 
 
 	
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:Jc
::: %26HeCj666   r   r   N)r/   typingr   r   telegramr   telegram._telegramobjectr   telegram._utils.defaultvaluer   telegram._utils.typesr   r	   r
   r    r   r   <module>r?      s   & K J ' ' ' ' ' ' ' '       3 3 3 3 3 3 5 5 5 5 5 5 4 4 4 4 4 4 4 4 Q Q Q Q Q Q Q Q Q Qr   