
    N[iM                         d dl Z d dlZd dlZd dlmZ d dlmZ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  e j                  e      Z G d d	      Zy)
    N)datetime)UnionList)raw)types)utils)FileTypec                   Z    e Zd Z	 	 	 	 ddddeeef   deed      deded	ed
eded   fdZ	y)SendMediaGroupNselfzpyrogram.Clientchat_idmedia)ztypes.InputMediaPhotoztypes.InputMediaVideoztypes.InputMediaAudioztypes.InputMediaDocumentdisable_notificationreply_to_message_idschedule_dateprotect_contentreturnztypes.Messagec                 ,  K   g }|D ]  }t        |t        j                        rt        |j                  t              rt
        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#                  |j$                  j&                  |j$                  j(                  |j$                  j*                        |j                         }nt-        j.                  d|j                        r| j                  t        j                  j                  j                  | j                  |       d{   t        j                  j1                  |j                  |j                                      d{   }t        j                  j                  t        j                  j#                  |j$                  j&                  |j$                  j(                  |j$                  j*                        |j                         }nt3        j4                  |j                  t6        j8                        }nP| j                  t        j                  j                  j                  | j                  |       d{   t        j                  j                  | j                  |j                         d{   |j                                      d{   }t        j                  j                  t        j                  j#                  |j$                  j&                  |j$                  j(                  |j$                  j*                        |j                         }n$t        |t        j:                        rt        |j                  t              rt
        j                  j                  |j                        r| j                  t        j                  j                  j                  | j                  |       d{   t        j                  j=                  | j                  |j                         d{   | j                  |j>                         d{   |j                   | jA                  |j                        xs dt        j                  jC                  |jD                  xs d|jF                  |jH                  |jJ                  	      t        j                  jM                  t
        j                  jO                  |j                        
      g                   d{   }t        j                  jQ                  t        j                  jS                  |jT                  j&                  |jT                  j(                  |jT                  j*                        |j                         }nt-        j.                  d|j                        r| j                  t        j                  j                  j                  | j                  |       d{   t        j                  jW                  |j                  |j                                      d{   }t        j                  jQ                  t        j                  jS                  |jT                  j&                  |jT                  j(                  |jT                  j*                        |j                         }nt3        j4                  |j                  t6        jX                        }n]| j                  t        j                  j                  j                  | j                  |       d{   t        j                  j=                  | j                  |j                         d{   | j                  |j>                         d{   |j                   | jA                  t[        |j                  dd            xs dt        j                  jC                  |jD                  xs d|jF                  |jH                  |jJ                  	      t        j                  jM                  t[        |j                  dd      
      g                   d{   }t        j                  jQ                  t        j                  jS                  |jT                  j&                  |jT                  j(                  |jT                  j*                        |j                         }
nct        |t        j\                        rEt        |j                  t              rUt
        j                  j                  |j                        r| j                  t        j                  j                  j                  | j                  |       d{   t        j                  j=                  | jA                  |j                        xs d| j                  |j                         d{   | j                  |j>                         d{   t        j                  j_                  |jF                  |j`                  |jb                        t        j                  jM                  t
        j                  jO                  |j                        
      g                   d{   }t        j                  jQ                  t        j                  jS                  |jT                  j&                  |jT                  j(                  |jT                  j*                              }n't-        j.                  d|j                        r| j                  t        j                  j                  j                  | j                  |       d{   t        j                  jW                  |j                                     d{   }t        j                  jQ                  t        j                  jS                  |jT                  j&                  |jT                  j(                  |jT                  j*                              }nt3        j4                  |j                  t6        jd                        }n| j                  t        j                  j                  j                  | j                  |       d{   t        j                  j=                  | jA                  t[        |j                  dd            xs d| j                  |j                         d{   | j                  |j>                         d{   t        j                  j_                  |jF                  |j`                  |jb                        t        j                  jM                  t[        |j                  dd      
      g                   d{   }t        j                  jQ                  t        j                  jS                  |jT                  j&                  |jT                  j(                  |jT                  j*                              }nt        |t        jP                        rt        |j                  t              rt
        j                  j                  |j                        r| j                  t        j                  j                  j                  | j                  |       d{   t        j                  j=                  | jA                  |j                        xs d| j                  |j                         d{   | j                  |j>                         d{   t        j                  jM                  t
        j                  jO                  |j                        
      g                   d{   }t        j                  jQ                  t        j                  jS                  |jT                  j&                  |jT                  j(                  |jT                  j*                              }nt-        j.                  d|j                        r| j                  t        j                  j                  j                  | j                  |       d{   t        j                  jW                  |j                                     d{   }t        j                  jQ                  t        j                  jS                  |jT                  j&                  |jT                  j(                  |jT                  j*                              }nt3        j4                  |j                  t6        jf                        }n| j                  t        j                  j                  j                  | j                  |       d{   t        j                  j=                  | jA                  t[        |j                  dd            xs d| j                  |j                         d{   | j                  |j>                         d{   t        j                  jM                  t[        |j                  dd      
      g                   d{   }t        j                  jQ                  t        j                  jS                  |jT                  j&                  |jT                  j(                  |jT                  j*                              }n"ti        |jj                  jl                   d      |jo                  t        j                  jp                  d|| js                         d| jt                  jw                  |jx                  |jz                         d{           | j                  t        j                  j                  j}                  | j                  |       d{   ||xs d|t3        j~                  |      |      d       d{   }	t3        j                  | t        j                  j                  j                  t        d |	j                        D 
cg c]  }
|
j                   c}
|	j                  |	j                               d{   S 7 7 7 7 7 7 7 \7 >7 7 7 7 7 7 7 7 7 e7 7 n7 7 
7 
`7 	~7 	G7 U7 7 7 N7 ,7 7 7 ]7 {7 D7 R7 7 7 7 7 27 c c}
w 7 w)us  Send a group of photos or videos as an album.

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

            media (List of :obj:`~pyrogram.types.InputMediaPhoto`, :obj:`~pyrogram.types.InputMediaVideo`, :obj:`~pyrogram.types.InputMediaAudio` and :obj:`~pyrogram.types.InputMediaDocument`):
                A list describing photos and videos to be sent, must include 2–10 items.

            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.

        Returns:
            List of :obj:`~pyrogram.types.Message`: On success, a list of the sent messages is returned.

        Example:
            .. code-block:: python

                from pyrogram.types import InputMediaPhoto, InputMediaVideo

                await app.send_media_group(
                    "me",
                    [
                        InputMediaPhoto("photo1.jpg"),
                        InputMediaPhoto("photo2.jpg", caption="photo caption"),
                        InputMediaVideo("video.mp4", caption="video caption")
                    ]
                )
        N)filespoiler)peerr   )idaccess_hashfile_reference)r   r   z
^https?://)urlr   z	video/mp4)supports_streamingdurationwh)	file_name)r   thumbr   	mime_type
attributesnamez	video.mp4z
audio/mpeg)r   	performertitle)r"   r   r!   r#   )r   )r   z	audio.mp3zapplication/zipzfile.zipz- is not a supported type for send_media_group)r   	random_id)r   multi_mediasilentreply_to_msg_idr   
noforwards<   )sleep_thresholdc                     t        | t        j                  j                  t        j                  j                  t        j                  j
                  f      S )N)
isinstancer   r   UpdateNewMessageUpdateNewChannelMessageUpdateNewScheduledMessage)us    ]/var/www/files/kim/lib/python3.12/site-packages/pyrogram/methods/messages/send_media_group.py<lambda>z1SendMediaGroup.send_media_group.<locals>.<lambda>  s:    jSYY-G-G-0YY-N-N-0YY-P-P-R S     )messagesuserschats )Gr/   r   InputMediaPhotor   strospathisfileinvoker   	functionsr7   UploadMediaresolve_peerInputMediaUploadedPhoto	save_filehas_spoiler
InputPhotophotor   r   r   rematchInputMediaPhotoExternalr   get_input_media_from_file_idr	   PHOTOInputMediaVideoInputMediaUploadedDocumentr!   guess_mime_typeDocumentAttributeVideor   r   widthheightDocumentAttributeFilenamebasenameInputMediaDocumentInputDocumentdocumentInputMediaDocumentExternalVIDEOgetattrInputMediaAudioDocumentAttributeAudior%   r&   AUDIODOCUMENT
ValueError	__class____name__appendInputSingleMediarnd_idparserparsecaption
parse_modeSendMultiMediadatetime_to_timestampparse_messagesMessagesfilterupdatesmessager8   r9   )r   r   r   r   r   r   r   r(   irms              r4   send_media_groupzSendMediaGroup.send_media_group$   s    r  h	A!U223aggs+ww~~agg.&*kkMM22>>+/+<+<W+E%E&)ii&G&G/3~~agg/F)F,-MM 'H '" ? ' ! !$		 9 9"yy33#(;;>>,1KK,C,C/4{{/I/I  4  
 %&MM !: ! ,8&*kkMM22>>+/+<+<W+E%E&)ii&G&G(),-MM 'H '" ? ' ! !$		 9 9"yy33#(;;>>,1KK,C,C/4{{/I/I  4  
 %&MM !: ! !& B B177HNN ["&++..::'+'8'8'A!A"%))"C"C+/>>!''+B%B() #D # ; # E  II5599//${{~~(-(?(?+0;;+E+E 0 
 !" 6 E Au445aggs+ww~~agg.&*kkMM22>>+/+<+<W+E%E&)ii&J&J/3~~agg/F)F04qww0G*G,-MM.2.B.B177.K.Z{(+		(H(H?@?S?S?[W[56ZZ./gg./hh	 )I )* ),		(K(KVXV]V]VfVfghgngnVo(K(p0& 'K '" ? ' !* !$		 < <"yy66#(>>#4#4,1NN,F,F/4~~/L/L  7  
 %&MM != ! ,8&*kkMM22>>+/+<+<W+E%E&)ii&J&J(),-MM 'K '" ? ' ! !$		 < <"yy66#(>>#4#4,1NN,F,F/4~~/L/L  7  
 %&MM != ! !& B B177HNN ["&++..::'+'8'8'A!A"%))"F"F+/>>!''+B%B,0NN177,C&C()*.*>*>wqwwPVXc?d*e*tit$'II$D$D;<;O;O;WSW12*+''*+((	 %E %& %(II$G$GRYZ[ZaZacikvRw$G$x," #G # ; # E*  II889922$~~00(-(B(B+0>>+H+H 3 
 !" 9 E Au445aggs+ww~~agg.&*kkMM22>>+/+<+<W+E%E&)ii&J&J.2.B.B177.K.[|/3~~agg/F)F04qww0G*G(+		(H(H56ZZ67kk23'' )I )*
 ),		(K(KVXV]V]VfVfghgngnVo(K(p0&	 'K '" ? ' !& !$		 < <"yy66#(>>#4#4,1NN,F,F/4~~/L/L  7   != ! ,8&*kkMM22>>+/+<+<W+E%E&)ii&J&J() 'K '" ? ' ! !$		 < <"yy66#(>>#4#4,1NN,F,F/4~~/L/L  7   != ! !& B B177HNN ["&++..::'+'8'8'A!A"%))"F"F*.*>*>wqwwPVXc?d*e*uiu+/>>!''+B%B,0NN177,C&C$'II$D$D1223++./gg %E %&
 %(II$G$GRYZ[ZaZacikvRw$G$x,"	 #G # ; # E&  II889922$~~00(-(B(B+0>>+H+H 3  9 E Au778aggs+ww~~agg.&*kkMM22>>+/+<+<W+E%E&)ii&J&J.2.B.B177.K.`O`/3~~agg/F)F04qww0G*G(+		(K(KVXV]V]VfVfghgngnVo(K(p0&	 'K '" ? 
' ! !$		 < <"yy66#(>>#4#4,1NN,F,F/4~~/L/L  7   != ! ,8&*kkMM22>>+/+<+<W+E%E&)ii&J&J() 'K '" ? ' ! !$		 < <"yy66#(>>#4#4,1NN,F,F/4~~/L/L  7   != ! !& B B177HL]L] ^"&++..::'+'8'8'A!A"%))"F"F*.*>*>$+AGGVZ$H+" +7%6+/>>!''+B%B,0NN177,C&C$'II$G$GRYZ[ZaZacikuRv$G$w," #G 	# ; # E   II889922$~~00(-(B(B+0>>+H+H 3  9 E !AKK$8$8#99f!ghh		** "kkm !KK--aiiFFE	h	T	 ++MM""11,,W55'+3t 3#99-H* 2    

 

 ))II''-3S II	. !))  gggg ( 	
 
 	
a	 &F)F	!* &F!. "B%B	. &F)F*G!@ &F!. "B%B&CD &F *G*G!: &F!* "B &C&C> &F *G*G!0 &F!* "B
 &C&C< G 6


s  B+AY-AW.:AY(AW) AY	AW

C0AY:AW;AAY?AW C?AY?AW :AY:AW; AYAWD/AYAW:AYAW!AY(AW")CAY<AW%=C0AY-AW(.AAY2AW+3C?AY2AW.3:AY-AW1.!AYAW4CAYAW7D/AYAW:AAY%AW=&!AYAX BAY#AX$C$AYAX	9AYAX	C4AY7AX8A#AYAX!AY=AX>B	AYAXD$AY,AX-AAYAAXA!AYA'AXA(AAYCAX!CC$AYF)AX$F*9AYG#AX'G$C4AYKAX*KA#AYL<AX-L=!AYMAX0MA
AYN)AX3N*DAYR7AX6R8AAYTAX9T.AYT6AX<T7AAYVAX?V%AYV?AYW AYWAYW
AYWAYWAYWAYWAYWAYWAYWAYW"AYW%AYW(AYW+AYW.AYW1AYW4AYW7AYW:AYW=AYX AYXAYXAYX	AYXAYXAYXAYXAYXAYXAYXAYX!AYX$AYX'AYX*AYX-AYX0AYX3AYX6AYX9AYX<AYX?AY)NNNN)
rb   
__module____qualname__r   intr<   r   boolr   rt   r:   r6   r4   r   r   "   s     &*#'"& $}
}
sCx}
 E'
 }
 #}
 !}
  }
 }
 
o	}
r6   r   )loggingr=   rI   r   typingr   r   pyrogramr   r   r   pyrogram.file_idr	   	getLoggerrb   logr   r:   r6   r4   <module>r      sC   &  	 	       %g!
 
r6   