B
    fd                 @   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ddgZee ed< dZdZ	ddddddddddddddee
ee ee ee ee ee ee ee
 ee
 deed  ee
 dddddZeeed dddZedd d!ZdS )"SendMessagea  Telegram API function.

    Details:
        - Layer: ``158``
        - ID: ``1CC20387``

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

        message (``str``):
            N/A

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

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

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

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

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

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

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

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

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

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

        entities (List of :obj:`MessageEntity <pyrogram.raw.base.MessageEntity>`, *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>`
    peermessage	random_id
no_webpagesilent
backgroundclear_draft
noforwardsupdate_stickersets_orderreply_to_msg_id
top_msg_idreply_markupentitiesschedule_datesend_as	__slots__izfunctions.messages.SendMessageN)r   r   r   r   r   r   r   r   r   r   r   r    zraw.base.InputPeerzraw.base.ReplyMarkupzraw.base.MessageEntity)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    returnc            C   s^   || _ || _|| _|| _|| _|| _|| _|| _|	| _|
| _	|| _
|| _|| _|| _|| _d S )N)r   r   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   r     r$   P/tmp/pip-unpacked-wheel-rcokkf2l/pyrogram/raw/functions/messages/send_message.py__init___   s    zSendMessage.__init__)bargsr"   c             G   s4  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| }	|d	@ rt | nd }
|d
@ rt | nd }t| }t| }|d@ rt| nd }|d@ rt| ng }|d@ rt | nd }|d@ r
t| nd }t|	|||||||||
|||||dS )N   TF    @      i @  i      i         i   i    )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    )r   readr   r	   r   r   )r'   r(   flagsr   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r$   r$   r%   r0   p   s"    



zSendMessage.read)r"   c             G   s  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 }|| jrdndO }|| jd k	rdndO }|| jd k	rdndO }|t| || j  | j
d k	rD|t| j
 | jd k	r`|t| j |t| j |t| j | jd k	r|| j  | jd k	r|t| j | jd k	r|t| j | jd k	r|| j  | S )NFr   r)   r*   r+   r,   i @  i   r-   i   r.   r/   i   i    )r   writer   IDr   r   r   r   r   r   r   r   r   r   r   r    r   r	   r   r   r   r   getvalue)r#   r(   r'   r1   r$   r$   r%   r2      s@    zSendMessage.write)__name__
__module____qualname____doc__r!   r   str__annotations__r3   ZQUALNAMEintr   boolr&   staticmethodr   r   r0   bytesr2   r$   r$   r$   r%   r   !   s   
7.t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
   ,	