
    N[i2                     t    d dl Z d dlZd dlZd dlmZ d dlZd dlmZ d dlmZ d dlmZ d dl	m
Z
  G d d      Zy)	    N)Union)raw)types)utils)FileTypec                   @    e Zd Z	 	 ddddeeef   dedddd	d
eddfdZy)EditMessageMediaNselfzpyrogram.Clientchat_id
message_idmediaztypes.InputMediareply_markupztypes.InlineKeyboardMarkup	file_namereturnztypes.Messagec                   K   |j                   }|j                  }d\  }}	|5| j                  j                  ||       d{   j	                         \  }}	t        |t        j                        rt        |j                  t        j                        s*t        j                  j                  |j                        r,| j                  t        j                   j"                  j%                  | j'                  |       d{   t        j                  j)                  | j+                  |j                         d{   |j,                                     d{   }
t        j                  j                  t        j                  j/                  |
j0                  j2                  |
j0                  j4                  |
j0                  j6                        |j,                        }nt9        j:                  d|j                        r7t        j                  j=                  |j                  |j,                        }npt?        j@                  |j                  tB        jD                        }n@t        |t        jF                        rt        |j                  t        j                        s*t        j                  j                  |j                        r| j                  t        j                   j"                  j%                  | j'                  |       d{   t        j                  jI                  | jK                  |j                        xs d	| j+                  |jL                         d{   |j,                  | j+                  |j                         d{   t        j                  jO                  |jP                  xs d|jR                  |jT                  |jV                  
      t        j                  jY                  |xs) t        j                  j[                  |j                              g                   d{   }
t        j                  j]                  t        j                  j_                  |
j`                  j2                  |
j`                  j4                  |
j`                  j6                        |j,                        }nt9        j:                  d|j                        r7t        j                  jc                  |j                  |j,                        }n{t?        j@                  |j                  tB        jd                        }nKt        |t        jf                        rt        |j                  t        j                        s*t        j                  j                  |j                        r| j                  t        j                   j"                  j%                  | j'                  |       d{   t        j                  jI                  | jK                  |j                        xs d| j+                  |jL                         d{   | j+                  |j                         d{   t        j                  ji                  |jR                  |jj                  |jl                        t        j                  jY                  |xs) t        j                  j[                  |j                              g                   d{   }t        j                  j]                  t        j                  j_                  |j`                  j2                  |j`                  j4                  |j`                  j6                              }nt9        j:                  d|j                        r,t        j                  jc                  |j                        }nt?        j@                  |j                  tB        jn                        }nt        |t        jp                        rt        |j                  t        j                        s*t        j                  j                  |j                        r| j                  t        j                   j"                  j%                  | j'                  |       d{   t        j                  jI                  | jK                  |j                        xs d	| j+                  |jL                         d{   |j,                  | j+                  |j                         d{   t        j                  jO                  d|jR                  |jT                  |jV                  
      t        j                  jY                  |xs) t        j                  j[                  |j                              t        j                  js                         g                   d{   }
t        j                  j]                  t        j                  j_                  |
j`                  j2                  |
j`                  j4                  |
j`                  j6                        |j,                        }n	t9        j:                  d|j                        r7t        j                  jc                  |j                  |j,                        }nt?        j@                  |j                  tB        jt                        }nt        |t        j\                        rgt        |j                  t        j                        s*t        j                  j                  |j                        r| j                  t        j                   j"                  j%                  | j'                  |       d{   t        j                  jI                  | jK                  |j                        xs d| j+                  |jL                         d{   | j+                  |j                         d{   t        j                  jY                  |xs) t        j                  j[                  |j                              g                   d{   }t        j                  j]                  t        j                  j_                  |j`                  j2                  |j`                  j4                  |j`                  j6                              }nyt9        j:                  d|j                        r+t        j                  jc                  |j                        }n.t?        j@                  |j                  tB        jv                        }| j                  t        j                   j"                  jy                  | j'                  |       d{   |||r|j{                  |        d{   nd||	             d{   }|j|                  D ]  }t        |t        j                  j~                  t        j                  j                  f      sBt        j                  j                  | |j                  |j                  D ci c]  }|j2                  | c}|j                  D ci c]  }|j2                  | c}       d{   c S  y7 7 7 7 7 7 7 e7 
7 7 7 7 7 C7 7 7 7 K7 7 7 x7 >7 %7 c c}w c c}w 7 Ww)a  Edit animation, audio, document, photo or video messages.

        If a message is a part of a message album, then it can be edited only to a photo or a video. Otherwise, the
        message type can be changed arbitrarily.

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

            message_id (``int``):
                Message identifier in the chat specified in chat_id.

            media (:obj:`~pyrogram.types.InputMedia`):
                One of the InputMedia objects describing an animation, audio, document, photo or video.

            reply_markup (:obj:`~pyrogram.types.InlineKeyboardMarkup`, *optional*):
                An InlineKeyboardMarkup object.

            file_name (``str``, *optional*):
                File name of the media to be sent. Not applicable to photos.
                Defaults to file's path basename.

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

        Example:
            .. code-block:: python

                from pyrogram.types import InputMediaPhoto, InputMediaVideo, InputMediaAudio

                # Replace the current media with a local photo
                await app.edit_message_media(chat_id, message_id,
                    InputMediaPhoto("new_photo.jpg"))

                # Replace the current media with a local video
                await app.edit_message_media(chat_id, message_id,
                    InputMediaVideo("new_video.mp4"))

                # Replace the current media with a local audio
                await app.edit_message_media(chat_id, message_id,
                    InputMediaAudio("new_audio.mp3"))
        NNN)filespoiler)peerr   )idaccess_hashfile_reference)r   r   z
^https?://)urlr   z	video/mp4)supports_streamingdurationwh)r   )	mime_typethumbr   r   
attributesz
audio/mpeg)r   	performertitle)r   r   r   r    )r   )r   Tzapplication/zip)r   r   r   r   messageentities)Fcaption
parse_modeparserparsevalues
isinstancer   InputMediaPhotor   ioBytesIOospathisfileinvoker   	functionsmessagesUploadMediaresolve_peerInputMediaUploadedPhoto	save_filehas_spoiler
InputPhotophotor   r   r   rematchInputMediaPhotoExternalr   get_input_media_from_file_idr   PHOTOInputMediaVideoInputMediaUploadedDocumentguess_mime_typer   DocumentAttributeVideor   r   widthheightDocumentAttributeFilenamebasenameInputMediaDocumentInputDocumentdocumentInputMediaDocumentExternalVIDEOInputMediaAudioDocumentAttributeAudior!   r"   AUDIOInputMediaAnimationDocumentAttributeAnimated	ANIMATIONDOCUMENTEditMessagewriteupdatesUpdateEditMessageUpdateEditChannelMessageMessage_parser#   userschats)r
   r   r   r   r   r   r%   r&   r#   r$   uploaded_mediaris                _/var/www/files/kim/lib/python3.12/site-packages/pyrogram/methods/messages/edit_message_media.pyedit_message_mediaz#EditMessageMedia.edit_message_media    s
    l --%%
&'+{{'8'8*'M!M U U WGXeU223%++rzz2bggnnU[[6Q'+{{MM**66#'#4#4W#==!ii??'+~~ekk'B!B$)$5$5 @  7 ( " 		11yy++)//22$2$8$8$D$D'5';';'J'J , 
 "-- 2  ,4		99!-- : 
 ::5;;Wu445%++rzz2bggnnU[[6Q'+{{MM**66#'#4#4W#==!iiBB&*&:&:5;;&G&V;(,u{{(C"C$)$5$5'+~~ekk'B!B #		 @ @7<7O7O7WSW-2^^&+kk&+ll	 !A !" !$		 C C.7.X277;K;KEKK;X !D !"
( C  7 ( ". 		44yy..)2255$2$;$;$G$G'5'>'>'M'M / 
 "-- 5  ,4		<<!-- = 
 ::5;;Wu445%++rzz2bggnnU[[6Q"kkMM**66#'#4#4W#==!iiBB&*&:&:5;;&G&W<(,u{{(C"C'+~~ekk'B!B #		 @ @-2^^.3oo*/++ !A !"
 !$		 C C.7.X277;K;KEKK;X !D !"	(	 C  7  * 		44yy.. >>,,$)NN$>$>',~~'D'D /  5  ,4		<< =  ::5;;Wu889%++rzz2bggnnU[[6Q'+{{MM**66#'#4#4W#==!iiBB&*&:&:5;;&G&V;(,u{{(C"C$)$5$5'+~~ekk'B!B #		 @ @7;-2^^&+kk&+ll	 !A !" !$		 C C.7.X277;K;KEKK;X !D !" !$		 C C E( C  7 ( "0 		44yy..)2255$2$;$;$G$G'5'>'>'M'M / 
 "-- 5  ,4		<<!-- = 
 ::5;;HZHZ[u778%++rzz2bggnnU[[6Q"kkMM**66#'#4#4W#==!iiBB&*&:&:5;;&G&\K\(,u{{(C"C'+~~ekk'B!B #		 C C.7.X277;K;KEKK;X !D !"(	 C 	 7    		44yy.. >>,,$)NN$>$>',~~'D'D /  5  ,4		<< =  ::5;;HYHYZ++MM""..,,W55?K<#5#5d#;;;QU! / 	
 	
  	A!cii99399;];]^_"]]11!))&'gg.QTT1W.&'gg.QTT1W.  	{ "N >!B	": > #D!B"T > #D!BL > #D!B"V > #D!B@ 6 <	
 /.s  ?}{7C }{::}={=> }| F?}|A}7|8,}$|	%B.}|F?}|A},|-!}|B}.|/F)}|A}1|2,}|!B=}|$F?}|'A}5|*6!}|-A }8|09D<}5|36}|6}&|9'A}93},|< }}$
}.}/	}:}=} }}}	}}}}}}}}!}$}'}*}-}0}3}6}9}<}r   )__name__
__module____qualname__r   intstrra        r`   r	   r	      sa     6:sCx  "	
 3  
rh   r	   )r,   r.   r;   typingr   pyrogramr   r   r   pyrogram.file_idr   r	   rg   rh   r`   <module>rl      s.   & 
 	 	      %@ @rh   