U
    VhA                    @   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=z(mr   peerg_bkey_fingerprintc                 C   s   || _ || _|| _dS )
        :returns EncryptedChat: Instance of either EncryptedChatEmpty, EncryptedChatWaiting, EncryptedChatRequested, EncryptedChat, EncryptedChatDiscarded.
        Nr2   )selfr3   r4   r5    r8   b/var/www/html/arya_register/venvv2/lib/python3.8/site-packages/telethonv2/tl/functions/messages.py__init__   s    z AcceptEncryptionRequest.__init__c                 C   s*   dt | jtr| j n| j| j| jdS )Nr0   )_r3   r4   r5   )
isinstancer3   r   to_dictr4   r5   r7   r8   r8   r9   r=      s
    zAcceptEncryptionRequest.to_dictc              	   C   s*   d d| j | | jtd| jfS )N    s   =<q)joinr3   _bytesserialize_bytesr4   structpackr5   r>   r8   r8   r9   rB   !   s    
zAcceptEncryptionRequest._bytesc                 C   s&   |  }| }| }| |||dS )Nr2   )tgread_objecttgread_bytes	read_long)clsreader_peerZ_g_bZ_key_fingerprintr8   r8   r9   from_reader)   s    z#AcceptEncryptionRequest.from_readerN__name__
__module____qualname__CONSTRUCTOR_IDSUBCLASS_OF_IDbytesintr:   r=   rB   classmethodrL   r8   r8   r8   r9   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 ewNr   write_allowedr3   msg_id	button_idurlc                 C   s"   || _ || _|| _|| _|| _dS z
        :returns UrlAuthResult: Instance of either UrlAuthResultRequest, UrlAuthResultAccepted, UrlAuthResultDefault.
        NrX   )r7   rY   r3   rZ   r[   r\   r8   r8   r9   r:   5   s
    zAcceptUrlAuthRequest.__init__c                    s$   | j r ||| j I d H | _ d S Nr3   get_input_peerget_input_entityr7   clientutilsr8   r8   r9   resolve?   s    zAcceptUrlAuthRequest.resolvec                 C   s2   d| j t| jtr| j n| j| j| j| jdS )NrV   )r;   rY   r3   rZ   r[   r\   )rY   r<   r3   r   r=   rZ   r[   r\   r>   r8   r8   r9   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dt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d ksL| jdkrPdntd
| j| jd kst| jdkrxdntd
| j| jd ks| jdkrdn
| 
| jfS )NFSpeer, msg_id, button_id parameters must all be False-y (like None) or all me True-yr?   s   %q,<Ir            <i)r3   rZ   r[   AssertionErrorrA   rD   rE   rY   r\   rB   rC   r>   r8   r8   r9   rB   M   s    t$((&zAcceptUrlAuthRequest._bytesc                 C   s~   |  }t|d@ }|d@ r&| }nd }|d@ r<|  }nd }|d@ rR|  }nd }|d@ rh| }nd }| |||||dS )Nrh   ri   rj   rX   read_intboolrF   tgread_string)rI   rJ   flags_write_allowedrK   _msg_id
_button_id_urlr8   r8   r9   rL   X   s    



z AcceptUrlAuthRequest.from_reader)NNNNN)rN   rO   rP   rQ   rR   r   ro   rT   strr:   re   r=   rB   rU   rL   r8   r8   r8   r9   rV   1   s   ,

rV   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 顐=r$   chat_iduser_id	fwd_limitc                 C   s   || _ || _|| _dS zK
        :returns messages.InvitedUsers: Instance of InvitedUsers.
        Nry   )r7   rz   r{   r|   r8   r8   r9   r:   t   s    zAddChatUserRequest.__init__c                    s   | || jI d H | _d S r^   get_input_userra   r{   rb   r8   r8   r9   re   |   s    zAddChatUserRequest.resolvec                 C   s*   d| j t| jtr| j n| j| jdS )Nrw   )r;   rz   r{   r|   )rz   r<   r{   r   r=   r|   r>   r8   r8   r9   r=      s
    zAddChatUserRequest.to_dictc              	   C   s,   d dtd| j| j td| jfS )Nr?   s   r@   rk   )rA   rD   rE   rz   r{   rB   r|   r>   r8   r8   r9   rB      s    zAddChatUserRequest._bytesc                 C   s&   |  }| }| }| |||dS )Nry   )rH   rF   rn   )rI   rJ   _chat_id_user_idZ
_fwd_limitr8   r8   r9   rL      s    zAddChatUserRequest.from_readerNrN   rO   rP   rQ   rR   rT   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   rw   p   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 )CheckChatInviteRequesti>i6Vhashc                 C   s
   || _ dS )zh
        :returns ChatInvite: Instance of either ChatInviteAlready, ChatInvite, ChatInvitePeek.
        Nr   r7   r   r8   r8   r9   r:      s    zCheckChatInviteRequest.__init__c                 C   s   d| j dS )Nr   r;   r   r   r>   r8   r8   r9   r=      s    zCheckChatInviteRequest.to_dictc                 C   s   d d| | jfS )Nr?   s   >rA   rC   r   r>   r8   r8   r9   rB      s    
zCheckChatInviteRequest._bytesc                 C   s   |  }| |dS Nr   rp   rI   rJ   _hashr8   r8   r9   rL      s    z"CheckChatInviteRequest.from_readerNrN   rO   rP   rQ   rR   rv   r:   r=   rB   rU   rL   r8   r8   r8   r9   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 )CheckHistoryImportRequestiCir[import_headc                 C   s
   || _ dS )zY
        :returns messages.HistoryImportParsed: Instance of HistoryImportParsed.
        Nr   )r7   r   r8   r8   r9   r:      s    z"CheckHistoryImportRequest.__init__c                 C   s   d| j dS )Nr   )r;   r   r   r>   r8   r8   r9   r=      s    z!CheckHistoryImportRequest.to_dictc                 C   s   d d| | jfS )Nr?   s   C)rA   rC   r   r>   r8   r8   r9   rB      s    
z CheckHistoryImportRequest._bytesc                 C   s   |  }| |dS )Nr   r   )rI   rJ   Z_import_headr8   r8   r9   rL      s    z%CheckHistoryImportRequest.from_readerNr   r8   r8   r8   r9   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 )CheckHistoryImportPeerRequesti]l   73p r   r3   c                 C   s
   || _ dS )zc
        :returns messages.CheckedHistoryImportPeer: Instance of CheckedHistoryImportPeer.
        Nr   r7   r3   r8   r8   r9   r:      s    z&CheckHistoryImportPeerRequest.__init__c                    s   | || jI d H | _d S r^   r`   ra   r3   rb   r8   r8   r9   re      s    z%CheckHistoryImportPeerRequest.resolvec                 C   s"   dt | jtr| j n| jdS )Nr   r;   r3   r<   r3   r   r=   r>   r8   r8   r9   r=      s    z%CheckHistoryImportPeerRequest.to_dictc                 C   s   d d| j fS )Nr?   s   ]rA   r3   rB   r>   r8   r8   r9   rB      s    z$CheckHistoryImportPeerRequest._bytesc                 C   s   |  }| |dS Nr   rF   rI   rJ   rK   r8   r8   r9   rL      s    z)CheckHistoryImportPeerRequest.from_readerNrN   rO   rP   rQ   rR   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   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 )CheckQuickReplyShortcutRequestl   {c    gk shortcutc                 C   s
   || _ dS ?
        :returns Bool: This type has no constructors.
        Nr   )r7   r   r8   r8   r9   r:      s    z'CheckQuickReplyShortcutRequest.__init__c                 C   s   d| j dS )Nr   )r;   r   r   r>   r8   r8   r9   r=      s    z&CheckQuickReplyShortcutRequest.to_dictc                 C   s   d d| | jfS )Nr?   s   )rA   rC   r   r>   r8   r8   r9   rB      s    
z%CheckQuickReplyShortcutRequest._bytesc                 C   s   |  }| |dS )Nr   r   )rI   rJ   	_shortcutr8   r8   r9   rL     s    z*CheckQuickReplyShortcutRequest.from_readerNr   r8   r8   r8   r9   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 )
ClearAllDraftsRequestiX~r   c                 C   s   ddiS )Nr;   r   r8   r>   r8   r8   r9   r=     s     zClearAllDraftsRequest.to_dictc                 C   s
   d dS )Nr?   )s   X~rA   r>   r8   r8   r9   rB     s    zClearAllDraftsRequest._bytesc                 C   s   |  S r^   r8   rI   rJ   r8   r8   r9   rL     s    z!ClearAllDraftsRequest.from_readerN	rN   rO   rP   rQ   rR   r=   rB   rU   rL   r8   r8   r8   r9   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 )
ClearRecentReactionsRequestl   o; r   c                 C   s   ddiS )Nr;   r   r8   r>   r8   r8   r9   r=   !  s     z#ClearRecentReactionsRequest.to_dictc                 C   s
   d dS )Nr?   )s   r   r>   r8   r8   r9   rB   &  s    z"ClearRecentReactionsRequest._bytesc                 C   s   |  S r^   r8   r   r8   r8   r9   rL   +  s    z'ClearRecentReactionsRequest.from_readerNr   r8   r8   r8   r9   r     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 )ClearRecentStickersRequestl   -`2 r   Nattachedc                 C   s
   || _ dS r   r   )r7   r   r8   r8   r9   r:   4  s    z#ClearRecentStickersRequest.__init__c                 C   s   d| j dS )Nr   )r;   r   r   r>   r8   r8   r9   r=   :  s    z"ClearRecentStickersRequest.to_dictc                 C   s.   d dtd| jd ks | jdkr$dndfS )Nr?   s   -`rg   Fr   rh   )rA   rD   rE   r   r>   r8   r8   r9   rB   @  s    "z!ClearRecentStickersRequest._bytesc                 C   s   |  }t|d@ }| |dS )Nrh   r   rn   ro   )rI   rJ   rq   	_attachedr8   r8   r9   rL   F  s    z&ClearRecentStickersRequest.from_reader)NrN   rO   rP   rQ   rR   r   ro   r:   r=   rB   rU   rL   r8   r8   r8   r9   r   0  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 )ClickSponsoredMessageRequestie4	r   Nr   r3   media
fullscreen	random_idc                 C   s:   || _ || _|| _|dk	r|ntjtdddd| _dS r   Nrj   bigTsigned)r3   r   r   rT   
from_bytesosurandomr   )r7   r3   r   r   r   r8   r8   r9   r:   R  s    z%ClickSponsoredMessageRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   [  s    z$ClickSponsoredMessageRequest.resolvec                 C   s.   dt | jtr| j n| j| j| j| jdS )Nr   )r;   r3   r   r   r   )r<   r3   r   r=   r   r   r   r>   r8   r8   r9   r=   ^  s    z$ClickSponsoredMessageRequest.to_dictc              	   C   s\   d dtd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | j | | jfS )Nr?   s   e4	rg   Fr   rh   ri   )	rA   rD   rE   r   r   r3   rB   rC   r   r>   r8   r8   r9   rB   g  s    >
z#ClickSponsoredMessageRequest._bytesc                 C   s@   |  }t|d@ }t|d@ }| }| }| ||||dS )Nrh   ri   r   rn   ro   rF   rG   )rI   rJ   rq   _media_fullscreenrK   
_random_idr8   r8   r9   rL   o  s    z(ClickSponsoredMessageRequest.from_reader)NNN)rN   rO   rP   rQ   rR   r   ro   rS   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   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   ]% rx   Nr$   userstitle
ttl_periodc                 C   s   || _ || _|| _dS r}   r   )r7   r   r   r   r8   r8   r9   r:   ~  s    zCreateChatRequest.__init__c                    s6   g }| j D ] }||||I d H  q
|| _ d S r^   )r   appendr   ra   r7   rc   rd   _tmp_xr8   r8   r9   re     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| n|qS r8   r<   r   r=   .0xr8   r8   r9   
<listcomp>  s     z-CreateChatRequest.to_dict.<locals>.<listcomp>)r;   r   r   r   r   r>   r8   r8   r9   r=     s
    zCreateChatRequest.to_dictc                 C   s   d dtd| jd ks | jdkr$dnddtdt| jd d	d
 | jD | | j| jd ksl| jdkrpdntd| jfS )Nr?   s   Βrg   Fr   rh      ĵrk   c                 s   s   | ]}|  V  qd S r^   rB   r   r8   r8   r9   	<genexpr>  s     z+CreateChatRequest._bytes.<locals>.<genexpr>)rA   rD   rE   r   lenr   rC   r   r>   r8   r8   r9   rB     s    "  
$zCreateChatRequest._bytesc                 C   sd   |  }|   g }t|  D ]}| }|| q | }|d@ rR|  }nd }| |||dS )Nrh   r   )rn   rangerF   r   rp   )rI   rJ   rq   _usersr;   r   _title_ttl_periodr8   r8   r9   rL     s    
zCreateChatRequest.from_reader)N)rN   rO   rP   rQ   rR   r   rv   r   rT   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   r   z  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[r   rz   c                 C   s
   || _ dS r   r   r7   rz   r8   r8   r9   r:     s    zDeleteChatRequest.__init__c                 C   s   d| j dS )Nr   r;   rz   r   r>   r8   r8   r9   r=     s    zDeleteChatRequest.to_dictc                 C   s   d dtd| jfS )Nr?   s   P[r@   rA   rD   rE   rz   r>   r8   r8   r9   rB     s    zDeleteChatRequest._bytesc                 C   s   |  }| |dS Nr   rH   rI   rJ   r   r8   r8   r9   rL     s    zDeleteChatRequest.from_readerNrN   rO   rP   rQ   rR   rT   r:   r=   rB   rU   rL   r8   r8   r8   r9   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    * Nr$   rz   r{   revoke_historyc                 C   s   || _ || _|| _dS 
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        Nr   )r7   rz   r{   r   r8   r8   r9   r:     s    zDeleteChatUserRequest.__init__c                    s   | || jI d H | _d S r^   r~   rb   r8   r8   r9   re     s    zDeleteChatUserRequest.resolvec                 C   s*   d| j t| jtr| j n| j| jdS )Nr   )r;   rz   r{   r   )rz   r<   r{   r   r=   r   r>   r8   r8   r9   r=     s
    zDeleteChatUserRequest.to_dictc                 C   sB   d dtd| jd ks | jdkr$dndtd| j| j fS )Nr?   s   \rg   Fr   rh   r@   )rA   rD   rE   r   rz   r{   rB   r>   r8   r8   r9   rB     s    "zDeleteChatUserRequest._bytesc                 C   s2   |  }t|d@ }| }| }| |||dS )Nrh   r   )rn   ro   rH   rF   )rI   rJ   rq   Z_revoke_historyr   r   r8   r8   r9   rL     s
    z!DeleteChatUserRequest.from_reader)NrN   rO   rP   rQ   rR   rT   r   ro   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   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   +$( r   r   r3   linkc                 C   s   || _ || _dS r   r   r7   r3   r   r8   r8   r9   r:     s    z(DeleteExportedChatInviteRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re      s    z'DeleteExportedChatInviteRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr   r;   r3   r   r<   r3   r   r=   r   r>   r8   r8   r9   r=     s    z'DeleteExportedChatInviteRequest.to_dictc                 C   s   d d| j | | jfS )Nr?   s   +dԩrA   r3   rB   rC   r   r>   r8   r8   r9   rB   
  s
    
z&DeleteExportedChatInviteRequest._bytesc                 C   s   |  }| }| ||dS Nr   rF   rp   rI   rJ   rK   _linkr8   r8   r9   rL     s    z+DeleteExportedChatInviteRequest.from_readerNrN   rO   rP   rQ   rR   rv   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   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   # r   r   r3   rZ   c                 C   s   || _ || _dS r   r   r7   r3   rZ   r8   r8   r9   r:     s    zDeleteFactCheckRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   #  s    zDeleteFactCheckRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr   r;   r3   rZ   r<   r3   r   r=   rZ   r>   r8   r8   r9   r=   &  s    zDeleteFactCheckRequest.to_dictc                 C   s    d d| j td| jfS )Nr?   s   rk   rA   r3   rB   rD   rE   rZ   r>   r8   r8   r9   rB   -  s
    zDeleteFactCheckRequest._bytesc                 C   s   |  }| }| ||dS Nr   rF   rn   rI   rJ   rK   rs   r8   r8   r9   rL   4  s    z"DeleteFactCheckRequest.from_readerNr   r8   r8   r8   r9   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,Nr   r3   max_id
just_clearrevokemin_datemax_datec                 C   s(   || _ || _|| _|| _|| _|| _dS zQ
        :returns messages.AffectedHistory: Instance of AffectedHistory.
        Nr   )r7   r3   r   r   r   r   r   r8   r8   r9   r:   ?  s    zDeleteHistoryRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   J  s    zDeleteHistoryRequest.resolvec                 C   s6   dt | jtr| j n| j| j| j| j| j| jdS )Nr   )r;   r3   r   r   r   r   r   )	r<   r3   r   r=   r   r   r   r   r   r>   r8   r8   r9   r=   M  s    zDeleteHistoryRequest.to_dictc              
   C   s   d dtd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | jd ksV| jdkrZdndB | jd ksr| jdkrvdnd	B | j td
| j	| jd ks| jdkrdn
| 
| j| jd ks| jdkrdn
| 
| jfS )Nr?   s   *rg   Fr   rh   ri   rj      rk   )rA   rD   rE   r   r   r   r   r3   rB   r   serialize_datetimer>   r8   r8   r9   rB   X  s    v""zDeleteHistoryRequest._bytesc           	      C   sp   |  }t|d@ }t|d@ }| }|  }|d@ rB| }nd }|d@ rX| }nd }| ||||||dS )Nrh   ri   rj   r  r   )rn   ro   rF   tgread_date)	rI   rJ   rq   Z_just_clear_revokerK   _max_id	_min_date	_max_dater8   r8   r9   rL   b  s    

z DeleteHistoryRequest.from_reader)NNNN)rN   rO   rP   rQ   rR   rT   r   ro   r	   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   r   ;  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    n@ Nidr   c                 C   s   || _ || _dS zS
        :returns messages.AffectedMessages: Instance of AffectedMessages.
        Nr  )r7   r  r   r8   r8   r9   r:   y  s    zDeleteMessagesRequest.__init__c                 C   s&   d| j d krg n| j d d  | jdS )Nr	  )r;   r  r   r  r>   r8   r8   r9   r=     s    zDeleteMessagesRequest.to_dictc              
   C   sT   d dtd| jd ks | jdkr$dnddtdt| jd d	d
 | jD fS )Nr?   s   ҕrg   Fr   rh   r   rk   c                 s   s   | ]}t d |V  qdS rk   NrD   rE   r   r8   r8   r9   r     s     z/DeleteMessagesRequest._bytes.<locals>.<genexpr>)rA   rD   rE   r   r   r  r>   r8   r8   r9   rB     s    "  zDeleteMessagesRequest._bytesc                 C   sP   |  }t|d@ }|   g }t|  D ]}|  }|| q,| ||dS )Nrh   r  )rn   ro   r   r   )rI   rJ   rq   r  _idr;   r   r8   r8   r9   rL     s    z!DeleteMessagesRequest.from_reader)NrN   rO   rP   rQ   rR   r   rT   r   ro   r:   r=   rB   rU   rL   r8   r8   r8   r9   r	  u  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.
        Nr  )r7   r   r8   r8   r9   r:     s    z&DeletePhoneCallHistoryRequest.__init__c                 C   s   d| j dS )Nr  )r;   r   r  r>   r8   r8   r9   r=     s    z%DeletePhoneCallHistoryRequest.to_dictc                 C   s.   d dtd| jd ks | jdkr$dndfS )Nr?   s   	rg   Fr   rh   )rA   rD   rE   r   r>   r8   r8   r9   rB     s    "z$DeletePhoneCallHistoryRequest._bytesc                 C   s   |  }t|d@ }| |dS )Nrh   r  r   )rI   rJ   rq   r  r8   r8   r9   rL     s    z)DeletePhoneCallHistoryRequest.from_reader)Nr   r8   r8   r8   r9   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 r   shortcut_idr  c                 C   s   || _ || _dS r   r  )r7   r  r  r8   r8   r9   r:     s    z(DeleteQuickReplyMessagesRequest.__init__c                 C   s&   d| j | jd krg n| jd d  dS )Nr  )r;   r  r  r  r>   r8   r8   r9   r=     s    z'DeleteQuickReplyMessagesRequest.to_dictc              
   C   s>   d dtd| jdtdt| jd dd | jD fS )Nr?   s   rk   r   c                 s   s   | ]}t d |V  qdS r  r  r   r8   r8   r9   r     s     z9DeleteQuickReplyMessagesRequest._bytes.<locals>.<genexpr>)rA   rD   rE   r  r   r  r>   r8   r8   r9   rB     s      z&DeleteQuickReplyMessagesRequest._bytesc                 C   sD   |  }|   g }t|  D ]}|  }|| q | ||dS )Nr  rn   r   r   )rI   rJ   _shortcut_idr  r;   r   r8   r8   r9   rL     s    z+DeleteQuickReplyMessagesRequest.from_readerN)rN   rO   rP   rQ   rR   rT   r   r:   r=   rB   rU   rL   r8   r8   r8   r9   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<r   r  c                 C   s
   || _ dS r   r  )r7   r  r8   r8   r9   r:     s    z(DeleteQuickReplyShortcutRequest.__init__c                 C   s   d| j dS )Nr  )r;   r  r  r>   r8   r8   r9   r=     s    z'DeleteQuickReplyShortcutRequest.to_dictc                 C   s   d dtd| jfS )Nr?   s   @G<rk   )rA   rD   rE   r  r>   r8   r8   r9   rB     s    z&DeleteQuickReplyShortcutRequest._bytesc                 C   s   |  }| |dS )Nr  rn   )rI   rJ   r  r8   r8   r9   rL     s    z+DeleteQuickReplyShortcutRequest.from_readerNr   r8   r8   r8   r9   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{Vr   r   r$   r3   admin_idc                 C   s   || _ || _dS r   r  )r7   r3   r  r8   r8   r9   r:     s    z0DeleteRevokedExportedChatInvitesRequest.__init__c                    s8   | || jI d H | _||| jI d H | _d S r^   r`   ra   r3   r   r  rb   r8   r8   r9   re     s    z/DeleteRevokedExportedChatInvitesRequest.resolvec                 C   s<   dt | jtr| j n| jt | jtr2| j n| jdS )Nr  )r;   r3   r  )r<   r3   r   r=   r  r>   r8   r8   r9   r=   
  s    z/DeleteRevokedExportedChatInvitesRequest.to_dictc                 C   s   d d| j | j fS )Nr?   s   {V)rA   r3   rB   r  r>   r8   r8   r9   rB     s
    z.DeleteRevokedExportedChatInvitesRequest._bytesc                 C   s   |  }|  }| ||dS )Nr  r   )rI   rJ   rK   	_admin_idr8   r8   r9   rL     s    z3DeleteRevokedExportedChatInvitesRequest.from_readerNr   r8   r8   r8   r9   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+nr   Nr   r3   r   r   r   c                 C   s   || _ || _|| _|| _dS r  r"  )r7   r3   r   r   r   r8   r8   r9   r:   #  s    z"DeleteSavedHistoryRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   ,  s    z!DeleteSavedHistoryRequest.resolvec                 C   s.   dt | jtr| j n| j| j| j| jdS )Nr!  )r;   r3   r   r   r   )r<   r3   r   r=   r   r   r   r>   r8   r8   r9   r=   /  s    z!DeleteSavedHistoryRequest.to_dictc              
   C   s   d dtd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | j td| j| jd ksl| jdkrpdn
| | j| jd ks| jdkrdn
| | jfS )	Nr?   s   +nrg   Fr   rj   r  rk   )	rA   rD   rE   r   r   r3   rB   r   r  r>   r8   r8   r9   rB   8  s    >""z DeleteSavedHistoryRequest._bytesc                 C   sT   |  }| }|  }|d@ r*| }nd }|d@ r@| }nd }| ||||dS )Nrj   r  r"  rn   rF   r  )rI   rJ   rq   rK   r  r  r  r8   r8   r9   rL   B  s    

z%DeleteSavedHistoryRequest.from_reader)NNrN   rO   rP   rQ   rR   rT   r   r	   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   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+Yr   r   r3   r  c                 C   s   || _ || _dS r   r&  r7   r3   r  r8   r8   r9   r:   W  s    z'DeleteScheduledMessagesRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   ^  s    z&DeleteScheduledMessagesRequest.resolvec                 C   s<   dt | jtr| j n| j| jd kr*g n| jd d  dS )Nr%  r;   r3   r  r<   r3   r   r=   r  r>   r8   r8   r9   r=   a  s    z&DeleteScheduledMessagesRequest.to_dictc              
   C   s:   d d| j dtdt| jd dd | jD fS )Nr?   s   +Yr   rk   c                 s   s   | ]}t d |V  qdS r  r  r   r8   r8   r9   r   l  s     z8DeleteScheduledMessagesRequest._bytes.<locals>.<genexpr>rA   r3   rB   rD   rE   r   r  r>   r8   r8   r9   rB   h  s      z%DeleteScheduledMessagesRequest._bytesc                 C   sD   |  }|  g }t| D ]}| }|| q | ||dS Nr&  rF   rn   r   r   rI   rJ   rK   r  r;   r   r8   r8   r9   rL   o  s    z*DeleteScheduledMessagesRequest.from_readerNrN   rO   rP   rQ   rR   r   rT   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   r%  S  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 r   Nrz   delete_historyc                 C   s   || _ || _dS r   r0  )r7   rz   r1  r8   r8   r9   r:     s    z!DiscardEncryptionRequest.__init__c                 C   s   d| j | jdS )Nr/  )r;   rz   r1  r0  r>   r8   r8   r9   r=     s    z DiscardEncryptionRequest.to_dictc                 C   s:   d dtd| jd ks | jdkr$dndtd| jfS )Nr?   s   rg   Fr   rh   rk   )rA   rD   rE   r1  rz   r>   r8   r8   r9   rB     s
    "zDiscardEncryptionRequest._bytesc                 C   s(   |  }t|d@ }|  }| ||dS )Nrh   r0  r   )rI   rJ   rq   _delete_historyr   r8   r8   r9   rL     s    z$DiscardEncryptionRequest.from_reader)NrN   rO   rP   rQ   rR   rT   r   ro   r:   r=   rB   rU   rL   r8   r8   r8   r9   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 )EditChatAboutRequestl   = r   r   r3   aboutc                 C   s   || _ || _dS r   r5  )r7   r3   r6  r8   r8   r9   r:     s    zEditChatAboutRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re     s    zEditChatAboutRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr4  )r;   r3   r6  )r<   r3   r   r=   r6  r>   r8   r8   r9   r=     s    zEditChatAboutRequest.to_dictc                 C   s   d d| j | | jfS )Nr?   s   )rA   r3   rB   rC   r6  r>   r8   r8   r9   rB     s
    
zEditChatAboutRequest._bytesc                 C   s   |  }| }| ||dS )Nr5  r   )rI   rJ   rK   _aboutr8   r8   r9   rL     s    z EditChatAboutRequest.from_readerNr   r8   r8   r8   r9   r4    s   r4  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 r   r$   rz   r{   is_adminc                 C   s   || _ || _|| _dS r   r9  )r7   rz   r{   r:  r8   r8   r9   r:     s    zEditChatAdminRequest.__init__c                    s   | || jI d H | _d S r^   r~   rb   r8   r8   r9   re     s    zEditChatAdminRequest.resolvec                 C   s*   d| j t| jtr| j n| j| jdS )Nr8  )r;   rz   r{   r:  )rz   r<   r{   r   r=   r:  r>   r8   r8   r9   r=     s
    zEditChatAdminRequest.to_dictc                 C   s,   d dtd| j| j | jr$dndfS )Nr?   s   [r@      ur   7y)rA   rD   rE   rz   r{   rB   r:  r>   r8   r8   r9   rB     s    zEditChatAdminRequest._bytesc                 C   s&   |  }| }| }| |||dS )Nr9  )rH   rF   tgread_bool)rI   rJ   r   r   Z	_is_adminr8   r8   r9   rL     s    z EditChatAdminRequest.from_readerNrN   rO   rP   rQ   rR   rT   ro   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   r8    s   r8  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 r   r   r
   r3   banned_rightsc                 C   s   || _ || _dS r   r@  )r7   r3   rA  r8   r8   r9   r:     s    z+EditChatDefaultBannedRightsRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re     s    z*EditChatDefaultBannedRightsRequest.resolvec                 C   s<   dt | jtr| j n| jt | jtr2| j n| jdS )Nr?  )r;   r3   rA  )r<   r3   r   r=   rA  r>   r8   r8   r9   r=     s    z*EditChatDefaultBannedRightsRequest.to_dictc                 C   s   d d| j | j fS )Nr?   s   Ak)rA   r3   rB   rA  r>   r8   r8   r9   rB     s
    z)EditChatDefaultBannedRightsRequest._bytesc                 C   s   |  }|  }| ||dS )Nr@  r   )rI   rJ   rK   _banned_rightsr8   r8   r9   rL     s    z.EditChatDefaultBannedRightsRequest.from_readerNr   r8   r8   r8   r9   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 )EditChatPhotoRequestit5r   r   rz   photoc                 C   s   || _ || _dS r   rD  )r7   rz   rE  r8   r8   r9   r:     s    zEditChatPhotoRequest.__init__c                    s   | | j| _d S r^   )get_input_chat_photorE  rb   r8   r8   r9   re     s    zEditChatPhotoRequest.resolvec                 C   s&   d| j t| jtr| j n| jdS )NrC  )r;   rz   rE  )rz   r<   rE  r   r=   r>   r8   r8   r9   r=     s    zEditChatPhotoRequest.to_dictc                 C   s    d dtd| j| j fS )Nr?   s   t5r@   )rA   rD   rE   rz   rE  rB   r>   r8   r8   r9   rB     s
    zEditChatPhotoRequest._bytesc                 C   s   |  }| }| ||dS )NrD  )rH   rF   )rI   rJ   r   _photor8   r8   r9   rL   &  s    z EditChatPhotoRequest.from_readerNr   r8   r8   r8   r9   rC  
  s   rC  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?xsr   rz   r   c                 C   s   || _ || _dS r   rI  )r7   rz   r   r8   r8   r9   r:   1  s    zEditChatTitleRequest.__init__c                 C   s   d| j | jdS )NrH  )r;   rz   r   rI  r>   r8   r8   r9   r=   8  s    zEditChatTitleRequest.to_dictc                 C   s"   d dtd| j| | jfS )Nr?   s   ?xsr@   )rA   rD   rE   rz   rC   r   r>   r8   r8   r9   rB   ?  s
    
zEditChatTitleRequest._bytesc                 C   s   |  }| }| ||dS )NrI  )rH   rp   )rI   rJ   r   r   r8   r8   r9   rL   F  s    z EditChatTitleRequest.from_readerNrN   rO   rP   rQ   rR   rT   rv   r:   r=   rB   rU   rL   r8   r8   r8   r9   rH  -  s   rH  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/{    T Nr   r3   r   revokedexpire_dateusage_limitrequest_neededr   c                 C   s.   || _ || _|| _|| _|| _|| _|| _dS zz
        :returns messages.ExportedChatInvite: Instance of either ExportedChatInvite, ExportedChatInviteReplaced.
        NrM  )r7   r3   r   rN  rO  rP  rQ  r   r8   r8   r9   r:   Q  s    z&EditExportedChatInviteRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   ]  s    z%EditExportedChatInviteRequest.resolvec              	   C   s:   dt | jtr| j n| j| j| j| j| j| j| j	dS )NrK  )r;   r3   r   rN  rO  rP  rQ  r   )
r<   r3   r   r=   r   rN  rO  rP  rQ  r   r>   r8   r8   r9   r=   `  s    z%EditExportedChatInviteRequest.to_dictc                 C   s,  d dtd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | jd ksV| jdkrZdndB | jd krld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d ks| jdkrdntd| j| jd krdn| jrdnd| jd ks| jdkrdn
| 
| jfS )Nr?   s   u/ʽrg   Fr   rj   rh   ri   r     rk   r;  r<  )rA   rD   rE   rN  rO  rP  rQ  r   r3   rB   rC   r   r  r>   r8   r8   r9   rB   l  s    
"$&z$EditExportedChatInviteRequest._bytesc           
   	   C   s   |  }t|d@ }| }| }|d@ r6| }nd }|d@ rL|  }nd }|d@ rb| }nd }|d@ rx| }	nd }	| |||||||	dS )Nrj   rh   ri   r  rS  rM  )rn   ro   rF   rp   r  r=  )
rI   rJ   rq   _revokedrK   r   _expire_date_usage_limit_request_neededr   r8   r8   r9   rL   x  s"    



z)EditExportedChatInviteRequest.from_reader)NNNNN)rN   rO   rP   rQ   rR   rv   r   ro   r	   rT   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   rK  M  s   0rK  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r   r   r.   r3   rZ   textc                 C   s   || _ || _|| _dS r   rY  )r7   r3   rZ   rZ  r8   r8   r9   r:     s    zEditFactCheckRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re     s    zEditFactCheckRequest.resolvec                 C   s@   dt | jtr| j n| j| jt | jtr6| j n| jdS )NrX  )r;   r3   rZ   rZ  )r<   r3   r   r=   rZ   rZ  r>   r8   r8   r9   r=     s
    zEditFactCheckRequest.to_dictc                 C   s(   d d| j td| j| j fS )Nr?   s   urk   )rA   r3   rB   rD   rE   rZ   rZ  r>   r8   r8   r9   rB     s    zEditFactCheckRequest._bytesc                 C   s&   |  }| }|  }| |||dS )NrY  r   )rI   rJ   rK   rs   _textr8   r8   r9   rL     s    z EditFactCheckRequest.from_readerNr   r8   r8   r8   r9   rX    s   rX  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   } r   Nr   r   r*   r&   r  
no_webpageinvert_mediamessager   reply_markupentitiesc                 C   s.   || _ || _|| _|| _|| _|| _|| _dS r   r]  )r7   r  r^  r_  r`  r   ra  rb  r8   r8   r9   r:     s    z$EditInlineBotMessageRequest.__init__c                    s   | j r|| j | _ d S r^   )r   get_input_mediarb   r8   r8   r9   re     s    z#EditInlineBotMessageRequest.resolvec              	   C   s~   dt | jtr| j n| j| j| j| jt | jtr>| j n| jt | jtrX| j n| j| j	d krjg ndd | j	D dS )Nr\  c                 S   s"   g | ]}t |tr| n|qS r8   r   r   r8   r8   r9   r     s     z7EditInlineBotMessageRequest.to_dict.<locals>.<listcomp>)r;   r  r^  r_  r`  r   ra  rb  )
r<   r  r   r=   r^  r_  r`  r   ra  rb  r>   r8   r8   r9   r=     s    z#EditInlineBotMessageRequest.to_dictc                 C   sr  d dtd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | jd ksV| jdkrZdndB | jd ksr| jdkrvdnd	B | jd ks| jdkrdnd
B | jd ks| jdkrdndB | j	
 | jd ks| jdkrdn
| | j| jd ks| jdkrdn| j
 | jd ks| jdkrdn| j
 | jd ks:| jdkr>dn.d dtdt| jd dd | jD ffS )Nr?   s   }Urg   Fr   ri          @  rj   r  r   rk   c                 s   s   | ]}|  V  qd S r^   r   r   r8   r8   r9   r     s     z5EditInlineBotMessageRequest._bytes.<locals>.<genexpr>)rA   rD   rE   r^  r_  r`  r   ra  rb  r  rB   rC   r   r>   r8   r8   r9   rB     s    " $Jz"EditInlineBotMessageRequest._bytesc              	   C   s   |  }t|d@ }t|d@ }| }|d@ r:| }nd }|d@ rP| }nd }|d@ rf| }nd }|d@ r|   g }	t|  D ]}
| }|	| qnd }	| |||||||	dS )Nri   rd  re  rf  rj   r  r]  )rn   ro   rF   rp   r   r   )rI   rJ   rq   _no_webpage_invert_mediar  _messager   _reply_markup	_entitiesr;   r   r8   r8   r9   rL     s*    


z'EditInlineBotMessageRequest.from_reader)NNNNNN)rN   rO   rP   rQ   rR   r   ro   rv   r   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   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   @? r   Nr   r   r*   r&   
r3   r  r^  r_  r`  r   ra  rb  schedule_datequick_reply_shortcut_idc                 C   s@   || _ || _|| _|| _|| _|| _|| _|| _|	| _|
| _	dS r   rm  )r7   r3   r  r^  r_  r`  r   ra  rb  rn  ro  r8   r8   r9   r:     s    zEditMessageRequest.__init__c                    s2   | || jI d H | _| jr.|| j| _d S r^   r`   ra   r3   r   rc  rb   r8   r8   r9   re     s    zEditMessageRequest.resolvec                 C   s   dt | jtr| j n| j| j| j| j| jt | jtrB| j n| jt | j	tr\| j	 n| j	| j
d krng ndd | j
D | j| jdS )Nrl  c                 S   s"   g | ]}t |tr| n|qS r8   r   r   r8   r8   r9   r   %  s     z.EditMessageRequest.to_dict.<locals>.<listcomp>)r;   r3   r  r^  r_  r`  r   ra  rb  rn  ro  )r<   r3   r   r=   r  r^  r_  r`  r   ra  rb  rn  ro  r>   r8   r8   r9   r=     s    zEditMessageRequest.to_dictc                 C   s  d dtd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | jd ksV| jdkrZdndB | jd ksr| jdkrvdnd	B | jd ks| jdkrdnd
B | jd ks| jdkrdndB | j	d ks| j	dkrdndB | j
d ks| j
dkrdndB | j td| j| jd ks| jdkrdn
| | j| jd ks>| jdkrBdn| j | jd ksb| jdkrfdn| j | jd ks| jdkrdn.d dtdt| jd dd | jD f| j	d ks| j	dkrdn
| | j	| j
d ks| j
dkrdntd| j
f
S )Nr?   s   @rg   Fr   ri   rd  re  rf  rj   r        rk   r   c                 s   s   | ]}|  V  qd S r^   r   r   r8   r8   r9   r   3  s     z,EditMessageRequest._bytes.<locals>.<genexpr>)rA   rD   rE   r^  r_  r`  r   ra  rb  rn  ro  r3   rB   r  rC   r   r  r>   r8   r8   r9   rB   *  s    &$$J&(zEditMessageRequest._bytesc                 C   s   |  }t|d@ }t|d@ }| }|  }|d@ rB| }nd }|d@ rX| }nd }|d@ rn| }	nd }	|d@ r|   g }
t|  D ]}| }|
| qnd }
|d@ r| }nd }|d@ r|  }nd }| |||||||	|
||d	
S )
Nri   rd  re  rf  rj   r  rq  rr  rm  )rn   ro   rF   rp   r   r   r  )rI   rJ   rq   rg  rh  rK   r  ri  r   rj  rk  r;   r   _schedule_dateZ_quick_reply_shortcut_idr8   r8   r9   rL   8  s8    




zEditMessageRequest.from_reader)NNNNNNNN)rN   rO   rP   rQ   rR   rT   r   ro   rv   r   r	   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   rl    s   Frl  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< \r   r  r   c                 C   s   || _ || _dS r   ru  )r7   r  r   r8   r8   r9   r:   d  s    z&EditQuickReplyShortcutRequest.__init__c                 C   s   d| j | jdS )Nrt  )r;   r  r   ru  r>   r8   r8   r9   r=   k  s    z%EditQuickReplyShortcutRequest.to_dictc                 C   s"   d dtd| j| | jfS )Nr?   s   < \rk   )rA   rD   rE   r  rC   r   r>   r8   r8   r9   rB   r  s
    
z$EditQuickReplyShortcutRequest._bytesc                 C   s   |  }| }| ||dS )Nru  )rn   rp   )rI   rJ   r  r   r8   r8   r9   rL   y  s    z)EditQuickReplyShortcutRequest.from_readerNrJ  r8   r8   r8   r9   rt  `  s   rt  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-   r3   legacy_revoke_permanentrQ  rO  rP  r   subscription_pricingc                 C   s.   || _ || _|| _|| _|| _|| _|| _dS )zs
        :returns ExportedChatInvite: Instance of either ChatInviteExported, ChatInvitePublicJoinRequests.
        Nrw  )r7   r3   rx  rQ  rO  rP  r   ry  r8   r8   r9   r:     s    z ExportChatInviteRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re     s    zExportChatInviteRequest.resolvec              
   C   sP   dt | jtr| j n| j| j| j| j| j| jt | j	trF| j	 n| j	dS )Nrv  )r;   r3   rx  rQ  rO  rP  r   ry  )
r<   r3   r   r=   rx  rQ  rO  rP  r   ry  r>   r8   r8   r9   r=     s    zExportChatInviteRequest.to_dictc              
   C   sR  d dtd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | jd ksV| jdkrZdndB | jd ksr| jdkrvdnd	B | jd ks| jdkrdnd
B | jd ks| jdkrdndB | j	
 | jd ks| jdkrdn
| | j| jd ks| jdkrdntd| j| jd ks| jdkrdn
| | j| jd ks@| jdkrDdn| j
 fS )Nr?   s   Urg   Fr   rj   r  rh   ri   rS      rk   )rA   rD   rE   rx  rQ  rO  rP  r   ry  r3   rB   r  rC   r>   r8   r8   r9   rB     s    "$&$zExportChatInviteRequest._bytesc           
   	   C   s   |  }t|d@ }t|d@ }| }|d@ r:| }nd }|d@ rP|  }nd }|d@ rf| }nd }|d@ r|| }	nd }	| |||||||	dS )Nrj   r  rh   ri   rS  rz  rw  rn   ro   rF   r  rp   )
rI   rJ   rq   Z_legacy_revoke_permanentrW  rK   rU  rV  r   Z_subscription_pricingr8   r8   r9   rL     s"    



z#ExportChatInviteRequest.from_reader)NNNNNN)rN   rO   rP   rQ   rR   r   ro   r	   rT   rv   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   rv    s   4rv  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 r   r   r  unfavec                 C   s   || _ || _dS r   r}  )r7   r  r~  r8   r8   r9   r:     s    zFaveStickerRequest.__init__c                    s   | | j| _d S r^   get_input_documentr  rb   r8   r8   r9   re     s    zFaveStickerRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr|  )r;   r  r~  )r<   r  r   r=   r~  r>   r8   r8   r9   r=     s    zFaveStickerRequest.to_dictc                 C   s    d d| j | jrdndfS )Nr?   s   [r;  r<  )rA   r  rB   r~  r>   r8   r8   r9   rB     s
    zFaveStickerRequest._bytesc                 C   s   |  }| }| ||dS )Nr}  rF   r=  )rI   rJ   r  Z_unfaver8   r8   r9   rL     s    zFaveStickerRequest.from_readerNrN   rO   rP   rQ   rR   ro   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   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 dddZ
d	d
 Zdd Zdd Zedd ZdS )ForwardMessagesRequestitmr   Nr   r   	from_peerr  to_peersilent
backgroundwith_my_scoredrop_authordrop_media_captions
noforwardsallow_paid_floodskipr   
top_msg_idrn  send_asquick_reply_shortcutvideo_timestampc                 C   s   || _ || _|| _|| _|| _|| _|| _|| _|	| _|
| _	|dk	rH|ndd t
t|D | _|| _|| _|| _|| _|| _dS )r   Nc                 S   s"   g | ]}t jtd dddqS r  r   Tr   rT   r   r   r   r   r;   r8   r8   r9   r     s     z3ForwardMessagesRequest.__init__.<locals>.<listcomp>)r  r  r  r  r  r  r  r  r  r  r   r   r   r  rn  r  r  r  )r7   r  r  r  r  r  r  r  r  r  r  r   r  rn  r  r  r  r8   r8   r9   r:     s     $zForwardMessagesRequest.__init__c                    sX   | || jI d H | _| || jI d H | _| jrT| || jI d H | _d S r^   )r`   ra   r  r  r  rb   r8   r8   r9   re      s    zForwardMessagesRequest.resolvec                 C   s   dt | jtr| j n| j| jd kr*g n| jd d  t | jtrL| 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 n| jt | jtr| j n| j| jdS )Nr  )r;   r  r  r  r  r  r  r  r  r  r  r   r  rn  r  r  r  )r<   r  r   r=   r  r  r  r  r  r  r  r  r  r   r  rn  r  r  r  r>   r8   r8   r9   r=     s$    zForwardMessagesRequest.to_dictc                 C   s  d dtd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | jd ksV| jdkrZdndB | jd ksr| jdkrvdnd	B | jd ks| jdkrdnd
B | jd ks| jdkrdndB | j	d ks| j	dkrdndB | j
d ks| j
dkrdndB | jd ks| jdkrdndB | jd ks"| jdkr&dndB | jd ksB| jdkrFdndB | jd ksb| jdkrfdndB | j dtdt| jd dd | jD dtdt| jd dd | jD | j | j
d ks| j
dkrdntd| j
| jd ks| jdkrdn
| | j| jd ks.| jdkr2dn| j | jd ksR| jdkrVdn| j | jd ksv| jdkrzdntd| jfS )Nr?   s   tmrg   Fr   rz  @      re     rf               rr     r   rk   c                 s   s   | ]}t d |V  qdS r  r  r   r8   r8   r9   r      s     z0ForwardMessagesRequest._bytes.<locals>.<genexpr>c                 s   s   | ]}t d |V  qdS r@   Nr  r   r8   r8   r9   r   !  s     )rA   rD   rE   r  r  r  r  r  r  r  r  rn  r  r  r  r  rB   r   r  r   r  r  r>   r8   r8   r9   rB     s$     g    (&$$(zForwardMessagesRequest._bytesc                 C   sh  |  }t|d@ }t|d@ }t|d@ }t|d@ }t|d@ }t|d@ }t|d@ }	| }
|   g }t|  D ]}|  }|| q||   g }t|  D ]}| }|| q| }|d@ r|  }nd }|d	@ r| }nd }|d
@ r| }nd }|d@ r$| }nd }|d@ r<|  }nd }| |
|||||||||	||||||dS )Nrz  r  r  re  r  rf  r  r  r  r  rr  r  r  )rn   ro   rF   r   r   rH   r  )rI   rJ   rq   _silent_backgroundZ_with_my_scoreZ_drop_authorZ_drop_media_captions_noforwards_allow_paid_floodskipZ
_from_peerr  r;   r   r   Z_to_peer_top_msg_idrs  _send_as_quick_reply_shortcutZ_video_timestampr8   r8   r9   rL   *  sH    







z"ForwardMessagesRequest.from_reader)NNNNNNNNNNNNN)rN   rO   rP   rQ   rR   r   rT   r   ro   r	   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   r    s   f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   r   c                 C   s
   || _ dS )z]
        :returns messages.ChatAdminsWithInvites: Instance of ChatAdminsWithInvites.
        Nr   r   r8   r8   r9   r:   ^  s    z$GetAdminsWithInvitesRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   d  s    z#GetAdminsWithInvitesRequest.resolvec                 C   s"   dt | jtr| j n| jdS )Nr  r   r   r>   r8   r8   r9   r=   g  s    z#GetAdminsWithInvitesRequest.to_dictc                 C   s   d d| j fS )Nr?   s    9r   r>   r8   r8   r9   rB   m  s    z"GetAdminsWithInvitesRequest._bytesc                 C   s   |  }| |dS r   r   r   r8   r8   r9   rL   s  s    z'GetAdminsWithInvitesRequest.from_readerNr   r8   r8   r8   r9   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?jr   c                 C   s   ddiS )Nr;   r  r8   r>   r8   r8   r9   r=   }  s     zGetAllDraftsRequest.to_dictc                 C   s
   d dS )Nr?   )s   e?jr   r>   r8   r8   r9   rB     s    zGetAllDraftsRequest._bytesc                 C   s   |  S r^   r8   r   r8   r8   r9   rL     s    zGetAllDraftsRequest.from_readerNr   r8   r8   r8   r9   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 )HEr   c                 C   s
   || _ dS zh
        :returns messages.AllStickers: Instance of either AllStickersNotModified, AllStickers.
        Nr   r   r8   r8   r9   r:     s    zGetAllStickersRequest.__init__c                 C   s   d| j dS )Nr  r   r   r>   r8   r8   r9   r=     s    zGetAllStickersRequest.to_dictc                 C   s   d dtd| jfS )Nr?   s   r@   rA   rD   rE   r   r>   r8   r8   r9   rB     s    zGetAllStickersRequest._bytesc                 C   s   |  }| |dS r   r   r   r8   r8   r9   rL     s    z!GetAllStickersRequest.from_readerNr   r8   r8   r8   r9   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.
        Nr  )r7   r  r  r  r  r8   r8   r9   r:     s    z#GetArchivedStickersRequest.__init__c                 C   s   d| j | j| j| jdS )Nr  )r;   r  r  r  r  r  r>   r8   r8   r9   r=     s    z"GetArchivedStickersRequest.to_dictc              	   C   sb   d dtd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB td| jtd	| jfS )
Nr?   s   vWrg   Fr   rh   ri   r@   rk   )rA   rD   rE   r  r  r  r  r>   r8   r8   r9   rB     s    >z!GetArchivedStickersRequest._bytesc                 C   s@   |  }t|d@ }t|d@ }| }|  }| ||||dS )Nrh   ri   r  rn   ro   rH   )rI   rJ   rq   _masks_emojis
_offset_id_limitr8   r8   r9   rL     s    z&GetArchivedStickersRequest.from_reader)NNr3  r8   r8   r8   r9   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.
        Nr  )r7   r  r8   r8   r9   r:     s    z GetAttachMenuBotRequest.__init__c                    s   | || jI d H | _d S r^   r   ra   r  rb   r8   r8   r9   re     s    zGetAttachMenuBotRequest.resolvec                 C   s"   dt | jtr| j n| jdS )Nr  )r;   r  )r<   r  r   r=   r>   r8   r8   r9   r=     s    zGetAttachMenuBotRequest.to_dictc                 C   s   d d| j fS )Nr?   s   a!w)rA   r  rB   r>   r8   r8   r9   rB     s    zGetAttachMenuBotRequest._bytesc                 C   s   |  }| |dS )Nr  r   )rI   rJ   _botr8   r8   r9   rL     s    z#GetAttachMenuBotRequest.from_readerNr   r8   r8   r8   r9   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   #\ r   c                 C   s
   || _ dS )zh
        :returns AttachMenuBots: Instance of either AttachMenuBotsNotModified, AttachMenuBots.
        Nr   r   r8   r8   r9   r:     s    z!GetAttachMenuBotsRequest.__init__c                 C   s   d| j dS )Nr  r   r   r>   r8   r8   r9   r=     s    z GetAttachMenuBotsRequest.to_dictc                 C   s   d dtd| jfS )Nr?   s   r@   r  r>   r8   r8   r9   rB      s    zGetAttachMenuBotsRequest._bytesc                 C   s   |  }| |dS r   r   r   r8   r8   r9   rL     s    z$GetAttachMenuBotsRequest.from_readerNr   r8   r8   r8   r9   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.
        Nr  )r7   r   r8   r8   r9   r:     s    z#GetAttachedStickersRequest.__init__c                 C   s"   dt | jtr| j n| jdS )Nr  )r;   r   )r<   r   r   r=   r>   r8   r8   r9   r=     s    z"GetAttachedStickersRequest.to_dictc                 C   s   d d| j fS )Nr?   s   g[)rA   r   rB   r>   r8   r8   r9   rB     s    z!GetAttachedStickersRequest._bytesc                 C   s   |  }| |dS )Nr  r   )rI   rJ   r   r8   r8   r9   rL   "  s    z&GetAttachedStickersRequest.from_readerN
rN   rO   rP   rQ   rR   r:   r=   rB   rU   rL   r8   r8   r8   r9   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= ipDr   c                 C   s
   || _ dS )zw
        :returns messages.AvailableEffects: Instance of either AvailableEffectsNotModified, AvailableEffects.
        Nr   r   r8   r8   r9   r:   ,  s    z#GetAvailableEffectsRequest.__init__c                 C   s   d| j dS )Nr  r   r   r>   r8   r8   r9   r=   2  s    z"GetAvailableEffectsRequest.to_dictc                 C   s   d dtd| jfS )Nr?   s   9
rk   r  r>   r8   r8   r9   rB   8  s    z!GetAvailableEffectsRequest._bytesc                 C   s   |  }| |dS r   r  r   r8   r8   r9   rL   >  s    z&GetAvailableEffectsRequest.from_readerNr   r8   r8   r8   r9   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 r   c                 C   s
   || _ dS )z}
        :returns messages.AvailableReactions: Instance of either AvailableReactionsNotModified, AvailableReactions.
        Nr   r   r8   r8   r9   r:   H  s    z%GetAvailableReactionsRequest.__init__c                 C   s   d| j dS )Nr  r   r   r>   r8   r8   r9   r=   N  s    z$GetAvailableReactionsRequest.to_dictc                 C   s   d dtd| jfS )Nr?   s   rk   r  r>   r8   r8   r9   rB   T  s    z#GetAvailableReactionsRequest._bytesc                 C   s   |  }| |dS r   r  r   r8   r8   r9   rL   Z  s    z(GetAvailableReactionsRequest.from_readerNr   r8   r8   r8   r9   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   appr   c                 C   s   || _ || _dS )z?
        :returns messages.BotApp: Instance of BotApp.
        Nr  )r7   r  r   r8   r8   r9   r:   d  s    zGetBotAppRequest.__init__c                 C   s&   dt | jtr| j n| j| jdS )Nr  )r;   r  r   )r<   r  r   r=   r   r>   r8   r8   r9   r=   k  s    zGetBotAppRequest.to_dictc                 C   s    d d| j td| jfS )Nr?   s   4r@   )rA   r  rB   rD   rE   r   r>   r8   r8   r9   rB   r  s
    zGetBotAppRequest._bytesc                 C   s   |  }| }| ||dS )Nr  rF   rH   )rI   rJ   _appr   r8   r8   r9   rL   y  s    zGetBotAppRequest.from_readerNr   r8   r8   r8   r9   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   r3   rZ   gamedatapasswordc                 C   s"   || _ || _|| _|| _|| _dS )zU
        :returns messages.BotCallbackAnswer: Instance of BotCallbackAnswer.
        Nr  )r7   r3   rZ   r  r  r  r8   r8   r9   r:     s
    z$GetBotCallbackAnswerRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re     s    z#GetBotCallbackAnswerRequest.resolvec                 C   sH   dt | jtr| j n| j| j| j| jt | jtr>| j n| jdS )Nr  )r;   r3   rZ   r  r  r  )r<   r3   r   r=   rZ   r  r  r  r>   r8   r8   r9   r=     s    z#GetBotCallbackAnswerRequest.to_dictc              	   C   s   d dtd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | jd ksV| jdkrZdndB | j td	| j| jd ks| jdkrdn
| 	| j| jd ks| jdkrdn| j fS )
Nr?   s   Brg   Fr   ri   rh   rj   rk   )
rA   rD   rE   r  r  r  r3   rB   rZ   rC   r>   r8   r8   r9   rB     s    Z" z"GetBotCallbackAnswerRequest._bytesc                 C   sb   |  }t|d@ }| }|  }|d@ r6| }nd }|d@ rL| }nd }| |||||dS )Nri   rh   rj   r  r   )rI   rJ   rq   Z_gamerK   rs   _data	_passwordr8   r8   r9   rL     s    

z'GetBotCallbackAnswerRequest.from_reader)NNN)rN   rO   rP   rQ   rR   rT   r   ro   rS   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   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$   r3   offset_dateoffset_userr  	requestedsubscription_expiredr   qc	           	      C   s4   || _ || _|| _|| _|| _|| _|| _|| _dS )zY
        :returns messages.ChatInviteImporters: Instance of ChatInviteImporters.
        Nr  )	r7   r3   r  r  r  r  r  r   r  r8   r8   r9   r:     s    z&GetChatInviteImportersRequest.__init__c                    s8   | || jI d H | _||| jI d H | _d S r^   )r`   ra   r3   r   r  rb   r8   r8   r9   re     s    z%GetChatInviteImportersRequest.resolvec              
   C   sT   dt | jtr| j n| j| jt | jtr6| j n| j| j| j| j| j	| j
d	S )Nr  )	r;   r3   r  r  r  r  r  r   r  )r<   r3   r   r=   r  r  r  r  r  r   r  r>   r8   r8   r9   r=     s    z%GetChatInviteImportersRequest.to_dictc                 C   s   d dtd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | jd ksV| jdkrZdndB | jd ksr| jdkrvdnd	B | j | jd ks| jdkrdn
| 	| j| jd ks| jdkrdn
| 	| j| 
| j| j td
| jfS )Nr?   s   Nrg   Fr   rh   r  ri   rj   rk   )rA   rD   rE   r  r  r   r  r3   rB   rC   r  r  r  r  r>   r8   r8   r9   rB     s    v""
z$GetChatInviteImportersRequest._bytesc              
   C   s   |  }t|d@ }t|d@ }| }|d@ r:| }nd }|d@ rP| }nd }| }| }	|  }
| |||	|
||||dS )Nrh   r  ri   rj   r  )rn   ro   rF   rp   r  )rI   rJ   rq   Z
_requestedZ_subscription_expiredrK   r   _q_offset_dateZ_offset_userr  r8   r8   r9   rL     s    

z)GetChatInviteImportersRequest.from_reader)NNNN)rN   rO   rP   rQ   rR   r   r	   rT   ro   rv   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   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 )GetChatsRequestiRI   K3 r  c                 C   s
   || _ dS zP
        :returns messages.Chats: Instance of either Chats, ChatsSlice.
        Nr  r7   r  r8   r8   r9   r:     s    zGetChatsRequest.__init__c                 C   s"   d| j d krg n| j d d  dS )Nr  r;   r  r  r>   r8   r8   r9   r=     s    zGetChatsRequest.to_dictc              	   C   s2   d ddtdt| jd dd | jD fS )Nr?   s   RIr   rk   c                 s   s   | ]}t d |V  qdS r  r  r   r8   r8   r9   r     s     z)GetChatsRequest._bytes.<locals>.<genexpr>rA   rD   rE   r   r  r>   r8   r8   r9   rB   
  s      zGetChatsRequest._bytesc                 C   s:   |   g }t|  D ]}| }|| q| |dS Nr  rn   r   rH   r   rI   rJ   r  r;   r   r8   r8   r9   rL     s    zGetChatsRequest.from_readerNrN   rO   rP   rQ   rR   r   rT   r:   r=   rB   rU   rL   r8   r8   r8   r9   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 r  r$   r{   r   r  c                 C   s   || _ || _|| _dS r  r  )r7   r{   r   r  r8   r8   r9   r:     s    zGetCommonChatsRequest.__init__c                    s   | || jI d H | _d S r^   r~   rb   r8   r8   r9   re   '  s    zGetCommonChatsRequest.resolvec                 C   s*   dt | jtr| j n| j| j| jdS )Nr  )r;   r{   r   r  )r<   r{   r   r=   r   r  r>   r8   r8   r9   r=   *  s
    zGetCommonChatsRequest.to_dictc              	   C   s,   d d| j td| jtd| jfS )Nr?   s   r@   rk   )rA   r{   rB   rD   rE   r   r  r>   r8   r8   r9   rB   2  s    zGetCommonChatsRequest._bytesc                 C   s&   |  }| }| }| |||dS )Nr  )rF   rH   rn   )rI   rJ   r   r  r  r8   r8   r9   rL   :  s    z!GetCommonChatsRequest.from_readerNr   r8   r8   r8   r9   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.
        Nr  )r7   r  r8   r8   r9   r:   F  s    z'GetCustomEmojiDocumentsRequest.__init__c                 C   s"   d| j d krg n| j d d  dS )Nr  )r;   r  r  r>   r8   r8   r9   r=   L  s    z&GetCustomEmojiDocumentsRequest.to_dictc              	   C   s2   d ddtdt| jd dd | jD fS )Nr?   s   Tr   rk   c                 s   s   | ]}t d |V  qdS r  r  r   r8   r8   r9   r   U  s     z8GetCustomEmojiDocumentsRequest._bytes.<locals>.<genexpr>)rA   rD   rE   r   r  r>   r8   r8   r9   rB   R  s      z%GetCustomEmojiDocumentsRequest._bytesc                 C   s:   |   g }t|  D ]}| }|| q| |dS )Nr  r  )rI   rJ   Z_document_idr;   r   r8   r8   r9   rL   X  s    z*GetCustomEmojiDocumentsRequest.from_readerNr  r8   r8   r8   r9   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 )Nr;   r  r8   r>   r8   r8   r9   r=   g  s     z#GetDefaultHistoryTTLRequest.to_dictc                 C   s
   d dS )Nr?   )s   qer   r>   r8   r8   r9   rB   l  s    z"GetDefaultHistoryTTLRequest._bytesc                 C   s   |  S r^   r8   r   r8   r8   r9   rL   q  s    z'GetDefaultHistoryTTLRequest.from_readerNr   r8   r8   r8   r9   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{    $[ r   c                 C   s
   || _ dS zb
        :returns messages.Reactions: Instance of either ReactionsNotModified, Reactions.
        Nr   r   r8   r8   r9   r:   z  s    z&GetDefaultTagReactionsRequest.__init__c                 C   s   d| j dS )Nr  r   r   r>   r8   r8   r9   r=     s    z%GetDefaultTagReactionsRequest.to_dictc                 C   s   d dtd| jfS )Nr?   s   (4r@   r  r>   r8   r8   r9   rB     s    z$GetDefaultTagReactionsRequest._bytesc                 C   s   |  }| |dS r   r   r   r8   r8   r9   rL     s    z)GetDefaultTagReactionsRequest.from_readerNr   r8   r8   r8   r9   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.
        Nr  )r7   r  r  r8   r8   r9   r:     s    zGetDhConfigRequest.__init__c                 C   s   d| j | jdS )Nr  )r;   r  r  r  r>   r8   r8   r9   r=     s    zGetDhConfigRequest.to_dictc                 C   s$   d dtd| jtd| jfS )Nr?   s   P&rk   )rA   rD   rE   r  r  r>   r8   r8   r9   rB     s
    zGetDhConfigRequest._bytesc                 C   s   |  }|  }| ||dS )Nr  r  )rI   rJ   _versionZ_random_lengthr8   r8   r9   rL     s    zGetDhConfigRequest.from_readerNr   r8   r8   r8   r9   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 )Nr;   r  r8   r>   r8   r8   r9   r=     s     zGetDialogFiltersRequest.to_dictc                 C   s
   d dS )Nr?   )s   r   r>   r8   r8   r9   rB     s    zGetDialogFiltersRequest._bytesc                 C   s   |  S r^   r8   r   r8   r8   r9   rL     s    z#GetDialogFiltersRequest.from_readerNr   r8   r8   r8   r9   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 )
GetDialogUnreadMarksRequesti"N"l   J} c                 C   s   ddiS )Nr;   r  r8   r>   r8   r8   r9   r=     s     z#GetDialogUnreadMarksRequest.to_dictc                 C   s
   d dS )Nr?   )s   "N"r   r>   r8   r8   r9   rB     s    z"GetDialogUnreadMarksRequest._bytesc                 C   s   |  S r^   r8   r   r8   r8   r9   rL     s    z'GetDialogUnreadMarksRequest.from_readerNr   r8   r8   r8   r9   r    s   r  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  r   exclude_pinned	folder_idc                 C   s.   || _ || _|| _|| _|| _|| _|| _dS )zj
        :returns messages.Dialogs: Instance of either Dialogs, DialogsSlice, DialogsNotModified.
        Nr  )r7   r  r  r  r  r   r  r  r8   r8   r9   r:     s    zGetDialogsRequest.__init__c                    s   | || jI d H | _d S r^   r`   ra   r  rb   r8   r8   r9   re     s    zGetDialogsRequest.resolvec              	   C   s:   d| j | jt| jtr | j n| j| j| j| j| j	dS )Nr  )r;   r  r  r  r  r   r  r  )
r  r  r<   r  r   r=   r  r   r  r  r>   r8   r8   r9   r=     s    zGetDialogsRequest.to_dictc                 C   s   d dtd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | jd ksX| jdkr\dntd| j| | jtd| j| j	 td| j
td	| jfS )
Nr?   s   Org   Fr   rh   ri   rk   r@   )rA   rD   rE   r  r  r  r  r  r  rB   r  r   r>   r8   r8   r9   rB     s    >$
zGetDialogsRequest._bytesc           
   	   C   sh   |  }t|d@ }|d@ r&|  }nd }| }|  }| }|  }| }	| |||||	||dS )Nrh   ri   r  rn   ro   r  rF   rH   )
rI   rJ   rq   _exclude_pinned
_folder_idr  r  _offset_peerr  r   r8   r8   r9   rL   	  s    
zGetDialogsRequest.from_reader)NNrN   rO   rP   rQ   rR   r   r	   rT   ro   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   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 )GetDiscussionMessageRequestiriDiSr   r   c                 C   s   || _ || _dS )zU
        :returns messages.DiscussionMessage: Instance of DiscussionMessage.
        Nr   r   r8   r8   r9   r:   	  s    z$GetDiscussionMessageRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   	  s    z#GetDiscussionMessageRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr  r   r   r>   r8   r8   r9   r=   "	  s    z#GetDiscussionMessageRequest.to_dictc                 C   s    d d| j td| jfS )Nr?   s   riDrk   r   r>   r8   r8   r9   rB   )	  s
    z"GetDiscussionMessageRequest._bytesc                 C   s   |  }| }| ||dS r   r   r   r8   r8   r9   rL   0	  s    z'GetDiscussionMessageRequest.from_readerNr   r8   r8   r8   r9   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.
        Nr  )r7   r  r   r  r8   r8   r9   r:   ;	  s    z!GetDocumentByHashRequest.__init__c                 C   s   d| j | j| jdS )Nr  )r;   r  r   r  r  r>   r8   r8   r9   r=   C	  s
    z GetDocumentByHashRequest.to_dictc                 C   s,   d d| | jtd| j| | jfS )Nr?   s   r@   )rA   rC   r  rD   rE   r   r  r>   r8   r8   r9   rB   K	  s    

zGetDocumentByHashRequest._bytesc                 C   s&   |  }| }| }| |||dS )Nr  )rG   rH   rp   )rI   rJ   _sha256_size
_mime_typer8   r8   r9   rL   S	  s    z$GetDocumentByHashRequest.from_readerN)rN   rO   rP   rQ   rR   rS   rT   rv   r:   r=   rB   rU   rL   r8   r8   r8   r9   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[ΈtU~r   c                 C   s
   || _ dS zh
        :returns messages.EmojiGroups: Instance of either EmojiGroupsNotModified, EmojiGroups.
        Nr   r   r8   r8   r9   r:   _	  s    zGetEmojiGroupsRequest.__init__c                 C   s   d| j dS )Nr  r   r   r>   r8   r8   r9   r=   e	  s    zGetEmojiGroupsRequest.to_dictc                 C   s   d dtd| jfS )Nr?   s   [Έtrk   r  r>   r8   r8   r9   rB   k	  s    zGetEmojiGroupsRequest._bytesc                 C   s   |  }| |dS r   r  r   r8   r8   r9   rL   q	  s    z!GetEmojiGroupsRequest.from_readerNr   r8   r8   r8   r9   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 )GetEmojiKeywordsRequestib5   rF$ 	lang_codec                 C   s
   || _ dS zX
        :returns EmojiKeywordsDifference: Instance of EmojiKeywordsDifference.
        Nr
  r7   r  r8   r8   r9   r:   {	  s    z GetEmojiKeywordsRequest.__init__c                 C   s   d| j dS )Nr  r;   r  r
  r>   r8   r8   r9   r=   	  s    zGetEmojiKeywordsRequest.to_dictc                 C   s   d d| | jfS )Nr?   s   b5rA   rC   r  r>   r8   r8   r9   rB   	  s    
zGetEmojiKeywordsRequest._bytesc                 C   s   |  }| |dS Nr
  r   rI   rJ   
_lang_coder8   r8   r9   rL   	  s    z#GetEmojiKeywordsRequest.from_readerNr   r8   r8   r8   r9   r  w	  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 )!GetEmojiKeywordsDifferenceRequestir	  r  from_versionc                 C   s   || _ || _dS r  r  )r7   r  r  r8   r8   r9   r:   	  s    z*GetEmojiKeywordsDifferenceRequest.__init__c                 C   s   d| j | jdS )Nr  )r;   r  r  r  r>   r8   r8   r9   r=   	  s    z)GetEmojiKeywordsDifferenceRequest.to_dictc                 C   s"   d d| | jtd| jfS )Nr?   s   rk   )rA   rC   r  rD   rE   r  r>   r8   r8   r9   rB   	  s
    
z(GetEmojiKeywordsDifferenceRequest._bytesc                 C   s   |  }| }| ||dS )Nr  rp   rn   )rI   rJ   r  _from_versionr8   r8   r9   rL   	  s    z-GetEmojiKeywordsDifferenceRequest.from_readerNrN   rO   rP   rQ   rR   rv   rT   r:   r=   rB   rU   rL   r8   r8   r8   r9   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 ) GetEmojiKeywordsLanguagesRequesticNl   S+O 
lang_codesc                 C   s
   || _ dS )zP
        :returns Vector<EmojiLanguage>: This type has no constructors.
        Nr  )r7   r  r8   r8   r9   r:   	  s    z)GetEmojiKeywordsLanguagesRequest.__init__c                 C   s"   d| j d krg n| j d d  dS )Nr  )r;   r  r  r>   r8   r8   r9   r=   	  s    z(GetEmojiKeywordsLanguagesRequest.to_dictc              
      s6   d ddtdt jd  fdd jD fS )Nr?   s   cNr   rk   c                 3   s   | ]}  |V  qd S r^   rC   r   r>   r8   r9   r   	  s     z:GetEmojiKeywordsLanguagesRequest._bytes.<locals>.<genexpr>)rA   rD   rE   r   r  r>   r8   r>   r9   rB   	  s      z'GetEmojiKeywordsLanguagesRequest._bytesc                 C   s:   |   g }t|  D ]}| }|| q| |dS )Nr  )rn   r   rp   r   )rI   rJ   Z_lang_codesr;   r   r8   r8   r9   rL   	  s    z,GetEmojiKeywordsLanguagesRequest.from_readerN)rN   rO   rP   rQ   rR   r   rv   r:   r=   rB   rU   rL   r8   r8   r8   r9   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 )!GetEmojiProfilePhotoGroupsRequestiH!r  r   c                 C   s
   || _ dS r  r   r   r8   r8   r9   r:   	  s    z*GetEmojiProfilePhotoGroupsRequest.__init__c                 C   s   d| j dS )Nr  r   r   r>   r8   r8   r9   r=   	  s    z)GetEmojiProfilePhotoGroupsRequest.to_dictc                 C   s   d dtd| jfS )Nr?   s   H!rk   r  r>   r8   r8   r9   rB   	  s    z(GetEmojiProfilePhotoGroupsRequest._bytesc                 C   s   |  }| |dS r   r  r   r8   r8   r9   rL   	  s    z-GetEmojiProfilePhotoGroupsRequest.from_readerNr   r8   r8   r8   r9   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 )GetEmojiStatusGroupsRequestiV.r  r   c                 C   s
   || _ dS r  r   r   r8   r8   r9   r:   	  s    z$GetEmojiStatusGroupsRequest.__init__c                 C   s   d| j dS )Nr  r   r   r>   r8   r8   r9   r=   	  s    z#GetEmojiStatusGroupsRequest.to_dictc                 C   s   d dtd| jfS )Nr?   s   V.rk   r  r>   r8   r8   r9   rB    
  s    z"GetEmojiStatusGroupsRequest._bytesc                 C   s   |  }| |dS r   r  r   r8   r8   r9   rL   
  s    z'GetEmojiStatusGroupsRequest.from_readerNr   r8   r8   r8   r9   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 )GetEmojiStickerGroupsRequesti@r  r   c                 C   s
   || _ dS r  r   r   r8   r8   r9   r:   
  s    z%GetEmojiStickerGroupsRequest.__init__c                 C   s   d| j dS )Nr  r   r   r>   r8   r8   r9   r=   
  s    z$GetEmojiStickerGroupsRequest.to_dictc                 C   s   d dtd| jfS )Nr?   s   @rk   r  r>   r8   r8   r9   rB   
  s    z#GetEmojiStickerGroupsRequest._bytesc                 C   s   |  }| |dS r   r  r   r8   r8   r9   rL   "
  s    z(GetEmojiStickerGroupsRequest.from_readerNr   r8   r8   r8   r9   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 )GetEmojiStickersRequestl   !w r  r   c                 C   s
   || _ dS r  r   r   r8   r8   r9   r:   ,
  s    z GetEmojiStickersRequest.__init__c                 C   s   d| j dS )Nr   r   r   r>   r8   r8   r9   r=   2
  s    zGetEmojiStickersRequest.to_dictc                 C   s   d dtd| jfS )Nr?   s   r@   r  r>   r8   r8   r9   rB   8
  s    zGetEmojiStickersRequest._bytesc                 C   s   |  }| |dS r   r   r   r8   r8   r9   rL   >
  s    z#GetEmojiStickersRequest.from_readerNr   r8   r8   r8   r9   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 )GetEmojiURLRequestl   &b+ ir
  c                 C   s
   || _ dS )z:
        :returns EmojiURL: Instance of EmojiURL.
        Nr
  r  r8   r8   r9   r:   H
  s    zGetEmojiURLRequest.__init__c                 C   s   d| j dS )Nr!  r  r
  r>   r8   r8   r9   r=   N
  s    zGetEmojiURLRequest.to_dictc                 C   s   d d| | jfS )Nr?   s   &r  r>   r8   r8   r9   rB   T
  s    
zGetEmojiURLRequest._bytesc                 C   s   |  }| |dS r  r   r  r8   r8   r9   rL   Z
  s    zGetEmojiURLRequest.from_readerNr   r8   r8   r8   r9   r!  D
  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 )GetExportedChatInviteRequesti\otsrL  r   r   c                 C   s   || _ || _dS rR  r   r   r8   r8   r9   r:   d
  s    z%GetExportedChatInviteRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   k
  s    z$GetExportedChatInviteRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr"  r   r   r>   r8   r8   r9   r=   n
  s    z$GetExportedChatInviteRequest.to_dictc                 C   s   d d| j | | jfS )Nr?   s   \otsr   r>   r8   r8   r9   rB   u
  s
    
z#GetExportedChatInviteRequest._bytesc                 C   s   |  }| }| ||dS r   r   r   r8   r8   r9   rL   |
  s    z(GetExportedChatInviteRequest.from_readerNr   r8   r8   r8   r9   r"  `
  s   r"  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$   r3   r  r  rN  r  offset_linkc                 C   s(   || _ || _|| _|| _|| _|| _dS )zY
        :returns messages.ExportedChatInvites: Instance of ExportedChatInvites.
        Nr$  )r7   r3   r  r  rN  r  r%  r8   r8   r9   r:   
  s    z&GetExportedChatInvitesRequest.__init__c                    s8   | || jI d H | _||| jI d H | _d S r^   r  rb   r8   r8   r9   re   
  s    z%GetExportedChatInvitesRequest.resolvec                 C   sL   dt | jtr| j n| jt | jtr2| j n| j| j| j| j| jdS )Nr#  )r;   r3   r  r  rN  r  r%  )	r<   r3   r   r=   r  r  rN  r  r%  r>   r8   r8   r9   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dtd| jd ksp| jdkrtdnd| j d ks| j dkrdndB | jd ks| jdkrdndB | j | j	 | j d ks| j dkrdn
| 
| j | jd ks| jdkrdn
| | jtd	| jfS )
NFzToffset_date, offset_link parameters must all be False-y (like None) or all me True-yr?   s   rg   r   r  rj   rk   )r  r%  rl   rA   rD   rE   rN  r3   rB   r  r  rC   r  r>   r8   r8   r9   rB   
  s    PZ""z$GetExportedChatInvitesRequest._bytesc           	      C   sl   |  }t|d@ }| }| }|d@ r6| }nd }|d@ rL| }nd }|  }| ||||||dS )Nr  rj   r$  r{  )	rI   rJ   rq   rT  rK   r   r  Z_offset_linkr  r8   r8   r9   rL   
  s    

z)GetExportedChatInvitesRequest.from_reader)NNN)rN   rO   rP   rQ   rR   rT   r   ro   r	   rv   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   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 )GetExtendedMediaRequestl   	 r   r   r&  c                 C   s   || _ || _dS r   r&  r'  r8   r8   r9   r:   
  s    z GetExtendedMediaRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   
  s    zGetExtendedMediaRequest.resolvec                 C   s<   dt | jtr| j n| j| jd kr*g n| jd d  dS )Nr&  r(  r)  r>   r8   r8   r9   r=   
  s    zGetExtendedMediaRequest.to_dictc              
   C   s:   d d| j dtdt| jd dd | jD fS )Nr?   s   r   rk   c                 s   s   | ]}t d |V  qdS r  r  r   r8   r8   r9   r   
  s     z1GetExtendedMediaRequest._bytes.<locals>.<genexpr>r*  r>   r8   r8   r9   rB   
  s      zGetExtendedMediaRequest._bytesc                 C   sD   |  }|  g }t| D ]}| }|| q | ||dS r+  r,  r-  r8   r8   r9   rL   
  s    z#GetExtendedMediaRequest.from_readerNr.  r8   r8   r8   r9   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 )GetFactCheckRequestl   Es l   Lw r   r   c                 C   s   || _ || _dS )zL
        :returns Vector<FactCheck>: This type has no constructors.
        Nr   r   r8   r8   r9   r:   
  s    zGetFactCheckRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   
  s    zGetFactCheckRequest.resolvec                 C   s<   dt | jtr| j n| j| jd kr*g n| jd d  dS )Nr'  r   r   r>   r8   r8   r9   r=   
  s    zGetFactCheckRequest.to_dictc              
   C   s:   d d| j dtdt| jd dd | jD fS )Nr?   s   ͹r   rk   c                 s   s   | ]}t d |V  qdS r  r  r   r8   r8   r9   r     s     z-GetFactCheckRequest._bytes.<locals>.<genexpr>)rA   r3   rB   rD   rE   r   rZ   r>   r8   r8   r9   rB   
  s      zGetFactCheckRequest._bytesc                 C   sD   |  }|  g }t| D ]}| }|| q | ||dS r   r,  )rI   rJ   rK   rs   r;   r   r8   r8   r9   rL     s    zGetFactCheckRequest.from_readerNr.  r8   r8   r8   r9   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 )GetFavedStickersRequestil   o r   c                 C   s
   || _ dS )zn
        :returns messages.FavedStickers: Instance of either FavedStickersNotModified, FavedStickers.
        Nr   r   r8   r8   r9   r:     s    z GetFavedStickersRequest.__init__c                 C   s   d| j dS )Nr(  r   r   r>   r8   r8   r9   r=     s    zGetFavedStickersRequest.to_dictc                 C   s   d dtd| jfS )Nr?   s   r@   r  r>   r8   r8   r9   rB      s    zGetFavedStickersRequest._bytesc                 C   s   |  }| |dS r   r   r   r8   r8   r9   rL   &  s    z#GetFavedStickersRequest.from_readerNr   r8   r8   r8   r9   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 )GetFeaturedEmojiStickersRequesti6g"&r   c                 C   s
   || _ dS zw
        :returns messages.FeaturedStickers: Instance of either FeaturedStickersNotModified, FeaturedStickers.
        Nr   r   r8   r8   r9   r:   0  s    z(GetFeaturedEmojiStickersRequest.__init__c                 C   s   d| j dS )Nr)  r   r   r>   r8   r8   r9   r=   6  s    z'GetFeaturedEmojiStickersRequest.to_dictc                 C   s   d dtd| jfS )Nr?   s   6gr@   r  r>   r8   r8   r9   rB   <  s    z&GetFeaturedEmojiStickersRequest._bytesc                 C   s   |  }| |dS r   r   r   r8   r8   r9   rL   B  s    z+GetFeaturedEmojiStickersRequest.from_readerNr   r8   r8   r8   r9   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 )GetFeaturedStickersRequestixdr*  r   c                 C   s
   || _ dS r+  r   r   r8   r8   r9   r:   L  s    z#GetFeaturedStickersRequest.__init__c                 C   s   d| j dS )Nr,  r   r   r>   r8   r8   r9   r=   R  s    z"GetFeaturedStickersRequest.to_dictc                 C   s   d dtd| jfS )Nr?   s   xdr@   r  r>   r8   r8   r9   rB   X  s    z!GetFeaturedStickersRequest._bytesc                 C   s   |  }| |dS r   r   r   r8   r8   r9   rL   ^  s    z&GetFeaturedStickersRequest.from_readerNr   r8   r8   r8   r9   r,  H  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 )GetFullChatRequestl   4`] i	QZ"r   c                 C   s
   || _ dS )zC
        :returns messages.ChatFull: Instance of ChatFull.
        Nr   r   r8   r8   r9   r:   h  s    zGetFullChatRequest.__init__c                 C   s   d| j dS )Nr-  r   r   r>   r8   r8   r9   r=   n  s    zGetFullChatRequest.to_dictc                 C   s   d dtd| jfS )Nr?   s   4r@   r   r>   r8   r8   r9   rB   t  s    zGetFullChatRequest._bytesc                 C   s   |  }| |dS r   r   r   r8   r8   r9   rL   z  s    zGetFullChatRequest.from_readerNr   r8   r8   r8   r9   r-  d  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 )GetGameHighScoresRequestl   dDP lr   r$   r3   r  r{   c                 C   s   || _ || _|| _dS zG
        :returns messages.HighScores: Instance of HighScores.
        Nr0  )r7   r3   r  r{   r8   r8   r9   r:     s    z!GetGameHighScoresRequest.__init__c                    s8   | || jI d H | _||| jI d H | _d S r^   r`   ra   r3   r   r{   rb   r8   r8   r9   re     s    z GetGameHighScoresRequest.resolvec                 C   s@   dt | jtr| j n| j| jt | jtr6| j n| jdS )Nr.  )r;   r3   r  r{   )r<   r3   r   r=   r  r{   r>   r8   r8   r9   r=     s
    z GetGameHighScoresRequest.to_dictc                 C   s(   d d| j td| j| j fS )Nr?   s   d"rk   )rA   r3   rB   rD   rE   r  r{   r>   r8   r8   r9   rB     s    zGetGameHighScoresRequest._bytesc                 C   s&   |  }| }|  }| |||dS )Nr0  r   )rI   rJ   rK   r  r   r8   r8   r9   rL     s    z$GetGameHighScoresRequest.from_readerNr   r8   r8   r8   r9   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 )GetHistoryRequesti#D   ^h) r   r3   r  r  
add_offsetr  r   min_idr   c	           	      C   s4   || _ || _|| _|| _|| _|| _|| _|| _dS z
        :returns messages.Messages: Instance of either Messages, MessagesSlice, ChannelMessages, MessagesNotModified.
        Nr5  	r7   r3   r  r  r6  r  r   r7  r   r8   r8   r9   r:     s    zGetHistoryRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re     s    zGetHistoryRequest.resolvec              
   C   s>   dt | jtr| j n| j| j| j| j| j| j| j	| j
d	S )Nr3  	r;   r3   r  r  r6  r  r   r7  r   r<   r3   r   r=   r  r  r6  r  r   r7  r   r>   r8   r8   r9   r=     s    zGetHistoryRequest.to_dictc                 C   sf   d d| j td| j| | jtd| jtd| j	td| j
td| jtd| jf	S )Nr?   s   #Drk   r@   rA   r3   rB   rD   rE   r  r  r  r6  r  r   r7  r   r>   r8   r8   r9   rB     s    
zGetHistoryRequest._bytesc           
   
   C   sX   |  }| }| }| }| }| }| }| }	| ||||||||	dS Nr5  rF   rn   r  rH   
rI   rJ   rK   r  r  _add_offsetr  r  _min_idr   r8   r8   r9   rL     s    zGetHistoryRequest.from_readerNr$  r8   r8   r8   r9   r3    s    r3  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  r3   queryoffset	geo_pointc                 C   s"   || _ || _|| _|| _|| _dS )zG
        :returns messages.BotResults: Instance of BotResults.
        NrC  )r7   r  r3   rD  rE  rF  r8   r8   r9   r:     s
    z#GetInlineBotResultsRequest.__init__c                    s8   | || jI d H | _||| jI d H | _d S r^   r   ra   r  r`   r3   rb   r8   r8   r9   re     s    z"GetInlineBotResultsRequest.resolvec                 C   s^   dt | jtr| j n| jt | jtr2| j n| j| j| jt | jtrT| j n| jdS )NrB  )r;   r  r3   rD  rE  rF  )r<   r  r   r=   r3   rD  rE  rF  r>   r8   r8   r9   r=     s    z"GetInlineBotResultsRequest.to_dictc                 C   sr   d dtd| jd ks | jdkr$dnd| j | j | jd ksL| jdkrPdn| j | | j| | j	fS )Nr?   s   NQrg   Fr   rh   )
rA   rD   rE   rF  r  rB   r3   rC   rD  rE  r>   r8   r8   r9   rB     s    " 

z!GetInlineBotResultsRequest._bytesc                 C   sP   |  }| }| }|d@ r*| }nd }| }| }| |||||dS )Nrh   rC  rn   rF   rp   )rI   rJ   rq   r  rK   
_geo_point_query_offsetr8   r8   r9   rL   
  s    
z&GetInlineBotResultsRequest.from_reader)N)rN   rO   rP   rQ   rR   rv   r   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   rB    s   

rB  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r/  r   r$   r  r{   c                 C   s   || _ || _dS r1  rM  )r7   r  r{   r8   r8   r9   r:     s    z'GetInlineGameHighScoresRequest.__init__c                    s   | || jI d H | _d S r^   r~   rb   r8   r8   r9   re   $  s    z&GetInlineGameHighScoresRequest.resolvec                 C   s<   dt | jtr| j n| jt | jtr2| j n| jdS )NrL  )r;   r  r{   )r<   r  r   r=   r{   r>   r8   r8   r9   r=   '  s    z&GetInlineGameHighScoresRequest.to_dictc                 C   s   d d| j | j fS )Nr?   s   ^c)rA   r  rB   r{   r>   r8   r8   r9   rB   .  s
    z%GetInlineGameHighScoresRequest._bytesc                 C   s   |  }|  }| ||dS )NrM  r   )rI   rJ   r  r   r8   r8   r9   rL   5  s    z*GetInlineGameHighScoresRequest.from_readerNr   r8   r8   r8   r9   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 )GetMaskStickersRequestidr  r   c                 C   s
   || _ dS r  r   r   r8   r8   r9   r:   @  s    zGetMaskStickersRequest.__init__c                 C   s   d| j dS )NrN  r   r   r>   r8   r8   r9   r=   F  s    zGetMaskStickersRequest.to_dictc                 C   s   d dtd| jfS )Nr?   s   dr@   r  r>   r8   r8   r9   rB   L  s    zGetMaskStickersRequest._bytesc                 C   s   |  }| |dS r   r   r   r8   r8   r9   rL   R  s    z"GetMaskStickersRequest.from_readerNr   r8   r8   r8   r9   rN  <  s   rN  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   r&  c                 C   s   || _ || _dS )zQ
        :returns messages.MessageEditData: Instance of MessageEditData.
        Nr&  r'  r8   r8   r9   r:   \  s    z"GetMessageEditDataRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   c  s    z!GetMessageEditDataRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )NrO  r(  r)  r>   r8   r8   r9   r=   f  s    z!GetMessageEditDataRequest.to_dictc                 C   s    d d| j td| jfS )Nr?   s   6rk   )rA   r3   rB   rD   rE   r  r>   r8   r8   r9   rB   m  s
    z GetMessageEditDataRequest._bytesc                 C   s   |  }| }| ||dS r+  r   )rI   rJ   rK   r  r8   r8   r9   rL   t  s    z%GetMessageEditDataRequest.from_readerNr   r8   r8   r8   r9   rO  X  s   rO  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)   r3   r  r  reactionrE  c                 C   s"   || _ || _|| _|| _|| _dS )z[
        :returns messages.MessageReactionsList: Instance of MessageReactionsList.
        NrQ  )r7   r3   r  r  rR  rE  r8   r8   r9   r:     s
    z'GetMessageReactionsListRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re     s    z&GetMessageReactionsListRequest.resolvec                 C   sH   dt | jtr| j n| j| j| jt | jtr:| j n| j| jdS )NrP  )r;   r3   r  r  rR  rE  )r<   r3   r   r=   r  r  rR  rE  r>   r8   r8   r9   r=     s    z&GetMessageReactionsListRequest.to_dictc                 C   s   d dtd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | j td| j| jd ksl| jdkrpdn| j | jd ks| jdkrdn
| | jtd| j	fS )	Nr?   s   H?Frg   Fr   rh   ri   rk   )
rA   rD   rE   rR  rE  r3   rB   r  rC   r  r>   r8   r8   r9   rB     s    > "z%GetMessageReactionsListRequest._bytesc                 C   s^   |  }| }|  }|d@ r*| }nd }|d@ r@| }nd }|  }| |||||dS )Nrh   ri   rQ  rH  )rI   rJ   rq   rK   r  	_reactionrK  r  r8   r8   r9   rL     s    

z*GetMessageReactionsListRequest.from_reader)NN)rN   rO   rP   rQ   rR   rT   r   rv   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   rP  {  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 )!GetMessageReadParticipantsRequestiO1i[E!r   r   c                 C   s   || _ || _dS )zV
        :returns Vector<ReadParticipantDate>: This type has no constructors.
        Nr   r   r8   r8   r9   r:     s    z*GetMessageReadParticipantsRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re     s    z)GetMessageReadParticipantsRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )NrT  r   r   r>   r8   r8   r9   r=     s    z)GetMessageReadParticipantsRequest.to_dictc                 C   s    d d| j td| jfS )Nr?   s   O1rk   r   r>   r8   r8   r9   rB     s
    z(GetMessageReadParticipantsRequest._bytesc                 C   s   |  }| }| ||dS r   r   r   r8   r8   r9   rL     s    z-GetMessageReadParticipantsRequest.from_readerNr   r8   r8   r8   r9   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 )GetMessagesRequestiecr4  r   r  c                 C   s
   || _ dS r8  r  r  r8   r8   r9   r:     s    zGetMessagesRequest.__init__c                    s*   g }| j D ]}||| q
|| _ d S r^   )r  r   get_input_messager   r8   r8   r9   re     s    
zGetMessagesRequest.resolvec                 C   s$   d| j d krg ndd | j D dS )NrU  c                 S   s"   g | ]}t |tr| n|qS r8   r   r   r8   r8   r9   r     s     z.GetMessagesRequest.to_dict.<locals>.<listcomp>r  r  r>   r8   r8   r9   r=     s    zGetMessagesRequest.to_dictc              	   C   s2   d ddtdt| jd dd | jD fS )Nr?   s   ecr   rk   c                 s   s   | ]}|  V  qd S r^   r   r   r8   r8   r9   r     s     z,GetMessagesRequest._bytes.<locals>.<genexpr>r  r>   r8   r8   r9   rB     s      zGetMessagesRequest._bytesc                 C   s:   |   g }t|  D ]}| }|| q| |dS r  rn   r   rF   r   r  r8   r8   r9   rL     s    zGetMessagesRequest.from_readerNrN   rO   rP   rQ   rR   r   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   rU    s   rU  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 r   r   r&  c                 C   s   || _ || _dS r   r&  r'  r8   r8   r9   r:     s    z$GetMessagesReactionsRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   	  s    z#GetMessagesReactionsRequest.resolvec                 C   s<   dt | jtr| j n| j| jd kr*g n| jd d  dS )NrY  r(  r)  r>   r8   r8   r9   r=     s    z#GetMessagesReactionsRequest.to_dictc              
   C   s:   d d| j dtdt| jd dd | jD fS )Nr?   s   携r   rk   c                 s   s   | ]}t d |V  qdS r  r  r   r8   r8   r9   r     s     z5GetMessagesReactionsRequest._bytes.<locals>.<genexpr>r*  r>   r8   r8   r9   rB     s      z"GetMessagesReactionsRequest._bytesc                 C   sD   |  }|  g }t| D ]}| }|| q | ||dS r+  r,  r-  r8   r8   r9   rL     s    z'GetMessagesReactionsRequest.from_readerNr.  r8   r8   r8   r9   rY    s   rY  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   r3   r  	incrementc                 C   s   || _ || _|| _dS )zK
        :returns messages.MessageViews: Instance of MessageViews.
        Nr[  )r7   r3   r  r\  r8   r8   r9   r:   *  s    z GetMessagesViewsRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   2  s    zGetMessagesViewsRequest.resolvec                 C   s@   dt | jtr| j n| j| jd kr*g n| jd d  | jdS )NrZ  )r;   r3   r  r\  )r<   r3   r   r=   r  r\  r>   r8   r8   r9   r=   5  s
    zGetMessagesViewsRequest.to_dictc              
   C   sF   d d| j dtdt| jd dd | jD | jr>dndfS )	Nr?   s   ӄWr   rk   c                 s   s   | ]}t d |V  qdS r  r  r   r8   r8   r9   r   A  s     z1GetMessagesViewsRequest._bytes.<locals>.<genexpr>r;  r<  )rA   r3   rB   rD   rE   r   r  r\  r>   r8   r8   r9   rB   =  s      zGetMessagesViewsRequest._bytesc                 C   sN   |  }|  g }t| D ]}| }|| q | }| |||dS )Nr[  )rF   rn   r   r   r=  )rI   rJ   rK   r  r;   r   Z
_incrementr8   r8   r9   rL   E  s    z#GetMessagesViewsRequest.from_readerN)rN   rO   rP   rQ   rR   r   rT   ro   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   rZ  &  s   rZ  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.
        Nr^  )r7   r  r  r8   r8   r9   r:   V  s    zGetMyStickersRequest.__init__c                 C   s   d| j | jdS )Nr]  )r;   r  r  r^  r>   r8   r8   r9   r=   ]  s    zGetMyStickersRequest.to_dictc                 C   s$   d dtd| jtd| jfS )Nr?   s   r@   rk   )rA   rD   rE   r  r  r>   r8   r8   r9   rB   d  s
    zGetMyStickersRequest._bytesc                 C   s   |  }| }| ||dS )Nr^  )rH   rn   )rI   rJ   r  r  r8   r8   r9   rL   k  s    z GetMyStickersRequest.from_readerNr   r8   r8   r8   r9   r]  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 )GetOldFeaturedStickersRequesti~r*  rE  r  r   c                 C   s   || _ || _|| _dS r+  r`  )r7   rE  r  r   r8   r8   r9   r:   v  s    z&GetOldFeaturedStickersRequest.__init__c                 C   s   d| j | j| jdS )Nr_  )r;   rE  r  r   r`  r>   r8   r8   r9   r=   ~  s
    z%GetOldFeaturedStickersRequest.to_dictc              	   C   s0   d dtd| jtd| jtd| jfS )Nr?   s   ~rk   r@   )rA   rD   rE   rE  r  r   r>   r8   r8   r9   rB     s    z$GetOldFeaturedStickersRequest._bytesc                 C   s&   |  }|  }| }| |||dS )Nr`  rn   rH   )rI   rJ   rK  r  r   r8   r8   r9   rL     s    z)GetOldFeaturedStickersRequest.from_readerNr   r8   r8   r8   r9   r_  r  s   r_  c                   @   sF   e Zd ZdZdZddddZdd Zd	d
 Zdd Ze	dd Z
dS )GetOnlinesRequestiP+nl   : r   r   c                 C   s
   || _ dS )z@
        :returns ChatOnlines: Instance of ChatOnlines.
        Nr   r   r8   r8   r9   r:     s    zGetOnlinesRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re     s    zGetOnlinesRequest.resolvec                 C   s"   dt | jtr| j n| jdS )Nrb  r   r   r>   r8   r8   r9   r=     s    zGetOnlinesRequest.to_dictc                 C   s   d d| j fS )Nr?   s   P+nr   r>   r8   r8   r9   rB     s    zGetOnlinesRequest._bytesc                 C   s   |  }| |dS r   r   r   r8   r8   r9   rL     s    zGetOnlinesRequest.from_readerNr   r8   r8   r8   r9   rb    s   rb  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   r   c                 C   s   || _ || _dS )zF
        :returns OutboxReadDate: Instance of OutboxReadDate.
        Nr   r   r8   r8   r9   r:     s    z!GetOutboxReadDateRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re     s    z GetOutboxReadDateRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nrc  r   r   r>   r8   r8   r9   r=     s    z GetOutboxReadDateRequest.to_dictc                 C   s    d d| j td| jfS )Nr?   s   ]Krk   r   r>   r8   r8   r9   rB     s
    zGetOutboxReadDateRequest._bytesc                 C   s   |  }| }| ||dS r   r   r   r8   r8   r9   rL     s    z$GetOutboxReadDateRequest.from_readerNr   r8   r8   r8   r9   rc    s   rc  c                   @   s0   e Zd ZdZdZdd Zdd Zedd Zd	S )
GetPaidReactionPrivacyRequestiU$Gr   c                 C   s   ddiS )Nr;   rd  r8   r>   r8   r8   r9   r=     s     z%GetPaidReactionPrivacyRequest.to_dictc                 C   s
   d dS )Nr?   )s   U$Gr   r>   r8   r8   r9   rB     s    z$GetPaidReactionPrivacyRequest._bytesc                 C   s   |  S r^   r8   r   r8   r8   r9   rL     s    z)GetPaidReactionPrivacyRequest.from_readerNr   r8   r8   r8   r9   rd    s   rd  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 2:r   peersc                 C   s
   || _ dS zI
        :returns messages.PeerDialogs: Instance of PeerDialogs.
        Nrg  )r7   rh  r8   r8   r9   r:     s    zGetPeerDialogsRequest.__init__c                    s0   g }| j D ]}|||I d H  q
|| _ d S r^   )rh  r   _get_input_dialogr   r8   r8   r9   re     s    
zGetPeerDialogsRequest.resolvec                 C   s$   d| j d krg ndd | j D dS )Nre  c                 S   s"   g | ]}t |tr| n|qS r8   r   r   r8   r8   r9   r     s     z1GetPeerDialogsRequest.to_dict.<locals>.<listcomp>)r;   rh  rg  r>   r8   r8   r9   r=     s    zGetPeerDialogsRequest.to_dictc              	   C   s2   d ddtdt| jd dd | jD fS )Nr?   s   pr   rk   c                 s   s   | ]}|  V  qd S r^   r   r   r8   r8   r9   r     s     z/GetPeerDialogsRequest._bytes.<locals>.<genexpr>)rA   rD   rE   r   rh  r>   r8   r8   r9   rB     s      zGetPeerDialogsRequest._bytesc                 C   s:   |   g }t|  D ]}| }|| q| |dS )Nrg  rW  )rI   rJ   _peersr;   r   r8   r8   r9   rL     s    z!GetPeerDialogsRequest.from_readerNrX  r8   r8   r8   r9   re    s   re  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   r   c                 C   s
   || _ dS )zK
        :returns messages.PeerSettings: Instance of PeerSettings.
        Nr   r   r8   r8   r9   r:     s    zGetPeerSettingsRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re     s    zGetPeerSettingsRequest.resolvec                 C   s"   dt | jtr| j n| jdS )Nrl  r   r   r>   r8   r8   r9   r=      s    zGetPeerSettingsRequest.to_dictc                 C   s   d d| j fS )Nr?   s   r   r>   r8   r8   r9   rB   &  s    zGetPeerSettingsRequest._bytesc                 C   s   |  }| |dS r   r   r   r8   r8   r9   rL   ,  s    z"GetPeerSettingsRequest.from_readerNr   r8   r8   r8   r9   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 )GetPinnedDialogsRequestl   Mr- rf  r  c                 C   s
   || _ dS ri  rn  )r7   r  r8   r8   r9   r:   6  s    z GetPinnedDialogsRequest.__init__c                 C   s   d| j dS )Nrm  )r;   r  rn  r>   r8   r8   r9   r=   <  s    zGetPinnedDialogsRequest.to_dictc                 C   s   d dtd| jfS )Nr?   s   Mrk   )rA   rD   rE   r  r>   r8   r8   r9   rB   B  s    zGetPinnedDialogsRequest._bytesc                 C   s   |  }| |dS )Nrn  r  )rI   rJ   r  r8   r8   r9   rL   H  s    z#GetPinnedDialogsRequest.from_readerNr   r8   r8   r8   r9   rm  2  s   rm  c                   @   s0   e Zd ZdZdZdd Zdd Zedd Zd	S )
GetPinnedSavedDialogsRequestl   {, ~Kac                 C   s   ddiS )Nr;   ro  r8   r>   r8   r8   r9   r=   R  s     z$GetPinnedSavedDialogsRequest.to_dictc                 C   s
   d dS )Nr?   )s   =r   r>   r8   r8   r9   rB   W  s    z#GetPinnedSavedDialogsRequest._bytesc                 C   s   |  S r^   r8   r   r8   r8   r9   rL   \  s    z(GetPinnedSavedDialogsRequest.from_readerNr   r8   r8   r8   r9   ro  N  s   ro  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;dsr   r   r   c                 C   s   || _ || _dS r   r   r   r8   r8   r9   r:   e  s    zGetPollResultsRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   l  s    zGetPollResultsRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nrq  r   r   r>   r8   r8   r9   r=   o  s    zGetPollResultsRequest.to_dictc                 C   s    d d| j td| jfS )Nr?   s   ;dsrk   r   r>   r8   r8   r9   rB   v  s
    zGetPollResultsRequest._bytesc                 C   s   |  }| }| ||dS r   r   r   r8   r8   r9   rL   }  s    z!GetPollResultsRequest.from_readerNr   r8   r8   r8   r9   rq  a  s   rq  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   r3   r  r  optionrE  c                 C   s"   || _ || _|| _|| _|| _dS )zE
        :returns messages.VotesList: Instance of VotesList.
        Nrs  )r7   r3   r  r  rt  rE  r8   r8   r9   r:     s
    zGetPollVotesRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re     s    zGetPollVotesRequest.resolvec                 C   s2   dt | jtr| j n| j| j| j| j| jdS )Nrr  )r;   r3   r  r  rt  rE  )r<   r3   r   r=   r  r  rt  rE  r>   r8   r8   r9   r=     s    zGetPollVotesRequest.to_dictc                 C   s   d dtd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | j td| j| jd ksl| jdkrpdn
| | j| jd ks| jdkrdn
| | jtd| j	fS )	Nr?   s   8nrg   Fr   rh   ri   rk   )
rA   rD   rE   rt  rE  r3   rB   r  rC   r  r>   r8   r8   r9   rB     s    >""zGetPollVotesRequest._bytesc                 C   s^   |  }| }|  }|d@ r*| }nd }|d@ r@| }nd }|  }| |||||dS )Nrh   ri   rs  )rn   rF   rG   rp   )rI   rJ   rq   rK   r  _optionrK  r  r8   r8   r9   rL     s    

zGetPollVotesRequest.from_reader)NN)rN   rO   rP   rQ   rR   rT   r   rS   rv   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   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 )GetPreparedInlineMessageRequestl   =
 iMIr$   r  r  c                 C   s   || _ || _dS )z]
        :returns messages.PreparedInlineMessage: Instance of PreparedInlineMessage.
        Nrw  )r7   r  r  r8   r8   r9   r:     s    z(GetPreparedInlineMessageRequest.__init__c                    s   | || jI d H | _d S r^   r  rb   r8   r8   r9   re     s    z'GetPreparedInlineMessageRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nrv  )r;   r  r  )r<   r  r   r=   r  r>   r8   r8   r9   r=     s    z'GetPreparedInlineMessageRequest.to_dictc                 C   s   d d| j | | jfS )Nr?   s   ~)rA   r  rB   rC   r  r>   r8   r8   r9   rB     s
    
z&GetPreparedInlineMessageRequest._bytesc                 C   s   |  }| }| ||dS )Nrw  r   )rI   rJ   r  r  r8   r8   r9   rL     s    z+GetPreparedInlineMessageRequest.from_readerNr   r8   r8   r8   r9   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 )GetQuickRepliesRequestl   r) l   fion r   c                 C   s
   || _ dS )zk
        :returns messages.QuickReplies: Instance of either QuickReplies, QuickRepliesNotModified.
        Nr   r   r8   r8   r9   r:     s    zGetQuickRepliesRequest.__init__c                 C   s   d| j dS )Nrx  r   r   r>   r8   r8   r9   r=     s    zGetQuickRepliesRequest.to_dictc                 C   s   d dtd| jfS )Nr?   s   r@   r  r>   r8   r8   r9   rB     s    zGetQuickRepliesRequest._bytesc                 C   s   |  }| |dS r   r   r   r8   r8   r9   rL     s    z"GetQuickRepliesRequest.from_readerNr   r8   r8   r8   r9   rx    s   rx  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) r4  Nr  r   r  c                 C   s   || _ || _|| _dS r8  rz  )r7   r  r   r  r8   r8   r9   r:     s    z%GetQuickReplyMessagesRequest.__init__c                 C   s*   d| j | j| jd krg n| jd d  dS )Nry  )r;   r  r   r  rz  r>   r8   r8   r9   r=     s
    z$GetQuickReplyMessagesRequest.to_dictc                 C   s   d dtd| jd ks | jdkr$dndtd| j| jd ksH| jdkrLdn.d dtdt| jd d	d
 | jD ftd| jfS )Nr?   s   Õrg   Fr   rh   rk   r   c                 s   s   | ]}t d |V  qdS r  r  r   r8   r8   r9   r     s     z6GetQuickReplyMessagesRequest._bytes.<locals>.<genexpr>r@   )rA   rD   rE   r  r  r   r   r>   r8   r8   r9   rB     s    "Fz#GetQuickReplyMessagesRequest._bytesc                 C   sd   |  }|  }|d@ rJ|   g }t|  D ]}|  }|| q0nd }| }| |||dS )Nrh   rz  )rn   r   r   rH   )rI   rJ   rq   r  r  r;   r   r   r8   r8   r9   rL     s    z(GetQuickReplyMessagesRequest.from_reader)N)rN   rO   rP   rQ   rR   rT   r   r   r:   r=   rB   rU   rL   r8   r8   r8   r9   ry    s   	ry  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@*pr4  r   r3   r  r   c                 C   s   || _ || _|| _dS r8  r|  )r7   r3   r  r   r8   r8   r9   r:   .  s    z"GetRecentLocationsRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   6  s    z!GetRecentLocationsRequest.resolvec                 C   s*   dt | jtr| j n| j| j| jdS )Nr{  )r;   r3   r  r   )r<   r3   r   r=   r  r   r>   r8   r8   r9   r=   9  s
    z!GetRecentLocationsRequest.to_dictc              	   C   s,   d d| j td| jtd| jfS )Nr?   s   @*prk   r@   )rA   r3   rB   rD   rE   r  r   r>   r8   r8   r9   rB   A  s    z GetRecentLocationsRequest._bytesc                 C   s&   |  }| }| }| |||dS )Nr|  )rF   rn   rH   )rI   rJ   rK   r  r   r8   r8   r9   rL   I  s    z%GetRecentLocationsRequest.from_readerNr   r8   r8   r8   r9   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F9r  r  r   c                 C   s   || _ || _dS r  r~  r7   r  r   r8   r8   r9   r:   U  s    z"GetRecentReactionsRequest.__init__c                 C   s   d| j | jdS )Nr}  r;   r  r   r~  r>   r8   r8   r9   r=   \  s    z!GetRecentReactionsRequest.to_dictc                 C   s$   d dtd| jtd| jfS )Nr?   s   F9rk   r@   rA   rD   rE   r  r   r>   r8   r8   r9   rB   c  s
    z GetRecentReactionsRequest._bytesc                 C   s   |  }| }| ||dS Nr~  ra  rI   rJ   r  r   r8   r8   r9   rL   j  s    z%GetRecentReactionsRequest.from_readerNr   r8   r8   r8   r9   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r   r   c                 C   s   || _ || _dS )zq
        :returns messages.RecentStickers: Instance of either RecentStickersNotModified, RecentStickers.
        Nr  )r7   r   r   r8   r8   r9   r:   u  s    z!GetRecentStickersRequest.__init__c                 C   s   d| j | jdS )Nr  )r;   r   r   r  r>   r8   r8   r9   r=   |  s    z GetRecentStickersRequest.to_dictc                 C   s:   d dtd| jd ks | jdkr$dndtd| jfS )Nr?   s   ;@rg   Fr   rh   r@   )rA   rD   rE   r   r   r>   r8   r8   r9   rB     s
    "zGetRecentStickersRequest._bytesc                 C   s(   |  }t|d@ }| }| ||dS )Nrh   r  r  )rI   rJ   rq   r   r   r8   r8   r9   rL     s    z$GetRecentStickersRequest.from_reader)Nr3  r8   r8   r8   r9   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"r4  r   	r3   rZ   r  r  r6  r  r   r7  r   c
           
      C   s:   || _ || _|| _|| _|| _|| _|| _|| _|	| _dS r8  r  )
r7   r3   rZ   r  r  r6  r  r   r7  r   r8   r8   r9   r:     s    zGetRepliesRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re     s    zGetRepliesRequest.resolvec                 C   sB   dt | jtr| j n| j| j| j| j| j| j| j	| j
| jd
S )Nr  )
r;   r3   rZ   r  r  r6  r  r   r7  r   )r<   r3   r   r=   rZ   r  r  r6  r  r   r7  r   r>   r8   r8   r9   r=     s    zGetRepliesRequest.to_dictc                 C   sr   d d| j td| jtd| j| | jtd| j	td| j
td| jtd| jtd| jf
S )Nr?   s   "rk   r@   )rA   r3   rB   rD   rE   rZ   r  r  r  r6  r  r   r7  r   r>   r8   r8   r9   rB     s    
zGetRepliesRequest._bytesc                 C   sb   |  }| }| }| }| }| }| }| }	| }
| ||||||||	|
d	S )Nr  r>  )rI   rJ   rK   rs   r  r  r@  r  r  rA  r   r8   r8   r9   rL     s    zGetRepliesRequest.from_readerNr$  r8   r8   r8   r9   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ҁSrp  Nr   r  r  r  r  r   r  c                 C   s(   || _ || _|| _|| _|| _|| _dS )z~
        :returns messages.SavedDialogs: Instance of either SavedDialogs, SavedDialogsSlice, SavedDialogsNotModified.
        Nr  )r7   r  r  r  r  r   r  r8   r8   r9   r:     s    zGetSavedDialogsRequest.__init__c                    s   | || jI d H | _d S r^   r  rb   r8   r8   r9   re     s    zGetSavedDialogsRequest.resolvec                 C   s6   d| j | jt| jtr | j n| j| j| j| jdS )Nr  )r;   r  r  r  r  r   r  )	r  r  r<   r  r   r=   r  r   r  r>   r8   r8   r9   r=     s    zGetSavedDialogsRequest.to_dictc                 C   sd   d dtd| jd ks | jdkr$dnd| | jtd| j| j td| j	td| j
fS )	Nr?   s   ҁSrg   Fr   rh   rk   r@   )rA   rD   rE   r  r  r  r  r  rB   r  r   r>   r8   r8   r9   rB     s    "
zGetSavedDialogsRequest._bytesc           	      C   sP   |  }t|d@ }| }|  }| }|  }| }| ||||||dS )Nrh   r  r  )	rI   rJ   rq   r  r  r  r  r  r   r8   r8   r9   rL     s    z"GetSavedDialogsRequest.from_reader)Nr  r8   r8   r8   r9   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 r   c                 C   s
   || _ dS )zb
        :returns messages.SavedGifs: Instance of either SavedGifsNotModified, SavedGifs.
        Nr   r   r8   r8   r9   r:     s    zGetSavedGifsRequest.__init__c                 C   s   d| j dS )Nr  r   r   r>   r8   r8   r9   r=     s    zGetSavedGifsRequest.to_dictc                 C   s   d dtd| jfS )Nr?   s   5\r@   r  r>   r8   r8   r9   rB     s    zGetSavedGifsRequest._bytesc                 C   s   |  }| |dS r   r   r   r8   r8   r9   rL     s    zGetSavedGifsRequest.from_readerNr   r8   r8   r8   r9   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=r4  r   r5  c	           	      C   s4   || _ || _|| _|| _|| _|| _|| _|| _dS r8  r5  r9  r8   r8   r9   r:   '  s    zGetSavedHistoryRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   4  s    zGetSavedHistoryRequest.resolvec              
   C   s>   dt | jtr| j n| j| j| j| j| j| j| j	| j
d	S )Nr  r:  r;  r>   r8   r8   r9   r=   7  s    zGetSavedHistoryRequest.to_dictc                 C   sf   d d| j td| j| | jtd| jtd| j	td| j
td| jtd| jf	S )Nr?   s   MA=rk   r@   r<  r>   r8   r8   r9   rB   D  s    
zGetSavedHistoryRequest._bytesc           
   
   C   sX   |  }| }| }| }| }| }| }| }	| ||||||||	dS r=  r>  r?  r8   r8   r9   rL   Q  s    z"GetSavedHistoryRequest.from_readerNr$  r8   r8   r8   r9   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   r   r3   c                 C   s   || _ || _dS )zz
        :returns messages.SavedReactionTags: Instance of either SavedReactionTagsNotModified, SavedReactionTags.
        Nr  )r7   r   r3   r8   r8   r9   r:   b  s    z$GetSavedReactionTagsRequest.__init__c                    s$   | j r ||| j I d H | _ d S r^   r_   rb   r8   r8   r9   re   i  s    z#GetSavedReactionTagsRequest.resolvec                 C   s&   d| j t| jtr| j n| jdS )Nr  )r;   r   r3   )r   r<   r3   r   r=   r>   r8   r8   r9   r=   m  s    z#GetSavedReactionTagsRequest.to_dictc              	   C   sZ   d dtd| jd ks | jdkr$dnd| jd ks<| jdkr@dn| j td| jfS )Nr?   s   [76rg   Fr   rh   r@   )rA   rD   rE   r3   rB   r   r>   r8   r8   r9   rB   t  s    " z"GetSavedReactionTagsRequest._bytesc                 C   s2   |  }|d@ r| }nd }| }| ||dS )Nrh   r  rn   rF   rH   )rI   rJ   rq   rK   r   r8   r8   r9   rL   |  s    
z'GetSavedReactionTagsRequest.from_reader)NrN   rO   rP   rQ   rR   rT   r   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   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 r4  r   r3   r   c                 C   s   || _ || _dS r8  r  )r7   r3   r   r8   r8   r9   r:     s    z#GetScheduledHistoryRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re     s    z"GetScheduledHistoryRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr  )r;   r3   r   )r<   r3   r   r=   r   r>   r8   r8   r9   r=     s    z"GetScheduledHistoryRequest.to_dictc                 C   s    d d| j td| jfS )Nr?   s   vr@   )rA   r3   rB   rD   rE   r   r>   r8   r8   r9   rB     s
    z!GetScheduledHistoryRequest._bytesc                 C   s   |  }| }| ||dS )Nr  r  )rI   rJ   rK   r   r8   r8   r9   rL     s    z&GetScheduledHistoryRequest.from_readerNr   r8   r8   r8   r9   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{ r4  r   r&  c                 C   s   || _ || _dS r8  r&  r'  r8   r8   r9   r:     s    z$GetScheduledMessagesRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re     s    z#GetScheduledMessagesRequest.resolvec                 C   s<   dt | jtr| j n| j| jd kr*g n| jd d  dS )Nr  r(  r)  r>   r8   r8   r9   r=     s    z#GetScheduledMessagesRequest.to_dictc              
   C   s:   d d| j dtdt| jd dd | jD fS )Nr?   s   dr   rk   c                 s   s   | ]}t d |V  qdS r  r  r   r8   r8   r9   r     s     z5GetScheduledMessagesRequest._bytes.<locals>.<genexpr>r*  r>   r8   r8   r9   rB     s      z"GetScheduledMessagesRequest._bytesc                 C   sD   |  }|  g }t| D ]}| }|| q | ||dS r+  r,  r-  r8   r8   r9   rL     s    z'GetScheduledMessagesRequest.from_readerNr.  r8   r8   r8   r9   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'   r3   filterssaved_peer_idr  c                 C   s   || _ || _|| _|| _dS )zY
        :returns Vector<messages.SearchCounter>: This type has no constructors.
        Nr  )r7   r3   r  r  r  r8   r8   r9   r:     s    z!GetSearchCountersRequest.__init__c                    s>   | || jI d H | _| jr:| || jI d H | _d S r^   r`   ra   r3   r  rb   r8   r8   r9   re     s    z GetSearchCountersRequest.resolvec                 C   s\   dt | jtr| j n| j| jd kr*g ndd | jD t | jtrN| j n| j| jdS )Nr  c                 S   s"   g | ]}t |tr| n|qS r8   r   r   r8   r8   r9   r     s     z4GetSearchCountersRequest.to_dict.<locals>.<listcomp>)r;   r3   r  r  r  )r<   r3   r   r=   r  r  r  r>   r8   r8   r9   r=     s    z GetSearchCountersRequest.to_dictc                 C   s   d dtd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | j | jd ks`| jdkrddn| j | jd ks| jdkrdntd| jd	tdt| jd d
d | jD fS )Nr?   s    rg   Fr   rj   rh   rk   r   c                 s   s   | ]}|  V  qd S r^   r   r   r8   r8   r9   r     s     z2GetSearchCountersRequest._bytes.<locals>.<genexpr>)	rA   rD   rE   r  r  r3   rB   r   r  r>   r8   r8   r9   rB     s    > $  zGetSearchCountersRequest._bytesc           	      C   s|   |  }| }|d@ r"| }nd }|d@ r8|  }nd }|   g }t|  D ]}| }|| qT| ||||dS )Nrj   rh   r  rn   rF   r   r   )	rI   rJ   rq   rK   _saved_peer_idr  _filtersr;   r   r8   r8   r9   rL     s    

z$GetSearchCountersRequest.from_reader)NN)rN   rO   rP   rQ   rR   r   r   rT   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   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'   r3   filterr  r  r  c                 C   s"   || _ || _|| _|| _|| _dS )z]
        :returns messages.SearchResultsCalendar: Instance of SearchResultsCalendar.
        Nr  )r7   r3   r  r  r  r  r8   r8   r9   r:     s
    z(GetSearchResultsCalendarRequest.__init__c                    s>   | || jI d H | _| jr:| || jI d H | _d S r^   r  rb   r8   r8   r9   re     s    z'GetSearchResultsCalendarRequest.resolvec                 C   s^   dt | jtr| j n| jt | jtr2| j n| j| j| jt | jtrT| j n| jdS )Nr  )r;   r3   r  r  r  r  )r<   r3   r   r=   r  r  r  r  r>   r8   r8   r9   r=   !  s    z'GetSearchResultsCalendarRequest.to_dictc                 C   st   d dtd| jd ks | jdkr$dnd| j | jd ksD| jdkrHdn| j | j td| j| | j	fS )Nr?   s   jrg   Fr   rj   rk   )
rA   rD   rE   r  r3   rB   r  r  r  r  r>   r8   r8   r9   rB   +  s    " 
z&GetSearchResultsCalendarRequest._bytesc                 C   sP   |  }| }|d@ r"| }nd }| }|  }| }| |||||dS )Nrj   r  r#  )rI   rJ   rq   rK   r  _filterr  r  r8   r8   r9   rL   6  s    
z+GetSearchResultsCalendarRequest.from_reader)Nr$  r8   r8   r8   r9   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'   r3   r  r  r  r  c                 C   s"   || _ || _|| _|| _|| _dS )z_
        :returns messages.SearchResultsPositions: Instance of SearchResultsPositions.
        Nr  )r7   r3   r  r  r  r  r8   r8   r9   r:   I  s
    z)GetSearchResultsPositionsRequest.__init__c                    s>   | || jI d H | _| jr:| || jI d H | _d S r^   r  rb   r8   r8   r9   re   S  s    z(GetSearchResultsPositionsRequest.resolvec                 C   s^   dt | jtr| j n| jt | jtr2| j n| j| j| jt | jtrT| j n| jdS )Nr  )r;   r3   r  r  r  r  )r<   r3   r   r=   r  r  r  r  r>   r8   r8   r9   r=   X  s    z(GetSearchResultsPositionsRequest.to_dictc                 C   sv   d dtd| jd ks | jdkr$dnd| j | jd ksD| jdkrHdn| j | j td| jtd| jfS )Nr?   s   /rg   Fr   rj   rk   )	rA   rD   rE   r  r3   rB   r  r  r  r>   r8   r8   r9   rB   b  s    " z'GetSearchResultsPositionsRequest._bytesc                 C   sP   |  }| }|d@ r"| }nd }| }|  }|  }| |||||dS )Nrj   r  rn   rF   )rI   rJ   rq   rK   r  r  r  r  r8   r8   r9   rL   m  s    
z,GetSearchResultsPositionsRequest.from_reader)Nr  r8   r8   r8   r9   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 )Nr;   r  r8   r>   r8   r8   r9   r=     s     zGetSplitRangesRequest.to_dictc                 C   s
   d dS )Nr?   )s   ~r   r>   r8   r8   r9   rB     s    zGetSplitRangesRequest._bytesc                 C   s   |  S r^   r8   r   r8   r8   r9   rL     s    z!GetSplitRangesRequest.from_readerNr   r8   r8   r8   r9   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   r   c                 C   s
   || _ dS )zt
        :returns messages.SponsoredMessages: Instance of either SponsoredMessages, SponsoredMessagesEmpty.
        Nr   r   r8   r8   r9   r:     s    z$GetSponsoredMessagesRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re     s    z#GetSponsoredMessagesRequest.resolvec                 C   s"   dt | jtr| j n| jdS )Nr  r   r   r>   r8   r8   r9   r=     s    z#GetSponsoredMessagesRequest.to_dictc                 C   s   d d| j fS )Nr?   s   9қr   r>   r8   r8   r9   rB     s    z"GetSponsoredMessagesRequest._bytesc                 C   s   |  }| |dS r   r   r   r8   r8   r9   rL     s    z'GetSponsoredMessagesRequest.from_readerNr   r8   r8   r8   r9   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"   
stickersetr   c                 C   s   || _ || _dS )ze
        :returns messages.StickerSet: Instance of either StickerSet, StickerSetNotModified.
        Nr  )r7   r  r   r8   r8   r9   r:     s    zGetStickerSetRequest.__init__c                 C   s&   dt | jtr| j n| j| jdS )Nr  )r;   r  r   )r<   r  r   r=   r   r>   r8   r8   r9   r=     s    zGetStickerSetRequest.to_dictc                 C   s    d d| j td| jfS )Nr?   s   trk   )rA   r  rB   rD   rE   r   r>   r8   r8   r9   rB     s
    zGetStickerSetRequest._bytesc                 C   s   |  }| }| ||dS )Nr  r   )rI   rJ   _stickersetr   r8   r8   r9   rL     s    z GetStickerSetRequest.from_readerNr   r8   r8   r8   r9   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. emoticonr   c                 C   s   || _ || _dS )z_
        :returns messages.Stickers: Instance of either StickersNotModified, Stickers.
        Nr  r7   r  r   r8   r8   r9   r:     s    zGetStickersRequest.__init__c                 C   s   d| j | jdS )Nr  r;   r  r   r  r>   r8   r8   r9   r=     s    zGetStickersRequest.to_dictc                 C   s"   d d| | jtd| jfS )Nr?   s   ӥr@   rA   rC   r  rD   rE   r   r>   r8   r8   r9   rB     s
    
zGetStickersRequest._bytesc                 C   s   |  }| }| ||dS Nr  rp   rH   rI   rJ   	_emoticonr   r8   r8   r9   rL     s    zGetStickersRequest.from_readerNr  r8   r8   r8   r9   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 )Nr;   r  r8   r>   r8   r8   r9   r=     s     z(GetSuggestedDialogFiltersRequest.to_dictc                 C   s
   d dS )Nr?   )s   ,Ԝr   r>   r8   r8   r9   rB     s    z'GetSuggestedDialogFiltersRequest._bytesc                 C   s   |  S r^   r8   r   r8   r8   r9   rL     s    z,GetSuggestedDialogFiltersRequest.from_readerNr   r8   r8   r8   r9   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 r  r~  c                 C   s   || _ || _dS r  r~  r  r8   r8   r9   r:     s    zGetTopReactionsRequest.__init__c                 C   s   d| j | jdS )Nr  r  r~  r>   r8   r8   r9   r=     s    zGetTopReactionsRequest.to_dictc                 C   s$   d dtd| jtd| jfS )Nr?   s   %rk   r@   r  r>   r8   r8   r9   rB     s
    zGetTopReactionsRequest._bytesc                 C   s   |  }| }| ||dS r  ra  r  r8   r8   r9   rL     s    z"GetTopReactionsRequest.from_readerNr   r8   r8   r8   r9   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 r4  Nr   r3   r  r6  r  r   r7  r  c                 C   s.   || _ || _|| _|| _|| _|| _|| _dS r8  r  r7   r3   r  r6  r  r   r7  r  r8   r8   r9   r:   %  s    z!GetUnreadMentionsRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   1  s    z GetUnreadMentionsRequest.resolvec              	   C   s:   dt | jtr| j n| j| j| j| j| j| j| j	dS )Nr  r;   r3   r  r6  r  r   r7  r  
r<   r3   r   r=   r  r6  r  r   r7  r  r>   r8   r8   r9   r=   4  s    z GetUnreadMentionsRequest.to_dictc                 C   s   d dtd| jd ks | jdkr$dnd| j | jd ksD| jdkrHdntd| jtd| jtd| jtd| jtd| j	td| j
f	S )Nr?   s   rg   Fr   rh   rk   rA   rD   rE   r  r3   rB   r  r6  r  r   r7  r>   r8   r8   r9   rB   @  s    "$zGetUnreadMentionsRequest._bytesc           
   	   C   sd   |  }| }|d@ r"|  }nd }|  }|  }|  }|  }|  }	| ||||||	|dS Nrh   r  r  
rI   rJ   rq   rK   r  r  r@  r  r  rA  r8   r8   r9   rL   M  s    
z$GetUnreadMentionsRequest.from_reader)Nr  r8   r8   r8   r9   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#2r4  Nr   r  c                 C   s.   || _ || _|| _|| _|| _|| _|| _dS r8  r  r  r8   r8   r9   r:   b  s    z"GetUnreadReactionsRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   n  s    z!GetUnreadReactionsRequest.resolvec              	   C   s:   dt | jtr| j n| j| j| j| j| j| j| j	dS )Nr  r  r  r>   r8   r8   r9   r=   q  s    z!GetUnreadReactionsRequest.to_dictc                 C   s   d dtd| jd ks | jdkr$dnd| j | jd ksD| jdkrHdntd| jtd| jtd| jtd| jtd| j	td| j
f	S )Nr?   s   [I#2rg   Fr   rh   rk   r  r>   r8   r8   r9   rB   }  s    "$z GetUnreadReactionsRequest._bytesc           
   	   C   sd   |  }| }|d@ r"|  }nd }|  }|  }|  }|  }|  }	| ||||||	|dS r  r  r  r8   r8   r9   rL     s    
z%GetUnreadReactionsRequest.from_reader)Nr  r8   r8   r8   r9   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,r\   r   c                 C   s   || _ || _dS )zA
        :returns messages.WebPage: Instance of WebPage.
        Nr  )r7   r\   r   r8   r8   r9   r:     s    zGetWebPageRequest.__init__c                 C   s   d| j | jdS )Nr  )r;   r\   r   r  r>   r8   r8   r9   r=     s    zGetWebPageRequest.to_dictc                 C   s"   d d| | jtd| jfS )Nr?   s   rk   )rA   rC   r\   rD   rE   r   r>   r8   r8   r9   rB     s
    
zGetWebPageRequest._bytesc                 C   s   |  }| }| ||dS )Nr  r  )rI   rJ   ru   r   r8   r8   r9   rL     s    zGetWebPageRequest.from_readerNr  r8   r8   r8   r9   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`  rb  c                 C   s   || _ || _dS )zO
        :returns messages.WebPagePreview: Instance of WebPagePreview.
        Nr  )r7   r`  rb  r8   r8   r9   r:     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| n|qS r8   r   r   r8   r8   r9   r     s     z4GetWebPagePreviewRequest.to_dict.<locals>.<listcomp>)r;   r`  rb  r  r>   r8   r8   r9   r=     s    z GetWebPagePreviewRequest.to_dictc                 C   s~   d dtd| jd ks | jdkr$dnd| | j| jd ksF| jdkrJdn.d dtdt| jd d	d
 | jD ffS )Nr?   s   ooWrg   Fr   r  r   rk   c                 s   s   | ]}|  V  qd S r^   r   r   r8   r8   r9   r     s     z2GetWebPagePreviewRequest._bytes.<locals>.<genexpr>)rA   rD   rE   rb  rC   r`  r   r>   r8   r8   r9   rB     s    "
FzGetWebPagePreviewRequest._bytesc                 C   sZ   |  }| }|d@ rJ|   g }t|  D ]}| }|| q0nd }| ||dS )Nr  r  )rn   rp   r   rF   r   )rI   rJ   rq   ri  rk  r;   r   r8   r8   r9   rL     s    z$GetWebPagePreviewRequest.from_reader)N)rN   rO   rP   rQ   rR   rv   r   r   r:   r=   rB   rU   rL   r8   r8   r8   r9   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 r   Nr   r3   approvedr   c                 C   s   || _ || _|| _dS r   r  )r7   r3   r  r   r8   r8   r9   r:     s    z'HideAllChatJoinRequestsRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re     s    z&HideAllChatJoinRequestsRequest.resolvec                 C   s*   dt | jtr| j n| j| j| jdS )Nr  )r;   r3   r  r   )r<   r3   r   r=   r  r   r>   r8   r8   r9   r=     s
    z&HideAllChatJoinRequestsRequest.to_dictc              	   C   st   d dtd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | j | jd ks`| jdkrddn
| | jfS )Nr?   s   rg   Fr   rh   ri   )rA   rD   rE   r  r   r3   rB   rC   r>   r8   r8   r9   rB     s    >"z%HideAllChatJoinRequestsRequest._bytesc                 C   s@   |  }t|d@ }| }|d@ r.| }nd }| |||dS )Nrh   ri   r  rm   )rI   rJ   rq   	_approvedrK   r   r8   r8   r9   rL     s    
z*HideAllChatJoinRequestsRequest.from_reader)NN)rN   rO   rP   rQ   rR   r   ro   rv   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   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r   Nr   r$   r3   r{   r  c                 C   s   || _ || _|| _dS r   r  )r7   r3   r{   r  r8   r8   r9   r:     s    z#HideChatJoinRequestRequest.__init__c                    s8   | || jI d H | _||| jI d H | _d S r^   r2  rb   r8   r8   r9   re     s    z"HideChatJoinRequestRequest.resolvec                 C   s@   dt | jtr| j n| jt | jtr2| j n| j| jdS )Nr  )r;   r3   r{   r  )r<   r3   r   r=   r{   r  r>   r8   r8   r9   r=   "  s
    z"HideChatJoinRequestRequest.to_dictc                 C   s>   d dtd| jd ks | jdkr$dnd| j | j fS )Nr?   s   rg   Fr   rh   )rA   rD   rE   r  r3   rB   r{   r>   r8   r8   r9   rB   *  s    "z!HideChatJoinRequestRequest._bytesc                 C   s2   |  }t|d@ }| }| }| |||dS )Nrh   r  rn   ro   rF   )rI   rJ   rq   r  rK   r   r8   r8   r9   rL   2  s
    z&HideChatJoinRequestRequest.from_reader)NrN   rO   rP   rQ   rR   r   ro   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   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 )HidePeerSettingsBarRequesti8Or   r   r   c                 C   s
   || _ dS r   r   r   r8   r8   r9   r:   @  s    z#HidePeerSettingsBarRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   F  s    z"HidePeerSettingsBarRequest.resolvec                 C   s"   dt | jtr| j n| jdS )Nr  r   r   r>   r8   r8   r9   r=   I  s    z"HidePeerSettingsBarRequest.to_dictc                 C   s   d d| j fS )Nr?   s   8Or   r>   r8   r8   r9   rB   O  s    z!HidePeerSettingsBarRequest._bytesc                 C   s   |  }| |dS r   r   r   r8   r8   r9   rL   U  s    z&HidePeerSettingsBarRequest.from_readerNr   r8   r8   r8   r9   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Plr   r   c                 C   s
   || _ dS r   r   r   r8   r8   r9   r:   _  s    z ImportChatInviteRequest.__init__c                 C   s   d| j dS )Nr  r   r   r>   r8   r8   r9   r=   e  s    zImportChatInviteRequest.to_dictc                 C   s   d d| | jfS )Nr?   s   Plr   r>   r8   r8   r9   rB   k  s    
zImportChatInviteRequest._bytesc                 C   s   |  }| |dS r   r   r   r8   r8   r9   rL   q  s    z#ImportChatInviteRequest.from_readerNr   r8   r8   r8   r9   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   r3   filemedia_countc                 C   s   || _ || _|| _dS )zM
        :returns messages.HistoryImport: Instance of HistoryImport.
        Nr  )r7   r3   r  r  r8   r8   r9   r:   {  s    z!InitHistoryImportRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re     s    z InitHistoryImportRequest.resolvec                 C   s@   dt | jtr| j n| jt | jtr2| j n| j| jdS )Nr  )r;   r3   r  r  )r<   r3   r   r=   r  r  r>   r8   r8   r9   r=     s
    z InitHistoryImportRequest.to_dictc              	   C   s(   d d| j | j td| jfS )Nr?   s   ;	4rk   )rA   r3   rB   r  rD   rE   r  r>   r8   r8   r9   rB     s    zInitHistoryImportRequest._bytesc                 C   s&   |  }|  }| }| |||dS )Nr  r   )rI   rJ   rK   _fileZ_media_countr8   r8   r9   rL     s    z$InitHistoryImportRequest.from_readerNr   r8   r8   r8   r9   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.
        Nr  )r7   r  r  r8   r8   r9   r:     s    z!InstallStickerSetRequest.__init__c                 C   s&   dt | jtr| j n| j| jdS )Nr  )r;   r  r  )r<   r  r   r=   r  r>   r8   r8   r9   r=     s    z InstallStickerSetRequest.to_dictc                 C   s    d d| j | jrdndfS )Nr?   s   `r;  r<  )rA   r  rB   r  r>   r8   r8   r9   rB     s
    zInstallStickerSetRequest._bytesc                 C   s   |  }| }| ||dS )Nr  r  )rI   rJ   r  Z	_archivedr8   r8   r9   rL     s    z$InstallStickerSetRequest.from_readerNrN   rO   rP   rQ   rR   ro   r:   r=   rB   rU   rL   r8   r8   r8   r9   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 r   Nr   r3   unreadc                 C   s   || _ || _dS r   r  )r7   r3   r  r8   r8   r9   r:     s    z MarkDialogUnreadRequest.__init__c                    s   | | jI d H | _d S r^   rj  r3   rb   r8   r8   r9   re     s    zMarkDialogUnreadRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr  )r;   r3   r  )r<   r3   r   r=   r  r>   r8   r8   r9   r=     s    zMarkDialogUnreadRequest.to_dictc                 C   s6   d dtd| jd ks | jdkr$dnd| j fS )Nr?   s   نrg   Fr   rh   )rA   rD   rE   r  r3   rB   r>   r8   r8   r9   rB     s
    "zMarkDialogUnreadRequest._bytesc                 C   s(   |  }t|d@ }| }| ||dS )Nrh   r  r  )rI   rJ   rq   Z_unreadrK   r8   r8   r9   rL     s    z#MarkDialogUnreadRequest.from_reader)Nr  r8   r8   r8   r9   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 r   r   c                 C   s
   || _ dS r   r   r   r8   r8   r9   r:     s    zMigrateChatRequest.__init__c                 C   s   d| j dS )Nr  r   r   r>   r8   r8   r9   r=     s    zMigrateChatRequest.to_dictc                 C   s   d dtd| jfS )Nr?   s   Sr@   r   r>   r8   r8   r9   rB     s    zMigrateChatRequest._bytesc                 C   s   |  }| |dS r   r   r   r8   r8   r9   rL     s    zMigrateChatRequest.from_readerNr   r8   r8   r8   r9   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 r   Nr   r$   r    r3   r  query_idr  reply_tor  c                 C   s(   || _ || _|| _|| _|| _|| _dS r   r  )r7   r3   r  r  r  r  r  r8   r8   r9   r:     s    zProlongWebViewRequest.__init__c                    sX   | || jI d H | _||| jI d H | _| jrT| || jI d H | _d S r^   r`   ra   r3   r   r  r  rb   r8   r8   r9   re     s    zProlongWebViewRequest.resolvec              	   C   sx   dt | jtr| j n| jt | jtr2| j n| j| j| jt | jtrT| j n| jt | jtrn| j n| jdS )Nr  )r;   r3   r  r  r  r  r  )	r<   r3   r   r=   r  r  r  r  r  r>   r8   r8   r9   r=     s    zProlongWebViewRequest.to_dictc              
   C   s   d dtd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | jd ksV| jdkrZdndB | j | j td	| j	| jd ks| jdkrdn| j | jd ks| jdkrdn| j fS )
Nr?   s   ذrg   Fr   rz  rh   r  r@   )
rA   rD   rE   r  r  r  r3   rB   r  r  r>   r8   r8   r9   rB     s    Z  zProlongWebViewRequest._bytesc           	      C   sl   |  }t|d@ }| }| }| }|d@ r>| }nd }|d@ rT| }nd }| ||||||dS )Nrz  rh   r  r  )rn   ro   rF   rH   )	rI   rJ   rq   r  rK   r  	_query_id	_reply_tor  r8   r8   r9   rL   *  s    

z!ProlongWebViewRequest.from_reader)NNNr   r8   r8   r8   r9   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/r   r   r3   rZ   transcription_idgoodc                 C   s   || _ || _|| _|| _dS r   r  )r7   r3   rZ   r  r  r8   r8   r9   r:   A  s    z$RateTranscribedAudioRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   J  s    z#RateTranscribedAudioRequest.resolvec                 C   s.   dt | jtr| j n| j| j| j| jdS )Nr  )r;   r3   rZ   r  r  )r<   r3   r   r=   rZ   r  r  r>   r8   r8   r9   r=   M  s    z#RateTranscribedAudioRequest.to_dictc              	   C   s8   d d| j td| jtd| j| jr0dndfS )Nr?   s   /rk   r@   r;  r<  )rA   r3   rB   rD   rE   rZ   r  r  r>   r8   r8   r9   rB   V  s    z"RateTranscribedAudioRequest._bytesc                 C   s0   |  }| }| }| }| ||||dS )Nr  )rF   rn   rH   r=  )rI   rJ   rK   rs   Z_transcription_idZ_goodr8   r8   r9   rL   _  s
    z'RateTranscribedAudioRequest.from_readerNr>  r8   r8   r8   r9   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 r   r   r3   rZ   read_max_idc                 C   s   || _ || _|| _dS r   r  )r7   r3   rZ   r  r8   r8   r9   r:   l  s    zReadDiscussionRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   t  s    zReadDiscussionRequest.resolvec                 C   s*   dt | jtr| j n| j| j| jdS )Nr  )r;   r3   rZ   r  )r<   r3   r   r=   rZ   r  r>   r8   r8   r9   r=   w  s
    zReadDiscussionRequest.to_dictc              	   C   s,   d d| j td| jtd| jfS )Nr?   s   1rk   )rA   r3   rB   rD   rE   rZ   r  r>   r8   r8   r9   rB     s    zReadDiscussionRequest._bytesc                 C   s&   |  }| }| }| |||dS )Nr  r   )rI   rJ   rK   rs   Z_read_max_idr8   r8   r9   rL     s    z!ReadDiscussionRequest.from_readerNr   r8   r8   r8   r9   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r   r   r3   r   c                 C   s   || _ || _dS r   r  )r7   r3   r   r8   r8   r9   r:     s    z$ReadEncryptedHistoryRequest.__init__c                 C   s&   dt | jtr| j n| j| jdS )Nr  )r;   r3   r   )r<   r3   r   r=   r   r>   r8   r8   r9   r=     s    z#ReadEncryptedHistoryRequest.to_dictc                 C   s   d d| j | | jfS )Nr?   s   
iK)rA   r3   rB   r  r   r>   r8   r8   r9   rB     s
    
z"ReadEncryptedHistoryRequest._bytesc                 C   s   |  }| }| ||dS )Nr  )rF   r  )rI   rJ   rK   r  r8   r8   r9   rL     s    z'ReadEncryptedHistoryRequest.from_readerN)rN   rO   rP   rQ   rR   r   r	   r:   r=   rB   rU   rL   r8   r8   r8   r9   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&[r   r  c                 C   s
   || _ dS r   r  r  r8   r8   r9   r:     s    z$ReadFeaturedStickersRequest.__init__c                 C   s"   d| j d krg n| j d d  dS )Nr  r  r  r>   r8   r8   r9   r=     s    z#ReadFeaturedStickersRequest.to_dictc              	   C   s2   d ddtdt| jd dd | jD fS )Nr?   s   &[r   rk   c                 s   s   | ]}t d |V  qdS r  r  r   r8   r8   r9   r     s     z5ReadFeaturedStickersRequest._bytes.<locals>.<genexpr>r  r>   r8   r8   r9   rB     s      z"ReadFeaturedStickersRequest._bytesc                 C   s:   |   g }t|  D ]}| }|| q| |dS r  r  r  r8   r8   r9   rL     s    z'ReadFeaturedStickersRequest.from_readerNr  r8   r8   r8   r9   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r
  r   r3   r   c                 C   s   || _ || _dS r  r  )r7   r3   r   r8   r8   r9   r:     s    zReadHistoryRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re     s    zReadHistoryRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr  )r;   r3   r   )r<   r3   r   r=   r   r>   r8   r8   r9   r=     s    zReadHistoryRequest.to_dictc                 C   s    d d| j td| jfS )Nr?   s   :m0rk   )rA   r3   rB   rD   rE   r   r>   r8   r8   r9   rB     s
    zReadHistoryRequest._bytesc                 C   s   |  }| }| ||dS )Nr  r   )rI   rJ   rK   r  r8   r8   r9   rL     s    zReadHistoryRequest.from_readerNr   r8   r8   r8   r9   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 )ReadMentionsRequestiM6r   Nr   r3   r  c                 C   s   || _ || _dS r  r  r7   r3   r  r8   r8   r9   r:     s    zReadMentionsRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re     s    zReadMentionsRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr  r;   r3   r  r<   r3   r   r=   r  r>   r8   r8   r9   r=     s    zReadMentionsRequest.to_dictc              	   C   sZ   d dtd| jd ks | jdkr$dnd| j | jd ksD| jdkrHdntd| jfS )Nr?   s   M6rg   Fr   rh   rk   rA   rD   rE   r  r3   rB   r>   r8   r8   r9   rB     s    "$zReadMentionsRequest._bytesc                 C   s2   |  }| }|d@ r"|  }nd }| ||dS Nrh   r  r  rI   rJ   rq   rK   r  r8   r8   r9   rL     s    
zReadMentionsRequest.from_reader)NrN   rO   rP   rQ   rR   r   rT   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   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?6r
  r  c                 C   s
   || _ dS r  r  r  r8   r8   r9   r:      s    z#ReadMessageContentsRequest.__init__c                 C   s"   d| j d krg n| j d d  dS )Nr  r  r  r>   r8   r8   r9   r=   &  s    z"ReadMessageContentsRequest.to_dictc              	   C   s2   d ddtdt| jd dd | jD fS )Nr?   s   w?6r   rk   c                 s   s   | ]}t d |V  qdS r  r  r   r8   r8   r9   r   /  s     z4ReadMessageContentsRequest._bytes.<locals>.<genexpr>r  r>   r8   r8   r9   rB   ,  s      z!ReadMessageContentsRequest._bytesc                 C   s:   |   g }t|  D ]}|  }|| q| |dS r  r  r  r8   r8   r9   rL   2  s    z&ReadMessageContentsRequest.from_readerNr  r8   r8   r8   r9   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Tr   Nr   r  c                 C   s   || _ || _dS r  r  r  r8   r8   r9   r:   A  s    zReadReactionsRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   H  s    zReadReactionsRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr  r  r  r>   r8   r8   r9   r=   K  s    zReadReactionsRequest.to_dictc              	   C   sZ   d dtd| jd ks | jdkr$dnd| j | jd ksD| jdkrHdntd| jfS )Nr?   s   Trg   Fr   rh   rk   r  r>   r8   r8   r9   rB   R  s    "$zReadReactionsRequest._bytesc                 C   s2   |  }| }|d@ r"|  }nd }| ||dS r  r  r  r8   r8   r9   rL   Z  s    
z ReadReactionsRequest.from_reader)Nr  r8   r8   r8   r9   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.
        Nr  )r7   r   r8   r8   r9   r:   j  s    z ReceivedMessagesRequest.__init__c                 C   s   d| j dS )Nr  )r;   r   r  r>   r8   r8   r9   r=   p  s    zReceivedMessagesRequest.to_dictc                 C   s   d dtd| jfS )Nr?   s   Trk   )rA   rD   rE   r   r>   r8   r8   r9   rB   v  s    zReceivedMessagesRequest._bytesc                 C   s   |  }| |dS )Nr  r  )rI   rJ   r  r8   r8   r9   rL   |  s    z#ReceivedMessagesRequest.from_readerNr   r8   r8   r8   r9   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.
        Nr  )r7   r  r8   r8   r9   r:     s    zReceivedQueueRequest.__init__c                 C   s   d| j dS )Nr  )r;   r  r  r>   r8   r8   r9   r=     s    zReceivedQueueRequest.to_dictc                 C   s   d dtd| jfS )Nr?   s   fUrk   )rA   rD   rE   r  r>   r8   r8   r9   rB     s    zReceivedQueueRequest._bytesc                 C   s   |  }| |dS )Nr  r  )rI   rJ   Z_max_qtsr8   r8   r9   rL     s    z ReceivedQueueRequest.from_readerc                    s"        fddt   D S )Nc                    s   g | ]}   qS r8   r   r  rJ   r8   r9   r     s     z4ReceivedQueueRequest.read_result.<locals>.<listcomp>)rn   r   r  r8   r  r9   read_result  s    z ReceivedQueueRequest.read_resultN)rN   rO   rP   rQ   rR   rT   r:   r=   rB   rU   rL   staticmethodr  r8   r8   r8   r9   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;r   Nr   r  orderforcec                 C   s   || _ || _|| _dS r   r   )r7   r  r  r  r8   r8   r9   r:     s    z$ReorderPinnedDialogsRequest.__init__c                    s0   g }| j D ]}|||I d H  q
|| _ d S r^   r  r   rj  r   r8   r8   r9   re     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| n|qS r8   r   r   r8   r8   r9   r     s     z7ReorderPinnedDialogsRequest.to_dict.<locals>.<listcomp>)r;   r  r  r  r   r>   r8   r8   r9   r=     s
    z#ReorderPinnedDialogsRequest.to_dictc                 C   s`   d dtd| jd ks | jdkr$dndtd| jdtdt| jd d	d
 | jD fS )Nr?   s   7;rg   Fr   rh   rk   r   c                 s   s   | ]}|  V  qd S r^   r   r   r8   r8   r9   r     s     z5ReorderPinnedDialogsRequest._bytes.<locals>.<genexpr>)rA   rD   rE   r  r  r   r  r>   r8   r8   r9   rB     s    "  z"ReorderPinnedDialogsRequest._bytesc                 C   sZ   |  }t|d@ }|  }|   g }t|  D ]}| }|| q4| |||dS )Nrh   r   rn   ro   r   rF   r   )rI   rJ   rq   _forcer  _orderr;   r   r8   r8   r9   rL     s    z'ReorderPinnedDialogsRequest.from_reader)N)rN   rO   rP   rQ   rR   rT   r   r   ro   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   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 r   Nr   r  r  c                 C   s   || _ || _dS r   r  )r7   r  r  r8   r8   r9   r:     s    z)ReorderPinnedSavedDialogsRequest.__init__c                    s0   g }| j D ]}|||I d H  q
|| _ d S r^   r  r   r8   r8   r9   re     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| n|qS r8   r   r   r8   r8   r9   r     s     z<ReorderPinnedSavedDialogsRequest.to_dict.<locals>.<listcomp>)r;   r  r  r  r>   r8   r8   r9   r=     s    z(ReorderPinnedSavedDialogsRequest.to_dictc              
   C   sT   d dtd| jd ks | jdkr$dnddtdt| jd d	d
 | jD fS )Nr?   s   eqrg   Fr   rh   r   rk   c                 s   s   | ]}|  V  qd S r^   r   r   r8   r8   r9   r     s     z:ReorderPinnedSavedDialogsRequest._bytes.<locals>.<genexpr>)rA   rD   rE   r  r   r  r>   r8   r8   r9   rB     s    "  z'ReorderPinnedSavedDialogsRequest._bytesc                 C   sP   |  }t|d@ }|   g }t|  D ]}| }|| q,| ||dS )Nrh   r  r  )rI   rJ   rq   r  r  r;   r   r8   r8   r9   rL     s    z,ReorderPinnedSavedDialogsRequest.from_reader)N)rN   rO   rP   rQ   rR   r   r   ro   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   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`r   r  c                 C   s
   || _ dS r   r
  r7   r  r8   r8   r9   r:     s    z#ReorderQuickRepliesRequest.__init__c                 C   s"   d| j d krg n| j d d  dS )Nr	  r;   r  r
  r>   r8   r8   r9   r=     s    z"ReorderQuickRepliesRequest.to_dictc              	   C   s2   d ddtdt| jd dd | jD fS )Nr?   s   3`r   rk   c                 s   s   | ]}t d |V  qdS r  r  r   r8   r8   r9   r     s     z4ReorderQuickRepliesRequest._bytes.<locals>.<genexpr>rA   rD   rE   r   r  r>   r8   r8   r9   rB     s      z!ReorderQuickRepliesRequest._bytesc                 C   s:   |   g }t|  D ]}|  }|| q| |dS Nr
  r  rI   rJ   r  r;   r   r8   r8   r9   rL     s    z&ReorderQuickRepliesRequest.from_readerNr  r8   r8   r8   r9   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 )ReorderStickerSetsRequesti9w3xr   Nr  r  r  c                 C   s   || _ || _|| _dS r   r  )r7   r  r  r  r8   r8   r9   r:   (  s    z"ReorderStickerSetsRequest.__init__c                 C   s*   d| j d krg n| j d d  | j| jdS )Nr  )r;   r  r  r  r  r>   r8   r8   r9   r=   0  s
    z!ReorderStickerSetsRequest.to_dictc              
   C   sp   d dtd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB dtd	t| jd d
d | jD fS )Nr?   s   9w3xrg   Fr   rh   ri   r   rk   c                 s   s   | ]}t d |V  qdS r  r  r   r8   r8   r9   r   <  s     z3ReorderStickerSetsRequest._bytes.<locals>.<genexpr>)rA   rD   rE   r  r  r   r  r>   r8   r8   r9   rB   8  s    >  z ReorderStickerSetsRequest._bytesc                 C   s^   |  }t|d@ }t|d@ }|   g }t|  D ]}| }|| q8| |||dS )Nrh   ri   r  )rn   ro   r   rH   r   )rI   rJ   rq   r  r  r  r;   r   r8   r8   r9   rL   ?  s    z%ReorderStickerSetsRequest.from_reader)NNr  r8   r8   r8   r9   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   r3   r  rt  r`  c                 C   s   || _ || _|| _|| _dS )z
        :returns ReportResult: Instance of either ReportResultChooseOption, ReportResultAddComment, ReportResultReported.
        Nr  )r7   r3   r  rt  r`  r8   r8   r9   r:   R  s    zReportRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   [  s    zReportRequest.resolvec                 C   sD   dt | jtr| j n| j| jd kr*g n| jd d  | j| jdS )Nr  )r;   r3   r  rt  r`  )r<   r3   r   r=   r  rt  r`  r>   r8   r8   r9   r=   ^  s    zReportRequest.to_dictc                 C   sN   d d| j dtdt| jd dd | jD | | j| | j	fS )Nr?   s   xr   rk   c                 s   s   | ]}t d |V  qdS r  r  r   r8   r8   r9   r   k  s     z'ReportRequest._bytes.<locals>.<genexpr>)
rA   r3   rB   rD   rE   r   r  rC   rt  r`  r>   r8   r8   r9   rB   g  s      

zReportRequest._bytesc                 C   sX   |  }|  g }t| D ]}| }|| q | }| }| ||||dS )Nr  )rF   rn   r   r   rG   rp   )rI   rJ   rK   r  r;   r   ru  ri  r8   r8   r9   rL   p  s    zReportRequest.from_readerN)rN   rO   rP   rQ   rR   r   rT   rS   rv   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   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Kr   r   r   c                 C   s
   || _ dS r   r   r   r8   r8   r9   r:     s    z#ReportEncryptedSpamRequest.__init__c                 C   s"   dt | jtr| j n| jdS )Nr  r   r   r>   r8   r8   r9   r=     s    z"ReportEncryptedSpamRequest.to_dictc                 C   s   d d| j fS )Nr?   s   Kr   r>   r8   r8   r9   rB     s    z!ReportEncryptedSpamRequest._bytesc                 C   s   |  }| |dS r   r   r   r8   r8   r9   rL     s    z&ReportEncryptedSpamRequest.from_readerNr  r8   r8   r8   r9   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 )ReportMessagesDeliveryRequestismZr   Nr   r3   r  pushc                 C   s   || _ || _|| _dS r   r  )r7   r3   r  r  r8   r8   r9   r:     s    z&ReportMessagesDeliveryRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re     s    z%ReportMessagesDeliveryRequest.resolvec                 C   s@   dt | jtr| j n| j| jd kr*g n| jd d  | jdS )Nr  )r;   r3   r  r  )r<   r3   r   r=   r  r  r>   r8   r8   r9   r=     s
    z%ReportMessagesDeliveryRequest.to_dictc                 C   s\   d dtd| jd ks | jdkr$dnd| j dtdt| jd d	d
 | jD fS )Nr?   s   smZrg   Fr   rh   r   rk   c                 s   s   | ]}t d |V  qdS r  r  r   r8   r8   r9   r     s     z7ReportMessagesDeliveryRequest._bytes.<locals>.<genexpr>)rA   rD   rE   r  r3   rB   r   r  r>   r8   r8   r9   rB     s    "  z$ReportMessagesDeliveryRequest._bytesc                 C   sZ   |  }t|d@ }| }|   g }t|  D ]}|  }|| q4| |||dS )Nrh   r  rn   ro   rF   r   r   )rI   rJ   rq   Z_pushrK   r  r;   r   r8   r8   r9   rL     s    z)ReportMessagesDeliveryRequest.from_reader)N)rN   rO   rP   rQ   rR   r   rT   r   ro   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   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?r   r   r3   r  reaction_peerc                 C   s   || _ || _|| _dS r   r  )r7   r3   r  r  r8   r8   r9   r:     s    zReportReactionRequest.__init__c                    s8   | || jI d H | _| || jI d H | _d S r^   )r`   ra   r3   r  rb   r8   r8   r9   re     s    zReportReactionRequest.resolvec                 C   s@   dt | jtr| j n| j| jt | jtr6| j n| jdS )Nr  )r;   r3   r  r  )r<   r3   r   r=   r  r  r>   r8   r8   r9   r=     s
    zReportReactionRequest.to_dictc                 C   s(   d d| j td| j| j fS )Nr?   s   vd?rk   )rA   r3   rB   rD   rE   r  r  r>   r8   r8   r9   rB     s    zReportReactionRequest._bytesc                 C   s&   |  }| }|  }| |||dS )Nr  r   )rI   rJ   rK   r  Z_reaction_peerr8   r8   r9   rL     s    z!ReportReactionRequest.from_readerNr   r8   r8   r8   r9   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   + r   r   r   c                 C   s
   || _ dS r   r   r   r8   r8   r9   r:     s    zReportSpamRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re     s    zReportSpamRequest.resolvec                 C   s"   dt | jtr| j n| jdS )Nr  r   r   r>   r8   r8   r9   r=     s    zReportSpamRequest.to_dictc                 C   s   d d| j fS )Nr?   s   ےr   r>   r8   r8   r9   rB     s    zReportSpamRequest._bytesc                 C   s   |  }| |dS r   r   r   r8   r8   r9   rL   	  s    zReportSpamRequest.from_readerNr   r8   r8   r8   r9   r    s   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 )ReportSponsoredMessageRequestii"#&Nr   r3   rt  r   c                 C   s4   || _ || _|dk	r|ntjtdddd| _dS )z
        :returns channels.SponsoredMessageReportResult: Instance of either SponsoredMessageReportResultChooseOption, SponsoredMessageReportResultAdsHidden, SponsoredMessageReportResultReported.
        Nrj   r   Tr   )r3   rt  rT   r   r   r   r   )r7   r3   rt  r   r8   r8   r9   r:     s    z&ReportSponsoredMessageRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re     s    z%ReportSponsoredMessageRequest.resolvec                 C   s*   dt | jtr| j n| j| j| jdS )Nr  )r;   r3   rt  r   )r<   r3   r   r=   rt  r   r>   r8   r8   r9   r=     s
    z%ReportSponsoredMessageRequest.to_dictc                 C   s(   d d| j | | j| | jfS )Nr?   s   )rA   r3   rB   rC   r   rt  r>   r8   r8   r9   rB   &  s    

z$ReportSponsoredMessageRequest._bytesc                 C   s&   |  }| }| }| |||dS )Nr  rF   rG   )rI   rJ   rK   r   ru  r8   r8   r9   rL   .  s    z)ReportSponsoredMessageRequest.from_reader)NrN   rO   rP   rQ   rR   rS   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   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΋aS   F'' Nr   r   r   r3   r  platformrY   compactr   start_paramtheme_paramsc	           	      C   s4   || _ || _|| _|| _|| _|| _|| _|| _dS zG
        :returns WebViewResult: Instance of WebViewResultUrl.
        Nr#  )	r7   r3   r  r$  rY   r%  r   r&  r'  r8   r8   r9   r:   :  s    z!RequestAppWebViewRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   G  s    z RequestAppWebViewRequest.resolvec                 C   sj   dt | jtr| j n| jt | jtr2| j n| j| j| j| j| j| j	t | j
tr`| j
 n| j
d	S )Nr!  )	r;   r3   r  r$  rY   r%  r   r&  r'  )r<   r3   r   r=   r  r$  rY   r%  r   r&  r'  r>   r8   r8   r9   r=   J  s    z RequestAppWebViewRequest.to_dictc                 C   s   d dtd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | jd ksV| jdkrZdndB | jd ksr| jdkrvdnd	B | jd ks| jdkrdnd
B | j	 | j
	 | jd ks| jdkrdn
| | j| jd ks| jdkrdn| j	 | | jfS )Nr?   s   ΋aSrg   Fr   rh      r  ri   rj   )rA   rD   rE   rY   r%  r   r&  r'  r3   rB   r  rC   r$  r>   r8   r8   r9   rB   W  s    " 
zRequestAppWebViewRequest._bytesc              
   C   s   |  }t|d@ }t|d@ }t|d@ }| }| }|d@ rN| }nd }|d@ rd| }	nd }	| }
| |||
|||||	dS )Nrh   r)  r  ri   rj   r#  rm   )rI   rJ   rq   rr   _compactr   rK   r  _start_param_theme_params	_platformr8   r8   r9   rL   b  s    

z$RequestAppWebViewRequest.from_reader)NNNNNrN   rO   rP   rQ   rR   rv   r   ro   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   r!  6  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 r1   Nr$   r{   g_ar   c                 C   s4   || _ || _|dk	r|ntjtdddd| _dS )r6   Nrj   r   Tr   )r{   r1  rT   r   r   r   r   )r7   r{   r1  r   r8   r8   r9   r:   {  s    z!RequestEncryptionRequest.__init__c                    s   | || jI d H | _d S r^   r~   rb   r8   r8   r9   re     s    z RequestEncryptionRequest.resolvec                 C   s*   dt | jtr| j n| j| j| jdS )Nr/  )r;   r{   r1  r   )r<   r{   r   r=   r1  r   r>   r8   r8   r9   r=     s
    z RequestEncryptionRequest.to_dictc                 C   s*   d d| j td| j| | jfS )Nr?   s   CMrk   )rA   r{   rB   rD   rE   r   rC   r1  r>   r8   r8   r9   rB     s    
zRequestEncryptionRequest._bytesc                 C   s&   |  }| }| }| |||dS )Nr0  )rF   rn   rG   )rI   rJ   r   r   Z_g_ar8   r8   r9   rL     s    z$RequestEncryptionRequest.from_reader)N)rN   rO   rP   rQ   rR   rS   rT   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   r/  w  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   { r"  Nr   r$   r   r3   r  r$  r%  r   r&  r'  c                 C   s.   || _ || _|| _|| _|| _|| _|| _dS r(  r3  )r7   r3   r  r$  r%  r   r&  r'  r8   r8   r9   r:     s    z"RequestMainWebViewRequest.__init__c                    s8   | || jI d H | _||| jI d H | _d S r^   )r`   ra   r3   r   r  rb   r8   r8   r9   re     s    z!RequestMainWebViewRequest.resolvec              
   C   sf   dt | jtr| j n| jt | jtr2| j n| j| j| j| j| jt | j	tr\| j	 n| j	dS )Nr2  )r;   r3   r  r$  r%  r   r&  r'  )
r<   r3   r   r=   r  r$  r%  r   r&  r'  r>   r8   r8   r9   r=     s    z!RequestMainWebViewRequest.to_dictc                 C   s   d dtd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | jd ksV| jdkrZdndB | jd ksr| jdkrvdnd	B | j | j	 | jd ks| jdkrdn
| 
| j| jd ks| jdkrdn| j | 
| jfS )
Nr?   s   {rg   Fr   r)  r  ri   rh   )rA   rD   rE   r%  r   r&  r'  r3   rB   r  rC   r$  r>   r8   r8   r9   rB     s    v" 
z RequestMainWebViewRequest._bytesc           
   	   C   sz   |  }t|d@ }t|d@ }| }| }|d@ rB| }nd }|d@ rX| }nd }| }	| |||	||||dS )Nr)  r  ri   rh   r3  rm   )
rI   rJ   rq   r*  r   rK   r  r+  r,  r-  r8   r8   r9   rL     s    

z%RequestMainWebViewRequest.from_reader)NNNNr.  r8   r8   r8   r9   r2    s   ,r2  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>:Ar"  Nr$   r   	r  r$  from_switch_webviewfrom_side_menur%  r   r\   r&  r'  c
           
      C   s:   || _ || _|| _|| _|| _|| _|| _|| _|	| _dS r(  r5  )
r7   r  r$  r6  r7  r%  r   r\   r&  r'  r8   r8   r9   r:     s    z$RequestSimpleWebViewRequest.__init__c                    s   | || jI d H | _d S r^   r  rb   r8   r8   r9   re     s    z#RequestSimpleWebViewRequest.resolvec                 C   sX   dt | jtr| j n| j| j| j| j| j| j| j	| j
t | jtrN| j n| jd
S )Nr4  )
r;   r  r$  r6  r7  r%  r   r\   r&  r'  )r<   r  r   r=   r$  r6  r7  r%  r   r\   r&  r'  r>   r8   r8   r9   r=     s    z#RequestSimpleWebViewRequest.to_dictc                 C   sT  d dtd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | jd ksV| jdkrZdndB | jd ksr| jdkrvdnd	B | j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d ks| jdkrdn
| | j| jd ks| jdkrdn
| | j| j	d ks8| j	dkr<dn| j	 | | jfS )Nr?   s   s>:Arg   Fr   ri   rj   r)  r  r  rS  rh   )rA   rD   rE   r6  r7  r%  r   r\   r&  r'  r  rB   rC   r$  r>   r8   r8   r9   rB      s    "&$
z"RequestSimpleWebViewRequest._bytesc                 C   s   |  }t|d@ }t|d@ }t|d@ }t|d@ }| }|d@ rR| }nd }|d@ rh| }	nd }	|d@ r~| }
nd }
| }| ||||||||	|
d	S )	Nri   rj   r)  r  r  rS  rh   r5  rm   )rI   rJ   rq   Z_from_switch_webviewZ_from_side_menur*  r   r  ru   r+  r,  r-  r8   r8   r9   rL     s"    


z'RequestSimpleWebViewRequest.from_reader)NNNNNNNr.  r8   r8   r8   r9   r4    s   <r4  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rW   Nr   r3   rZ   r[   r\   c                 C   s   || _ || _|| _|| _dS r]   r9  )r7   r3   rZ   r[   r\   r8   r8   r9   r:   (  s    zRequestUrlAuthRequest.__init__c                    s$   | j r ||| j I d H | _ d S r^   r_   rb   r8   r8   r9   re   1  s    zRequestUrlAuthRequest.resolvec                 C   s.   dt | jtr| j n| j| j| j| jdS )Nr8  )r;   r3   rZ   r[   r\   )r<   r3   r   r=   rZ   r[   r\   r>   r8   r8   r9   r=   5  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dt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d ks,| jdkr0dntd	| j| jd ksT| jdkrXdntd	| j| jd ks|| jdkrdn
| 	| jfS )
NFrf   r?   s   Frg   r   ri   rj   rk   )
r3   rZ   r[   rl   rA   rD   rE   r\   rB   rC   r>   r8   r8   r9   rB   >  s    tv$((&zRequestUrlAuthRequest._bytesc                 C   sp   |  }|d@ r| }nd }|d@ r0|  }nd }|d@ rF|  }nd }|d@ r\| }nd }| ||||dS )Nri   rj   r9  rH  )rI   rJ   rq   rK   rs   rt   ru   r8   r8   r9   rL   I  s    



z!RequestUrlAuthRequest.from_reader)NNNN)rN   rO   rP   rQ   rR   r   rT   rv   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   r8  $  s   &		r8  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&r"  Nr   r$   r   r    r3   r  r$  from_bot_menur  r%  r   r\   r&  r'  r  r  c                 C   sL   || _ || _|| _|| _|| _|| _|| _|| _|	| _|
| _	|| _
|| _dS r(  r;  )r7   r3   r  r$  r<  r  r%  r   r\   r&  r'  r  r  r8   r8   r9   r:   d  s    zRequestWebViewRequest.__init__c                    sX   | || jI d H | _||| jI d H | _| jrT| || jI d H | _d S r^   r  rb   r8   r8   r9   re   u  s    zRequestWebViewRequest.resolvec                 C   s   dt | jtr| j n| jt | jtr2| j n| j| j| j| j| j| j	| j
| jt | jtrh| j n| jt | jtr| j n| jt | jtr| j n| jdS )Nr:  )r;   r3   r  r$  r<  r  r%  r   r\   r&  r'  r  r  )r<   r3   r   r=   r  r$  r<  r  r%  r   r\   r&  r'  r  r  r>   r8   r8   r9   r=   {  s    zRequestWebViewRequest.to_dictc                 C   s  d dtd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | jd ksV| jdkrZdndB | jd ksr| jdkrvdnd	B | jd ks| jdkrdnd
B | jd ks| jdkrdndB | j	d ks| j	dkrdndB | j
d ks| j
dkrdndB | jd ks| jdkrdndB | j | j | jd ks4| jdkr8dn
| | j| jd ksZ| jdkr^dn
| | j| j	d ks| j	dkrdn| j	 | | j| j
d ks| j
dkrdn| j
 | jd ks| jdkrdn| j f
S )Nr?   s   &rg   Fr   rS  rz  r)  r  ri   r  rj   rh   r  )rA   rD   rE   r<  r  r%  r   r\   r&  r'  r  r  r3   rB   r  rC   r$  r>   r8   r8   r9   rB     s     &&$
$$zRequestWebViewRequest._bytesc                 C   s   |  }t|d@ }t|d@ }t|d@ }t|d@ }| }| }|d@ rZ| }	nd }	|d@ rp| }
nd }
|d@ r| }nd }| }|d@ r| }nd }|d	@ r| }nd }| ||||||||	|
|||d
S )NrS  rz  r)  r  ri   r  rj   rh   r  r;  rm   )rI   rJ   rq   Z_from_bot_menur  r*  r   rK   r  ru   r+  r,  r-  r  r  r8   r8   r9   rL     s0    




z!RequestWebViewRequest.from_reader)	NNNNNNNNNr.  r8   r8   r8   r9   r:  `  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   _ r   r   r3   r  c                 C   s   || _ || _dS r   r>  )r7   r3   r  r8   r8   r9   r:     s    z!SaveDefaultSendAsRequest.__init__c                    s8   | || jI d H | _| || jI d H | _d S r^   r`   ra   r3   r  rb   r8   r8   r9   re     s    z SaveDefaultSendAsRequest.resolvec                 C   s<   dt | jtr| j n| jt | jtr2| j n| jdS )Nr=  )r;   r3   r  )r<   r3   r   r=   r  r>   r8   r8   r9   r=     s    z SaveDefaultSendAsRequest.to_dictc                 C   s   d d| j | j fS )Nr?   s   )rA   r3   rB   r  r>   r8   r8   r9   rB     s
    zSaveDefaultSendAsRequest._bytesc                 C   s   |  }|  }| ||dS )Nr>  r   )rI   rJ   rK   r  r8   r8   r9   rL     s    z$SaveDefaultSendAsRequest.from_readerNr   r8   r8   r8   r9   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& r   Nr   r    r&   r   r3   r`  r^  r_  r  rb  r   effectc	           	      C   s4   || _ || _|| _|| _|| _|| _|| _|| _dS r   rA  )	r7   r3   r`  r^  r_  r  rb  r   rB  r8   r8   r9   r:     s    zSaveDraftRequest.__init__c                    s2   | || jI d H | _| jr.|| j| _d S r^   rp  rb   r8   r8   r9   re     s    zSaveDraftRequest.resolvec              
   C   s   dt | jtr| j n| j| j| j| jt | jtr>| j n| j| jd krPg ndd | jD t | j	trt| j	 n| j	| j
d	S )Nr@  c                 S   s"   g | ]}t |tr| n|qS r8   r   r   r8   r8   r9   r     s     z,SaveDraftRequest.to_dict.<locals>.<listcomp>)	r;   r3   r`  r^  r_  r  rb  r   rB  )r<   r3   r   r=   r`  r^  r_  r  rb  r   rB  r>   r8   r8   r9   r=     s    zSaveDraftRequest.to_dictc                 C   s~  d dtd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | jd ksV| jdkrZdndB | jd ksr| jdkrvdnd	B | j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d ks| jdkrdn.d dtdt| jd dd | jD f| jd ksD| jdkrHdn| j	 | jd ksh| jdkrldntd| jfS )Nr?   s   rrg   Fr   ri   r  rS  r  rz  r)  r   rk   c                 s   s   | ]}|  V  qd S r^   r   r   r8   r8   r9   r   
  s     z*SaveDraftRequest._bytes.<locals>.<genexpr>r@   )rA   rD   rE   r^  r_  r  rb  r   rB  rB   r3   rC   r`  r   r>   r8   r8   r9   rB     s     
F$(zSaveDraftRequest._bytesc              
   C   s   |  }t|d@ }t|d@ }|d@ r2| }nd }| }| }|d@ r|   g }t|  D ]}	| }
||
 qfnd }|d@ r| }nd }|d@ r| }nd }| ||||||||dS )Nri   r  rS  r  rz  r)  rA  )rn   ro   rF   rp   r   r   rH   )rI   rJ   rq   rg  rh  r  rK   ri  rk  r;   r   r   _effectr8   r8   r9   rL     s,    


zSaveDraftRequest.from_reader)NNNNNN)rN   rO   rP   rQ   rR   rv   r   ro   r   rT   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   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 )SaveGifRequesti0z2r   r   r  unsavec                 C   s   || _ || _dS r   rE  )r7   r  rF  r8   r8   r9   r:   3  s    zSaveGifRequest.__init__c                    s   | | j| _d S r^   r  rb   r8   r8   r9   re   :  s    zSaveGifRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )NrD  )r;   r  rF  )r<   r  r   r=   rF  r>   r8   r8   r9   r=   =  s    zSaveGifRequest.to_dictc                 C   s    d d| j | jrdndfS )Nr?   s   0z2r;  r<  )rA   r  rB   rF  r>   r8   r8   r9   rB   D  s
    zSaveGifRequest._bytesc                 C   s   |  }| }| ||dS )NrE  r  )rI   rJ   r  _unsaver8   r8   r9   rL   K  s    zSaveGifRequest.from_readerNr  r8   r8   r8   r9   rD  /  s   rD  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   resultr{   
peer_typesc                 C   s   || _ || _|| _dS )zc
        :returns messages.BotPreparedInlineMessage: Instance of BotPreparedInlineMessage.
        NrI  )r7   rJ  r{   rK  r8   r8   r9   r:   V  s    z)SavePreparedInlineMessageRequest.__init__c                    s   | || jI d H | _d S r^   r~   rb   r8   r8   r9   re   ^  s    z(SavePreparedInlineMessageRequest.resolvec                 C   sX   dt | jtr| j n| jt | jtr2| j n| j| jd krDg ndd | jD dS )NrH  c                 S   s"   g | ]}t |tr| n|qS r8   r   r   r8   r8   r9   r   f  s     z<SavePreparedInlineMessageRequest.to_dict.<locals>.<listcomp>)r;   rJ  r{   rK  )r<   rJ  r   r=   r{   rK  r>   r8   r8   r9   r=   a  s
    z(SavePreparedInlineMessageRequest.to_dictc                 C   s   d dtd| jd ks | jdkr$dnd| j | j | jd ksL| jdkrPdn.d dtdt| jd d	d
 | jD ffS )Nr?   s   /rg   Fr   rh   r   rk   c                 s   s   | ]}|  V  qd S r^   r   r   r8   r8   r9   r   o  s     z:SavePreparedInlineMessageRequest._bytes.<locals>.<genexpr>)rA   rD   rE   rK  rJ  rB   r{   r   r>   r8   r8   r9   rB   i  s    "Fz'SavePreparedInlineMessageRequest._bytesc                 C   sd   |  }| }| }|d@ rR|   g }t|  D ]}| }|| q8nd }| |||dS )Nrh   rI  r  )rI   rJ   rq   _resultr   Z_peer_typesr;   r   r8   r8   r9   rL   r  s    z,SavePreparedInlineMessageRequest.from_reader)N)rN   rO   rP   rQ   rR   r   r   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   rH  R  s   	rH  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'9r   Nr   r  rF  r   c                 C   s   || _ || _|| _dS r   rN  )r7   r  rF  r   r8   r8   r9   r:     s    z!SaveRecentStickerRequest.__init__c                    s   | | j| _d S r^   r  rb   r8   r8   r9   re     s    z SaveRecentStickerRequest.resolvec                 C   s*   dt | jtr| j n| j| j| jdS )NrM  )r;   r  rF  r   )r<   r  r   r=   rF  r   r>   r8   r8   r9   r=     s
    z SaveRecentStickerRequest.to_dictc                 C   sB   d dtd| jd ks | jdkr$dnd| j | jr:dndfS )	Nr?   s   '9rg   Fr   rh   r;  r<  )rA   rD   rE   r   r  rB   rF  r>   r8   r8   r9   rB     s    "zSaveRecentStickerRequest._bytesc                 C   s2   |  }t|d@ }| }| }| |||dS )Nrh   rN  rn   ro   rF   r=  )rI   rJ   rq   r   r  rG  r8   r8   r9   rL     s
    z$SaveRecentStickerRequest.from_reader)NrN   rO   rP   rQ   rR   ro   r   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   rM    s   rM  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)r4  Nr   r'   r)   r3   r  r  r   r   r  r6  r  r   r7  r   from_idr  saved_reactionr  c                 C   s^   || _ || _|| _|| _|| _|| _|| _|| _|	| _|
| _	|| _
|| _|| _|| _|| _dS r8  rR  )r7   r3   r  r  r   r   r  r6  r  r   r7  r   rS  r  rT  r  r8   r8   r9   r:     s    zSearchRequest.__init__c                    s^   | || jI d H | _| jr:| || jI d H | _| jrZ| || jI d H | _d S r^   )r`   ra   r3   rS  r  rb   r8   r8   r9   re     s
    zSearchRequest.resolvec                 C   s   dt | jtr| j n| j| jt | jtr6| j n| j| j| j| j| j	| j
| j| j| jt | jtrp| j n| jt | jtr| j n| j| jd krg ndd | jD | jdS )NrQ  c                 S   s"   g | ]}t |tr| n|qS r8   r   r   r8   r8   r9   r     s     z)SearchRequest.to_dict.<locals>.<listcomp>)r;   r3   r  r  r   r   r  r6  r  r   r7  r   rS  r  rT  r  )r<   r3   r   r=   r  r  r   r   r  r6  r  r   r7  r   rS  r  rT  r  r>   r8   r8   r9   r=     s"    zSearchRequest.to_dictc                 C   s  d dtd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | jd ksV| jdkrZdndB | jd ksr| jdkrvdnd	B | j | 	| j
| jd ks| jdkrdn| j | jd ks| jdkrdn| j | jd ks| jdkrdn.d d
tdt| jd dd | jD f| jd ks,| jdkr0dntd| j| j | | j| | jtd| jtd| jtd| jtd| jtd| jtd| jfS )Nr?   s   z)rg   Fr   rh   rj   r  ri   r   rk   c                 s   s   | ]}|  V  qd S r^   r   r   r8   r8   r9   r     s     z'SearchRequest._bytes.<locals>.<genexpr>r@   )rA   rD   rE   rS  r  rT  r  r3   rB   rC   r  r   r  r  r   r   r  r6  r  r   r7  r   r>   r8   r8   r9   rB     s&    v
  F(

zSearchRequest._bytesc                 C   s  |  }| }| }|d@ r*| }nd }|d@ r@| }nd }|d@ r~|   g }t|  D ]}| }	||	 qdnd }|d@ r|  }
nd }
| }| }| }|  }|  }|  }|  }|  }| }| |||||||||||||||
dS )Nrh   rj   r  ri   rR  )rn   rF   rp   r   r   r  rH   )rI   rJ   rq   rK   r  Z_from_idr  Z_saved_reactionr;   r   r  r  r  r  r  r@  r  r  rA  r   r8   r8   r9   rL     s:    


zSearchRequest.from_reader)NNNN)rN   rO   rP   rQ   rR   rv   r   r	   rT   r   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   rQ    s   HrQ  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  c                 C   s   || _ || _dS )zY
        :returns EmojiList: Instance of either EmojiListNotModified, EmojiList.
        Nr  r  r8   r8   r9   r:   !  s    z!SearchCustomEmojiRequest.__init__c                 C   s   d| j | jdS )NrU  r  r  r>   r8   r8   r9   r=   (  s    z SearchCustomEmojiRequest.to_dictc                 C   s"   d d| | jtd| jfS )Nr?   s   ,r@   r  r>   r8   r8   r9   rB   /  s
    
zSearchCustomEmojiRequest._bytesc                 C   s   |  }| }| ||dS r  r  r  r8   r8   r9   rL   6  s    z$SearchCustomEmojiRequest.from_readerNr  r8   r8   r8   r9   rU    s   rU  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% aNr  r   exclude_featuredc                 C   s   || _ || _|| _dS zw
        :returns messages.FoundStickerSets: Instance of either FoundStickerSetsNotModified, FoundStickerSets.
        NrX  r7   r  r   rY  r8   r8   r9   r:   A  s    z&SearchEmojiStickerSetsRequest.__init__c                 C   s   d| j | j| jdS )NrV  r;   r  r   rY  rX  r>   r8   r8   r9   r=   I  s
    z%SearchEmojiStickerSetsRequest.to_dictc              	   C   sD   d dtd| jd ks | jdkr$dnd| | jtd| jfS )Nr?   s   LIrg   Fr   rh   r@   rA   rD   rE   rY  rC   r  r   r>   r8   r8   r9   rB   Q  s    "
z$SearchEmojiStickerSetsRequest._bytesc                 C   s2   |  }t|d@ }| }| }| |||dS Nrh   rX  rn   ro   rp   rH   rI   rJ   rq   Z_exclude_featuredr  r   r8   r8   r9   rL   Y  s
    z)SearchEmojiStickerSetsRequest.from_reader)NrN   rO   rP   rQ   rR   rv   rT   r   ro   r:   r=   rB   rU   rL   r8   r8   r8   r9   rV  =  s   rV  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 )SearchGlobalRequestiXKr4  Nr'   r   r  r  r   r   offset_rater  r  r  broadcasts_onlygroups_only
users_onlyr  c                 C   sL   || _ || _|| _|| _|| _|| _|| _|| _|	| _|
| _	|| _
|| _dS r8  rc  )r7   r  r  r   r   rd  r  r  r  re  rf  rg  r  r8   r8   r9   r:   g  s    zSearchGlobalRequest.__init__c                    s   | || jI d H | _d S r^   r  rb   r8   r8   r9   re   x  s    zSearchGlobalRequest.resolvec                 C   sd   d| j t| jtr| j n| j| j| j| jt| jtrB| j n| j| j	| j
| j| j| j| jdS )Nrb  )r;   r  r  r   r   rd  r  r  r  re  rf  rg  r  )r  r<   r  r   r=   r   r   rd  r  r  r  re  rf  rg  r  r>   r8   r8   r9   r=   {  s    zSearchGlobalRequest.to_dictc                 C   s   d dtd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | jd ksV| jdkrZdndB | jd ksr| jdkrvdnd	B | jd ks| jdkrdntd
| j| | j| j	
 | | j| | jtd
| j| j
 td
| jtd
| jfS )Nr?   s   XKrg   Fr   ri   rj   r  rh   rk   )rA   rD   rE   re  rf  rg  r  rC   r  r  rB   r  r   r   rd  r  r  r  r>   r8   r8   r9   rB     s    v$


zSearchGlobalRequest._bytesc                 C   s   |  }t|d@ }t|d@ }t|d@ }|d@ r>|  }nd }| }| }| }	| }
|  }| }|  }|  }| |||	|
||||||||dS )Nri   rj   r  rh   rc  )rn   ro   rp   rF   r  )rI   rJ   rq   Z_broadcasts_onlyZ_groups_onlyZ_users_onlyr  r  r  r  r  _offset_rater  r  r  r8   r8   r9   rL     s     
zSearchGlobalRequest.from_reader)NNNN)rN   rO   rP   rQ   rR   rv   r   r	   rT   ro   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   rb  c  s   >rb  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~r4  r'   r  r  r  c                 C   s   || _ || _|| _dS r8  rj  )r7   r  r  r  r8   r8   r9   r:     s    zSearchSentMediaRequest.__init__c                 C   s*   d| j t| jtr| j n| j| jdS )Nri  )r;   r  r  r  )r  r<   r  r   r=   r  r>   r8   r8   r9   r=     s
    zSearchSentMediaRequest.to_dictc              	   C   s*   d d| | j| j td| jfS )Nr?   s   1~rk   )rA   rC   r  r  rB   rD   rE   r  r>   r8   r8   r9   rB     s    
zSearchSentMediaRequest._bytesc                 C   s&   |  }| }| }| |||dS )Nrj  )rp   rF   rn   )rI   rJ   r  r  r  r8   r8   r9   rL     s    z"SearchSentMediaRequest.from_readerNr  r8   r8   r8   r9   ri    s   ri  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[p5rW  NrX  c                 C   s   || _ || _|| _dS rZ  rX  r[  r8   r8   r9   r:     s    z!SearchStickerSetsRequest.__init__c                 C   s   d| j | j| jdS )Nrk  r\  rX  r>   r8   r8   r9   r=     s
    z SearchStickerSetsRequest.to_dictc              	   C   sD   d dtd| jd ks | jdkr$dnd| | jtd| jfS )Nr?   s   [p5rg   Fr   rh   r@   r]  r>   r8   r8   r9   rB     s    "
zSearchStickerSetsRequest._bytesc                 C   s2   |  }t|d@ }| }| }| |||dS r^  r_  r`  r8   r8   r9   rL     s
    z$SearchStickerSetsRequest.from_reader)Nra  r8   r8   r8   r9   rk    s   rk  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  r  rE  r  r   r  c                 C   s.   || _ || _|| _|| _|| _|| _|| _dS )zn
        :returns messages.FoundStickers: Instance of either FoundStickersNotModified, FoundStickers.
        Nrm  )r7   r  r  r  rE  r  r   r  r8   r8   r9   r:     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 )Nrl  )r;   r  r  r  rE  r  r   r  rm  r>   r8   r8   r9   r=     s    zSearchStickersRequest.to_dictc                    s   d dtd jd ks  jdkr$dnd  j  jdtdt jd  fd	d
 jD td j	td j
td jf
S )Nr?   s   jƱ)rg   Fr   rh   r   rk   c                 3   s   | ]}  |V  qd S r^   r  r   r>   r8   r9   r     s     z/SearchStickersRequest._bytes.<locals>.<genexpr>r@   )rA   rD   rE   r  rC   r  r  r   r  rE  r  r   r>   r8   r>   r9   rB     s    "

  zSearchStickersRequest._bytesc              	   C   s   |  }t|d@ }| }| }|   g }t|  D ]}| }|| q<|  }	|  }
| }| ||||	|
||dS )Nrh   rm  )rn   ro   rp   r   r   rH   )rI   rJ   rq   r  r  r  r  r;   r   rK  r  r   r8   r8   r9   rL   #  s    z!SearchStickersRequest.from_reader)N)rN   rO   rP   rQ   rR   rv   r   rT   r   ro   r:   r=   rB   rU   rL   r8   r8   r8   r9   rl    s   $rl  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# r   r   r3   rZ   r[   requested_peersc                 C   s   || _ || _|| _|| _dS r   ro  )r7   r3   rZ   r[   rp  r8   r8   r9   r:   :  s    z$SendBotRequestedPeerRequest.__init__c                    sP   | || jI d H | _g }| jD ] }|| ||I d H  q$|| _d S r^   )r`   ra   r3   rp  r   r   r8   r8   r9   re   C  s
    
z#SendBotRequestedPeerRequest.resolvec                 C   sF   dt | jtr| j n| j| j| j| jd kr2g ndd | jD dS )Nrn  c                 S   s"   g | ]}t |tr| n|qS r8   r   r   r8   r8   r9   r   Q  s     z7SendBotRequestedPeerRequest.to_dict.<locals>.<listcomp>)r;   r3   rZ   r[   rp  )r<   r3   r   r=   rZ   r[   rp  r>   r8   r8   r9   r=   K  s    z#SendBotRequestedPeerRequest.to_dictc                 C   sR   d d| j td| jtd| jdtdt| jd dd | jD fS )Nr?   s   `вrk   r   c                 s   s   | ]}|  V  qd S r^   r   r   r8   r8   r9   r   Z  s     z5SendBotRequestedPeerRequest._bytes.<locals>.<genexpr>)	rA   r3   rB   rD   rE   rZ   r[   r   rp  r>   r8   r8   r9   rB   T  s      z"SendBotRequestedPeerRequest._bytesc                 C   sX   |  }| }| }|  g }t| D ]}|  }|| q0| ||||dS )Nro  r,  )rI   rJ   rK   rs   rt   Z_requested_peersr;   r   r8   r8   r9   rL   ]  s    z'SendBotRequestedPeerRequest.from_readerNrN   rO   rP   rQ   rR   rT   r   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   rn  6  s   			rn  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zD   P>< Nr   r3   r  r  r   c                 C   s:   || _ || _|| _|dk	r|ntjtdddd| _dS zu
        :returns messages.SentEncryptedMessage: Instance of either SentEncryptedMessage, SentEncryptedFile.
        Nr  r   Tr   )r3   r  r  rT   r   r   r   r   )r7   r3   r  r  r   r8   r8   r9   r:   o  s    zSendEncryptedRequest.__init__c                 C   s.   dt | jtr| j n| j| j| j| jdS )Nrr  )r;   r3   r  r  r   )r<   r3   r   r=   r  r  r   r>   r8   r8   r9   r=   x  s    zSendEncryptedRequest.to_dictc              	   C   sL   d dtd| jd ks | jdkr$dnd| j td| j| | jfS )Nr?   s   zDrg   Fr   rh   r@   )	rA   rD   rE   r  r3   rB   r   rC   r  r>   r8   r8   r9   rB     s    "
zSendEncryptedRequest._bytesc                 C   s<   |  }t|d@ }| }| }| }| ||||dS )Nrh   rt  rn   ro   rF   rH   rG   )rI   rJ   rq   r  rK   r   r  r8   r8   r9   rL     s    z SendEncryptedRequest.from_reader)NNrN   rO   rP   rQ   rR   rS   r   ro   rT   r:   r=   rB   rU   rL   r8   r8   r8   r9   rr  k  s   			rr  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HYUrs  Nr   r   r3   r  r  r  r   c                 C   s@   || _ || _|| _|| _|dk	r$|ntjtdddd| _dS ru  )	r3   r  r  r  rT   r   r   r   r   )r7   r3   r  r  r  r   r8   r8   r9   r:     s
    z!SendEncryptedFileRequest.__init__c                 C   sH   dt | jtr| j n| j| jt | jtr6| j n| j| j| jdS )Nrx  )r;   r3   r  r  r  r   )r<   r3   r   r=   r  r  r  r   r>   r8   r8   r9   r=     s    z SendEncryptedFileRequest.to_dictc              	   C   sT   d dtd| jd ks | jdkr$dnd| j td| j| | j| j	 fS )Nr?   s   HYUrg   Fr   rh   r@   )
rA   rD   rE   r  r3   rB   r   rC   r  r  r>   r8   r8   r9   rB     s    "
zSendEncryptedFileRequest._bytesc                 C   sF   |  }t|d@ }| }| }| }| }| |||||dS )Nrh   ry  rv  )rI   rJ   rq   r  rK   r   r  r  r8   r8   r9   rL     s    z$SendEncryptedFileRequest.from_reader)NNrw  r8   r8   r8   r9   rx    s   


rx  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 )SendEncryptedServiceRequesti92rs  Nr   r3   r  r   c                 C   s4   || _ || _|dk	r|ntjtdddd| _dS ru  )r3   r  rT   r   r   r   r   )r7   r3   r  r   r8   r8   r9   r:     s    z$SendEncryptedServiceRequest.__init__c                 C   s*   dt | jtr| j n| j| j| jdS )Nrz  )r;   r3   r  r   )r<   r3   r   r=   r  r   r>   r8   r8   r9   r=     s
    z#SendEncryptedServiceRequest.to_dictc                 C   s*   d d| j td| j| | jfS )Nr?   s   92r@   )rA   r3   rB   rD   rE   r   rC   r  r>   r8   r8   r9   rB     s    
z"SendEncryptedServiceRequest._bytesc                 C   s&   |  }| }| }| |||dS )Nr{  )rF   rH   rG   )rI   rJ   rK   r   r  r8   r8   r9   rL     s    z'SendEncryptedServiceRequest.from_reader)NrM   r8   r8   r8   r9   rz    s   rz  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 ddd	Z
d
d Zdd Zdd Zedd ZdS )SendInlineBotResultRequestij>r   Nr   r    r   r3   r  r  r  r  clear_drafthide_viar  r   rn  r  r  c                 C   sj   || _ || _|| _|| _|| _|| _|| _|| _|	dk	r<|	ntj	t
dddd| _|
| _|| _|| _dS r   Nr  r   Tr   )r3   r  r  r  r  r~  r  r  rT   r   r   r   r   rn  r  r  )r7   r3   r  r  r  r  r~  r  r  r   rn  r  r  r8   r8   r9   r:     s    $z#SendInlineBotResultRequest.__init__c                    s>   | || jI d H | _| jr:| || jI d H | _d S r^   r?  rb   r8   r8   r9   re     s    z"SendInlineBotResultRequest.resolvec                 C   s   dt | jtr| j n| j| j| j| j| j| j| j	t | j
trJ| j
 n| j
| j| jt | jtrl| j n| jt | jtr| j n| jdS )Nr|  )r;   r3   r  r  r  r  r~  r  r  r   rn  r  r  )r<   r3   r   r=   r  r  r  r  r~  r  r  r   rn  r  r  r>   r8   r8   r9   r=     s    z"SendInlineBotResultRequest.to_dictc                 C   s  d dtd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | jd ksV| jdkrZdndB | jd ksr| jdkrvdnd	B | j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d ks| jdkrdn| j td| jtd| j| | j| jd ksR| jdkrVdn
| | j| j	d ksx| j	dkr|dn| j	 | j
d ks| j
dkrdn| j
 f
S )Nr?   s   j>rg   Fr   rz  r  r)  re  rh   r  r  rr  r@   )rA   rD   rE   r  r  r~  r  r  rn  r  r  r3   rB   r   r  rC   r  r  r>   r8   r8   r9   rB     s    $
&$$z!SendInlineBotResultRequest._bytesc                 C   s   |  }t|d@ }t|d@ }t|d@ }t|d@ }| }|d@ rR| }nd }| }	| }
| }|d@ r| }nd }|d@ r| }nd }|d@ r| }nd }| ||
|||||||	|||d	S )
Nrz  r  r)  re  rh   r  r  rr  r}  )rn   ro   rF   rH   rp   r  )rI   rJ   rq   r  r  _clear_draftZ	_hide_viarK   r  r   r  r  rs  r  r  r8   r8   r9   rL      s,    



z&SendInlineBotResultRequest.from_reader)	NNNNNNNNN)rN   rO   rP   rQ   rR   rT   rv   r   ro   r	   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   r|    s   F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 d
ddZdd Zdd Zdd Zedd ZdS )SendMediaRequestiNRxr   Nr   r   r    r*   r&   r   r3   r   r`  r  r  r~  r  update_stickersets_orderr_  r  r  r   ra  rb  rn  r  r  rB  c                 C   s   || _ || _|| _|| _|| _|| _|| _|| _|	| _|
| _	|| _
|dk	rN|ntjtdddd| _|| _|| _|| _|| _|| _|| _dS r  )r3   r   r`  r  r  r~  r  r  r_  r  r  rT   r   r   r   r   ra  rb  rn  r  r  rB  )r7   r3   r   r`  r  r  r~  r  r  r_  r  r  r   ra  rb  rn  r  r  rB  r8   r8   r9   r:   C  s$    $zSendMediaRequest.__init__c                    sL   | || jI d H | _|| j| _| jrH| || jI d H | _d S r^   )r`   ra   r3   rc  r   r  rb   r8   r8   r9   re   Z  s    zSendMediaRequest.resolvec                 C   s   dt | jtr| j n| jt | jtr2| j n| j| j| j| j| j| j	| j
| j| jt | jtrl| j n| j| jt | jtr| j n| j| jd krg ndd | jD | jt | jtr| j n| jt | jtr| j n| j| jdS )Nr  c                 S   s"   g | ]}t |tr| n|qS r8   r   r   r8   r8   r9   r   p  s     z,SendMediaRequest.to_dict.<locals>.<listcomp>)r;   r3   r   r`  r  r  r~  r  r  r_  r  r  r   ra  rb  rn  r  r  rB  )r<   r3   r   r=   r   r`  r  r  r~  r  r  r_  r  r  r   ra  rb  rn  r  r  rB  r>   r8   r8   r9   r=   `  s(    zSendMediaRequest.to_dictc                 C   s   d dtd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | jd ksV| jdkrZdndB | jd ksr| jdkrvdnd	B | jd ks| jdkrdnd
B | jd ks| jdkrdndB | j	d ks| j	dkrdndB | j
d ks| j
dkrdndB | jd ks| jdkrdndB | jd ks"| jdkr&dndB | jd ksB| jdkrFdndB | jd ksb| jdkrfd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
d ks| j
dkrdn| j
 | j | | jtd| j| jd ks| jdkrdn| j | jd ks2| jdkr6dn.d dtdt| jd dd | jD f| jd ks|| jdkrdn
| | j| jd ks| jdkrdn| j | jd ks| jdkrdn| j | jd ks| jdkrdntd| jfS )Nr?   s   NRxrg   Fr   rz  r  r)  rf  rq  rd  r  rh   rj   r  r  r  rr     r@   r   rk   c                 s   s   | ]}|  V  qd S r^   r   r   r8   r8   r9   r     s     z*SendMediaRequest._bytes.<locals>.<genexpr>)rA   rD   rE   r  r  r~  r  r  r_  r  r  ra  rb  rn  r  r  rB  r3   rB   r   rC   r`  r   r   r  r>   r8   r8   r9   rB   w  s      $
$J&$$(zSendMediaRequest._bytesc                 C   sp  |  }t|d@ }t|d@ }t|d@ }t|d@ }t|d@ }t|d@ }t|d@ }	| }
|d@ rv| }nd }| }| }| }|d	@ r| }nd }|d
@ r|   g }t|  D ]}| }|| qnd }|d@ r| }nd }|d@ r| }nd }|d@ r(| }nd }|d@ r@| }nd }| |
|||||||||	||||||||dS )Nrz  r  r)  rf  rq  rd  r  rh   rj   r  r  r  rr  r  r  rn   ro   rF   rp   rH   r   r   r  )rI   rJ   rq   r  r  r  r  _update_stickersets_orderrh  r  rK   r  r   ri  r   rj  rk  r;   r   rs  r  r  rC  r8   r8   r9   rL     sL    








zSendMediaRequest.from_reader)NNNNNNNNNNNNNNNrN   rO   rP   rQ   rR   rv   r   ro   rT   r   r	   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   r  ?  s   n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 d	d
dZdd Zdd Zdd Zedd ZdS )SendMessageRequestl   E0 r   Nr   r    r*   r&   r   r3   r`  r^  r  r  r~  r  r  r_  r  r  r   ra  rb  rn  r  r  rB  c                 C   s   || _ || _|| _|| _|| _|| _|| _|| _|	| _|
| _	|| _
|dk	rN|ntjtdddd| _|| _|| _|| _|| _|| _|| _dS r  )r3   r`  r^  r  r  r~  r  r  r_  r  r  rT   r   r   r   r   ra  rb  rn  r  r  rB  )r7   r3   r`  r^  r  r  r~  r  r  r_  r  r  r   ra  rb  rn  r  r  rB  r8   r8   r9   r:     s$    $zSendMessageRequest.__init__c                    s>   | || jI d H | _| jr:| || jI d H | _d S r^   r?  rb   r8   r8   r9   re     s    zSendMessageRequest.resolvec                 C   s   dt | jtr| j n| j| j| j| j| j| j| j	| j
| j| jt | jtrV| j n| j| jt | jtrt| j n| j| jd krg ndd | jD | jt | jtr| j n| jt | jtr| j n| j| jdS )Nr  c                 S   s"   g | ]}t |tr| n|qS r8   r   r   r8   r8   r9   r     s     z.SendMessageRequest.to_dict.<locals>.<listcomp>)r;   r3   r`  r^  r  r  r~  r  r  r_  r  r  r   ra  rb  rn  r  r  rB  )r<   r3   r   r=   r`  r^  r  r  r~  r  r  r_  r  r  r   ra  rb  rn  r  r  rB  r>   r8   r8   r9   r=     s(    zSendMessageRequest.to_dictc                 C   s  d dtd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | jd ksV| jdkrZdndB | jd ksr| jdkrvdnd	B | jd ks| jdkrdnd
B | jd ks| jdkrdndB | j	d ks| j	dkrdndB | j
d ks| j
dkrdndB | jd ks| jdkrdndB | jd ks"| jdkr&dndB | jd ksB| jdkrFdndB | jd ksb| jdkrfd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d ks| jdkrdn| j | | jtd| j| jd ks&| jdkr*dn| j | jd ksJ| jdkrNdn.d dtdt| jd dd | jD f| jd ks| jdkrdn
| | j| jd ks| jdkrdn| j | jd ks| jdkrdn| j | jd ks| jdkrdntd| jfS )Nr?   s   E?rg   Fr   ri   rz  r  r)  rf  rq  rd  r  rh   rj   r  r  r  rr  r  r@   r   rk   c                 s   s   | ]}|  V  qd S r^   r   r   r8   r8   r9   r     s     z,SendMessageRequest._bytes.<locals>.<genexpr>)rA   rD   rE   r^  r  r  r~  r  r  r_  r  r  ra  rb  rn  r  r  rB  r3   rB   rC   r`  r   r   r  r>   r8   r8   r9   rB     s     $
$J&$$(zSendMessageRequest._bytesc                 C   st  |  }t|d@ }t|d@ }t|d@ }t|d@ }t|d@ }t|d@ }t|d@ }	t|d@ }
| }|d	@ r| }nd }| }| }|d
@ r| }nd }|d@ r|   g }t|  D ]}| }|| qnd }|d@ r| }nd }|d@ r| }nd }|d@ r,| }nd }|d@ rD| }nd }| |||||||||	|
||||||||dS )Nri   rz  r  r)  rf  rq  rd  r  rh   rj   r  r  r  rr  r  r  r  )rI   rJ   rq   rg  r  r  r  r  r  rh  r  rK   r  ri  r   rj  rk  r;   r   rs  r  r  rC  r8   r8   r9   rL     sL    








zSendMessageRequest.from_reader)NNNNNNNNNNNNNNNNr  r8   r8   r8   r9   r    s   r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	 dd	d
Z
dd Zdd Zdd Zedd ZdS )SendMultiMediaRequestiUC7r   Nr   r!   r    r   r3   multi_mediar  r  r~  r  r  r_  r  r  rn  r  r  rB  c                 C   sX   || _ || _|| _|| _|| _|| _|| _|| _|	| _|
| _	|| _
|| _|| _|| _dS r   r  )r7   r3   r  r  r  r~  r  r  r_  r  r  rn  r  r  rB  r8   r8   r9   r:   9  s    zSendMultiMediaRequest.__init__c                    s>   | || jI d H | _| jr:| || jI d H | _d S r^   r?  rb   r8   r8   r9   re   L  s    zSendMultiMediaRequest.resolvec                 C   s   dt | jtr| 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 n| j| jt | jtr| j n| jt | jtr| j n| j| jdS )Nr  c                 S   s"   g | ]}t |tr| n|qS r8   r   r   r8   r8   r9   r   U  s     z1SendMultiMediaRequest.to_dict.<locals>.<listcomp>)r;   r3   r  r  r  r~  r  r  r_  r  r  rn  r  r  rB  )r<   r3   r   r=   r  r  r  r~  r  r  r_  r  r  rn  r  r  rB  r>   r8   r8   r9   r=   Q  s     zSendMultiMediaRequest.to_dictc                 C   sZ  d dtd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | jd ksV| jdkrZdndB | jd ksr| jdkrvdnd	B | jd ks| jdkrdnd
B | jd ks| jdkrdndB | j	d ks| j	dkrdndB | j
d ks| j
dkrdndB | jd ks| jdkrdndB | jd ks"| jdkr&dndB | jd ksB| jdkrFdndB | jd ksb| jdkrfdndB | j | j
d ks| j
dkrdn| j
 dtdt| jd dd | jD | jd ks| jdkrdn
| | j| jd ks| jdkr dn| j | jd ks | jdkr$dn| j | jd ksD| jdkrHdntd| jfS )Nr?   s   UC7rg   Fr   rz  r  r)  rf  rq  rd  r  rh   r  r  rr  r  r   rk   c                 s   s   | ]}|  V  qd S r^   r   r   r8   r8   r9   r   j  s     z/SendMultiMediaRequest._bytes.<locals>.<genexpr>r@   )rA   rD   rE   r  r  r~  r  r  r_  r  r  rn  r  r  rB  r3   rB   r   r  r  r>   r8   r8   r9   rB   d  s     g$  &$$(zSendMultiMediaRequest._bytesc                 C   s&  |  }t|d@ }t|d@ }t|d@ }t|d@ }t|d@ }t|d@ }t|d@ }	| }
|d@ rv| }nd }|   g }t|  D ]}| }|| q|d	@ r| }nd }|d
@ r| }nd }|d@ r| }nd }|d@ r| }nd }| |
||||||||	|||||dS )Nrz  r  r)  rf  rq  rd  r  rh   r  r  rr  r  r  )rn   ro   rF   r   r   r  rH   )rI   rJ   rq   r  r  r  r  r  rh  r  rK   r  Z_multi_mediar;   r   rs  r  r  rC  r8   r8   r9   rL   q  s<    




z!SendMultiMediaRequest.from_reader)NNNNNNNNNNNN)rN   rO   rP   rQ   rR   r   r   ro   r	   rT   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   r  5  s   ^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˻Xr   Nr   r(   r3   rZ   countr   privatec                 C   s@   || _ || _|| _|dk	r|ntjtdddd| _|| _dS r  )	r3   rZ   r  rT   r   r   r   r   r  )r7   r3   rZ   r  r   r  r8   r8   r9   r:     s
    $z SendPaidReactionRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re     s    zSendPaidReactionRequest.resolvec                 C   sH   dt | jtr| j n| j| j| j| jt | jtr>| j n| jdS )Nr  )r;   r3   rZ   r  r   r  )r<   r3   r   r=   rZ   r  r   r  r>   r8   r8   r9   r=     s    zSendPaidReactionRequest.to_dictc                 C   sz   d dtd| jd ks | jdkr$dnd| j td| jtd| jtd| j| jd ksh| jdkrldn| j fS )	Nr?   s   P˻Xrg   Fr   rh   rk   r@   )	rA   rD   rE   r  r3   rB   rZ   r  r   r>   r8   r8   r9   rB     s    " zSendPaidReactionRequest._bytesc                 C   sP   |  }| }|  }|  }| }|d@ r:| }nd }| |||||dS )Nrh   r  r  )rI   rJ   rq   rK   rs   _countr   _privater8   r8   r9   rL     s    
z#SendPaidReactionRequest.from_reader)NNr  r8   r8   r8   r9   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ulr   Nr   r3   r  r  r   c                 C   s:   || _ || _|| _|dk	r|ndd tt|D | _dS )r   Nc                 S   s"   g | ]}t jtd dddqS r  r  r  r8   r8   r9   r     s     z:SendQuickReplyMessagesRequest.__init__.<locals>.<listcomp>)r3   r  r  r   r   r   )r7   r3   r  r  r   r8   r8   r9   r:     s    z&SendQuickReplyMessagesRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re     s    z%SendQuickReplyMessagesRequest.resolvec                 C   sZ   dt | jtr| j n| j| j| jd kr.g n| jd d  | jd krHg n| jd d  dS )Nr  )r;   r3   r  r  r   )r<   r3   r   r=   r  r  r   r>   r8   r8   r9   r=     s    z%SendQuickReplyMessagesRequest.to_dictc                 C   sl   d d| j td| jdtdt| jd dd | jD dtdt| jd dd | jD f	S )Nr?   s   ulrk   r   c                 s   s   | ]}t d |V  qdS r  r  r   r8   r8   r9   r     s     z7SendQuickReplyMessagesRequest._bytes.<locals>.<genexpr>c                 s   s   | ]}t d |V  qdS r  r  r   r8   r8   r9   r     s     )	rA   r3   rB   rD   rE   r  r   r  r   r>   r8   r8   r9   rB     s        z$SendQuickReplyMessagesRequest._bytesc                 C   s   |  }| }|  g }t| D ]}| }|| q(|  g }t| D ]}| }|| qX| ||||dS )Nr  )rF   rn   r   r   rH   )rI   rJ   rK   r  r  r;   r   r   r8   r8   r9   rL     s    z)SendQuickReplyMessagesRequest.from_reader)Nrq  r8   r8   r8   r9   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& r   Nr   r)   r3   rZ   r   add_to_recentrR  c                 C   s"   || _ || _|| _|| _|| _dS r   r  )r7   r3   rZ   r   r  rR  r8   r8   r9   r:     s
    zSendReactionRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re     s    zSendReactionRequest.resolvec                 C   sJ   dt | jtr| 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| n|qS r8   r   r   r8   r8   r9   r     s     z/SendReactionRequest.to_dict.<locals>.<listcomp>)r;   r3   rZ   r   r  rR  )r<   r3   r   r=   rZ   r   r  rR  r>   r8   r8   r9   r=     s    zSendReactionRequest.to_dictc                 C   s   d dtd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | jd ksV| jdkrZdndB | j td	| j| jd ks| jdkrdn.d d
td	t	| jd dd | jD ffS )Nr?   s   xrg   Fr   ri   rj   rh   rk   r   c                 s   s   | ]}|  V  qd S r^   r   r   r8   r8   r9   r   %  s     z-SendReactionRequest._bytes.<locals>.<genexpr>)
rA   rD   rE   r   r  rR  r3   rB   rZ   r   r>   r8   r8   r9   rB     s    ZFzSendReactionRequest._bytesc           
      C   s   |  }t|d@ }t|d@ }| }|  }|d@ rj|   g }t|  D ]}| }	||	 qPnd }| |||||dS )Nri   rj   rh   r  r  )
rI   rJ   rq   Z_bigZ_add_to_recentrK   rs   rS  r;   r   r8   r8   r9   rL   (  s    zSendReactionRequest.from_reader)NNN)rN   rO   rP   rQ   rR   rT   r   ro   r   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   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 r   r   r&  c                 C   s   || _ || _dS r   r&  r'  r8   r8   r9   r:   @  s    z%SendScheduledMessagesRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   G  s    z$SendScheduledMessagesRequest.resolvec                 C   s<   dt | jtr| j n| j| jd kr*g n| jd d  dS )Nr  r(  r)  r>   r8   r8   r9   r=   J  s    z$SendScheduledMessagesRequest.to_dictc              
   C   s:   d d| j dtdt| jd dd | jD fS )Nr?   s   
8r   rk   c                 s   s   | ]}t d |V  qdS r  r  r   r8   r8   r9   r   U  s     z6SendScheduledMessagesRequest._bytes.<locals>.<genexpr>r*  r>   r8   r8   r9   rB   Q  s      z#SendScheduledMessagesRequest._bytesc                 C   sD   |  }|  g }t| D ]}| }|| q | ||dS r+  r,  r-  r8   r8   r9   rL   X  s    z(SendScheduledMessagesRequest.from_readerNr.  r8   r8   r8   r9   r  <  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 r   Nr   r    r3   r  r   c                 C   s4   || _ || _|dk	r|ntjtdddd| _dS r  )r3   r  rT   r   r   r   r   )r7   r3   r  r   r8   r8   r9   r:   h  s    z*SendScreenshotNotificationRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   p  s    z)SendScreenshotNotificationRequest.resolvec                 C   s@   dt | jtr| j n| jt | jtr2| j n| j| jdS )Nr  )r;   r3   r  r   )r<   r3   r   r=   r  r   r>   r8   r8   r9   r=   s  s
    z)SendScreenshotNotificationRequest.to_dictc              	   C   s(   d d| j | j td| jfS )Nr?   s   X@r@   )rA   r3   rB   r  rD   rE   r   r>   r8   r8   r9   rB   {  s    z(SendScreenshotNotificationRequest._bytesc                 C   s&   |  }|  }| }| |||dS )Nr  r  )rI   rJ   rK   r  r   r8   r8   r9   rL     s    z-SendScreenshotNotificationRequest.from_reader)Nr   r8   r8   r8   r9   r  d  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r   r   r3   rZ   optionsc                 C   s   || _ || _|| _dS r   r  )r7   r3   rZ   r  r8   r8   r9   r:     s    zSendVoteRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re     s    zSendVoteRequest.resolvec                 C   s@   dt | jtr| j n| j| j| jd kr.g n| jd d  dS )Nr  )r;   r3   rZ   r  )r<   r3   r   r=   rZ   r  r>   r8   r8   r9   r=     s
    zSendVoteRequest.to_dictc                    sJ   d d j td jdtdt jd  fdd jD fS )Nr?   s   ark   r   c                 3   s   | ]}  |V  qd S r^   r  r   r>   r8   r9   r     s     z)SendVoteRequest._bytes.<locals>.<genexpr>)rA   r3   rB   rD   rE   rZ   r   r  r>   r8   r>   r9   rB     s      zSendVoteRequest._bytesc                 C   sN   |  }| }|  g }t| D ]}| }|| q(| |||dS )Nr  )rF   rn   r   rG   r   )rI   rJ   rK   rs   Z_optionsr;   r   r8   r8   r9   rL     s    zSendVoteRequest.from_readerN)rN   rO   rP   rQ   rR   rT   r   rS   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   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 r   Nr$   r  button_textr  r   c                 C   s:   || _ || _|| _|dk	r|ntjtdddd| _dS r  )r  r  r  rT   r   r   r   r   )r7   r  r  r  r   r8   r8   r9   r:     s    zSendWebViewDataRequest.__init__c                    s   | || jI d H | _d S r^   r  rb   r8   r8   r9   re     s    zSendWebViewDataRequest.resolvec                 C   s.   dt | jtr| j n| j| j| j| jdS )Nr  )r;   r  r  r  r   )r<   r  r   r=   r  r  r   r>   r8   r8   r9   r=     s    zSendWebViewDataRequest.to_dictc              	   C   s4   d d| j td| j| | j| | jfS )Nr?   s   Br@   )	rA   r  rB   rD   rE   r   rC   r  r  r>   r8   r8   r9   rB     s    

zSendWebViewDataRequest._bytesc                 C   s0   |  }| }| }| }| ||||dS )Nr  rF   rH   rp   )rI   rJ   r  r   Z_button_textr  r8   r8   r9   rL     s
    z"SendWebViewDataRequest.from_reader)NrN   rO   rP   rQ   rR   rv   rT   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   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_idrJ  c                 C   s   || _ || _dS )zN
        :returns WebViewMessageSent: Instance of WebViewMessageSent.
        Nr  )r7   r  rJ  r8   r8   r9   r:     s    z(SendWebViewResultMessageRequest.__init__c                 C   s&   d| j t| jtr| j n| jdS )Nr  )r;   r  rJ  )r  r<   rJ  r   r=   r>   r8   r8   r9   r=     s    z'SendWebViewResultMessageRequest.to_dictc                 C   s   d d| | j| j fS )Nr?   s   C
)rA   rC   r  rJ  rB   r>   r8   r8   r9   rB     s
    
z&SendWebViewResultMessageRequest._bytesc                 C   s   |  }| }| ||dS )Nr  )rp   rF   )rI   rJ   Z_bot_query_idrL  r8   r8   r9   rL     s    z+SendWebViewResultMessageRequest.from_readerNr   r8   r8   r8   r9   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   
+ r   Nr  
cache_timealertr`  r\   c                 C   s"   || _ || _|| _|| _|| _dS r   r  )r7   r  r  r  r`  r\   r8   r8   r9   r:     s
    z$SetBotCallbackAnswerRequest.__init__c                 C   s   d| j | j| j| j| jdS )Nr  )r;   r  r  r  r`  r\   r  r>   r8   r8   r9   r=     s    z#SetBotCallbackAnswerRequest.to_dictc                 C   s   d dtd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | jd ksV| jdkrZdndB td	| j| jd ks| jdkrdn
| | j| jd ks| jdkrdn
| | jtd
| jfS )Nr?   s   
rg   Fr   ri   rh   rj   r@   rk   )	rA   rD   rE   r  r`  r\   r  rC   r  r>   r8   r8   r9   rB     s    Z""z"SetBotCallbackAnswerRequest._bytesc                 C   sb   |  }t|d@ }| }|d@ r.| }nd }|d@ rD| }nd }|  }| |||||dS )Nri   rh   rj   r  rn   ro   rH   rp   )rI   rJ   rq   Z_alertr  ri  ru   _cache_timer8   r8   r9   rL   $  s    

z'SetBotCallbackAnswerRequest.from_reader)NNNrN   rO   rP   rQ   rR   rT   r   ro   rv   r:   r=   rB   rU   rL   r8   r8   r8   r9   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	r   Nr  successerrorc                 C   s   || _ || _|| _dS r   r  )r7   r  r  r  r8   r8   r9   r:   :  s    z(SetBotPrecheckoutResultsRequest.__init__c                 C   s   d| j | j| jdS )Nr  )r;   r  r  r  r  r>   r8   r8   r9   r=   B  s
    z'SetBotPrecheckoutResultsRequest.to_dictc              	   C   sx   d dtd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB td| j| jd ksd| jdkrhdn
| | jfS )	Nr?   s   	rg   Fr   ri   rh   r@   )rA   rD   rE   r  r  r  rC   r>   r8   r8   r9   rB   J  s    >"z&SetBotPrecheckoutResultsRequest._bytesc                 C   s@   |  }t|d@ }| }|d@ r.| }nd }| |||dS )Nri   rh   r  r  )rI   rJ   rq   _successr  _errorr8   r8   r9   rL   R  s    
z+SetBotPrecheckoutResultsRequest.from_reader)NNr  r8   r8   r8   r9   r  6  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 r   Nr,   r  r  shipping_optionsc                 C   s   || _ || _|| _dS r   r  )r7   r  r  r  r8   r8   r9   r:   c  s    z%SetBotShippingResultsRequest.__init__c                 C   s,   d| j | j| jd krg ndd | jD dS )Nr  c                 S   s"   g | ]}t |tr| n|qS r8   r   r   r8   r8   r9   r   p  s     z8SetBotShippingResultsRequest.to_dict.<locals>.<listcomp>)r;   r  r  r  r  r>   r8   r8   r9   r=   k  s
    z$SetBotShippingResultsRequest.to_dictc                 C   s   d dtd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB td| j| jd ksd| jdkrhdn
| | j| jd ks| jdkrdn.d d	td
t| jd dd | jD ffS )Nr?   s   rrg   Fr   rh   ri   r@   r   rk   c                 s   s   | ]}|  V  qd S r^   r   r   r8   r8   r9   r   y  s     z6SetBotShippingResultsRequest._bytes.<locals>.<genexpr>)rA   rD   rE   r  r  r  rC   r   r>   r8   r8   r9   rB   s  s    >"Fz#SetBotShippingResultsRequest._bytesc                 C   sr   |  }| }|d@ r"| }nd }|d@ r`|   g }t|  D ]}| }|| qFnd }| |||dS )Nrh   ri   r  )rn   rH   rp   r   rF   r   )rI   rJ   rq   r  r  Z_shipping_optionsr;   r   r8   r8   r9   rL   |  s    
z(SetBotShippingResultsRequest.from_reader)NN)rN   rO   rP   rQ   rR   rT   r   rv   r   r:   r=   rB   rU   rL   r8   r8   r8   r9   r  _  s    	r  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   % r   Nr   r   r3   available_reactionsreactions_limitpaid_enabledc                 C   s   || _ || _|| _|| _dS r   r  )r7   r3   r  r  r  r8   r8   r9   r:     s    z)SetChatAvailableReactionsRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re     s    z(SetChatAvailableReactionsRequest.resolvec                 C   sD   dt | jtr| j n| jt | jtr2| j n| j| j| jdS )Nr  )r;   r3   r  r  r  )r<   r3   r   r=   r  r  r  r>   r8   r8   r9   r=     s    z(SetChatAvailableReactionsRequest.to_dictc              
   C   s   d dtd| jd ks | jdkr$dnd| jd kr4dndB | j | j | jd ks^| jdkrbdntd| j| jd kr|dn| jrd	nd
fS )Nr?   s   %Krg   Fr   rh   ri   rk   r;  r<  )rA   rD   rE   r  r  r3   rB   r  r>   r8   r8   r9   rB     s    4$z'SetChatAvailableReactionsRequest._bytesc                 C   sT   |  }| }| }|d@ r*|  }nd }|d@ r@| }nd }| ||||dS )Nrh   ri   r  )rn   rF   r=  )rI   rJ   rq   rK   Z_available_reactionsZ_reactions_limitZ_paid_enabledr8   r8   r9   rL     s    

z,SetChatAvailableReactionsRequest.from_reader)NN)rN   rO   rP   rQ   rR   r   rT   ro   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   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 )SetChatThemeRequestl   ?awL r   r   r3   r  c                 C   s   || _ || _dS r   r  )r7   r3   r  r8   r8   r9   r:     s    zSetChatThemeRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re     s    zSetChatThemeRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr  )r;   r3   r  )r<   r3   r   r=   r  r>   r8   r8   r9   r=     s    zSetChatThemeRequest.to_dictc                 C   s   d d| j | | jfS )Nr?   s   ?;)rA   r3   rB   rC   r  r>   r8   r8   r9   rB     s
    
zSetChatThemeRequest._bytesc                 C   s   |  }| }| ||dS )Nr  r   )rI   rJ   rK   r  r8   r8   r9   rL     s    zSetChatThemeRequest.from_readerNr   r8   r8   r8   r9   r    s   r  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 r   Nr   r%   r/   r3   for_bothrevert	wallpapersettingsr  c                 C   s(   || _ || _|| _|| _|| _|| _dS r   r  )r7   r3   r  r  r  r  r  r8   r8   r9   r:     s    z SetChatWallPaperRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re     s    zSetChatWallPaperRequest.resolvec                 C   sb   dt | jtr| j n| j| j| jt | jtr:| j n| jt | jtrT| j n| j| jdS )Nr  )r;   r3   r  r  r  r  r  )	r<   r3   r   r=   r  r  r  r  r  r>   r8   r8   r9   r=     s    zSetChatWallPaperRequest.to_dictc                 C   s
  d dtd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | jd ksV| jdkrZdndB | jd ksr| jdkrvdnd	B | jd ks| jdkrdnd
B | j	 | jd ks| jdkrdn| j	 | jd ks| jdkrdn| j	 | jd ks| jdkrdntd| jfS )Nr?   s   rg   Fr   r  rS  rh   rj   ri   rk   )
rA   rD   rE   r  r  r  r  r  r3   rB   r>   r8   r8   r9   rB      s      $zSetChatWallPaperRequest._bytesc           	      C   s~   |  }t|d@ }t|d@ }| }|d@ r:| }nd }|d@ rP| }nd }|d@ rf|  }nd }| ||||||dS )Nr  rS  rh   rj   ri   r  r  )	rI   rJ   rq   Z	_for_bothZ_revertrK   
_wallpaper	_settingsr  r8   r8   r9   rL      s    


z#SetChatWallPaperRequest.from_reader)NNNNN)rN   rO   rP   rQ   rR   r   ro   rT   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   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 )SetDefaultHistoryTTLRequestl   Ej= r   periodc                 C   s
   || _ dS r   r  )r7   r  r8   r8   r9   r:   )   s    z$SetDefaultHistoryTTLRequest.__init__c                 C   s   d| j dS )Nr  )r;   r  r  r>   r8   r8   r9   r=   /   s    z#SetDefaultHistoryTTLRequest.to_dictc                 C   s   d dtd| jfS )Nr?   s   Erk   )rA   rD   rE   r  r>   r8   r8   r9   rB   5   s    z"SetDefaultHistoryTTLRequest._bytesc                 C   s   |  }| |dS )Nr  r  )rI   rJ   _periodr8   r8   r9   rL   ;   s    z'SetDefaultHistoryTTLRequest.from_readerNr   r8   r8   r8   r9   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GOr   r)   rR  c                 C   s
   || _ dS r   r  )r7   rR  r8   r8   r9   r:   E   s    z"SetDefaultReactionRequest.__init__c                 C   s"   dt | jtr| j n| jdS )Nr  )r;   rR  )r<   rR  r   r=   r>   r8   r8   r9   r=   K   s    z!SetDefaultReactionRequest.to_dictc                 C   s   d d| j fS )Nr?   s   GO)rA   rR  rB   r>   r8   r8   r9   rB   Q   s    z SetDefaultReactionRequest._bytesc                 C   s   |  }| |dS )Nr  r   )rI   rJ   rS  r8   r8   r9   rL   W   s    z%SetDefaultReactionRequest.from_readerNr  r8   r8   r8   r9   r  A   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yr   r   r3   typingc                 C   s   || _ || _dS r   r  )r7   r3   r  r8   r8   r9   r:   a   s    z"SetEncryptedTypingRequest.__init__c                 C   s&   dt | jtr| j n| j| jdS )Nr  )r;   r3   r  )r<   r3   r   r=   r  r>   r8   r8   r9   r=   h   s    z!SetEncryptedTypingRequest.to_dictc                 C   s    d d| j | jrdndfS )Nr?   s   Qyr;  r<  )rA   r3   rB   r  r>   r8   r8   r9   rB   o   s
    z SetEncryptedTypingRequest._bytesc                 C   s   |  }| }| ||dS )Nr  r  )rI   rJ   rK   Z_typingr8   r8   r9   rL   v   s    z%SetEncryptedTypingRequest.from_readerNr  r8   r8   r8   r9   r  ]   s   r  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 r   Nr   r$   r3   r  r{   scoreedit_messager  c                 C   s(   || _ || _|| _|| _|| _|| _dS r   r  )r7   r3   r  r{   r  r  r  r8   r8   r9   r:      s    zSetGameScoreRequest.__init__c                    s8   | || jI d H | _||| jI d H | _d S r^   r2  rb   r8   r8   r9   re      s    zSetGameScoreRequest.resolvec                 C   sL   dt | jtr| j n| j| jt | jtr6| j n| j| j| j| jdS )Nr  )r;   r3   r  r{   r  r  r  )	r<   r3   r   r=   r  r{   r  r  r  r>   r8   r8   r9   r=      s    zSetGameScoreRequest.to_dictc                 C   sr   d dtd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | j td| j| j td| j	fS )	Nr?   s   rg   Fr   rh   ri   rk   )
rA   rD   rE   r  r  r3   rB   r  r{   r  r>   r8   r8   r9   rB      s    >zSetGameScoreRequest._bytesc           	      C   sT   |  }t|d@ }t|d@ }| }|  }| }|  }| ||||||dS )Nrh   ri   r  r  )	rI   rJ   rq   _edit_messager  rK   r  r   _scorer8   r8   r9   rL      s    zSetGameScoreRequest.from_reader)NNr   r8   r8   r8   r9   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 )SetHistoryTTLRequestl   _p r   r   r3   r  c                 C   s   || _ || _dS r   r  )r7   r3   r  r8   r8   r9   r:      s    zSetHistoryTTLRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re      s    zSetHistoryTTLRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr  )r;   r3   r  )r<   r3   r   r=   r  r>   r8   r8   r9   r=      s    zSetHistoryTTLRequest.to_dictc                 C   s    d d| j td| jfS )Nr?   s   _rk   )rA   r3   rB   rD   rE   r  r>   r8   r8   r9   rB      s
    zSetHistoryTTLRequest._bytesc                 C   s   |  }| }| ||dS )Nr  r   )rI   rJ   rK   r  r8   r8   r9   rL      s    z SetHistoryTTLRequest.from_readerNr   r8   r8   r8   r9   r     s   r  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 r   Nr   r   r   r  resultsr  galleryr  next_offset	switch_pmswitch_webviewc	           	      C   s4   || _ || _|| _|| _|| _|| _|| _|| _dS r   r  )	r7   r  r  r  r  r  r  r  r  r8   r8   r9   r:      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	 n| jt| j
trb| j
	 n| j
d	S )Nr  c                 S   s"   g | ]}t |tr| n|qS r8   r   r   r8   r8   r9   r      s     z6SetInlineBotResultsRequest.to_dict.<locals>.<listcomp>)	r;   r  r  r  r  r  r  r  r  )r  r  r  r  r  r  r<   r  r   r=   r  r>   r8   r8   r9   r=      s    z"SetInlineBotResultsRequest.to_dictc                 C   sF  d dtd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | jd ksV| jdkrZdndB | jd ksr| jdkrvdnd	B | jd ks| jdkrdnd
B td| jdtdt	| j
d dd | j
D td| j| jd ks| jdkrdn
| | j| jd ks| jdkrdn| j | jd ks4| jdkr8dn| j f
S )Nr?   s   rg   Fr   rh   ri   rj   r  rS  r@   r   rk   c                 s   s   | ]}|  V  qd S r^   r   r   r8   r8   r9   r      s     z4SetInlineBotResultsRequest._bytes.<locals>.<genexpr>)rA   rD   rE   r  r  r  r  r  r  r   r  r  rC   rB   r>   r8   r8   r9   rB      s      "$$z!SetInlineBotResultsRequest._bytesc              
   C   s   |  }t|d@ }t|d@ }| }|   g }t|  D ]}| }|| q@|  }	|d@ rr| }
nd }
|d@ r| }nd }|d@ r| }nd }| |||	|||
||dS )Nrh   ri   rj   r  rS  r  )rn   ro   rH   r   rF   r   rp   )rI   rJ   rq   Z_galleryr  r  Z_resultsr;   r   r  Z_next_offsetZ
_switch_pmZ_switch_webviewr8   r8   r9   rL      s(    


z&SetInlineBotResultsRequest.from_reader)NNNNN)rN   rO   rP   rQ   rR   rT   r   r   ro   rv   r:   r=   rB   rU   rL   r8   r8   r8   r9   r     s   6r  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r   Nr   r$   r  r{   r  r  r  c                 C   s"   || _ || _|| _|| _|| _dS r   r  )r7   r  r{   r  r  r  r8   r8   r9   r:    !  s
    z"SetInlineGameScoreRequest.__init__c                    s   | || jI d H | _d S r^   r~   rb   r8   r8   r9   re   *!  s    z!SetInlineGameScoreRequest.resolvec                 C   sH   dt | jtr| j n| jt | jtr2| j n| j| j| j| jdS )Nr  )r;   r  r{   r  r  r  )r<   r  r   r=   r{   r  r  r  r>   r8   r8   r9   r=   -!  s    z!SetInlineGameScoreRequest.to_dictc              
   C   sf   d dtd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | j | j td| jfS )	Nr?   s   drg   Fr   rh   ri   rk   )	rA   rD   rE   r  r  r  rB   r{   r  r>   r8   r8   r9   rB   7!  s    >z SetInlineGameScoreRequest._bytesc                 C   sJ   |  }t|d@ }t|d@ }| }| }|  }| |||||dS )Nrh   ri   r  r  )rI   rJ   rq   r  r  r  r   r  r8   r8   r9   rL   @!  s    z%SetInlineGameScoreRequest.from_reader)NNr   r8   r8   r8   r9   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 )SetTypingRequesti>Xr   Nr   r+   r3   actionr  c                 C   s   || _ || _|| _dS r   r  )r7   r3   r  r  r8   r8   r9   r:   P!  s    zSetTypingRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   X!  s    zSetTypingRequest.resolvec                 C   s@   dt | jtr| j n| jt | jtr2| j n| j| jdS )Nr  )r;   r3   r  r  )r<   r3   r   r=   r  r  r>   r8   r8   r9   r=   [!  s
    zSetTypingRequest.to_dictc              	   C   sb   d dtd| jd ks | jdkr$dnd| j | jd ksD| jdkrHdntd| j| j fS )Nr?   s   >Xrg   Fr   rh   rk   )rA   rD   rE   r  r3   rB   r  r>   r8   r8   r9   rB   c!  s    "$zSetTypingRequest._bytesc                 C   s<   |  }| }|d@ r"|  }nd }| }| |||dS )Nrh   r  r  )rI   rJ   rq   rK   r  _actionr8   r8   r9   rL   l!  s    
zSetTypingRequest.from_reader)Nr  r8   r8   r8   r9   r  L!  s   	r  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 r   Nr$   r   r  r3   r&  r   c                 C   s:   || _ || _|| _|dk	r|ntjtdddd| _dS r  )r  r3   r&  rT   r   r   r   r   )r7   r  r3   r&  r   r8   r8   r9   r:   }!  s    zStartBotRequest.__init__c                    s8   | || jI d H | _||| jI d H | _d S r^   rG  rb   r8   r8   r9   re   !  s    zStartBotRequest.resolvec                 C   sD   dt | jtr| j n| jt | jtr2| j n| j| j| jdS )Nr  )r;   r  r3   r&  r   )r<   r  r   r=   r3   r&  r   r>   r8   r8   r9   r=   !  s    zStartBotRequest.to_dictc              	   C   s2   d d| j | j td| j| | jfS )Nr?   s   xsr@   )	rA   r  rB   r3   rD   rE   r   rC   r&  r>   r8   r8   r9   rB   !  s    
zStartBotRequest._bytesc                 C   s0   |  }|  }| }| }| ||||dS )Nr  r  )rI   rJ   r  rK   r   r+  r8   r8   r9   rL   !  s
    zStartBotRequest.from_reader)Nr  r8   r8   r8   r9   r  y!  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 )StartHistoryImportRequestl   Ds{h r   r   r3   	import_idc                 C   s   || _ || _dS r   r  )r7   r3   r  r8   r8   r9   r:   !  s    z"StartHistoryImportRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   !  s    z!StartHistoryImportRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr  )r;   r3   r  )r<   r3   r   r=   r  r>   r8   r8   r9   r=   !  s    z!StartHistoryImportRequest.to_dictc                 C   s    d d| j td| jfS )Nr?   s   D=r@   )rA   r3   rB   rD   rE   r  r>   r8   r8   r9   rB   !  s
    z StartHistoryImportRequest._bytesc                 C   s   |  }| }| ||dS )Nr  r  )rI   rJ   rK   
_import_idr8   r8   r9   rL   !  s    z%StartHistoryImportRequest.from_readerNr   r8   r8   r8   r9   r  !  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 )ToggleBotInAttachMenuRequestiiir   Nr$   r  enabledrY   c                 C   s   || _ || _|| _dS r   r  )r7   r  r  rY   r8   r8   r9   r:   !  s    z%ToggleBotInAttachMenuRequest.__init__c                    s   | || jI d H | _d S r^   r  rb   r8   r8   r9   re   !  s    z$ToggleBotInAttachMenuRequest.resolvec                 C   s*   dt | jtr| j n| j| j| jdS )Nr  )r;   r  r  rY   )r<   r  r   r=   r  rY   r>   r8   r8   r9   r=   !  s
    z$ToggleBotInAttachMenuRequest.to_dictc                 C   sB   d dtd| jd ks | jdkr$dnd| j | jr:dndfS )	Nr?   s   iirg   Fr   rh   r;  r<  )rA   rD   rE   rY   r  rB   r  r>   r8   r8   r9   rB   !  s    "z#ToggleBotInAttachMenuRequest._bytesc                 C   s2   |  }t|d@ }| }| }| |||dS )Nrh   r  rO  )rI   rJ   rq   rr   r  _enabledr8   r8   r9   rL   !  s
    z(ToggleBotInAttachMenuRequest.from_reader)NrP  r8   r8   r8   r9   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 )ToggleDialogFilterTagsRequestl   IZ[z r   r  c                 C   s
   || _ dS r   r  )r7   r  r8   r8   r9   r:   !  s    z&ToggleDialogFilterTagsRequest.__init__c                 C   s   d| j dS )Nr  )r;   r  r  r>   r8   r8   r9   r=   !  s    z%ToggleDialogFilterTagsRequest.to_dictc                 C   s   d d| jrdndfS )Nr?   s   I-r;  r<  )rA   r  r>   r8   r8   r9   rB   "  s    z$ToggleDialogFilterTagsRequest._bytesc                 C   s   |  }| |dS )Nr  )r=  )rI   rJ   r  r8   r8   r9   rL   "  s    z)ToggleDialogFilterTagsRequest.from_readerNr  r8   r8   r8   r9   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 )ToggleDialogPinRequestl   WbcN r   Nr   r3   pinnedc                 C   s   || _ || _dS r   r  r7   r3   r  r8   r8   r9   r:   "  s    zToggleDialogPinRequest.__init__c                    s   | | jI d H | _d S r^   r  rb   r8   r8   r9   re   "  s    zToggleDialogPinRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr  r;   r3   r  r<   r3   r   r=   r  r>   r8   r8   r9   r=   "  s    zToggleDialogPinRequest.to_dictc                 C   s6   d dtd| jd ks | jdkr$dnd| j fS )Nr?   s   W1rg   Fr   rh   rA   rD   rE   r  r3   rB   r>   r8   r8   r9   rB   ""  s
    "zToggleDialogPinRequest._bytesc                 C   s(   |  }t|d@ }| }| ||dS Nrh   r  r  rI   rJ   rq   _pinnedrK   r8   r8   r9   rL   )"  s    z"ToggleDialogPinRequest.from_reader)Nr  r8   r8   r8   r9   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 r   r   r3   r  c                 C   s   || _ || _dS r   r  )r7   r3   r  r8   r8   r9   r:   6"  s    z ToggleNoForwardsRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   ="  s    zToggleNoForwardsRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr  )r;   r3   r  )r<   r3   r   r=   r  r>   r8   r8   r9   r=   @"  s    zToggleNoForwardsRequest.to_dictc                 C   s    d d| j | jrdndfS )Nr?   s   r;  r<  )rA   r3   rB   r  r>   r8   r8   r9   rB   G"  s
    zToggleNoForwardsRequest._bytesc                 C   s   |  }| }| ||dS )Nr  r  )rI   rJ   rK   r  r8   r8   r9   rL   N"  s    z#ToggleNoForwardsRequest.from_readerNr  r8   r8   r8   r9   r  2"  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 ) TogglePaidReactionPrivacyRequestiXCr   r   r(   r3   rZ   r  c                 C   s   || _ || _|| _dS r   r  )r7   r3   rZ   r  r8   r8   r9   r:   Y"  s    z)TogglePaidReactionPrivacyRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   a"  s    z(TogglePaidReactionPrivacyRequest.resolvec                 C   s@   dt | jtr| j n| j| jt | jtr6| j n| jdS )Nr  )r;   r3   rZ   r  )r<   r3   r   r=   rZ   r  r>   r8   r8   r9   r=   d"  s
    z(TogglePaidReactionPrivacyRequest.to_dictc                 C   s(   d d| j td| j| j fS )Nr?   s   XCrk   )rA   r3   rB   rD   rE   rZ   r  r>   r8   r8   r9   rB   l"  s    z'TogglePaidReactionPrivacyRequest._bytesc                 C   s&   |  }| }|  }| |||dS )Nr  r   )rI   rJ   rK   rs   r  r8   r8   r9   rL   t"  s    z,TogglePaidReactionPrivacyRequest.from_readerNr   r8   r8   r8   r9   r  U"  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 r   Nr   r3   disabledc                 C   s   || _ || _dS r   r  )r7   r3   r   r8   r8   r9   r:   "  s    z&TogglePeerTranslationsRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   "  s    z%TogglePeerTranslationsRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr  )r;   r3   r   )r<   r3   r   r=   r   r>   r8   r8   r9   r=   "  s    z%TogglePeerTranslationsRequest.to_dictc                 C   s6   d dtd| jd ks | jdkr$dnd| j fS )Nr?   s   y|rg   Fr   rh   )rA   rD   rE   r   r3   rB   r>   r8   r8   r9   rB   "  s
    "z$TogglePeerTranslationsRequest._bytesc                 C   s(   |  }t|d@ }| }| ||dS )Nrh   r  r  )rI   rJ   rq   Z	_disabledrK   r8   r8   r9   rL   "  s    z)TogglePeerTranslationsRequest.from_reader)Nr  r8   r8   r8   r9   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 r   Nr   r  c                 C   s   || _ || _dS r   r  r  r8   r8   r9   r:   "  s    z$ToggleSavedDialogPinRequest.__init__c                    s   | | jI d H | _d S r^   r  rb   r8   r8   r9   re   "  s    z#ToggleSavedDialogPinRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr  r  r  r>   r8   r8   r9   r=   "  s    z#ToggleSavedDialogPinRequest.to_dictc                 C   s6   d dtd| jd ks | jdkr$dnd| j fS )Nr?   s   ޻rg   Fr   rh   r  r>   r8   r8   r9   rB   "  s
    "z"ToggleSavedDialogPinRequest._bytesc                 C   s(   |  }t|d@ }| }| ||dS r  r  r  r8   r8   r9   rL   "  s    z'ToggleSavedDialogPinRequest.from_reader)Nr  r8   r8   r8   r9   r  "  s   r  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 r   Nr"   stickersets	uninstallarchive	unarchivec                 C   s   || _ || _|| _|| _dS r   r  )r7   r  r  r  r  r8   r8   r9   r:   "  s    z!ToggleStickerSetsRequest.__init__c                 C   s0   d| j d krg ndd | j D | j| j| jdS )Nr  c                 S   s"   g | ]}t |tr| n|qS r8   r   r   r8   r8   r9   r   "  s     z4ToggleStickerSetsRequest.to_dict.<locals>.<listcomp>)r;   r  r  r  r  r  r>   r8   r8   r9   r=   "  s    z ToggleStickerSetsRequest.to_dictc              
   C   s   d dtd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | jd ksV| jdkrZdndB d	td
t| jd dd | jD fS )Nr?   s   /rg   Fr   rh   ri   rj   r   rk   c                 s   s   | ]}|  V  qd S r^   r   r   r8   r8   r9   r   "  s     z2ToggleStickerSetsRequest._bytes.<locals>.<genexpr>)rA   rD   rE   r  r  r  r   r  r>   r8   r8   r9   rB   "  s    Z  zToggleStickerSetsRequest._bytesc           	      C   sl   |  }t|d@ }t|d@ }t|d@ }|   g }t|  D ]}| }|| qD| ||||dS )Nrh   ri   rj   r  r  )	rI   rJ   rq   Z
_uninstallZ_archiveZ
_unarchiveZ_stickersetsr;   r   r8   r8   r9   rL   "  s    z$ToggleStickerSetsRequest.from_reader)NNN)rN   rO   rP   rQ   rR   r   r   ro   r:   r=   rB   rU   rL   r8   r8   r8   r9   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 )TranscribeAudioRequestiI&i6I!r   r   c                 C   s   || _ || _dS )zS
        :returns messages.TranscribedAudio: Instance of TranscribedAudio.
        Nr   r   r8   r8   r9   r:   "  s    zTranscribeAudioRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   "  s    zTranscribeAudioRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr  r   r   r>   r8   r8   r9   r=   #  s    zTranscribeAudioRequest.to_dictc                 C   s    d d| j td| jfS )Nr?   s   I&rk   r   r>   r8   r8   r9   rB   #  s
    zTranscribeAudioRequest._bytesc                 C   s   |  }| }| ||dS r   r   r   r8   r8   r9   rL   #  s    z"TranscribeAudioRequest.from_readerNr   r8   r8   r8   r9   r  "  s   r  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_langr3   r  rZ  c                 C   s   || _ || _|| _|| _dS )zP
        :returns messages.TranslatedText: Instance of TranslateResult.
        Nr
  )r7   r  r3   r  rZ  r8   r8   r9   r:   #  s    zTranslateTextRequest.__init__c                    s$   | j r ||| j I d H | _ d S r^   r_   rb   r8   r8   r9   re   ##  s    zTranslateTextRequest.resolvec                 C   s\   d| j t| jtr| j n| j| jd kr.g n| jd d  | jd krHg ndd | jD dS )Nr	  c                 S   s"   g | ]}t |tr| n|qS r8   r   r   r8   r8   r9   r   -#  s     z0TranslateTextRequest.to_dict.<locals>.<listcomp>)r;   r  r3   r  rZ  )r  r<   r3   r   r=   r  rZ  r>   r8   r8   r9   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dtd| j d ksp| j dkrtdnd| jd ks| jdkrdndB | jd ks| jdkrdndB | j d ks| j dkrdn| j  | jd ks| jdkrdn.dd	td
t| jddd | jD f| jd ks.| jdkr2dn.dd	td
t| jddd | jD f| 	| j
fS )NFzDpeer, id parameters must all be False-y (like None) or all me True-yr?   s   00crg   r   rh   ri   r   rk   c                 s   s   | ]}t d |V  qdS r  r  r   r8   r8   r9   r   6#  s     z.TranslateTextRequest._bytes.<locals>.<genexpr>c                 s   s   | ]}|  V  qd S r^   r   r   r8   r8   r9   r   7#  s     )r3   r  rl   rA   rD   rE   rZ  rB   r   rC   r  r>   r8   r8   r9   rB   0#  s    PZ FJ
zTranslateTextRequest._bytesc           	      C   s   |  }|d@ r| }nd }|d@ rX|   g }t|  D ]}|  }|| q>nd }|d@ r|   g }t|  D ]}| }|| q|nd }| }| ||||dS )Nrh   ri   r
  )rn   rF   r   r   rp   )	rI   rJ   rq   rK   r  r;   r   r[  Z_to_langr8   r8   r9   rL   ;#  s(    
z TranslateTextRequest.from_reader)NNN)rN   rO   rP   rQ   rR   rv   r   r   rT   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   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 )UninstallStickerSetRequestl   Ur r   r"   r  c                 C   s
   || _ dS r   r  )r7   r  r8   r8   r9   r:   ]#  s    z#UninstallStickerSetRequest.__init__c                 C   s"   dt | jtr| j n| jdS )Nr  )r;   r  )r<   r  r   r=   r>   r8   r8   r9   r=   c#  s    z"UninstallStickerSetRequest.to_dictc                 C   s   d d| j fS )Nr?   s   Un)rA   r  rB   r>   r8   r8   r9   rB   i#  s    z!UninstallStickerSetRequest._bytesc                 C   s   |  }| |dS )Nr  r   )rI   rJ   r  r8   r8   r9   rL   o#  s    z&UninstallStickerSetRequest.from_readerNr  r8   r8   r8   r9   r  Y#  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 )UnpinAllMessagesRequestl   9E\ r   Nr   r  c                 C   s   || _ || _dS r  r  r  r8   r8   r9   r:   y#  s    z UnpinAllMessagesRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   #  s    zUnpinAllMessagesRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr  r  r  r>   r8   r8   r9   r=   #  s    zUnpinAllMessagesRequest.to_dictc              	   C   sZ   d dtd| jd ks | jdkr$dnd| j | jd ksD| jdkrHdntd| jfS )Nr?   s   "rg   Fr   rh   rk   r  r>   r8   r8   r9   rB   #  s    "$zUnpinAllMessagesRequest._bytesc                 C   s2   |  }| }|d@ r"|  }nd }| ||dS r  r  r  r8   r8   r9   rL   #  s    
z#UnpinAllMessagesRequest.from_reader)Nr  r8   r8   r8   r9   r  u#  s   r  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r   Nr   r  r  c                 C   s   || _ || _dS r   r  )r7   r  r  r8   r8   r9   r:   #  s    z"UpdateDialogFilterRequest.__init__c                 C   s&   d| j t| jtr| j n| jdS )Nr  )r;   r  r  )r  r<   r  r   r=   r>   r8   r8   r9   r=   #  s    z!UpdateDialogFilterRequest.to_dictc                 C   sZ   d dtd| jd ks | jdkr$dndtd| j| jd ksH| jdkrLdn| j fS )Nr?   s   Jrg   Fr   rh   rk   )rA   rD   rE   r  r  rB   r>   r8   r8   r9   rB   #  s    " z UpdateDialogFilterRequest._bytesc                 C   s2   |  }|  }|d@ r"| }nd }| ||dS )Nrh   r  r  )rI   rJ   rq   r  r  r8   r8   r9   rL   #  s    
z%UpdateDialogFilterRequest.from_reader)N)rN   rO   rP   rQ   rR   rT   r   r:   r=   rB   rU   rL   r8   r8   r8   r9   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 )UpdateDialogFiltersOrderRequestl   A
 r   r
  c                 C   s
   || _ dS r   r
  r  r8   r8   r9   r:   #  s    z(UpdateDialogFiltersOrderRequest.__init__c                 C   s"   d| j d krg n| j d d  dS )Nr  r  r
  r>   r8   r8   r9   r=   #  s    z'UpdateDialogFiltersOrderRequest.to_dictc              	   C   s2   d ddtdt| jd dd | jD fS )Nr?   s   cr   rk   c                 s   s   | ]}t d |V  qdS r  r  r   r8   r8   r9   r   #  s     z9UpdateDialogFiltersOrderRequest._bytes.<locals>.<genexpr>r  r>   r8   r8   r9   rB   #  s      z&UpdateDialogFiltersOrderRequest._bytesc                 C   s:   |   g }t|  D ]}|  }|| q| |dS r  r  r  r8   r8   r9   rL   #  s    z+UpdateDialogFiltersOrderRequest.from_readerNr  r8   r8   r8   r9   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Zdd	 Z	d
d Z
dd Zedd ZdS )UpdatePinnedMessageRequestl   wU% r   Nr   r3   r  r  unpin
pm_onesidec                 C   s"   || _ || _|| _|| _|| _dS r   r  )r7   r3   r  r  r  r  r8   r8   r9   r:   #  s
    z#UpdatePinnedMessageRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   #  s    z"UpdatePinnedMessageRequest.resolvec                 C   s2   dt | jtr| j n| j| j| j| j| jdS )Nr  )r;   r3   r  r  r  r  )r<   r3   r   r=   r  r  r  r  r>   r8   r8   r9   r=   #  s    z"UpdatePinnedMessageRequest.to_dictc              	   C   sz   d dtd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | jd ksV| jdkrZdndB | j td	| jfS )
Nr?   s   rg   Fr   rh   ri   rj   rk   )	rA   rD   rE   r  r  r  r3   rB   r  r>   r8   r8   r9   rB    $  s    Zz!UpdatePinnedMessageRequest._bytesc                 C   sN   |  }t|d@ }t|d@ }t|d@ }| }|  }| |||||dS )Nrh   ri   rj   r  r  )rI   rJ   rq   r  Z_unpinZ_pm_onesiderK   r  r8   r8   r9   rL   $  s    z&UpdatePinnedMessageRequest.from_reader)NNNr   r8   r8   r8   r9   r  #  s   $

r  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})`r   Nr)   rR  r   c                 C   s   || _ || _dS r   r  )r7   rR  r   r8   r8   r9   r:   $  s    z&UpdateSavedReactionTagRequest.__init__c                 C   s&   dt | jtr| j n| j| jdS )Nr  )r;   rR  r   )r<   rR  r   r=   r   r>   r8   r8   r9   r=   $  s    z%UpdateSavedReactionTagRequest.to_dictc                 C   sX   d dtd| jd ks | jdkr$dnd| j | jd ksD| jdkrHdn
| | jfS )Nr?   s   })`rg   Fr   rh   )rA   rD   rE   r   rR  rB   rC   r>   r8   r8   r9   rB   &$  s    ""z$UpdateSavedReactionTagRequest._bytesc                 C   s2   |  }| }|d@ r"| }nd }| ||dS )Nrh   r  rH  )rI   rJ   rq   rS  r   r8   r8   r9   rL   .$  s    
z)UpdateSavedReactionTagRequest.from_reader)N)rN   rO   rP   rQ   rR   r   rv   r:   r=   rB   rU   rL   r8   r8   r8   r9   r  $  s   r  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   r3   r  c                 C   s   || _ || _dS )z_
        :returns EncryptedFile: Instance of either EncryptedFileEmpty, EncryptedFile.
        Nr  )r7   r3   r  r8   r8   r9   r:   >$  s    z#UploadEncryptedFileRequest.__init__c                 C   s<   dt | jtr| j n| jt | jtr2| j n| jdS )Nr  )r;   r3   r  )r<   r3   r   r=   r  r>   r8   r8   r9   r=   E$  s    z"UploadEncryptedFileRequest.to_dictc                 C   s   d d| j | j fS )Nr?   s   WP)rA   r3   rB   r  r>   r8   r8   r9   rB   L$  s
    z!UploadEncryptedFileRequest._bytesc                 C   s   |  }|  }| ||dS )Nr  r   )rI   rJ   rK   r  r8   r8   r9   rL   S$  s    z&UploadEncryptedFileRequest.from_readerNr  r8   r8   r8   r9   r  :$  s   r  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 *2lGr   r   r3   r  	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.
        Nr  )r7   r3   r  r  r   r8   r8   r9   r:   ^$  s    z#UploadImportedMediaRequest.__init__c                    s,   | || jI d H | _|| j| _d S r^   r`   ra   r3   rc  r   rb   r8   r8   r9   re   g$  s    z"UploadImportedMediaRequest.resolvec                 C   sD   dt | jtr| j n| j| j| jt | jtr:| j n| jdS )Nr  )r;   r3   r  r  r   )r<   r3   r   r=   r  r  r   r>   r8   r8   r9   r=   k$  s    z"UploadImportedMediaRequest.to_dictc                 C   s2   d d| j td| j| | j| j fS )Nr?   s    *r@   )	rA   r3   rB   rD   rE   r  rC   r  r   r>   r8   r8   r9   rB   t$  s    
z!UploadImportedMediaRequest._bytesc                 C   s0   |  }| }| }|  }| ||||dS )Nr  r  )rI   rJ   rK   r  
_file_namer   r8   r8   r9   rL   }$  s
    z&UploadImportedMediaRequest.from_readerN)rN   rO   rP   rQ   rR   rT   rv   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   r  Z$  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 )UploadMediaRequestixyr  Nr   r   r3   r   business_connection_idc                 C   s   || _ || _|| _dS r  r"  )r7   r3   r   r#  r8   r8   r9   r:   $  s    zUploadMediaRequest.__init__c                    s,   | || jI d H | _|| j| _d S r^   r  rb   r8   r8   r9   re   $  s    zUploadMediaRequest.resolvec                 C   s@   dt | jtr| j n| jt | jtr2| j n| j| jdS )Nr!  )r;   r3   r   r#  )r<   r3   r   r=   r   r#  r>   r8   r8   r9   r=   $  s
    zUploadMediaRequest.to_dictc                 C   s`   d dtd| jd ks | jdkr$dnd| jd ks<| jdkr@dn
| | j| j | j fS )Nr?   s   xyrg   Fr   rh   )rA   rD   rE   r#  rC   r3   rB   r   r>   r8   r8   r9   rB   $  s    ""zUploadMediaRequest._bytesc                 C   s<   |  }|d@ r| }nd }| }| }| |||dS )Nrh   r"  )rn   rp   rF   )rI   rJ   rq   Z_business_connection_idrK   r   r8   r8   r9   rL   $  s    
zUploadMediaRequest.from_reader)N)rN   rO   rP   rQ   rR   r   rv   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   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 )ViewSponsoredMessageRequesti:gr   Nr   r3   r   c                 C   s.   || _ |dk	r|ntjtdddd| _dS r   )r3   rT   r   r   r   r   )r7   r3   r   r8   r8   r9   r:   $  s    z$ViewSponsoredMessageRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   $  s    z#ViewSponsoredMessageRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr$  )r;   r3   r   )r<   r3   r   r=   r   r>   r8   r8   r9   r=   $  s    z#ViewSponsoredMessageRequest.to_dictc                 C   s   d d| j | | jfS )Nr?   s   :g)rA   r3   rB   rC   r   r>   r8   r8   r9   rB   $  s
    
z"ViewSponsoredMessageRequest._bytesc                 C   s   |  }| }| ||dS )Nr%  r  )rI   rJ   rK   r   r8   r8   r9   rL   $  s    z'ViewSponsoredMessageRequest.from_reader)Nr   r8   r8   r8   r9   r$  $  s   r$  (  __doc__tl.tlobjectr   r   r  r   r   r   r   r   rD   r	   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   rV   rw   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	  r  r  r  r  r!  r%  r/  r4  r8  r?  rC  rH  rK  rX  r\  rl  rt  rv  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.  r3  rB  rL  rN  rO  rP  rT  rU  rY  rZ  r]  r_  rb  rc  rd  re  rl  rm  ro  rq  rr  rv  rx  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  r  r  r  r  r  r!  r/  r2  r4  r8  r:  r=  r@  rD  rH  rM  rQ  rU  rV  rb  ri  rk  rl  rn  rr  rx  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$  r8   r8   r8   r9   <module>   s  $?',6)##:'%$4("#'## E'J] D#s) 7C!'! <#$ !#=(((;6##8#((, $#(#8#/' "?5;*#(;77   == +,*' %>+' !#)!)!2.!*0.('A'?G<\$O#2)p &N$&;5*.$X|ze558(',+ 4)24#= 5#G0-,#)%#'%%-#C)&!/& ,.