B
    fdH                 @   sx   d dl mZ d dlmZmZmZmZmZmZm	Z	m
Z
mZ d dlmZ d dlmZ d dlmZmZmZ G dd deZdS )	    )BytesIO)	IntLongInt128Int256BoolBytesStringDoubleVector)TLObject)raw)ListOptionalAnyc               @   s   e Zd ZU dZdddddddd	d
ddddgZee ed< dZdZ	dddddddddd	dee
 ee
 dee ee ee ee ee ee ee
 ee
 dddddZeeed dddZedddZdS )ForwardMessagesa0  Telegram API function.

    Details:
        - Layer: ``158``
        - ID: ``C661BBC4``

    Parameters:
        from_peer (:obj:`InputPeer <pyrogram.raw.base.InputPeer>`):
            N/A

        id (List of ``int`` ``32-bit``):
            N/A

        random_id (List of ``int`` ``64-bit``):
            N/A

        to_peer (:obj:`InputPeer <pyrogram.raw.base.InputPeer>`):
            N/A

        silent (``bool``, *optional*):
            N/A

        background (``bool``, *optional*):
            N/A

        with_my_score (``bool``, *optional*):
            N/A

        drop_author (``bool``, *optional*):
            N/A

        drop_media_captions (``bool``, *optional*):
            N/A

        noforwards (``bool``, *optional*):
            N/A

        top_msg_id (``int`` ``32-bit``, *optional*):
            N/A

        schedule_date (``int`` ``32-bit``, *optional*):
            N/A

        send_as (:obj:`InputPeer <pyrogram.raw.base.InputPeer>`, *optional*):
            N/A

    Returns:
        :obj:`Updates <pyrogram.raw.base.Updates>`
    	from_peerid	random_idto_peersilent
backgroundwith_my_scoredrop_authordrop_media_captions
noforwards
top_msg_idschedule_datesend_as	__slots__l   ; z"functions.messages.ForwardMessagesN)	r   r   r   r   r   r   r   r   r   zraw.base.InputPeer)r   r   r   r   r   r   r   r   r   r   r   r   r   returnc            C   sR   || _ || _|| _|| _|| _|| _|| _|| _|	| _|
| _	|| _
|| _|| _d S )N)r   r   r   r   r   r   r   r   r   r   r   r   r   )selfr   r   r   r   r   r   r   r   r   r   r   r   r    r"   T/tmp/pip-unpacked-wheel-rcokkf2l/pyrogram/raw/functions/messages/forward_messages.py__init__Y   s    zForwardMessages.__init__)bargsr    c             G   s   t | }|d@ rdnd}|d@ r&dnd}|d@ r6dnd}|d@ rFdnd}|d@ rVdnd}|d@ rfdnd}t| }	t| t }
t| t}t| }|d	@ rt | nd }|d
@ rt | nd }|d@ rt| nd }t|	|
|||||||||||dS )N    TF@      i   i   i @  i   i   i    )r   r   r   r   r   r   r   r   r   r   r   r   r   )r   readr   r   r   )r%   r&   flagsr   r   r   r   r   r   r   r   r   r   r   r   r   r"   r"   r#   r*   h   s    


zForwardMessages.read)r    c             G   sx  t  }|t| jd d}|| jr(dndO }|| jr:dndO }|| jrLdndO }|| jr^dndO }|| jrpdndO }|| j	rdndO }|| j
d k	rd	ndO }|| jd k	rd
ndO }|| jd k	rdndO }|t| || j  |t| jt |t| jt || j  | j
d k	r8|t| j
 | jd k	rT|t| j | jd k	rp|| j  | S )NFr   r'   r(   r)   i   i   i @  i   i   i    )r   writer   IDr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   getvalue)r!   r&   r%   r+   r"   r"   r#   r,      s0    zForwardMessages.write)__name__
__module____qualname____doc__r   r   str__annotations__r-   ZQUALNAMEintr   boolr$   staticmethodr   r   r*   bytesr,   r"   r"   r"   r#   r   !   s   
1*fr   N)ior   Zpyrogram.raw.core.primitivesr   r   r   r   r   r   r	   r
   r   Zpyrogram.raw.corer   Zpyrogramr   typingr   r   r   r   r"   r"   r"   r#   <module>   s
   ,	