U
    dd
                     @   s\   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rHddl
mZ G dd deZd	S )
zJThis module contains an object that represents a Telegram Proximity Alert.    )TYPE_CHECKINGOptional)TelegramObject)User)JSONDict)Botc                       sX   e Zd ZdZdZddeeeed fddZe	e
e de
d  d	 fd
dZ  ZS )ProximityAlertTriggereda  
    This object represents the content of a service message, sent whenever a user in the chat
    triggers a proximity alert set by another user.

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

    Args:
        traveler (:class:`telegram.User`): User that triggered the alert
        watcher (:class:`telegram.User`): User that set the alert
        distance (:obj:`int`): The distance between the users

    Attributes:
        traveler (:class:`telegram.User`): User that triggered the alert
        watcher (:class:`telegram.User`): User that set the alert
        distance (:obj:`int`): The distance between the users

    )travelerdistancewatcherN
api_kwargs)r	   r   r
   r   c                   s>   t  j|d || _|| _|| _| j| j| jf| _|   d S )Nr   )super__init__r	   r   r
   Z	_id_attrsZ_freeze)selfr	   r   r
   r   	__class__ E/tmp/pip-unpacked-wheel-e3anp165/telegram/_proximityalerttriggered.pyr   4   s    z ProximityAlertTriggered.__init__r   )databotreturnc                    sN   |  |}|sdS t|d||d< t|d||d< t j||dS )z,See :meth:`telegram.TelegramObject.de_json`.Nr	   r   )r   r   )Z_parse_datar   de_jsongetr   )clsr   r   r   r   r   r   @   s    
zProximityAlertTriggered.de_json)__name__
__module____qualname____doc__	__slots__r   intr   r   classmethodr   r   __classcell__r   r   r   r   r      s      r   N)r   typingr   r   Ztelegram._telegramobjectr   Ztelegram._userr   Ztelegram._utils.typesr   Ztelegramr   r   r   r   r   r   <module>   s   