U
    ;g                     @   sH   d dl Z d dlmZmZ d dlZd dlmZ e eZG dd dZ	dS )    N)UnionList)typesc                   @   s,   e Zd Zdeeef eed dddZdS )GetMediaGroupzpyrogram.Clientztypes.Message)selfchat_id
message_idreturnc                    s   |dkrt d| j|dd t|d |d D ddI dH }t|d	krT|d jn||d
  j  dkrrt dt fdd|D S )a  Get the media group a message belongs to.

        .. 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``):
                The id of one of the messages that belong to the media group.
                
        Returns:
            List of :obj:`~pyrogram.types.Message`: On success, a list of messages of the media group is returned.
            
        Raises:
            ValueError: 
                In case the passed message_id is negative or equal 0. 
                In case target message doesn't belong to a media group.
        r   z/Passed message_id is negative or equal to zero.c                 S   s   g | ]}|qS  r
   ).0Zmsg_idr
   r
   i/opt/bot/vods_filmes/script/venv/lib/python3.8/site-packages/pyrogram/methods/messages/get_media_group.py
<listcomp>>   s     z1GetMediaGroup.get_media_group.<locals>.<listcomp>	   
   )r   Zmessage_idsZrepliesN      z+The message doesn't belong to a media groupc                 3   s   | ]}|j  kr|V  qd S )Nmedia_group_id)r   msgr   r
   r   	<genexpr>I   s     
 z0GetMediaGroup.get_media_group.<locals>.<genexpr>)
ValueErrorZget_messagesrangelenr   r   r   )r   r   r   messagesr
   r   r   get_media_group   s    $zGetMediaGroup.get_media_groupN)__name__
__module____qualname__r   intstrr   r   r
   r
   r
   r   r      s
   
r   )
loggingtypingr   r   Zpyrogramr   	getLoggerr   logr   r
   r
   r
   r   <module>   s
   
