o
    "h                     @   sp   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	 d	eZd
S )zDThis module contains an object that represents a Telegram ChatPhoto.    )TYPE_CHECKINGFinalOptional)	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e 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e 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e 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__ L/var/www/html/venv/lib/python3.10/site-packages/telegram/_files/chatphoto.pyr   S   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_filei      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   r	   floatr&   r(   r   ChatPhotoSizeSMALLr)   r   int__annotations__BIGr*   __classcell__r   r   r   r   r      sn   
 ,
"
r   N)r.   typingr   r   r   telegramr   telegram._telegramobjectr   telegram._utils.defaultvaluer   telegram._utils.typesr   r	   r
   r   r   r   r   r   <module>   s   