U
    gI                     @   sL   d Z ddlmZmZ ddlmZ ddlmZ ddlm	Z	 G dd deZ
dS )	zUThis module contains the classes that represent Telegram InputLocationMessageContent.    )FinalOptional)	constants)InputMessageContent)JSONDictc                
       s   e Zd ZU dZdZdddeeee ee ee ee ee d fddZ	e
jjZee ed< e
jjZee ed	< e
jjZee ed
< e
jjZee ed< e
jjZee ed< e
jjZee ed< e
jjZee ed<   ZS )InputLocationMessageContentaM  
    Represents the content of a location message to be sent as the result of an inline query.

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

    Args:
        latitude (:obj:`float`): Latitude of the location in degrees.
        longitude (:obj:`float`): Longitude of the location in degrees.
        horizontal_accuracy (:obj:`float`, optional): The radius of uncertainty for the location,
            measured in meters; 0-
            :tg-const:`telegram.InputLocationMessageContent.HORIZONTAL_ACCURACY`.
        live_period (:obj:`int`, optional): Period in seconds for which the location will be
            updated, should be between
            :tg-const:`telegram.InputLocationMessageContent.MIN_LIVE_PERIOD` and
            :tg-const:`telegram.InputLocationMessageContent.MAX_LIVE_PERIOD` or
            :tg-const:`telegram.constants.LocationLimit.LIVE_PERIOD_FOREVER` for live
            locations that can be edited indefinitely.
        heading (:obj:`int`, optional): For live locations, a direction in which the user is
            moving, in degrees. Must be between
            :tg-const:`telegram.InputLocationMessageContent.MIN_HEADING` and
            :tg-const:`telegram.InputLocationMessageContent.MAX_HEADING` if specified.
        proximity_alert_radius (:obj:`int`, optional): For live locations, a maximum distance
            for proximity alerts about approaching another chat member, in meters. Must be
            between :tg-const:`telegram.InputLocationMessageContent.MIN_PROXIMITY_ALERT_RADIUS`
            and :tg-const:`telegram.InputLocationMessageContent.MAX_PROXIMITY_ALERT_RADIUS`
            if specified.

    Attributes:
        latitude (:obj:`float`): Latitude of the location in degrees.
        longitude (:obj:`float`): Longitude of the location in degrees.
        horizontal_accuracy (:obj:`float`): Optional. The radius of uncertainty for the location,
            measured in meters; 0-
            :tg-const:`telegram.InputLocationMessageContent.HORIZONTAL_ACCURACY`.
        live_period (:obj:`int`): Optional. Period in seconds for which the location can be
            updated, should be between
            :tg-const:`telegram.InputLocationMessageContent.MIN_LIVE_PERIOD` and
            :tg-const:`telegram.InputLocationMessageContent.MAX_LIVE_PERIOD`.
        heading (:obj:`int`): Optional. For live locations, a direction in which the user is
            moving, in degrees. Must be between
            :tg-const:`telegram.InputLocationMessageContent.MIN_HEADING` and
            :tg-const:`telegram.InputLocationMessageContent.MAX_HEADING` if specified.
        proximity_alert_radius (:obj:`int`): Optional. For live locations, a maximum distance
            for proximity alerts about approaching another chat member, in meters. Must be
            between :tg-const:`telegram.InputLocationMessageContent.MIN_PROXIMITY_ALERT_RADIUS`
            and :tg-const:`telegram.InputLocationMessageContent.MAX_PROXIMITY_ALERT_RADIUS`
            if specified.

    )headinghorizontal_accuracylatitudelive_period	longitudeproximity_alert_radiusN
api_kwargs)r
   r   r   r	   r   r   r   c             	      sd   t  j|d |  D || _|| _|| _|| _|| _|rBt|nd | _	| j| jf| _
W 5 Q R X d S )Nr   )super__init__Z	_unfrozenr
   r   r   r	   r   intr   Z	_id_attrs)selfr
   r   r   r	   r   r   r   	__class__ P/tmp/pip-unpacked-wheel-swnnwir2/telegram/_inline/inputlocationmessagecontent.pyr   Y   s    
z$InputLocationMessageContent.__init__HORIZONTAL_ACCURACYMIN_HEADINGMAX_HEADINGMIN_LIVE_PERIODMAX_LIVE_PERIODMIN_PROXIMITY_ALERT_RADIUSMAX_PROXIMITY_ALERT_RADIUS)NNNN)__name__
__module____qualname____doc__	__slots__floatr   r   r   r   r   ZLocationLimitr   r   __annotations__r   r   r   r   r   r   __classcell__r   r   r   r   r      s2   
2    	r   N)r"   typingr   r   Ztelegramr   Z$telegram._inline.inputmessagecontentr   Ztelegram._utils.typesr   r   r   r   r   r   <module>   s
   