
    N[i                     T    d dl m Z  d dlmZ d dlZd dlmZmZ d dlmZ  G d d      Zy)    )datetime)UnionN)rawutils)typesc                   X    e Zd Z	 	 	 	 	 ddddeeef   dedededed	ed
eded   ddfdZ	y)SendLocationNselfzpyrogram.Clientchat_idlatitude	longitudedisable_notificationreply_to_message_idschedule_dateprotect_contentreply_markup)ztypes.InlineKeyboardMarkupztypes.ReplyKeyboardMarkupztypes.ReplyKeyboardRemoveztypes.ForceReplyreturnztypes.Messagec	                    K   | j                  t        j                  j                  j	                  | j                  |       d{   t        j                  j                  t        j                  j                  ||            d|xs d|| j                         t        j                  |      ||r|j                  |        d{   nd	             d{   }	|	j                  D ]  }
t        |
t        j                  j                  t        j                  j                   t        j                  j"                  f      s[t        j$                  j'                  | |
j(                  |	j*                  D 
ci c]  }
|
j,                  |
 c}
|	j.                  D 
ci c]  }
|
j,                  |
 c}
t        
t        j                  j"                               d{   c S  y7 7 $7 c c}
w c c}
w 7 w)a  Send points on the map.

        .. include:: /_includes/usable-by/users-bots.rst

        Parameters:
            chat_id (``int`` | ``str``):
                Unique identifier (int) or username (str) of the target chat.
                For your personal cloud (Saved Messages) you can simply use "me" or "self".
                For a contact that exists in your Telegram address book you can use his phone number (str).

            latitude (``float``):
                Latitude of the location.

            longitude (``float``):
                Longitude of the location.

            disable_notification (``bool``, *optional*):
                Sends the message silently.
                Users will receive a notification with no sound.

            reply_to_message_id (``int``, *optional*):
                If the message is a reply, ID of the original message

            schedule_date (:py:obj:`~datetime.datetime`, *optional*):
                Date when the message will be automatically sent.

            protect_content (``bool``, *optional*):
                Protects the contents of the sent message from forwarding and saving.

            reply_markup (:obj:`~pyrogram.types.InlineKeyboardMarkup` | :obj:`~pyrogram.types.ReplyKeyboardMarkup` | :obj:`~pyrogram.types.ReplyKeyboardRemove` | :obj:`~pyrogram.types.ForceReply`, *optional*):
                Additional interface options. An object for an inline keyboard, custom reply keyboard,
                instructions to remove reply keyboard or to force a reply from the user.

        Returns:
            :obj:`~pyrogram.types.Message`: On success, the sent location message is returned.

        Example:
            .. code-block:: python

                app.send_location("me", latitude, longitude)
        N)latlong)	geo_point )	peermediamessagesilentreply_to_msg_id	random_idr   
noforwardsr   )is_scheduled)invoker   	functionsmessages	SendMediaresolve_peerr   InputMediaGeoPointInputGeoPointrnd_idr   datetime_to_timestampwriteupdates
isinstanceUpdateNewMessageUpdateNewChannelMessageUpdateNewScheduledMessageMessage_parser   usersidchats)r
   r   r   r   r   r   r   r   r   ris              Z/var/www/files/kim/lib/python3.12/site-packages/pyrogram/methods/messages/send_location.pysend_locationzSendLocation.send_location   s    r ++MM"",,,,W55ii22!ii55$& 6  3  +3t 3++-#99-H*?K<#5#5d#;;;QU - 
 
&  		A!cii88!ii??!iiAAC D #]]11!))&'gg.QTT1W.&'gg.QTT1W.!+Asyy/R/R!S	 2   			# 6 <
2 /.sh   AG>G)BG>G,	G>G/A*G>3G>:G2G>G72.G> G<!	G>,G>/G>2G>)NNNNN)
__name__
__module____qualname__r   intstrfloatboolr   r8        r7   r	   r	      s     &*#'"& $ UUsCxU U 	U
 #U !U  U U 
U 
UrA   r	   )r   typingr   pyrogramr   r   r   r	   r@   rA   r7   <module>rD      s"   &     V VrA   