
    i&                         d Z ddl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 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 )zSThis module contains the classes that represent Telegram InlineQueryResultLocation.    N)TYPE_CHECKINGFinal)	constants)InlineKeyboardMarkup)InlineQueryResult)to_timedelta)get_timedelta_value)JSONDict
TimePeriod)InputMessageContentc                   2    e Zd ZU dZdZ	 	 	 	 	 	 	 	 	 ddddedededed	edz  d
edz  dddedz  de	dz  de	dz  dedz  de	dz  de	dz  de
dz  f fdZede	ej        z  dz  f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<    xZS )InlineQueryResultLocationa  
    Represents a location on a map. By default, the location will be sent by the user.
    Alternatively, you can use :attr:`input_message_content` to send a message with the specified
    content instead of the location.

    .. versionchanged:: 20.5
        |removed_thumb_wildcard_note|

    Args:
        id (:obj:`str`): Unique identifier for this result,
            :tg-const:`telegram.InlineQueryResult.MIN_ID_LENGTH`-
            :tg-const:`telegram.InlineQueryResult.MAX_ID_LENGTH` Bytes.
        latitude (:obj:`float`): Location latitude in degrees.
        longitude (:obj:`float`): Location longitude in degrees.
        title (:obj:`str`): Location title.
        horizontal_accuracy (:obj:`float`, optional): The radius of uncertainty for the location,
            measured in meters; 0-
            :tg-const:`telegram.InlineQueryResultLocation.HORIZONTAL_ACCURACY`.
        live_period (:obj:`int` | :class:`datetime.timedelta`, optional): Period in seconds for
            which the location will be updated, should be between
            :tg-const:`telegram.InlineQueryResultLocation.MIN_LIVE_PERIOD` and
            :tg-const:`telegram.InlineQueryResultLocation.MAX_LIVE_PERIOD`.

            .. versionchanged:: v22.2
                |time-period-input|
        heading (:obj:`int`, optional): For live locations, a direction in which the user is
            moving, in degrees. Must be between
            :tg-const:`telegram.InlineQueryResultLocation.MIN_HEADING` and
            :tg-const:`telegram.InlineQueryResultLocation.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.InlineQueryResultLocation.MIN_PROXIMITY_ALERT_RADIUS`
            and :tg-const:`telegram.InlineQueryResultLocation.MAX_PROXIMITY_ALERT_RADIUS`
            if specified.
        reply_markup (:class:`telegram.InlineKeyboardMarkup`, optional): Inline keyboard attached
            to the message.
        input_message_content (:class:`telegram.InputMessageContent`, optional): Content of the
            message to be sent instead of the location.
        thumbnail_url (:obj:`str`, optional): Url of the thumbnail for the result.

            .. versionadded:: 20.2
        thumbnail_width (:obj:`int`, optional): Thumbnail width.

            .. versionadded:: 20.2
        thumbnail_height (:obj:`int`, optional): Thumbnail height.

            .. versionadded:: 20.2

    Attributes:
        type (:obj:`str`): :tg-const:`telegram.constants.InlineQueryResultType.LOCATION`.
        id (:obj:`str`): Unique identifier for this result,
            :tg-const:`telegram.InlineQueryResult.MIN_ID_LENGTH`-
            :tg-const:`telegram.InlineQueryResult.MAX_ID_LENGTH` Bytes.
        latitude (:obj:`float`): Location latitude in degrees.
        longitude (:obj:`float`): Location longitude in degrees.
        title (:obj:`str`): Location title.
        horizontal_accuracy (:obj:`float`): Optional. The radius of uncertainty for the location,
            measured in meters; 0-
            :tg-const:`telegram.InlineQueryResultLocation.HORIZONTAL_ACCURACY`.
        live_period (:obj:`int` | :class:`datetime.timedelta`): Optional. Period in seconds for
            which the location will be updated, should be between
            :tg-const:`telegram.InlineQueryResultLocation.MIN_LIVE_PERIOD` and
            :tg-const:`telegram.InlineQueryResultLocation.MAX_LIVE_PERIOD` or
            :tg-const:`telegram.constants.LocationLimit.LIVE_PERIOD_FOREVER` for live
            locations that can be edited indefinitely.

            .. deprecated:: v22.2
                |time-period-int-deprecated|
        heading (:obj:`int`): Optional. For live locations, a direction in which the user is
            moving, in degrees. Must be between
            :tg-const:`telegram.InlineQueryResultLocation.MIN_HEADING` and
            :tg-const:`telegram.InlineQueryResultLocation.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.InlineQueryResultLocation.MIN_PROXIMITY_ALERT_RADIUS`
            and :tg-const:`telegram.InlineQueryResultLocation.MAX_PROXIMITY_ALERT_RADIUS`
            if specified.
        reply_markup (:class:`telegram.InlineKeyboardMarkup`): Optional. Inline keyboard attached
            to the message.
        input_message_content (:class:`telegram.InputMessageContent`): Optional. Content of the
            message to be sent instead of the location.
        thumbnail_url (:obj:`str`): Optional. Url of the thumbnail for the result.

            .. versionadded:: 20.2
        thumbnail_width (:obj:`int`): Optional. Thumbnail width.

            .. versionadded:: 20.2
        thumbnail_height (:obj:`int`): Optional. Thumbnail height.

            .. versionadded:: 20.2

    )_live_periodheadinghorizontal_accuracyinput_message_contentlatitude	longitudeproximity_alert_radiusreply_markupthumbnail_heightthumbnail_urlthumbnail_widthtitleN
api_kwargsidr   r   r   live_periodr   r   zInputMessageContent | Noner   r   r   r   r   r   r   c                   t                                          t          j        j        ||           |                                 5  || _        || _        || _        t          |          | _
        || _        || _        || _        || _        || _        || _        |	| _        |
rt%          |
          nd | _        d d d            d S # 1 swxY w Y   d S )Nr   )super__init__r   InlineQueryResultTypeLOCATION	_unfrozenr   r   r   r   r   r   r   r   r   r   r   r   intr   )selfr   r   r   r   r   r   r   r   r   r   r   r   r   r   	__class__s                  j/Users/shanyulin/my-agent/.venv/lib/python3.11/site-packages/telegram/_inline/inlinequeryresultlocation.pyr!   z"InlineQueryResultLocation.__init__   s   & 	8A2R\]]]^^ 	 	#+DM$-DN#DJ 7C;6O6OD=IDEZD&-:D/>D 0@D!5HD$'.DL/EO*+++4 '	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   	A3C		CCreturnc                 .    t          | j        d          S )Nr   )	attribute)r	   r   )r&   s    r(   r   z%InlineQueryResultLocation.live_period   s    "4#4NNNN    HORIZONTAL_ACCURACYMIN_HEADINGMAX_HEADINGMIN_LIVE_PERIODMAX_LIVE_PERIODMIN_PROXIMITY_ALERT_RADIUSMAX_PROXIMITY_ALERT_RADIUS)	NNNNNNNNN)__name__
__module____qualname____doc__	__slots__strfloatr   r   r%   r
   r!   propertydtm	timedeltar   r   LocationLimitr-   r   __annotations__r.   r/   r0   r1   r2   r3   __classcell__)r'   s   @r(   r   r   #   sR        [ [zI* *.48>B,0"-1$(&*'+$  '+!$ $ $$ $ 	$
 $  $&$ +T1$  <$ #T\$ t$ !$d
$ Tz$ t$ *$  tO!$ $ $ $ $ $L OS3=047 O O O XO '0&=&QsQQQ (5AKsAAA (5AKsAAA #,"9"IOU3ZIII #,"9"IOU3ZIII .7-D-_c
___ .7-D-_c
___   r,   r   )r7   datetimer<   typingr   r   telegramr   %telegram._inline.inlinekeyboardmarkupr   "telegram._inline.inlinequeryresultr   telegram._utils.argumentparsingr   telegram._utils.datetimer	   telegram._utils.typesr
   r   r   r    r,   r(   <module>rJ      s   & Z Y     ' ' ' ' ' ' ' '       F F F F F F @ @ @ @ @ @ 8 8 8 8 8 8 8 8 8 8 8 8 6 6 6 6 6 6 6 6 -,,,,,,y y y y y 1 y y y y yr,   