3
uQh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rddlmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2 G d	d
 d
eZ3G dd deZ4G dd deZ5G dd deZ6G dd deZ7G dd deZ8G dd deZ9G 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ZAG d'd( d(eZBG d)d* d*eZCG d+d, d,eZDG d-d. d.eZEG d/d0 d0eZFG d1d2 d2eZGG d3d4 d4eZHG d5d6 d6eZIG d7d8 d8eZJG d9d: d:eZKG d;d< d<eZLG d=d> d>eZMG d?d@ d@eZNG dAdB dBeZOG dCdD dDeZPG dEdF dFeZQG dGdH dHeZRG dIdJ dJeZSG dKdL dLeZTG dMdN dNeZUG dOdP dPeZVG dQdR dReZWG dSdT dTeZXG dUdV dVeZYG dWdX dXeZZG dYdZ dZeZ[G d[d\ d\eZ\G d]d^ d^eZ]G d_d` d`eZ^G dadb dbeZ_G dcdd ddeZ`G dedf dfeZaG dgdh dheZbG didj djeZcG dkdl dleZdG dmdn dneZeG dodp dpeZfG dqdr dreZgG dsdt dteZhG dudv dveZiG dwdx dxeZjG dydz dzeZkG d{d| d|eZlG d}d~ d~eZmG dd deZnG dd deZoG dd deZpG dd deZqG dd deZrG dd deZsG dd deZtG dd deZuG dd deZvG dd deZwG dd deZxG dd deZyG dd deZzG dd deZ{G dd deZ|G dd deZ}G dd deZ~G dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG ddĄ deZG ddƄ deZG ddȄ deZG ddʄ deZG dd̄ deZG dd΄ deZG ddЄ deZG dd҄ deZG ddԄ deZG ddք deZG dd؄ deZG ddڄ deZG dd܄ deZG ddބ deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd  d eZG dd deZG dd deZG dd deZG dd deZG d	d
 d
eZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd  d eZG d!d" d"eZG d#d$ d$eZG d%d& d&eZG d'd( d(eZG d)d* d*eZG d+d, d,eZG d-d. d.eZG d/d0 d0eZG d1d2 d2eZG d3d4 d4eZG d5d6 d6eZG d7d8 d8eZG d9d: d:eZG d;d< d<eZG d=d> d>eZG d?d@ d@eZG dAdB dBeZG dCdD dDeZG dEdF dFeZG dGdH dHeZG dIdJ dJeZG dKdL dLeZG dMdN dNeZG dOdP dPeZG dQdR dReZG dSdT dTeZG dUdV dVeZG dWdX dXeZG dYdZ dZeZG d[d\ d\eZG d]d^ d^eZG d_d` d`eZG dadb dbeZG dcdd ddeZG dedf dfeZG dgdh dheZG didj djeZG dkdl dleZG dmdn dneZG dodp dpeZG dqdr dreZG dsdt dteZG dudv dveZG dwdx dxeZG dydz dzeZG d{d| d|eZG d}d~ d~eZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZ G dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZ	G dd deZ
G dd deZG dd deZG dd deZG dd deZG dd deZG dÐdĄ deZG dŐdƄ deZG dǐdȄ deZG dɐdʄ deZdS (  zBFile generated by TLObjects' generator. All changes will be ERASED   )TLObject)	TLRequest    )OptionalListUnionTYPE_CHECKINGN)datetime)&TypeChatBannedRightsTypeChatReactionsTypeDataJSONTypeDialogFilterTypeInlineBotSwitchPMTypeInlineBotWebViewTypeInlineQueryPeerTypeTypeInputBotAppTypeInputBotInlineMessageIDTypeInputBotInlineResultTypeInputChatPhotoTypeInputCheckPasswordSRPTypeInputDialogPeerTypeInputDocumentTypeInputEncryptedChatTypeInputEncryptedFileTypeInputFileTypeInputGeoPointTypeInputMediaTypeInputMessageTypeInputPeerTypeInputQuickReplyShortcutTypeInputReplyToTypeInputSingleMediaTypeInputStickerSetTypeInputStickeredMediaTypeInputUserTypeInputWallPaperTypeMessageEntityTypeMessagesFilterTypePaidReactionPrivacyTypeReactionTypeReplyMarkupTypeSendMessageActionTypeShippingOptionTypeStarsSubscriptionPricingTypeTextWithEntitiesTypeWallPaperSettingsc               @   sB   e Zd ZdZdZdeedddZdd Zd	d
 Z	e
dd ZdS )AcceptEncryptionRequesti=iz(mr   )peerg_bkey_fingerprintc             C   s   || _ || _|| _dS )z
        :returns EncryptedChat: Instance of either EncryptedChatEmpty, EncryptedChatWaiting, EncryptedChatRequested, EncryptedChat, EncryptedChatDiscarded.
        N)r1   r2   r3   )selfr1   r2   r3    r5   B/tmp/pip-build-2nz6shyl/telethon/telethon/tl/functions/messages.py__init__   s    z AcceptEncryptionRequest.__init__c             C   s*   dt | jtr| jj n| j| j| jdS )Nr0   )_r1   r2   r3   )
isinstancer1   r   to_dictr2   r3   )r4   r5   r5   r6   r:      s    zAcceptEncryptionRequest.to_dictc             C   s*   dj d| jj | j| jtjd| jfS )N    s   =z<q)joinr1   _bytesserialize_bytesr2   structpackr3   )r4   r5   r5   r6   r=   !   s
    
zAcceptEncryptionRequest._bytesc             C   s&   |j  }|j }|j }| |||dS )N)r1   r2   r3   )tgread_objecttgread_bytes	read_long)clsreader_peerZ_g_bZ_key_fingerprintr5   r5   r6   from_reader)   s    z#AcceptEncryptionRequest.from_readerN)__name__
__module____qualname__CONSTRUCTOR_IDSUBCLASS_OF_IDbytesintr7   r:   r=   classmethodrG   r5   r5   r5   r6   r0      s   r0   c               @   sd   e Zd ZdZdZdee ed 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 )AcceptUrlAuthRequestl   %qXb iewNr   )write_allowedr1   msg_id	button_idurlc             C   s"   || _ || _|| _|| _|| _dS )z
        :returns UrlAuthResult: Instance of either UrlAuthResultRequest, UrlAuthResultAccepted, UrlAuthResultDefault.
        N)rQ   r1   rR   rS   rT   )r4   rQ   r1   rR   rS   rT   r5   r5   r6   r7   5   s
    zAcceptUrlAuthRequest.__init__c                s$   | j r |j|j| j I d H | _ d S )N)r1   get_input_peerget_input_entity)r4   clientutilsr5   r5   r6   resolve?   s    zAcceptUrlAuthRequest.resolvec             C   s2   d| j t| jtr| jj n| j| j| j| jdS )NrP   )r8   rQ   r1   rR   rS   rT   )rQ   r9   r1   r   r:   rR   rS   rT   )r4   r5   r5   r6   r:   C   s    zAcceptUrlAuthRequest.to_dictc             C   s  | j s| j d k	r0| js | jd k	r0| jst| jd k	st| j d ksD| j dkrl| jd ksX| jdkrl| jd kst| jdksttddjdtjd| jd ks| jdkrd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r
dnd	B | j d ks(| j dkr,dn| j j	 | jd ksL| jdkrPdntjd
| j| jd kst| jdkrxdntjd
| j| jd ks| jdkrdn
| j
| jfS )NFzSpeer, msg_id, button_id parameters must all be False-y (like None) or all me True-yr;   s   %q,z<Ir            z<i)r1   rR   rS   AssertionErrorr<   r?   r@   rQ   rT   r=   r>   )r4   r5   r5   r6   r=   M   s    t$((zAcceptUrlAuthRequest._bytesc             C   s~   |j  }t|d@ }|d@ r&|j }nd }|d@ r<|j  }nd }|d@ rR|j  }nd }|d@ rh|j }nd }| |||||dS )NrZ   r[   r\   )rQ   r1   rR   rS   rT   )read_intboolrA   tgread_string)rD   rE   flags_write_allowedrF   _msg_id
_button_id_urlr5   r5   r6   rG   X   s    



z AcceptUrlAuthRequest.from_reader)NNNNN)rH   rI   rJ   rK   rL   r   r_   rN   strr7   rY   r:   r=   rO   rG   r5   r5   r5   r6   rP   1   s   ,

rP   c               @   sJ   e Zd ZdZdZededddZdd Zd	d
 Zdd Z	e
dd ZdS )AddChatUserRequestl   Q i=r$   )chat_iduser_id	fwd_limitc             C   s   || _ || _|| _dS )zK
        :returns messages.InvitedUsers: Instance of InvitedUsers.
        N)rh   ri   rj   )r4   rh   ri   rj   r5   r5   r6   r7   t   s    zAddChatUserRequest.__init__c                s   |j |j| jI d H | _d S )N)get_input_userrV   ri   )r4   rW   rX   r5   r5   r6   rY   |   s    zAddChatUserRequest.resolvec             C   s*   d| j t| jtr| jj n| j| jdS )Nrg   )r8   rh   ri   rj   )rh   r9   ri   r   r:   rj   )r4   r5   r5   r6   r:      s    zAddChatUserRequest.to_dictc             C   s,   dj dtjd| j| jj tjd| jfS )Nr;   s   z<qz<i)r<   r?   r@   rh   ri   r=   rj   )r4   r5   r5   r6   r=      s
    zAddChatUserRequest._bytesc             C   s&   |j  }|j }|j }| |||dS )N)rh   ri   rj   )rC   rA   r^   )rD   rE   _chat_id_user_idZ
_fwd_limitr5   r5   r6   rG      s    zAddChatUserRequest.from_readerN)rH   rI   rJ   rK   rL   rN   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   rg   p   s   rg   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 )CheckChatInviteRequesti>i6V)hashc             C   s
   || _ dS )zh
        :returns ChatInvite: Instance of either ChatInviteAlready, ChatInvite, ChatInvitePeek.
        N)ro   )r4   ro   r5   r5   r6   r7      s    zCheckChatInviteRequest.__init__c             C   s   d| j dS )Nrn   )r8   ro   )ro   )r4   r5   r5   r6   r:      s    zCheckChatInviteRequest.to_dictc             C   s   dj d| j| jfS )Nr;   s   >)r<   r>   ro   )r4   r5   r5   r6   r=      s    zCheckChatInviteRequest._bytesc             C   s   |j  }| |dS )N)ro   )r`   )rD   rE   _hashr5   r5   r6   rG      s    z"CheckChatInviteRequest.from_readerN)rH   rI   rJ   rK   rL   rf   r7   r:   r=   rO   rG   r5   r5   r5   r6   rn      s   rn   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 )CheckHistoryImportRequestiCir[)import_headc             C   s
   || _ dS )zY
        :returns messages.HistoryImportParsed: Instance of HistoryImportParsed.
        N)rr   )r4   rr   r5   r5   r6   r7      s    z"CheckHistoryImportRequest.__init__c             C   s   d| j dS )Nrq   )r8   rr   )rr   )r4   r5   r5   r6   r:      s    z!CheckHistoryImportRequest.to_dictc             C   s   dj d| j| jfS )Nr;   s   C)r<   r>   rr   )r4   r5   r5   r6   r=      s    z CheckHistoryImportRequest._bytesc             C   s   |j  }| |dS )N)rr   )r`   )rD   rE   Z_import_headr5   r5   r6   rG      s    z%CheckHistoryImportRequest.from_readerN)rH   rI   rJ   rK   rL   rf   r7   r:   r=   rO   rG   r5   r5   r5   r6   rq      s   rq   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 )CheckHistoryImportPeerRequesti]l   73p r   )r1   c             C   s
   || _ dS )zc
        :returns messages.CheckedHistoryImportPeer: Instance of CheckedHistoryImportPeer.
        N)r1   )r4   r1   r5   r5   r6   r7      s    z&CheckHistoryImportPeerRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY      s    z%CheckHistoryImportPeerRequest.resolvec             C   s"   dt | jtr| jj n| jdS )Nrs   )r8   r1   )r9   r1   r   r:   )r4   r5   r5   r6   r:      s    z%CheckHistoryImportPeerRequest.to_dictc             C   s   dj d| jj fS )Nr;   s   ])r<   r1   r=   )r4   r5   r5   r6   r=      s    z$CheckHistoryImportPeerRequest._bytesc             C   s   |j  }| |dS )N)r1   )rA   )rD   rE   rF   r5   r5   r6   rG      s    z)CheckHistoryImportPeerRequest.from_readerN)rH   rI   rJ   rK   rL   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   rs      s   rs   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 )CheckQuickReplyShortcutRequestl   {c l   gk )shortcutc             C   s
   || _ dS )z?
        :returns Bool: This type has no constructors.
        N)ru   )r4   ru   r5   r5   r6   r7      s    z'CheckQuickReplyShortcutRequest.__init__c             C   s   d| j dS )Nrt   )r8   ru   )ru   )r4   r5   r5   r6   r:      s    z&CheckQuickReplyShortcutRequest.to_dictc             C   s   dj d| j| jfS )Nr;   s   )r<   r>   ru   )r4   r5   r5   r6   r=      s    z%CheckQuickReplyShortcutRequest._bytesc             C   s   |j  }| |dS )N)ru   )r`   )rD   rE   	_shortcutr5   r5   r6   rG     s    z*CheckQuickReplyShortcutRequest.from_readerN)rH   rI   rJ   rK   rL   rf   r7   r:   r=   rO   rG   r5   r5   r5   r6   rt      s   rt   c               @   s0   e Zd ZdZdZdd Zdd Zedd Zd	S )
ClearAllDraftsRequestiX~l   gk c             C   s   ddiS )Nr8   rw   r5   )r4   r5   r5   r6   r:     s    zClearAllDraftsRequest.to_dictc             C   s
   dj dS )Nr;      X~)rx   )r<   )r4   r5   r5   r6   r=     s    zClearAllDraftsRequest._bytesc             C   s   |  S )Nr5   )rD   rE   r5   r5   r6   rG     s    z!ClearAllDraftsRequest.from_readerN)	rH   rI   rJ   rK   rL   r:   r=   rO   rG   r5   r5   r5   r6   rw   
  s
   rw   c               @   s0   e Zd ZdZdZdd Zdd Zedd Zd	S )
ClearRecentReactionsRequestl   o; l   gk c             C   s   ddiS )Nr8   ry   r5   )r4   r5   r5   r6   r:   !  s    z#ClearRecentReactionsRequest.to_dictc             C   s
   dj dS )Nr;      )rz   )r<   )r4   r5   r5   r6   r=   &  s    z"ClearRecentReactionsRequest._bytesc             C   s   |  S )Nr5   )rD   rE   r5   r5   r6   rG   +  s    z'ClearRecentReactionsRequest.from_readerN)	rH   rI   rJ   rK   rL   r:   r=   rO   rG   r5   r5   r5   r6   ry     s
   ry   c               @   sD   e Zd ZdZdZdee dddZdd Zd	d
 Z	e
dd ZdS )ClearRecentStickersRequestl   -`2 l   gk N)attachedc             C   s
   || _ dS )z?
        :returns Bool: This type has no constructors.
        N)r|   )r4   r|   r5   r5   r6   r7   4  s    z#ClearRecentStickersRequest.__init__c             C   s   d| j dS )Nr{   )r8   r|   )r|   )r4   r5   r5   r6   r:   :  s    z"ClearRecentStickersRequest.to_dictc             C   s.   dj dtjd| jd ks | jdkr$dndfS )Nr;   s   -`z<IFr   rZ   )r<   r?   r@   r|   )r4   r5   r5   r6   r=   @  s    z!ClearRecentStickersRequest._bytesc             C   s   |j  }t|d@ }| |dS )NrZ   )r|   )r^   r_   )rD   rE   ra   	_attachedr5   r5   r6   rG   F  s    z&ClearRecentStickersRequest.from_reader)N)rH   rI   rJ   rK   rL   r   r_   r7   r:   r=   rO   rG   r5   r5   r5   r6   r{   0  s   r{   c               @   sL   e Zd ZdZdZdee ee edddZdd Z	d	d
 Z
edd ZdS )ClickSponsoredMessageRequestl   ~j l   gk N)media
fullscreen	random_idc             C   s4   || _ || _|dk	r|ntjtjdddd| _dS )z?
        :returns Bool: This type has no constructors.
        Nr\   bigT)signed)r   r   rN   
from_bytesosurandomr   )r4   r   r   r   r5   r5   r6   r7   R  s    z%ClickSponsoredMessageRequest.__init__c             C   s   d| j | j| jdS )Nr~   )r8   r   r   r   )r   r   r   )r4   r5   r5   r6   r:   Z  s    z$ClickSponsoredMessageRequest.to_dictc             C   sT   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| jfS )Nr;   s   ~5z<IFr   rZ   r[   )r<   r?   r@   r   r   r>   r   )r4   r5   r5   r6   r=   b  s    >z#ClickSponsoredMessageRequest._bytesc             C   s6   |j  }t|d@ }t|d@ }|j }| |||dS )NrZ   r[   )r   r   r   )r^   r_   rB   )rD   rE   ra   _media_fullscreen
_random_idr5   r5   r6   rG   i  s
    z(ClickSponsoredMessageRequest.from_reader)NNN)rH   rI   rJ   rK   rL   r   r_   rM   r7   r:   r=   rO   rG   r5   r5   r5   r6   r~   N  s   r~   c               @   sT   e Zd ZdZdZded eee dddZ	dd	 Z
d
d Zdd Zedd ZdS )CreateChatRequestl   ]% i=Nr$   )userstitle
ttl_periodc             C   s   || _ || _|| _dS )zK
        :returns messages.InvitedUsers: Instance of InvitedUsers.
        N)r   r   r   )r4   r   r   r   r5   r5   r6   r7   w  s    zCreateChatRequest.__init__c                s:   g }x*| j D ] }|j|j|j|I d H  qW || _ d S )N)r   appendrk   rV   )r4   rW   rX   _tmp_xr5   r5   r6   rY     s     zCreateChatRequest.resolvec             C   s,   d| j d krg ndd | j D | j| jdS )Nr   c             S   s"   g | ]}t |tr|j n|qS r5   )r9   r   r:   ).0xr5   r5   r6   
<listcomp>  s    z-CreateChatRequest.to_dict.<locals>.<listcomp>)r8   r   r   r   )r   r   r   )r4   r5   r5   r6   r:     s    zCreateChatRequest.to_dictc          
   C   s   dj dtjd| jd ks | jdkr$dnddtjdt| jdj d	d
 | jD | j| j| jd ksl| jdkrpdntjd| jfS )Nr;   s   Βz<IFr   rZ   s   ĵz<ic             s   s   | ]}|j  V  qd S )N)r=   )r   r   r5   r5   r6   	<genexpr>  s    z+CreateChatRequest._bytes.<locals>.<genexpr>)r<   r?   r@   r   lenr   r>   r   )r4   r5   r5   r6   r=     s    "&
zCreateChatRequest._bytesc             C   sh   |j  }|j   g }x&t|j  D ]}|j }|j| q"W |j }|d@ rV|j  }nd }| |||dS )NrZ   )r   r   r   )r^   rangerA   r   r`   )rD   rE   ra   Z_usersr8   r   _titleZ_ttl_periodr5   r5   r6   rG     s    
zCreateChatRequest.from_reader)N)rH   rI   rJ   rK   rL   r   rf   r   rN   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r   s  s   	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 )DeleteChatRequestiP[l   gk )rh   c             C   s
   || _ dS )z?
        :returns Bool: This type has no constructors.
        N)rh   )r4   rh   r5   r5   r6   r7     s    zDeleteChatRequest.__init__c             C   s   d| j dS )Nr   )r8   rh   )rh   )r4   r5   r5   r6   r:     s    zDeleteChatRequest.to_dictc             C   s   dj dtjd| jfS )Nr;   s   P[z<q)r<   r?   r@   rh   )r4   r5   r5   r6   r=     s    zDeleteChatRequest._bytesc             C   s   |j  }| |dS )N)rh   )rC   )rD   rE   rl   r5   r5   r6   rG     s    zDeleteChatRequest.from_readerN)rH   rI   rJ   rK   rL   rN   r7   r:   r=   rO   rG   r5   r5   r5   r6   r     s   r   c               @   sP   e Zd ZdZdZdedee dddZdd	 Z	d
d Z
dd Zedd ZdS )DeleteChatUserRequestl   \0D l   * Nr$   )rh   ri   revoke_historyc             C   s   || _ || _|| _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        N)rh   ri   r   )r4   rh   ri   r   r5   r5   r6   r7     s    zDeleteChatUserRequest.__init__c                s   |j |j| jI d H | _d S )N)rk   rV   ri   )r4   rW   rX   r5   r5   r6   rY     s    zDeleteChatUserRequest.resolvec             C   s*   d| j t| jtr| jj n| j| jdS )Nr   )r8   rh   ri   r   )rh   r9   ri   r   r:   r   )r4   r5   r5   r6   r:     s    zDeleteChatUserRequest.to_dictc             C   sB   dj dtjd| jd ks | jdkr$dndtjd| j| jj fS )Nr;   s   \z<IFr   rZ   z<q)r<   r?   r@   r   rh   ri   r=   )r4   r5   r5   r6   r=     s
    "zDeleteChatUserRequest._bytesc             C   s2   |j  }t|d@ }|j }|j }| |||dS )NrZ   )rh   ri   r   )r^   r_   rC   rA   )rD   rE   ra   Z_revoke_historyrl   rm   r5   r5   r6   rG     s
    z!DeleteChatUserRequest.from_reader)N)rH   rI   rJ   rK   rL   rN   r   r_   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   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 )DeleteExportedChatInviteRequestl   +$( l   gk r   )r1   linkc             C   s   || _ || _dS )z?
        :returns Bool: This type has no constructors.
        N)r1   r   )r4   r1   r   r5   r5   r6   r7     s    z(DeleteExportedChatInviteRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY     s    z'DeleteExportedChatInviteRequest.resolvec             C   s&   dt | jtr| jj n| j| jdS )Nr   )r8   r1   r   )r9   r1   r   r:   r   )r4   r5   r5   r6   r:     s    z'DeleteExportedChatInviteRequest.to_dictc             C   s   dj d| jj | j| jfS )Nr;   s   +d)r<   r1   r=   r>   r   )r4   r5   r5   r6   r=     s    z&DeleteExportedChatInviteRequest._bytesc             C   s   |j  }|j }| ||dS )N)r1   r   )rA   r`   )rD   rE   rF   _linkr5   r5   r6   rG   
  s    z+DeleteExportedChatInviteRequest.from_readerN)rH   rI   rJ   rK   rL   rf   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   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 )DeleteFactCheckRequestl   # l   * r   )r1   rR   c             C   s   || _ || _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        N)r1   rR   )r4   r1   rR   r5   r5   r6   r7     s    zDeleteFactCheckRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY     s    zDeleteFactCheckRequest.resolvec             C   s&   dt | jtr| jj n| j| jdS )Nr   )r8   r1   rR   )r9   r1   r   r:   rR   )r4   r5   r5   r6   r:     s    zDeleteFactCheckRequest.to_dictc             C   s    dj d| jj tjd| jfS )Nr;   s   z<i)r<   r1   r=   r?   r@   rR   )r4   r5   r5   r6   r=   &  s    zDeleteFactCheckRequest._bytesc             C   s   |j  }|j }| ||dS )N)r1   rR   )rA   r^   )rD   rE   rF   rc   r5   r5   r6   rG   -  s    z"DeleteFactCheckRequest.from_readerN)rH   rI   rJ   rK   rL   rN   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r     s   r   c               @   sb   e Zd ZdZdZdd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 )DeleteHistoryRequestl   *a iI,Nr   )r1   max_id
just_clearrevokemin_datemax_datec             C   s(   || _ || _|| _|| _|| _|| _dS )zQ
        :returns messages.AffectedHistory: Instance of AffectedHistory.
        N)r1   r   r   r   r   r   )r4   r1   r   r   r   r   r   r5   r5   r6   r7   8  s    zDeleteHistoryRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY   C  s    zDeleteHistoryRequest.resolvec             C   s6   dt | jtr| jj n| j| j| j| j| j| jdS )Nr   )r8   r1   r   r   r   r   r   )	r9   r1   r   r:   r   r   r   r   r   )r4   r5   r5   r6   r:   F  s    zDeleteHistoryRequest.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 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fS )Nr;   s   *z<IFr   rZ   r[   r\      z<i)r<   r?   r@   r   r   r   r   r1   r=   r   serialize_datetime)r4   r5   r5   r6   r=   Q  s    v"zDeleteHistoryRequest._bytesc       	      C   sp   |j  }t|d@ }t|d@ }|j }|j  }|d@ rB|j }nd }|d@ rX|j }nd }| ||||||dS )NrZ   r[   r\   r   )r1   r   r   r   r   r   )r^   r_   rA   tgread_date)	rD   rE   ra   Z_just_clear_revokerF   _max_id	_min_date	_max_dater5   r5   r6   rG   [  s    

z DeleteHistoryRequest.from_reader)NNNN)rH   rI   rJ   rK   rL   rN   r   r_   r	   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r   4  s   *
r   c               @   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 )DeleteMessagesRequestl   K l   n@ N)idr   c             C   s   || _ || _dS )zS
        :returns messages.AffectedMessages: Instance of AffectedMessages.
        N)r   r   )r4   r   r   r5   r5   r6   r7   r  s    zDeleteMessagesRequest.__init__c             C   s&   d| j d krg n| j d d  | jdS )Nr   )r8   r   r   )r   r   )r4   r5   r5   r6   r:   y  s    zDeleteMessagesRequest.to_dictc             C   sT   dj dtjd| jd ks | jdkr$dnddtjdt| jdj d	d
 | jD fS )Nr;   s   ҕz<IFr   rZ   s   ĵz<ic             s   s   | ]}t jd |V  qdS )z<iN)r?   r@   )r   r   r5   r5   r6   r     s    z/DeleteMessagesRequest._bytes.<locals>.<genexpr>)r<   r?   r@   r   r   r   )r4   r5   r5   r6   r=     s    "zDeleteMessagesRequest._bytesc             C   sT   |j  }t|d@ }|j   g }x&t|j  D ]}|j  }|j| q.W | ||dS )NrZ   )r   r   )r^   r_   r   r   )rD   rE   ra   r   _idr8   r   r5   r5   r6   rG     s    z!DeleteMessagesRequest.from_reader)N)rH   rI   rJ   rK   rL   r   rN   r   r_   r7   r:   r=   rO   rG   r5   r5   r5   r6   r   n  s   r   c               @   sD   e Zd ZdZdZdee dddZdd Zd	d
 Z	e
dd ZdS )DeletePhoneCallHistoryRequestl   	ds l   .e.p N)r   c             C   s
   || _ dS )z]
        :returns messages.AffectedFoundMessages: Instance of AffectedFoundMessages.
        N)r   )r4   r   r5   r5   r6   r7     s    z&DeletePhoneCallHistoryRequest.__init__c             C   s   d| j dS )Nr   )r8   r   )r   )r4   r5   r5   r6   r:     s    z%DeletePhoneCallHistoryRequest.to_dictc             C   s.   dj dtjd| jd ks | jdkr$dndfS )Nr;   s   	z<IFr   rZ   )r<   r?   r@   r   )r4   r5   r5   r6   r=     s    z$DeletePhoneCallHistoryRequest._bytesc             C   s   |j  }t|d@ }| |dS )NrZ   )r   )r^   r_   )rD   rE   ra   r   r5   r5   r6   rG     s    z)DeletePhoneCallHistoryRequest.from_reader)N)rH   rI   rJ   rK   rL   r   r_   r7   r:   r=   rO   rG   r5   r5   r5   r6   r     s   r   c               @   sD   e Zd ZdZdZeee dddZdd Zdd	 Z	e
d
d ZdS )DeleteQuickReplyMessagesRequestl   iB l   * )shortcut_idr   c             C   s   || _ || _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        N)r   r   )r4   r   r   r5   r5   r6   r7     s    z(DeleteQuickReplyMessagesRequest.__init__c             C   s&   d| j | jd krg n| jd d  dS )Nr   )r8   r   r   )r   r   )r4   r5   r5   r6   r:     s    z'DeleteQuickReplyMessagesRequest.to_dictc             C   s>   dj dtjd| jdtjdt| jdj dd | jD fS )Nr;   s   z<is   ĵc             s   s   | ]}t jd |V  qdS )z<iN)r?   r@   )r   r   r5   r5   r6   r     s    z9DeleteQuickReplyMessagesRequest._bytes.<locals>.<genexpr>)r<   r?   r@   r   r   r   )r4   r5   r5   r6   r=     s    z&DeleteQuickReplyMessagesRequest._bytesc             C   sH   |j  }|j   g }x&t|j  D ]}|j  }|j| q"W | ||dS )N)r   r   )r^   r   r   )rD   rE   _shortcut_idr   r8   r   r5   r5   r6   rG     s    z+DeleteQuickReplyMessagesRequest.from_readerN)rH   rI   rJ   rK   rL   rN   r   r7   r:   r=   rO   rG   r5   r5   r5   r6   r     s   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 )DeleteQuickReplyShortcutRequesti@G<l   gk )r   c             C   s
   || _ dS )z?
        :returns Bool: This type has no constructors.
        N)r   )r4   r   r5   r5   r6   r7     s    z(DeleteQuickReplyShortcutRequest.__init__c             C   s   d| j dS )Nr   )r8   r   )r   )r4   r5   r5   r6   r:     s    z'DeleteQuickReplyShortcutRequest.to_dictc             C   s   dj dtjd| jfS )Nr;   s   @G<z<i)r<   r?   r@   r   )r4   r5   r5   r6   r=     s    z&DeleteQuickReplyShortcutRequest._bytesc             C   s   |j  }| |dS )N)r   )r^   )rD   rE   r   r5   r5   r6   rG     s    z+DeleteQuickReplyShortcutRequest.from_readerN)rH   rI   rJ   rK   rL   rN   r7   r:   r=   rO   rG   r5   r5   r5   r6   r     s   r   c               @   sH   e Zd ZdZdZdddddZdd	 Zd
d Zdd Ze	dd Z
dS )'DeleteRevokedExportedChatInvitesRequesti{Vl   gk r   r$   )r1   admin_idc             C   s   || _ || _dS )z?
        :returns Bool: This type has no constructors.
        N)r1   r   )r4   r1   r   r5   r5   r6   r7     s    z0DeleteRevokedExportedChatInvitesRequest.__init__c                s8   |j |j| jI d H | _|j|j| jI d H | _d S )N)rU   rV   r1   rk   r   )r4   rW   rX   r5   r5   r6   rY     s    z/DeleteRevokedExportedChatInvitesRequest.resolvec             C   s<   dt | jtr| jj n| jt | jtr2| jj n| jdS )Nr   )r8   r1   r   )r9   r1   r   r:   r   )r4   r5   r5   r6   r:     s    z/DeleteRevokedExportedChatInvitesRequest.to_dictc             C   s   dj d| jj | jj fS )Nr;   s   {V)r<   r1   r=   r   )r4   r5   r5   r6   r=   
  s    z.DeleteRevokedExportedChatInvitesRequest._bytesc             C   s   |j  }|j  }| ||dS )N)r1   r   )rA   )rD   rE   rF   	_admin_idr5   r5   r6   rG     s    z3DeleteRevokedExportedChatInvitesRequest.from_readerN)rH   rI   rJ   rK   rL   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r     s   r   c               @   sV   e Zd ZdZdZddeee ee dddZdd	 Z	d
d Z
dd Zedd ZdS )DeleteSavedHistoryRequesti+niI,Nr   )r1   r   r   r   c             C   s   || _ || _|| _|| _dS )zQ
        :returns messages.AffectedHistory: Instance of AffectedHistory.
        N)r1   r   r   r   )r4   r1   r   r   r   r5   r5   r6   r7     s    z"DeleteSavedHistoryRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY   %  s    z!DeleteSavedHistoryRequest.resolvec             C   s.   dt | jtr| jj n| j| j| j| jdS )Nr   )r8   r1   r   r   r   )r9   r1   r   r:   r   r   r   )r4   r5   r5   r6   r:   (  s
    z!DeleteSavedHistoryRequest.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j tjd| j| jd ksl| jdkrpdn
| j| j| jd ks| jdkrdn
| j| jfS )	Nr;   s   +nz<IFr   r\   r   z<i)	r<   r?   r@   r   r   r1   r=   r   r   )r4   r5   r5   r6   r=   1  s    >"z DeleteSavedHistoryRequest._bytesc             C   sT   |j  }|j }|j  }|d@ r*|j }nd }|d@ r@|j }nd }| ||||dS )Nr\   r   )r1   r   r   r   )r^   rA   r   )rD   rE   ra   rF   r   r   r   r5   r5   r6   rG   ;  s    

z%DeleteSavedHistoryRequest.from_reader)NN)rH   rI   rJ   rK   rL   rN   r   r	   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   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 )DeleteScheduledMessagesRequesti+Yl   * r   )r1   r   c             C   s   || _ || _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        N)r1   r   )r4   r1   r   r5   r5   r6   r7   P  s    z'DeleteScheduledMessagesRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY   W  s    z&DeleteScheduledMessagesRequest.resolvec             C   s<   dt | jtr| jj n| j| jd kr*g n| jd d  dS )Nr   )r8   r1   r   )r9   r1   r   r:   r   )r4   r5   r5   r6   r:   Z  s    z&DeleteScheduledMessagesRequest.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@   )r   r   r5   r5   r6   r   e  s    z8DeleteScheduledMessagesRequest._bytes.<locals>.<genexpr>)r<   r1   r=   r?   r@   r   r   )r4   r5   r5   r6   r=   a  s    z%DeleteScheduledMessagesRequest._bytesc             C   sH   |j  }|j  g }x&t|j D ]}|j }|j| q"W | ||dS )N)r1   r   )rA   r^   r   r   )rD   rE   rF   r   r8   r   r5   r5   r6   rG   h  s    z*DeleteScheduledMessagesRequest.from_readerN)rH   rI   rJ   rK   rL   r   rN   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r   L  s   r   c               @   sF   e Zd ZdZdZdeee dddZdd Z	d	d
 Z
edd ZdS )DiscardEncryptionRequestl   .'g l   gk N)rh   delete_historyc             C   s   || _ || _dS )z?
        :returns Bool: This type has no constructors.
        N)rh   r   )r4   rh   r   r5   r5   r6   r7   x  s    z!DiscardEncryptionRequest.__init__c             C   s   d| j | jdS )Nr   )r8   rh   r   )rh   r   )r4   r5   r5   r6   r:     s    z DiscardEncryptionRequest.to_dictc             C   s:   dj dtjd| jd ks | jdkr$dndtjd| jfS )Nr;   s   z<IFr   rZ   z<i)r<   r?   r@   r   rh   )r4   r5   r5   r6   r=     s    "zDiscardEncryptionRequest._bytesc             C   s(   |j  }t|d@ }|j  }| ||dS )NrZ   )rh   r   )r^   r_   )rD   rE   ra   Z_delete_historyrl   r5   r5   r6   rG     s    z$DiscardEncryptionRequest.from_reader)N)rH   rI   rJ   rK   rL   rN   r   r_   r7   r:   r=   rO   rG   r5   r5   r5   r6   r   t  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 )EditChatAboutRequestl   = l   gk r   )r1   aboutc             C   s   || _ || _dS )z?
        :returns Bool: This type has no constructors.
        N)r1   r   )r4   r1   r   r5   r5   r6   r7     s    zEditChatAboutRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY     s    zEditChatAboutRequest.resolvec             C   s&   dt | jtr| jj n| j| jdS )Nr   )r8   r1   r   )r9   r1   r   r:   r   )r4   r5   r5   r6   r:     s    zEditChatAboutRequest.to_dictc             C   s   dj d| jj | j| jfS )Nr;   s   )r<   r1   r=   r>   r   )r4   r5   r5   r6   r=     s    zEditChatAboutRequest._bytesc             C   s   |j  }|j }| ||dS )N)r1   r   )rA   r`   )rD   rE   rF   Z_aboutr5   r5   r6   rG     s    z EditChatAboutRequest.from_readerN)rH   rI   rJ   rK   rL   rf   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r     s   r   c               @   sJ   e Zd ZdZdZededddZdd Zd	d
 Z	dd Z
edd ZdS )EditChatAdminRequestl   QP l   gk r$   )rh   ri   is_adminc             C   s   || _ || _|| _dS )z?
        :returns Bool: This type has no constructors.
        N)rh   ri   r   )r4   rh   ri   r   r5   r5   r6   r7     s    zEditChatAdminRequest.__init__c                s   |j |j| jI d H | _d S )N)rk   rV   ri   )r4   rW   rX   r5   r5   r6   rY     s    zEditChatAdminRequest.resolvec             C   s*   d| j t| jtr| jj n| j| jdS )Nr   )r8   rh   ri   r   )rh   r9   ri   r   r:   r   )r4   r5   r5   r6   r:     s    zEditChatAdminRequest.to_dictc             C   s,   dj dtjd| j| jj | jr$dndfS )Nr;   s   [z<qs   urs   7y)r<   r?   r@   rh   ri   r=   r   )r4   r5   r5   r6   r=     s
    zEditChatAdminRequest._bytesc             C   s&   |j  }|j }|j }| |||dS )N)rh   ri   r   )rC   rA   tgread_bool)rD   rE   rl   rm   Z	_is_adminr5   r5   r6   rG     s    z EditChatAdminRequest.from_readerN)rH   rI   rJ   rK   rL   rN   r_   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r     s   r   c               @   sH   e Zd ZdZdZdddddZdd	 Zd
d Zdd Ze	dd Z
dS )"EditChatDefaultBannedRightsRequestl   AkK l   * r   r
   )r1   banned_rightsc             C   s   || _ || _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        N)r1   r   )r4   r1   r   r5   r5   r6   r7     s    z+EditChatDefaultBannedRightsRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY     s    z*EditChatDefaultBannedRightsRequest.resolvec             C   s<   dt | jtr| jj n| jt | jtr2| jj n| jdS )Nr   )r8   r1   r   )r9   r1   r   r:   r   )r4   r5   r5   r6   r:     s    z*EditChatDefaultBannedRightsRequest.to_dictc             C   s   dj d| jj | jj fS )Nr;   s   Ak)r<   r1   r=   r   )r4   r5   r5   r6   r=     s    z)EditChatDefaultBannedRightsRequest._bytesc             C   s   |j  }|j  }| ||dS )N)r1   r   )rA   )rD   rE   rF   Z_banned_rightsr5   r5   r6   rG     s    z.EditChatDefaultBannedRightsRequest.from_readerN)rH   rI   rJ   rK   rL   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r     s   r   c               @   sH   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dS )EditChatPhotoRequestit5l   * r   )rh   photoc             C   s   || _ || _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        N)rh   r   )r4   rh   r   r5   r5   r6   r7     s    zEditChatPhotoRequest.__init__c                s   |j | j| _d S )N)Zget_input_chat_photor   )r4   rW   rX   r5   r5   r6   rY     s    zEditChatPhotoRequest.resolvec             C   s&   d| j t| jtr| jj n| jdS )Nr   )r8   rh   r   )rh   r9   r   r   r:   )r4   r5   r5   r6   r:     s    zEditChatPhotoRequest.to_dictc             C   s    dj dtjd| j| jj fS )Nr;   s   t5z<q)r<   r?   r@   rh   r   r=   )r4   r5   r5   r6   r=     s    zEditChatPhotoRequest._bytesc             C   s   |j  }|j }| ||dS )N)rh   r   )rC   rA   )rD   rE   rl   Z_photor5   r5   r6   rG     s    z EditChatPhotoRequest.from_readerN)rH   rI   rJ   rK   rL   rN   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r     s   r   c               @   s@   e Zd ZdZdZeedddZdd Zdd	 Z	e
d
d ZdS )EditChatTitleRequesti?xsl   * )rh   r   c             C   s   || _ || _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        N)rh   r   )r4   rh   r   r5   r5   r6   r7   *  s    zEditChatTitleRequest.__init__c             C   s   d| j | jdS )Nr   )r8   rh   r   )rh   r   )r4   r5   r5   r6   r:   1  s    zEditChatTitleRequest.to_dictc             C   s"   dj dtjd| j| j| jfS )Nr;   s   ?xsz<q)r<   r?   r@   rh   r>   r   )r4   r5   r5   r6   r=   8  s    zEditChatTitleRequest._bytesc             C   s   |j  }|j }| ||dS )N)rh   r   )rC   r`   )rD   rE   rl   r   r5   r5   r6   rG   ?  s    z EditChatTitleRequest.from_readerN)rH   rI   rJ   rK   rL   rN   rf   r7   r:   r=   rO   rG   r5   r5   r5   r6   r   &  s   r   c            	   @   sh   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 )EditExportedChatInviteRequestl   u/{ l   T Nr   )r1   r   revokedexpire_dateusage_limitrequest_neededr   c             C   s.   || _ || _|| _|| _|| _|| _|| _dS )zz
        :returns messages.ExportedChatInvite: Instance of either ExportedChatInvite, ExportedChatInviteReplaced.
        N)r1   r   r   r   r   r   r   )r4   r1   r   r   r   r   r   r   r5   r5   r6   r7   J  s    z&EditExportedChatInviteRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY   V  s    z%EditExportedChatInviteRequest.resolvec          	   C   s:   dt | jtr| jj n| j| j| j| j| j| j| j	dS )Nr   )r8   r1   r   r   r   r   r   r   )
r9   r1   r   r:   r   r   r   r   r   r   )r4   r5   r5   r6   r:   Y  s    z%EditExportedChatInviteRequest.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rldnd	B | jd ks| jdkrdnd
B | jj	 | j
| j| jd ks| jdkrdn
| j| j| jd ks| jdkrdntjd| j| jd krdn| jrdnd| jd ks| jdkrdn
| j
| jfS )Nr;   s   u/ʽz<IFr   r\   rZ   r[   r      z<is   urs   7y)r<   r?   r@   r   r   r   r   r   r1   r=   r>   r   r   )r4   r5   r5   r6   r=   e  s    
"$z$EditExportedChatInviteRequest._bytesc       
   	   C   s   |j  }t|d@ }|j }|j }|d@ r6|j }nd }|d@ rL|j  }nd }|d@ rb|j }nd }|d@ rx|j }	nd }	| |||||||	dS )Nr\   rZ   r[   r   r   )r1   r   r   r   r   r   r   )r^   r_   rA   r`   r   r   )
rD   rE   ra   _revokedrF   r   _expire_date_usage_limit_request_neededr   r5   r5   r6   rG   q  s"    



z)EditExportedChatInviteRequest.from_reader)NNNNN)rH   rI   rJ   rK   rL   rf   r   r_   r	   rN   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r   F  s   0r   c               @   sJ   e Zd ZdZdZdeddddZdd	 Zd
d Zdd Z	e
dd ZdS )EditFactCheckRequestiul   * r   r.   )r1   rR   textc             C   s   || _ || _|| _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        N)r1   rR   r   )r4   r1   rR   r   r5   r5   r6   r7     s    zEditFactCheckRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY     s    zEditFactCheckRequest.resolvec             C   s@   dt | jtr| jj n| j| jt | jtr6| jj n| jdS )Nr   )r8   r1   rR   r   )r9   r1   r   r:   rR   r   )r4   r5   r5   r6   r:     s    zEditFactCheckRequest.to_dictc             C   s(   dj d| jj tjd| j| jj fS )Nr;   s   uz<i)r<   r1   r=   r?   r@   rR   r   )r4   r5   r5   r6   r=     s
    zEditFactCheckRequest._bytesc             C   s&   |j  }|j }|j  }| |||dS )N)r1   rR   r   )rA   r^   )rD   rE   rF   rc   _textr5   r5   r6   rG     s    z EditFactCheckRequest.from_readerN)rH   rI   rJ   rK   rL   rN   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r     s   r   c            
   @   sp   e Zd ZdZdZddee ee ee ed ed eed  dd	d
Z	dd Z
dd Zdd Zedd ZdS )EditInlineBotMessageRequestl   } l   gk Nr   r   r*   r&   )r   
no_webpageinvert_mediamessager   reply_markupentitiesc             C   s.   || _ || _|| _|| _|| _|| _|| _dS )z?
        :returns Bool: This type has no constructors.
        N)r   r   r   r   r   r   r   )r4   r   r   r   r   r   r   r   r5   r5   r6   r7     s    z$EditInlineBotMessageRequest.__init__c                s   | j r|j| j | _ d S )N)r   get_input_media)r4   rW   rX   r5   r5   r6   rY     s    z#EditInlineBotMessageRequest.resolvec          	   C   s~   dt | jtr| jj n| j| j| j| jt | jtr>| jj n| jt | jtrX| jj n| j| j	d krjg ndd | j	D dS )Nr   c             S   s"   g | ]}t |tr|j n|qS r5   )r9   r   r:   )r   r   r5   r5   r6   r     s    z7EditInlineBotMessageRequest.to_dict.<locals>.<listcomp>)r8   r   r   r   r   r   r   r   )
r9   r   r   r:   r   r   r   r   r   r   )r4   r5   r5   r6   r:     s    z#EditInlineBotMessageRequest.to_dictc             C   sr  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d ks| jdkrdnd
B | jd ks| jdkrdndB | 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d ks| jdkrdn| jj
 | jd ks:| jdkr>dn.dj dtjdt| jdj dd | jD ffS )Nr;   s   }Uz<IFr   r[   i   i   i @  r\   r   s   ĵz<ic             s   s   | ]}|j  V  qd S )N)r=   )r   r   r5   r5   r6   r     s    z5EditInlineBotMessageRequest._bytes.<locals>.<genexpr>)r<   r?   r@   r   r   r   r   r   r   r   r=   r>   r   )r4   r5   r5   r6   r=     s    " $z"EditInlineBotMessageRequest._bytesc          	   C   s   |j  }t|d@ }t|d@ }|j }|d@ r:|j }nd }|d@ rP|j }nd }|d@ rf|j }nd }|d@ r|j   g }	x,t|j  D ]}
|j }|	j| qW nd }	| |||||||	dS )Nr[   i   i   i @  r\   r   )r   r   r   r   r   r   r   )r^   r_   rA   r`   r   r   )rD   rE   ra   _no_webpage_invert_mediar   _messager   _reply_markup	_entitiesr8   r   r5   r5   r6   rG     s*    


z'EditInlineBotMessageRequest.from_reader)NNNNNN)rH   rI   rJ   rK   rL   r   r_   rf   r   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r     s   8r   c               @   s~   e Zd ZdZdZddeee ee ee ed ed ee	d  ee
 ee d
d	d
Zdd Zdd Zdd Zedd ZdS )EditMessageRequestl   @? l   * Nr   r   r*   r&   )
r1   r   r   r   r   r   r   r   schedule_datequick_reply_shortcut_idc             C   s@   || _ || _|| _|| _|| _|| _|| _|| _|	| _|
| _	dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        N)
r1   r   r   r   r   r   r   r   r   r   )r4   r1   r   r   r   r   r   r   r   r   r   r5   r5   r6   r7      s    zEditMessageRequest.__init__c                s2   |j |j| jI d H | _| jr.|j| j| _d S )N)rU   rV   r1   r   r   )r4   rW   rX   r5   r5   r6   rY     s    zEditMessageRequest.resolvec             C   s   dt | jtr| jj n| j| j| j| j| jt | jtrB| jj n| jt | j	tr\| j	j n| j	| j
d krng ndd | j
D | j| jdS )Nr   c             S   s"   g | ]}t |tr|j n|qS r5   )r9   r   r:   )r   r   r5   r5   r6   r     s    z.EditMessageRequest.to_dict.<locals>.<listcomp>)r8   r1   r   r   r   r   r   r   r   r   r   )r9   r1   r   r:   r   r   r   r   r   r   r   r   r   )r4   r5   r5   r6   r:     s    zEditMessageRequest.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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s>| jdkrBdn| jj | jd ksb| jdkrfd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
| j| j	| j
d ks| j
dkrdntjd| j
f
S )Nr;   s   @z<IFr   r[   i   i   i @  r\   r   i   i   z<is   ĵc             s   s   | ]}|j  V  qd S )N)r=   )r   r   r5   r5   r6   r   ,  s    z,EditMessageRequest._bytes.<locals>.<genexpr>)r<   r?   r@   r   r   r   r   r   r   r   r   r1   r=   r   r>   r   r   )r4   r5   r5   r6   r=   #  s    &$$J&zEditMessageRequest._bytesc             C   s   |j  }t|d@ }t|d@ }|j }|j  }|d@ rB|j }nd }|d@ rX|j }nd }|d@ rn|j }	nd }	|d@ r|j   g }
x,t|j  D ]}|j }|
j| qW nd }
|d@ r|j }nd }|d@ r|j  }nd }| |||||||	|
||d	
S )
Nr[   i   i   i @  r\   r   i   i   )
r1   r   r   r   r   r   r   r   r   r   )r^   r_   rA   r`   r   r   r   )rD   rE   ra   r   r   rF   r   r   r   r   r   r8   r   _schedule_dateZ_quick_reply_shortcut_idr5   r5   r6   rG   1  s8    




zEditMessageRequest.from_reader)NNNNNNNN)rH   rI   rJ   rK   rL   rN   r   r_   rf   r   r	   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r     s   Fr   c               @   s@   e Zd ZdZdZeedddZdd Zdd	 Z	e
d
d ZdS )EditQuickReplyShortcutRequesti< \l   gk )r   ru   c             C   s   || _ || _dS )z?
        :returns Bool: This type has no constructors.
        N)r   ru   )r4   r   ru   r5   r5   r6   r7   ]  s    z&EditQuickReplyShortcutRequest.__init__c             C   s   d| j | jdS )Nr   )r8   r   ru   )r   ru   )r4   r5   r5   r6   r:   d  s    z%EditQuickReplyShortcutRequest.to_dictc             C   s"   dj dtjd| j| j| jfS )Nr;   s   < \z<i)r<   r?   r@   r   r>   ru   )r4   r5   r5   r6   r=   k  s    z$EditQuickReplyShortcutRequest._bytesc             C   s   |j  }|j }| ||dS )N)r   ru   )r^   r`   )rD   rE   r   rv   r5   r5   r6   rG   r  s    z)EditQuickReplyShortcutRequest.from_readerN)rH   rI   rJ   rK   rL   rN   rf   r7   r:   r=   rO   rG   r5   r5   r5   r6   r   Y  s   r   c            	   @   sl   e Zd ZdZdZddee ee ee ee ee	 ed dddZ
d	d
 Zdd Zdd Zedd ZdS )ExportChatInviteRequestl   ^H l   X
h Nr   r-   )r1   legacy_revoke_permanentr   r   r   r   subscription_pricingc             C   s.   || _ || _|| _|| _|| _|| _|| _dS )zs
        :returns ExportedChatInvite: Instance of either ChatInviteExported, ChatInvitePublicJoinRequests.
        N)r1   r   r   r   r   r   r   )r4   r1   r   r   r   r   r   r   r5   r5   r6   r7   }  s    z ExportChatInviteRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY     s    zExportChatInviteRequest.resolvec          
   C   sP   dt | jtr| jj n| j| j| j| j| j| jt | j	trF| j	j n| j	dS )Nr   )r8   r1   r   r   r   r   r   r   )
r9   r1   r   r:   r   r   r   r   r   r   )r4   r5   r5   r6   r:     s    zExportChatInviteRequest.to_dictc          	   C   sR  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d ks| jdkrdnd
B | jd ks| jdkrdndB | j	j
 | jd ks| jdkrdn
| j| j| jd ks| jdkrdntjd| j| jd ks| jdkrdn
| j| j| jd ks@| jdkrDdn| jj
 fS )Nr;   s   Uz<IFr   r\   r   rZ   r[   r       z<i)r<   r?   r@   r   r   r   r   r   r   r1   r=   r   r>   )r4   r5   r5   r6   r=     s    "$&zExportChatInviteRequest._bytesc       
   	   C   s   |j  }t|d@ }t|d@ }|j }|d@ r:|j }nd }|d@ rP|j  }nd }|d@ rf|j }nd }|d@ r||j }	nd }	| |||||||	dS )Nr\   r   rZ   r[   r   r   )r1   r   r   r   r   r   r   )r^   r_   rA   r   r`   )
rD   rE   ra   Z_legacy_revoke_permanentr   rF   r   r   r   Z_subscription_pricingr5   r5   r6   rG     s"    



z#ExportChatInviteRequest.from_reader)NNNNNN)rH   rI   rJ   rK   rL   r   r_   r	   rN   rf   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r   y  s   4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 )FaveStickerRequestl   [Es l   gk r   )r   unfavec             C   s   || _ || _dS )z?
        :returns Bool: This type has no constructors.
        N)r   r   )r4   r   r   r5   r5   r6   r7     s    zFaveStickerRequest.__init__c                s   |j | j| _d S )N)get_input_documentr   )r4   rW   rX   r5   r5   r6   rY     s    zFaveStickerRequest.resolvec             C   s&   dt | jtr| jj n| j| jdS )Nr   )r8   r   r   )r9   r   r   r:   r   )r4   r5   r5   r6   r:     s    zFaveStickerRequest.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   )r4   r5   r5   r6   r=     s    zFaveStickerRequest._bytesc             C   s   |j  }|j }| ||dS )N)r   r   )rA   r   )rD   rE   r   Z_unfaver5   r5   r6   rG     s    zFaveStickerRequest.from_readerN)rH   rI   rJ   rK   rL   r_   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r     s   r   c               @   s   e Zd ZdZdZddee dee ee ee ee ee ee ee ee ee ee	 ed ed ee ee dddZ
d	d
 Zdd Zdd Zedd ZdS )ForwardMessagesRequestl   u$?w l   * Nr   r   )	from_peerr   to_peersilent
backgroundwith_my_scoredrop_authordrop_media_captions
noforwardsallow_paid_floodskipr   
top_msg_idr   send_asquick_reply_shortcutvideo_timestampallow_paid_starsc             C   s   || _ || _|| _|| _|| _|| _|| _|| _|	| _|
| _	|dk	rH|ndd t
t|D | _|| _|| _|| _|| _|| _|| _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        Nc             S   s"   g | ]}t jtjd dddqS )r   r   T)r   )rN   r   r   r   )r   r8   r5   r5   r6   r     s    z3ForwardMessagesRequest.__init__.<locals>.<listcomp>)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r4   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r5   r5   r6   r7     s"    $zForwardMessagesRequest.__init__c                sX   |j |j| jI d H | _|j |j| jI d H | _| jrT|j |j| jI d H | _d S )N)rU   rV   r   r   r   )r4   rW   rX   r5   r5   r6   rY     s    zForwardMessagesRequest.resolvec             C   s   dt | jtr| jj n| j| jd kr*g n| jd d  t | jtrL| jj n| j| j| j| j| j	| j
| j| j| jd krzg n| jd d  | j| jt | jtr| jj n| jt | jtr| jj n| j| j| jdS )Nr   )r8   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r9   r   r   r:   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r4   r5   r5   r6   r:      s$    zForwardMessagesRequest.to_dictc             C   s  dj dtjd| jd kp| jdkr$dnd| jd kp8| jdkr>dndB | jd kpT| jdkrZdndB | jd kpp| jdkrvd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p| jdkr$dndB | jd kp<| jdkrDdndB | jd kp\| jdkrddndB | jd kp|| jdkrdndB | jj dtjdt| jdj dd | jD dtjdt| jdj dd | jD | jj | j
d kp| j
dkrdntjd| j
| jd kp"| jdkr*dn
| j| j| jd kpH| jdkrPdn| jj | jd kpl| jdkrtdn| jj | jd kp| jdkrdntjd| j| jd kp| jdkrdntjd| jfS )Nr;   s   uz<IFr   r   @      i   i   i @  i   i   i   i    i   i   i    s   ĵz<ic             s   s   | ]}t jd |V  qdS )z<iN)r?   r@   )r   r   r5   r5   r6   r     s    z0ForwardMessagesRequest._bytes.<locals>.<genexpr>c             s   s   | ]}t jd |V  qdS )z<qN)r?   r@   )r   r   r5   r5   r6   r     s    z<q)r<   r?   r@   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r=   r   r   r   r   r   )r4   r5   r5   r6   r=     s     &&(&$$(zForwardMessagesRequest._bytesc             C   s  |j  }t|d@ }t|d@ }t|d@ }t|d@ }t|d@ }t|d@ }t|d@ }	|j }
|j   g }x&t|j  D ]}|j  }|j| q~W |j   g }x&t|j  D ]}|j }|j| qW |j }|d@ r|j  }nd }|d	@ r|j }nd }|d
@ r|j }nd }|d@ r,|j }nd }|d@ rD|j  }nd }|d@ r\|j }nd }| |
|||||||||	|||||||dS )Nr   r   r   i   i   i @  i   i   i   i    i   i   i    )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r^   r_   rA   r   r   rC   r   )rD   rE   ra   _silent_backgroundZ_with_my_scoreZ_drop_authorZ_drop_media_captions_noforwards_allow_paid_floodskipZ
_from_peerr   r8   r   r   Z_to_peer_top_msg_idr   _send_as_quick_reply_shortcutZ_video_timestamp_allow_paid_starsr5   r5   r6   rG   &  sN    









z"ForwardMessagesRequest.from_reader)NNNNNNNNNNNNNN)rH   rI   rJ   rK   rL   r   rN   r   r_   r	   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r     s   l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 )GetAdminsWithInvitesRequesti 9l   +- r   )r1   c             C   s
   || _ dS )z]
        :returns messages.ChatAdminsWithInvites: Instance of ChatAdminsWithInvites.
        N)r1   )r4   r1   r5   r5   r6   r7   ^  s    z$GetAdminsWithInvitesRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY   d  s    z#GetAdminsWithInvitesRequest.resolvec             C   s"   dt | jtr| jj n| jdS )Nr  )r8   r1   )r9   r1   r   r:   )r4   r5   r5   r6   r:   g  s    z#GetAdminsWithInvitesRequest.to_dictc             C   s   dj d| jj fS )Nr;   s    9)r<   r1   r=   )r4   r5   r5   r6   r=   m  s    z"GetAdminsWithInvitesRequest._bytesc             C   s   |j  }| |dS )N)r1   )rA   )rD   rE   rF   r5   r5   r6   rG   s  s    z'GetAdminsWithInvitesRequest.from_readerN)rH   rI   rJ   rK   rL   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r  Z  s   r  c               @   s0   e Zd ZdZdZdd Zdd Zedd Zd	S )
GetAllDraftsRequestie?jl   * c             C   s   ddiS )Nr8   r  r5   )r4   r5   r5   r6   r:   }  s    zGetAllDraftsRequest.to_dictc             C   s
   dj dS )Nr;      e?j)r  )r<   )r4   r5   r5   r6   r=     s    zGetAllDraftsRequest._bytesc             C   s   |  S )Nr5   )rD   rE   r5   r5   r6   rG     s    zGetAllDraftsRequest.from_readerN)	rH   rI   rJ   rK   rL   r:   r=   rO   rG   r5   r5   r5   r6   r  y  s
   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 )GetAllStickersRequestl   !Aq i)HE)ro   c             C   s
   || _ dS )zh
        :returns messages.AllStickers: Instance of either AllStickersNotModified, AllStickers.
        N)ro   )r4   ro   r5   r5   r6   r7     s    zGetAllStickersRequest.__init__c             C   s   d| j dS )Nr  )r8   ro   )ro   )r4   r5   r5   r6   r:     s    zGetAllStickersRequest.to_dictc             C   s   dj dtjd| jfS )Nr;   s   z<q)r<   r?   r@   ro   )r4   r5   r5   r6   r=     s    zGetAllStickersRequest._bytesc             C   s   |j  }| |dS )N)ro   )rC   )rD   rE   rp   r5   r5   r6   rG     s    z!GetAllStickersRequest.from_readerN)rH   rI   rJ   rK   rL   rN   r7   r:   r=   rO   rG   r5   r5   r5   r6   r    s   r  c               @   sN   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 )GetArchivedStickersRequestivWiqזrN)	offset_idlimitmasksemojisc             C   s   || _ || _|| _|| _dS )zS
        :returns messages.ArchivedStickers: Instance of ArchivedStickers.
        N)r  r	  r
  r  )r4   r  r	  r
  r  r5   r5   r6   r7     s    z#GetArchivedStickersRequest.__init__c             C   s   d| j | j| j| jdS )Nr  )r8   r  r	  r
  r  )r  r	  r
  r  )r4   r5   r5   r6   r:     s
    z"GetArchivedStickersRequest.to_dictc             C   sb   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 tjd| jtjd	| jfS )
Nr;   s   vWz<IFr   rZ   r[   z<qz<i)r<   r?   r@   r
  r  r  r	  )r4   r5   r5   r6   r=     s
    >z!GetArchivedStickersRequest._bytesc             C   s@   |j  }t|d@ }t|d@ }|j }|j  }| ||||dS )NrZ   r[   )r  r	  r
  r  )r^   r_   rC   )rD   rE   ra   _masks_emojis
_offset_id_limitr5   r5   r6   rG     s    z&GetArchivedStickersRequest.from_reader)NN)rH   rI   rJ   rK   rL   rN   r   r_   r7   r:   r=   rO   rG   r5   r5   r5   r6   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 )GetAttachMenuBotRequestia!wl   =g6 r$   )botc             C   s
   || _ dS )zL
        :returns AttachMenuBotsBot: Instance of AttachMenuBotsBot.
        N)r  )r4   r  r5   r5   r6   r7     s    z GetAttachMenuBotRequest.__init__c                s   |j |j| jI d H | _d S )N)rk   rV   r  )r4   rW   rX   r5   r5   r6   rY     s    zGetAttachMenuBotRequest.resolvec             C   s"   dt | jtr| jj n| jdS )Nr  )r8   r  )r9   r  r   r:   )r4   r5   r5   r6   r:     s    zGetAttachMenuBotRequest.to_dictc             C   s   dj d| jj fS )Nr;   s   a!w)r<   r  r=   )r4   r5   r5   r6   r=     s    zGetAttachMenuBotRequest._bytesc             C   s   |j  }| |dS )N)r  )rA   )rD   rE   _botr5   r5   r6   rG     s    z#GetAttachMenuBotRequest.from_readerN)rH   rI   rJ   rK   rL   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r    s   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 )GetAttachMenuBotsRequestil   #\ )ro   c             C   s
   || _ dS )zh
        :returns AttachMenuBots: Instance of either AttachMenuBotsNotModified, AttachMenuBots.
        N)ro   )r4   ro   r5   r5   r6   r7     s    z!GetAttachMenuBotsRequest.__init__c             C   s   d| j dS )Nr  )r8   ro   )ro   )r4   r5   r5   r6   r:     s    z GetAttachMenuBotsRequest.to_dictc             C   s   dj dtjd| jfS )Nr;   s   z<q)r<   r?   r@   ro   )r4   r5   r5   r6   r=      s    zGetAttachMenuBotsRequest._bytesc             C   s   |j  }| |dS )N)ro   )rC   )rD   rE   rp   r5   r5   r6   rG     s    z$GetAttachMenuBotsRequest.from_readerN)rH   rI   rJ   rK   rL   rN   r7   r:   r=   rO   rG   r5   r5   r5   r6   r    s   r  c               @   s>   e Zd ZdZdZddddZdd Zd	d
 Zedd Z	dS )GetAttachedStickersRequestl   g l   k_$ r#   )r   c             C   s
   || _ dS )zT
        :returns Vector<StickerSetCovered>: This type has no constructors.
        N)r   )r4   r   r5   r5   r6   r7     s    z#GetAttachedStickersRequest.__init__c             C   s"   dt | jtr| jj n| jdS )Nr  )r8   r   )r9   r   r   r:   )r4   r5   r5   r6   r:     s    z"GetAttachedStickersRequest.to_dictc             C   s   dj d| jj fS )Nr;   s   g[)r<   r   r=   )r4   r5   r5   r6   r=     s    z!GetAttachedStickersRequest._bytesc             C   s   |j  }| |dS )N)r   )rA   )rD   rE   r   r5   r5   r6   rG   "  s    z&GetAttachedStickersRequest.from_readerN)
rH   rI   rJ   rK   rL   r7   r:   r=   rO   rG   r5   r5   r5   r6   r    s   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 )GetAvailableEffectsRequestl   9
D= ipD)ro   c             C   s
   || _ dS )zw
        :returns messages.AvailableEffects: Instance of either AvailableEffectsNotModified, AvailableEffects.
        N)ro   )r4   ro   r5   r5   r6   r7   ,  s    z#GetAvailableEffectsRequest.__init__c             C   s   d| j dS )Nr  )r8   ro   )ro   )r4   r5   r5   r6   r:   2  s    z"GetAvailableEffectsRequest.to_dictc             C   s   dj dtjd| jfS )Nr;   s   9
z<i)r<   r?   r@   ro   )r4   r5   r5   r6   r=   8  s    z!GetAvailableEffectsRequest._bytesc             C   s   |j  }| |dS )N)ro   )r^   )rD   rE   rp   r5   r5   r6   rG   >  s    z&GetAvailableEffectsRequest.from_readerN)rH   rI   rJ   rK   rL   rN   r7   r:   r=   rO   rG   r5   r5   r5   r6   r  (  s   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 )GetAvailableReactionsRequestil   -MH )ro   c             C   s
   || _ dS )z}
        :returns messages.AvailableReactions: Instance of either AvailableReactionsNotModified, AvailableReactions.
        N)ro   )r4   ro   r5   r5   r6   r7   H  s    z%GetAvailableReactionsRequest.__init__c             C   s   d| j dS )Nr  )r8   ro   )ro   )r4   r5   r5   r6   r:   N  s    z$GetAvailableReactionsRequest.to_dictc             C   s   dj dtjd| jfS )Nr;   s   z<i)r<   r?   r@   ro   )r4   r5   r5   r6   r=   T  s    z#GetAvailableReactionsRequest._bytesc             C   s   |j  }| |dS )N)ro   )r^   )rD   rE   rp   r5   r5   r6   rG   Z  s    z(GetAvailableReactionsRequest.from_readerN)rH   rI   rJ   rK   rL   rN   r7   r:   r=   rO   rG   r5   r5   r5   r6   r  D  s   r  c               @   s@   e Zd ZdZdZdedddZdd Zd	d
 Ze	dd Z
dS )GetBotAppRequesti4l   C r   )appro   c             C   s   || _ || _dS )z?
        :returns messages.BotApp: Instance of BotApp.
        N)r  ro   )r4   r  ro   r5   r5   r6   r7   d  s    zGetBotAppRequest.__init__c             C   s&   dt | jtr| jj n| j| jdS )Nr  )r8   r  ro   )r9   r  r   r:   ro   )r4   r5   r5   r6   r:   k  s    zGetBotAppRequest.to_dictc             C   s    dj d| jj tjd| jfS )Nr;   s   4z<q)r<   r  r=   r?   r@   ro   )r4   r5   r5   r6   r=   r  s    zGetBotAppRequest._bytesc             C   s   |j  }|j }| ||dS )N)r  ro   )rA   rC   )rD   rE   _apprp   r5   r5   r6   rG   y  s    zGetBotAppRequest.from_readerN)rH   rI   rJ   rK   rL   rN   r7   r:   r=   rO   rG   r5   r5   r5   r6   r  `  s   r  c               @   s\   e Zd ZdZdZddeee ee ed dddZ	d	d
 Z
dd Zdd Zedd ZdS )GetBotCallbackAnswerRequestl   J& iMlNr   r   )r1   rR   gamedatapasswordc             C   s"   || _ || _|| _|| _|| _dS )zU
        :returns messages.BotCallbackAnswer: Instance of BotCallbackAnswer.
        N)r1   rR   r  r  r  )r4   r1   rR   r  r  r  r5   r5   r6   r7     s
    z$GetBotCallbackAnswerRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY     s    z#GetBotCallbackAnswerRequest.resolvec             C   sH   dt | jtr| jj n| j| j| j| jt | jtr>| jj n| jdS )Nr  )r8   r1   rR   r  r  r  )r9   r1   r   r:   rR   r  r  r  )r4   r5   r5   r6   r:     s    z#GetBotCallbackAnswerRequest.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 fS )
Nr;   s   Bz<IFr   r[   rZ   r\   z<i)
r<   r?   r@   r  r  r  r1   r=   rR   r>   )r4   r5   r5   r6   r=     s    Z"z"GetBotCallbackAnswerRequest._bytesc             C   sb   |j  }t|d@ }|j }|j  }|d@ r6|j }nd }|d@ rL|j }nd }| |||||dS )Nr[   rZ   r\   )r1   rR   r  r  r  )r^   r_   rA   rB   )rD   rE   ra   Z_gamerF   rc   _dataZ	_passwordr5   r5   r6   rG     s    

z'GetBotCallbackAnswerRequest.from_reader)NNN)rH   rI   rJ   rK   rL   rN   r   r_   rM   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r    s   $


r  c            
   @   sj   e Zd ZdZdZddee d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 )GetChatInviteImportersRequestl   N]	> l   
y3 Nr   r$   )r1   offset_dateoffset_userr	  	requestedsubscription_expiredr   qc	       	      C   s4   || _ || _|| _|| _|| _|| _|| _|| _dS )zY
        :returns messages.ChatInviteImporters: Instance of ChatInviteImporters.
        N)r1   r   r!  r	  r"  r#  r   r$  )	r4   r1   r   r!  r	  r"  r#  r   r$  r5   r5   r6   r7     s    z&GetChatInviteImportersRequest.__init__c                s8   |j |j| jI d H | _|j|j| jI d H | _d S )N)rU   rV   r1   rk   r!  )r4   rW   rX   r5   r5   r6   rY     s    z%GetChatInviteImportersRequest.resolvec          
   C   sT   dt | jtr| jj n| j| jt | jtr6| jj n| j| j| j| j| j	| j
d	S )Nr  )	r8   r1   r   r!  r	  r"  r#  r   r$  )r9   r1   r   r:   r   r!  r	  r"  r#  r   r$  )r4   r5   r5   r6   r:     s    z%GetChatInviteImportersRequest.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| jd ks| jdkrdn
| j	| j| j
| j| jj tjd
| jfS )Nr;   s   Nz<IFr   rZ   r   r[   r\   z<i)r<   r?   r@   r"  r#  r   r$  r1   r=   r>   r   r   r!  r	  )r4   r5   r5   r6   r=     s    v""
z$GetChatInviteImportersRequest._bytesc          
   C   s   |j  }t|d@ }t|d@ }|j }|d@ r:|j }nd }|d@ rP|j }nd }|j }|j }	|j  }
| |||	|
||||dS )NrZ   r   r[   r\   )r1   r   r!  r	  r"  r#  r   r$  )r^   r_   rA   r`   r   )rD   rE   ra   Z
_requestedZ_subscription_expiredrF   r   _q_offset_dateZ_offset_userr  r5   r5   r6   rG     s    

z)GetChatInviteImportersRequest.from_reader)NNNN)rH   rI   rJ   rK   rL   r   r	   rN   r_   rf   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r    s   2r  c               @   sB   e Zd ZdZdZee dddZdd Zdd	 Z	e
d
d ZdS )GetChatsRequestiRIl   K3 )r   c             C   s
   || _ dS )zP
        :returns messages.Chats: Instance of either Chats, ChatsSlice.
        N)r   )r4   r   r5   r5   r6   r7     s    zGetChatsRequest.__init__c             C   s"   d| j d krg n| j d d  dS )Nr'  )r8   r   )r   )r4   r5   r5   r6   r:     s    zGetChatsRequest.to_dictc             C   s2   dj ddtjdt| jdj dd | jD fS )Nr;   s   RIs   ĵz<ic             s   s   | ]}t jd |V  qdS )z<qN)r?   r@   )r   r   r5   r5   r6   r     s    z)GetChatsRequest._bytes.<locals>.<genexpr>)r<   r?   r@   r   r   )r4   r5   r5   r6   r=   
  s    zGetChatsRequest._bytesc             C   s>   |j   g }x&t|j  D ]}|j }|j| qW | |dS )N)r   )r^   r   rC   r   )rD   rE   r   r8   r   r5   r5   r6   rG     s    zGetChatsRequest.from_readerN)rH   rI   rJ   rK   rL   r   rN   r7   r:   r=   rO   rG   r5   r5   r5   r6   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 )GetCommonChatsRequestl   !H l   K3 r$   )ri   r   r	  c             C   s   || _ || _|| _dS )zP
        :returns messages.Chats: Instance of either Chats, ChatsSlice.
        N)ri   r   r	  )r4   ri   r   r	  r5   r5   r6   r7     s    zGetCommonChatsRequest.__init__c                s   |j |j| jI d H | _d S )N)rk   rV   ri   )r4   rW   rX   r5   r5   r6   rY   '  s    zGetCommonChatsRequest.resolvec             C   s*   dt | jtr| jj n| j| j| jdS )Nr(  )r8   ri   r   r	  )r9   ri   r   r:   r   r	  )r4   r5   r5   r6   r:   *  s    zGetCommonChatsRequest.to_dictc             C   s,   dj d| jj tjd| jtjd| jfS )Nr;   s   z<qz<i)r<   ri   r=   r?   r@   r   r	  )r4   r5   r5   r6   r=   2  s
    zGetCommonChatsRequest._bytesc             C   s&   |j  }|j }|j }| |||dS )N)ri   r   r	  )rA   rC   r^   )rD   rE   rm   r   r  r5   r5   r6   rG   :  s    z!GetCommonChatsRequest.from_readerN)rH   rI   rJ   rK   rL   rN   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r(    s   r(  c               @   sB   e Zd ZdZdZee dddZdd Zdd	 Z	e
d
d ZdS )GetCustomEmojiDocumentsRequestl   TV3 l    )document_idc             C   s
   || _ dS )zK
        :returns Vector<Document>: This type has no constructors.
        N)r*  )r4   r*  r5   r5   r6   r7   F  s    z'GetCustomEmojiDocumentsRequest.__init__c             C   s"   d| j d krg n| j d d  dS )Nr)  )r8   r*  )r*  )r4   r5   r5   r6   r:   L  s    z&GetCustomEmojiDocumentsRequest.to_dictc             C   s2   dj ddtjdt| jdj dd | jD fS )Nr;   s   Ts   ĵz<ic             s   s   | ]}t jd |V  qdS )z<qN)r?   r@   )r   r   r5   r5   r6   r   U  s    z8GetCustomEmojiDocumentsRequest._bytes.<locals>.<genexpr>)r<   r?   r@   r   r*  )r4   r5   r5   r6   r=   R  s    z%GetCustomEmojiDocumentsRequest._bytesc             C   s>   |j   g }x&t|j  D ]}|j }|j| qW | |dS )N)r*  )r^   r   rC   r   )rD   rE   Z_document_idr8   r   r5   r5   r6   rG   X  s    z*GetCustomEmojiDocumentsRequest.from_readerN)rH   rI   rJ   rK   rL   r   rN   r7   r:   r=   rO   rG   r5   r5   r5   r6   r)  B  s   r)  c               @   s0   e Zd ZdZdZdd Zdd Zedd Zd	S )
GetDefaultHistoryTTLRequestiqel   g3` c             C   s   ddiS )Nr8   r+  r5   )r4   r5   r5   r6   r:   g  s    z#GetDefaultHistoryTTLRequest.to_dictc             C   s
   dj dS )Nr;      qe)r,  )r<   )r4   r5   r5   r6   r=   l  s    z"GetDefaultHistoryTTLRequest._bytesc             C   s   |  S )Nr5   )rD   rE   r5   r5   r6   rG   q  s    z'GetDefaultHistoryTTLRequest.from_readerN)	rH   rI   rJ   rK   rL   r:   r=   rO   rG   r5   r5   r5   r6   r+  c  s
   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 )GetDefaultTagReactionsRequestl   (4{ l   $[ )ro   c             C   s
   || _ dS )zb
        :returns messages.Reactions: Instance of either ReactionsNotModified, Reactions.
        N)ro   )r4   ro   r5   r5   r6   r7   z  s    z&GetDefaultTagReactionsRequest.__init__c             C   s   d| j dS )Nr-  )r8   ro   )ro   )r4   r5   r5   r6   r:     s    z%GetDefaultTagReactionsRequest.to_dictc             C   s   dj dtjd| jfS )Nr;   s   (4z<q)r<   r?   r@   ro   )r4   r5   r5   r6   r=     s    z$GetDefaultTagReactionsRequest._bytesc             C   s   |j  }| |dS )N)ro   )rC   )rD   rE   rp   r5   r5   r6   rG     s    z)GetDefaultTagReactionsRequest.from_readerN)rH   rI   rJ   rK   rL   rN   r7   r:   r=   rO   rG   r5   r5   r5   r6   r-  v  s   r-  c               @   s@   e Zd ZdZdZeedddZdd Zdd	 Ze	d
d Z
dS )GetDhConfigRequestiP&l   mI )versionrandom_lengthc             C   s   || _ || _dS )z_
        :returns messages.DhConfig: Instance of either DhConfigNotModified, DhConfig.
        N)r/  r0  )r4   r/  r0  r5   r5   r6   r7     s    zGetDhConfigRequest.__init__c             C   s   d| j | jdS )Nr.  )r8   r/  r0  )r/  r0  )r4   r5   r5   r6   r:     s    zGetDhConfigRequest.to_dictc             C   s$   dj dtjd| jtjd| jfS )Nr;   s   P&z<i)r<   r?   r@   r/  r0  )r4   r5   r5   r6   r=     s    zGetDhConfigRequest._bytesc             C   s   |j  }|j  }| ||dS )N)r/  r0  )r^   )rD   rE   _versionZ_random_lengthr5   r5   r6   rG     s    zGetDhConfigRequest.from_readerN)rH   rI   rJ   rK   rL   rN   r7   r:   r=   rO   rG   r5   r5   r5   r6   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 )
GetDialogFiltersRequestl   _ l   qK c             C   s   ddiS )Nr8   r2  r5   )r4   r5   r5   r6   r:     s    zGetDialogFiltersRequest.to_dictc             C   s
   dj dS )Nr;      )r3  )r<   )r4   r5   r5   r6   r=     s    zGetDialogFiltersRequest._bytesc             C   s   |  S )Nr5   )rD   rE   r5   r5   r6   rG     s    z#GetDialogFiltersRequest.from_readerN)	rH   rI   rJ   rK   rL   r:   r=   rO   rG   r5   r5   r5   r6   r2    s
   r2  c               @   s0   e Zd ZdZdZdd Zdd Zedd Zd	S )
GetDialogUnreadMarksRequesti"N"l   J} c             C   s   ddiS )Nr8   r4  r5   )r4   r5   r5   r6   r:     s    z#GetDialogUnreadMarksRequest.to_dictc             C   s
   dj dS )Nr;      "N")r5  )r<   )r4   r5   r5   r6   r=     s    z"GetDialogUnreadMarksRequest._bytesc             C   s   |  S )Nr5   )rD   rE   r5   r5   r6   rG     s    z'GetDialogUnreadMarksRequest.from_readerN)	rH   rI   rJ   rK   rL   r:   r=   rO   rG   r5   r5   r5   r6   r4    s
   r4  c            	   @   s`   e Zd ZdZdZdee ed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 )GetDialogsRequestl   OKA iRNr   )r   r  offset_peerr	  ro   exclude_pinned	folder_idc             C   s.   || _ || _|| _|| _|| _|| _|| _dS )zj
        :returns messages.Dialogs: Instance of either Dialogs, DialogsSlice, DialogsNotModified.
        N)r   r  r7  r	  ro   r8  r9  )r4   r   r  r7  r	  ro   r8  r9  r5   r5   r6   r7     s    zGetDialogsRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r7  )r4   rW   rX   r5   r5   r6   rY     s    zGetDialogsRequest.resolvec          	   C   s:   d| j | jt| jtr | jj n| j| j| j| j| j	dS )Nr6  )r8   r   r  r7  r	  ro   r8  r9  )
r   r  r9   r7  r   r:   r	  ro   r8  r9  )r4   r5   r5   r6   r:     s    zGetDialogsRequest.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sX| jdkr\dntjd| j| j| jtjd| j| jj	 tjd| j
tjd	| jfS )
Nr;   s   Oz<IFr   rZ   r[   z<iz<q)r<   r?   r@   r8  r9  r   r   r  r7  r=   r	  ro   )r4   r5   r5   r6   r=     s    >$
zGetDialogsRequest._bytesc       
   	   C   sh   |j  }t|d@ }|d@ r&|j  }nd }|j }|j  }|j }|j  }|j }	| |||||	||dS )NrZ   r[   )r   r  r7  r	  ro   r8  r9  )r^   r_   r   rA   rC   )
rD   rE   ra   _exclude_pinned
_folder_idr&  r  _offset_peerr  rp   r5   r5   r6   rG   	  s    
zGetDialogsRequest.from_reader)NN)rH   rI   rJ   rK   rL   r   r	   rN   r_   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r6    s   (r6  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 )GetDiscussionMessageRequestiriDiSr   )r1   rR   c             C   s   || _ || _dS )zU
        :returns messages.DiscussionMessage: Instance of DiscussionMessage.
        N)r1   rR   )r4   r1   rR   r5   r5   r6   r7   	  s    z$GetDiscussionMessageRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY   	  s    z#GetDiscussionMessageRequest.resolvec             C   s&   dt | jtr| jj n| j| jdS )Nr=  )r8   r1   rR   )r9   r1   r   r:   rR   )r4   r5   r5   r6   r:   "	  s    z#GetDiscussionMessageRequest.to_dictc             C   s    dj d| jj tjd| jfS )Nr;   s   riDz<i)r<   r1   r=   r?   r@   rR   )r4   r5   r5   r6   r=   )	  s    z"GetDiscussionMessageRequest._bytesc             C   s   |j  }|j }| ||dS )N)r1   rR   )rA   r^   )rD   rE   rF   rc   r5   r5   r6   rG   0	  s    z'GetDiscussionMessageRequest.from_readerN)rH   rI   rJ   rK   rL   rN   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r=  	  s   r=  c               @   sB   e Zd ZdZdZeeedddZdd Z	dd	 Z
ed
d ZdS )GetDocumentByHashRequestl   c i !)sha256size	mime_typec             C   s   || _ || _|| _dS )zP
        :returns Document: Instance of either DocumentEmpty, Document.
        N)r?  r@  rA  )r4   r?  r@  rA  r5   r5   r6   r7   ;	  s    z!GetDocumentByHashRequest.__init__c             C   s   d| j | j| jdS )Nr>  )r8   r?  r@  rA  )r?  r@  rA  )r4   r5   r5   r6   r:   C	  s    z GetDocumentByHashRequest.to_dictc             C   s,   dj d| j| jtjd| j| j| jfS )Nr;   s   z<q)r<   r>   r?  r?   r@   r@  rA  )r4   r5   r5   r6   r=   K	  s
    
zGetDocumentByHashRequest._bytesc             C   s&   |j  }|j }|j }| |||dS )N)r?  r@  rA  )rB   rC   r`   )rD   rE   _sha256_sizeZ
_mime_typer5   r5   r6   rG   S	  s    z$GetDocumentByHashRequest.from_readerN)rH   rI   rJ   rK   rL   rM   rN   rf   r7   r:   r=   rO   rG   r5   r5   r5   r6   r>  7	  s   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 )GetEmojiGroupsRequesti[ΈtiU~)ro   c             C   s
   || _ dS )zh
        :returns messages.EmojiGroups: Instance of either EmojiGroupsNotModified, EmojiGroups.
        N)ro   )r4   ro   r5   r5   r6   r7   _	  s    zGetEmojiGroupsRequest.__init__c             C   s   d| j dS )NrD  )r8   ro   )ro   )r4   r5   r5   r6   r:   e	  s    zGetEmojiGroupsRequest.to_dictc             C   s   dj dtjd| jfS )Nr;   s   [Έtz<i)r<   r?   r@   ro   )r4   r5   r5   r6   r=   k	  s    zGetEmojiGroupsRequest._bytesc             C   s   |j  }| |dS )N)ro   )r^   )rD   rE   rp   r5   r5   r6   rG   q	  s    z!GetEmojiGroupsRequest.from_readerN)rH   rI   rJ   rK   rL   rN   r7   r:   r=   rO   rG   r5   r5   r5   r6   rD  [	  s   rD  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 )GetEmojiKeywordsRequestib5l   rF$ )	lang_codec             C   s
   || _ dS )zX
        :returns EmojiKeywordsDifference: Instance of EmojiKeywordsDifference.
        N)rF  )r4   rF  r5   r5   r6   r7   {	  s    z GetEmojiKeywordsRequest.__init__c             C   s   d| j dS )NrE  )r8   rF  )rF  )r4   r5   r5   r6   r:   	  s    zGetEmojiKeywordsRequest.to_dictc             C   s   dj d| j| jfS )Nr;   s   b5)r<   r>   rF  )r4   r5   r5   r6   r=   	  s    zGetEmojiKeywordsRequest._bytesc             C   s   |j  }| |dS )N)rF  )r`   )rD   rE   
_lang_coder5   r5   r6   rG   	  s    z#GetEmojiKeywordsRequest.from_readerN)rH   rI   rJ   rK   rL   rf   r7   r:   r=   rO   rG   r5   r5   r5   r6   rE  w	  s   rE  c               @   s@   e Zd ZdZdZeedddZdd Zdd	 Z	e
d
d ZdS )!GetEmojiKeywordsDifferenceRequestil   rF$ )rF  from_versionc             C   s   || _ || _dS )zX
        :returns EmojiKeywordsDifference: Instance of EmojiKeywordsDifference.
        N)rF  rI  )r4   rF  rI  r5   r5   r6   r7   	  s    z*GetEmojiKeywordsDifferenceRequest.__init__c             C   s   d| j | jdS )NrH  )r8   rF  rI  )rF  rI  )r4   r5   r5   r6   r:   	  s    z)GetEmojiKeywordsDifferenceRequest.to_dictc             C   s"   dj d| j| jtjd| jfS )Nr;   s   z<i)r<   r>   rF  r?   r@   rI  )r4   r5   r5   r6   r=   	  s    
z(GetEmojiKeywordsDifferenceRequest._bytesc             C   s   |j  }|j }| ||dS )N)rF  rI  )r`   r^   )rD   rE   rG  Z_from_versionr5   r5   r6   rG   	  s    z-GetEmojiKeywordsDifferenceRequest.from_readerN)rH   rI   rJ   rK   rL   rf   rN   r7   r:   r=   rO   rG   r5   r5   r5   r6   rH  	  s   rH  c               @   sB   e Zd ZdZdZee dddZdd Zdd	 Z	e
d
d ZdS ) GetEmojiKeywordsLanguagesRequesticNl   S+O )
lang_codesc             C   s
   || _ dS )zP
        :returns Vector<EmojiLanguage>: This type has no constructors.
        N)rK  )r4   rK  r5   r5   r6   r7   	  s    z)GetEmojiKeywordsLanguagesRequest.__init__c             C   s"   d| j d krg n| j d d  dS )NrJ  )r8   rK  )rK  )r4   r5   r5   r6   r:   	  s    z(GetEmojiKeywordsLanguagesRequest.to_dictc                s6   dj ddtjdt jdj  fdd jD fS )Nr;   s   cNs   ĵz<ic             3   s   | ]} j |V  qd S )N)r>   )r   r   )r4   r5   r6   r   	  s    z:GetEmojiKeywordsLanguagesRequest._bytes.<locals>.<genexpr>)r<   r?   r@   r   rK  )r4   r5   )r4   r6   r=   	  s    z'GetEmojiKeywordsLanguagesRequest._bytesc             C   s>   |j   g }x&t|j  D ]}|j }|j| qW | |dS )N)rK  )r^   r   r`   r   )rD   rE   Z_lang_codesr8   r   r5   r5   r6   rG   	  s    z,GetEmojiKeywordsLanguagesRequest.from_readerN)rH   rI   rJ   rK   rL   r   rf   r7   r:   r=   rO   rG   r5   r5   r5   r6   rJ  	  s   rJ  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 )!GetEmojiProfilePhotoGroupsRequestiH!iU~)ro   c             C   s
   || _ dS )zh
        :returns messages.EmojiGroups: Instance of either EmojiGroupsNotModified, EmojiGroups.
        N)ro   )r4   ro   r5   r5   r6   r7   	  s    z*GetEmojiProfilePhotoGroupsRequest.__init__c             C   s   d| j dS )NrL  )r8   ro   )ro   )r4   r5   r5   r6   r:   	  s    z)GetEmojiProfilePhotoGroupsRequest.to_dictc             C   s   dj dtjd| jfS )Nr;   s   H!z<i)r<   r?   r@   ro   )r4   r5   r5   r6   r=   	  s    z(GetEmojiProfilePhotoGroupsRequest._bytesc             C   s   |j  }| |dS )N)ro   )r^   )rD   rE   rp   r5   r5   r6   rG   	  s    z-GetEmojiProfilePhotoGroupsRequest.from_readerN)rH   rI   rJ   rK   rL   rN   r7   r:   r=   rO   rG   r5   r5   r5   r6   rL  	  s   rL  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 )GetEmojiStatusGroupsRequestiV.iU~)ro   c             C   s
   || _ dS )zh
        :returns messages.EmojiGroups: Instance of either EmojiGroupsNotModified, EmojiGroups.
        N)ro   )r4   ro   r5   r5   r6   r7   	  s    z$GetEmojiStatusGroupsRequest.__init__c             C   s   d| j dS )NrM  )r8   ro   )ro   )r4   r5   r5   r6   r:   	  s    z#GetEmojiStatusGroupsRequest.to_dictc             C   s   dj dtjd| jfS )Nr;   s   V.z<i)r<   r?   r@   ro   )r4   r5   r5   r6   r=    
  s    z"GetEmojiStatusGroupsRequest._bytesc             C   s   |j  }| |dS )N)ro   )r^   )rD   rE   rp   r5   r5   r6   rG   
  s    z'GetEmojiStatusGroupsRequest.from_readerN)rH   rI   rJ   rK   rL   rN   r7   r:   r=   rO   rG   r5   r5   r5   r6   rM  	  s   rM  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 )GetEmojiStickerGroupsRequesti@iU~)ro   c             C   s
   || _ dS )zh
        :returns messages.EmojiGroups: Instance of either EmojiGroupsNotModified, EmojiGroups.
        N)ro   )r4   ro   r5   r5   r6   r7   
  s    z%GetEmojiStickerGroupsRequest.__init__c             C   s   d| j dS )NrN  )r8   ro   )ro   )r4   r5   r5   r6   r:   
  s    z$GetEmojiStickerGroupsRequest.to_dictc             C   s   dj dtjd| jfS )Nr;   s   @z<i)r<   r?   r@   ro   )r4   r5   r5   r6   r=   
  s    z#GetEmojiStickerGroupsRequest._bytesc             C   s   |j  }| |dS )N)ro   )r^   )rD   rE   rp   r5   r5   r6   rG   "
  s    z(GetEmojiStickerGroupsRequest.from_readerN)rH   rI   rJ   rK   rL   rN   r7   r:   r=   rO   rG   r5   r5   r5   r6   rN  
  s   rN  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 )GetEmojiStickersRequestl   !w i)HE)ro   c             C   s
   || _ dS )zh
        :returns messages.AllStickers: Instance of either AllStickersNotModified, AllStickers.
        N)ro   )r4   ro   r5   r5   r6   r7   ,
  s    z GetEmojiStickersRequest.__init__c             C   s   d| j dS )NrO  )r8   ro   )ro   )r4   r5   r5   r6   r:   2
  s    zGetEmojiStickersRequest.to_dictc             C   s   dj dtjd| jfS )Nr;   s   z<q)r<   r?   r@   ro   )r4   r5   r5   r6   r=   8
  s    zGetEmojiStickersRequest._bytesc             C   s   |j  }| |dS )N)ro   )rC   )rD   rE   rp   r5   r5   r6   rG   >
  s    z#GetEmojiStickersRequest.from_readerN)rH   rI   rJ   rK   rL   rN   r7   r:   r=   rO   rG   r5   r5   r5   r6   rO  (
  s   rO  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 )GetEmojiURLRequestl   &b+ i)rF  c             C   s
   || _ dS )z:
        :returns EmojiURL: Instance of EmojiURL.
        N)rF  )r4   rF  r5   r5   r6   r7   H
  s    zGetEmojiURLRequest.__init__c             C   s   d| j dS )NrP  )r8   rF  )rF  )r4   r5   r5   r6   r:   N
  s    zGetEmojiURLRequest.to_dictc             C   s   dj d| j| jfS )Nr;   s   &)r<   r>   rF  )r4   r5   r5   r6   r=   T
  s    zGetEmojiURLRequest._bytesc             C   s   |j  }| |dS )N)rF  )r`   )rD   rE   rG  r5   r5   r6   rG   Z
  s    zGetEmojiURLRequest.from_readerN)rH   rI   rJ   rK   rL   rf   r7   r:   r=   rO   rG   r5   r5   r5   r6   rP  D
  s   rP  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 )GetExportedChatInviteRequesti\otsl   T r   )r1   r   c             C   s   || _ || _dS )zz
        :returns messages.ExportedChatInvite: Instance of either ExportedChatInvite, ExportedChatInviteReplaced.
        N)r1   r   )r4   r1   r   r5   r5   r6   r7   d
  s    z%GetExportedChatInviteRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY   k
  s    z$GetExportedChatInviteRequest.resolvec             C   s&   dt | jtr| jj n| j| jdS )NrQ  )r8   r1   r   )r9   r1   r   r:   r   )r4   r5   r5   r6   r:   n
  s    z$GetExportedChatInviteRequest.to_dictc             C   s   dj d| jj | j| jfS )Nr;   s   \ots)r<   r1   r=   r>   r   )r4   r5   r5   r6   r=   u
  s    z#GetExportedChatInviteRequest._bytesc             C   s   |j  }|j }| ||dS )N)r1   r   )rA   r`   )rD   rE   rF   r   r5   r5   r6   rG   |
  s    z(GetExportedChatInviteRequest.from_readerN)rH   rI   rJ   rK   rL   rf   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   rQ  `
  s   rQ  c               @   s^   e Zd ZdZdZddd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 )GetExportedChatInvitesRequestl   #kE iq8=`Nr   r$   )r1   r   r	  r   r   offset_linkc             C   s(   || _ || _|| _|| _|| _|| _dS )zY
        :returns messages.ExportedChatInvites: Instance of ExportedChatInvites.
        N)r1   r   r	  r   r   rS  )r4   r1   r   r	  r   r   rS  r5   r5   r6   r7   
  s    z&GetExportedChatInvitesRequest.__init__c                s8   |j |j| jI d H | _|j|j| jI d H | _d S )N)rU   rV   r1   rk   r   )r4   rW   rX   r5   r5   r6   rY   
  s    z%GetExportedChatInvitesRequest.resolvec             C   sL   dt | jtr| jj n| jt | jtr2| jj n| j| j| j| j| jdS )NrR  )r8   r1   r   r	  r   r   rS  )	r9   r1   r   r:   r   r	  r   r   rS  )r4   r5   r5   r6   r:   
  s    z%GetExportedChatInvitesRequest.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j | j	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 )
NFzToffset_date, offset_link parameters must all be False-y (like None) or all me True-yr;   s   z<Ir   r   r\   z<i)r   rS  r]   r<   r?   r@   r   r1   r=   r   r   r>   r	  )r4   r5   r5   r6   r=   
  s    PZ""z$GetExportedChatInvitesRequest._bytesc       	      C   sl   |j  }t|d@ }|j }|j }|d@ r6|j }nd }|d@ rL|j }nd }|j  }| ||||||dS )Nr   r\   )r1   r   r	  r   r   rS  )r^   r_   rA   r   r`   )	rD   rE   ra   r   rF   r   r&  Z_offset_linkr  r5   r5   r6   rG   
  s    

z)GetExportedChatInvitesRequest.from_reader)NNN)rH   rI   rJ   rK   rL   rN   r   r_   r	   rf   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   rR  
  s   &rR  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 )GetExtendedMediaRequestl   	 l   * r   )r1   r   c             C   s   || _ || _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        N)r1   r   )r4   r1   r   r5   r5   r6   r7   
  s    z GetExtendedMediaRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY   
  s    zGetExtendedMediaRequest.resolvec             C   s<   dt | jtr| jj n| j| jd kr*g n| jd d  dS )NrT  )r8   r1   r   )r9   r1   r   r:   r   )r4   r5   r5   r6   r:   
  s    zGetExtendedMediaRequest.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@   )r   r   r5   r5   r6   r   
  s    z1GetExtendedMediaRequest._bytes.<locals>.<genexpr>)r<   r1   r=   r?   r@   r   r   )r4   r5   r5   r6   r=   
  s    zGetExtendedMediaRequest._bytesc             C   sH   |j  }|j  g }x&t|j D ]}|j }|j| q"W | ||dS )N)r1   r   )rA   r^   r   r   )rD   rE   rF   r   r8   r   r5   r5   r6   rG   
  s    z#GetExtendedMediaRequest.from_readerN)rH   rI   rJ   rK   rL   r   rN   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   rT  
  s   rT  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 )GetFactCheckRequestl   Es l   Lw r   )r1   rR   c             C   s   || _ || _dS )zL
        :returns Vector<FactCheck>: This type has no constructors.
        N)r1   rR   )r4   r1   rR   r5   r5   r6   r7   
  s    zGetFactCheckRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY   
  s    zGetFactCheckRequest.resolvec             C   s<   dt | jtr| jj n| j| jd kr*g n| jd d  dS )NrU  )r8   r1   rR   )r9   r1   r   r:   rR   )r4   r5   r5   r6   r:   
  s    zGetFactCheckRequest.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@   )r   r   r5   r5   r6   r     s    z-GetFactCheckRequest._bytes.<locals>.<genexpr>)r<   r1   r=   r?   r@   r   rR   )r4   r5   r5   r6   r=   
  s    zGetFactCheckRequest._bytesc             C   sH   |j  }|j  g }x&t|j D ]}|j }|j| q"W | ||dS )N)r1   rR   )rA   r^   r   r   )rD   rE   rF   rc   r8   r   r5   r5   r6   rG     s    zGetFactCheckRequest.from_readerN)rH   rI   rJ   rK   rL   r   rN   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   rU  
  s   rU  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 )GetFavedStickersRequestil   o )ro   c             C   s
   || _ dS )zn
        :returns messages.FavedStickers: Instance of either FavedStickersNotModified, FavedStickers.
        N)ro   )r4   ro   r5   r5   r6   r7     s    z GetFavedStickersRequest.__init__c             C   s   d| j dS )NrV  )r8   ro   )ro   )r4   r5   r5   r6   r:     s    zGetFavedStickersRequest.to_dictc             C   s   dj dtjd| jfS )Nr;   s   z<q)r<   r?   r@   ro   )r4   r5   r5   r6   r=      s    zGetFavedStickersRequest._bytesc             C   s   |j  }| |dS )N)ro   )rC   )rD   rE   rp   r5   r5   r6   rG   &  s    z#GetFavedStickersRequest.from_readerN)rH   rI   rJ   rK   rL   rN   r7   r:   r=   rO   rG   r5   r5   r5   r6   rV    s   rV  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 )GetFeaturedEmojiStickersRequesti6gi"&)ro   c             C   s
   || _ dS )zw
        :returns messages.FeaturedStickers: Instance of either FeaturedStickersNotModified, FeaturedStickers.
        N)ro   )r4   ro   r5   r5   r6   r7   0  s    z(GetFeaturedEmojiStickersRequest.__init__c             C   s   d| j dS )NrW  )r8   ro   )ro   )r4   r5   r5   r6   r:   6  s    z'GetFeaturedEmojiStickersRequest.to_dictc             C   s   dj dtjd| jfS )Nr;   s   6gz<q)r<   r?   r@   ro   )r4   r5   r5   r6   r=   <  s    z&GetFeaturedEmojiStickersRequest._bytesc             C   s   |j  }| |dS )N)ro   )rC   )rD   rE   rp   r5   r5   r6   rG   B  s    z+GetFeaturedEmojiStickersRequest.from_readerN)rH   rI   rJ   rK   rL   rN   r7   r:   r=   rO   rG   r5   r5   r5   r6   rW  ,  s   rW  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 )GetFeaturedStickersRequestixdi"&)ro   c             C   s
   || _ dS )zw
        :returns messages.FeaturedStickers: Instance of either FeaturedStickersNotModified, FeaturedStickers.
        N)ro   )r4   ro   r5   r5   r6   r7   L  s    z#GetFeaturedStickersRequest.__init__c             C   s   d| j dS )NrX  )r8   ro   )ro   )r4   r5   r5   r6   r:   R  s    z"GetFeaturedStickersRequest.to_dictc             C   s   dj dtjd| jfS )Nr;   s   xdz<q)r<   r?   r@   ro   )r4   r5   r5   r6   r=   X  s    z!GetFeaturedStickersRequest._bytesc             C   s   |j  }| |dS )N)ro   )rC   )rD   rE   rp   r5   r5   r6   rG   ^  s    z&GetFeaturedStickersRequest.from_readerN)rH   rI   rJ   rK   rL   rN   r7   r:   r=   rO   rG   r5   r5   r5   r6   rX  H  s   rX  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 )GetFullChatRequestl   4`] i	QZ")rh   c             C   s
   || _ dS )zC
        :returns messages.ChatFull: Instance of ChatFull.
        N)rh   )r4   rh   r5   r5   r6   r7   h  s    zGetFullChatRequest.__init__c             C   s   d| j dS )NrY  )r8   rh   )rh   )r4   r5   r5   r6   r:   n  s    zGetFullChatRequest.to_dictc             C   s   dj dtjd| jfS )Nr;   s   4z<q)r<   r?   r@   rh   )r4   r5   r5   r6   r=   t  s    zGetFullChatRequest._bytesc             C   s   |j  }| |dS )N)rh   )rC   )rD   rE   rl   r5   r5   r6   rG   z  s    zGetFullChatRequest.from_readerN)rH   rI   rJ   rK   rL   rN   r7   r:   r=   rO   rG   r5   r5   r5   r6   rY  d  s   rY  c               @   sJ   e Zd ZdZdZdeddddZdd	 Zd
d Zdd Z	e
dd ZdS )GetGameHighScoresRequestl   dDP ilr   r$   )r1   r   ri   c             C   s   || _ || _|| _dS )zG
        :returns messages.HighScores: Instance of HighScores.
        N)r1   r   ri   )r4   r1   r   ri   r5   r5   r6   r7     s    z!GetGameHighScoresRequest.__init__c                s8   |j |j| jI d H | _|j|j| jI d H | _d S )N)rU   rV   r1   rk   ri   )r4   rW   rX   r5   r5   r6   rY     s    z GetGameHighScoresRequest.resolvec             C   s@   dt | jtr| jj n| j| jt | jtr6| jj n| jdS )NrZ  )r8   r1   r   ri   )r9   r1   r   r:   r   ri   )r4   r5   r5   r6   r:     s    z GetGameHighScoresRequest.to_dictc             C   s(   dj d| jj tjd| j| jj fS )Nr;   s   d"z<i)r<   r1   r=   r?   r@   r   ri   )r4   r5   r5   r6   r=     s
    zGetGameHighScoresRequest._bytesc             C   s&   |j  }|j }|j  }| |||dS )N)r1   r   ri   )rA   r^   )rD   rE   rF   r   rm   r5   r5   r6   rG     s    z$GetGameHighScoresRequest.from_readerN)rH   rI   rJ   rK   rL   rN   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   rZ    s   rZ  c            	   @   sX   e Zd ZdZdZd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 )GetHistoryRequesti#Dl   ^h) r   )r1   r  r   
add_offsetr	  r   min_idro   c	       	      C   s4   || _ || _|| _|| _|| _|| _|| _|| _dS )z
        :returns messages.Messages: Instance of either Messages, MessagesSlice, ChannelMessages, MessagesNotModified.
        N)r1   r  r   r\  r	  r   r]  ro   )	r4   r1   r  r   r\  r	  r   r]  ro   r5   r5   r6   r7     s    zGetHistoryRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY     s    zGetHistoryRequest.resolvec          
   C   s>   dt | jtr| jj n| j| j| j| j| j| j| j	| j
d	S )Nr[  )	r8   r1   r  r   r\  r	  r   r]  ro   )r9   r1   r   r:   r  r   r\  r	  r   r]  ro   )r4   r5   r5   r6   r:     s    zGetHistoryRequest.to_dictc             C   sf   dj d| jj tjd| j| j| jtjd| jtjd| j	tjd| j
tjd| jtjd| jf	S )Nr;   s   #Dz<iz<q)r<   r1   r=   r?   r@   r  r   r   r\  r	  r   r]  ro   )r4   r5   r5   r6   r=     s    
zGetHistoryRequest._bytesc       
   
   C   sX   |j  }|j }|j }|j }|j }|j }|j }|j }	| ||||||||	dS )N)r1   r  r   r\  r	  r   r]  ro   )rA   r^   r   rC   )
rD   rE   rF   r  r&  _add_offsetr  r   _min_idrp   r5   r5   r6   rG     s    zGetHistoryRequest.from_readerN)rH   rI   rJ   rK   rL   rN   r   r	   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r[    s    r[  c               @   sT   e Zd ZdZdZdddeeed ddd	Zd
d Zdd Z	dd Z
edd ZdS )GetInlineBotResultsRequestiNQi>Nr$   r   r   )r  r1   queryoffset	geo_pointc             C   s"   || _ || _|| _|| _|| _dS )zG
        :returns messages.BotResults: Instance of BotResults.
        N)r  r1   ra  rb  rc  )r4   r  r1   ra  rb  rc  r5   r5   r6   r7     s
    z#GetInlineBotResultsRequest.__init__c                s8   |j |j| jI d H | _|j|j| jI d H | _d S )N)rk   rV   r  rU   r1   )r4   rW   rX   r5   r5   r6   rY     s    z"GetInlineBotResultsRequest.resolvec             C   s^   dt | jtr| jj n| jt | jtr2| jj n| j| j| jt | jtrT| jj n| jdS )Nr`  )r8   r  r1   ra  rb  rc  )r9   r  r   r:   r1   ra  rb  rc  )r4   r5   r5   r6   r:     s    z"GetInlineBotResultsRequest.to_dictc          	   C   sr   dj dtjd| jd ks | jdkr$dnd| jj | jj | jd ksL| jdkrPdn| jj | j| j| j| j	fS )Nr;   s   NQz<IFr   rZ   )
r<   r?   r@   rc  r  r=   r1   r>   ra  rb  )r4   r5   r5   r6   r=     s    " 
z!GetInlineBotResultsRequest._bytesc             C   sP   |j  }|j }|j }|d@ r*|j }nd }|j }|j }| |||||dS )NrZ   )r  r1   ra  rb  rc  )r^   rA   r`   )rD   rE   ra   r  rF   Z
_geo_pointZ_query_offsetr5   r5   r6   rG   
  s    
z&GetInlineBotResultsRequest.from_reader)N)rH   rI   rJ   rK   rL   rf   r   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r`    s   

r`  c               @   sH   e Zd ZdZdZdddddZdd	 Zd
d Zdd Ze	dd Z
dS )GetInlineGameHighScoresRequesti^cilr   r$   )r   ri   c             C   s   || _ || _dS )zG
        :returns messages.HighScores: Instance of HighScores.
        N)r   ri   )r4   r   ri   r5   r5   r6   r7     s    z'GetInlineGameHighScoresRequest.__init__c                s   |j |j| jI d H | _d S )N)rk   rV   ri   )r4   rW   rX   r5   r5   r6   rY   $  s    z&GetInlineGameHighScoresRequest.resolvec             C   s<   dt | jtr| jj n| jt | jtr2| jj n| jdS )Nre  )r8   r   ri   )r9   r   r   r:   ri   )r4   r5   r5   r6   r:   '  s    z&GetInlineGameHighScoresRequest.to_dictc             C   s   dj d| jj | jj fS )Nr;   s   ^c)r<   r   r=   ri   )r4   r5   r5   r6   r=   .  s    z%GetInlineGameHighScoresRequest._bytesc             C   s   |j  }|j  }| ||dS )N)r   ri   )rA   )rD   rE   r   rm   r5   r5   r6   rG   5  s    z*GetInlineGameHighScoresRequest.from_readerN)rH   rI   rJ   rK   rL   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   re    s   re  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 )GetMaskStickersRequestidi)HE)ro   c             C   s
   || _ dS )zh
        :returns messages.AllStickers: Instance of either AllStickersNotModified, AllStickers.
        N)ro   )r4   ro   r5   r5   r6   r7   @  s    zGetMaskStickersRequest.__init__c             C   s   d| j dS )Nrf  )r8   ro   )ro   )r4   r5   r5   r6   r:   F  s    zGetMaskStickersRequest.to_dictc             C   s   dj dtjd| jfS )Nr;   s   dz<q)r<   r?   r@   ro   )r4   r5   r5   r6   r=   L  s    zGetMaskStickersRequest._bytesc             C   s   |j  }| |dS )N)ro   )rC   )rD   rE   rp   r5   r5   r6   rG   R  s    z"GetMaskStickersRequest.from_readerN)rH   rI   rJ   rK   rL   rN   r7   r:   r=   rO   rG   r5   r5   r5   r6   rf  <  s   rf  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 )GetMessageEditDataRequestl   6M{ l   v r   )r1   r   c             C   s   || _ || _dS )zQ
        :returns messages.MessageEditData: Instance of MessageEditData.
        N)r1   r   )r4   r1   r   r5   r5   r6   r7   \  s    z"GetMessageEditDataRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY   c  s    z!GetMessageEditDataRequest.resolvec             C   s&   dt | jtr| jj n| j| jdS )Nrg  )r8   r1   r   )r9   r1   r   r:   r   )r4   r5   r5   r6   r:   f  s    z!GetMessageEditDataRequest.to_dictc             C   s    dj d| jj tjd| jfS )Nr;   s   6z<i)r<   r1   r=   r?   r@   r   )r4   r5   r5   r6   r=   m  s    z GetMessageEditDataRequest._bytesc             C   s   |j  }|j }| ||dS )N)r1   r   )rA   r^   )rD   rE   rF   r   r5   r5   r6   rG   t  s    z%GetMessageEditDataRequest.from_readerN)rH   rI   rJ   rK   rL   rN   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   rg  X  s   rg  c               @   sX   e Zd ZdZdZdd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 )GetMessageReactionsListRequestiH?Fi`Nr   r)   )r1   r   r	  reactionrb  c             C   s"   || _ || _|| _|| _|| _dS )z[
        :returns messages.MessageReactionsList: Instance of MessageReactionsList.
        N)r1   r   r	  ri  rb  )r4   r1   r   r	  ri  rb  r5   r5   r6   r7     s
    z'GetMessageReactionsListRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY     s    z&GetMessageReactionsListRequest.resolvec             C   sH   dt | jtr| jj n| j| j| jt | jtr:| jj n| j| jdS )Nrh  )r8   r1   r   r	  ri  rb  )r9   r1   r   r:   r   r	  ri  rb  )r4   r5   r5   r6   r:     s    z&GetMessageReactionsListRequest.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j tjd| j| jd ksl| jdkrpdn| jj | jd ks| jdkrdn
| j| jtjd| j	fS )	Nr;   s   H?Fz<IFr   rZ   r[   z<i)
r<   r?   r@   ri  rb  r1   r=   r   r>   r	  )r4   r5   r5   r6   r=     s    > "z%GetMessageReactionsListRequest._bytesc             C   s^   |j  }|j }|j  }|d@ r*|j }nd }|d@ r@|j }nd }|j  }| |||||dS )NrZ   r[   )r1   r   r	  ri  rb  )r^   rA   r`   )rD   rE   ra   rF   r   	_reactionrd  r  r5   r5   r6   rG     s    

z*GetMessageReactionsListRequest.from_reader)NN)rH   rI   rJ   rK   rL   rN   r   rf   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   rh  {  s    

rh  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 )!GetMessageReadParticipantsRequestiO1i[E!r   )r1   rR   c             C   s   || _ || _dS )zV
        :returns Vector<ReadParticipantDate>: This type has no constructors.
        N)r1   rR   )r4   r1   rR   r5   r5   r6   r7     s    z*GetMessageReadParticipantsRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY     s    z)GetMessageReadParticipantsRequest.resolvec             C   s&   dt | jtr| jj n| j| jdS )Nrk  )r8   r1   rR   )r9   r1   r   r:   rR   )r4   r5   r5   r6   r:     s    z)GetMessageReadParticipantsRequest.to_dictc             C   s    dj d| jj tjd| jfS )Nr;   s   O1z<i)r<   r1   r=   r?   r@   rR   )r4   r5   r5   r6   r=     s    z(GetMessageReadParticipantsRequest._bytesc             C   s   |j  }|j }| ||dS )N)r1   rR   )rA   r^   )rD   rE   rF   rc   r5   r5   r6   rG     s    z-GetMessageReadParticipantsRequest.from_readerN)rH   rI   rJ   rK   rL   rN   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   rk    s   rk  c               @   sJ   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dS )GetMessagesRequestiecl   ^h) r   )r   c             C   s
   || _ dS )z
        :returns messages.Messages: Instance of either Messages, MessagesSlice, ChannelMessages, MessagesNotModified.
        N)r   )r4   r   r5   r5   r6   r7     s    zGetMessagesRequest.__init__c                s.   g }x| j D ]}|j|j| qW || _ d S )N)r   r   Zget_input_message)r4   rW   rX   r   r   r5   r5   r6   rY     s    zGetMessagesRequest.resolvec             C   s$   d| j d krg ndd | j D dS )Nrl  c             S   s"   g | ]}t |tr|j n|qS r5   )r9   r   r:   )r   r   r5   r5   r6   r     s    z.GetMessagesRequest.to_dict.<locals>.<listcomp>)r8   r   )r   )r4   r5   r5   r6   r:     s    zGetMessagesRequest.to_dictc             C   s2   dj ddtjdt| jdj dd | jD fS )Nr;   s   ecs   ĵz<ic             s   s   | ]}|j  V  qd S )N)r=   )r   r   r5   r5   r6   r     s    z,GetMessagesRequest._bytes.<locals>.<genexpr>)r<   r?   r@   r   r   )r4   r5   r5   r6   r=     s    zGetMessagesRequest._bytesc             C   s>   |j   g }x&t|j  D ]}|j }|j| qW | |dS )N)r   )r^   r   rA   r   )rD   rE   r   r8   r   r5   r5   r6   rG     s    zGetMessagesRequest.from_readerN)rH   rI   rJ   rK   rL   r   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   rl    s   rl  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 )GetMessagesReactionsRequestl   u l   * r   )r1   r   c             C   s   || _ || _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        N)r1   r   )r4   r1   r   r5   r5   r6   r7     s    z$GetMessagesReactionsRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY   	  s    z#GetMessagesReactionsRequest.resolvec             C   s<   dt | jtr| jj n| j| jd kr*g n| jd d  dS )Nrm  )r8   r1   r   )r9   r1   r   r:   r   )r4   r5   r5   r6   r:     s    z#GetMessagesReactionsRequest.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@   )r   r   r5   r5   r6   r     s    z5GetMessagesReactionsRequest._bytes.<locals>.<genexpr>)r<   r1   r=   r?   r@   r   r   )r4   r5   r5   r6   r=     s    z"GetMessagesReactionsRequest._bytesc             C   sH   |j  }|j  g }x&t|j D ]}|j }|j| q"W | ||dS )N)r1   r   )rA   r^   r   r   )rD   rE   rF   r   r8   r   r5   r5   r6   rG     s    z'GetMessagesReactionsRequest.from_readerN)rH   rI   rJ   rK   rL   r   rN   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   rm    s   rm  c               @   sN   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dS )GetMessagesViewsRequestiӄWl   kk_ r   )r1   r   	incrementc             C   s   || _ || _|| _dS )zK
        :returns messages.MessageViews: Instance of MessageViews.
        N)r1   r   ro  )r4   r1   r   ro  r5   r5   r6   r7   *  s    z GetMessagesViewsRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY   2  s    zGetMessagesViewsRequest.resolvec             C   s@   dt | jtr| jj n| j| jd kr*g n| jd d  | jdS )Nrn  )r8   r1   r   ro  )r9   r1   r   r:   r   ro  )r4   r5   r5   r6   r:   5  s    zGetMessagesViewsRequest.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   ӄWs   ĵz<ic             s   s   | ]}t jd |V  qdS )z<iN)r?   r@   )r   r   r5   r5   r6   r   A  s    z1GetMessagesViewsRequest._bytes.<locals>.<genexpr>s   urs   7y)r<   r1   r=   r?   r@   r   r   ro  )r4   r5   r5   r6   r=   =  s
    &zGetMessagesViewsRequest._bytesc             C   sR   |j  }|j  g }x&t|j D ]}|j }|j| q"W |j }| |||dS )N)r1   r   ro  )rA   r^   r   r   r   )rD   rE   rF   r   r8   r   Z
_incrementr5   r5   r6   rG   E  s    z#GetMessagesViewsRequest.from_readerN)rH   rI   rJ   rK   rL   r   rN   r_   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   rn  &  s   rn  c               @   s@   e Zd ZdZdZeedddZdd Zdd	 Ze	d
d Z
dS )GetMyStickersRequestl   ak! l   
5hc )r  r	  c             C   s   || _ || _dS )zG
        :returns messages.MyStickers: Instance of MyStickers.
        N)r  r	  )r4   r  r	  r5   r5   r6   r7   V  s    zGetMyStickersRequest.__init__c             C   s   d| j | jdS )Nrp  )r8   r  r	  )r  r	  )r4   r5   r5   r6   r:   ]  s    zGetMyStickersRequest.to_dictc             C   s$   dj dtjd| jtjd| jfS )Nr;   s   z<qz<i)r<   r?   r@   r  r	  )r4   r5   r5   r6   r=   d  s    zGetMyStickersRequest._bytesc             C   s   |j  }|j }| ||dS )N)r  r	  )rC   r^   )rD   rE   r  r  r5   r5   r6   rG   k  s    z GetMyStickersRequest.from_readerN)rH   rI   rJ   rK   rL   rN   r7   r:   r=   rO   rG   r5   r5   r5   r6   rp  R  s   rp  c               @   sB   e Zd ZdZdZeeedddZdd Zdd	 Ze	d
d Z
dS )GetOldFeaturedStickersRequesti~i"&)rb  r	  ro   c             C   s   || _ || _|| _dS )zw
        :returns messages.FeaturedStickers: Instance of either FeaturedStickersNotModified, FeaturedStickers.
        N)rb  r	  ro   )r4   rb  r	  ro   r5   r5   r6   r7   v  s    z&GetOldFeaturedStickersRequest.__init__c             C   s   d| j | j| jdS )Nrq  )r8   rb  r	  ro   )rb  r	  ro   )r4   r5   r5   r6   r:   ~  s    z%GetOldFeaturedStickersRequest.to_dictc             C   s0   dj dtjd| jtjd| jtjd| jfS )Nr;   s   ~z<iz<q)r<   r?   r@   rb  r	  ro   )r4   r5   r5   r6   r=     s
    z$GetOldFeaturedStickersRequest._bytesc             C   s&   |j  }|j  }|j }| |||dS )N)rb  r	  ro   )r^   rC   )rD   rE   rd  r  rp   r5   r5   r6   rG     s    z)GetOldFeaturedStickersRequest.from_readerN)rH   rI   rJ   rK   rL   rN   r7   r:   r=   rO   rG   r5   r5   r5   r6   rq  r  s   rq  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 )GetOnlinesRequestiP+nl   : r   )r1   c             C   s
   || _ dS )z@
        :returns ChatOnlines: Instance of ChatOnlines.
        N)r1   )r4   r1   r5   r5   r6   r7     s    zGetOnlinesRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY     s    zGetOnlinesRequest.resolvec             C   s"   dt | jtr| jj n| jdS )Nrr  )r8   r1   )r9   r1   r   r:   )r4   r5   r5   r6   r:     s    zGetOnlinesRequest.to_dictc             C   s   dj d| jj fS )Nr;   s   P+n)r<   r1   r=   )r4   r5   r5   r6   r=     s    zGetOnlinesRequest._bytesc             C   s   |j  }| |dS )N)r1   )rA   )rD   rE   rF   r5   r5   r6   rG     s    zGetOnlinesRequest.from_readerN)rH   rI   rJ   rK   rL   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   rr    s   rr  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 )GetOutboxReadDateRequestl   ]~ iƃQor   )r1   rR   c             C   s   || _ || _dS )zF
        :returns OutboxReadDate: Instance of OutboxReadDate.
        N)r1   rR   )r4   r1   rR   r5   r5   r6   r7     s    z!GetOutboxReadDateRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY     s    z GetOutboxReadDateRequest.resolvec             C   s&   dt | jtr| jj n| j| jdS )Nrs  )r8   r1   rR   )r9   r1   r   r:   rR   )r4   r5   r5   r6   r:     s    z GetOutboxReadDateRequest.to_dictc             C   s    dj d| jj tjd| jfS )Nr;   s   ]Kz<i)r<   r1   r=   r?   r@   rR   )r4   r5   r5   r6   r=     s    zGetOutboxReadDateRequest._bytesc             C   s   |j  }|j }| ||dS )N)r1   rR   )rA   r^   )rD   rE   rF   rc   r5   r5   r6   rG     s    z$GetOutboxReadDateRequest.from_readerN)rH   rI   rJ   rK   rL   rN   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   rs    s   rs  c               @   s0   e Zd ZdZdZdd Zdd Zedd Zd	S )
GetPaidReactionPrivacyRequestiU$Gl   * c             C   s   ddiS )Nr8   rt  r5   )r4   r5   r5   r6   r:     s    z%GetPaidReactionPrivacyRequest.to_dictc             C   s
   dj dS )Nr;      U$G)ru  )r<   )r4   r5   r5   r6   r=     s    z$GetPaidReactionPrivacyRequest._bytesc             C   s   |  S )Nr5   )rD   rE   r5   r5   r6   rG     s    z)GetPaidReactionPrivacyRequest.from_readerN)	rH   rI   rJ   rK   rL   r:   r=   rO   rG   r5   r5   r5   r6   rt    s
   rt  c               @   sJ   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dS )GetPeerDialogsRequestl   <H i2:r   )peersc             C   s
   || _ dS )zI
        :returns messages.PeerDialogs: Instance of PeerDialogs.
        N)rw  )r4   rw  r5   r5   r6   r7     s    zGetPeerDialogsRequest.__init__c                s4   g }x$| j D ]}|j|j|I d H  qW || _ d S )N)rw  r   _get_input_dialog)r4   rW   rX   r   r   r5   r5   r6   rY     s    zGetPeerDialogsRequest.resolvec             C   s$   d| j d krg ndd | j D dS )Nrv  c             S   s"   g | ]}t |tr|j n|qS r5   )r9   r   r:   )r   r   r5   r5   r6   r     s    z1GetPeerDialogsRequest.to_dict.<locals>.<listcomp>)r8   rw  )rw  )r4   r5   r5   r6   r:     s    zGetPeerDialogsRequest.to_dictc             C   s2   dj ddtjdt| jdj dd | jD fS )Nr;   s   ps   ĵz<ic             s   s   | ]}|j  V  qd S )N)r=   )r   r   r5   r5   r6   r     s    z/GetPeerDialogsRequest._bytes.<locals>.<genexpr>)r<   r?   r@   r   rw  )r4   r5   r5   r6   r=     s    zGetPeerDialogsRequest._bytesc             C   s>   |j   g }x&t|j  D ]}|j }|j| qW | |dS )N)rw  )r^   r   rA   r   )rD   rE   Z_peersr8   r   r5   r5   r6   rG     s    z!GetPeerDialogsRequest.from_readerN)rH   rI   rJ   rK   rL   r   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   rv    s   rv  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 )GetPeerSettingsRequestl   &_ ier   )r1   c             C   s
   || _ dS )zK
        :returns messages.PeerSettings: Instance of PeerSettings.
        N)r1   )r4   r1   r5   r5   r6   r7     s    zGetPeerSettingsRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY     s    zGetPeerSettingsRequest.resolvec             C   s"   dt | jtr| jj n| jdS )Nry  )r8   r1   )r9   r1   r   r:   )r4   r5   r5   r6   r:      s    zGetPeerSettingsRequest.to_dictc             C   s   dj d| jj fS )Nr;   s   )r<   r1   r=   )r4   r5   r5   r6   r=   &  s    zGetPeerSettingsRequest._bytesc             C   s   |j  }| |dS )N)r1   )rA   )rD   rE   rF   r5   r5   r6   rG   ,  s    z"GetPeerSettingsRequest.from_readerN)rH   rI   rJ   rK   rL   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   ry    s   ry  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 )GetPinnedDialogsRequestl   Mr- i2:)r9  c             C   s
   || _ dS )zI
        :returns messages.PeerDialogs: Instance of PeerDialogs.
        N)r9  )r4   r9  r5   r5   r6   r7   6  s    z GetPinnedDialogsRequest.__init__c             C   s   d| j dS )Nrz  )r8   r9  )r9  )r4   r5   r5   r6   r:   <  s    zGetPinnedDialogsRequest.to_dictc             C   s   dj dtjd| jfS )Nr;   s   Mz<i)r<   r?   r@   r9  )r4   r5   r5   r6   r=   B  s    zGetPinnedDialogsRequest._bytesc             C   s   |j  }| |dS )N)r9  )r^   )rD   rE   r;  r5   r5   r6   rG   H  s    z#GetPinnedDialogsRequest.from_readerN)rH   rI   rJ   rK   rL   rN   r7   r:   r=   rO   rG   r5   r5   r5   r6   rz  2  s   rz  c               @   s0   e Zd ZdZdZdd Zdd Zedd Zd	S )
GetPinnedSavedDialogsRequestl   {, i~Kac             C   s   ddiS )Nr8   r{  r5   )r4   r5   r5   r6   r:   R  s    z$GetPinnedSavedDialogsRequest.to_dictc             C   s
   dj dS )Nr;      =)r|  )r<   )r4   r5   r5   r6   r=   W  s    z#GetPinnedSavedDialogsRequest._bytesc             C   s   |  S )Nr5   )rD   rE   r5   r5   r6   rG   \  s    z(GetPinnedSavedDialogsRequest.from_readerN)	rH   rI   rJ   rK   rL   r:   r=   rO   rG   r5   r5   r5   r6   r{  N  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 )GetPollResultsRequesti;dsl   * r   )r1   rR   c             C   s   || _ || _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        N)r1   rR   )r4   r1   rR   r5   r5   r6   r7   e  s    zGetPollResultsRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY   l  s    zGetPollResultsRequest.resolvec             C   s&   dt | jtr| jj n| j| jdS )Nr}  )r8   r1   rR   )r9   r1   r   r:   rR   )r4   r5   r5   r6   r:   o  s    zGetPollResultsRequest.to_dictc             C   s    dj d| jj tjd| jfS )Nr;   s   ;dsz<i)r<   r1   r=   r?   r@   rR   )r4   r5   r5   r6   r=   v  s    zGetPollResultsRequest._bytesc             C   s   |j  }|j }| ||dS )N)r1   rR   )rA   r^   )rD   rE   rF   rc   r5   r5   r6   rG   }  s    z!GetPollResultsRequest.from_readerN)rH   rI   rJ   rK   rL   rN   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r}  a  s   r}  c               @   sX   e Zd ZdZdZdd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 )GetPollVotesRequestl   8p l   3 Nr   )r1   r   r	  optionrb  c             C   s"   || _ || _|| _|| _|| _dS )zE
        :returns messages.VotesList: Instance of VotesList.
        N)r1   r   r	  r  rb  )r4   r1   r   r	  r  rb  r5   r5   r6   r7     s
    zGetPollVotesRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY     s    zGetPollVotesRequest.resolvec             C   s2   dt | jtr| jj n| j| j| j| j| jdS )Nr~  )r8   r1   r   r	  r  rb  )r9   r1   r   r:   r   r	  r  rb  )r4   r5   r5   r6   r:     s    zGetPollVotesRequest.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j tjd| j| jd ksl| jdkrpdn
| j| j| jd ks| jdkrdn
| j| jtjd| j	fS )	Nr;   s   8nz<IFr   rZ   r[   z<i)
r<   r?   r@   r  rb  r1   r=   r   r>   r	  )r4   r5   r5   r6   r=     s    >""zGetPollVotesRequest._bytesc             C   s^   |j  }|j }|j  }|d@ r*|j }nd }|d@ r@|j }nd }|j  }| |||||dS )NrZ   r[   )r1   r   r	  r  rb  )r^   rA   rB   r`   )rD   rE   ra   rF   r   _optionrd  r  r5   r5   r6   rG     s    

zGetPollVotesRequest.from_reader)NN)rH   rI   rJ   rK   rL   rN   r   rM   rf   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   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 )GetPreparedInlineMessageRequestl   =
 iMIr$   )r  r   c             C   s   || _ || _dS )z]
        :returns messages.PreparedInlineMessage: Instance of PreparedInlineMessage.
        N)r  r   )r4   r  r   r5   r5   r6   r7     s    z(GetPreparedInlineMessageRequest.__init__c                s   |j |j| jI d H | _d S )N)rk   rV   r  )r4   rW   rX   r5   r5   r6   rY     s    z'GetPreparedInlineMessageRequest.resolvec             C   s&   dt | jtr| jj n| j| jdS )Nr  )r8   r  r   )r9   r  r   r:   r   )r4   r5   r5   r6   r:     s    z'GetPreparedInlineMessageRequest.to_dictc             C   s   dj d| jj | j| jfS )Nr;   s   ~)r<   r  r=   r>   r   )r4   r5   r5   r6   r=     s    z&GetPreparedInlineMessageRequest._bytesc             C   s   |j  }|j }| ||dS )N)r  r   )rA   r`   )rD   rE   r  r   r5   r5   r6   rG     s    z+GetPreparedInlineMessageRequest.from_readerN)rH   rI   rJ   rK   rL   rf   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r    s   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 )GetQuickRepliesRequestl   r) l   fion )ro   c             C   s
   || _ dS )zk
        :returns messages.QuickReplies: Instance of either QuickReplies, QuickRepliesNotModified.
        N)ro   )r4   ro   r5   r5   r6   r7     s    zGetQuickRepliesRequest.__init__c             C   s   d| j dS )Nr  )r8   ro   )ro   )r4   r5   r5   r6   r:     s    zGetQuickRepliesRequest.to_dictc             C   s   dj dtjd| jfS )Nr;   s   z<q)r<   r?   r@   ro   )r4   r5   r5   r6   r=     s    zGetQuickRepliesRequest._bytesc             C   s   |j  }| |dS )N)ro   )rC   )rD   rE   rp   r5   r5   r6   rG     s    z"GetQuickRepliesRequest.from_readerN)rH   rI   rJ   rK   rL   rN   r7   r:   r=   rO   rG   r5   r5   r5   r6   r    s   r  c               @   sL   e Zd ZdZdZdeeeee  dddZdd Z	d	d
 Z
edd ZdS )GetQuickReplyMessagesRequestl   I) l   ^h) N)r   ro   r   c             C   s   || _ || _|| _dS )z
        :returns messages.Messages: Instance of either Messages, MessagesSlice, ChannelMessages, MessagesNotModified.
        N)r   ro   r   )r4   r   ro   r   r5   r5   r6   r7     s    z%GetQuickReplyMessagesRequest.__init__c             C   s*   d| j | j| jd krg n| jd d  dS )Nr  )r8   r   ro   r   )r   ro   r   )r4   r5   r5   r6   r:     s    z$GetQuickReplyMessagesRequest.to_dictc          
   C   s   dj dtjd| jd ks | jdkr$dndtjd| j| jd ksH| jdkrLdn.dj dtjdt| jdj d	d
 | jD ftjd| jfS )Nr;   s   Õz<IFr   rZ   z<is   ĵc             s   s   | ]}t jd |V  qdS )z<iN)r?   r@   )r   r   r5   r5   r6   r     s    z6GetQuickReplyMessagesRequest._bytes.<locals>.<genexpr>z<q)r<   r?   r@   r   r   r   ro   )r4   r5   r5   r6   r=     s    "Fz#GetQuickReplyMessagesRequest._bytesc             C   sh   |j  }|j  }|d@ rN|j   g }x,t|j  D ]}|j  }|j| q2W nd }|j }| |||dS )NrZ   )r   ro   r   )r^   r   r   rC   )rD   rE   ra   r   r   r8   r   rp   r5   r5   r6   rG     s    z(GetQuickReplyMessagesRequest.from_reader)N)rH   rI   rJ   rK   rL   rN   r   r   r7   r:   r=   rO   rG   r5   r5   r5   r6   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 )GetRecentLocationsRequesti@*pl   ^h) r   )r1   r	  ro   c             C   s   || _ || _|| _dS )z
        :returns messages.Messages: Instance of either Messages, MessagesSlice, ChannelMessages, MessagesNotModified.
        N)r1   r	  ro   )r4   r1   r	  ro   r5   r5   r6   r7   .  s    z"GetRecentLocationsRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY   6  s    z!GetRecentLocationsRequest.resolvec             C   s*   dt | jtr| jj n| j| j| jdS )Nr  )r8   r1   r	  ro   )r9   r1   r   r:   r	  ro   )r4   r5   r5   r6   r:   9  s    z!GetRecentLocationsRequest.to_dictc             C   s,   dj d| jj tjd| jtjd| jfS )Nr;   s   @*pz<iz<q)r<   r1   r=   r?   r@   r	  ro   )r4   r5   r5   r6   r=   A  s
    z GetRecentLocationsRequest._bytesc             C   s&   |j  }|j }|j }| |||dS )N)r1   r	  ro   )rA   r^   rC   )rD   rE   rF   r  rp   r5   r5   r6   rG   I  s    z%GetRecentLocationsRequest.from_readerN)rH   rI   rJ   rK   rL   rN   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r  *  s   r  c               @   s@   e Zd ZdZdZeedddZdd Zdd	 Ze	d
d Z
dS )GetRecentReactionsRequestiF9l   $[ )r	  ro   c             C   s   || _ || _dS )zb
        :returns messages.Reactions: Instance of either ReactionsNotModified, Reactions.
        N)r	  ro   )r4   r	  ro   r5   r5   r6   r7   U  s    z"GetRecentReactionsRequest.__init__c             C   s   d| j | jdS )Nr  )r8   r	  ro   )r	  ro   )r4   r5   r5   r6   r:   \  s    z!GetRecentReactionsRequest.to_dictc             C   s$   dj dtjd| jtjd| jfS )Nr;   s   F9z<iz<q)r<   r?   r@   r	  ro   )r4   r5   r5   r6   r=   c  s    z GetRecentReactionsRequest._bytesc             C   s   |j  }|j }| ||dS )N)r	  ro   )r^   rC   )rD   rE   r  rp   r5   r5   r6   rG   j  s    z%GetRecentReactionsRequest.from_readerN)rH   rI   rJ   rK   rL   rN   r7   r:   r=   rO   rG   r5   r5   r5   r6   r  Q  s   r  c               @   sF   e Zd ZdZdZdeee dddZdd Z	d	d
 Z
edd ZdS )GetRecentStickersRequestl   ;@R; l   n N)ro   r|   c             C   s   || _ || _dS )zq
        :returns messages.RecentStickers: Instance of either RecentStickersNotModified, RecentStickers.
        N)ro   r|   )r4   ro   r|   r5   r5   r6   r7   u  s    z!GetRecentStickersRequest.__init__c             C   s   d| j | jdS )Nr  )r8   ro   r|   )ro   r|   )r4   r5   r5   r6   r:   |  s    z GetRecentStickersRequest.to_dictc             C   s:   dj dtjd| jd ks | jdkr$dndtjd| jfS )Nr;   s   ;@z<IFr   rZ   z<q)r<   r?   r@   r|   ro   )r4   r5   r5   r6   r=     s    "zGetRecentStickersRequest._bytesc             C   s(   |j  }t|d@ }|j }| ||dS )NrZ   )ro   r|   )r^   r_   rC   )rD   rE   ra   r}   rp   r5   r5   r6   rG     s    z$GetRecentStickersRequest.from_reader)N)rH   rI   rJ   rK   rL   rN   r   r_   r7   r:   r=   rO   rG   r5   r5   r5   r6   r  q  s   r  c            
   @   sZ   e Zd ZdZdZd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 )GetRepliesRequesti"l   ^h) r   )	r1   rR   r  r   r\  r	  r   r]  ro   c
       
      C   s:   || _ || _|| _|| _|| _|| _|| _|| _|	| _dS )z
        :returns messages.Messages: Instance of either Messages, MessagesSlice, ChannelMessages, MessagesNotModified.
        N)	r1   rR   r  r   r\  r	  r   r]  ro   )
r4   r1   rR   r  r   r\  r	  r   r]  ro   r5   r5   r6   r7     s    zGetRepliesRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY     s    zGetRepliesRequest.resolvec             C   sB   dt | jtr| jj n| j| j| j| j| j| j| j	| j
| jd
S )Nr  )
r8   r1   rR   r  r   r\  r	  r   r]  ro   )r9   r1   r   r:   rR   r  r   r\  r	  r   r]  ro   )r4   r5   r5   r6   r:     s    zGetRepliesRequest.to_dictc             C   sr   dj d| jj tjd| jtjd| j| j| jtjd| j	tjd| j
tjd| jtjd| jtjd| jf
S )Nr;   s   "z<iz<q)r<   r1   r=   r?   r@   rR   r  r   r   r\  r	  r   r]  ro   )r4   r5   r5   r6   r=     s    
zGetRepliesRequest._bytesc             C   sb   |j  }|j }|j }|j }|j }|j }|j }|j }	|j }
| ||||||||	|
d	S )N)	r1   rR   r  r   r\  r	  r   r]  ro   )rA   r^   r   rC   )rD   rE   rF   rc   r  r&  r^  r  r   r_  rp   r5   r5   r6   rG     s    zGetRepliesRequest.from_readerN)rH   rI   rJ   rK   rL   rN   r   r	   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r    s   "r  c               @   sZ   e Zd ZdZdZdee edeeee dddZ	dd	 Z
d
d Zdd Zedd ZdS )GetSavedDialogsRequestiҁSi~KaNr   )r   r  r7  r	  ro   r8  c             C   s(   || _ || _|| _|| _|| _|| _dS )z~
        :returns messages.SavedDialogs: Instance of either SavedDialogs, SavedDialogsSlice, SavedDialogsNotModified.
        N)r   r  r7  r	  ro   r8  )r4   r   r  r7  r	  ro   r8  r5   r5   r6   r7     s    zGetSavedDialogsRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r7  )r4   rW   rX   r5   r5   r6   rY     s    zGetSavedDialogsRequest.resolvec             C   s6   d| j | jt| jtr | jj n| j| j| j| jdS )Nr  )r8   r   r  r7  r	  ro   r8  )	r   r  r9   r7  r   r:   r	  ro   r8  )r4   r5   r5   r6   r:     s    zGetSavedDialogsRequest.to_dictc          
   C   sd   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 tjd| j	tjd| j
fS )	Nr;   s   ҁSz<IFr   rZ   z<iz<q)r<   r?   r@   r8  r   r   r  r7  r=   r	  ro   )r4   r5   r5   r6   r=     s    "
zGetSavedDialogsRequest._bytesc       	      C   sP   |j  }t|d@ }|j }|j  }|j }|j  }|j }| ||||||dS )NrZ   )r   r  r7  r	  ro   r8  )r^   r_   r   rA   rC   )	rD   rE   ra   r:  r&  r  r<  r  rp   r5   r5   r6   rG     s    z"GetSavedDialogsRequest.from_reader)N)rH   rI   rJ   rK   rL   r   r	   rN   r_   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r    s   "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 )GetSavedGifsRequesti5\l   aM )ro   c             C   s
   || _ dS )zb
        :returns messages.SavedGifs: Instance of either SavedGifsNotModified, SavedGifs.
        N)ro   )r4   ro   r5   r5   r6   r7     s    zGetSavedGifsRequest.__init__c             C   s   d| j dS )Nr  )r8   ro   )ro   )r4   r5   r5   r6   r:     s    zGetSavedGifsRequest.to_dictc             C   s   dj dtjd| jfS )Nr;   s   5\z<q)r<   r?   r@   ro   )r4   r5   r5   r6   r=     s    zGetSavedGifsRequest._bytesc             C   s   |j  }| |dS )N)ro   )rC   )rD   rE   rp   r5   r5   r6   rG     s    zGetSavedGifsRequest.from_readerN)rH   rI   rJ   rK   rL   rN   r7   r:   r=   rO   rG   r5   r5   r5   r6   r    s   r  c            	   @   sX   e Zd ZdZdZd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 )GetSavedHistoryRequestiMA=l   ^h) r   )r1   r  r   r\  r	  r   r]  ro   c	       	      C   s4   || _ || _|| _|| _|| _|| _|| _|| _dS )z
        :returns messages.Messages: Instance of either Messages, MessagesSlice, ChannelMessages, MessagesNotModified.
        N)r1   r  r   r\  r	  r   r]  ro   )	r4   r1   r  r   r\  r	  r   r]  ro   r5   r5   r6   r7   '  s    zGetSavedHistoryRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY   4  s    zGetSavedHistoryRequest.resolvec          
   C   s>   dt | jtr| jj n| j| j| j| j| j| j| j	| j
d	S )Nr  )	r8   r1   r  r   r\  r	  r   r]  ro   )r9   r1   r   r:   r  r   r\  r	  r   r]  ro   )r4   r5   r5   r6   r:   7  s    zGetSavedHistoryRequest.to_dictc             C   sf   dj d| jj tjd| j| j| jtjd| jtjd| j	tjd| j
tjd| jtjd| jf	S )Nr;   s   MA=z<iz<q)r<   r1   r=   r?   r@   r  r   r   r\  r	  r   r]  ro   )r4   r5   r5   r6   r=   D  s    
zGetSavedHistoryRequest._bytesc       
   
   C   sX   |j  }|j }|j }|j }|j }|j }|j }|j }	| ||||||||	dS )N)r1   r  r   r\  r	  r   r]  ro   )rA   r^   r   rC   )
rD   rE   rF   r  r&  r^  r  r   r_  rp   r5   r5   r6   rG   Q  s    z"GetSavedHistoryRequest.from_readerN)rH   rI   rJ   rK   rL   rN   r   r	   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r  #  s    r  c               @   sN   e Zd ZdZdZdeed dddZdd	 Zd
d Z	dd Z
edd ZdS )GetSavedReactionTagsRequesti[76l   [6G Nr   )ro   r1   c             C   s   || _ || _dS )zz
        :returns messages.SavedReactionTags: Instance of either SavedReactionTagsNotModified, SavedReactionTags.
        N)ro   r1   )r4   ro   r1   r5   r5   r6   r7   b  s    z$GetSavedReactionTagsRequest.__init__c                s$   | j r |j|j| j I d H | _ d S )N)r1   rU   rV   )r4   rW   rX   r5   r5   r6   rY   i  s    z#GetSavedReactionTagsRequest.resolvec             C   s&   d| j t| jtr| jj n| jdS )Nr  )r8   ro   r1   )ro   r9   r1   r   r:   )r4   r5   r5   r6   r:   m  s    z#GetSavedReactionTagsRequest.to_dictc             C   sZ   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| jj tjd| jfS )Nr;   s   [76z<IFr   rZ   z<q)r<   r?   r@   r1   r=   ro   )r4   r5   r5   r6   r=   t  s
    " z"GetSavedReactionTagsRequest._bytesc             C   s2   |j  }|d@ r|j }nd }|j }| ||dS )NrZ   )ro   r1   )r^   rA   rC   )rD   rE   ra   rF   rp   r5   r5   r6   rG   |  s    
z'GetSavedReactionTagsRequest.from_reader)N)rH   rI   rJ   rK   rL   rN   r   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   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 )GetScheduledHistoryRequestl   v,j l   ^h) r   )r1   ro   c             C   s   || _ || _dS )z
        :returns messages.Messages: Instance of either Messages, MessagesSlice, ChannelMessages, MessagesNotModified.
        N)r1   ro   )r4   r1   ro   r5   r5   r6   r7     s    z#GetScheduledHistoryRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY     s    z"GetScheduledHistoryRequest.resolvec             C   s&   dt | jtr| jj n| j| jdS )Nr  )r8   r1   ro   )r9   r1   r   r:   ro   )r4   r5   r5   r6   r:     s    z"GetScheduledHistoryRequest.to_dictc             C   s    dj d| jj tjd| jfS )Nr;   s   vz<q)r<   r1   r=   r?   r@   ro   )r4   r5   r5   r6   r=     s    z!GetScheduledHistoryRequest._bytesc             C   s   |j  }|j }| ||dS )N)r1   ro   )rA   rC   )rD   rE   rF   rp   r5   r5   r6   rG     s    z&GetScheduledHistoryRequest.from_readerN)rH   rI   rJ   rK   rL   rN   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   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 )GetScheduledMessagesRequestl   dv{ l   ^h) r   )r1   r   c             C   s   || _ || _dS )z
        :returns messages.Messages: Instance of either Messages, MessagesSlice, ChannelMessages, MessagesNotModified.
        N)r1   r   )r4   r1   r   r5   r5   r6   r7     s    z$GetScheduledMessagesRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY     s    z#GetScheduledMessagesRequest.resolvec             C   s<   dt | jtr| jj n| j| jd kr*g n| jd d  dS )Nr  )r8   r1   r   )r9   r1   r   r:   r   )r4   r5   r5   r6   r:     s    z#GetScheduledMessagesRequest.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   ds   ĵz<ic             s   s   | ]}t jd |V  qdS )z<iN)r?   r@   )r   r   r5   r5   r6   r     s    z5GetScheduledMessagesRequest._bytes.<locals>.<genexpr>)r<   r1   r=   r?   r@   r   r   )r4   r5   r5   r6   r=     s    z"GetScheduledMessagesRequest._bytesc             C   sH   |j  }|j  g }x&t|j D ]}|j }|j| q"W | ||dS )N)r1   r   )rA   r^   r   r   )rD   rE   rF   r   r8   r   r5   r5   r6   rG     s    z'GetScheduledMessagesRequest.from_readerN)rH   rI   rJ   rK   rL   r   rN   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r    s   r  c               @   sZ   e Zd ZdZdZdded ed ee dddZd	d
 Z	dd Z
dd Zedd ZdS )GetSearchCountersRequesti in<kNr   r'   )r1   filterssaved_peer_idr   c             C   s   || _ || _|| _|| _dS )zY
        :returns Vector<messages.SearchCounter>: This type has no constructors.
        N)r1   r  r  r   )r4   r1   r  r  r   r5   r5   r6   r7     s    z!GetSearchCountersRequest.__init__c                s>   |j |j| jI d H | _| jr:|j |j| jI d H | _d S )N)rU   rV   r1   r  )r4   rW   rX   r5   r5   r6   rY     s    z GetSearchCountersRequest.resolvec             C   s\   dt | jtr| jj n| j| jd kr*g ndd | jD t | jtrN| jj n| j| jdS )Nr  c             S   s"   g | ]}t |tr|j n|qS r5   )r9   r   r:   )r   r   r5   r5   r6   r     s    z4GetSearchCountersRequest.to_dict.<locals>.<listcomp>)r8   r1   r  r  r   )r9   r1   r   r:   r  r  r   )r4   r5   r5   r6   r:     s
    z GetSearchCountersRequest.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j | jd ks`| jdkrddn| jj | jd ks| jdkrdntjd| jd	tjdt| jdj d
d | jD fS )Nr;   s    z<IFr   r\   rZ   z<is   ĵc             s   s   | ]}|j  V  qd S )N)r=   )r   r   r5   r5   r6   r     s    z2GetSearchCountersRequest._bytes.<locals>.<genexpr>)	r<   r?   r@   r  r   r1   r=   r   r  )r4   r5   r5   r6   r=     s    > $zGetSearchCountersRequest._bytesc       	      C   s   |j  }|j }|d@ r"|j }nd }|d@ r8|j  }nd }|j   g }x&t|j  D ]}|j }|j| qVW | ||||dS )Nr\   rZ   )r1   r  r  r   )r^   rA   r   r   )	rD   rE   ra   rF   _saved_peer_idr   _filtersr8   r   r5   r5   r6   rG     s    

z$GetSearchCountersRequest.from_reader)NN)rH   rI   rJ   rK   rL   r   r   rN   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r    s   "		
r  c               @   sX   e Zd ZdZdZdddeee ed dddZd	d
 Z	dd Z
dd Zedd ZdS )GetSearchResultsCalendarRequestijl   d% Nr   r'   )r1   filterr  r   r  c             C   s"   || _ || _|| _|| _|| _dS )z]
        :returns messages.SearchResultsCalendar: Instance of SearchResultsCalendar.
        N)r1   r  r  r   r  )r4   r1   r  r  r   r  r5   r5   r6   r7     s
    z(GetSearchResultsCalendarRequest.__init__c                s>   |j |j| jI d H | _| jr:|j |j| jI d H | _d S )N)rU   rV   r1   r  )r4   rW   rX   r5   r5   r6   rY     s    z'GetSearchResultsCalendarRequest.resolvec             C   s^   dt | jtr| jj n| jt | jtr2| jj n| j| j| jt | jtrT| jj n| jdS )Nr  )r8   r1   r  r  r   r  )r9   r1   r   r:   r  r  r   r  )r4   r5   r5   r6   r:   !  s    z'GetSearchResultsCalendarRequest.to_dictc          	   C   st   dj dtjd| jd ks | jdkr$dnd| jj | jd ksD| jdkrHdn| jj | jj tjd| j| j| j	fS )Nr;   s   jz<IFr   r\   z<i)
r<   r?   r@   r  r1   r=   r  r  r   r   )r4   r5   r5   r6   r=   +  s    " z&GetSearchResultsCalendarRequest._bytesc             C   sP   |j  }|j }|d@ r"|j }nd }|j }|j  }|j }| |||||dS )Nr\   )r1   r  r  r   r  )r^   rA   r   )rD   rE   ra   rF   r  _filterr  r&  r5   r5   r6   rG   6  s    
z+GetSearchResultsCalendarRequest.from_reader)N)rH   rI   rJ   rK   rL   rN   r   r	   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r    s    

r  c               @   sT   e Zd ZdZdZdddeeed dddZd	d
 Zdd Z	dd Z
edd ZdS ) GetSearchResultsPositionsRequestl   /8 l   p2 Nr   r'   )r1   r  r  r	  r  c             C   s"   || _ || _|| _|| _|| _dS )z_
        :returns messages.SearchResultsPositions: Instance of SearchResultsPositions.
        N)r1   r  r  r	  r  )r4   r1   r  r  r	  r  r5   r5   r6   r7   I  s
    z)GetSearchResultsPositionsRequest.__init__c                s>   |j |j| jI d H | _| jr:|j |j| jI d H | _d S )N)rU   rV   r1   r  )r4   rW   rX   r5   r5   r6   rY   S  s    z(GetSearchResultsPositionsRequest.resolvec             C   s^   dt | jtr| jj n| jt | jtr2| jj n| j| j| jt | jtrT| jj n| jdS )Nr  )r8   r1   r  r  r	  r  )r9   r1   r   r:   r  r  r	  r  )r4   r5   r5   r6   r:   X  s    z(GetSearchResultsPositionsRequest.to_dictc          
   C   sv   dj dtjd| jd ks | jdkr$dnd| jj | jd ksD| jdkrHdn| jj | jj tjd| jtjd| jfS )Nr;   s   /z<IFr   r\   z<i)	r<   r?   r@   r  r1   r=   r  r  r	  )r4   r5   r5   r6   r=   b  s    " z'GetSearchResultsPositionsRequest._bytesc             C   sP   |j  }|j }|d@ r"|j }nd }|j }|j  }|j  }| |||||dS )Nr\   )r1   r  r  r	  r  )r^   rA   )rD   rE   ra   rF   r  r  r  r  r5   r5   r6   rG   m  s    
z,GetSearchResultsPositionsRequest.from_reader)N)rH   rI   rJ   rK   rL   rN   r   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r  E  s   

r  c               @   s0   e Zd ZdZdZdd Zdd Zedd Zd	S )
GetSplitRangesRequesti~i%[c             C   s   ddiS )Nr8   r  r5   )r4   r5   r5   r6   r:     s    zGetSplitRangesRequest.to_dictc             C   s
   dj dS )Nr;      ~)r  )r<   )r4   r5   r5   r6   r=     s    zGetSplitRangesRequest._bytesc             C   s   |  S )Nr5   )rD   rE   r5   r5   r6   rG     s    z!GetSplitRangesRequest.from_readerN)	rH   rI   rJ   rK   rL   r:   r=   rO   rG   r5   r5   r5   r6   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 )GetSponsoredMessagesRequestl   9t7 iiAr   )r1   c             C   s
   || _ dS )zt
        :returns messages.SponsoredMessages: Instance of either SponsoredMessages, SponsoredMessagesEmpty.
        N)r1   )r4   r1   r5   r5   r6   r7     s    z$GetSponsoredMessagesRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY     s    z#GetSponsoredMessagesRequest.resolvec             C   s"   dt | jtr| jj n| jdS )Nr  )r8   r1   )r9   r1   r   r:   )r4   r5   r5   r6   r:     s    z#GetSponsoredMessagesRequest.to_dictc             C   s   dj d| jj fS )Nr;   s   9қ)r<   r1   r=   )r4   r5   r5   r6   r=     s    z"GetSponsoredMessagesRequest._bytesc             C   s   |j  }| |dS )N)r1   )rA   )rD   rE   rF   r5   r5   r6   rG     s    z'GetSponsoredMessagesRequest.from_readerN)rH   rI   rJ   rK   rL   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r    s   r  c               @   s@   e Zd ZdZdZdedddZdd Zd	d
 Ze	dd Z
dS )GetStickerSetRequestl   tlA l   ZJ6 r"   )
stickersetro   c             C   s   || _ || _dS )ze
        :returns messages.StickerSet: Instance of either StickerSet, StickerSetNotModified.
        N)r  ro   )r4   r  ro   r5   r5   r6   r7     s    zGetStickerSetRequest.__init__c             C   s&   dt | jtr| jj n| j| jdS )Nr  )r8   r  ro   )r9   r  r   r:   ro   )r4   r5   r5   r6   r:     s    zGetStickerSetRequest.to_dictc             C   s    dj d| jj tjd| jfS )Nr;   s   tz<i)r<   r  r=   r?   r@   ro   )r4   r5   r5   r6   r=     s    zGetStickerSetRequest._bytesc             C   s   |j  }|j }| ||dS )N)r  ro   )rA   r^   )rD   rE   _stickersetrp   r5   r5   r6   rG     s    z GetStickerSetRequest.from_readerN)rH   rI   rJ   rK   rL   rN   r7   r:   r=   rO   rG   r5   r5   r5   r6   r    s   r  c               @   s@   e Zd ZdZdZeedddZdd Zdd	 Z	e
d
d ZdS )GetStickersRequestl   SK+ l   9w. )emoticonro   c             C   s   || _ || _dS )z_
        :returns messages.Stickers: Instance of either StickersNotModified, Stickers.
        N)r  ro   )r4   r  ro   r5   r5   r6   r7     s    zGetStickersRequest.__init__c             C   s   d| j | jdS )Nr  )r8   r  ro   )r  ro   )r4   r5   r5   r6   r:     s    zGetStickersRequest.to_dictc             C   s"   dj d| j| jtjd| jfS )Nr;   s   ӥz<q)r<   r>   r  r?   r@   ro   )r4   r5   r5   r6   r=     s    
zGetStickersRequest._bytesc             C   s   |j  }|j }| ||dS )N)r  ro   )r`   rC   )rD   rE   	_emoticonrp   r5   r5   r6   rG     s    zGetStickersRequest.from_readerN)rH   rI   rJ   rK   rL   rf   rN   r7   r:   r=   rO   rG   r5   r5   r5   r6   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 )
 GetSuggestedDialogFiltersRequestl   ,T9E i9l){c             C   s   ddiS )Nr8   r  r5   )r4   r5   r5   r6   r:     s    z(GetSuggestedDialogFiltersRequest.to_dictc             C   s
   dj dS )Nr;      ,Ԝ)r  )r<   )r4   r5   r5   r6   r=     s    z'GetSuggestedDialogFiltersRequest._bytesc             C   s   |  S )Nr5   )rD   rE   r5   r5   r6   rG     s    z,GetSuggestedDialogFiltersRequest.from_readerN)	rH   rI   rJ   rK   rL   r:   r=   rO   rG   r5   r5   r5   r6   r    s
   r  c               @   s@   e Zd ZdZdZeedddZdd Zdd	 Ze	d
d Z
dS )GetTopReactionsRequestl   %w l   $[ )r	  ro   c             C   s   || _ || _dS )zb
        :returns messages.Reactions: Instance of either ReactionsNotModified, Reactions.
        N)r	  ro   )r4   r	  ro   r5   r5   r6   r7     s    zGetTopReactionsRequest.__init__c             C   s   d| j | jdS )Nr  )r8   r	  ro   )r	  ro   )r4   r5   r5   r6   r:     s    zGetTopReactionsRequest.to_dictc             C   s$   dj dtjd| jtjd| jfS )Nr;   s   %z<iz<q)r<   r?   r@   r	  ro   )r4   r5   r5   r6   r=     s    zGetTopReactionsRequest._bytesc             C   s   |j  }|j }| ||dS )N)r	  ro   )r^   rC   )rD   rE   r  rp   r5   r5   r6   rG     s    z"GetTopReactionsRequest.from_readerN)rH   rI   rJ   rK   rL   rN   r7   r:   r=   rO   rG   r5   r5   r5   r6   r    s   r  c            	   @   sX   e Zd ZdZdZdd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 )GetUnreadMentionsRequestl   gb l   ^h) Nr   )r1   r  r\  r	  r   r]  r   c             C   s.   || _ || _|| _|| _|| _|| _|| _dS )z
        :returns messages.Messages: Instance of either Messages, MessagesSlice, ChannelMessages, MessagesNotModified.
        N)r1   r  r\  r	  r   r]  r   )r4   r1   r  r\  r	  r   r]  r   r5   r5   r6   r7   %  s    z!GetUnreadMentionsRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY   1  s    z GetUnreadMentionsRequest.resolvec          	   C   s:   dt | jtr| jj n| j| j| j| j| j| j| j	dS )Nr  )r8   r1   r  r\  r	  r   r]  r   )
r9   r1   r   r:   r  r\  r	  r   r]  r   )r4   r5   r5   r6   r:   4  s    z GetUnreadMentionsRequest.to_dictc             C   s   dj dtjd| jd ks | jdkr$dnd| jj | jd ksD| jdkrHdntjd| jtjd| jtjd| jtjd| jtjd| j	tjd| j
f	S )Nr;   s   z<IFr   rZ   z<i)r<   r?   r@   r   r1   r=   r  r\  r	  r   r]  )r4   r5   r5   r6   r=   @  s    "$zGetUnreadMentionsRequest._bytesc       
   	   C   sd   |j  }|j }|d@ r"|j  }nd }|j  }|j  }|j  }|j  }|j  }	| ||||||	|dS )NrZ   )r1   r  r\  r	  r   r]  r   )r^   rA   )
rD   rE   ra   rF   r   r  r^  r  r   r_  r5   r5   r6   rG   M  s    
z$GetUnreadMentionsRequest.from_reader)N)rH   rI   rJ   rK   rL   rN   r   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r  !  s    r  c            	   @   sX   e Zd ZdZdZdd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 )GetUnreadReactionsRequesti[I#2l   ^h) Nr   )r1   r  r\  r	  r   r]  r   c             C   s.   || _ || _|| _|| _|| _|| _|| _dS )z
        :returns messages.Messages: Instance of either Messages, MessagesSlice, ChannelMessages, MessagesNotModified.
        N)r1   r  r\  r	  r   r]  r   )r4   r1   r  r\  r	  r   r]  r   r5   r5   r6   r7   b  s    z"GetUnreadReactionsRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY   n  s    z!GetUnreadReactionsRequest.resolvec          	   C   s:   dt | jtr| jj n| j| j| j| j| j| j| j	dS )Nr  )r8   r1   r  r\  r	  r   r]  r   )
r9   r1   r   r:   r  r\  r	  r   r]  r   )r4   r5   r5   r6   r:   q  s    z!GetUnreadReactionsRequest.to_dictc             C   s   dj dtjd| jd ks | jdkr$dnd| jj | jd ksD| jdkrHdntjd| jtjd| jtjd| jtjd| jtjd| j	tjd| j
f	S )Nr;   s   [I#2z<IFr   rZ   z<i)r<   r?   r@   r   r1   r=   r  r\  r	  r   r]  )r4   r5   r5   r6   r=   }  s    "$z GetUnreadReactionsRequest._bytesc       
   	   C   sd   |j  }|j }|d@ r"|j  }nd }|j  }|j  }|j  }|j  }|j  }	| ||||||	|dS )NrZ   )r1   r  r\  r	  r   r]  r   )r^   rA   )
rD   rE   ra   rF   r   r  r^  r  r   r_  r5   r5   r6   rG     s    
z%GetUnreadReactionsRequest.from_reader)N)rH   rI   rJ   rK   rL   rN   r   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r  ^  s    r  c               @   s@   e Zd ZdZdZeedddZdd Zdd	 Z	e
d
d ZdS )GetWebPageRequestl   - iT,)rT   ro   c             C   s   || _ || _dS )zA
        :returns messages.WebPage: Instance of WebPage.
        N)rT   ro   )r4   rT   ro   r5   r5   r6   r7     s    zGetWebPageRequest.__init__c             C   s   d| j | jdS )Nr  )r8   rT   ro   )rT   ro   )r4   r5   r5   r6   r:     s    zGetWebPageRequest.to_dictc             C   s"   dj d| j| jtjd| jfS )Nr;   s   z<i)r<   r>   rT   r?   r@   ro   )r4   r5   r5   r6   r=     s    
zGetWebPageRequest._bytesc             C   s   |j  }|j }| ||dS )N)rT   ro   )r`   r^   )rD   rE   re   rp   r5   r5   r6   rG     s    zGetWebPageRequest.from_readerN)rH   rI   rJ   rK   rL   rf   rN   r7   r:   r=   rO   rG   r5   r5   r5   r6   r    s   r  c               @   sJ   e Zd ZdZdZdeeed  dddZdd	 Z	d
d Z
edd ZdS )GetWebPagePreviewRequestiooWl   (E Nr&   )r   r   c             C   s   || _ || _dS )zO
        :returns messages.WebPagePreview: Instance of WebPagePreview.
        N)r   r   )r4   r   r   r5   r5   r6   r7     s    z!GetWebPagePreviewRequest.__init__c             C   s(   d| j | jd krg ndd | jD dS )Nr  c             S   s"   g | ]}t |tr|j n|qS r5   )r9   r   r:   )r   r   r5   r5   r6   r     s    z4GetWebPagePreviewRequest.to_dict.<locals>.<listcomp>)r8   r   r   )r   r   )r4   r5   r5   r6   r:     s    z GetWebPagePreviewRequest.to_dictc          
   C   s~   dj dtjd| jd ks | jdkr$dnd| j| j| jd ksF| jdkrJdn.dj dtjdt| jdj d	d
 | jD ffS )Nr;   s   ooWz<IFr   r   s   ĵz<ic             s   s   | ]}|j  V  qd S )N)r=   )r   r   r5   r5   r6   r     s    z2GetWebPagePreviewRequest._bytes.<locals>.<genexpr>)r<   r?   r@   r   r>   r   r   )r4   r5   r5   r6   r=     s
    "
zGetWebPagePreviewRequest._bytesc             C   s^   |j  }|j }|d@ rN|j   g }x,t|j  D ]}|j }|j| q2W nd }| ||dS )Nr   )r   r   )r^   r`   r   rA   r   )rD   rE   ra   r   r   r8   r   r5   r5   r6   rG     s    z$GetWebPagePreviewRequest.from_reader)N)rH   rI   rJ   rK   rL   rf   r   r   r7   r:   r=   rO   rG   r5   r5   r5   r6   r    s   r  c               @   sT   e Zd ZdZdZddee ee dddZdd	 Z	d
d Z
dd Zedd ZdS )HideAllChatJoinRequestsRequestl   tA l   * Nr   )r1   approvedr   c             C   s   || _ || _|| _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        N)r1   r  r   )r4   r1   r  r   r5   r5   r6   r7     s    z'HideAllChatJoinRequestsRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY     s    z&HideAllChatJoinRequestsRequest.resolvec             C   s*   dt | jtr| jj n| j| j| jdS )Nr  )r8   r1   r  r   )r9   r1   r   r:   r  r   )r4   r5   r5   r6   r:     s    z&HideAllChatJoinRequestsRequest.to_dictc             C   st   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j | jd ks`| jdkrddn
| j| jfS )Nr;   s   z<IFr   rZ   r[   )r<   r?   r@   r  r   r1   r=   r>   )r4   r5   r5   r6   r=     s
    >z%HideAllChatJoinRequestsRequest._bytesc             C   s@   |j  }t|d@ }|j }|d@ r.|j }nd }| |||dS )NrZ   r[   )r1   r  r   )r^   r_   rA   r`   )rD   rE   ra   	_approvedrF   r   r5   r5   r6   rG     s    
z*HideAllChatJoinRequestsRequest.from_reader)NN)rH   rI   rJ   rK   rL   r   r_   rf   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r    s   r  c               @   sP   e Zd ZdZdZdddee dddZd	d
 Zdd Z	dd Z
edd ZdS )HideChatJoinRequestRequestil   * Nr   r$   )r1   ri   r  c             C   s   || _ || _|| _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        N)r1   ri   r  )r4   r1   ri   r  r5   r5   r6   r7     s    z#HideChatJoinRequestRequest.__init__c                s8   |j |j| jI d H | _|j|j| jI d H | _d S )N)rU   rV   r1   rk   ri   )r4   rW   rX   r5   r5   r6   rY     s    z"HideChatJoinRequestRequest.resolvec             C   s@   dt | jtr| jj n| jt | jtr2| jj n| j| jdS )Nr  )r8   r1   ri   r  )r9   r1   r   r:   ri   r  )r4   r5   r5   r6   r:   "  s    z"HideChatJoinRequestRequest.to_dictc             C   s>   dj dtjd| jd ks | jdkr$dnd| jj | jj fS )Nr;   s   z<IFr   rZ   )r<   r?   r@   r  r1   r=   ri   )r4   r5   r5   r6   r=   *  s
    "z!HideChatJoinRequestRequest._bytesc             C   s2   |j  }t|d@ }|j }|j }| |||dS )NrZ   )r1   ri   r  )r^   r_   rA   )rD   rE   ra   r  rF   rm   r5   r5   r6   rG   2  s
    z&HideChatJoinRequestRequest.from_reader)N)rH   rI   rJ   rK   rL   r   r_   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   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 )HidePeerSettingsBarRequesti8Ol   gk r   )r1   c             C   s
   || _ dS )z?
        :returns Bool: This type has no constructors.
        N)r1   )r4   r1   r5   r5   r6   r7   @  s    z#HidePeerSettingsBarRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY   F  s    z"HidePeerSettingsBarRequest.resolvec             C   s"   dt | jtr| jj n| jdS )Nr  )r8   r1   )r9   r1   r   r:   )r4   r5   r5   r6   r:   I  s    z"HidePeerSettingsBarRequest.to_dictc             C   s   dj d| jj fS )Nr;   s   8O)r<   r1   r=   )r4   r5   r5   r6   r=   O  s    z!HidePeerSettingsBarRequest._bytesc             C   s   |j  }| |dS )N)r1   )rA   )rD   rE   rF   r5   r5   r6   rG   U  s    z&HidePeerSettingsBarRequest.from_readerN)rH   rI   rJ   rK   rL   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r  <  s   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 )ImportChatInviteRequestiPll   * )ro   c             C   s
   || _ dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        N)ro   )r4   ro   r5   r5   r6   r7   _  s    z ImportChatInviteRequest.__init__c             C   s   d| j dS )Nr  )r8   ro   )ro   )r4   r5   r5   r6   r:   e  s    zImportChatInviteRequest.to_dictc             C   s   dj d| j| jfS )Nr;   s   Pl)r<   r>   ro   )r4   r5   r5   r6   r=   k  s    zImportChatInviteRequest._bytesc             C   s   |j  }| |dS )N)ro   )r`   )rD   rE   rp   r5   r5   r6   rG   q  s    z#ImportChatInviteRequest.from_readerN)rH   rI   rJ   rK   rL   rf   r7   r:   r=   rO   rG   r5   r5   r5   r6   r  [  s   r  c               @   sJ   e Zd ZdZdZddedddZdd	 Zd
d Zdd Z	e
dd ZdS )InitHistoryImportRequesti;	4l   
5c r   r   )r1   filemedia_countc             C   s   || _ || _|| _dS )zM
        :returns messages.HistoryImport: Instance of HistoryImport.
        N)r1   r  r  )r4   r1   r  r  r5   r5   r6   r7   {  s    z!InitHistoryImportRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY     s    z InitHistoryImportRequest.resolvec             C   s@   dt | jtr| jj n| jt | jtr2| jj n| j| jdS )Nr  )r8   r1   r  r  )r9   r1   r   r:   r  r  )r4   r5   r5   r6   r:     s    z InitHistoryImportRequest.to_dictc             C   s(   dj d| jj | jj tjd| jfS )Nr;   s   ;	4z<i)r<   r1   r=   r  r?   r@   r  )r4   r5   r5   r6   r=     s
    zInitHistoryImportRequest._bytesc             C   s&   |j  }|j  }|j }| |||dS )N)r1   r  r  )rA   r^   )rD   rE   rF   _fileZ_media_countr5   r5   r6   rG     s    z$InitHistoryImportRequest.from_readerN)rH   rI   rJ   rK   rL   rN   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r  w  s   r  c               @   s@   e Zd ZdZdZdedddZdd Zd	d
 Ze	dd Z
dS )InstallStickerSetRequestl   `d i?gr"   )r  archivedc             C   s   || _ || _dS )z
        :returns messages.StickerSetInstallResult: Instance of either StickerSetInstallResultSuccess, StickerSetInstallResultArchive.
        N)r  r  )r4   r  r  r5   r5   r6   r7     s    z!InstallStickerSetRequest.__init__c             C   s&   dt | jtr| jj n| j| jdS )Nr  )r8   r  r  )r9   r  r   r:   r  )r4   r5   r5   r6   r:     s    z InstallStickerSetRequest.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  )r4   r5   r5   r6   r=     s    zInstallStickerSetRequest._bytesc             C   s   |j  }|j }| ||dS )N)r  r  )rA   r   )rD   rE   r  Z	_archivedr5   r5   r6   rG     s    z$InstallStickerSetRequest.from_readerN)rH   rI   rJ   rK   rL   r_   r7   r:   r=   rO   rG   r5   r5   r5   r6   r    s   r  c               @   sN   e Zd ZdZdZddee dddZdd	 Zd
d Z	dd Z
edd ZdS )MarkDialogUnreadRequestl   Y l   gk Nr   )r1   unreadc             C   s   || _ || _dS )z?
        :returns Bool: This type has no constructors.
        N)r1   r  )r4   r1   r  r5   r5   r6   r7     s    z MarkDialogUnreadRequest.__init__c                s   |j | jI d H | _d S )N)rx  r1   )r4   rW   rX   r5   r5   r6   rY     s    zMarkDialogUnreadRequest.resolvec             C   s&   dt | jtr| jj n| j| jdS )Nr  )r8   r1   r  )r9   r1   r   r:   r  )r4   r5   r5   r6   r:     s    zMarkDialogUnreadRequest.to_dictc             C   s6   dj dtjd| jd ks | jdkr$dnd| jj fS )Nr;   s   نz<IFr   rZ   )r<   r?   r@   r  r1   r=   )r4   r5   r5   r6   r=     s    "zMarkDialogUnreadRequest._bytesc             C   s(   |j  }t|d@ }|j }| ||dS )NrZ   )r1   r  )r^   r_   rA   )rD   rE   ra   Z_unreadrF   r5   r5   r6   rG     s    z#MarkDialogUnreadRequest.from_reader)N)rH   rI   rJ   rK   rL   r   r_   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r    s   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 )MigrateChatRequestl   SE l   * )rh   c             C   s
   || _ dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        N)rh   )r4   rh   r5   r5   r6   r7     s    zMigrateChatRequest.__init__c             C   s   d| j dS )Nr  )r8   rh   )rh   )r4   r5   r5   r6   r:     s    zMigrateChatRequest.to_dictc             C   s   dj dtjd| jfS )Nr;   s   Sz<q)r<   r?   r@   rh   )r4   r5   r5   r6   r=     s    zMigrateChatRequest._bytesc             C   s   |j  }| |dS )N)rh   )rC   )rD   rE   rl   r5   r5   r6   rG     s    zMigrateChatRequest.from_readerN)rH   rI   rJ   rK   rL   rN   r7   r:   r=   rO   rG   r5   r5   r5   r6   r    s   r  c               @   s^   e Zd ZdZdZddd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 )ProlongWebViewRequestl   a l   gk Nr   r$   r    )r1   r  query_idr   reply_tor   c             C   s(   || _ || _|| _|| _|| _|| _dS )z?
        :returns Bool: This type has no constructors.
        N)r1   r  r  r   r  r   )r4   r1   r  r  r   r  r   r5   r5   r6   r7     s    zProlongWebViewRequest.__init__c                sX   |j |j| jI d H | _|j|j| jI d H | _| jrT|j |j| jI d H | _d S )N)rU   rV   r1   rk   r  r   )r4   rW   rX   r5   r5   r6   rY     s    zProlongWebViewRequest.resolvec          	   C   sx   dt | jtr| jj n| jt | jtr2| jj n| j| j| jt | jtrT| jj n| jt | jtrn| jj n| jdS )Nr  )r8   r1   r  r  r   r  r   )	r9   r1   r   r:   r  r  r   r  r   )r4   r5   r5   r6   r:     s    zProlongWebViewRequest.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 | 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 fS )
Nr;   s   ذz<IFr   r   rZ   i    z<q)
r<   r?   r@   r   r  r   r1   r=   r  r  )r4   r5   r5   r6   r=     s    Z zProlongWebViewRequest._bytesc       	      C   sl   |j  }t|d@ }|j }|j }|j }|d@ r>|j }nd }|d@ rT|j }nd }| ||||||dS )Nr   rZ   i    )r1   r  r  r   r  r   )r^   r_   rA   rC   )	rD   rE   ra   r   rF   r  	_query_id	_reply_tor   r5   r5   r6   rG   *  s    

z!ProlongWebViewRequest.from_reader)NNN)rH   rI   rJ   rK   rL   rN   r   r_   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r    s   &r  c               @   sL   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dS )RateTranscribedAudioRequesti/l   gk r   )r1   rR   transcription_idgoodc             C   s   || _ || _|| _|| _dS )z?
        :returns Bool: This type has no constructors.
        N)r1   rR   r  r  )r4   r1   rR   r  r  r5   r5   r6   r7   A  s    z$RateTranscribedAudioRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY   J  s    z#RateTranscribedAudioRequest.resolvec             C   s.   dt | jtr| jj n| j| j| j| jdS )Nr  )r8   r1   rR   r  r  )r9   r1   r   r:   rR   r  r  )r4   r5   r5   r6   r:   M  s
    z#RateTranscribedAudioRequest.to_dictc             C   s8   dj d| jj tjd| jtjd| j| jr0dndfS )Nr;   s   /z<iz<qs   urs   7y)r<   r1   r=   r?   r@   rR   r  r  )r4   r5   r5   r6   r=   V  s    z"RateTranscribedAudioRequest._bytesc             C   s0   |j  }|j }|j }|j }| ||||dS )N)r1   rR   r  r  )rA   r^   rC   r   )rD   rE   rF   rc   Z_transcription_idZ_goodr5   r5   r6   rG   _  s
    z'RateTranscribedAudioRequest.from_readerN)rH   rI   rJ   rK   rL   rN   r_   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   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 )ReadDiscussionRequestl   )cn l   gk r   )r1   rR   read_max_idc             C   s   || _ || _|| _dS )z?
        :returns Bool: This type has no constructors.
        N)r1   rR   r  )r4   r1   rR   r  r5   r5   r6   r7   l  s    zReadDiscussionRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY   t  s    zReadDiscussionRequest.resolvec             C   s*   dt | jtr| jj n| j| j| jdS )Nr  )r8   r1   rR   r  )r9   r1   r   r:   rR   r  )r4   r5   r5   r6   r:   w  s    zReadDiscussionRequest.to_dictc             C   s,   dj d| jj tjd| jtjd| jfS )Nr;   s   1z<i)r<   r1   r=   r?   r@   rR   r  )r4   r5   r5   r6   r=     s
    zReadDiscussionRequest._bytesc             C   s&   |j  }|j }|j }| |||dS )N)r1   rR   r  )rA   r^   )rD   rE   rF   rc   Z_read_max_idr5   r5   r6   rG     s    z!ReadDiscussionRequest.from_readerN)rH   rI   rJ   rK   rL   rN   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r  h  s   r  c               @   sD   e Zd ZdZdZdee dddZdd Zd	d
 Z	e
dd ZdS )ReadEncryptedHistoryRequesti
iKl   gk r   )r1   r   c             C   s   || _ || _dS )z?
        :returns Bool: This type has no constructors.
        N)r1   r   )r4   r1   r   r5   r5   r6   r7     s    z$ReadEncryptedHistoryRequest.__init__c             C   s&   dt | jtr| jj n| j| jdS )Nr  )r8   r1   r   )r9   r1   r   r:   r   )r4   r5   r5   r6   r:     s    z#ReadEncryptedHistoryRequest.to_dictc             C   s   dj d| jj | j| jfS )Nr;   s   
iK)r<   r1   r=   r   r   )r4   r5   r5   r6   r=     s    z"ReadEncryptedHistoryRequest._bytesc             C   s   |j  }|j }| ||dS )N)r1   r   )rA   r   )rD   rE   rF   r   r5   r5   r6   rG     s    z'ReadEncryptedHistoryRequest.from_readerN)rH   rI   rJ   rK   rL   r   r	   r7   r:   r=   rO   rG   r5   r5   r5   r6   r    s   r  c               @   sB   e Zd ZdZdZee dddZdd Zdd	 Z	e
d
d ZdS )ReadFeaturedStickersRequesti&[l   gk )r   c             C   s
   || _ dS )z?
        :returns Bool: This type has no constructors.
        N)r   )r4   r   r5   r5   r6   r7     s    z$ReadFeaturedStickersRequest.__init__c             C   s"   d| j d krg n| j d d  dS )Nr  )r8   r   )r   )r4   r5   r5   r6   r:     s    z#ReadFeaturedStickersRequest.to_dictc             C   s2   dj d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<qN)r?   r@   )r   r   r5   r5   r6   r     s    z5ReadFeaturedStickersRequest._bytes.<locals>.<genexpr>)r<   r?   r@   r   r   )r4   r5   r5   r6   r=     s    z"ReadFeaturedStickersRequest._bytesc             C   s>   |j   g }x&t|j  D ]}|j }|j| qW | |dS )N)r   )r^   r   rC   r   )rD   rE   r   r8   r   r5   r5   r6   rG     s    z'ReadFeaturedStickersRequest.from_readerN)rH   rI   rJ   rK   rL   r   rN   r7   r:   r=   rO   rG   r5   r5   r5   r6   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 )ReadHistoryRequesti:m0l   n@ r   )r1   r   c             C   s   || _ || _dS )zS
        :returns messages.AffectedMessages: Instance of AffectedMessages.
        N)r1   r   )r4   r1   r   r5   r5   r6   r7     s    zReadHistoryRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY     s    zReadHistoryRequest.resolvec             C   s&   dt | jtr| jj n| j| jdS )Nr  )r8   r1   r   )r9   r1   r   r:   r   )r4   r5   r5   r6   r:     s    zReadHistoryRequest.to_dictc             C   s    dj d| jj tjd| jfS )Nr;   s   :m0z<i)r<   r1   r=   r?   r@   r   )r4   r5   r5   r6   r=     s    zReadHistoryRequest._bytesc             C   s   |j  }|j }| ||dS )N)r1   r   )rA   r^   )rD   rE   rF   r   r5   r5   r6   rG     s    zReadHistoryRequest.from_readerN)rH   rI   rJ   rK   rL   rN   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r    s   r  c               @   sN   e Zd ZdZdZddee dddZdd	 Zd
d Z	dd Z
edd ZdS )ReadMentionsRequestiM6iI,Nr   )r1   r   c             C   s   || _ || _dS )zQ
        :returns messages.AffectedHistory: Instance of AffectedHistory.
        N)r1   r   )r4   r1   r   r5   r5   r6   r7     s    zReadMentionsRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY     s    zReadMentionsRequest.resolvec             C   s&   dt | jtr| jj n| j| jdS )Nr  )r8   r1   r   )r9   r1   r   r:   r   )r4   r5   r5   r6   r:     s    zReadMentionsRequest.to_dictc             C   sZ   dj dtjd| jd ks | jdkr$dnd| jj | jd ksD| jdkrHdntjd| jfS )Nr;   s   M6z<IFr   rZ   z<i)r<   r?   r@   r   r1   r=   )r4   r5   r5   r6   r=     s
    "zReadMentionsRequest._bytesc             C   s2   |j  }|j }|d@ r"|j  }nd }| ||dS )NrZ   )r1   r   )r^   rA   )rD   rE   ra   rF   r   r5   r5   r6   rG     s    
zReadMentionsRequest.from_reader)N)rH   rI   rJ   rK   rL   r   rN   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r    s   r  c               @   sB   e Zd ZdZdZee dddZdd Zdd	 Z	e
d
d ZdS )ReadMessageContentsRequestiw?6l   n@ )r   c             C   s
   || _ dS )zS
        :returns messages.AffectedMessages: Instance of AffectedMessages.
        N)r   )r4   r   r5   r5   r6   r7      s    z#ReadMessageContentsRequest.__init__c             C   s"   d| j d krg n| j d d  dS )Nr  )r8   r   )r   )r4   r5   r5   r6   r:   &  s    z"ReadMessageContentsRequest.to_dictc             C   s2   dj ddtjdt| jdj dd | jD fS )Nr;   s   w?6s   ĵz<ic             s   s   | ]}t jd |V  qdS )z<iN)r?   r@   )r   r   r5   r5   r6   r   /  s    z4ReadMessageContentsRequest._bytes.<locals>.<genexpr>)r<   r?   r@   r   r   )r4   r5   r5   r6   r=   ,  s    z!ReadMessageContentsRequest._bytesc             C   s>   |j   g }x&t|j  D ]}|j  }|j| qW | |dS )N)r   )r^   r   r   )rD   rE   r   r8   r   r5   r5   r6   rG   2  s    z&ReadMessageContentsRequest.from_readerN)rH   rI   rJ   rK   rL   r   rN   r7   r:   r=   rO   rG   r5   r5   r5   r6   r    s   r  c               @   sN   e Zd ZdZdZddee dddZdd	 Zd
d Z	dd Z
edd ZdS )ReadReactionsRequestiTiI,Nr   )r1   r   c             C   s   || _ || _dS )zQ
        :returns messages.AffectedHistory: Instance of AffectedHistory.
        N)r1   r   )r4   r1   r   r5   r5   r6   r7   A  s    zReadReactionsRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY   H  s    zReadReactionsRequest.resolvec             C   s&   dt | jtr| jj n| j| jdS )Nr  )r8   r1   r   )r9   r1   r   r:   r   )r4   r5   r5   r6   r:   K  s    zReadReactionsRequest.to_dictc             C   sZ   dj dtjd| jd ks | jdkr$dnd| jj | jd ksD| jdkrHdntjd| jfS )Nr;   s   Tz<IFr   rZ   z<i)r<   r?   r@   r   r1   r=   )r4   r5   r5   r6   r=   R  s
    "zReadReactionsRequest._bytesc             C   s2   |j  }|j }|d@ r"|j  }nd }| ||dS )NrZ   )r1   r   )r^   rA   )rD   rE   ra   rF   r   r5   r5   r6   rG   Z  s    
z ReadReactionsRequest.from_reader)N)rH   rI   rJ   rK   rL   r   rN   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r  =  s   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 )ReceivedMessagesRequestiTl   x
 )r   c             C   s
   || _ dS )zX
        :returns Vector<ReceivedNotifyMessage>: This type has no constructors.
        N)r   )r4   r   r5   r5   r6   r7   j  s    z ReceivedMessagesRequest.__init__c             C   s   d| j dS )Nr  )r8   r   )r   )r4   r5   r5   r6   r:   p  s    zReceivedMessagesRequest.to_dictc             C   s   dj dtjd| jfS )Nr;   s   Tz<i)r<   r?   r@   r   )r4   r5   r5   r6   r=   v  s    zReceivedMessagesRequest._bytesc             C   s   |j  }| |dS )N)r   )r^   )rD   rE   r   r5   r5   r6   rG   |  s    z#ReceivedMessagesRequest.from_readerN)rH   rI   rJ   rK   rL   rN   r7   r:   r=   rO   rG   r5   r5   r5   r6   r  f  s   r  c               @   sJ   e Zd ZdZdZedddZdd Zdd	 Ze	d
d Z
edd ZdS )ReceivedQueueRequestifUl   ha1 )max_qtsc             C   s
   || _ dS )zG
        :returns Vector<long>: This type has no constructors.
        N)r  )r4   r  r5   r5   r6   r7     s    zReceivedQueueRequest.__init__c             C   s   d| j dS )Nr  )r8   r  )r  )r4   r5   r5   r6   r:     s    zReceivedQueueRequest.to_dictc             C   s   dj dtjd| jfS )Nr;   s   fUz<i)r<   r?   r@   r  )r4   r5   r5   r6   r=     s    zReceivedQueueRequest._bytesc             C   s   |j  }| |dS )N)r  )r^   )rD   rE   Z_max_qtsr5   r5   r6   rG     s    z ReceivedQueueRequest.from_readerc                s"    j    fddt j  D S )Nc                s   g | ]} j  qS r5   )rC   )r   r8   )rE   r5   r6   r     s    z4ReceivedQueueRequest.read_result.<locals>.<listcomp>)r^   r   )rE   r5   )rE   r6   read_result  s    z ReceivedQueueRequest.read_resultN)rH   rI   rJ   rK   rL   rN   r7   r:   r=   rO   rG   staticmethodr  r5   r5   r5   r6   r    s   r  c               @   sT   e Zd ZdZdZdeed ee dddZ	dd	 Z
d
d Zdd Zedd ZdS )ReorderPinnedDialogsRequesti7;l   gk Nr   )r9  orderforcec             C   s   || _ || _|| _dS )z?
        :returns Bool: This type has no constructors.
        N)r9  r  r  )r4   r9  r  r  r5   r5   r6   r7     s    z$ReorderPinnedDialogsRequest.__init__c                s4   g }x$| j D ]}|j|j|I d H  qW || _ d S )N)r  r   rx  )r4   rW   rX   r   r   r5   r5   r6   rY     s    z#ReorderPinnedDialogsRequest.resolvec             C   s,   d| j | jd krg ndd | jD | jdS )Nr  c             S   s"   g | ]}t |tr|j n|qS r5   )r9   r   r:   )r   r   r5   r5   r6   r     s    z7ReorderPinnedDialogsRequest.to_dict.<locals>.<listcomp>)r8   r9  r  r  )r9  r  r  )r4   r5   r5   r6   r:     s    z#ReorderPinnedDialogsRequest.to_dictc          	   C   s`   dj dtjd| jd ks | jdkr$dndtjd| jdtjdt| jdj d	d
 | jD fS )Nr;   s   7;z<IFr   rZ   z<is   ĵc             s   s   | ]}|j  V  qd S )N)r=   )r   r   r5   r5   r6   r     s    z5ReorderPinnedDialogsRequest._bytes.<locals>.<genexpr>)r<   r?   r@   r  r9  r   r  )r4   r5   r5   r6   r=     s
    "z"ReorderPinnedDialogsRequest._bytesc             C   s^   |j  }t|d@ }|j  }|j   g }x&t|j  D ]}|j }|j| q6W | |||dS )NrZ   )r9  r  r  )r^   r_   r   rA   r   )rD   rE   ra   _forcer;  _orderr8   r   r5   r5   r6   rG     s    z'ReorderPinnedDialogsRequest.from_reader)N)rH   rI   rJ   rK   rL   rN   r   r   r_   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r    s   r  c               @   sR   e Zd ZdZdZded ee dddZdd	 Z	d
d Z
dd Zedd ZdS ) ReorderPinnedSavedDialogsRequestl   e l   gk Nr   )r  r  c             C   s   || _ || _dS )z?
        :returns Bool: This type has no constructors.
        N)r  r  )r4   r  r  r5   r5   r6   r7     s    z)ReorderPinnedSavedDialogsRequest.__init__c                s4   g }x$| j D ]}|j|j|I d H  qW || _ d S )N)r  r   rx  )r4   rW   rX   r   r   r5   r5   r6   rY     s    z(ReorderPinnedSavedDialogsRequest.resolvec             C   s(   d| j d krg ndd | j D | jdS )Nr  c             S   s"   g | ]}t |tr|j n|qS r5   )r9   r   r:   )r   r   r5   r5   r6   r     s    z<ReorderPinnedSavedDialogsRequest.to_dict.<locals>.<listcomp>)r8   r  r  )r  r  )r4   r5   r5   r6   r:     s    z(ReorderPinnedSavedDialogsRequest.to_dictc             C   sT   dj dtjd| jd ks | jdkr$dnddtjdt| jdj d	d
 | jD fS )Nr;   s   eqz<IFr   rZ   s   ĵz<ic             s   s   | ]}|j  V  qd S )N)r=   )r   r   r5   r5   r6   r     s    z:ReorderPinnedSavedDialogsRequest._bytes.<locals>.<genexpr>)r<   r?   r@   r  r   r  )r4   r5   r5   r6   r=     s    "z'ReorderPinnedSavedDialogsRequest._bytesc             C   sT   |j  }t|d@ }|j   g }x&t|j  D ]}|j }|j| q.W | ||dS )NrZ   )r  r  )r^   r_   r   rA   r   )rD   rE   ra   r  r  r8   r   r5   r5   r6   rG     s    z,ReorderPinnedSavedDialogsRequest.from_reader)N)rH   rI   rJ   rK   rL   r   r   r_   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r    s   r  c               @   sB   e Zd ZdZdZee dddZdd Zdd	 Z	e
d
d ZdS )ReorderQuickRepliesRequesti3`l   gk )r  c             C   s
   || _ dS )z?
        :returns Bool: This type has no constructors.
        N)r  )r4   r  r5   r5   r6   r7     s    z#ReorderQuickRepliesRequest.__init__c             C   s"   d| j d krg n| j d d  dS )Nr  )r8   r  )r  )r4   r5   r5   r6   r:     s    z"ReorderQuickRepliesRequest.to_dictc             C   s2   dj ddtjdt| jdj dd | jD fS )Nr;   s   3`s   ĵz<ic             s   s   | ]}t jd |V  qdS )z<iN)r?   r@   )r   r   r5   r5   r6   r     s    z4ReorderQuickRepliesRequest._bytes.<locals>.<genexpr>)r<   r?   r@   r   r  )r4   r5   r5   r6   r=     s    z!ReorderQuickRepliesRequest._bytesc             C   s>   |j   g }x&t|j  D ]}|j  }|j| qW | |dS )N)r  )r^   r   r   )rD   rE   r  r8   r   r5   r5   r6   rG     s    z&ReorderQuickRepliesRequest.from_readerN)rH   rI   rJ   rK   rL   r   rN   r7   r:   r=   rO   rG   r5   r5   r5   r6   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 )ReorderStickerSetsRequesti9w3xl   gk N)r  r
  r  c             C   s   || _ || _|| _dS )z?
        :returns Bool: This type has no constructors.
        N)r  r
  r  )r4   r  r
  r  r5   r5   r6   r7   (  s    z"ReorderStickerSetsRequest.__init__c             C   s*   d| j d krg n| j d d  | j| jdS )Nr  )r8   r  r
  r  )r  r
  r  )r4   r5   r5   r6   r:   0  s    z!ReorderStickerSetsRequest.to_dictc             C   sp   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 dtjd	t| jdj d
d | jD fS )Nr;   s   9w3xz<IFr   rZ   r[   s   ĵz<ic             s   s   | ]}t jd |V  qdS )z<qN)r?   r@   )r   r   r5   r5   r6   r   <  s    z3ReorderStickerSetsRequest._bytes.<locals>.<genexpr>)r<   r?   r@   r
  r  r   r  )r4   r5   r5   r6   r=   8  s    >z ReorderStickerSetsRequest._bytesc             C   sb   |j  }t|d@ }t|d@ }|j   g }x&t|j  D ]}|j }|j| q:W | |||dS )NrZ   r[   )r  r
  r  )r^   r_   r   rC   r   )rD   rE   ra   r  r  r  r8   r   r5   r5   r6   rG   ?  s    z%ReorderStickerSetsRequest.from_reader)NN)rH   rI   rJ   rK   rL   r   rN   r   r_   r7   r:   r=   rO   rG   r5   r5   r5   r6   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 )ReportRequestl   /x l   8tY r   )r1   r   r  r   c             C   s   || _ || _|| _|| _dS )z
        :returns ReportResult: Instance of either ReportResultChooseOption, ReportResultAddComment, ReportResultReported.
        N)r1   r   r  r   )r4   r1   r   r  r   r5   r5   r6   r7   R  s    zReportRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY   [  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 )Nr  )r8   r1   r   r  r   )r9   r1   r   r:   r   r  r   )r4   r5   r5   r6   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   xs   ĵz<ic             s   s   | ]}t jd |V  qdS )z<iN)r?   r@   )r   r   r5   r5   r6   r   k  s    z'ReportRequest._bytes.<locals>.<genexpr>)
r<   r1   r=   r?   r@   r   r   r>   r  r   )r4   r5   r5   r6   r=   g  s    &
zReportRequest._bytesc             C   s\   |j  }|j  g }x&t|j D ]}|j }|j| q"W |j }|j }| ||||dS )N)r1   r   r  r   )rA   r^   r   r   rB   r`   )rD   rE   rF   r   r8   r   r  r   r5   r5   r6   rG   p  s    zReportRequest.from_readerN)rH   rI   rJ   rK   rL   r   rN   rM   rf   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r  N  s   			r  c               @   s>   e Zd ZdZdZddddZdd Zd	d
 Zedd Z	dS )ReportEncryptedSpamRequestiKl   gk r   )r1   c             C   s
   || _ dS )z?
        :returns Bool: This type has no constructors.
        N)r1   )r4   r1   r5   r5   r6   r7     s    z#ReportEncryptedSpamRequest.__init__c             C   s"   dt | jtr| jj n| jdS )Nr  )r8   r1   )r9   r1   r   r:   )r4   r5   r5   r6   r:     s    z"ReportEncryptedSpamRequest.to_dictc             C   s   dj d| jj fS )Nr;   s   K)r<   r1   r=   )r4   r5   r5   r6   r=     s    z!ReportEncryptedSpamRequest._bytesc             C   s   |j  }| |dS )N)r1   )rA   )rD   rE   rF   r5   r5   r6   rG     s    z&ReportEncryptedSpamRequest.from_readerN)
rH   rI   rJ   rK   rL   r7   r:   r=   rO   rG   r5   r5   r5   r6   r  ~  s   r  c               @   sT   e Zd ZdZdZddee ee dddZ	dd	 Z
d
d Zdd Zedd ZdS )ReportMessagesDeliveryRequestismZl   gk Nr   )r1   r   pushc             C   s   || _ || _|| _dS )z?
        :returns Bool: This type has no constructors.
        N)r1   r   r  )r4   r1   r   r  r5   r5   r6   r7     s    z&ReportMessagesDeliveryRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY     s    z%ReportMessagesDeliveryRequest.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  )r8   r1   r   r  )r9   r1   r   r:   r   r  )r4   r5   r5   r6   r:     s    z%ReportMessagesDeliveryRequest.to_dictc          	   C   s\   dj dtjd| jd ks | jdkr$dnd| jj dtjdt| jdj d	d
 | jD fS )Nr;   s   smZz<IFr   rZ   s   ĵz<ic             s   s   | ]}t jd |V  qdS )z<iN)r?   r@   )r   r   r5   r5   r6   r     s    z7ReportMessagesDeliveryRequest._bytes.<locals>.<genexpr>)r<   r?   r@   r  r1   r=   r   r   )r4   r5   r5   r6   r=     s
    "z$ReportMessagesDeliveryRequest._bytesc             C   s^   |j  }t|d@ }|j }|j   g }x&t|j  D ]}|j  }|j| q6W | |||dS )NrZ   )r1   r   r  )r^   r_   rA   r   r   )rD   rE   ra   Z_pushrF   r   r8   r   r5   r5   r6   rG     s    z)ReportMessagesDeliveryRequest.from_reader)N)rH   rI   rJ   rK   rL   r   rN   r   r_   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r    s   r  c               @   sJ   e Zd ZdZdZdeddddZdd Zd	d
 Zdd Z	e
dd ZdS )ReportReactionRequestivd?l   gk r   )r1   r   reaction_peerc             C   s   || _ || _|| _dS )z?
        :returns Bool: This type has no constructors.
        N)r1   r   r  )r4   r1   r   r  r5   r5   r6   r7     s    zReportReactionRequest.__init__c                s8   |j |j| jI d H | _|j |j| jI d H | _d S )N)rU   rV   r1   r  )r4   rW   rX   r5   r5   r6   rY     s    zReportReactionRequest.resolvec             C   s@   dt | jtr| jj n| j| jt | jtr6| jj n| jdS )Nr  )r8   r1   r   r  )r9   r1   r   r:   r   r  )r4   r5   r5   r6   r:     s    zReportReactionRequest.to_dictc             C   s(   dj d| jj tjd| j| jj fS )Nr;   s   vd?z<i)r<   r1   r=   r?   r@   r   r  )r4   r5   r5   r6   r=     s
    zReportReactionRequest._bytesc             C   s&   |j  }|j }|j  }| |||dS )N)r1   r   r  )rA   r^   )rD   rE   rF   r   Z_reaction_peerr5   r5   r6   rG     s    z!ReportReactionRequest.from_readerN)rH   rI   rJ   rK   rL   rN   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   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 )ReportSpamRequestl   + l   gk r   )r1   c             C   s
   || _ dS )z?
        :returns Bool: This type has no constructors.
        N)r1   )r4   r1   r5   r5   r6   r7     s    zReportSpamRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY     s    zReportSpamRequest.resolvec             C   s"   dt | jtr| jj n| jdS )Nr  )r8   r1   )r9   r1   r   r:   )r4   r5   r5   r6   r:     s    zReportSpamRequest.to_dictc             C   s   dj d| jj fS )Nr;   s   ے)r<   r1   r=   )r4   r5   r5   r6   r=     s    zReportSpamRequest._bytesc             C   s   |j  }| |dS )N)r1   )rA   )rD   rE   rF   r5   r5   r6   rG   	  s    zReportSpamRequest.from_readerN)rH   rI   rJ   rK   rL   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r    s   r  c               @   sB   e Zd ZdZdZdeedddZdd Zd	d
 Ze	dd Z
dS )ReportSponsoredMessageRequestii"#&N)r  r   c             C   s.   || _ |dk	r|ntjtjdddd| _dS )z
        :returns channels.SponsoredMessageReportResult: Instance of either SponsoredMessageReportResultChooseOption, SponsoredMessageReportResultAdsHidden, SponsoredMessageReportResultReported.
        Nr\   r   T)r   )r  rN   r   r   r   r   )r4   r  r   r5   r5   r6   r7     s    z&ReportSponsoredMessageRequest.__init__c             C   s   d| j | jdS )Nr  )r8   r  r   )r  r   )r4   r5   r5   r6   r:     s    z%ReportSponsoredMessageRequest.to_dictc             C   s    dj d| j| j| j| jfS )Nr;   s   )r<   r>   r   r  )r4   r5   r5   r6   r=   !  s    
z$ReportSponsoredMessageRequest._bytesc             C   s   |j  }|j  }| ||dS )N)r  r   )rB   )rD   rE   r   r  r5   r5   r6   rG   (  s    z)ReportSponsoredMessageRequest.from_reader)N)rH   rI   rJ   rK   rL   rM   r7   r:   r=   rO   rG   r5   r5   r5   r6   r    s   r  c            
   @   sj   e Zd ZdZdZdddeee ee ee ee ed ddd	Zd
d Z	dd Z
dd Zedd ZdS )RequestAppWebViewRequesti΋aSl   F'' Nr   r   r   )r1   r  platformrQ   compactr   start_paramtheme_paramsc	       	      C   s4   || _ || _|| _|| _|| _|| _|| _|| _dS )zG
        :returns WebViewResult: Instance of WebViewResultUrl.
        N)r1   r  r  rQ   r  r   r  r  )	r4   r1   r  r  rQ   r  r   r  r  r5   r5   r6   r7   3  s    z!RequestAppWebViewRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY   @  s    z RequestAppWebViewRequest.resolvec             C   sj   dt | jtr| jj n| jt | jtr2| jj n| j| j| j| j| j| j	t | j
tr`| j
j n| j
d	S )Nr  )	r8   r1   r  r  rQ   r  r   r  r  )r9   r1   r   r:   r  r  rQ   r  r   r  r  )r4   r5   r5   r6   r:   C  s    z RequestAppWebViewRequest.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d ks| jdkrdnd
B | jj	 | 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fS )Nr;   s   ΋aSz<IFr   rZ      r   r[   r\   )r<   r?   r@   rQ   r  r   r  r  r1   r=   r  r>   r  )r4   r5   r5   r6   r=   P  s    " zRequestAppWebViewRequest._bytesc          
   C   s   |j  }t|d@ }t|d@ }t|d@ }|j }|j }|d@ rN|j }nd }|d@ rd|j }	nd }	|j }
| |||
|||||	dS )NrZ   r  r   r[   r\   )r1   r  r  rQ   r  r   r  r  )r^   r_   rA   r`   )rD   rE   ra   rb   _compactr   rF   r  _start_param_theme_params	_platformr5   r5   r6   rG   [  s    

z$RequestAppWebViewRequest.from_reader)NNNNN)rH   rI   rJ   rK   rL   rf   r   r_   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r  /  s   2r  c               @   sL   e Zd ZdZdZddeedddZdd	 Zd
d Z	dd Z
edd ZdS )RequestEncryptionRequestl   C/l iz(mNr$   )ri   g_ar   c             C   s4   || _ || _|dk	r|ntjtjdddd| _dS )z
        :returns EncryptedChat: Instance of either EncryptedChatEmpty, EncryptedChatWaiting, EncryptedChatRequested, EncryptedChat, EncryptedChatDiscarded.
        Nr\   r   T)r   )ri   r  rN   r   r   r   r   )r4   ri   r  r   r5   r5   r6   r7   t  s    z!RequestEncryptionRequest.__init__c                s   |j |j| jI d H | _d S )N)rk   rV   ri   )r4   rW   rX   r5   r5   r6   rY   |  s    z RequestEncryptionRequest.resolvec             C   s*   dt | jtr| jj n| j| j| jdS )Nr  )r8   ri   r  r   )r9   ri   r   r:   r  r   )r4   r5   r5   r6   r:     s    z RequestEncryptionRequest.to_dictc             C   s*   dj d| jj tjd| j| j| jfS )Nr;   s   CMz<i)r<   ri   r=   r?   r@   r   r>   r  )r4   r5   r5   r6   r=     s
    zRequestEncryptionRequest._bytesc             C   s&   |j  }|j }|j }| |||dS )N)ri   r  r   )rA   r^   rB   )rD   rE   rm   r   Z_g_ar5   r5   r6   rG     s    z$RequestEncryptionRequest.from_reader)N)rH   rI   rJ   rK   rL   rM   rN   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r  p  s   r  c            	   @   sd   e Zd ZdZdZdddeee ee ee ed ddd	Zd
d Z	dd Z
dd Zedd ZdS )RequestMainWebViewRequestl   { l   F'' Nr   r$   r   )r1   r  r  r  r   r  r  c             C   s.   || _ || _|| _|| _|| _|| _|| _dS )zG
        :returns WebViewResult: Instance of WebViewResultUrl.
        N)r1   r  r  r  r   r  r  )r4   r1   r  r  r  r   r  r  r5   r5   r6   r7     s    z"RequestMainWebViewRequest.__init__c                s8   |j |j| jI d H | _|j|j| jI d H | _d S )N)rU   rV   r1   rk   r  )r4   rW   rX   r5   r5   r6   rY     s    z!RequestMainWebViewRequest.resolvec          
   C   sf   dt | jtr| jj n| jt | jtr2| jj n| j| j| j| j| jt | j	tr\| j	j n| j	dS )Nr  )r8   r1   r  r  r  r   r  r  )
r9   r1   r   r:   r  r  r  r   r  r  )r4   r5   r5   r6   r:     s    z!RequestMainWebViewRequest.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	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fS )
Nr;   s   {z<IFr   r  r   r[   rZ   )r<   r?   r@   r  r   r  r  r1   r=   r  r>   r  )r4   r5   r5   r6   r=     s    v" z RequestMainWebViewRequest._bytesc       
   	   C   sz   |j  }t|d@ }t|d@ }|j }|j }|d@ rB|j }nd }|d@ rX|j }nd }|j }	| |||	||||dS )Nr  r   r[   rZ   )r1   r  r  r  r   r  r  )r^   r_   rA   r`   )
rD   rE   ra   r  r   rF   r  r  r  r  r5   r5   r6   rG     s    

z%RequestMainWebViewRequest.from_reader)NNNN)rH   rI   rJ   rK   rL   rf   r   r_   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r    s   ,r  c               @   st   e Zd ZdZdZddeee ee ee ee ee ee ed d	ddZd	d
 Z	dd Z
dd Zedd ZdS )RequestSimpleWebViewRequestis>:Al   F'' Nr$   r   )	r  r  from_switch_webviewfrom_side_menur  r   rT   r  r  c
       
      C   s:   || _ || _|| _|| _|| _|| _|| _|| _|	| _dS )zG
        :returns WebViewResult: Instance of WebViewResultUrl.
        N)	r  r  r  r  r  r   rT   r  r  )
r4   r  r  r  r  r  r   rT   r  r  r5   r5   r6   r7     s    z$RequestSimpleWebViewRequest.__init__c                s   |j |j| jI d H | _d S )N)rk   rV   r  )r4   rW   rX   r5   r5   r6   rY     s    z#RequestSimpleWebViewRequest.resolvec             C   sX   dt | jtr| jj n| j| j| j| j| j| j| j	| j
t | jtrN| jj n| jd
S )Nr  )
r8   r  r  r  r  r  r   rT   r  r  )r9   r  r   r:   r  r  r  r  r   rT   r  r  )r4   r5   r5   r6   r:     s    z#RequestSimpleWebViewRequest.to_dictc          	   C   sT  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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 | jd ks| jdkrdn
| j| j| jd ks| jdkrdn
| j| j| j	d ks8| j	dkr<dn| j	j | j| jfS )Nr;   s   s>:Az<IFr   r[   r\   r  r   r   r   rZ   )r<   r?   r@   r  r  r  r   rT   r  r  r  r=   r>   r  )r4   r5   r5   r6   r=     s    "&$z"RequestSimpleWebViewRequest._bytesc             C   s   |j  }t|d@ }t|d@ }t|d@ }t|d@ }|j }|d@ rR|j }nd }|d@ rh|j }	nd }	|d@ r~|j }
nd }
|j }| ||||||||	|
d	S )	Nr[   r\   r  r   r   r   rZ   )	r  r  r  r  r  r   rT   r  r  )r^   r_   rA   r`   )rD   rE   ra   Z_from_switch_webviewZ_from_side_menur  r   r  re   r  r  r  r5   r5   r6   rG     s"    


z'RequestSimpleWebViewRequest.from_reader)NNNNNNN)rH   rI   rJ   rK   rL   rf   r   r_   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r    s   <r  c               @   s^   e Zd ZdZdZded 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 )RequestUrlAuthRequestiFiewNr   )r1   rR   rS   rT   c             C   s   || _ || _|| _|| _dS )z
        :returns UrlAuthResult: Instance of either UrlAuthResultRequest, UrlAuthResultAccepted, UrlAuthResultDefault.
        N)r1   rR   rS   rT   )r4   r1   rR   rS   rT   r5   r5   r6   r7   !  s    zRequestUrlAuthRequest.__init__c                s$   | j r |j|j| j I d H | _ d S )N)r1   rU   rV   )r4   rW   rX   r5   r5   r6   rY   *  s    zRequestUrlAuthRequest.resolvec             C   s.   dt | jtr| jj n| j| j| j| jdS )Nr  )r8   r1   rR   rS   rT   )r9   r1   r   r:   rR   rS   rT   )r4   r5   r5   r6   r:   .  s
    zRequestUrlAuthRequest.to_dictc             C   s  | j s| j d k	r0| js | jd k	r0| jst| jd k	st| j d ksD| j dkrl| jd ksX| jdkrl| jd kst| jdksttddjdtjd| j d ks| j dkrd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rdn| j j | jd ks,| jdkr0dntjd	| j| jd ksT| jdkrXdntjd	| j| jd ks|| jdkrdn
| j	| jfS )
NFzSpeer, msg_id, button_id parameters must all be False-y (like None) or all me True-yr;   s   Fz<Ir   r[   r\   z<i)
r1   rR   rS   r]   r<   r?   r@   rT   r=   r>   )r4   r5   r5   r6   r=   7  s    tv$((zRequestUrlAuthRequest._bytesc             C   sp   |j  }|d@ r|j }nd }|d@ r0|j  }nd }|d@ rF|j  }nd }|d@ r\|j }nd }| ||||dS )Nr[   r\   )r1   rR   rS   rT   )r^   rA   r`   )rD   rE   ra   rF   rc   rd   re   r5   r5   r6   rG   B  s    



z!RequestUrlAuthRequest.from_reader)NNNN)rH   rI   rJ   rK   rL   r   rN   rf   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r    s   &		r  c               @   s   e Zd ZdZdZdddeee ee ee ee ee ee ed ed ed dd	d
Zdd Z	dd Z
dd Zedd ZdS )RequestWebViewRequesti&l   F'' Nr   r$   r   r    )r1   r  r  from_bot_menur   r  r   rT   r  r  r  r   c             C   sL   || _ || _|| _|| _|| _|| _|| _|| _|	| _|
| _	|| _
|| _dS )zG
        :returns WebViewResult: Instance of WebViewResultUrl.
        N)r1   r  r  r  r   r  r   rT   r  r  r  r   )r4   r1   r  r  r  r   r  r   rT   r  r  r  r   r5   r5   r6   r7   ]  s    zRequestWebViewRequest.__init__c                sX   |j |j| jI d H | _|j|j| jI d H | _| jrT|j |j| jI d H | _d S )N)rU   rV   r1   rk   r  r   )r4   rW   rX   r5   r5   r6   rY   n  s    zRequestWebViewRequest.resolvec             C   s   dt | jtr| jj n| jt | jtr2| jj n| j| j| j| j| j| j	| j
| jt | jtrh| jj n| jt | jtr| jj n| jt | jtr| jj n| jdS )Nr  )r8   r1   r  r  r  r   r  r   rT   r  r  r  r   )r9   r1   r   r:   r  r  r  r   r  r   rT   r  r  r  r   )r4   r5   r5   r6   r:   t  s    zRequestWebViewRequest.to_dictc             C   s  dj dtjd| jd kp| jdkr$dnd| jd kp8| jdkr>dndB | jd kpT| jdkrZdndB | jd kpp| jdkrvd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j | jj | jd kp.| jdkr6dn
| j| j| jd kpT| jdkr\dn
| j| j| j	d kpz| j	dkrdn| j	j | j| j| j
d kp| j
dkrdn| j
j | jd kp| jdkrdn| jj f
S )Nr;   s   &z<IFr   r   r   r  r   r[   r   r\   rZ   i    )r<   r?   r@   r  r   r  r   rT   r  r  r  r   r1   r=   r  r>   r  )r4   r5   r5   r6   r=     s     &&$
$zRequestWebViewRequest._bytesc             C   s   |j  }t|d@ }t|d@ }t|d@ }t|d@ }|j }|j }|d@ rZ|j }	nd }	|d@ rp|j }
nd }
|d@ r|j }nd }|j }|d@ r|j }nd }|d	@ r|j }nd }| ||||||||	|
|||d
S )Nr   r   r  r   r[   r   r\   rZ   i    )r1   r  r  r  r   r  r   rT   r  r  r  r   )r^   r_   rA   r`   )rD   rE   ra   Z_from_bot_menur   r  r   rF   r  re   r  r  r  r  r   r5   r5   r6   rG     s0    




z!RequestWebViewRequest.from_reader)	NNNNNNNNN)rH   rI   rJ   rK   rL   rf   r   r_   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r  Y  s   Jr  c               @   sH   e Zd ZdZdZdddddZdd Zd	d
 Zdd Ze	dd Z
dS )SaveDefaultSendAsRequestl   _ l   gk r   )r1   r   c             C   s   || _ || _dS )z?
        :returns Bool: This type has no constructors.
        N)r1   r   )r4   r1   r   r5   r5   r6   r7     s    z!SaveDefaultSendAsRequest.__init__c                s8   |j |j| jI d H | _|j |j| jI d H | _d S )N)rU   rV   r1   r   )r4   rW   rX   r5   r5   r6   rY     s    z SaveDefaultSendAsRequest.resolvec             C   s<   dt | jtr| jj n| jt | jtr2| jj n| jdS )Nr  )r8   r1   r   )r9   r1   r   r:   r   )r4   r5   r5   r6   r:     s    z SaveDefaultSendAsRequest.to_dictc             C   s   dj d| jj | jj fS )Nr;   s   )r<   r1   r=   r   )r4   r5   r5   r6   r=     s    zSaveDefaultSendAsRequest._bytesc             C   s   |j  }|j  }| ||dS )N)r1   r   )rA   )rD   rE   rF   r   r5   r5   r6   rG     s    z$SaveDefaultSendAsRequest.from_readerN)rH   rI   rJ   rK   rL   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r    s   r  c            
   @   sr   e Zd ZdZdZddeee ee ed eed  ed ee	 dd	d
Z
dd Zdd Zdd Zedd ZdS )SaveDraftRequestl   E& l   gk Nr   r    r&   r   )r1   r   r   r   r  r   r   effectc	       	      C   s4   || _ || _|| _|| _|| _|| _|| _|| _dS )z?
        :returns Bool: This type has no constructors.
        N)r1   r   r   r   r  r   r   r  )	r4   r1   r   r   r   r  r   r   r  r5   r5   r6   r7     s    zSaveDraftRequest.__init__c                s2   |j |j| jI d H | _| jr.|j| j| _d S )N)rU   rV   r1   r   r   )r4   rW   rX   r5   r5   r6   rY     s    zSaveDraftRequest.resolvec          
   C   s   dt | jtr| jj n| j| j| j| jt | jtr>| jj n| j| jd krPg ndd | jD t | j	trt| j	j n| j	| j
d	S )Nr  c             S   s"   g | ]}t |tr|j n|qS r5   )r9   r   r:   )r   r   r5   r5   r6   r     s    z,SaveDraftRequest.to_dict.<locals>.<listcomp>)	r8   r1   r   r   r   r  r   r   r  )r9   r1   r   r:   r   r   r   r  r   r   r  )r4   r5   r5   r6   r:     s    zSaveDraftRequest.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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| jj	 | j
j	 | 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sD| jdkrHdn| jj	 | jd ksh| jdkrldntjd| jfS )Nr;   s   rz<IFr   r[   r   r   r   r   r  s   ĵz<ic             s   s   | ]}|j  V  qd S )N)r=   )r   r   r5   r5   r6   r     s    z*SaveDraftRequest._bytes.<locals>.<genexpr>z<q)r<   r?   r@   r   r   r  r   r   r  r=   r1   r>   r   r   )r4   r5   r5   r6   r=     s     
F$zSaveDraftRequest._bytesc          
   C   s   |j  }t|d@ }t|d@ }|d@ r2|j }nd }|j }|j }|d@ r|j   g }x,t|j  D ]}	|j }
|j|
 qhW nd }|d@ r|j }nd }|d@ r|j }nd }| ||||||||dS )Nr[   r   r   r   r   r  )r1   r   r   r   r  r   r   r  )r^   r_   rA   r`   r   r   rC   )rD   rE   ra   r   r   r  rF   r   r   r8   r   r   _effectr5   r5   r6   rG     s,    


zSaveDraftRequest.from_reader)NNNNNN)rH   rI   rJ   rK   rL   rf   r   r_   r   rN   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   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 )SaveGifRequesti0z2l   gk r   )r   unsavec             C   s   || _ || _dS )z?
        :returns Bool: This type has no constructors.
        N)r   r  )r4   r   r  r5   r5   r6   r7   ,  s    zSaveGifRequest.__init__c                s   |j | j| _d S )N)r   r   )r4   rW   rX   r5   r5   r6   rY   3  s    zSaveGifRequest.resolvec             C   s&   dt | jtr| jj n| j| jdS )Nr  )r8   r   r  )r9   r   r   r:   r  )r4   r5   r5   r6   r:   6  s    zSaveGifRequest.to_dictc             C   s    dj d| jj | jrdndfS )Nr;   s   0z2s   urs   7y)r<   r   r=   r  )r4   r5   r5   r6   r=   =  s    zSaveGifRequest._bytesc             C   s   |j  }|j }| ||dS )N)r   r  )rA   r   )rD   rE   r   _unsaver5   r5   r6   rG   D  s    zSaveGifRequest.from_readerN)rH   rI   rJ   rK   rL   r_   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r  (  s   r  c               @   sT   e Zd ZdZdZdddeed  ddd	Zd
d Zdd Z	dd Z
edd ZdS ) SavePreparedInlineMessageRequestl   />d l   "_ Nr   r$   r   )resultri   
peer_typesc             C   s   || _ || _|| _dS )zc
        :returns messages.BotPreparedInlineMessage: Instance of BotPreparedInlineMessage.
        N)r  ri   r  )r4   r  ri   r  r5   r5   r6   r7   O  s    z)SavePreparedInlineMessageRequest.__init__c                s   |j |j| jI d H | _d S )N)rk   rV   ri   )r4   rW   rX   r5   r5   r6   rY   W  s    z(SavePreparedInlineMessageRequest.resolvec             C   sX   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 dS )Nr  c             S   s"   g | ]}t |tr|j n|qS r5   )r9   r   r:   )r   r   r5   r5   r6   r   _  s    z<SavePreparedInlineMessageRequest.to_dict.<locals>.<listcomp>)r8   r  ri   r  )r9   r  r   r:   ri   r  )r4   r5   r5   r6   r:   Z  s    z(SavePreparedInlineMessageRequest.to_dictc             C   s   dj dtjd| jd ks | jdkr$dnd| jj | jj | jd ksL| jdkrPdn.dj dtjdt| jdj d	d
 | jD ffS )Nr;   s   /z<IFr   rZ   s   ĵz<ic             s   s   | ]}|j  V  qd S )N)r=   )r   r   r5   r5   r6   r   h  s    z:SavePreparedInlineMessageRequest._bytes.<locals>.<genexpr>)r<   r?   r@   r  r  r=   ri   r   )r4   r5   r5   r6   r=   b  s    "z'SavePreparedInlineMessageRequest._bytesc             C   sh   |j  }|j }|j }|d@ rV|j   g }x,t|j  D ]}|j }|j| q:W nd }| |||dS )NrZ   )r  ri   r  )r^   rA   r   r   )rD   rE   ra   _resultrm   Z_peer_typesr8   r   r5   r5   r6   rG   k  s    z,SavePreparedInlineMessageRequest.from_reader)N)rH   rI   rJ   rK   rL   r   r   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r  K  s   	r  c               @   sP   e Zd ZdZdZddeee dddZdd	 Zd
d Z	dd Z
edd ZdS )SaveRecentStickerRequesti'9l   gk Nr   )r   r  r|   c             C   s   || _ || _|| _dS )z?
        :returns Bool: This type has no constructors.
        N)r   r  r|   )r4   r   r  r|   r5   r5   r6   r7     s    z!SaveRecentStickerRequest.__init__c                s   |j | j| _d S )N)r   r   )r4   rW   rX   r5   r5   r6   rY     s    z SaveRecentStickerRequest.resolvec             C   s*   dt | jtr| jj n| j| j| jdS )Nr  )r8   r   r  r|   )r9   r   r   r:   r  r|   )r4   r5   r5   r6   r:     s    z SaveRecentStickerRequest.to_dictc             C   sB   dj dtjd| jd ks | jdkr$dnd| jj | jr:dndfS )	Nr;   s   '9z<IFr   rZ   s   urs   7y)r<   r?   r@   r|   r   r=   r  )r4   r5   r5   r6   r=     s
    "zSaveRecentStickerRequest._bytesc             C   s2   |j  }t|d@ }|j }|j }| |||dS )NrZ   )r   r  r|   )r^   r_   rA   r   )rD   rE   ra   r}   r   r  r5   r5   r6   rG     s
    z$SaveRecentStickerRequest.from_reader)N)rH   rI   rJ   rK   rL   r_   r   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r  }  s   r  c               @   s   e Zd ZdZdZddedee ee eeeeeeed ed ee	d  ee ddd	Z
d
d Zdd Zdd Zedd ZdS )SearchRequestiz)l   ^h) Nr   r'   r)   )r1   r$  r  r   r   r  r\  r	  r   r]  ro   from_idr  saved_reactionr   c             C   s^   || _ || _|| _|| _|| _|| _|| _|| _|	| _|
| _	|| _
|| _|| _|| _|| _dS )z
        :returns messages.Messages: Instance of either Messages, MessagesSlice, ChannelMessages, MessagesNotModified.
        N)r1   r$  r  r   r   r  r\  r	  r   r]  ro   r  r  r  r   )r4   r1   r$  r  r   r   r  r\  r	  r   r]  ro   r  r  r  r   r5   r5   r6   r7     s    zSearchRequest.__init__c                s^   |j |j| jI d H | _| jr:|j |j| jI d H | _| jrZ|j |j| jI d H | _d S )N)rU   rV   r1   r  r  )r4   rW   rX   r5   r5   r6   rY     s
    zSearchRequest.resolvec             C   s   dt | jtr| jj n| j| jt | jtr6| jj n| j| j| j| j| j	| j
| j| j| jt | jtrp| jj n| jt | jtr| jj n| j| jd krg ndd | jD | jdS )Nr  c             S   s"   g | ]}t |tr|j n|qS r5   )r9   r   r:   )r   r   r5   r5   r6   r     s    z)SearchRequest.to_dict.<locals>.<listcomp>)r8   r1   r$  r  r   r   r  r\  r	  r   r]  ro   r  r  r  r   )r9   r1   r   r:   r$  r  r   r   r  r\  r	  r   r]  ro   r  r  r  r   )r4   r5   r5   r6   r:     s     zSearchRequest.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	| j
| jd ks| jdkrdn| jj | 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r0dntjd| j| jj | j| j| j| jtjd| jtjd| jtjd| jtjd| jtjd| jtjd| jfS )Nr;   s   z)z<IFr   rZ   r\   r   r[   s   ĵz<ic             s   s   | ]}|j  V  qd S )N)r=   )r   r   r5   r5   r6   r     s    z'SearchRequest._bytes.<locals>.<genexpr>z<q)r<   r?   r@   r  r  r  r   r1   r=   r>   r$  r   r  r   r   r   r  r\  r	  r   r]  ro   )r4   r5   r5   r6   r=     s$    v
  F(

zSearchRequest._bytesc             C   s
  |j  }|j }|j }|d@ r*|j }nd }|d@ r@|j }nd }|d@ r|j   g }x,t|j  D ]}|j }	|j|	 qfW nd }|d@ r|j  }
nd }
|j }|j }|j }|j  }|j  }|j  }|j  }|j  }|j }| |||||||||||||||
dS )NrZ   r\   r   r[   )r1   r$  r  r   r   r  r\  r	  r   r]  ro   r  r  r  r   )r^   rA   r`   r   r   r   rC   )rD   rE   ra   rF   r%  Z_from_idr  Z_saved_reactionr8   r   r   r  r   r   r  r^  r  r   r_  rp   r5   r5   r6   rG     s:    


zSearchRequest.from_reader)NNNN)rH   rI   rJ   rK   rL   rf   r   r	   rN   r   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r    s   Hr  c               @   s@   e Zd ZdZdZeedddZdd Zdd	 Z	e
d
d ZdS )SearchCustomEmojiRequesti,l   jy )r  ro   c             C   s   || _ || _dS )zY
        :returns EmojiList: Instance of either EmojiListNotModified, EmojiList.
        N)r  ro   )r4   r  ro   r5   r5   r6   r7     s    z!SearchCustomEmojiRequest.__init__c             C   s   d| j | jdS )Nr  )r8   r  ro   )r  ro   )r4   r5   r5   r6   r:   !  s    z SearchCustomEmojiRequest.to_dictc             C   s"   dj d| j| jtjd| jfS )Nr;   s   ,z<q)r<   r>   r  r?   r@   ro   )r4   r5   r5   r6   r=   (  s    
zSearchCustomEmojiRequest._bytesc             C   s   |j  }|j }| ||dS )N)r  ro   )r`   rC   )rD   rE   r  rp   r5   r5   r6   rG   /  s    z$SearchCustomEmojiRequest.from_readerN)rH   rI   rJ   rK   rL   rf   rN   r7   r:   r=   rO   rG   r5   r5   r5   r6   r    s   r  c               @   sH   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 )SearchEmojiStickerSetsRequestl   LIh% iaN)r$  ro   exclude_featuredc             C   s   || _ || _|| _dS )zw
        :returns messages.FoundStickerSets: Instance of either FoundStickerSetsNotModified, FoundStickerSets.
        N)r$  ro   r  )r4   r$  ro   r  r5   r5   r6   r7   :  s    z&SearchEmojiStickerSetsRequest.__init__c             C   s   d| j | j| jdS )Nr  )r8   r$  ro   r  )r$  ro   r  )r4   r5   r5   r6   r:   B  s    z%SearchEmojiStickerSetsRequest.to_dictc             C   sD   dj dtjd| jd ks | jdkr$dnd| j| jtjd| jfS )Nr;   s   LIz<IFr   rZ   z<q)r<   r?   r@   r  r>   r$  ro   )r4   r5   r5   r6   r=   J  s
    "
z$SearchEmojiStickerSetsRequest._bytesc             C   s2   |j  }t|d@ }|j }|j }| |||dS )NrZ   )r$  ro   r  )r^   r_   r`   rC   )rD   rE   ra   _exclude_featuredr%  rp   r5   r5   r6   rG   R  s
    z)SearchEmojiStickerSetsRequest.from_reader)N)rH   rI   rJ   rK   rL   rf   rN   r   r_   r7   r:   r=   rO   rG   r5   r5   r5   r6   r  6  s   r  c               @   sv   e Zd ZdZdZdedee ee ed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 )SearchGlobalRequestiXKl   ^h) Nr'   r   )r$  r  r   r   offset_rater7  r  r	  broadcasts_onlygroups_only
users_onlyr9  c             C   sL   || _ || _|| _|| _|| _|| _|| _|| _|	| _|
| _	|| _
|| _dS )z
        :returns messages.Messages: Instance of either Messages, MessagesSlice, ChannelMessages, MessagesNotModified.
        N)r$  r  r   r   r  r7  r  r	  r  r  r  r9  )r4   r$  r  r   r   r  r7  r  r	  r  r  r  r9  r5   r5   r6   r7   `  s    zSearchGlobalRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r7  )r4   rW   rX   r5   r5   r6   rY   q  s    zSearchGlobalRequest.resolvec             C   sd   d| j t| jtr| jj n| j| j| j| jt| jtrB| jj n| j| j	| j
| j| j| j| jdS )Nr  )r8   r$  r  r   r   r  r7  r  r	  r  r  r  r9  )r$  r9   r  r   r:   r   r   r  r7  r  r	  r  r  r  r9  )r4   r5   r5   r6   r:   t  s    zSearchGlobalRequest.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d ks| jdkrdntjd
| j| j| j| j	j
 | j| j| j| jtjd
| j| jj
 tjd
| jtjd
| jfS )Nr;   s   XKz<IFr   r[   r\   r   rZ   z<i)r<   r?   r@   r  r  r  r9  r>   r$  r  r=   r   r   r   r  r7  r  r	  )r4   r5   r5   r6   r=     s    v$


zSearchGlobalRequest._bytesc             C   s   |j  }t|d@ }t|d@ }t|d@ }|d@ r>|j  }nd }|j }|j }|j }	|j }
|j  }|j }|j  }|j  }| |||	|
||||||||dS )Nr[   r\   r   rZ   )r$  r  r   r   r  r7  r  r	  r  r  r  r9  )r^   r_   r`   rA   r   )rD   rE   ra   Z_broadcasts_onlyZ_groups_onlyZ_users_onlyr;  r%  r  r   r   Z_offset_rater<  r  r  r5   r5   r6   rG     s     
zSearchGlobalRequest.from_reader)NNNN)rH   rI   rJ   rK   rL   rf   r   r	   rN   r_   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r  \  s   >r  c               @   sB   e Zd ZdZdZededddZdd Zd	d
 Z	e
dd ZdS )SearchSentMediaRequesti1~l   ^h) r'   )r$  r  r	  c             C   s   || _ || _|| _dS )z
        :returns messages.Messages: Instance of either Messages, MessagesSlice, ChannelMessages, MessagesNotModified.
        N)r$  r  r	  )r4   r$  r  r	  r5   r5   r6   r7     s    zSearchSentMediaRequest.__init__c             C   s*   d| j t| jtr| jj n| j| jdS )Nr  )r8   r$  r  r	  )r$  r9   r  r   r:   r	  )r4   r5   r5   r6   r:     s    zSearchSentMediaRequest.to_dictc             C   s*   dj d| j| j| jj tjd| jfS )Nr;   s   1~z<i)r<   r>   r$  r  r=   r?   r@   r	  )r4   r5   r5   r6   r=     s
    
zSearchSentMediaRequest._bytesc             C   s&   |j  }|j }|j }| |||dS )N)r$  r  r	  )r`   rA   r^   )rD   rE   r%  r  r  r5   r5   r6   rG     s    z"SearchSentMediaRequest.from_readerN)rH   rI   rJ   rK   rL   rf   rN   r7   r:   r=   rO   rG   r5   r5   r5   r6   r    s   r  c               @   sH   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 )SearchStickerSetsRequesti[p5iaN)r$  ro   r  c             C   s   || _ || _|| _dS )zw
        :returns messages.FoundStickerSets: Instance of either FoundStickerSetsNotModified, FoundStickerSets.
        N)r$  ro   r  )r4   r$  ro   r  r5   r5   r6   r7     s    z!SearchStickerSetsRequest.__init__c             C   s   d| j | j| jdS )Nr  )r8   r$  ro   r  )r$  ro   r  )r4   r5   r5   r6   r:     s    z SearchStickerSetsRequest.to_dictc             C   sD   dj dtjd| jd ks | jdkr$dnd| j| jtjd| jfS )Nr;   s   [p5z<IFr   rZ   z<q)r<   r?   r@   r  r>   r$  ro   )r4   r5   r5   r6   r=     s
    "
zSearchStickerSetsRequest._bytesc             C   s2   |j  }t|d@ }|j }|j }| |||dS )NrZ   )r$  ro   r  )r^   r_   r`   rC   )rD   rE   ra   r   r%  rp   r5   r5   r6   rG     s
    z$SearchStickerSetsRequest.from_reader)N)rH   rI   rJ   rK   rL   rf   rN   r   r_   r7   r:   r=   rO   rG   r5   r5   r5   r6   r    s   r  c            	   @   sT   e Zd ZdZdZdeeee eeeee	 dddZ
dd Zd	d
 Zedd ZdS )SearchStickersRequestijƱ)iQ!@N)r$  r  rF  rb  r	  ro   r  c             C   s.   || _ || _|| _|| _|| _|| _|| _dS )zn
        :returns messages.FoundStickers: Instance of either FoundStickersNotModified, FoundStickers.
        N)r$  r  rF  rb  r	  ro   r  )r4   r$  r  rF  rb  r	  ro   r  r5   r5   r6   r7     s    zSearchStickersRequest.__init__c          	   C   s:   d| j | j| jd krg n| jd d  | j| j| j| jdS )Nr  )r8   r$  r  rF  rb  r	  ro   r  )r$  r  rF  rb  r	  ro   r  )r4   r5   r5   r6   r:     s    zSearchStickersRequest.to_dictc                s   dj dtjd jd ks  jdkr$dnd j j j jdtjdt jdj  fd	d
 jD tjd j	tjd j
tjd jf
S )Nr;   s   jƱ)z<IFr   rZ   s   ĵz<ic             3   s   | ]} j |V  qd S )N)r>   )r   r   )r4   r5   r6   r     s    z/SearchStickersRequest._bytes.<locals>.<genexpr>z<q)r<   r?   r@   r  r>   r$  r  r   rF  rb  r	  ro   )r4   r5   )r4   r6   r=     s    "

*zSearchStickersRequest._bytesc          	   C   s   |j  }t|d@ }|j }|j }|j   g }x&t|j  D ]}|j }|j| q>W |j  }	|j  }
|j }| ||||	|
||dS )NrZ   )r$  r  rF  rb  r	  ro   r  )r^   r_   r`   r   r   rC   )rD   rE   ra   r  r%  r  rG  r8   r   rd  r  rp   r5   r5   r6   rG     s    z!SearchStickersRequest.from_reader)N)rH   rI   rJ   rK   rL   rf   r   rN   r   r_   r7   r:   r=   rO   rG   r5   r5   r5   r6   r    s   $r  c               @   sP   e Zd ZdZdZdeeed dddZdd Zd	d
 Z	dd Z
edd ZdS )SendBotRequestedPeerRequestl   `Pe# l   * r   )r1   rR   rS   requested_peersc             C   s   || _ || _|| _|| _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        N)r1   rR   rS   r
  )r4   r1   rR   rS   r
  r5   r5   r6   r7   3  s    z$SendBotRequestedPeerRequest.__init__c                sT   |j |j| jI d H | _g }x*| jD ] }|j|j |j|I d H  q&W || _d S )N)rU   rV   r1   r
  r   )r4   rW   rX   r   r   r5   r5   r6   rY   <  s
     z#SendBotRequestedPeerRequest.resolvec             C   sF   dt | jtr| jj n| j| j| j| jd kr2g ndd | jD dS )Nr	  c             S   s"   g | ]}t |tr|j n|qS r5   )r9   r   r:   )r   r   r5   r5   r6   r   J  s    z7SendBotRequestedPeerRequest.to_dict.<locals>.<listcomp>)r8   r1   rR   rS   r
  )r9   r1   r   r:   rR   rS   r
  )r4   r5   r5   r6   r:   D  s
    z#SendBotRequestedPeerRequest.to_dictc          
   C   sR   dj d| jj tjd| jtjd| jdtjdt| jdj dd | jD fS )Nr;   s   `вz<is   ĵc             s   s   | ]}|j  V  qd S )N)r=   )r   r   r5   r5   r6   r   S  s    z5SendBotRequestedPeerRequest._bytes.<locals>.<genexpr>)	r<   r1   r=   r?   r@   rR   rS   r   r
  )r4   r5   r5   r6   r=   M  s    z"SendBotRequestedPeerRequest._bytesc             C   s\   |j  }|j }|j }|j  g }x&t|j D ]}|j  }|j| q2W | ||||dS )N)r1   rR   rS   r
  )rA   r^   r   r   )rD   rE   rF   rc   rd   Z_requested_peersr8   r   r5   r5   r6   rG   V  s    z'SendBotRequestedPeerRequest.from_readerN)rH   rI   rJ   rK   rL   rN   r   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r	  /  s   			r	  c               @   sJ   e Zd ZdZdZddeee edddZ	dd	 Z
d
d Zedd ZdS )SendEncryptedRequestizDl   P>< Nr   )r1   r  r   r   c             C   s:   || _ || _|| _|dk	r|ntjtjdddd| _dS )zu
        :returns messages.SentEncryptedMessage: Instance of either SentEncryptedMessage, SentEncryptedFile.
        Nr   r   T)r   )r1   r  r   rN   r   r   r   r   )r4   r1   r  r   r   r5   r5   r6   r7   h  s    zSendEncryptedRequest.__init__c             C   s.   dt | jtr| jj n| j| j| j| jdS )Nr  )r8   r1   r  r   r   )r9   r1   r   r:   r  r   r   )r4   r5   r5   r6   r:   q  s
    zSendEncryptedRequest.to_dictc             C   sL   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   zDz<IFr   rZ   z<q)	r<   r?   r@   r   r1   r=   r   r>   r  )r4   r5   r5   r6   r=   z  s    "zSendEncryptedRequest._bytesc             C   s<   |j  }t|d@ }|j }|j }|j }| ||||dS )NrZ   )r1   r  r   r   )r^   r_   rA   rC   rB   )rD   rE   ra   r   rF   r   r  r5   r5   r6   rG     s    z SendEncryptedRequest.from_reader)NN)rH   rI   rJ   rK   rL   rM   r   r_   rN   r7   r:   r=   rO   rG   r5   r5   r5   r6   r  d  s   			r  c               @   sL   e Zd ZdZdZddedee edddZ	d	d
 Z
dd Zedd ZdS )SendEncryptedFileRequestiHYUl   P>< Nr   r   )r1   r  r  r   r   c             C   s@   || _ || _|| _|| _|dk	r$|ntjtjdddd| _dS )zu
        :returns messages.SentEncryptedMessage: Instance of either SentEncryptedMessage, SentEncryptedFile.
        Nr   r   T)r   )	r1   r  r  r   rN   r   r   r   r   )r4   r1   r  r  r   r   r5   r5   r6   r7     s
    z!SendEncryptedFileRequest.__init__c             C   sH   dt | jtr| jj n| j| jt | jtr6| jj n| j| j| jdS )Nr  )r8   r1   r  r  r   r   )r9   r1   r   r:   r  r  r   r   )r4   r5   r5   r6   r:     s    z SendEncryptedFileRequest.to_dictc             C   sT   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| j	j fS )Nr;   s   HYUz<IFr   rZ   z<q)
r<   r?   r@   r   r1   r=   r   r>   r  r  )r4   r5   r5   r6   r=     s    "
zSendEncryptedFileRequest._bytesc             C   sF   |j  }t|d@ }|j }|j }|j }|j }| |||||dS )NrZ   )r1   r  r  r   r   )r^   r_   rA   rC   rB   )rD   rE   ra   r   rF   r   r  r  r5   r5   r6   rG     s    z$SendEncryptedFileRequest.from_reader)NN)rH   rI   rJ   rK   rL   rM   r   r_   rN   r7   r:   r=   rO   rG   r5   r5   r5   r6   r    s   


r  c               @   sD   e Zd ZdZdZddeedddZdd	 Zd
d Z	e
dd ZdS )SendEncryptedServiceRequesti92l   P>< Nr   )r1   r  r   c             C   s4   || _ || _|dk	r|ntjtjdddd| _dS )zu
        :returns messages.SentEncryptedMessage: Instance of either SentEncryptedMessage, SentEncryptedFile.
        Nr   r   T)r   )r1   r  rN   r   r   r   r   )r4   r1   r  r   r5   r5   r6   r7     s    z$SendEncryptedServiceRequest.__init__c             C   s*   dt | jtr| jj n| j| j| jdS )Nr  )r8   r1   r  r   )r9   r1   r   r:   r  r   )r4   r5   r5   r6   r:     s    z#SendEncryptedServiceRequest.to_dictc             C   s*   dj d| jj tjd| j| j| jfS )Nr;   s   92z<q)r<   r1   r=   r?   r@   r   r>   r  )r4   r5   r5   r6   r=     s
    z"SendEncryptedServiceRequest._bytesc             C   s&   |j  }|j }|j }| |||dS )N)r1   r  r   )rA   rC   rB   )rD   rE   rF   r   r  r5   r5   r6   rG     s    z'SendEncryptedServiceRequest.from_reader)N)rH   rI   rJ   rK   rL   rM   rN   r7   r:   r=   rO   rG   r5   r5   r5   r6   r    s   r  c               @   s   e Zd ZdZdZddeeee ee ee ee ed eee	 ed ed ee ddd	Z
d
d Zdd Zdd Zedd ZdS )SendInlineBotResultRequestl   Fv l   * Nr   r    r   )r1   r  r   r   r   clear_drafthide_viar  r   r   r   r   r   c             C   sp   || _ || _|| _|| _|| _|| _|| _|| _|	dk	r<|	ntj	t
jdddd| _|
| _|| _|| _|| _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        Nr   r   T)r   )r1   r  r   r   r   r  r  r  rN   r   r   r   r   r   r   r   r   )r4   r1   r  r   r   r   r  r  r  r   r   r   r   r   r5   r5   r6   r7     s    $z#SendInlineBotResultRequest.__init__c                s>   |j |j| jI d H | _| jr:|j |j| jI d H | _d S )N)rU   rV   r1   r   )r4   rW   rX   r5   r5   r6   rY     s    z"SendInlineBotResultRequest.resolvec             C   s   dt | jtr| jj n| j| j| j| j| j| j| j	t | j
trJ| j
j n| j
| j| jt | jtrl| jj n| jt | jtr| jj n| j| jdS )Nr  )r8   r1   r  r   r   r   r  r  r  r   r   r   r   r   )r9   r1   r   r:   r  r   r   r   r  r  r  r   r   r   r   r   )r4   r5   r5   r6   r:     s    z"SendInlineBotResultRequest.to_dictc             C   s  dj dtjd| jd kp| jdkr$dnd| jd kp8| jdkr>dndB | jd kpT| jdkrZdndB | jd kpp| jdkrvd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j | jd kp&| jdkr.dn| jj tjd| jtjd| j| j| j| jd kpl| jdkrtdn
| j| j| j	d kp| j	dkrdn| j	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 )Nr;   s   Fvz<IFr   r   r   r  i   rZ   i   i    i   i    z<q)r<   r?   r@   r   r   r  r  r  r   r   r   r   r1   r=   r   r  r>   r   r   )r4   r5   r5   r6   r=     s     $
&$$z!SendInlineBotResultRequest._bytesc             C   s   |j  }t|d@ }t|d@ }t|d@ }t|d@ }|j }|d@ rR|j }nd }|j }	|j }
|j }|d@ r|j }nd }|d@ r|j }nd }|d@ r|j }nd }|d	@ r|j }nd }| ||
|||||||	||||d
S )Nr   r   r  i   rZ   i   i    i   i    )r1   r  r   r   r   r  r  r  r   r   r   r   r   )r^   r_   rA   rC   r`   r   )rD   rE   ra   r   r   _clear_draftZ	_hide_viarF   r  r   r  r   r   r   r  r  r5   r5   r6   rG     s2    




z&SendInlineBotResultRequest.from_reader)
NNNNNNNNNN)rH   rI   rJ   rK   rL   rN   rf   r   r_   r	   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r    s   Lr  c               @   s   e Zd ZdZdZdddeee ee ee ee ee ee ee ed eed ee	d  ee
 ed ed	 ee ee d
ddZdd Zdd Zdd Zedd ZdS )SendMediaRequestl   xMJ l   * Nr   r   r    r*   r&   r   )r1   r   r   r   r   r  r   update_stickersets_orderr   r   r  r   r   r   r   r   r   r  r   c             C   s   || _ || _|| _|| _|| _|| _|| _|| _|	| _|
| _	|| _
|dk	rN|ntjtjdddd| _|| _|| _|| _|| _|| _|| _|| _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        Nr   r   T)r   )r1   r   r   r   r   r  r   r  r   r   r  rN   r   r   r   r   r   r   r   r   r   r  r   )r4   r1   r   r   r   r   r  r   r  r   r   r  r   r   r   r   r   r   r  r   r5   r5   r6   r7   C  s&    $zSendMediaRequest.__init__c                sL   |j |j| jI d H | _|j| j| _| jrH|j |j| jI d H | _d S )N)rU   rV   r1   r   r   r   )r4   rW   rX   r5   r5   r6   rY   [  s    zSendMediaRequest.resolvec             C   s   dt | jtr| jj n| jt | jtr2| jj n| j| j| j| j| j| j	| j
| j| jt | jtrl| jj n| j| jt | jtr| jj n| j| jd krg ndd | jD | jt | jtr| jj n| jt | jtr| jj n| j| j| jdS )Nr  c             S   s"   g | ]}t |tr|j n|qS r5   )r9   r   r:   )r   r   r5   r5   r6   r   q  s    z,SendMediaRequest.to_dict.<locals>.<listcomp>)r8   r1   r   r   r   r   r  r   r  r   r   r  r   r   r   r   r   r   r  r   )r9   r1   r   r:   r   r   r   r   r  r   r  r   r   r  r   r   r   r   r   r   r  r   )r4   r5   r5   r6   r:   a  s(    zSendMediaRequest.to_dictc             C   sF  dj dtjd| jd kp| jdkr$dnd| jd kp8| jdkr>dndB | jd kpT| jdkrZdndB | jd kpp| jdkrvd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p| jdkr$dndB | jd kp<| jdkrDdndB | jd kp\| jdkrdd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j | j
d kp| j
dkrdn| j
j | jj | j| jtjd| j| jd kp(| jdkr0dn| jj | jd kpL| jdkrTd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rdn| jj | jd kp| jdkrdn| jj | jd kp| jdkrdntjd| j| jd kp,| jdkr4dntjd| jfS )Nr;   s   xPz<IFr   r   r   r  i @  i   i   i   rZ   r\   r   i   i    i   i   i    z<qs   ĵz<ic             s   s   | ]}|j  V  qd S )N)r=   )r   r   r5   r5   r6   r     s    z*SendMediaRequest._bytes.<locals>.<genexpr>)r<   r?   r@   r   r   r  r   r  r   r   r  r   r   r   r   r   r  r   r1   r=   r   r>   r   r   r   r   )r4   r5   r5   r6   r=   y  s      $
$J&$$(zSendMediaRequest._bytesc             C   s  |j  }t|d@ }t|d@ }t|d@ }t|d@ }t|d@ }t|d@ }t|d@ }	|j }
|d@ rv|j }nd }|j }|j }|j }|d	@ r|j }nd }|d
@ r|j   g }x,t|j  D ]}|j }|j| qW nd }|d@ r|j }nd }|d@ r|j }nd }|d@ r,|j }nd }|d@ rD|j }nd }|d@ r\|j }nd }| |
|||||||||	|||||||||dS )Nr   r   r  i @  i   i   i   rZ   r\   r   i   i    i   i   i    )r1   r   r   r   r   r  r   r  r   r   r  r   r   r   r   r   r   r  r   )r^   r_   rA   r`   rC   r   r   r   )rD   rE   ra   r   r   r  r   _update_stickersets_orderr   r   rF   r  r   r   r   r   r   r8   r   r   r   r  r  r  r5   r5   r6   rG     sR    










zSendMediaRequest.from_reader)NNNNNNNNNNNNNNNN)rH   rI   rJ   rK   rL   rf   r   r_   rN   r   r	   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r  ?  s   tr  c               @   s   e Zd ZdZdZ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  ee
 ed ed ee ee d	d
dZdd Zdd Zdd Zedd ZdS )SendMessageRequestl   
4w l   * Nr   r    r*   r&   r   )r1   r   r   r   r   r  r   r  r   r   r  r   r   r   r   r   r   r  r   c             C   s   || _ || _|| _|| _|| _|| _|| _|| _|	| _|
| _	|| _
|dk	rN|ntjtjdddd| _|| _|| _|| _|| _|| _|| _|| _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        Nr   r   T)r   )r1   r   r   r   r   r  r   r  r   r   r  rN   r   r   r   r   r   r   r   r   r   r  r   )r4   r1   r   r   r   r   r  r   r  r   r   r  r   r   r   r   r   r   r  r   r5   r5   r6   r7     s&    $zSendMessageRequest.__init__c                s>   |j |j| jI d H | _| jr:|j |j| jI d H | _d S )N)rU   rV   r1   r   )r4   rW   rX   r5   r5   r6   rY     s    zSendMessageRequest.resolvec             C   s   dt | jtr| jj n| j| j| j| j| j| j| j	| j
| j| jt | jtrV| jj n| j| jt | jtrt| jj n| j| jd krg ndd | jD | jt | jtr| jj n| jt | jtr| jj n| j| j| jdS )Nr  c             S   s"   g | ]}t |tr|j n|qS r5   )r9   r   r:   )r   r   r5   r5   r6   r     s    z.SendMessageRequest.to_dict.<locals>.<listcomp>)r8   r1   r   r   r   r   r  r   r  r   r   r  r   r   r   r   r   r   r  r   )r9   r1   r   r:   r   r   r   r   r  r   r  r   r   r  r   r   r   r   r   r   r  r   )r4   r5   r5   r6   r:     s(    zSendMessageRequest.to_dictc             C   s^  dj dtjd| jd kp| jdkr$dnd| jd kp8| jdkr>dndB | jd kpT| jdkrZdndB | jd kpp| jdkrvd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p| jdkr$dndB | jd kp<| jdkrDdndB | jd kp\| jdkrdd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j | jd kp| jdkrdn| jj | j| jtjd| j| jd kp@| jdkrHdn| jj | jd kpd| jdkrld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rdn| jj | jd kp| jdkr dn| jj | jd kp| jdkr$dntjd| j| jd kpD| jdkrLdntjd| jfS )Nr;   s   
4z<IFr   r[   r   r   r  i @  i   i   i   rZ   r\   r   i   i    i   i   i    z<qs   ĵz<ic             s   s   | ]}|j  V  qd S )N)r=   )r   r   r5   r5   r6   r     s    z,SendMessageRequest._bytes.<locals>.<genexpr>)r<   r?   r@   r   r   r   r  r   r  r   r   r  r   r   r   r   r   r  r   r1   r=   r>   r   r   r   r   )r4   r5   r5   r6   r=     s     $
$J&$$(zSendMessageRequest._bytesc             C   s  |j  }t|d@ }t|d@ }t|d@ }t|d@ }t|d@ }t|d@ }t|d@ }	t|d@ }
|j }|d	@ r|j }nd }|j }|j }|d
@ r|j }nd }|d@ r|j   g }x,t|j  D ]}|j }|j| qW nd }|d@ r|j }nd }|d@ r|j }nd }|d@ r2|j }nd }|d@ rJ|j }nd }|d@ rb|j }nd }| |||||||||	|
|||||||||dS )Nr[   r   r   r  i @  i   i   i   rZ   r\   r   i   i    i   i   i    )r1   r   r   r   r   r  r   r  r   r   r  r   r   r   r   r   r   r  r   )r^   r_   rA   r`   rC   r   r   r   )rD   rE   ra   r   r   r   r  r   r  r   r   rF   r  r   r   r   r   r8   r   r   r   r  r  r  r5   r5   r6   rG     sR    











zSendMessageRequest.from_reader)NNNNNNNNNNNNNNNNN)rH   rI   rJ   rK   rL   rf   r   r_   rN   r   r	   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r    s   xr  c               @   s   e Zd ZdZdZdded ee ee ee ee ee ee ee ed ee ed ed ee	 ee	 dd	d
Z
dd Zdd Zdd Zedd ZdS )SendMultiMediaRequestitl   * Nr   r!   r    r   )r1   multi_mediar   r   r  r   r  r   r   r  r   r   r   r  r   c             C   s^   || _ || _|| _|| _|| _|| _|| _|| _|	| _|
| _	|| _
|| _|| _|| _|| _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        N)r1   r  r   r   r  r   r  r   r   r  r   r   r   r  r   )r4   r1   r  r   r   r  r   r  r   r   r  r   r   r   r  r   r5   r5   r6   r7   G  s    zSendMultiMediaRequest.__init__c                s>   |j |j| jI d H | _| jr:|j |j| jI d H | _d S )N)rU   rV   r1   r   )r4   rW   rX   r5   r5   r6   rY   [  s    zSendMultiMediaRequest.resolvec             C   s   dt | jtr| jj n| j| jd kr*g ndd | jD | j| j| j| j| j	| j
| jt | jtrj| jj n| j| jt | jtr| jj n| jt | jtr| jj n| j| j| jdS )Nr  c             S   s"   g | ]}t |tr|j n|qS r5   )r9   r   r:   )r   r   r5   r5   r6   r   d  s    z1SendMultiMediaRequest.to_dict.<locals>.<listcomp>)r8   r1   r  r   r   r  r   r  r   r   r  r   r   r   r  r   )r9   r1   r   r:   r  r   r   r  r   r  r   r   r  r   r   r   r  r   )r4   r5   r5   r6   r:   `  s     zSendMultiMediaRequest.to_dictc             C   s  dj dtjd| jd kp| jdkr$dnd| jd kp8| jdkr>dndB | jd kpT| jdkrZdndB | jd kpp| jdkrvd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p| jdkr$dndB | jd kp<| jdkrDdndB | jd kp\| jdkrddndB | jd kp|| jdkrdndB | jj | j
d kp| j
dkrdn| j
j dtjdt| jdj dd | jD | jd kp| jdkrdn
| j| j| jd kp| jdkrdn| jj | jd kp:| jdkrBdn| jj | jd kp^| jdkrfdntjd| j| jd kp| jdkrdntjd| jfS )Nr;   s   tz<IFr   r   r   r  i @  i   i   i   rZ   i   i    i   i   i    s   ĵz<ic             s   s   | ]}|j  V  qd S )N)r=   )r   r   r5   r5   r6   r   z  s    z/SendMultiMediaRequest._bytes.<locals>.<genexpr>z<q)r<   r?   r@   r   r   r  r   r  r   r   r  r   r   r   r  r   r1   r=   r   r  r   )r4   r5   r5   r6   r=   t  s     $&&$$(zSendMultiMediaRequest._bytesc             C   sF  |j  }t|d@ }t|d@ }t|d@ }t|d@ }t|d@ }t|d@ }t|d@ }	|j }
|d@ rv|j }nd }|j   g }x&t|j  D ]}|j }|j| qW |d	@ r|j }nd }|d
@ r|j }nd }|d@ r|j }nd }|d@ r|j }nd }|d@ r|j }nd }| |
||||||||	||||||dS )Nr   r   r  i @  i   i   i   rZ   i   i    i   i   i    )r1   r  r   r   r  r   r  r   r   r  r   r   r   r  r   )r^   r_   rA   r   r   r   rC   )rD   rE   ra   r   r   r  r   r  r   r   rF   r  Z_multi_mediar8   r   r   r   r  r  r  r5   r5   r6   rG     sB    







z!SendMultiMediaRequest.from_reader)NNNNNNNNNNNNN)rH   rI   rJ   rK   rL   r   r   r_   r	   rN   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r  C  s   dr  c               @   sT   e Zd ZdZdZddeeeed dddZd	d
 Zdd Z	dd Z
edd ZdS )SendPaidReactionRequestiP˻Xl   * Nr   r(   )r1   rR   countr   privatec             C   s@   || _ || _|| _|dk	r|ntjtjdddd| _|| _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        Nr   r   T)r   )	r1   rR   r  rN   r   r   r   r   r  )r4   r1   rR   r  r   r  r5   r5   r6   r7     s
    $z SendPaidReactionRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY     s    zSendPaidReactionRequest.resolvec             C   sH   dt | jtr| jj n| j| j| j| jt | jtr>| jj n| jdS )Nr  )r8   r1   rR   r  r   r  )r9   r1   r   r:   rR   r  r   r  )r4   r5   r5   r6   r:     s    zSendPaidReactionRequest.to_dictc          	   C   sz   dj dtjd| jd ks | jdkr$dnd| jj tjd| jtjd| jtjd| j| jd ksh| jdkrldn| jj fS )	Nr;   s   P˻Xz<IFr   rZ   z<iz<q)	r<   r?   r@   r  r1   r=   rR   r  r   )r4   r5   r5   r6   r=     s    "zSendPaidReactionRequest._bytesc             C   sP   |j  }|j }|j  }|j  }|j }|d@ r:|j }nd }| |||||dS )NrZ   )r1   rR   r  r   r  )r^   rA   rC   )rD   rE   ra   rF   rc   _countr   _privater5   r5   r6   rG     s    
z#SendPaidReactionRequest.from_reader)NN)rH   rI   rJ   rK   rL   rN   r   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r    s   

r  c               @   sV   e Zd ZdZdZddeee ee dddZdd	 Zd
d Z	dd Z
edd ZdS )SendQuickReplyMessagesRequestiull   * Nr   )r1   r   r   r   c             C   s:   || _ || _|| _|dk	r|ndd tt|D | _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        Nc             S   s"   g | ]}t jtjd dddqS )r   r   T)r   )rN   r   r   r   )r   r8   r5   r5   r6   r     s    z:SendQuickReplyMessagesRequest.__init__.<locals>.<listcomp>)r1   r   r   r   r   r   )r4   r1   r   r   r   r5   r5   r6   r7     s    z&SendQuickReplyMessagesRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY     s    z%SendQuickReplyMessagesRequest.resolvec             C   sZ   dt | jtr| jj n| j| j| jd kr.g n| jd d  | jd krHg n| jd d  dS )Nr  )r8   r1   r   r   r   )r9   r1   r   r:   r   r   r   )r4   r5   r5   r6   r:     s
    z%SendQuickReplyMessagesRequest.to_dictc             C   sl   dj d| jj tjd| jdtjdt| jdj dd | jD dtjdt| jdj dd | jD f	S )Nr;   s   ulz<is   ĵc             s   s   | ]}t jd |V  qdS )z<iN)r?   r@   )r   r   r5   r5   r6   r     s    z7SendQuickReplyMessagesRequest._bytes.<locals>.<genexpr>c             s   s   | ]}t jd |V  qdS )z<qN)r?   r@   )r   r   r5   r5   r6   r     s    )	r<   r1   r=   r?   r@   r   r   r   r   )r4   r5   r5   r6   r=     s    &z$SendQuickReplyMessagesRequest._bytesc             C   s   |j  }|j }|j  g }x&t|j D ]}|j }|j| q*W |j  g }x&t|j D ]}|j }|j| q^W | ||||dS )N)r1   r   r   r   )rA   r^   r   r   rC   )rD   rE   rF   r   r   r8   r   r   r5   r5   r6   rG     s    z)SendQuickReplyMessagesRequest.from_reader)N)rH   rI   rJ   rK   rL   rN   r   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r    s   			r  c               @   s`   e Zd ZdZdZddeee ee eed  dddZ	d	d
 Z
dd Zdd Zedd ZdS )SendReactionRequestl   x& l   * Nr   r)   )r1   rR   r   add_to_recentri  c             C   s"   || _ || _|| _|| _|| _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        N)r1   rR   r   r  ri  )r4   r1   rR   r   r  ri  r5   r5   r6   r7     s
    zSendReactionRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY   '  s    zSendReactionRequest.resolvec             C   sJ   dt | jtr| jj n| j| j| j| j| jd kr6g ndd | jD dS )Nr  c             S   s"   g | ]}t |tr|j n|qS r5   )r9   r   r:   )r   r   r5   r5   r6   r   1  s    z/SendReactionRequest.to_dict.<locals>.<listcomp>)r8   r1   rR   r   r  ri  )r9   r1   r   r:   rR   r   r  ri  )r4   r5   r5   r6   r:   *  s    zSendReactionRequest.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.dj d
tjd	t	| jdj dd | jD ffS )Nr;   s   xz<IFr   r[   r\   rZ   z<is   ĵc             s   s   | ]}|j  V  qd S )N)r=   )r   r   r5   r5   r6   r   :  s    z-SendReactionRequest._bytes.<locals>.<genexpr>)
r<   r?   r@   r   r  ri  r1   r=   rR   r   )r4   r5   r5   r6   r=   4  s    ZzSendReactionRequest._bytesc       
      C   s   |j  }t|d@ }t|d@ }|j }|j  }|d@ rn|j   g }x,t|j  D ]}|j }	|j|	 qRW nd }| |||||dS )Nr[   r\   rZ   )r1   rR   r   r  ri  )r^   r_   rA   r   r   )
rD   rE   ra   Z_bigZ_add_to_recentrF   rc   rj  r8   r   r5   r5   r6   rG   =  s    zSendReactionRequest.from_reader)NNN)rH   rI   rJ   rK   rL   rN   r   r_   r   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   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 )SendScheduledMessagesRequestl   
qz l   * r   )r1   r   c             C   s   || _ || _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        N)r1   r   )r4   r1   r   r5   r5   r6   r7   U  s    z%SendScheduledMessagesRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY   \  s    z$SendScheduledMessagesRequest.resolvec             C   s<   dt | jtr| jj n| j| jd kr*g n| jd d  dS )Nr   )r8   r1   r   )r9   r1   r   r:   r   )r4   r5   r5   r6   r:   _  s    z$SendScheduledMessagesRequest.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   
8s   ĵz<ic             s   s   | ]}t jd |V  qdS )z<iN)r?   r@   )r   r   r5   r5   r6   r   j  s    z6SendScheduledMessagesRequest._bytes.<locals>.<genexpr>)r<   r1   r=   r?   r@   r   r   )r4   r5   r5   r6   r=   f  s    z#SendScheduledMessagesRequest._bytesc             C   sH   |j  }|j  g }x&t|j D ]}|j }|j| q"W | ||dS )N)r1   r   )rA   r^   r   r   )rD   rE   rF   r   r8   r   r5   r5   r6   rG   m  s    z(SendScheduledMessagesRequest.from_readerN)rH   rI   rJ   rK   rL   r   rN   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r   Q  s   r   c               @   sL   e Zd ZdZdZdddedddZd	d
 Zdd Zdd Z	e
dd ZdS )!SendScreenshotNotificationRequestl   XB l   * Nr   r    )r1   r  r   c             C   s4   || _ || _|dk	r|ntjtjdddd| _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        Nr   r   T)r   )r1   r  rN   r   r   r   r   )r4   r1   r  r   r5   r5   r6   r7   }  s    z*SendScreenshotNotificationRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY     s    z)SendScreenshotNotificationRequest.resolvec             C   s@   dt | jtr| jj n| jt | jtr2| jj n| j| jdS )Nr!  )r8   r1   r  r   )r9   r1   r   r:   r  r   )r4   r5   r5   r6   r:     s    z)SendScreenshotNotificationRequest.to_dictc             C   s(   dj d| jj | jj tjd| jfS )Nr;   s   X@z<q)r<   r1   r=   r  r?   r@   r   )r4   r5   r5   r6   r=     s
    z(SendScreenshotNotificationRequest._bytesc             C   s&   |j  }|j  }|j }| |||dS )N)r1   r  r   )rA   rC   )rD   rE   rF   r  r   r5   r5   r6   rG     s    z-SendScreenshotNotificationRequest.from_reader)N)rH   rI   rJ   rK   rL   rN   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r!  y  s   r!  c               @   sN   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dS )SendVoteRequestial   * r   )r1   rR   optionsc             C   s   || _ || _|| _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        N)r1   rR   r#  )r4   r1   rR   r#  r5   r5   r6   r7     s    zSendVoteRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY     s    zSendVoteRequest.resolvec             C   s@   dt | jtr| jj n| j| j| jd kr.g n| jd d  dS )Nr"  )r8   r1   rR   r#  )r9   r1   r   r:   rR   r#  )r4   r5   r5   r6   r:     s    zSendVoteRequest.to_dictc          
      sJ   dj d jj tjd jdtjdt jdj  fdd jD fS )Nr;   s   az<is   ĵc             3   s   | ]} j |V  qd S )N)r>   )r   r   )r4   r5   r6   r     s    z)SendVoteRequest._bytes.<locals>.<genexpr>)r<   r1   r=   r?   r@   rR   r   r#  )r4   r5   )r4   r6   r=     s
    zSendVoteRequest._bytesc             C   sR   |j  }|j }|j  g }x&t|j D ]}|j }|j| q*W | |||dS )N)r1   rR   r#  )rA   r^   r   rB   r   )rD   rE   rF   rc   _optionsr8   r   r5   r5   r6   rG     s    zSendVoteRequest.from_readerN)rH   rI   rJ   rK   rL   rN   r   rM   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r"    s   r"  c               @   sN   e Zd ZdZdZddeeedddZdd	 Zd
d Z	dd Z
edd ZdS )SendWebViewDataRequestl   B8 l   * Nr$   )r  button_textr  r   c             C   s:   || _ || _|| _|dk	r|ntjtjdddd| _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        Nr   r   T)r   )r  r&  r  rN   r   r   r   r   )r4   r  r&  r  r   r5   r5   r6   r7     s    zSendWebViewDataRequest.__init__c                s   |j |j| jI d H | _d S )N)rk   rV   r  )r4   rW   rX   r5   r5   r6   rY     s    zSendWebViewDataRequest.resolvec             C   s.   dt | jtr| jj n| j| j| j| jdS )Nr%  )r8   r  r&  r  r   )r9   r  r   r:   r&  r  r   )r4   r5   r5   r6   r:     s
    zSendWebViewDataRequest.to_dictc             C   s4   dj d| jj tjd| j| j| j| j| jfS )Nr;   s   Bz<q)	r<   r  r=   r?   r@   r   r>   r&  r  )r4   r5   r5   r6   r=     s    
zSendWebViewDataRequest._bytesc             C   s0   |j  }|j }|j }|j }| ||||dS )N)r  r&  r  r   )rA   rC   r`   )rD   rE   r  r   Z_button_textr  r5   r5   r6   rG     s
    z"SendWebViewDataRequest.from_reader)N)rH   rI   rJ   rK   rL   rf   rN   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r%    s   			r%  c               @   s@   e Zd ZdZdZeddddZdd Zd	d
 Ze	dd Z
dS )SendWebViewResultMessageRequestiC
iur   )bot_query_idr  c             C   s   || _ || _dS )zN
        :returns WebViewMessageSent: Instance of WebViewMessageSent.
        N)r(  r  )r4   r(  r  r5   r5   r6   r7     s    z(SendWebViewResultMessageRequest.__init__c             C   s&   d| j t| jtr| jj n| jdS )Nr'  )r8   r(  r  )r(  r9   r  r   r:   )r4   r5   r5   r6   r:     s    z'SendWebViewResultMessageRequest.to_dictc             C   s   dj d| j| j| jj fS )Nr;   s   C
)r<   r>   r(  r  r=   )r4   r5   r5   r6   r=   	  s    
z&SendWebViewResultMessageRequest._bytesc             C   s   |j  }|j }| ||dS )N)r(  r  )r`   rA   )rD   rE   Z_bot_query_idr  r5   r5   r6   rG     s    z+SendWebViewResultMessageRequest.from_readerN)rH   rI   rJ   rK   rL   rf   r7   r:   r=   rO   rG   r5   r5   r5   r6   r'    s   r'  c               @   sT   e Zd ZdZdZdeeee ee ee dddZ	dd Z
d	d
 Zedd ZdS )SetBotCallbackAnswerRequestl   
+ l   gk N)r  
cache_timealertr   rT   c             C   s"   || _ || _|| _|| _|| _dS )z?
        :returns Bool: This type has no constructors.
        N)r  r*  r+  r   rT   )r4   r  r*  r+  r   rT   r5   r5   r6   r7     s
    z$SetBotCallbackAnswerRequest.__init__c             C   s   d| j | j| j| j| jdS )Nr)  )r8   r  r*  r+  r   rT   )r  r*  r+  r   rT   )r4   r5   r5   r6   r:   %  s    z#SetBotCallbackAnswerRequest.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 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   r[   rZ   r\   z<qz<i)	r<   r?   r@   r+  r   rT   r  r>   r*  )r4   r5   r5   r6   r=   /  s    Z""z"SetBotCallbackAnswerRequest._bytesc             C   sb   |j  }t|d@ }|j }|d@ r.|j }nd }|d@ rD|j }nd }|j  }| |||||dS )Nr[   rZ   r\   )r  r*  r+  r   rT   )r^   r_   rC   r`   )rD   rE   ra   Z_alertr  r   re   _cache_timer5   r5   r6   rG   9  s    

z'SetBotCallbackAnswerRequest.from_reader)NNN)rH   rI   rJ   rK   rL   rN   r   r_   rf   r7   r:   r=   rO   rG   r5   r5   r5   r6   r)    s   $


r)  c               @   sL   e Zd ZdZdZdeee ee dddZ	dd Z
d	d
 Zedd ZdS )SetBotPrecheckoutResultsRequesti	l   gk N)r  successerrorc             C   s   || _ || _|| _dS )z?
        :returns Bool: This type has no constructors.
        N)r  r.  r/  )r4   r  r.  r/  r5   r5   r6   r7   O  s    z(SetBotPrecheckoutResultsRequest.__init__c             C   s   d| j | j| jdS )Nr-  )r8   r  r.  r/  )r  r.  r/  )r4   r5   r5   r6   r:   W  s    z'SetBotPrecheckoutResultsRequest.to_dictc             C   sx   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 tjd| j| jd ksd| jdkrhdn
| j| jfS )	Nr;   s   	z<IFr   r[   rZ   z<q)r<   r?   r@   r.  r/  r  r>   )r4   r5   r5   r6   r=   _  s
    >z&SetBotPrecheckoutResultsRequest._bytesc             C   s@   |j  }t|d@ }|j }|d@ r.|j }nd }| |||dS )Nr[   rZ   )r  r.  r/  )r^   r_   rC   r`   )rD   rE   ra   Z_successr  _errorr5   r5   r6   rG   g  s    
z+SetBotPrecheckoutResultsRequest.from_reader)NN)rH   rI   rJ   rK   rL   rN   r   r_   rf   r7   r:   r=   rO   rG   r5   r5   r5   r6   r-  K  s   r-  c               @   sP   e Zd ZdZdZdeee eed  dddZ	dd	 Z
d
d Zedd ZdS )SetBotShippingResultsRequestl   rK l   gk Nr,   )r  r/  shipping_optionsc             C   s   || _ || _|| _dS )z?
        :returns Bool: This type has no constructors.
        N)r  r/  r2  )r4   r  r/  r2  r5   r5   r6   r7   x  s    z%SetBotShippingResultsRequest.__init__c             C   s,   d| j | j| jd krg ndd | jD dS )Nr1  c             S   s"   g | ]}t |tr|j n|qS r5   )r9   r   r:   )r   r   r5   r5   r6   r     s    z8SetBotShippingResultsRequest.to_dict.<locals>.<listcomp>)r8   r  r/  r2  )r  r/  r2  )r4   r5   r5   r6   r:     s    z$SetBotShippingResultsRequest.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 tjd| j| jd ksd| jdkrhd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fS )Nr;   s   rz<IFr   rZ   r[   z<qs   ĵz<ic             s   s   | ]}|j  V  qd S )N)r=   )r   r   r5   r5   r6   r     s    z6SetBotShippingResultsRequest._bytes.<locals>.<genexpr>)r<   r?   r@   r/  r2  r  r>   r   )r4   r5   r5   r6   r=     s    >"z#SetBotShippingResultsRequest._bytesc             C   sv   |j  }|j }|d@ r"|j }nd }|d@ rd|j   g }x,t|j  D ]}|j }|j| qHW nd }| |||dS )NrZ   r[   )r  r/  r2  )r^   rC   r`   r   rA   r   )rD   rE   ra   r  r0  Z_shipping_optionsr8   r   r5   r5   r6   rG     s    
z(SetBotShippingResultsRequest.from_reader)NN)rH   rI   rJ   rK   rL   rN   r   rf   r   r7   r:   r=   rO   rG   r5   r5   r5   r6   r1  t  s    	r1  c               @   sV   e Zd ZdZdZdddee ee dddZd	d
 Z	dd Z
dd Zedd ZdS ) SetChatAvailableReactionsRequestl   % l   * Nr   r   )r1   available_reactionsreactions_limitpaid_enabledc             C   s   || _ || _|| _|| _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        N)r1   r4  r5  r6  )r4   r1   r4  r5  r6  r5   r5   r6   r7     s    z)SetChatAvailableReactionsRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY     s    z(SetChatAvailableReactionsRequest.resolvec             C   sD   dt | jtr| jj n| jt | jtr2| jj n| j| j| jdS )Nr3  )r8   r1   r4  r5  r6  )r9   r1   r   r:   r4  r5  r6  )r4   r5   r5   r6   r:     s
    z(SetChatAvailableReactionsRequest.to_dictc             C   s   dj dtjd| jd ks | jdkr$dnd| jd kr4dndB | jj | jj | jd ks^| jdkrbdntjd| j| jd kr|dn| jrd	nd
fS )Nr;   s   %Kz<IFr   rZ   r[   z<is   urs   7y)r<   r?   r@   r5  r6  r1   r=   r4  )r4   r5   r5   r6   r=     s    4$z'SetChatAvailableReactionsRequest._bytesc             C   sT   |j  }|j }|j }|d@ r*|j  }nd }|d@ r@|j }nd }| ||||dS )NrZ   r[   )r1   r4  r5  r6  )r^   rA   r   )rD   rE   ra   rF   Z_available_reactionsZ_reactions_limitZ_paid_enabledr5   r5   r6   rG     s    

z,SetChatAvailableReactionsRequest.from_reader)NN)rH   rI   rJ   rK   rL   r   rN   r_   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r3    s   		
r3  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 )SetChatThemeRequestl   ?awL l   * r   )r1   r  c             C   s   || _ || _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        N)r1   r  )r4   r1   r  r5   r5   r6   r7     s    zSetChatThemeRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY     s    zSetChatThemeRequest.resolvec             C   s&   dt | jtr| jj n| j| jdS )Nr7  )r8   r1   r  )r9   r1   r   r:   r  )r4   r5   r5   r6   r:     s    zSetChatThemeRequest.to_dictc             C   s   dj d| jj | j| jfS )Nr;   s   ?;)r<   r1   r=   r>   r  )r4   r5   r5   r6   r=     s    zSetChatThemeRequest._bytesc             C   s   |j  }|j }| ||dS )N)r1   r  )rA   r`   )rD   rE   rF   r  r5   r5   r6   rG     s    zSetChatThemeRequest.from_readerN)rH   rI   rJ   rK   rL   rf   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r7    s   r7  c               @   sf   e Zd ZdZdZddee ee ed ed ee ddd	Zd
d Z	dd Z
dd Zedd ZdS )SetChatWallPaperRequestl   J l   * Nr   r%   r/   )r1   for_bothrevert	wallpapersettingsr   c             C   s(   || _ || _|| _|| _|| _|| _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        N)r1   r9  r:  r;  r<  r   )r4   r1   r9  r:  r;  r<  r   r5   r5   r6   r7      s    z SetChatWallPaperRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY      s    zSetChatWallPaperRequest.resolvec             C   sb   dt | jtr| jj n| j| j| jt | jtr:| jj n| jt | jtrT| jj n| j| jdS )Nr8  )r8   r1   r9  r:  r;  r<  r   )	r9   r1   r   r:   r9  r:  r;  r<  r   )r4   r5   r5   r6   r:      s    zSetChatWallPaperRequest.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d ks| jdkrdnd
B | 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d ks| jdkrdntjd| jfS )Nr;   s   z<IFr   r   r   rZ   r\   r[   z<i)
r<   r?   r@   r9  r:  r;  r<  r   r1   r=   )r4   r5   r5   r6   r=      s      zSetChatWallPaperRequest._bytesc       	      C   s~   |j  }t|d@ }t|d@ }|j }|d@ r:|j }nd }|d@ rP|j }nd }|d@ rf|j  }nd }| ||||||dS )Nr   r   rZ   r\   r[   )r1   r9  r:  r;  r<  r   )r^   r_   rA   )	rD   rE   ra   Z	_for_bothZ_revertrF   Z
_wallpaperZ	_settingsr   r5   r5   r6   rG   $   s    


z#SetChatWallPaperRequest.from_reader)NNNNN)rH   rI   rJ   rK   rL   r   r_   rN   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r8    s   .
r8  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 )SetDefaultHistoryTTLRequestl   Ej= l   gk )periodc             C   s
   || _ dS )z?
        :returns Bool: This type has no constructors.
        N)r>  )r4   r>  r5   r5   r6   r7   >   s    z$SetDefaultHistoryTTLRequest.__init__c             C   s   d| j dS )Nr=  )r8   r>  )r>  )r4   r5   r5   r6   r:   D   s    z#SetDefaultHistoryTTLRequest.to_dictc             C   s   dj dtjd| jfS )Nr;   s   Ez<i)r<   r?   r@   r>  )r4   r5   r5   r6   r=   J   s    z"SetDefaultHistoryTTLRequest._bytesc             C   s   |j  }| |dS )N)r>  )r^   )rD   rE   _periodr5   r5   r6   rG   P   s    z'SetDefaultHistoryTTLRequest.from_readerN)rH   rI   rJ   rK   rL   rN   r7   r:   r=   rO   rG   r5   r5   r5   r6   r=  :   s   r=  c               @   s>   e Zd ZdZdZddddZdd Zd	d
 Zedd Z	dS )SetDefaultReactionRequestiGOl   gk r)   )ri  c             C   s
   || _ dS )z?
        :returns Bool: This type has no constructors.
        N)ri  )r4   ri  r5   r5   r6   r7   Z   s    z"SetDefaultReactionRequest.__init__c             C   s"   dt | jtr| jj n| jdS )Nr@  )r8   ri  )r9   ri  r   r:   )r4   r5   r5   r6   r:   `   s    z!SetDefaultReactionRequest.to_dictc             C   s   dj d| jj fS )Nr;   s   GO)r<   ri  r=   )r4   r5   r5   r6   r=   f   s    z SetDefaultReactionRequest._bytesc             C   s   |j  }| |dS )N)ri  )rA   )rD   rE   rj  r5   r5   r6   rG   l   s    z%SetDefaultReactionRequest.from_readerN)
rH   rI   rJ   rK   rL   r7   r:   r=   rO   rG   r5   r5   r5   r6   r@  V   s   r@  c               @   s@   e Zd ZdZdZdedddZdd Zd	d
 Ze	dd Z
dS )SetEncryptedTypingRequestiQyl   gk r   )r1   typingc             C   s   || _ || _dS )z?
        :returns Bool: This type has no constructors.
        N)r1   rB  )r4   r1   rB  r5   r5   r6   r7   v   s    z"SetEncryptedTypingRequest.__init__c             C   s&   dt | jtr| jj n| j| jdS )NrA  )r8   r1   rB  )r9   r1   r   r:   rB  )r4   r5   r5   r6   r:   }   s    z!SetEncryptedTypingRequest.to_dictc             C   s    dj d| jj | jrdndfS )Nr;   s   Qys   urs   7y)r<   r1   r=   rB  )r4   r5   r5   r6   r=      s    z SetEncryptedTypingRequest._bytesc             C   s   |j  }|j }| ||dS )N)r1   rB  )rA   r   )rD   rE   rF   Z_typingr5   r5   r6   rG      s    z%SetEncryptedTypingRequest.from_readerN)rH   rI   rJ   rK   rL   r_   r7   r:   r=   rO   rG   r5   r5   r5   r6   rA  r   s   rA  c               @   sZ   e Zd ZdZdZddedeee ee dddZd	d
 Z	dd Z
dd Zedd ZdS )SetGameScoreRequestl   l l   * Nr   r$   )r1   r   ri   scoreedit_messager  c             C   s(   || _ || _|| _|| _|| _|| _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        N)r1   r   ri   rD  rE  r  )r4   r1   r   ri   rD  rE  r  r5   r5   r6   r7      s    zSetGameScoreRequest.__init__c                s8   |j |j| jI d H | _|j|j| jI d H | _d S )N)rU   rV   r1   rk   ri   )r4   rW   rX   r5   r5   r6   rY      s    zSetGameScoreRequest.resolvec             C   sL   dt | jtr| jj n| j| jt | jtr6| jj n| j| j| j| jdS )NrC  )r8   r1   r   ri   rD  rE  r  )	r9   r1   r   r:   r   ri   rD  rE  r  )r4   r5   r5   r6   r:      s    zSetGameScoreRequest.to_dictc          	   C   sr   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j tjd| j| jj tjd| j	fS )	Nr;   s   z<IFr   rZ   r[   z<i)
r<   r?   r@   rE  r  r1   r=   r   ri   rD  )r4   r5   r5   r6   r=      s    >zSetGameScoreRequest._bytesc       	      C   sT   |j  }t|d@ }t|d@ }|j }|j  }|j }|j  }| ||||||dS )NrZ   r[   )r1   r   ri   rD  rE  r  )r^   r_   rA   )	rD   rE   ra   _edit_messager  rF   r   rm   _scorer5   r5   r6   rG      s    zSetGameScoreRequest.from_reader)NN)rH   rI   rJ   rK   rL   rN   r   r_   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   rC     s   "
rC  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 )SetHistoryTTLRequestl   _p l   * r   )r1   r>  c             C   s   || _ || _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        N)r1   r>  )r4   r1   r>  r5   r5   r6   r7      s    zSetHistoryTTLRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY      s    zSetHistoryTTLRequest.resolvec             C   s&   dt | jtr| jj n| j| jdS )NrH  )r8   r1   r>  )r9   r1   r   r:   r>  )r4   r5   r5   r6   r:      s    zSetHistoryTTLRequest.to_dictc             C   s    dj d| jj tjd| jfS )Nr;   s   _z<i)r<   r1   r=   r?   r@   r>  )r4   r5   r5   r6   r=      s    zSetHistoryTTLRequest._bytesc             C   s   |j  }|j }| ||dS )N)r1   r>  )rA   r^   )rD   rE   rF   r?  r5   r5   r6   rG      s    z SetHistoryTTLRequest.from_readerN)rH   rI   rJ   rK   rL   rN   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   rH     s   rH  c            
   @   sf   e Zd ZdZdZdeed eee ee ee	 ed ed ddd	Z
d
d Zdd Zedd ZdS )SetInlineBotResultsRequestl   $%v l   gk Nr   r   r   )r  resultsr*  galleryr  next_offset	switch_pmswitch_webviewc	       	      C   s4   || _ || _|| _|| _|| _|| _|| _|| _dS )z?
        :returns Bool: This type has no constructors.
        N)r  rJ  r*  rK  r  rL  rM  rN  )	r4   r  rJ  r*  rK  r  rL  rM  rN  r5   r5   r6   r7      s    z#SetInlineBotResultsRequest.__init__c             C   sl   d| j | jd krg ndd | jD | j| j| j| jt| jtrH| jj	 n| jt| j
trb| j
j	 n| j
d	S )NrI  c             S   s"   g | ]}t |tr|j n|qS r5   )r9   r   r:   )r   r   r5   r5   r6   r      s    z6SetInlineBotResultsRequest.to_dict.<locals>.<listcomp>)	r8   r  rJ  r*  rK  r  rL  rM  rN  )r  rJ  r*  rK  r  rL  r9   rM  r   r:   rN  )r4   r5   r5   r6   r:      s    z"SetInlineBotResultsRequest.to_dictc             C   sF  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d ks| jdkrdnd
B tjd| jdtjdt	| j
dj dd | j
D tjd| j| jd ks| jdkrdn
| j| j| jd ks| jdkrdn| jj | jd ks4| jdkr8dn| jj f
S )Nr;   s   z<IFr   rZ   r[   r\   r   r   z<qs   ĵz<ic             s   s   | ]}|j  V  qd S )N)r=   )r   r   r5   r5   r6   r   !  s    z4SetInlineBotResultsRequest._bytes.<locals>.<genexpr>)r<   r?   r@   rK  r  rL  rM  rN  r  r   rJ  r*  r>   r=   )r4   r5   r5   r6   r=   !  s    &"$z!SetInlineBotResultsRequest._bytesc          
   C   s   |j  }t|d@ }t|d@ }|j }|j   g }x&t|j  D ]}|j }|j| qBW |j  }	|d@ rv|j }
nd }
|d@ r|j }nd }|d@ r|j }nd }| |||	|||
||dS )NrZ   r[   r\   r   r   )r  rJ  r*  rK  r  rL  rM  rN  )r^   r_   rC   r   rA   r   r`   )rD   rE   ra   Z_galleryr  r  Z_resultsr8   r   r,  Z_next_offsetZ
_switch_pmZ_switch_webviewr5   r5   r6   rG   !  s(    


z&SetInlineBotResultsRequest.from_reader)NNNNN)rH   rI   rJ   rK   rL   rN   r   r   r_   rf   r7   r:   r=   rO   rG   r5   r5   r5   r6   rI     s   6rI  c               @   sX   e Zd ZdZdZdddeee ee dddZd	d
 Z	dd Z
dd Zedd ZdS )SetInlineGameScoreRequestidl   gk Nr   r$   )r   ri   rD  rE  r  c             C   s"   || _ || _|| _|| _|| _dS )z?
        :returns Bool: This type has no constructors.
        N)r   ri   rD  rE  r  )r4   r   ri   rD  rE  r  r5   r5   r6   r7   5!  s
    z"SetInlineGameScoreRequest.__init__c                s   |j |j| jI d H | _d S )N)rk   rV   ri   )r4   rW   rX   r5   r5   r6   rY   ?!  s    z!SetInlineGameScoreRequest.resolvec             C   sH   dt | jtr| jj n| jt | jtr2| jj n| j| j| j| jdS )NrO  )r8   r   ri   rD  rE  r  )r9   r   r   r:   ri   rD  rE  r  )r4   r5   r5   r6   r:   B!  s    z!SetInlineGameScoreRequest.to_dictc             C   sf   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j | jj tjd| jfS )	Nr;   s   dz<IFr   rZ   r[   z<i)	r<   r?   r@   rE  r  r   r=   ri   rD  )r4   r5   r5   r6   r=   L!  s    >z SetInlineGameScoreRequest._bytesc             C   sJ   |j  }t|d@ }t|d@ }|j }|j }|j  }| |||||dS )NrZ   r[   )r   ri   rD  rE  r  )r^   r_   rA   )rD   rE   ra   rF  r  r   rm   rG  r5   r5   r6   rG   U!  s    z%SetInlineGameScoreRequest.from_reader)NN)rH   rI   rJ   rK   rL   rN   r   r_   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   rO  1!  s    

	rO  c               @   sP   e Zd ZdZdZdddee dddZd	d
 Zdd Z	dd Z
edd ZdS )SetTypingRequesti>Xl   gk Nr   r+   )r1   actionr   c             C   s   || _ || _|| _dS )z?
        :returns Bool: This type has no constructors.
        N)r1   rQ  r   )r4   r1   rQ  r   r5   r5   r6   r7   e!  s    zSetTypingRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY   m!  s    zSetTypingRequest.resolvec             C   s@   dt | jtr| jj n| jt | jtr2| jj n| j| jdS )NrP  )r8   r1   rQ  r   )r9   r1   r   r:   rQ  r   )r4   r5   r5   r6   r:   p!  s    zSetTypingRequest.to_dictc             C   sb   dj dtjd| jd ks | jdkr$dnd| jj | jd ksD| jdkrHdntjd| j| jj fS )Nr;   s   >Xz<IFr   rZ   z<i)r<   r?   r@   r   r1   r=   rQ  )r4   r5   r5   r6   r=   x!  s    "$zSetTypingRequest._bytesc             C   s<   |j  }|j }|d@ r"|j  }nd }|j }| |||dS )NrZ   )r1   rQ  r   )r^   rA   )rD   rE   ra   rF   r   _actionr5   r5   r6   rG   !  s    
zSetTypingRequest.from_reader)N)rH   rI   rJ   rK   rL   r   rN   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   rP  a!  s   	rP  c               @   sN   e Zd ZdZdZdddeedddZd	d
 Zdd Z	dd Z
edd ZdS )StartBotRequestl   xsM l   * Nr$   r   )r  r1   r  r   c             C   s:   || _ || _|| _|dk	r|ntjtjdddd| _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        Nr   r   T)r   )r  r1   r  rN   r   r   r   r   )r4   r  r1   r  r   r5   r5   r6   r7   !  s    zStartBotRequest.__init__c                s8   |j |j| jI d H | _|j|j| jI d H | _d S )N)rk   rV   r  rU   r1   )r4   rW   rX   r5   r5   r6   rY   !  s    zStartBotRequest.resolvec             C   sD   dt | jtr| jj n| jt | jtr2| jj n| j| j| jdS )NrS  )r8   r  r1   r  r   )r9   r  r   r:   r1   r  r   )r4   r5   r5   r6   r:   !  s
    zStartBotRequest.to_dictc             C   s2   dj d| jj | jj tjd| j| j| jfS )Nr;   s   xsz<q)	r<   r  r=   r1   r?   r@   r   r>   r  )r4   r5   r5   r6   r=   !  s    zStartBotRequest._bytesc             C   s0   |j  }|j  }|j }|j }| ||||dS )N)r  r1   r  r   )rA   rC   r`   )rD   rE   r  rF   r   r  r5   r5   r6   rG   !  s
    zStartBotRequest.from_reader)N)rH   rI   rJ   rK   rL   rf   rN   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   rS  !  s   			rS  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 )StartHistoryImportRequestl   Ds{h l   gk r   )r1   	import_idc             C   s   || _ || _dS )z?
        :returns Bool: This type has no constructors.
        N)r1   rU  )r4   r1   rU  r5   r5   r6   r7   !  s    z"StartHistoryImportRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY   !  s    z!StartHistoryImportRequest.resolvec             C   s&   dt | jtr| jj n| j| jdS )NrT  )r8   r1   rU  )r9   r1   r   r:   rU  )r4   r5   r5   r6   r:   !  s    z!StartHistoryImportRequest.to_dictc             C   s    dj d| jj tjd| jfS )Nr;   s   D=z<q)r<   r1   r=   r?   r@   rU  )r4   r5   r5   r6   r=   !  s    z StartHistoryImportRequest._bytesc             C   s   |j  }|j }| ||dS )N)r1   rU  )rA   rC   )rD   rE   rF   
_import_idr5   r5   r6   rG   !  s    z%StartHistoryImportRequest.from_readerN)rH   rI   rJ   rK   rL   rN   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   rT  !  s   rT  c               @   sP   e Zd ZdZdZddeee dddZdd	 Zd
d Z	dd Z
edd ZdS )ToggleBotInAttachMenuRequestiiil   gk Nr$   )r  enabledrQ   c             C   s   || _ || _|| _dS )z?
        :returns Bool: This type has no constructors.
        N)r  rX  rQ   )r4   r  rX  rQ   r5   r5   r6   r7   !  s    z%ToggleBotInAttachMenuRequest.__init__c                s   |j |j| jI d H | _d S )N)rk   rV   r  )r4   rW   rX   r5   r5   r6   rY   !  s    z$ToggleBotInAttachMenuRequest.resolvec             C   s*   dt | jtr| jj n| j| j| jdS )NrW  )r8   r  rX  rQ   )r9   r  r   r:   rX  rQ   )r4   r5   r5   r6   r:   !  s    z$ToggleBotInAttachMenuRequest.to_dictc             C   sB   dj dtjd| jd ks | jdkr$dnd| jj | jr:dndfS )	Nr;   s   iiz<IFr   rZ   s   urs   7y)r<   r?   r@   rQ   r  r=   rX  )r4   r5   r5   r6   r=   !  s
    "z#ToggleBotInAttachMenuRequest._bytesc             C   s2   |j  }t|d@ }|j }|j }| |||dS )NrZ   )r  rX  rQ   )r^   r_   rA   r   )rD   rE   ra   rb   r  _enabledr5   r5   r6   rG   !  s
    z(ToggleBotInAttachMenuRequest.from_reader)N)rH   rI   rJ   rK   rL   r_   r   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   rW  !  s   rW  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 )ToggleDialogFilterTagsRequestl   IZ[z l   gk )rX  c             C   s
   || _ dS )z?
        :returns Bool: This type has no constructors.
        N)rX  )r4   rX  r5   r5   r6   r7   
"  s    z&ToggleDialogFilterTagsRequest.__init__c             C   s   d| j dS )NrZ  )r8   rX  )rX  )r4   r5   r5   r6   r:   "  s    z%ToggleDialogFilterTagsRequest.to_dictc             C   s   dj d| jrdndfS )Nr;   s   I-s   urs   7y)r<   rX  )r4   r5   r5   r6   r=   "  s    z$ToggleDialogFilterTagsRequest._bytesc             C   s   |j  }| |dS )N)rX  )r   )rD   rE   rY  r5   r5   r6   rG   "  s    z)ToggleDialogFilterTagsRequest.from_readerN)rH   rI   rJ   rK   rL   r_   r7   r:   r=   rO   rG   r5   r5   r5   r6   rZ  "  s   rZ  c               @   sN   e Zd ZdZdZddee dddZdd	 Zd
d Z	dd Z
edd ZdS )ToggleDialogPinRequestl   WbcN l   gk Nr   )r1   pinnedc             C   s   || _ || _dS )z?
        :returns Bool: This type has no constructors.
        N)r1   r\  )r4   r1   r\  r5   r5   r6   r7   &"  s    zToggleDialogPinRequest.__init__c                s   |j | jI d H | _d S )N)rx  r1   )r4   rW   rX   r5   r5   r6   rY   -"  s    zToggleDialogPinRequest.resolvec             C   s&   dt | jtr| jj n| j| jdS )Nr[  )r8   r1   r\  )r9   r1   r   r:   r\  )r4   r5   r5   r6   r:   0"  s    zToggleDialogPinRequest.to_dictc             C   s6   dj dtjd| jd ks | jdkr$dnd| jj fS )Nr;   s   W1z<IFr   rZ   )r<   r?   r@   r\  r1   r=   )r4   r5   r5   r6   r=   7"  s    "zToggleDialogPinRequest._bytesc             C   s(   |j  }t|d@ }|j }| ||dS )NrZ   )r1   r\  )r^   r_   rA   )rD   rE   ra   _pinnedrF   r5   r5   r6   rG   >"  s    z"ToggleDialogPinRequest.from_reader)N)rH   rI   rJ   rK   rL   r   r_   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   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 )ToggleNoForwardsRequestl   /=b l   * r   )r1   rX  c             C   s   || _ || _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        N)r1   rX  )r4   r1   rX  r5   r5   r6   r7   K"  s    z ToggleNoForwardsRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY   R"  s    zToggleNoForwardsRequest.resolvec             C   s&   dt | jtr| jj n| j| jdS )Nr^  )r8   r1   rX  )r9   r1   r   r:   rX  )r4   r5   r5   r6   r:   U"  s    zToggleNoForwardsRequest.to_dictc             C   s    dj d| jj | jrdndfS )Nr;   s   s   urs   7y)r<   r1   r=   rX  )r4   r5   r5   r6   r=   \"  s    zToggleNoForwardsRequest._bytesc             C   s   |j  }|j }| ||dS )N)r1   rX  )rA   r   )rD   rE   rF   rY  r5   r5   r6   rG   c"  s    z#ToggleNoForwardsRequest.from_readerN)rH   rI   rJ   rK   rL   r_   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r^  G"  s   r^  c               @   sJ   e Zd ZdZdZdeddddZdd	 Zd
d Zdd Z	e
dd ZdS ) TogglePaidReactionPrivacyRequestiXCl   gk r   r(   )r1   rR   r  c             C   s   || _ || _|| _dS )z?
        :returns Bool: This type has no constructors.
        N)r1   rR   r  )r4   r1   rR   r  r5   r5   r6   r7   n"  s    z)TogglePaidReactionPrivacyRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY   v"  s    z(TogglePaidReactionPrivacyRequest.resolvec             C   s@   dt | jtr| jj n| j| jt | jtr6| jj n| jdS )Nr_  )r8   r1   rR   r  )r9   r1   r   r:   rR   r  )r4   r5   r5   r6   r:   y"  s    z(TogglePaidReactionPrivacyRequest.to_dictc             C   s(   dj d| jj tjd| j| jj fS )Nr;   s   XCz<i)r<   r1   r=   r?   r@   rR   r  )r4   r5   r5   r6   r=   "  s
    z'TogglePaidReactionPrivacyRequest._bytesc             C   s&   |j  }|j }|j  }| |||dS )N)r1   rR   r  )rA   r^   )rD   rE   rF   rc   r  r5   r5   r6   rG   "  s    z,TogglePaidReactionPrivacyRequest.from_readerN)rH   rI   rJ   rK   rL   rN   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r_  j"  s   r_  c               @   sN   e Zd ZdZdZddee dddZdd	 Zd
d Z	dd Z
edd ZdS )TogglePeerTranslationsRequestl   y5H l   gk Nr   )r1   disabledc             C   s   || _ || _dS )z?
        :returns Bool: This type has no constructors.
        N)r1   ra  )r4   r1   ra  r5   r5   r6   r7   "  s    z&TogglePeerTranslationsRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY   "  s    z%TogglePeerTranslationsRequest.resolvec             C   s&   dt | jtr| jj n| j| jdS )Nr`  )r8   r1   ra  )r9   r1   r   r:   ra  )r4   r5   r5   r6   r:   "  s    z%TogglePeerTranslationsRequest.to_dictc             C   s6   dj dtjd| jd ks | jdkr$dnd| jj fS )Nr;   s   y|z<IFr   rZ   )r<   r?   r@   ra  r1   r=   )r4   r5   r5   r6   r=   "  s    "z$TogglePeerTranslationsRequest._bytesc             C   s(   |j  }t|d@ }|j }| ||dS )NrZ   )r1   ra  )r^   r_   rA   )rD   rE   ra   Z	_disabledrF   r5   r5   r6   rG   "  s    z)TogglePeerTranslationsRequest.from_reader)N)rH   rI   rJ   rK   rL   r   r_   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   r`  "  s   r`  c               @   sN   e Zd ZdZdZddee dddZdd	 Zd
d Z	dd Z
edd ZdS )ToggleSavedDialogPinRequestl   ;Y l   gk Nr   )r1   r\  c             C   s   || _ || _dS )z?
        :returns Bool: This type has no constructors.
        N)r1   r\  )r4   r1   r\  r5   r5   r6   r7   "  s    z$ToggleSavedDialogPinRequest.__init__c                s   |j | jI d H | _d S )N)rx  r1   )r4   rW   rX   r5   r5   r6   rY   "  s    z#ToggleSavedDialogPinRequest.resolvec             C   s&   dt | jtr| jj n| j| jdS )Nrb  )r8   r1   r\  )r9   r1   r   r:   r\  )r4   r5   r5   r6   r:   "  s    z#ToggleSavedDialogPinRequest.to_dictc             C   s6   dj dtjd| jd ks | jdkr$dnd| jj fS )Nr;   s   ޻z<IFr   rZ   )r<   r?   r@   r\  r1   r=   )r4   r5   r5   r6   r=   "  s    "z"ToggleSavedDialogPinRequest._bytesc             C   s(   |j  }t|d@ }|j }| ||dS )NrZ   )r1   r\  )r^   r_   rA   )rD   rE   ra   r]  rF   r5   r5   r6   rG   "  s    z'ToggleSavedDialogPinRequest.from_reader)N)rH   rI   rJ   rK   rL   r   r_   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   rb  "  s   rb  c               @   sV   e Zd ZdZdZded ee ee ee dddZdd	 Z	d
d Z
edd ZdS )ToggleStickerSetsRequestl   /
j l   gk Nr"   )stickersets	uninstallarchive	unarchivec             C   s   || _ || _|| _|| _dS )z?
        :returns Bool: This type has no constructors.
        N)rd  re  rf  rg  )r4   rd  re  rf  rg  r5   r5   r6   r7   "  s    z!ToggleStickerSetsRequest.__init__c             C   s0   d| j d krg ndd | j D | j| j| jdS )Nrc  c             S   s"   g | ]}t |tr|j n|qS r5   )r9   r   r:   )r   r   r5   r5   r6   r   "  s    z4ToggleStickerSetsRequest.to_dict.<locals>.<listcomp>)r8   rd  re  rf  rg  )rd  re  rf  rg  )r4   r5   r5   r6   r:   "  s
    z ToggleStickerSetsRequest.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 d	tjd
t| jdj dd | jD fS )Nr;   s   /z<IFr   rZ   r[   r\   s   ĵz<ic             s   s   | ]}|j  V  qd S )N)r=   )r   r   r5   r5   r6   r   "  s    z2ToggleStickerSetsRequest._bytes.<locals>.<genexpr>)r<   r?   r@   re  rf  rg  r   rd  )r4   r5   r5   r6   r=   "  s    ZzToggleStickerSetsRequest._bytesc       	      C   sp   |j  }t|d@ }t|d@ }t|d@ }|j   g }x&t|j  D ]}|j }|j| qFW | ||||dS )NrZ   r[   r\   )rd  re  rf  rg  )r^   r_   r   rA   r   )	rD   rE   ra   Z
_uninstallZ_archiveZ
_unarchiveZ_stickersetsr8   r   r5   r5   r6   rG   "  s    z$ToggleStickerSetsRequest.from_reader)NNN)rH   rI   rJ   rK   rL   r   r   r_   r7   r:   r=   rO   rG   r5   r5   r5   r6   rc  "  s   &		rc  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 )TranscribeAudioRequestiI&i6I!r   )r1   rR   c             C   s   || _ || _dS )zS
        :returns messages.TranscribedAudio: Instance of TranscribedAudio.
        N)r1   rR   )r4   r1   rR   r5   r5   r6   r7   #  s    zTranscribeAudioRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY   #  s    zTranscribeAudioRequest.resolvec             C   s&   dt | jtr| jj n| j| jdS )Nrh  )r8   r1   rR   )r9   r1   r   r:   rR   )r4   r5   r5   r6   r:   #  s    zTranscribeAudioRequest.to_dictc             C   s    dj d| jj tjd| jfS )Nr;   s   I&z<i)r<   r1   r=   r?   r@   rR   )r4   r5   r5   r6   r=   #  s    zTranscribeAudioRequest._bytesc             C   s   |j  }|j }| ||dS )N)r1   rR   )rA   r^   )rD   rE   rF   rc   r5   r5   r6   rG   $#  s    z"TranscribeAudioRequest.from_readerN)rH   rI   rJ   rK   rL   rN   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   rh  #  s   rh  c               @   sb   e Zd ZdZdZdeed eee  eed  dddZ	d	d
 Z
dd Zdd Zedd ZdS )TranslateTextRequesti00ciCBNr   r.   )to_langr1   r   r   c             C   s   || _ || _|| _|| _dS )zP
        :returns messages.TranslatedText: Instance of TranslateResult.
        N)rj  r1   r   r   )r4   rj  r1   r   r   r5   r5   r6   r7   /#  s    zTranslateTextRequest.__init__c                s$   | j r |j|j| j I d H | _ d S )N)r1   rU   rV   )r4   rW   rX   r5   r5   r6   rY   8#  s    zTranslateTextRequest.resolvec             C   s\   d| j t| jtr| jj n| j| jd kr.g n| jd d  | jd krHg ndd | jD dS )Nri  c             S   s"   g | ]}t |tr|j n|qS r5   )r9   r   r:   )r   r   r5   r5   r6   r   B#  s    z0TranslateTextRequest.to_dict.<locals>.<listcomp>)r8   rj  r1   r   r   )rj  r9   r1   r   r:   r   r   )r4   r5   r5   r6   r:   <#  s
    zTranslateTextRequest.to_dictc             C   sp  | 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| 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r2dn.djd	tjd
t| jdjdd | jD f| j	| j
fS )NFzDpeer, id parameters must all be False-y (like None) or all me True-yr;   s   00cz<Ir   rZ   r[   s   ĵz<ic             s   s   | ]}t jd |V  qdS )z<iN)r?   r@   )r   r   r5   r5   r6   r   K#  s    z.TranslateTextRequest._bytes.<locals>.<genexpr>c             s   s   | ]}|j  V  qd S )N)r=   )r   r   r5   r5   r6   r   L#  s    )r1   r   r]   r<   r?   r@   r   r=   r   r>   rj  )r4   r5   r5   r6   r=   E#  s    PZ FJzTranslateTextRequest._bytesc       	      C   s   |j  }|d@ r|j }nd }|d@ r\|j   g }x,t|j  D ]}|j  }|j| q@W nd }|d@ r|j   g }x,t|j  D ]}|j }|j| qW nd }|j }| ||||dS )NrZ   r[   )rj  r1   r   r   )r^   rA   r   r   r`   )	rD   rE   ra   rF   r   r8   r   r   Z_to_langr5   r5   r6   rG   P#  s(    
z TranslateTextRequest.from_reader)NNN)rH   rI   rJ   rK   rL   rf   r   r   rN   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   ri  +#  s   *		ri  c               @   s>   e Zd ZdZdZddddZdd Zd	d
 Zedd Z	dS )UninstallStickerSetRequestl   Ur l   gk r"   )r  c             C   s
   || _ dS )z?
        :returns Bool: This type has no constructors.
        N)r  )r4   r  r5   r5   r6   r7   r#  s    z#UninstallStickerSetRequest.__init__c             C   s"   dt | jtr| jj n| jdS )Nrk  )r8   r  )r9   r  r   r:   )r4   r5   r5   r6   r:   x#  s    z"UninstallStickerSetRequest.to_dictc             C   s   dj d| jj fS )Nr;   s   Un)r<   r  r=   )r4   r5   r5   r6   r=   ~#  s    z!UninstallStickerSetRequest._bytesc             C   s   |j  }| |dS )N)r  )rA   )rD   rE   r  r5   r5   r6   rG   #  s    z&UninstallStickerSetRequest.from_readerN)
rH   rI   rJ   rK   rL   r7   r:   r=   rO   rG   r5   r5   r5   r6   rk  n#  s   rk  c               @   sN   e Zd ZdZdZddee dddZdd	 Zd
d Z	dd Z
edd ZdS )UnpinAllMessagesRequestl   9E\ iI,Nr   )r1   r   c             C   s   || _ || _dS )zQ
        :returns messages.AffectedHistory: Instance of AffectedHistory.
        N)r1   r   )r4   r1   r   r5   r5   r6   r7   #  s    z UnpinAllMessagesRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY   #  s    zUnpinAllMessagesRequest.resolvec             C   s&   dt | jtr| jj n| j| jdS )Nrl  )r8   r1   r   )r9   r1   r   r:   r   )r4   r5   r5   r6   r:   #  s    zUnpinAllMessagesRequest.to_dictc             C   sZ   dj dtjd| jd ks | jdkr$dnd| jj | jd ksD| jdkrHdntjd| jfS )Nr;   s   "z<IFr   rZ   z<i)r<   r?   r@   r   r1   r=   )r4   r5   r5   r6   r=   #  s
    "zUnpinAllMessagesRequest._bytesc             C   s2   |j  }|j }|d@ r"|j  }nd }| ||dS )NrZ   )r1   r   )r^   rA   )rD   rE   ra   rF   r   r5   r5   r6   rG   #  s    
z#UnpinAllMessagesRequest.from_reader)N)rH   rI   rJ   rK   rL   r   rN   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   rl  #  s   rl  c               @   sF   e Zd ZdZdZdeed dddZdd	 Zd
d Z	e
dd ZdS )UpdateDialogFilterRequestiJl   gk Nr   )r   r  c             C   s   || _ || _dS )z?
        :returns Bool: This type has no constructors.
        N)r   r  )r4   r   r  r5   r5   r6   r7   #  s    z"UpdateDialogFilterRequest.__init__c             C   s&   d| j t| jtr| jj n| jdS )Nrm  )r8   r   r  )r   r9   r  r   r:   )r4   r5   r5   r6   r:   #  s    z!UpdateDialogFilterRequest.to_dictc             C   sZ   dj dtjd| jd ks | jdkr$dndtjd| j| jd ksH| jdkrLdn| jj fS )Nr;   s   Jz<IFr   rZ   z<i)r<   r?   r@   r  r   r=   )r4   r5   r5   r6   r=   #  s
    "z UpdateDialogFilterRequest._bytesc             C   s2   |j  }|j  }|d@ r"|j }nd }| ||dS )NrZ   )r   r  )r^   rA   )rD   rE   ra   r   r  r5   r5   r6   rG   #  s    
z%UpdateDialogFilterRequest.from_reader)N)rH   rI   rJ   rK   rL   rN   r   r7   r:   r=   rO   rG   r5   r5   r5   r6   rm  #  s   rm  c               @   sB   e Zd ZdZdZee dddZdd Zdd	 Z	e
d
d ZdS )UpdateDialogFiltersOrderRequestl   A
 l   gk )r  c             C   s
   || _ dS )z?
        :returns Bool: This type has no constructors.
        N)r  )r4   r  r5   r5   r6   r7   #  s    z(UpdateDialogFiltersOrderRequest.__init__c             C   s"   d| j d krg n| j d d  dS )Nrn  )r8   r  )r  )r4   r5   r5   r6   r:   #  s    z'UpdateDialogFiltersOrderRequest.to_dictc             C   s2   dj ddtjdt| jdj dd | jD fS )Nr;   s   cs   ĵz<ic             s   s   | ]}t jd |V  qdS )z<iN)r?   r@   )r   r   r5   r5   r6   r   #  s    z9UpdateDialogFiltersOrderRequest._bytes.<locals>.<genexpr>)r<   r?   r@   r   r  )r4   r5   r5   r6   r=   #  s    z&UpdateDialogFiltersOrderRequest._bytesc             C   s>   |j   g }x&t|j  D ]}|j  }|j| qW | |dS )N)r  )r^   r   r   )rD   rE   r  r8   r   r5   r5   r6   rG   #  s    z+UpdateDialogFiltersOrderRequest.from_readerN)rH   rI   rJ   rK   rL   r   rN   r7   r:   r=   rO   rG   r5   r5   r5   r6   rn  #  s   rn  c               @   s\   e Zd ZdZdZdd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 )UpdatePinnedMessageRequestl   wU% l   * Nr   )r1   r   r   unpin
pm_onesidec             C   s"   || _ || _|| _|| _|| _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        N)r1   r   r   rp  rq  )r4   r1   r   r   rp  rq  r5   r5   r6   r7   #  s
    z#UpdatePinnedMessageRequest.__init__c                s   |j |j| jI d H | _d S )N)rU   rV   r1   )r4   rW   rX   r5   r5   r6   rY   $  s    z"UpdatePinnedMessageRequest.resolvec             C   s2   dt | jtr| jj n| j| j| j| j| jdS )Nro  )r8   r1   r   r   rp  rq  )r9   r1   r   r:   r   r   rp  rq  )r4   r5   r5   r6   r:   $  s    z"UpdatePinnedMessageRequest.to_dictc             C   sz   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fS )
Nr;   s   z<IFr   rZ   r[   r\   z<i)	r<   r?   r@   r   rp  rq  r1   r=   r   )r4   r5   r5   r6   r=   $  s
    Zz!UpdatePinnedMessageRequest._bytesc             C   sN   |j  }t|d@ }t|d@ }t|d@ }|j }|j  }| |||||dS )NrZ   r[   r\   )r1   r   r   rp  rq  )r^   r_   rA   )rD   rE   ra   r   Z_unpinZ_pm_onesiderF   r   r5   r5   r6   rG   $  s    z&UpdatePinnedMessageRequest.from_reader)NNN)rH   rI   rJ   rK   rL   rN   r   r_   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   ro  #  s   $

ro  c               @   sF   e Zd ZdZdZddee dddZdd	 Zd
d Z	e
dd ZdS )UpdateSavedReactionTagRequesti})`l   gk Nr)   )ri  r   c             C   s   || _ || _dS )z?
        :returns Bool: This type has no constructors.
        N)ri  r   )r4   ri  r   r5   r5   r6   r7   -$  s    z&UpdateSavedReactionTagRequest.__init__c             C   s&   dt | jtr| jj n| j| jdS )Nrr  )r8   ri  r   )r9   ri  r   r:   r   )r4   r5   r5   r6   r:   4$  s    z%UpdateSavedReactionTagRequest.to_dictc             C   sX   dj dtjd| jd ks | jdkr$dnd| jj | jd ksD| jdkrHdn
| j| jfS )Nr;   s   })`z<IFr   rZ   )r<   r?   r@   r   ri  r=   r>   )r4   r5   r5   r6   r=   ;$  s
    "z$UpdateSavedReactionTagRequest._bytesc             C   s2   |j  }|j }|d@ r"|j }nd }| ||dS )NrZ   )ri  r   )r^   rA   r`   )rD   rE   ra   rj  r   r5   r5   r6   rG   C$  s    
z)UpdateSavedReactionTagRequest.from_reader)N)rH   rI   rJ   rK   rL   r   rf   r7   r:   r=   rO   rG   r5   r5   r5   r6   rr  )$  s   rr  c               @   s@   e Zd ZdZdZdddddZdd	 Zd
d Zedd Z	dS )UploadEncryptedFileRequestiWPl   gT r   r   )r1   r  c             C   s   || _ || _dS )z_
        :returns EncryptedFile: Instance of either EncryptedFileEmpty, EncryptedFile.
        N)r1   r  )r4   r1   r  r5   r5   r6   r7   S$  s    z#UploadEncryptedFileRequest.__init__c             C   s<   dt | jtr| jj n| jt | jtr2| jj n| jdS )Nrs  )r8   r1   r  )r9   r1   r   r:   r  )r4   r5   r5   r6   r:   Z$  s    z"UploadEncryptedFileRequest.to_dictc             C   s   dj d| jj | jj fS )Nr;   s   WP)r<   r1   r=   r  )r4   r5   r5   r6   r=   a$  s    z!UploadEncryptedFileRequest._bytesc             C   s   |j  }|j  }| ||dS )N)r1   r  )rA   )rD   rE   rF   r  r5   r5   r6   rG   h$  s    z&UploadEncryptedFileRequest.from_readerN)
rH   rI   rJ   rK   rL   r7   r:   r=   rO   rG   r5   r5   r5   r6   rs  O$  s   rs  c               @   sL   e Zd ZdZdZdeeddddZdd	 Zd
d Z	dd Z
edd ZdS )UploadImportedMediaRequesti *i2lGr   r   )r1   rU  	file_namer   c             C   s   || _ || _|| _|| _dS )a  
        :returns MessageMedia: Instance of either MessageMediaEmpty, MessageMediaPhoto, MessageMediaGeo, MessageMediaContact, MessageMediaUnsupported, MessageMediaDocument, MessageMediaWebPage, MessageMediaVenue, MessageMediaGame, MessageMediaInvoice, MessageMediaGeoLive, MessageMediaPoll, MessageMediaDice, MessageMediaStory, MessageMediaGiveaway, MessageMediaGiveawayResults, MessageMediaPaidMedia.
        N)r1   rU  ru  r   )r4   r1   rU  ru  r   r5   r5   r6   r7   s$  s    z#UploadImportedMediaRequest.__init__c                s,   |j |j| jI d H | _|j| j| _d S )N)rU   rV   r1   r   r   )r4   rW   rX   r5   r5   r6   rY   |$  s    z"UploadImportedMediaRequest.resolvec             C   sD   dt | jtr| jj n| j| j| jt | jtr:| jj n| jdS )Nrt  )r8   r1   rU  ru  r   )r9   r1   r   r:   rU  ru  r   )r4   r5   r5   r6   r:   $  s
    z"UploadImportedMediaRequest.to_dictc             C   s2   dj d| jj tjd| j| j| j| jj fS )Nr;   s    *z<q)	r<   r1   r=   r?   r@   rU  r>   ru  r   )r4   r5   r5   r6   r=   $  s    
z!UploadImportedMediaRequest._bytesc             C   s0   |j  }|j }|j }|j  }| ||||dS )N)r1   rU  ru  r   )rA   rC   r`   )rD   rE   rF   rV  Z
_file_namer   r5   r5   r6   rG   $  s
    z&UploadImportedMediaRequest.from_readerN)rH   rI   rJ   rK   rL   rN   rf   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   rt  o$  s   			rt  c               @   sP   e Zd ZdZdZdddee dddZd	d
 Zdd Z	dd Z
edd ZdS )UploadMediaRequestixyi2lGNr   r   )r1   r   business_connection_idc             C   s   || _ || _|| _dS )a  
        :returns MessageMedia: Instance of either MessageMediaEmpty, MessageMediaPhoto, MessageMediaGeo, MessageMediaContact, MessageMediaUnsupported, MessageMediaDocument, MessageMediaWebPage, MessageMediaVenue, MessageMediaGame, MessageMediaInvoice, MessageMediaGeoLive, MessageMediaPoll, MessageMediaDice, MessageMediaStory, MessageMediaGiveaway, MessageMediaGiveawayResults, MessageMediaPaidMedia.
        N)r1   r   rw  )r4   r1   r   rw  r5   r5   r6   r7   $  s    zUploadMediaRequest.__init__c                s,   |j |j| jI d H | _|j| j| _d S )N)rU   rV   r1   r   r   )r4   rW   rX   r5   r5   r6   rY   $  s    zUploadMediaRequest.resolvec             C   s@   dt | jtr| jj n| jt | jtr2| jj n| j| jdS )Nrv  )r8   r1   r   rw  )r9   r1   r   r:   r   rw  )r4   r5   r5   r6   r:   $  s    zUploadMediaRequest.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
| j| j| jj | jj fS )Nr;   s   xyz<IFr   rZ   )r<   r?   r@   rw  r>   r1   r=   r   )r4   r5   r5   r6   r=   $  s    ""zUploadMediaRequest._bytesc             C   s<   |j  }|d@ r|j }nd }|j }|j }| |||dS )NrZ   )r1   r   rw  )r^   r`   rA   )rD   rE   ra   Z_business_connection_idrF   r   r5   r5   r6   rG   $  s    
zUploadMediaRequest.from_reader)N)rH   rI   rJ   rK   rL   r   rf   r7   rY   r:   r=   rO   rG   r5   r5   r5   r6   rv  $  s   	rv  c               @   s@   e Zd ZdZdZdedddZdd Zd	d
 Ze	dd Z
dS )ViewSponsoredMessageRequestiC6&l   gk N)r   c             C   s(   |dk	r|nt jtjdddd| _dS )z?
        :returns Bool: This type has no constructors.
        Nr\   r   T)r   )rN   r   r   r   r   )r4   r   r5   r5   r6   r7   $  s    z$ViewSponsoredMessageRequest.__init__c             C   s   d| j dS )Nrx  )r8   r   )r   )r4   r5   r5   r6   r:   $  s    z#ViewSponsoredMessageRequest.to_dictc             C   s   dj d| j| jfS )Nr;   s   C6&)r<   r>   r   )r4   r5   r5   r6   r=   $  s    z"ViewSponsoredMessageRequest._bytesc             C   s   |j  }| |dS )N)r   )rB   )rD   rE   r   r5   r5   r6   rG   $  s    z'ViewSponsoredMessageRequest.from_reader)N)rH   rI   rJ   rK   rL   rM   r7   r:   r=   rO   rG   r5   r5   r5   r6   rx  $  s   rx  (  __doc__Ztl.tlobjectr   r   rB  r   r   r   r   r   r?   r	   Ztl.typesr
   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$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   rP   rg   rn   rq   rs   rt   rw   ry   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   r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r'  r(  r)  r+  r-  r.  r2  r4  r6  r=  r>  rD  rE  rH  rJ  rL  rM  rN  rO  rP  rQ  rR  rT  rU  rV  rW  rX  rY  rZ  r[  r`  re  rf  rg  rh  rk  rl  rm  rn  rp  rq  rr  rs  rt  rv  ry  rz  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  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  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  r  r  r  r  r  r  r  r  r  r   r!  r"  r%  r'  r)  r-  r1  r3  r7  r8  r=  r@  rA  rC  rH  rI  rO  rP  rS  rT  rW  rZ  r[  r^  r_  r`  rb  rc  rh  ri  rk  rl  rm  rn  ro  rr  rs  rt  rv  rx  r5   r5   r5   r6   <module>   s  $?'%6)##:'%$4("#'## E'J] D#z) 7C!'! <#$ !#=(((;6##8#((, $#(#8#/' "?5;*#(;77   == +,*' %>+' !#)!)!2.!*0.( A'?G<\$O#2)p &N$&;5*.$_  l558(',+ 4)24#= 5#G0-,#)%#'%%-#C)&!/& ,.