
    ՟f                     b    d Z ddlmZmZ ddlmZ ddlmZ ddlm	Z	 erddl
mZ  G d de      Zy	)
z@This module contains an object that represents a Telegram Venue.    )TYPE_CHECKINGOptional)Location)TelegramObject)JSONDict)Botc                        e Zd ZdZdZ	 	 	 	 ddddedededee   d	ee   d
ee   dee   dee   f fdZ	e
ddee   ded   ded    f fd       Z xZS )VenueaO  This object represents a venue.

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

    Note:
      Foursquare details and Google Place details are mutually exclusive. However, this
      behaviour is undocumented and might be changed by Telegram.

    Args:
        location (:class:`telegram.Location`): Venue location.
        title (:obj:`str`): Name of the venue.
        address (:obj:`str`): Address of the venue.
        foursquare_id (:obj:`str`, optional): Foursquare identifier of the venue.
        foursquare_type (:obj:`str`, optional): Foursquare type of the venue. (For example,
            "arts_entertainment/default", "arts_entertainment/aquarium" or "food/icecream".)
        google_place_id (:obj:`str`, optional): Google Places identifier of the venue.
        google_place_type (:obj:`str`, optional): Google Places type of the venue. (See
            `supported types <https://developers.google.com/maps/documentation/places/web-service            /supported_types>`_.)

    Attributes:
        location (:class:`telegram.Location`): Venue location.
        title (:obj:`str`): Name of the venue.
        address (:obj:`str`): Address of the venue.
        foursquare_id (:obj:`str`): Optional. Foursquare identifier of the venue.
        foursquare_type (:obj:`str`): Optional. Foursquare type of the venue. (For example,
            "arts_entertainment/default", "arts_entertainment/aquarium" or "food/icecream".)
        google_place_id (:obj:`str`): Optional. Google Places identifier of the venue.
        google_place_type (:obj:`str`): Optional. Google Places type of the venue. (See
            `supported types <https://developers.google.com/maps/documentation/places/web-service            /supported_types>`_.)

    )addressfoursquare_idfoursquare_typegoogle_place_idgoogle_place_typelocationtitleN
api_kwargsr   r   r   r   r   r   r   r   c                    t         	|   |       || _        || _        || _        || _        || _        || _        || _        | j                  | j                  f| _	        | j                          y )Nr   )super__init__r   r   r   r   r   r   r   	_id_attrs_freeze)
selfr   r   r   r   r   r   r   r   	__class__s
            P/var/www/cvtools/html/venv/lib/python3.12/site-packages/telegram/_files/venue.pyr   zVenue.__init__M   si     	J/ #+
#,9.=.=0A--4    databotr   returnc                     | j                  |      }|syt        j                  |j                  d      |      |d<   t        | 	  ||      S )z,See :meth:`telegram.TelegramObject.de_json`.Nr   )r   r   )_parse_datar   de_jsongetr   )clsr   r   r   s      r   r"   zVenue.de_jsoni   sL     t$#++DHHZ,@#FZwDc22r   )NNNN)N)__name__
__module____qualname____doc__	__slots__r   strr   r   r   classmethodr"   __classcell__)r   s   @r   r
   r
      s    !FI (,)-)-+/ *.  	
  } "# "# $C= X&8 	38H- 	3HUO 	3xX_O` 	3 	3r   r
   N)r(   typingr   r   telegram._files.locationr   telegram._telegramobjectr   telegram._utils.typesr   telegramr   r
    r   r   <module>r3      s+   & G * - 3 *T3N T3r   