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

    Details:
        - Layer: ``158``
        - ID: ``973478B6``

    Parameters:
        offset (``int`` ``32-bit``):
            N/A

        limit (``int`` ``32-bit``):
            N/A

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

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

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

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

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

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

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

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

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

    Returns:
        :obj:`contacts.TopPeers <pyrogram.raw.base.contacts.TopPeers>`
    offsetlimithashcorrespondentsbots_pmbots_inlinephone_callsforward_usersforward_chatsgroupschannels	__slots__l   xh. zfunctions.contacts.GetTopPeersN)r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   returnc            C   sF   || _ || _|| _|| _|| _|| _|| _|| _|	| _|
| _	|| _
d S )N)r   r   r   r   r   r   r   r   r   r   r   )selfr   r   r   r   r   r   r   r   r   r   r    r    Q/tmp/pip-unpacked-wheel-rcokkf2l/pyrogram/raw/functions/contacts/get_top_peers.py__init__S   s    zGetTopPeers.__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}|d	@ rvdnd}	|d
@ rdnd}
t | }t | }t| }t||||||||||	|
dS )N   TF                i   i   )r   r   r   r   r   r   r   r   r   r   r   )r   readr   r   )r#   r$   flagsr   r   r   r   r   r   r   r   r   r   r   r    r    r!   r+   `   s    



zGetTopPeers.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
rd	ndO }|| jrd
ndO }|t| |t| j |t| j |t| j | S )NFr   r%   r&   r'   r(   r)   r*   i   i   )r   writer   IDr   r   r   r   r   r   r   r   r   r   r   r   getvalue)r   r$   r#   r,   r    r    r!   r-   u   s     zGetTopPeers.write)__name__
__module____qualname____doc__r   r   str__annotations__r.   ZQUALNAMEintr   boolr"   staticmethodr   r   r+   bytesr-   r    r    r    r!   r   !   s   
+&X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
   ,	