U
    h                     @   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ѻW   * Npastfuturec                 C   s   || _ || _dS 
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        Nr   )selfr   r    r   A/tmp/pip-unpacked-wheel-c81u5j2r/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   to_dict   s    z"ActivateStealthModeRequest.to_dictc              	   C   sJ   d dt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ѻW<IFr         )joinstructpackr   r   r   r   r   r   _bytes   s    >z!ActivateStealthModeRequest._bytesc                 C   s,   |  }t|d@ }t|d@ }| ||dS )Nr    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   _    gk r   peerc                 C   s
   || _ dS z?
        :returns Bool: This type has no constructors.
        Nr4   r   r5   r   r   r   r   2   s    zCanSendStoryRequest.__init__c                    s   | || jI d H | _d S Nget_input_peerget_input_entityr5   r   clientutilsr   r   r   resolve8   s    zCanSendStoryRequest.resolvec                 C   s"   dt | jtr| j n| jdS )Nr2   r   r5   
isinstancer5   r   r   r   r   r   r   r   ;   s    zCanSendStoryRequest.to_dictc                 C   s   d d| j fS )Nr   s   ǩr"   r5   r%   r   r   r   r   r%   A   s    zCanSendStoryRequest._bytesc                 C   s   |  }| |dS Nr4   tgread_objectr(   r)   _peerr   r   r   r+   G   s    zCanSendStoryRequest.from_readerNr,   r-   r.   r/   r0   r   r?   r   r%   r1   r+   r   r   r   r   r2   .   s   r2   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   _[\ q&Pr   r5   idc                 C   s   || _ || _dS zF
        :returns Vector<int>: This type has no constructors.
        NrL   r   r5   rM   r   r   r   r   Q   s    zDeleteStoriesRequest.__init__c                    s   | || jI d H | _d S r8   r9   r<   r   r   r   r?   X   s    zDeleteStoriesRequest.resolvec                 C   s<   dt | jtr| j n| j| jd kr*g n| jd d  dS )NrJ   r   r5   rM   rB   r5   r   r   rM   r   r   r   r   r   [   s    zDeleteStoriesRequest.to_dictc              
   C   s:   d d| j dtdt| jd dd | jD fS )Nr   s   _Y   ĵ<ic                 s   s   | ]}t d |V  qdS rS   Nr#   r$   .0xr   r   r   	<genexpr>f   s     z.DeleteStoriesRequest._bytes.<locals>.<genexpr>r"   r5   r%   r#   r$   lenrM   r   r   r   r   r%   b   s      zDeleteStoriesRequest._bytesc                 C   sD   |  }|  g }t| D ]}| }|| q | ||dS NrL   rF   r&   rangeappendr(   r)   rH   _idr   _xr   r   r   r+   i   s    z DeleteStoriesRequest.from_readerc                    s"        fddt   D S )Nc                    s   g | ]}   qS r   r&   rW   r   r)   r   r   
<listcomp>w   s     z4DeleteStoriesRequest.read_result.<locals>.<listcomp>r&   r^   re   r   re   r   read_resultt   s    z DeleteStoriesRequest.read_resultN)r,   r-   r.   r/   r0   r   intr   r?   r   r%   r1   r+   staticmethodrh   r   r   r   r   rJ   M   s   

rJ   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 r   Nr   r
   r   r   r   r5   rM   mediamedia_areascaptionentitiesprivacy_rulesc                 C   s.   || _ || _|| _|| _|| _|| _|| _dS r   rl   )r   r5   rM   rm   rn   ro   rp   rq   r   r   r   r   ~   s    zEditStoryRequest.__init__c                    s2   | || jI d H | _| jr.|| j| _d S r8   )r:   r;   r5   rm   get_input_mediar<   r   r   r   r?      s    zEditStoryRequest.resolvec              	   C   s   dt | jtr| j n| j| jt | jtr6| 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 )Nrk   c                 S   s"   g | ]}t |tr| n|qS r   rB   r   r   rV   r   r   r   rf      s     z,EditStoryRequest.to_dict.<locals>.<listcomp>c                 S   s"   g | ]}t |tr| n|qS r   rs   rV   r   r   r   rf      s     c                 S   s"   g | ]}t |tr| n|qS r   rs   rV   r   r   r   rf      s     )r   r5   rM   rm   rn   ro   rp   rq   )
rB   r5   r   r   rM   rm   rn   ro   rp   rq   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dt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	
 td| j| jd ks| jdkrdn| j
 | jd ks8| jdkr<dn.ddtdt| jddd | jD f| j d ks| j dkrdn
| | j | jd ks| jdkrdn.ddtdt| jddd | jD f| jd ks| jdkrdn.ddtdt| jddd | jD ff	S )NFzMcaption, entities parameters must all be False-y (like None) or all me True-yr   s   Fr   r   r       r!      rS   rR   c                 s   s   | ]}|  V  qd S r8   r%   rV   r   r   r   rY      s     z*EditStoryRequest._bytes.<locals>.<genexpr>c                 s   s   | ]}|  V  qd S r8   rv   rV   r   r   r   rY      s     c                 s   s   | ]}|  V  qd S r8   rv   rV   r   r   r   rY      s     )ro   rp   AssertionErrorr"   r#   r$   rm   rn   rq   r5   r%   rM   r[   serialize_bytesr   r   r   r   r%      s    P$J&JJzEditStoryRequest._bytesc              	   C   s  |  }| }|  }|d@ r*| }nd }|d@ rh|   g }t|  D ]}| }|| qNnd }|d@ r~| }	nd }	|d@ r|   g }
t|  D ]}| }|
| qnd }
|d@ r|   g }t|  D ]}| }|| qnd }| |||||	|
|dS )Nr    rt   r!   ru   rl   )r&   rF   r^   r_   tgread_string)r(   r)   r*   rH   ra   _media_media_areasr   rb   _caption	_entities_privacy_rulesr   r   r   r+      s>    

zEditStoryRequest.from_reader)NNNNN)r,   r-   r.   r/   r0   ri   r   r   strr   r?   r   r%   r1   r+   r   r   r   r   rk   z   s   <rk   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   rL   c                 C   s   || _ || _dS )zL
        :returns ExportedStoryLink: Instance of ExportedStoryLink.
        NrL   rO   r   r   r   r      s    zExportStoryLinkRequest.__init__c                    s   | || jI d H | _d S r8   r9   r<   r   r   r   r?      s    zExportStoryLinkRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr   rP   rQ   r   r   r   r   r      s    zExportStoryLinkRequest.to_dictc                 C   s    d d| j td| jfS )Nr   s    {rS   )r"   r5   r%   r#   r$   rM   r   r   r   r   r%      s
    zExportStoryLinkRequest._bytesc                 C   s   |  }| }| ||dS r\   rF   r&   )r(   r)   rH   ra   r   r   r   r+      s    z"ExportStoryLinkRequest.from_readerNr,   r-   r.   r/   r0   ri   r   r?   r   r%   r1   r+   r   r   r   r   r      s   r   c                   @   s0   e Zd ZdZdZdd Zdd Zedd Zd	S )
GetAllReadPeerStoriesRequestl   g6 r   c                 C   s   ddiS )Nr   r   r   r   r   r   r   r      s     z$GetAllReadPeerStoriesRequest.to_dictc                 C   s
   d dS )Nr   )s   Zr"   r   r   r   r   r%     s    z#GetAllReadPeerStoriesRequest._bytesc                 C   s   |  S r8   r   r(   r)   r   r   r   r+     s    z(GetAllReadPeerStoriesRequest.from_readerN	r,   r-   r.   r/   r0   r   r%   r1   r+   r   r   r   r   r      s   r   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.
        Nr   )r   r   r   r   r   r   r   r     s    zGetAllStoriesRequest.__init__c                 C   s   d| j | j| jdS )Nr   )r   r   r   r   r   r   r   r   r   r     s
    zGetAllStoriesRequest.to_dictc              	   C   s   d dt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fS )	Nr   s   %ְr   Fr   r!   ru   r    )r"   r#   r$   r   r   r   rx   r   r   r   r   r%     s
    Z"zGetAllStoriesRequest._bytesc                 C   sD   |  }t|d@ }t|d@ }|d@ r2| }nd }| |||dS )Nr!   ru   r    r   )r&   r'   ry   )r(   r)   r*   _next_hidden_stater   r   r   r+   &  s    
z GetAllStoriesRequest.from_reader)NNN)r,   r-   r.   r/   r0   r   r'   r   r   r   r%   r1   r+   r   r   r   r   r     s    r   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 dS )Nr   )s   `jr   r   r   r   r   r%   <  s    zGetChatsToSendRequest._bytesc                 C   s   |  S r8   r   r   r   r   r   r+   A  s    z!GetChatsToSendRequest.from_readerNr   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ÃYSrK   r   rM   c                 C   s
   || _ dS rN   r   )r   rM   r   r   r   r   J  s    zGetPeerMaxIDsRequest.__init__c                    s6   g }| j D ] }||||I d H  q
|| _ d S r8   )rM   r_   r:   r;   )r   r=   r>   Z_tmprb   r   r   r   r?   P  s    
zGetPeerMaxIDsRequest.resolvec                 C   s$   d| j d krg ndd | j D dS )Nr   c                 S   s"   g | ]}t |tr| n|qS r   rs   rV   r   r   r   rf   Z  s     z0GetPeerMaxIDsRequest.to_dict.<locals>.<listcomp>)r   rM   r   r   r   r   r   r   W  s    zGetPeerMaxIDsRequest.to_dictc              	   C   s2   d ddtdt| jd dd | jD fS )Nr   s   ÃYSrR   rS   c                 s   s   | ]}|  V  qd S r8   rv   rV   r   r   r   rY   `  s     z.GetPeerMaxIDsRequest._bytes.<locals>.<genexpr>)r"   r#   r$   r[   rM   r   r   r   r   r%   ]  s      zGetPeerMaxIDsRequest._bytesc                 C   s:   |   g }t|  D ]}| }|| q| |dS )Nr   )r&   r^   rF   r_   )r(   r)   ra   r   rb   r   r   r   r+   c  s    z GetPeerMaxIDsRequest.from_readerc                    s"        fddt   D S )Nc                    s   g | ]}   qS r   rc   rd   re   r   r   rf   p  s     z4GetPeerMaxIDsRequest.read_result.<locals>.<listcomp>rg   re   r   re   r   rh   m  s    z GetPeerMaxIDsRequest.read_resultN)r,   r-   r.   r/   r0   r   r   r?   r   r%   r1   r+   rj   rh   r   r   r   r   r   F  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 )GetPeerStoriesRequestiPJ,l   O: r   r4   c                 C   s
   || _ dS )zH
        :returns stories.PeerStories: Instance of PeerStories.
        Nr4   r7   r   r   r   r   w  s    zGetPeerStoriesRequest.__init__c                    s   | || jI d H | _d S r8   r9   r<   r   r   r   r?   }  s    zGetPeerStoriesRequest.resolvec                 C   s"   dt | jtr| j n| jdS )Nr   r@   rA   r   r   r   r   r     s    zGetPeerStoriesRequest.to_dictc                 C   s   d d| j fS )Nr   s   PJ,rC   r   r   r   r   r%     s    zGetPeerStoriesRequest._bytesc                 C   s   |  }| |dS rD   rE   rG   r   r   r   r+     s    z!GetPeerStoriesRequest.from_readerNrI   r   r   r   r   r   s  s   r   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ܥ!X,%r   r5   	offset_idlimitc                 C   s   || _ || _|| _dS z@
        :returns stories.Stories: Instance of Stories.
        Nr   r   r5   r   r   r   r   r   r     s    z GetPinnedStoriesRequest.__init__c                    s   | || jI d H | _d S r8   r9   r<   r   r   r   r?     s    zGetPinnedStoriesRequest.resolvec                 C   s*   dt | jtr| j n| j| j| jdS )Nr   r   r5   r   r   rB   r5   r   r   r   r   r   r   r   r   r     s
    zGetPinnedStoriesRequest.to_dictc              	   C   s,   d d| j td| jtd| jfS )Nr   s   ܥ!XrS   r"   r5   r%   r#   r$   r   r   r   r   r   r   r%     s    zGetPinnedStoriesRequest._bytesc                 C   s&   |  }| }| }| |||dS Nr   r   r(   r)   rH   Z
_offset_id_limitr   r   r   r+     s    z#GetPinnedStoriesRequest.from_readerNr   r   r   r   r   r     s   r   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 r   r   r   c                 C   s   || _ || _|| _dS r   r   r   r   r   r   r     s    z!GetStoriesArchiveRequest.__init__c                    s   | || jI d H | _d S r8   r9   r<   r   r   r   r?     s    z GetStoriesArchiveRequest.resolvec                 C   s*   dt | jtr| j n| j| j| jdS )Nr   r   r   r   r   r   r   r     s
    z GetStoriesArchiveRequest.to_dictc              	   C   s,   d d| j td| jtd| jfS )Nr   s    5rS   r   r   r   r   r   r%     s    zGetStoriesArchiveRequest._bytesc                 C   s&   |  }| }| }| |||dS r   r   r   r   r   r   r+     s    z$GetStoriesArchiveRequest.from_readerNr   r   r   r   r   r     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 )GetStoriesByIDRequestittWr   r   rL   c                 C   s   || _ || _dS r   rL   rO   r   r   r   r     s    zGetStoriesByIDRequest.__init__c                    s   | || jI d H | _d S r8   r9   r<   r   r   r   r?     s    zGetStoriesByIDRequest.resolvec                 C   s<   dt | jtr| j n| j| jd kr*g n| jd d  dS )Nr   rP   rQ   r   r   r   r   r     s    zGetStoriesByIDRequest.to_dictc              
   C   s:   d d| j dtdt| jd dd | jD fS )Nr   s   ttWrR   rS   c                 s   s   | ]}t d |V  qdS rT   rU   rV   r   r   r   rY     s     z/GetStoriesByIDRequest._bytes.<locals>.<genexpr>rZ   r   r   r   r   r%     s      zGetStoriesByIDRequest._bytesc                 C   sD   |  }|  g }t| D ]}| }|| q | ||dS r\   r]   r`   r   r   r   r+     s    z!GetStoriesByIDRequest.from_readerNr,   r-   r.   r/   r0   r   ri   r   r?   r   r%   r1   r+   r   r   r   r   r     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 )GetStoriesViewsRequestil(i?Kr   rL   c                 C   s   || _ || _dS )zF
        :returns stories.StoryViews: Instance of StoryViews.
        NrL   rO   r   r   r   r     s    zGetStoriesViewsRequest.__init__c                    s   | || jI d H | _d S r8   r9   r<   r   r   r   r?     s    zGetStoriesViewsRequest.resolvec                 C   s<   dt | jtr| j n| j| jd kr*g n| jd d  dS )Nr   rP   rQ   r   r   r   r   r     s    zGetStoriesViewsRequest.to_dictc              
   C   s:   d d| j dtdt| jd dd | jD fS )Nr   s   l(rR   rS   c                 s   s   | ]}t d |V  qdS rT   rU   rV   r   r   r   rY   !  s     z0GetStoriesViewsRequest._bytes.<locals>.<genexpr>rZ   r   r   r   r   r%     s      zGetStoriesViewsRequest._bytesc                 C   sD   |  }|  g }t| D ]}| }|| q | ||dS r\   r]   r`   r   r   r   r+   $  s    z"GetStoriesViewsRequest.from_readerNr   r   r   r   r   r     s   r   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   r5   rM   r   forwards_firstreactionoffsetc                 C   s(   || _ || _|| _|| _|| _|| _dS )zV
        :returns stories.StoryReactionsList: Instance of StoryReactionsList.
        Nr   )r   r5   rM   r   r   r   r   r   r   r   r   4  s    z%GetStoryReactionsListRequest.__init__c                    s   | || jI d H | _d S r8   r9   r<   r   r   r   r?   ?  s    z$GetStoryReactionsListRequest.resolvec                 C   sL   dt | jtr| j n| j| j| j| jt | jtr>| j n| j| jdS )Nr   )r   r5   rM   r   r   r   r   )	rB   r5   r   r   rM   r   r   r   r   r   r   r   r   r   B  s    z$GetStoryReactionsListRequest.to_dictc                 C   s   d dt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 td	| j| jd ks| jdkrdn| j | jd ks| jdkrdn
| 	| jtd	| j
fS )
Nr   s   r   Fr   ru   r    r!   rS   )r"   r#   r$   r   r   r   r5   r%   rM   rx   r   r   r   r   r   r%   M  s    Z "z#GetStoryReactionsListRequest._bytesc           	      C   sl   |  }t|d@ }| }|  }|d@ r6| }nd }|d@ rL| }nd }|  }| ||||||dS )Nru   r    r!   r   r&   r'   rF   ry   )	r(   r)   r*   _forwards_firstrH   ra   	_reaction_offsetr   r   r   r   r+   X  s    

z(GetStoryReactionsListRequest.from_reader)NNN)r,   r-   r.   r/   r0   ri   r   r'   r   r   r?   r   r%   r1   r+   r   r   r   r   r   0  s   &r   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   r5   rM   r   r   just_contactsreactions_firstr   qc	           	      C   s4   || _ || _|| _|| _|| _|| _|| _|| _dS )zN
        :returns stories.StoryViewsList: Instance of StoryViewsList.
        Nr   )	r   r5   rM   r   r   r   r   r   r   r   r   r   r   o  s    z!GetStoryViewsListRequest.__init__c                    s   | || jI d H | _d S r8   r9   r<   r   r   r   r?   |  s    z GetStoryViewsListRequest.resolvec              
   C   s>   dt | jtr| j n| j| j| j| j| j| j| j	| j
d	S )Nr   )	r   r5   rM   r   r   r   r   r   r   )rB   r5   r   r   rM   r   r   r   r   r   r   r   r   r   r   r     s    z GetStoryViewsListRequest.to_dictc                 C   s   d dt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d ks| jdkrdn
| 	| jtd
| j
| 	| jtd
| jfS )Nr   s   W<~r   Fr   r    ru   rt   r!   rS   )r"   r#   r$   r   r   r   r   r5   r%   rx   rM   r   r   r   r   r   r   r%     s    v"
zGetStoryViewsListRequest._bytesc              
   C   sz   |  }t|d@ }t|d@ }t|d@ }| }|d@ rF| }nd }|  }| }	|  }
| |||	|
||||dS )Nr    ru   rt   r!   r   r   )r(   r)   r*   Z_just_contactsZ_reactions_firstr   rH   Z_qra   r   r   r   r   r   r+     s    
z$GetStoryViewsListRequest.from_reader)NNNN)r,   r-   r.   r/   r0   ri   r   r   r'   r   r?   r   r%   r1   r+   r   r   r   r   r   k  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 )IncrementStoryViewsRequestl   
d r3   r   rL   c                 C   s   || _ || _dS r6   rL   rO   r   r   r   r     s    z#IncrementStoryViewsRequest.__init__c                    s   | || jI d H | _d S r8   r9   r<   r   r   r   r?     s    z"IncrementStoryViewsRequest.resolvec                 C   s<   dt | jtr| j n| j| jd kr*g n| jd d  dS )Nr   rP   rQ   r   r   r   r   r     s    z"IncrementStoryViewsRequest.to_dictc              
   C   s:   d d| j dtdt| jd dd | jD fS )Nr   s   rR   rS   c                 s   s   | ]}t d |V  qdS rT   rU   rV   r   r   r   rY     s     z4IncrementStoryViewsRequest._bytes.<locals>.<genexpr>rZ   r   r   r   r   r%     s      z!IncrementStoryViewsRequest._bytesc                 C   sD   |  }|  g }t| D ]}| }|| q | ||dS r\   r]   r`   r   r   r   r+     s    z&IncrementStoryViewsRequest.from_readerNr   r   r   r   r   r     s   r   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 rK   r   r5   max_idc                 C   s   || _ || _dS rN   r   )r   r5   r   r   r   r   r     s    zReadStoriesRequest.__init__c                    s   | || jI d H | _d S r8   r9   r<   r   r   r   r?     s    zReadStoriesRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr   )r   r5   r   )rB   r5   r   r   r   r   r   r   r   r     s    zReadStoriesRequest.to_dictc                 C   s    d d| j td| jfS )Nr   s   VrS   )r"   r5   r%   r#   r$   r   r   r   r   r   r%     s
    zReadStoriesRequest._bytesc                 C   s   |  }| }| ||dS )Nr   r   )r(   r)   rH   Z_max_idr   r   r   r+     s    zReadStoriesRequest.from_readerc                    s"        fddt   D S )Nc                    s   g | ]}   qS r   rc   rd   re   r   r   rf     s     z2ReadStoriesRequest.read_result.<locals>.<listcomp>rg   re   r   re   r   rh     s    zReadStoriesRequest.read_resultN)r,   r-   r.   r/   r0   ri   r   r?   r   r%   r1   r+   rj   rh   r   r   r   r   r     s   
r   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   r5   rM   optionmessagec                 C   s   || _ || _|| _|| _dS )z
        :returns ReportResult: Instance of either ReportResultChooseOption, ReportResultAddComment, ReportResultReported.
        Nr   )r   r5   rM   r   r   r   r   r   r     s    zReportRequest.__init__c                    s   | || jI d H | _d S r8   r9   r<   r   r   r   r?     s    zReportRequest.resolvec                 C   sD   dt | jtr| j n| j| jd kr*g n| jd d  | j| jdS )Nr   )r   r5   rM   r   r   )rB   r5   r   r   rM   r   r   r   r   r   r   r   	  s    zReportRequest.to_dictc                 C   sN   d d| j dtdt| jd dd | jD | | j| | j	fS )Nr   s   ErR   rS   c                 s   s   | ]}t d |V  qdS rT   rU   rV   r   r   r   rY     s     z'ReportRequest._bytes.<locals>.<genexpr>)
r"   r5   r%   r#   r$   r[   rM   rx   r   r   r   r   r   r   r%     s      

zReportRequest._bytesc                 C   sX   |  }|  g }t| D ]}| }|| q | }| }| ||||dS )Nr   )rF   r&   r^   r_   Ztgread_bytesry   )r(   r)   rH   ra   r   rb   Z_option_messager   r   r   r+     s    zReportRequest.from_readerN)r,   r-   r.   r/   r0   r   ri   bytesr   r   r?   r   r%   r1   r+   r   r   r   r   r     s   			r   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   r   r   hashtagarear5   c                 C   s"   || _ || _|| _|| _|| _dS )zJ
        :returns stories.FoundStories: Instance of FoundStories.
        Nr   )r   r   r   r   r   r5   r   r   r   r   -  s
    zSearchPostsRequest.__init__c                    s$   | j r ||| j I d H | _ d S r8   )r5   r:   r;   r<   r   r   r   r?   7  s    zSearchPostsRequest.resolvec                 C   sH   d| j | j| jt| jtr$| j n| jt| jtr>| j n| jdS )Nr   )r   r   r   r   r   r5   )r   r   r   rB   r   r   r   r5   r   r   r   r   r   ;  s    zSearchPostsRequest.to_dictc                 C   s   d dt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d ks| jdkrdn| j | jd ks| jdkrdn| j | | jtd	| j	fS )
Nr   s   	r   Fr   r    r!   ru   rS   )
r"   r#   r$   r   r   r5   rx   r%   r   r   r   r   r   r   r%   E  s    Z"  
zSearchPostsRequest._bytesc                 C   sl   |  }|d@ r| }nd }|d@ r0| }nd }|d@ rF| }nd }| }|  }| |||||dS )Nr    r!   ru   r   )r&   ry   rF   )r(   r)   r*   Z_hashtagZ_arearH   r   r   r   r   r   r+   P  s    


zSearchPostsRequest.from_reader)NNN)r,   r-   r.   r/   r0   r   ri   r   r   r?   r   r%   r1   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r   Nr   r   r5   story_idr   add_to_recentc                 C   s   || _ || _|| _|| _dS r   r   )r   r5   r   r   r   r   r   r   r   i  s    zSendReactionRequest.__init__c                    s   | || jI d H | _d S r8   r9   r<   r   r   r   r?   r  s    zSendReactionRequest.resolvec                 C   sD   dt | jtr| j n| j| jt | jtr6| j n| j| jdS )Nr   )r   r5   r   r   r   )rB   r5   r   r   r   r   r   r   r   r   r   r   u  s    zSendReactionRequest.to_dictc              	   C   sJ   d dtd| jd ks | jdkr$dnd| j td| j| j fS )Nr   s   6r   Fr   r    rS   )r"   r#   r$   r   r5   r%   r   r   r   r   r   r   r%   ~  s    "zSendReactionRequest._bytesc                 C   s<   |  }t|d@ }| }|  }| }| ||||dS )Nr    r   )r&   r'   rF   )r(   r)   r*   Z_add_to_recentrH   Z	_story_idr   r   r   r   r+     s    zSendReactionRequest.from_reader)N)r,   r-   r.   r/   r0   ri   r   r'   r   r?   r   r%   r1   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 r   Nr   r
   r   r   r   r5   rm   rq   pinned
noforwardsfwd_modifiedrn   ro   rp   	random_idperiodfwd_from_idfwd_from_storyc                 C   sp   || _ || _|| _|| _|| _|| _|| _|| _|	| _|
dk	rB|
nt	j
tdddd| _|| _|| _|| _dS )r   Nrt   bigT)signed)r5   rm   rq   r   r   r   rn   ro   rp   ri   
from_bytesosurandomr   r   r   r   )r   r5   rm   rq   r   r   r   rn   ro   rp   r   r   r   r   r   r   r   r     s    $zSendStoryRequest.__init__c                    sL   | || jI d H | _|| j| _| jrH| || jI d H | _d S r8   )r:   r;   r5   rr   rm   r   r<   r   r   r   r?     s    zSendStoryRequest.resolvec                 C   s   dt | jtr| j n| jt | jtr2| 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 n| j| jdS )Nr   c                 S   s"   g | ]}t |tr| n|qS r   rs   rV   r   r   r   rf     s     z,SendStoryRequest.to_dict.<locals>.<listcomp>c                 S   s"   g | ]}t |tr| n|qS r   rs   rV   r   r   r   rf     s     c                 S   s"   g | ]}t |tr| n|qS r   rs   rV   r   r   r   rf     s     )r   r5   rm   rq   r   r   r   rn   ro   rp   r   r   r   r   )rB   r5   r   r   rm   rq   r   r   r   rn   ro   rp   r   r   r   r   r   r   r   r   r     s    zSendStoryRequest.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dt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d ks| jdkrdndB | jd ks| jdkrdndB | j d ks:| j dkr>dndB | jd ksZ| jdkr^dndB | j | j | j	d ks| j	dkrdn.ddtdt| j	ddd | j	D f| j
d ks| j
dkrdn
| | j
| jd ks| jdkr dn.ddtdt| jddd | jD fdtdt| jddd | jD td| j| jd ksx| jdkr|dntd| j| j d ks| j dkrdn| j  | jd ks| jdkrdntd| jfS )NFzWfwd_from_id, fwd_from_story parameters must all be False-y (like None) or all me True-yr   s   Kir   r   ru             r    r!   rt   @   rR   rS   c                 s   s   | ]}|  V  qd S r8   rv   rV   r   r   r   rY     s     z*SendStoryRequest._bytes.<locals>.<genexpr>c                 s   s   | ]}|  V  qd S r8   rv   rV   r   r   r   rY     s     c                 s   s   | ]}|  V  qd S r8   rv   rV   r   r   r   rY     s     z<q)r   r   rw   r"   r#   r$   r   r   r   rn   ro   rp   r   r5   r%   rm   r[   rx   rq   r   r   r   r   r   r%     s$    P J&J  ($(zSendStoryRequest._bytesc                 C   sp  |  }t|d@ }t|d@ }t|d@ }| }| }|d@ rv|   g }t|  D ]}	| }
||
 q\nd }|d@ r| }nd }|d@ r|   g }t|  D ]}	| }
||
 qnd }|   g }t|  D ]}	| }
||
 q| }|d@ r|  }nd }|d@ r2| }nd }|d@ rJ|  }nd }| |||||||||||||d	S )
Nru   r   r   r   r    r!   rt   r   r   )r&   r'   rF   r^   r_   ry   Z	read_long)r(   r)   r*   _pinnedZ_noforwardsZ_fwd_modifiedrH   rz   r{   r   rb   r|   r}   r~   Z
_random_idZ_periodZ_fwd_from_idZ_fwd_from_storyr   r   r   r+     sN    






zSendStoryRequest.from_reader)
NNNNNNNNNN)r,   r-   r.   r/   r0   r   r   r'   r   ri   r   r?   r   r%   r1   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%|r3   r   c                 C   s
   || _ dS r6   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 d| jrdndfS )Nr   s   W%|   ur   7y)r"   r   r   r   r   r   r%     s    z$ToggleAllStoriesHiddenRequest._bytesc                 C   s   |  }| |dS )Nr   )tgread_bool)r(   r)   r   r   r   r   r+     s    z)ToggleAllStoriesHiddenRequest.from_readerN)r,   r-   r.   r/   r0   r'   r   r   r%   r1   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 r3   r   r5   r   c                 C   s   || _ || _dS r6   r   )r   r5   r   r   r   r   r   &  s    z'TogglePeerStoriesHiddenRequest.__init__c                    s   | || jI d H | _d S r8   r9   r<   r   r   r   r?   -  s    z&TogglePeerStoriesHiddenRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr   )r   r5   r   )rB   r5   r   r   r   r   r   r   r   r   0  s    z&TogglePeerStoriesHiddenRequest.to_dictc                 C   s    d d| j | jrdndfS )Nr   s   r   r   )r"   r5   r%   r   r   r   r   r   r%   7  s
    z%TogglePeerStoriesHiddenRequest._bytesc                 C   s   |  }| }| ||dS )Nr   )rF   r   )r(   r)   rH   r   r   r   r   r+   >  s    z*TogglePeerStoriesHiddenRequest.from_readerN)r,   r-   r.   r/   r0   r'   r   r?   r   r%   r1   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 rK   r   r5   rM   r   c                 C   s   || _ || _|| _dS rN   r   )r   r5   rM   r   r   r   r   r   I  s    zTogglePinnedRequest.__init__c                    s   | || jI d H | _d S r8   r9   r<   r   r   r   r?   Q  s    zTogglePinnedRequest.resolvec                 C   s@   dt | jtr| j n| j| jd kr*g n| jd d  | jdS )Nr   )r   r5   rM   r   )rB   r5   r   r   rM   r   r   r   r   r   r   T  s
    zTogglePinnedRequest.to_dictc              
   C   sF   d d| j dtdt| jd dd | jD | jr>dndfS )	Nr   s   urR   rS   c                 s   s   | ]}t d |V  qdS rT   rU   rV   r   r   r   rY   `  s     z-TogglePinnedRequest._bytes.<locals>.<genexpr>r   r   )r"   r5   r%   r#   r$   r[   rM   r   r   r   r   r   r%   \  s      zTogglePinnedRequest._bytesc                 C   sN   |  }|  g }t| D ]}| }|| q | }| |||dS )Nr   )rF   r&   r^   r_   r   )r(   r)   rH   ra   r   rb   r   r   r   r   r+   d  s    zTogglePinnedRequest.from_readerc                    s"        fddt   D S )Nc                    s   g | ]}   qS r   rc   rd   re   r   r   rf   s  s     z3TogglePinnedRequest.read_result.<locals>.<listcomp>rg   re   r   re   r   rh   p  s    zTogglePinnedRequest.read_resultN)r,   r-   r.   r/   r0   r   ri   r'   r   r?   r   r%   r1   r+   rj   rh   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~)r3   r   rL   c                 C   s   || _ || _dS r6   rL   rO   r   r   r   r   z  s    z!TogglePinnedToTopRequest.__init__c                    s   | || jI d H | _d S r8   r9   r<   r   r   r   r?     s    z TogglePinnedToTopRequest.resolvec                 C   s<   dt | jtr| j n| j| jd kr*g n| jd d  dS )Nr   rP   rQ   r   r   r   r   r     s    z TogglePinnedToTopRequest.to_dictc              
   C   s:   d d| j dtdt| jd dd | jD fS )Nr   s   ~)rR   rS   c                 s   s   | ]}t d |V  qdS rT   rU   rV   r   r   r   rY     s     z2TogglePinnedToTopRequest._bytes.<locals>.<genexpr>rZ   r   r   r   r   r%     s      zTogglePinnedToTopRequest._bytesc                 C   sD   |  }|  g }t| D ]}| }|| q | ||dS r\   r]   r`   r   r   r   r+     s    z$TogglePinnedToTopRequest.from_readerNr   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   r2   rJ   rk   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   <module>   sD    !-[#(-''((;>((0<-t#1