
    'iX                     j    d 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
 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)Location)TelegramObject)de_json_optional)JSONDict)Botc                        e Zd ZdZdZ	 	 	 	 ddddedede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dedddd f fd       Z
 xZS )VenueaG  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            /place-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            /place-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
            _/home/obispo/Crisostomo_bridge/mision_env/lib/python3.12/site-packages/telegram/_files/venue.pyr   zVenue.__init__N   si     	J/ #+
#)6+:+:->--4    databotz
Bot | Nonereturnc                     | j                  |      }t        |j                  d      t        |      |d<   t        |   ||      S )z,See :meth:`telegram.TelegramObject.de_json`.r   )r   r   )_parse_datar   getr   r   de_json)clsr   r   r   s      r   r#   zVenue.de_jsonj   sB     t$+DHHZ,@(CPZwDc22r   )NNNN)N)__name__
__module____qualname____doc__	__slots__r   strr   r   classmethodr#   __classcell__)r   s   @r   r
   r
       s    !FI %)&*&*(, '+  	
 Tz t t : tO8 38 3, 3' 3 3r   r
   N)r(   typingr   telegram._files.locationr   telegram._telegramobjectr   telegram._utils.argumentparsingr   telegram._utils.typesr   telegramr   r
    r   r   <module>r4      s.   & G   - 3 < *Q3N Q3r   