U
    g                     @   sl   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 erXddlmZ G dd	 d	e
Zd
S )zWThis module contains an object that represents a location to which a chat is connected.    )TYPE_CHECKINGFinalOptional)	constants)Location)TelegramObject)JSONDict)Botc                       s   e Zd ZU dZdZddeeee d fddZ	e
dee ed 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 )ChatLocationa  This object represents a location to which a chat is connected.

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

    Args:
        location (:class:`telegram.Location`): The location to which the supergroup is connected.
            Can't be a live location.
        address (:obj:`str`): Location address;
            :tg-const:`telegram.ChatLocation.MIN_ADDRESS`-
            :tg-const:`telegram.ChatLocation.MAX_ADDRESS` characters, as defined by the chat owner.
    Attributes:
        location (:class:`telegram.Location`): The location to which the supergroup is connected.
            Can't be a live location.
        address (:obj:`str`): Location address;
            :tg-const:`telegram.ChatLocation.MIN_ADDRESS`-
            :tg-const:`telegram.ChatLocation.MAX_ADDRESS` characters, as defined by the chat owner.

    )addresslocationN
api_kwargs)r   r   r   c                   s0   t  j|d || _|| _| jf| _|   d S )Nr   )super__init__r   r   Z	_id_attrsZ_freeze)selfr   r   r   	__class__ :/tmp/pip-unpacked-wheel-swnnwir2/telegram/_chatlocation.pyr   7   s
    
zChatLocation.__init__r	   )databotreturnc                    s8   |  |}|sdS t|d||d< t j||dS )z,See :meth:`telegram.TelegramObject.de_json`.Nr   )r   r   )Z_parse_datar   de_jsongetr   )clsr   r   r   r   r   r   F   s
    
zChatLocation.de_jsonMIN_ADDRESSMAX_ADDRESS)N)__name__
__module____qualname____doc__	__slots__r   strr   r   r   classmethodr   r   ZLocationLimitZMIN_CHAT_LOCATION_ADDRESSr   r   int__annotations__ZMAX_CHAT_LOCATION_ADDRESSr   __classcell__r   r   r   r   r
       s$   
  r
   N)r!   typingr   r   r   Ztelegramr   Ztelegram._files.locationr   Ztelegram._telegramobjectr   Ztelegram._utils.typesr   r	   r
   r   r   r   r   <module>   s   