
    N[i                     X    d dl m Z  d dlmZmZ d dlZd dlmZmZ d dlmZ  G d d      Zy)    )datetime)UnionOptionalN)rawutils)typesc                   \    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   ded   fdZ	y)SendDiceNselfzpyrogram.Clientchat_idemoji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                  |      |xs d|| j                         t        j                  |      ||r|j                  |        d{   nd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)u  Send a dice with a random value from 1 to 6.

        .. 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).

            emoji (``str``, *optional*):
                Emoji on which the dice throw animation is based.
                Currently, must be one of "🎲", "🎯", "🏀", "⚽", "🎳", or "🎰".
                Dice can have values 1-6 for "🎲", "🎯" and "🎳", values 1-5 for "🏀" and "⚽", and
                values 1-64 for "🎰".
                Defaults to "🎲".

            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 dice message is returned.

        Example:
            .. code-block:: python

                # Send a dice
                await app.send_dice(chat_id)

                # Send a dart
                await app.send_dice(chat_id, "🎯")

                # Send a basketball
                await app.send_dice(chat_id, "🏀")
        N)emoticon )	peermediasilentreply_to_msg_id	random_idr   
noforwardsr   message)is_scheduled)invoker   	functionsmessages	SendMediaresolve_peerr   InputMediaDice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is
             V/var/www/files/kim/lib/python3.12/site-packages/pyrogram/methods/messages/send_dice.py	send_dicezSendDice.send_dice   s~    B ++MM"",,,,W55ii...>+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 <
( /.sh   AGG
A"G(G)G<G=A*G(3GG/G?G.GG	GGGG)u   🎲NNNNN)
__name__
__module____qualname__r   intstrboolr   r   r5        r4   r
   r
      s     %)#'"& $ XXsCxX X #	X
 !X  X X 
X 
/	"Xr=   r
   )	r   typingr   r   pyrogramr   r   r   r
   r<   r=   r4   <module>r@      s"   &  "   Y Yr=   