3
uQh                 @   s  d Z ddlmZ ddlmZ ddlmZmZmZmZ ddl	Z	ddl
Z
ddlmZ ertddlmZmZmZmZmZmZ G d	d
 d
eZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd  d eZG d!d" d"eZG d#d$ d$eZ G d%d& d&eZ!G d'd( d(eZ"G d)d* d*eZ#G d+d, d,eZ$G d-d. d.eZ%G d/d0 d0eZ&G d1d2 d2eZ'G d3d4 d4eZ(G d5d6 d6eZ)G d7d8 d8eZ*G d9d: d:eZ+G d;d< d<eZ,dS )=zBFile generated by TLObjects' generator. All changes will be ERASED   )TLObject)	TLRequest    )OptionalListUnionTYPE_CHECKINGN)datetime)TypeInputMediaTypeInputPeerTypeInputPrivacyRuleTypeMediaAreaTypeMessageEntityTypeReactionc               @   sJ   e Zd ZdZdZdee ee dddZdd Zd	d
 Z	e
dd ZdS )ActivateStealthModeRequestifѻWl   * N)pastfuturec             C   s   || _ || _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        N)r   r   )selfr   r    r   A/tmp/pip-build-2nz6shyl/telethon/telethon/tl/functions/stories.py__init__   s    z#ActivateStealthModeRequest.__init__c             C   s   d| j | jdS )Nr   )_r   r   )r   r   )r   r   r   r   to_dict   s    z"ActivateStealthModeRequest.to_dictc             C   sJ   dj dtjd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB fS )N    s   fѻWz<IFr         )joinstructpackr   r   )r   r   r   r   _bytes   s    z!ActivateStealthModeRequest._bytesc             C   s,   |j  }t|d@ }t|d@ }| ||dS )Nr   r   )r   r   )read_intbool)clsreaderflagsZ_pastZ_futurer   r   r   from_reader%   s    z&ActivateStealthModeRequest.from_reader)NN)__name__
__module____qualname__CONSTRUCTOR_IDSUBCLASS_OF_IDr   r!   r   r   r   classmethodr%   r   r   r   r   r      s   r   c               @   sF   e Zd ZdZdZddddZdd Zd	d
 Zdd Ze	dd Z
dS )CanSendStoryRequestl   _ l   gk r   )peerc             C   s
   || _ dS )z?
        :returns Bool: This type has no constructors.
        N)r-   )r   r-   r   r   r   r   2   s    zCanSendStoryRequest.__init__c                s   |j |j| jI d H | _d S )N)get_input_peerget_input_entityr-   )r   clientutilsr   r   r   resolve8   s    zCanSendStoryRequest.resolvec             C   s"   dt | jtr| jj n| jdS )Nr,   )r   r-   )
isinstancer-   r   r   )r   r   r   r   r   ;   s    zCanSendStoryRequest.to_dictc             C   s   dj d| jj fS )Nr   s   )r   r-   r   )r   r   r   r   r   A   s    zCanSendStoryRequest._bytesc             C   s   |j  }| |dS )N)r-   )tgread_object)r"   r#   _peerr   r   r   r%   G   s    zCanSendStoryRequest.from_readerN)r&   r'   r(   r)   r*   r   r2   r   r   r+   r%   r   r   r   r   r,   .   s   r,   c               @   sX   e Zd ZdZdZdee dddZdd Zd	d
 Z	dd Z
edd Zedd ZdS )DeleteStoriesRequestl   _[\ iq&Pr   )r-   idc             C   s   || _ || _dS )zF
        :returns Vector<int>: This type has no constructors.
        N)r-   r7   )r   r-   r7   r   r   r   r   Q   s    zDeleteStoriesRequest.__init__c                s   |j |j| jI d H | _d S )N)r.   r/   r-   )r   r0   r1   r   r   r   r2   X   s    zDeleteStoriesRequest.resolvec             C   s<   dt | jtr| jj n| j| jd kr*g n| jd d  dS )Nr6   )r   r-   r7   )r3   r-   r   r   r7   )r   r   r   r   r   [   s    zDeleteStoriesRequest.to_dictc             C   s:   dj d| jj dtjdt| jdj dd | jD fS )Nr   s   _Ys   ĵz<ic             s   s   | ]}t jd |V  qdS )z<iN)r   r   ).0xr   r   r   	<genexpr>f   s    z.DeleteStoriesRequest._bytes.<locals>.<genexpr>)r   r-   r   r   r   lenr7   )r   r   r   r   r   b   s    zDeleteStoriesRequest._bytesc             C   sH   |j  }|j  g }x&t|j D ]}|j }|j| q"W | ||dS )N)r-   r7   )r4   r    rangeappend)r"   r#   r5   _idr   _xr   r   r   r%   i   s    z DeleteStoriesRequest.from_readerc                s"    j    fddt j  D S )Nc                s   g | ]} j  qS r   )r    )r8   r   )r#   r   r   
<listcomp>w   s    z4DeleteStoriesRequest.read_result.<locals>.<listcomp>)r    r<   )r#   r   )r#   r   read_resultt   s    z DeleteStoriesRequest.read_resultN)r&   r'   r(   r)   r*   r   intr   r2   r   r   r+   r%   staticmethodrA   r   r   r   r   r6   M   s   r6   c            
   @   st   e Zd ZdZdZddeed eed  ee eed  eed  d	d
dZ	dd Z
dd Zdd Zedd ZdS )EditStoryRequestl   F:k l   * Nr   r
   r   r   r   )r-   r7   mediamedia_areascaptionentitiesprivacy_rulesc             C   s.   || _ || _|| _|| _|| _|| _|| _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        N)r-   r7   rE   rF   rG   rH   rI   )r   r-   r7   rE   rF   rG   rH   rI   r   r   r   r   ~   s    zEditStoryRequest.__init__c                s2   |j |j| jI d H | _| jr.|j| j| _d S )N)r.   r/   r-   rE   get_input_media)r   r0   r1   r   r   r   r2      s    zEditStoryRequest.resolvec          	   C   s   dt | jtr| jj n| j| jt | jtr6| jj n| j| jd krHg ndd | jD | j| jd krhg ndd | jD | j	d krg ndd | j	D dS )NrD   c             S   s"   g | ]}t |tr|j n|qS r   )r3   r   r   )r8   r9   r   r   r   r@      s    z,EditStoryRequest.to_dict.<locals>.<listcomp>c             S   s"   g | ]}t |tr|j n|qS r   )r3   r   r   )r8   r9   r   r   r   r@      s    c             S   s"   g | ]}t |tr|j n|qS r   )r3   r   r   )r8   r9   r   r   r   r@      s    )r   r-   r7   rE   rF   rG   rH   rI   )
r3   r-   r   r   r7   rE   rF   rG   rH   rI   )r   r   r   r   r      s    zEditStoryRequest.to_dictc             C   s*  | j s| j d k	r | jsP| jd k	sP| j d ks4| j dkrH| jd ksP| jdksPtddjdtjd| jd ksp| jdkrtdnd| jd ks| jdkrdndB | j d ks| j dkrdnd	B | jd ks| jdkrdnd	B | jd ks| jdkrdnd
B | j	j
 tjd| j| jd ks| jdkrdn| jj
 | jd ks8| jdkr<dn.djdtjdt| jdjdd | jD f| j d ks| j dkrdn
| j| j | jd ks| jdkrdn.djdtjdt| jdjdd | jD f| jd ks| jdkrdn.djdtjdt| jdjdd | jD ff	S )NFzMcaption, entities parameters must all be False-y (like None) or all me True-yr   s   Fz<Ir   r      r      z<is   ĵc             s   s   | ]}|j  V  qd S )N)r   )r8   r9   r   r   r   r:      s    z*EditStoryRequest._bytes.<locals>.<genexpr>c             s   s   | ]}|j  V  qd S )N)r   )r8   r9   r   r   r   r:      s    c             s   s   | ]}|j  V  qd S )N)r   )r8   r9   r   r   r   r:      s    )rG   rH   AssertionErrorr   r   r   rE   rF   rI   r-   r   r7   r;   serialize_bytes)r   r   r   r   r      s    P$J&JzEditStoryRequest._bytesc          	   C   s"  |j  }|j }|j  }|d@ r*|j }nd }|d@ rl|j   g }x,t|j  D ]}|j }|j| qPW nd }|d@ r|j }	nd }	|d@ r|j   g }
x,t|j  D ]}|j }|
j| qW nd }
|d@ r|j   g }x,t|j  D ]}|j }|j| qW nd }| |||||	|
|dS )Nr   rK   r   rL   )r-   r7   rE   rF   rG   rH   rI   )r    r4   r<   r=   tgread_string)r"   r#   r$   r5   r>   _media_media_areasr   r?   _caption	_entities_privacy_rulesr   r   r   r%      s>    


zEditStoryRequest.from_reader)NNNNN)r&   r'   r(   r)   r*   rB   r   r   strr   r2   r   r   r+   r%   r   r   r   r   rD   z   s   <rD   c               @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )ExportStoryLinkRequesti {iAr   )r-   r7   c             C   s   || _ || _dS )zL
        :returns ExportedStoryLink: Instance of ExportedStoryLink.
        N)r-   r7   )r   r-   r7   r   r   r   r      s    zExportStoryLinkRequest.__init__c                s   |j |j| jI d H | _d S )N)r.   r/   r-   )r   r0   r1   r   r   r   r2      s    zExportStoryLinkRequest.resolvec             C   s&   dt | jtr| jj n| j| jdS )NrV   )r   r-   r7   )r3   r-   r   r   r7   )r   r   r   r   r      s    zExportStoryLinkRequest.to_dictc             C   s    dj d| jj tjd| jfS )Nr   s    {z<i)r   r-   r   r   r   r7   )r   r   r   r   r      s    zExportStoryLinkRequest._bytesc             C   s   |j  }|j }| ||dS )N)r-   r7   )r4   r    )r"   r#   r5   r>   r   r   r   r%      s    z"ExportStoryLinkRequest.from_readerN)r&   r'   r(   r)   r*   rB   r   r2   r   r   r+   r%   r   r   r   r   rV      s   rV   c               @   s0   e Zd ZdZdZdd Zdd Zedd Zd	S )
GetAllReadPeerStoriesRequestl   g6 l   * c             C   s   ddiS )Nr   rW   r   )r   r   r   r   r      s    z$GetAllReadPeerStoriesRequest.to_dictc             C   s
   dj dS )Nr      Z)rX   )r   )r   r   r   r   r     s    z#GetAllReadPeerStoriesRequest._bytesc             C   s   |  S )Nr   )r"   r#   r   r   r   r%     s    z(GetAllReadPeerStoriesRequest.from_readerN)	r&   r'   r(   r)   r*   r   r   r+   r%   r   r   r   r   rW      s
   rW   c               @   sP   e Zd ZdZdZdee ee ee dddZdd Z	d	d
 Z
edd ZdS )GetAllStoriesRequestl   %Va] i`~N)nexthiddenstatec             C   s   || _ || _|| _dS )zd
        :returns stories.AllStories: Instance of either AllStoriesNotModified, AllStories.
        N)rZ   r[   r\   )r   rZ   r[   r\   r   r   r   r     s    zGetAllStoriesRequest.__init__c             C   s   d| j | j| jdS )NrY   )r   rZ   r[   r\   )rZ   r[   r\   )r   r   r   r   r     s    zGetAllStoriesRequest.to_dictc             C   s   dj dtjd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | jd ksV| jdkrZdndB | jd kst| jdkrxdn
| j| jfS )	Nr   s   %ְz<IFr   r   rL   r   )r   r   r   rZ   r[   r\   rN   )r   r   r   r   r     s    ZzGetAllStoriesRequest._bytesc             C   sD   |j  }t|d@ }t|d@ }|d@ r2|j }nd }| |||dS )Nr   rL   r   )rZ   r[   r\   )r    r!   rO   )r"   r#   r$   _next_hidden_stater   r   r   r%   &  s    
z GetAllStoriesRequest.from_reader)NNN)r&   r'   r(   r)   r*   r   r!   rU   r   r   r   r+   r%   r   r   r   r   rY     s    rY   c               @   s0   e Zd ZdZdZdd Zdd Zedd Zd	S )
GetChatsToSendRequestl   `J l   K3 c             C   s   ddiS )Nr   r`   r   )r   r   r   r   r   7  s    zGetChatsToSendRequest.to_dictc             C   s
   dj dS )Nr      `j)ra   )r   )r   r   r   r   r   <  s    zGetChatsToSendRequest._bytesc             C   s   |  S )Nr   )r"   r#   r   r   r   r%   A  s    z!GetChatsToSendRequest.from_readerN)	r&   r'   r(   r)   r*   r   r   r+   r%   r   r   r   r   r`   3  s
   r`   c               @   sV   e Zd ZdZdZed dddZdd Zd	d
 Zdd Z	e
dd Zedd ZdS )GetPeerMaxIDsRequestiÃYSiq&Pr   )r7   c             C   s
   || _ dS )zF
        :returns Vector<int>: This type has no constructors.
        N)r7   )r   r7   r   r   r   r   J  s    zGetPeerMaxIDsRequest.__init__c                s:   g }x*| j D ] }|j|j|j|I d H  qW || _ d S )N)r7   r=   r.   r/   )r   r0   r1   Z_tmpr?   r   r   r   r2   P  s     zGetPeerMaxIDsRequest.resolvec             C   s$   d| j d krg ndd | j D dS )Nrb   c             S   s"   g | ]}t |tr|j n|qS r   )r3   r   r   )r8   r9   r   r   r   r@   Z  s    z0GetPeerMaxIDsRequest.to_dict.<locals>.<listcomp>)r   r7   )r7   )r   r   r   r   r   W  s    zGetPeerMaxIDsRequest.to_dictc             C   s2   dj ddtjdt| jdj dd | jD fS )Nr   s   ÃYSs   ĵz<ic             s   s   | ]}|j  V  qd S )N)r   )r8   r9   r   r   r   r:   `  s    z.GetPeerMaxIDsRequest._bytes.<locals>.<genexpr>)r   r   r   r;   r7   )r   r   r   r   r   ]  s    zGetPeerMaxIDsRequest._bytesc             C   s>   |j   g }x&t|j  D ]}|j }|j| qW | |dS )N)r7   )r    r<   r4   r=   )r"   r#   r>   r   r?   r   r   r   r%   c  s    z GetPeerMaxIDsRequest.from_readerc                s"    j    fddt j  D S )Nc                s   g | ]} j  qS r   )r    )r8   r   )r#   r   r   r@   p  s    z4GetPeerMaxIDsRequest.read_result.<locals>.<listcomp>)r    r<   )r#   r   )r#   r   rA   m  s    z GetPeerMaxIDsRequest.read_resultN)r&   r'   r(   r)   r*   r   r   r2   r   r   r+   r%   rC   rA   r   r   r   r   rb   F  s   
rb   c               @   sF   e Zd ZdZdZddddZdd Zd	d
 Zdd Ze	dd Z
dS )GetPeerStoriesRequestiPJ,l   O: r   )r-   c             C   s
   || _ dS )zH
        :returns stories.PeerStories: Instance of PeerStories.
        N)r-   )r   r-   r   r   r   r   w  s    zGetPeerStoriesRequest.__init__c                s   |j |j| jI d H | _d S )N)r.   r/   r-   )r   r0   r1   r   r   r   r2   }  s    zGetPeerStoriesRequest.resolvec             C   s"   dt | jtr| jj n| jdS )Nrc   )r   r-   )r3   r-   r   r   )r   r   r   r   r     s    zGetPeerStoriesRequest.to_dictc             C   s   dj d| jj fS )Nr   s   PJ,)r   r-   r   )r   r   r   r   r     s    zGetPeerStoriesRequest._bytesc             C   s   |j  }| |dS )N)r-   )r4   )r"   r#   r5   r   r   r   r%     s    z!GetPeerStoriesRequest.from_readerN)r&   r'   r(   r)   r*   r   r2   r   r   r+   r%   r   r   r   r   rc   s  s   rc   c               @   sJ   e Zd ZdZdZdeedddZdd Zd	d
 Zdd Z	e
dd ZdS )GetPinnedStoriesRequestiܥ!Xi,%r   )r-   	offset_idlimitc             C   s   || _ || _|| _dS )z@
        :returns stories.Stories: Instance of Stories.
        N)r-   re   rf   )r   r-   re   rf   r   r   r   r     s    z GetPinnedStoriesRequest.__init__c                s   |j |j| jI d H | _d S )N)r.   r/   r-   )r   r0   r1   r   r   r   r2     s    zGetPinnedStoriesRequest.resolvec             C   s*   dt | jtr| jj n| j| j| jdS )Nrd   )r   r-   re   rf   )r3   r-   r   r   re   rf   )r   r   r   r   r     s    zGetPinnedStoriesRequest.to_dictc             C   s,   dj d| jj tjd| jtjd| jfS )Nr   s   ܥ!Xz<i)r   r-   r   r   r   re   rf   )r   r   r   r   r     s
    zGetPinnedStoriesRequest._bytesc             C   s&   |j  }|j }|j }| |||dS )N)r-   re   rf   )r4   r    )r"   r#   r5   
_offset_id_limitr   r   r   r%     s    z#GetPinnedStoriesRequest.from_readerN)r&   r'   r(   r)   r*   rB   r   r2   r   r   r+   r%   r   r   r   r   rd     s   rd   c               @   sJ   e Zd ZdZdZdeedddZdd Zd	d
 Zdd Z	e
dd ZdS )GetStoriesArchiveRequestl    jh i,%r   )r-   re   rf   c             C   s   || _ || _|| _dS )z@
        :returns stories.Stories: Instance of Stories.
        N)r-   re   rf   )r   r-   re   rf   r   r   r   r     s    z!GetStoriesArchiveRequest.__init__c                s   |j |j| jI d H | _d S )N)r.   r/   r-   )r   r0   r1   r   r   r   r2     s    z GetStoriesArchiveRequest.resolvec             C   s*   dt | jtr| jj n| j| j| jdS )Nri   )r   r-   re   rf   )r3   r-   r   r   re   rf   )r   r   r   r   r     s    z GetStoriesArchiveRequest.to_dictc             C   s,   dj d| jj tjd| jtjd| jfS )Nr   s    5z<i)r   r-   r   r   r   re   rf   )r   r   r   r   r     s
    zGetStoriesArchiveRequest._bytesc             C   s&   |j  }|j }|j }| |||dS )N)r-   re   rf   )r4   r    )r"   r#   r5   rg   rh   r   r   r   r%     s    z$GetStoriesArchiveRequest.from_readerN)r&   r'   r(   r)   r*   rB   r   r2   r   r   r+   r%   r   r   r   r   ri     s   ri   c               @   sL   e Zd ZdZdZdee dddZdd Zd	d
 Z	dd Z
edd ZdS )GetStoriesByIDRequestittWi,%r   )r-   r7   c             C   s   || _ || _dS )z@
        :returns stories.Stories: Instance of Stories.
        N)r-   r7   )r   r-   r7   r   r   r   r     s    zGetStoriesByIDRequest.__init__c                s   |j |j| jI d H | _d S )N)r.   r/   r-   )r   r0   r1   r   r   r   r2     s    zGetStoriesByIDRequest.resolvec             C   s<   dt | jtr| jj n| j| jd kr*g n| jd d  dS )Nrj   )r   r-   r7   )r3   r-   r   r   r7   )r   r   r   r   r     s    zGetStoriesByIDRequest.to_dictc             C   s:   dj d| jj dtjdt| jdj dd | jD fS )Nr   s   ttWs   ĵz<ic             s   s   | ]}t jd |V  qdS )z<iN)r   r   )r8   r9   r   r   r   r:     s    z/GetStoriesByIDRequest._bytes.<locals>.<genexpr>)r   r-   r   r   r   r;   r7   )r   r   r   r   r     s    zGetStoriesByIDRequest._bytesc             C   sH   |j  }|j  g }x&t|j D ]}|j }|j| q"W | ||dS )N)r-   r7   )r4   r    r<   r=   )r"   r#   r5   r>   r   r?   r   r   r   r%     s    z!GetStoriesByIDRequest.from_readerN)r&   r'   r(   r)   r*   r   rB   r   r2   r   r   r+   r%   r   r   r   r   rj     s   rj   c               @   sL   e Zd ZdZdZdee dddZdd Zd	d
 Z	dd Z
edd ZdS )GetStoriesViewsRequestil(i?Kr   )r-   r7   c             C   s   || _ || _dS )zF
        :returns stories.StoryViews: Instance of StoryViews.
        N)r-   r7   )r   r-   r7   r   r   r   r     s    zGetStoriesViewsRequest.__init__c                s   |j |j| jI d H | _d S )N)r.   r/   r-   )r   r0   r1   r   r   r   r2     s    zGetStoriesViewsRequest.resolvec             C   s<   dt | jtr| jj n| j| jd kr*g n| jd d  dS )Nrk   )r   r-   r7   )r3   r-   r   r   r7   )r   r   r   r   r     s    zGetStoriesViewsRequest.to_dictc             C   s:   dj d| jj dtjdt| jdj dd | jD fS )Nr   s   l(s   ĵz<ic             s   s   | ]}t jd |V  qdS )z<iN)r   r   )r8   r9   r   r   r   r:   !  s    z0GetStoriesViewsRequest._bytes.<locals>.<genexpr>)r   r-   r   r   r   r;   r7   )r   r   r   r   r     s    zGetStoriesViewsRequest._bytesc             C   sH   |j  }|j  g }x&t|j D ]}|j }|j| q"W | ||dS )N)r-   r7   )r4   r    r<   r=   )r"   r#   r5   r>   r   r?   r   r   r   r%   $  s    z"GetStoriesViewsRequest.from_readerN)r&   r'   r(   r)   r*   r   rB   r   r2   r   r   r+   r%   r   r   r   r   rk     s   rk   c               @   s^   e Zd ZdZdZddeeee ed ee dddZ	d	d
 Z
dd Zdd Zedd ZdS )GetStoryReactionsListRequestl   es ioNr   r   )r-   r7   rf   forwards_firstreactionoffsetc             C   s(   || _ || _|| _|| _|| _|| _dS )zV
        :returns stories.StoryReactionsList: Instance of StoryReactionsList.
        N)r-   r7   rf   rm   rn   ro   )r   r-   r7   rf   rm   rn   ro   r   r   r   r   4  s    z%GetStoryReactionsListRequest.__init__c                s   |j |j| jI d H | _d S )N)r.   r/   r-   )r   r0   r1   r   r   r   r2   ?  s    z$GetStoryReactionsListRequest.resolvec             C   sL   dt | jtr| jj n| j| j| j| jt | jtr>| jj n| j| jdS )Nrl   )r   r-   r7   rf   rm   rn   ro   )	r3   r-   r   r   r7   rf   rm   rn   ro   )r   r   r   r   r   B  s    z$GetStoryReactionsListRequest.to_dictc          
   C   s   dj dtjd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | jd ksV| jdkrZdndB | jj tjd	| j| jd ks| jdkrdn| jj | jd ks| jdkrdn
| j	| jtjd	| j
fS )
Nr   s   z<IFr   rL   r   r   z<i)r   r   r   rm   rn   ro   r-   r   r7   rN   rf   )r   r   r   r   r   M  s    Z "z#GetStoryReactionsListRequest._bytesc       	      C   sl   |j  }t|d@ }|j }|j  }|d@ r6|j }nd }|d@ rL|j }nd }|j  }| ||||||dS )NrL   r   r   )r-   r7   rf   rm   rn   ro   )r    r!   r4   rO   )	r"   r#   r$   _forwards_firstr5   r>   	_reaction_offsetrh   r   r   r   r%   X  s    

z(GetStoryReactionsListRequest.from_reader)NNN)r&   r'   r(   r)   r*   rB   r   r!   rU   r   r2   r   r   r+   r%   r   r   r   r   rl   0  s   &rl   c            
   @   sf   e Zd ZdZdZddeeeee ee ee ee dddZ	dd	 Z
d
d Zdd Zedd ZdS )GetStoryViewsListRequestiW<~l   `ur Nr   )r-   r7   ro   rf   just_contactsreactions_firstrm   qc	       	      C   s4   || _ || _|| _|| _|| _|| _|| _|| _dS )zN
        :returns stories.StoryViewsList: Instance of StoryViewsList.
        N)r-   r7   ro   rf   rt   ru   rm   rv   )	r   r-   r7   ro   rf   rt   ru   rm   rv   r   r   r   r   o  s    z!GetStoryViewsListRequest.__init__c                s   |j |j| jI d H | _d S )N)r.   r/   r-   )r   r0   r1   r   r   r   r2   |  s    z GetStoryViewsListRequest.resolvec          
   C   s>   dt | jtr| jj n| j| j| j| j| j| j| j	| j
d	S )Nrs   )	r   r-   r7   ro   rf   rt   ru   rm   rv   )r3   r-   r   r   r7   ro   rf   rt   ru   rm   rv   )r   r   r   r   r     s    z GetStoryViewsListRequest.to_dictc          
   C   s   dj dtjd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | jd ksV| jdkrZdndB | jd ksr| jdkrvdnd	B | jj | jd ks| jdkrdn
| j	| jtjd
| j
| j	| jtjd
| jfS )Nr   s   W<~z<IFr   r   rL   rK   r   z<i)r   r   r   rt   ru   rm   rv   r-   r   rN   r7   ro   rf   )r   r   r   r   r     s    v"
zGetStoryViewsListRequest._bytesc          
   C   sz   |j  }t|d@ }t|d@ }t|d@ }|j }|d@ rF|j }nd }|j  }|j }	|j  }
| |||	|
||||dS )Nr   rL   rK   r   )r-   r7   ro   rf   rt   ru   rm   rv   )r    r!   r4   rO   )r"   r#   r$   Z_just_contactsZ_reactions_firstrp   r5   Z_qr>   rr   rh   r   r   r   r%     s    
z$GetStoryViewsListRequest.from_reader)NNNN)r&   r'   r(   r)   r*   rB   rU   r   r!   r   r2   r   r   r+   r%   r   r   r   r   rs   k  s   .rs   c               @   sL   e Zd ZdZdZdee dddZdd Zd	d
 Z	dd Z
edd ZdS )IncrementStoryViewsRequestl   
d l   gk r   )r-   r7   c             C   s   || _ || _dS )z?
        :returns Bool: This type has no constructors.
        N)r-   r7   )r   r-   r7   r   r   r   r     s    z#IncrementStoryViewsRequest.__init__c                s   |j |j| jI d H | _d S )N)r.   r/   r-   )r   r0   r1   r   r   r   r2     s    z"IncrementStoryViewsRequest.resolvec             C   s<   dt | jtr| jj n| j| jd kr*g n| jd d  dS )Nrw   )r   r-   r7   )r3   r-   r   r   r7   )r   r   r   r   r     s    z"IncrementStoryViewsRequest.to_dictc             C   s:   dj d| jj dtjdt| jdj dd | jD fS )Nr   s   s   ĵz<ic             s   s   | ]}t jd |V  qdS )z<iN)r   r   )r8   r9   r   r   r   r:     s    z4IncrementStoryViewsRequest._bytes.<locals>.<genexpr>)r   r-   r   r   r   r;   r7   )r   r   r   r   r     s    z!IncrementStoryViewsRequest._bytesc             C   sH   |j  }|j  g }x&t|j D ]}|j }|j| q"W | ||dS )N)r-   r7   )r4   r    r<   r=   )r"   r#   r5   r>   r   r?   r   r   r   r%     s    z&IncrementStoryViewsRequest.from_readerN)r&   r'   r(   r)   r*   r   rB   r   r2   r   r   r+   r%   r   r   r   r   rw     s   rw   c               @   sT   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd Zedd ZdS )ReadStoriesRequestl   ZJ iq&Pr   )r-   max_idc             C   s   || _ || _dS )zF
        :returns Vector<int>: This type has no constructors.
        N)r-   ry   )r   r-   ry   r   r   r   r     s    zReadStoriesRequest.__init__c                s   |j |j| jI d H | _d S )N)r.   r/   r-   )r   r0   r1   r   r   r   r2     s    zReadStoriesRequest.resolvec             C   s&   dt | jtr| jj n| j| jdS )Nrx   )r   r-   ry   )r3   r-   r   r   ry   )r   r   r   r   r     s    zReadStoriesRequest.to_dictc             C   s    dj d| jj tjd| jfS )Nr   s   Vz<i)r   r-   r   r   r   ry   )r   r   r   r   r     s    zReadStoriesRequest._bytesc             C   s   |j  }|j }| ||dS )N)r-   ry   )r4   r    )r"   r#   r5   Z_max_idr   r   r   r%     s    zReadStoriesRequest.from_readerc                s"    j    fddt j  D S )Nc                s   g | ]} j  qS r   )r    )r8   r   )r#   r   r   r@     s    z2ReadStoriesRequest.read_result.<locals>.<listcomp>)r    r<   )r#   r   )r#   r   rA     s    zReadStoriesRequest.read_resultN)r&   r'   r(   r)   r*   rB   r   r2   r   r   r+   r%   rC   rA   r   r   r   r   rx     s   rx   c               @   sP   e Zd ZdZdZdee eedddZ	dd Z
d	d
 Zdd Zedd ZdS )ReportRequestiEl   8tY r   )r-   r7   optionmessagec             C   s   || _ || _|| _|| _dS )z
        :returns ReportResult: Instance of either ReportResultChooseOption, ReportResultAddComment, ReportResultReported.
        N)r-   r7   r{   r|   )r   r-   r7   r{   r|   r   r   r   r     s    zReportRequest.__init__c                s   |j |j| jI d H | _d S )N)r.   r/   r-   )r   r0   r1   r   r   r   r2     s    zReportRequest.resolvec             C   sD   dt | jtr| jj n| j| jd kr*g n| jd d  | j| jdS )Nrz   )r   r-   r7   r{   r|   )r3   r-   r   r   r7   r{   r|   )r   r   r   r   r   	  s
    zReportRequest.to_dictc          	   C   sN   dj d| jj dtjdt| jdj dd | jD | j| j| j| j	fS )Nr   s   Es   ĵz<ic             s   s   | ]}t jd |V  qdS )z<iN)r   r   )r8   r9   r   r   r   r:     s    z'ReportRequest._bytes.<locals>.<genexpr>)
r   r-   r   r   r   r;   r7   rN   r{   r|   )r   r   r   r   r     s    &
zReportRequest._bytesc             C   s\   |j  }|j  g }x&t|j D ]}|j }|j| q"W |j }|j }| ||||dS )N)r-   r7   r{   r|   )r4   r    r<   r=   Ztgread_bytesrO   )r"   r#   r5   r>   r   r?   Z_option_messager   r   r   r%     s    zReportRequest.from_readerN)r&   r'   r(   r)   r*   r   rB   bytesrU   r   r2   r   r   r+   r%   r   r   r   r   rz     s   			rz   c               @   s\   e Zd ZdZdZdeeee ed ed dddZd	d
 Z	dd Z
dd Zedd ZdS )SearchPostsRequestl   	# i5yNr   r   )ro   rf   hashtagarear-   c             C   s"   || _ || _|| _|| _|| _dS )zJ
        :returns stories.FoundStories: Instance of FoundStories.
        N)ro   rf   r   r   r-   )r   ro   rf   r   r   r-   r   r   r   r   -  s
    zSearchPostsRequest.__init__c                s$   | j r |j|j| j I d H | _ d S )N)r-   r.   r/   )r   r0   r1   r   r   r   r2   7  s    zSearchPostsRequest.resolvec             C   sH   d| j | j| jt| jtr$| jj n| jt| jtr>| jj n| jdS )Nr   )r   ro   rf   r   r   r-   )ro   rf   r   r3   r   r   r   r-   )r   r   r   r   r   ;  s    zSearchPostsRequest.to_dictc          
   C   s   dj dtjd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | jd ksV| jdkrZdndB | jd kst| jdkrxdn
| j| j| jd ks| jdkrdn| jj | jd ks| jdkrdn| jj | j| jtjd	| j	fS )
Nr   s   	z<IFr   r   r   rL   z<i)
r   r   r   r   r   r-   rN   r   ro   rf   )r   r   r   r   r   E  s    Z"  
zSearchPostsRequest._bytesc             C   sl   |j  }|d@ r|j }nd }|d@ r0|j }nd }|d@ rF|j }nd }|j }|j  }| |||||dS )Nr   r   rL   )ro   rf   r   r   r-   )r    rO   r4   )r"   r#   r$   Z_hashtagZ_arear5   rr   rh   r   r   r   r%   P  s    


zSearchPostsRequest.from_reader)NNN)r&   r'   r(   r)   r*   rU   rB   r   r   r2   r   r   r+   r%   r   r   r   r   r   )  s   $

r   c               @   sR   e Zd ZdZdZddedee dddZd	d
 Z	dd Z
dd Zedd ZdS )SendReactionRequesti6l   * Nr   r   )r-   story_idrn   add_to_recentc             C   s   || _ || _|| _|| _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        N)r-   r   rn   r   )r   r-   r   rn   r   r   r   r   r   i  s    zSendReactionRequest.__init__c                s   |j |j| jI d H | _d S )N)r.   r/   r-   )r   r0   r1   r   r   r   r2   r  s    zSendReactionRequest.resolvec             C   sD   dt | jtr| jj n| j| jt | jtr6| jj n| j| jdS )Nr   )r   r-   r   rn   r   )r3   r-   r   r   r   rn   r   )r   r   r   r   r   u  s
    zSendReactionRequest.to_dictc             C   sJ   dj dtjd| jd ks | jdkr$dnd| jj tjd| j| jj fS )Nr   s   6z<IFr   r   z<i)r   r   r   r   r-   r   r   rn   )r   r   r   r   r   ~  s    "zSendReactionRequest._bytesc             C   s<   |j  }t|d@ }|j }|j  }|j }| ||||dS )Nr   )r-   r   rn   r   )r    r!   r4   )r"   r#   r$   Z_add_to_recentr5   Z	_story_idrq   r   r   r   r%     s    zSendReactionRequest.from_reader)N)r&   r'   r(   r)   r*   rB   r   r!   r   r2   r   r   r+   r%   r   r   r   r   r   e  s   			r   c               @   s   e Zd ZdZdZddded ee ee ee eed  ee eed  e	ee	 ed ee	 d	d
dZ
dd Zdd Zdd Zedd ZdS )SendStoryRequestl   KiI l   * Nr   r
   r   r   r   )r-   rE   rI   pinned
noforwardsfwd_modifiedrF   rG   rH   	random_idperiodfwd_from_idfwd_from_storyc             C   sp   || _ || _|| _|| _|| _|| _|| _|| _|	| _|
dk	rB|
nt	j
tjdddd| _|| _|| _|| _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        NrK   bigT)signed)r-   rE   rI   r   r   r   rF   rG   rH   rB   
from_bytesosurandomr   r   r   r   )r   r-   rE   rI   r   r   r   rF   rG   rH   r   r   r   r   r   r   r   r     s    $zSendStoryRequest.__init__c                sL   |j |j| jI d H | _|j| j| _| jrH|j |j| jI d H | _d S )N)r.   r/   r-   rJ   rE   r   )r   r0   r1   r   r   r   r2     s    zSendStoryRequest.resolvec             C   s   dt | jtr| jj n| jt | jtr2| jj n| j| jd krDg ndd | jD | j| j| j| j	d krlg ndd | j	D | j
| jd krg ndd | jD | j| jt | jtr| jj n| j| jdS )Nr   c             S   s"   g | ]}t |tr|j n|qS r   )r3   r   r   )r8   r9   r   r   r   r@     s    z,SendStoryRequest.to_dict.<locals>.<listcomp>c             S   s"   g | ]}t |tr|j n|qS r   )r3   r   r   )r8   r9   r   r   r   r@     s    c             S   s"   g | ]}t |tr|j n|qS r   )r3   r   r   )r8   r9   r   r   r   r@     s    )r   r-   rE   rI   r   r   r   rF   rG   rH   r   r   r   r   )r3   r-   r   r   rE   rI   r   r   r   rF   rG   rH   r   r   r   r   )r   r   r   r   r     s    zSendStoryRequest.to_dictc             C   s  | j p| j d k	o| jp| jd k	pF| j d kp2| j dkoF| jd kpF| jdksPtddjdtjd| jd kpn| jdkrtdnd| jd kp| jdkrdndB | jd kp| jdkrdnd	B | j	d kp| j	dkrdnd
B | j
d kp| j
dkrdndB | jd kp| jdkrdndB | jd kp| jdkrdndB | j d kp6| j dkr>dndB | jd kpV| jdkr^dndB | jj | jj | j	d kp| j	dkrdn.djdtjdt| j	djdd | j	D f| j
d kp| j
dkrdn
| j| j
| jd kp| jdkr dn.djdtjdt| jdjdd | jD fdtjdt| jdjdd | jD tjd| j| jd kpt| jdkr|dntjd| j| j d kp| j dkrdn| j j | jd kp| jdkrdntjd| jfS )NFzWfwd_from_id, fwd_from_story parameters must all be False-y (like None) or all me True-yr   s   Kiz<Ir   rL             r   r   rK   @   s   ĵz<ic             s   s   | ]}|j  V  qd S )N)r   )r8   r9   r   r   r   r:     s    z*SendStoryRequest._bytes.<locals>.<genexpr>c             s   s   | ]}|j  V  qd S )N)r   )r8   r9   r   r   r   r:     s    c             s   s   | ]}|j  V  qd S )N)r   )r8   r9   r   r   r   r:     s    z<q)r   r   rM   r   r   r   r   r   r   rF   rG   rH   r   r-   r   rE   r;   rN   rI   r   )r   r   r   r   r     s    P J&J&($zSendStoryRequest._bytesc             C   s|  |j  }t|d@ }t|d@ }t|d@ }|j }|j }|d@ rz|j   g }x,t|j  D ]}	|j }
|j|
 q^W nd }|d@ r|j }nd }|d@ r|j   g }x,t|j  D ]}	|j }
|j|
 qW nd }|j   g }x&t|j  D ]}	|j }
|j|
 qW |j }|d@ r&|j  }nd }|d@ r>|j }nd }|d@ rV|j  }nd }| |||||||||||||d	S )
NrL   r   r   r   r   r   rK   r   )r-   rE   rI   r   r   r   rF   rG   rH   r   r   r   r   )r    r!   r4   r<   r=   rO   Z	read_long)r"   r#   r$   _pinnedZ_noforwardsZ_fwd_modifiedr5   rP   rQ   r   r?   rR   rS   rT   Z
_random_idZ_periodZ_fwd_from_idZ_fwd_from_storyr   r   r   r%     sN    






zSendStoryRequest.from_reader)
NNNNNNNNNN)r&   r'   r(   r)   r*   r   r   r!   rU   rB   r   r2   r   r   r+   r%   r   r   r   r   r     s   Xr   c               @   s>   e Zd ZdZdZedddZdd Zdd	 Ze	d
d Z
dS )ToggleAllStoriesHiddenRequestiW%|l   gk )r[   c             C   s
   || _ dS )z?
        :returns Bool: This type has no constructors.
        N)r[   )r   r[   r   r   r   r   
  s    z&ToggleAllStoriesHiddenRequest.__init__c             C   s   d| j dS )Nr   )r   r[   )r[   )r   r   r   r   r     s    z%ToggleAllStoriesHiddenRequest.to_dictc             C   s   dj d| jrdndfS )Nr   s   W%|s   urs   7y)r   r[   )r   r   r   r   r     s    z$ToggleAllStoriesHiddenRequest._bytesc             C   s   |j  }| |dS )N)r[   )tgread_bool)r"   r#   r^   r   r   r   r%     s    z)ToggleAllStoriesHiddenRequest.from_readerN)r&   r'   r(   r)   r*   r!   r   r   r   r+   r%   r   r   r   r   r     s   r   c               @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )TogglePeerStoriesHiddenRequestl   z l   gk r   )r-   r[   c             C   s   || _ || _dS )z?
        :returns Bool: This type has no constructors.
        N)r-   r[   )r   r-   r[   r   r   r   r   &  s    z'TogglePeerStoriesHiddenRequest.__init__c                s   |j |j| jI d H | _d S )N)r.   r/   r-   )r   r0   r1   r   r   r   r2   -  s    z&TogglePeerStoriesHiddenRequest.resolvec             C   s&   dt | jtr| jj n| j| jdS )Nr   )r   r-   r[   )r3   r-   r   r   r[   )r   r   r   r   r   0  s    z&TogglePeerStoriesHiddenRequest.to_dictc             C   s    dj d| jj | jrdndfS )Nr   s   s   urs   7y)r   r-   r   r[   )r   r   r   r   r   7  s    z%TogglePeerStoriesHiddenRequest._bytesc             C   s   |j  }|j }| ||dS )N)r-   r[   )r4   r   )r"   r#   r5   r^   r   r   r   r%   >  s    z*TogglePeerStoriesHiddenRequest.from_readerN)r&   r'   r(   r)   r*   r!   r   r2   r   r   r+   r%   r   r   r   r   r   "  s   r   c               @   sZ   e Zd ZdZdZdee edddZdd Z	d	d
 Z
dd Zedd Zedd ZdS )TogglePinnedRequestl   !4 iq&Pr   )r-   r7   r   c             C   s   || _ || _|| _dS )zF
        :returns Vector<int>: This type has no constructors.
        N)r-   r7   r   )r   r-   r7   r   r   r   r   r   I  s    zTogglePinnedRequest.__init__c                s   |j |j| jI d H | _d S )N)r.   r/   r-   )r   r0   r1   r   r   r   r2   Q  s    zTogglePinnedRequest.resolvec             C   s@   dt | jtr| jj n| j| jd kr*g n| jd d  | jdS )Nr   )r   r-   r7   r   )r3   r-   r   r   r7   r   )r   r   r   r   r   T  s    zTogglePinnedRequest.to_dictc             C   sF   dj d| jj dtjdt| jdj dd | jD | jr>dndfS )	Nr   s   us   ĵz<ic             s   s   | ]}t jd |V  qdS )z<iN)r   r   )r8   r9   r   r   r   r:   `  s    z-TogglePinnedRequest._bytes.<locals>.<genexpr>s   urs   7y)r   r-   r   r   r   r;   r7   r   )r   r   r   r   r   \  s
    &zTogglePinnedRequest._bytesc             C   sR   |j  }|j  g }x&t|j D ]}|j }|j| q"W |j }| |||dS )N)r-   r7   r   )r4   r    r<   r=   r   )r"   r#   r5   r>   r   r?   r   r   r   r   r%   d  s    zTogglePinnedRequest.from_readerc                s"    j    fddt j  D S )Nc                s   g | ]} j  qS r   )r    )r8   r   )r#   r   r   r@   s  s    z3TogglePinnedRequest.read_result.<locals>.<listcomp>)r    r<   )r#   r   )r#   r   rA   p  s    zTogglePinnedRequest.read_resultN)r&   r'   r(   r)   r*   r   rB   r!   r   r2   r   r   r+   r%   rC   rA   r   r   r   r   r   E  s   r   c               @   sL   e Zd ZdZdZdee dddZdd Zd	d
 Z	dd Z
edd ZdS )TogglePinnedToTopRequesti~)l   gk r   )r-   r7   c             C   s   || _ || _dS )z?
        :returns Bool: This type has no constructors.
        N)r-   r7   )r   r-   r7   r   r   r   r   z  s    z!TogglePinnedToTopRequest.__init__c                s   |j |j| jI d H | _d S )N)r.   r/   r-   )r   r0   r1   r   r   r   r2     s    z TogglePinnedToTopRequest.resolvec             C   s<   dt | jtr| jj n| j| jd kr*g n| jd d  dS )Nr   )r   r-   r7   )r3   r-   r   r   r7   )r   r   r   r   r     s    z TogglePinnedToTopRequest.to_dictc             C   s:   dj d| jj dtjdt| jdj dd | jD fS )Nr   s   ~)s   ĵz<ic             s   s   | ]}t jd |V  qdS )z<iN)r   r   )r8   r9   r   r   r   r:     s    z2TogglePinnedToTopRequest._bytes.<locals>.<genexpr>)r   r-   r   r   r   r;   r7   )r   r   r   r   r     s    zTogglePinnedToTopRequest._bytesc             C   sH   |j  }|j  g }x&t|j D ]}|j }|j| q"W | ||dS )N)r-   r7   )r4   r    r<   r=   )r"   r#   r5   r>   r   r?   r   r   r   r%     s    z$TogglePinnedToTopRequest.from_readerN)r&   r'   r(   r)   r*   r   rB   r   r2   r   r   r+   r%   r   r   r   r   r   v  s   r   )-__doc__Ztl.tlobjectr   r   typingr   r   r   r   r   r   r	   Ztl.typesr
   r   r   r   r   r   r   r,   r6   rD   rV   rW   rY   r`   rb   rc   rd   ri   rj   rk   rl   rs   rw   rx   rz   r   r   r   r   r   r   r   r   r   r   r   <module>   sD    !-[#(-''((;>((0<-t#1