U
    Gwi                    @   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rd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/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5 G 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)d* d*eZFG d+d, d,eZGG d-d. d.eZHG d/d0 d0eZIG d1d2 d2eZJG d3d4 d4eZKG d5d6 d6eZLG d7d8 d8eZMG d9d: d:eZNG d;d< d<eZOG d=d> d>eZPG d?d@ d@eZQG dAdB dBeZRG dCdD dDeZSG dEdF dFeZTG dGdH dHeZUG dIdJ dJeZVG dKdL dLeZWG dMdN dNeZXG dOdP dPeZYG dQdR dReZZG dSdT dTeZ[G dUdV dVeZ\G dWdX dXeZ]G dYdZ dZeZ^G d[d\ d\eZ_G d]d^ d^eZ`G d_d` d`eZaG dadb dbeZbG dcdd ddeZcG dedf dfeZdG dgdh dheZeG didj djeZfG dkdl dleZgG dmdn dneZhG dodp dpeZiG dqdr dreZjG dsdt dteZkG dudv dveZlG dwdx dxeZmG dydz dzeZnG d{d| d|eZoG d}d~ d~eZpG dd 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 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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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TypeInputChatTheme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TypeSuggestedPostTypeTextWithEntitiesTypeTodoItem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.
        Nr5   )selfr6   r7   r8    r;   B/tmp/pip-unpacked-wheel-v4xsjwr6/telethon/tl/functions/messages.py__init__   s    z AcceptEncryptionRequest.__init__c                 C   s*   dt | jtr| j n| j| j| jdS )Nr3   )_r6   r7   r8   )
isinstancer6   r   to_dictr7   r8   r:   r;   r;   r<   r@      s
    zAcceptEncryptionRequest.to_dictc              	   C   s*   d d| j | | jtd| jfS )N    s   =<q)joinr6   _bytesserialize_bytesr7   structpackr8   rA   r;   r;   r<   rE   !   s    
zAcceptEncryptionRequest._bytesc                 C   s&   |  }| }| }| |||dS )Nr5   )tgread_objecttgread_bytes	read_long)clsreader_peerZ_g_bZ_key_fingerprintr;   r;   r<   from_reader)   s    z#AcceptEncryptionRequest.from_readerN__name__
__module____qualname__CONSTRUCTOR_IDSUBCLASS_OF_IDbytesintr=   r@   rE   classmethodrO   r;   r;   r;   r<   r3      s   r3   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_allowedr6   msg_id	button_idurlc                 C   s"   || _ || _|| _|| _|| _dS z
        :returns UrlAuthResult: Instance of either UrlAuthResultRequest, UrlAuthResultAccepted, UrlAuthResultDefault.
        Nr[   )r:   r\   r6   r]   r^   r_   r;   r;   r<   r=   5   s
    zAcceptUrlAuthRequest.__init__c                    s$   | j r ||| j I d H | _ d S Nr6   get_input_peerget_input_entityr:   clientutilsr;   r;   r<   resolve?   s    zAcceptUrlAuthRequest.resolvec                 C   s2   d| j t| jtr| j n| j| j| j| jdS )NrY   )r>   r\   r6   r]   r^   r_   )r\   r?   r6   r   r@   r]   r^   r_   rA   r;   r;   r<   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-yrB   s   %q,<Ir            <i)r6   r]   r^   AssertionErrorrD   rG   rH   r\   r_   rE   rF   rA   r;   r;   r<   rE   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 )Nrk   rl   rm   r[   read_intboolrI   tgread_string)rL   rM   flags_write_allowedrN   _msg_id
_button_id_urlr;   r;   r<   rO   X   s    



z AcceptUrlAuthRequest.from_reader)NNNNN)rQ   rR   rS   rT   rU   r   rr   rW   strr=   rh   r@   rE   rX   rO   r;   r;   r;   r<   rY   1   s   ,

rY   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.
        Nr|   )r:   r}   r~   r   r;   r;   r<   r=   t   s    zAddChatUserRequest.__init__c                    s   | || jI d H | _d S ra   get_input_userrd   r~   re   r;   r;   r<   rh   |   s    zAddChatUserRequest.resolvec                 C   s*   d| j t| jtr| j n| j| jdS )Nrz   )r>   r}   r~   r   )r}   r?   r~   r   r@   r   rA   r;   r;   r<   r@      s
    zAddChatUserRequest.to_dictc              	   C   s,   d dtd| j| j td| jfS )NrB   s   rC   rn   )rD   rG   rH   r}   r~   rE   r   rA   r;   r;   r<   rE      s    zAddChatUserRequest._bytesc                 C   s&   |  }| }| }| |||dS )Nr|   )rK   rI   rq   )rL   rM   _chat_id_user_idZ
_fwd_limitr;   r;   r<   rO      s    zAddChatUserRequest.from_readerNrQ   rR   rS   rT   rU   rW   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   rz   p   s   rz   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 )AppendTodoListRequestiW!   * r   r1   r6   r]   listc                 C   s   || _ || _|| _dS 
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        Nr   )r:   r6   r]   r   r;   r;   r<   r=      s    zAppendTodoListRequest.__init__c                    s   | || jI d H | _d S ra   rc   rd   r6   re   r;   r;   r<   rh      s    zAppendTodoListRequest.resolvec                 C   sB   dt | jtr| j n| 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 r;   r?   r   r@   .0xr;   r;   r<   
<listcomp>   s     z1AppendTodoListRequest.to_dict.<locals>.<listcomp>)r>   r6   r]   r   )r?   r6   r   r@   r]   r   rA   r;   r;   r<   r@      s
    zAppendTodoListRequest.to_dictc                 C   sF   d d| j td| jdtdt| jd dd | jD fS )NrB   s   W!rn      ĵc                 s   s   | ]}|  V  qd S ra   rE   r   r;   r;   r<   	<genexpr>   s     z/AppendTodoListRequest._bytes.<locals>.<genexpr>)rD   r6   rE   rG   rH   r]   lenr   rA   r;   r;   r<   rE      s      zAppendTodoListRequest._bytesc                 C   sN   |  }| }|  g }t| D ]}|  }|| q(| |||dS )Nr   rI   rq   rangeappend)rL   rM   rN   rv   Z_listr>   _xr;   r;   r<   rO      s    z!AppendTodoListRequest.from_readerNrQ   rR   rS   rT   rU   rW   r   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   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 )CheckChatInviteRequesti>i6Vhashc                 C   s
   || _ dS )zh
        :returns ChatInvite: Instance of either ChatInviteAlready, ChatInvite, ChatInvitePeek.
        Nr   r:   r   r;   r;   r<   r=      s    zCheckChatInviteRequest.__init__c                 C   s   d| j dS )Nr   r>   r   r   rA   r;   r;   r<   r@      s    zCheckChatInviteRequest.to_dictc                 C   s   d d| | jfS )NrB   s   >rD   rF   r   rA   r;   r;   r<   rE      s    
zCheckChatInviteRequest._bytesc                 C   s   |  }| |dS Nr   rs   rL   rM   _hashr;   r;   r<   rO      s    z"CheckChatInviteRequest.from_readerNrQ   rR   rS   rT   rU   ry   r=   r@   rE   rX   rO   r;   r;   r;   r<   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   )r:   r   r;   r;   r<   r=      s    z"CheckHistoryImportRequest.__init__c                 C   s   d| j dS )Nr   )r>   r   r   rA   r;   r;   r<   r@      s    z!CheckHistoryImportRequest.to_dictc                 C   s   d d| | jfS )NrB   s   C)rD   rF   r   rA   r;   r;   r<   rE      s    
z CheckHistoryImportRequest._bytesc                 C   s   |  }| |dS )Nr   r   )rL   rM   Z_import_headr;   r;   r<   rO      s    z%CheckHistoryImportRequest.from_readerNr   r;   r;   r;   r<   r      s   r   c                   @   sF   e Zd ZdZdZddddZdd Zd	d
 Zdd Ze	dd Z
dS )CheckHistoryImportPeerRequesti]l   73p r   r6   c                 C   s
   || _ dS )zc
        :returns messages.CheckedHistoryImportPeer: Instance of CheckedHistoryImportPeer.
        Nr   r:   r6   r;   r;   r<   r=      s    z&CheckHistoryImportPeerRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh     s    z%CheckHistoryImportPeerRequest.resolvec                 C   s"   dt | jtr| j n| jdS )Nr   r>   r6   r?   r6   r   r@   rA   r;   r;   r<   r@     s    z%CheckHistoryImportPeerRequest.to_dictc                 C   s   d d| j fS )NrB   s   ]rD   r6   rE   rA   r;   r;   r<   rE     s    z$CheckHistoryImportPeerRequest._bytesc                 C   s   |  }| |dS Nr   rI   rL   rM   rN   r;   r;   r<   rO     s    z)CheckHistoryImportPeerRequest.from_readerNrQ   rR   rS   rT   rU   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   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   )r:   r   r;   r;   r<   r=     s    z'CheckQuickReplyShortcutRequest.__init__c                 C   s   d| j dS )Nr   )r>   r   r   rA   r;   r;   r<   r@   $  s    z&CheckQuickReplyShortcutRequest.to_dictc                 C   s   d d| | jfS )NrB   s   )rD   rF   r   rA   r;   r;   r<   rE   *  s    
z%CheckQuickReplyShortcutRequest._bytesc                 C   s   |  }| |dS )Nr   r   )rL   rM   	_shortcutr;   r;   r<   rO   0  s    z*CheckQuickReplyShortcutRequest.from_readerNr   r;   r;   r;   r<   r     s   r   c                   @   s0   e Zd ZdZdZdd Zdd Zedd Zd	S )
ClearAllDraftsRequestiX~r   c                 C   s   ddiS )Nr>   r   r;   rA   r;   r;   r<   r@   :  s     zClearAllDraftsRequest.to_dictc                 C   s
   d dS )NrB   )s   X~rD   rA   r;   r;   r<   rE   ?  s    zClearAllDraftsRequest._bytesc                 C   s   |  S ra   r;   rL   rM   r;   r;   r<   rO   D  s    z!ClearAllDraftsRequest.from_readerN	rQ   rR   rS   rT   rU   r@   rE   rX   rO   r;   r;   r;   r<   r   6  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   r;   rA   r;   r;   r<   r@   M  s     z#ClearRecentReactionsRequest.to_dictc                 C   s
   d dS )NrB   )s   r   rA   r;   r;   r<   rE   R  s    z"ClearRecentReactionsRequest._bytesc                 C   s   |  S ra   r;   r   r;   r;   r<   rO   W  s    z'ClearRecentReactionsRequest.from_readerNr   r;   r;   r;   r<   r   I  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   )r:   r   r;   r;   r<   r=   `  s    z#ClearRecentStickersRequest.__init__c                 C   s   d| j dS )Nr   )r>   r   r   rA   r;   r;   r<   r@   f  s    z"ClearRecentStickersRequest.to_dictc                 C   s.   d dtd| jd ks | jdkr$dndfS )NrB   s   -`rj   Fr   rk   )rD   rG   rH   r   rA   r;   r;   r<   rE   l  s    "z!ClearRecentStickersRequest._bytesc                 C   s   |  }t|d@ }| |dS )Nrk   r   rq   rr   )rL   rM   rt   	_attachedr;   r;   r<   rO   r  s    z&ClearRecentStickersRequest.from_reader)NrQ   rR   rS   rT   rU   r   rr   r=   r@   rE   rX   rO   r;   r;   r;   r<   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 )ClickSponsoredMessageRequestl   ~j r   Nmedia
fullscreen	random_idc                 C   s4   || _ || _|dk	r|ntjtdddd| _dS r   Nrm   bigTsigned)r   r   rW   
from_bytesosurandomr   )r:   r   r   r   r;   r;   r<   r=   ~  s    z%ClickSponsoredMessageRequest.__init__c                 C   s   d| j | j| jdS )Nr   )r>   r   r   r   r   rA   r;   r;   r<   r@     s
    z$ClickSponsoredMessageRequest.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fS )NrB   s   ~5rj   Fr   rk   rl   )rD   rG   rH   r   r   rF   r   rA   r;   r;   r<   rE     s
    >
z#ClickSponsoredMessageRequest._bytesc                 C   s6   |  }t|d@ }t|d@ }| }| |||dS )Nrk   rl   r   )rq   rr   rJ   )rL   rM   rt   _media_fullscreen
_random_idr;   r;   r<   rO     s
    z(ClickSponsoredMessageRequest.from_reader)NNN)rQ   rR   rS   rT   rU   r   rr   rV   r=   r@   rE   rX   rO   r;   r;   r;   r<   r   z  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   ]% r{   Nr%   userstitle
ttl_periodc                 C   s   || _ || _|| _dS r   r   )r:   r   r   r   r;   r;   r<   r=     s    zCreateChatRequest.__init__c                    s6   g }| j D ] }||||I d H  q
|| _ d S ra   )r   r   r   rd   r:   rf   rg   Z_tmpr   r;   r;   r<   rh     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 r;   r   r   r;   r;   r<   r     s     z-CreateChatRequest.to_dict.<locals>.<listcomp>)r>   r   r   r   r   rA   r;   r;   r<   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 )NrB   s   Βrj   Fr   rk   r   rn   c                 s   s   | ]}|  V  qd S ra   r   r   r;   r;   r<   r     s     z+CreateChatRequest._bytes.<locals>.<genexpr>)rD   rG   rH   r   r   r   rF   r   rA   r;   r;   r<   rE     s    "  
$zCreateChatRequest._bytesc                 C   sd   |  }|   g }t|  D ]}| }|| q | }|d@ rR|  }nd }| |||dS )Nrk   r   )rq   r   rI   r   rs   )rL   rM   rt   Z_usersr>   r   _titleZ_ttl_periodr;   r;   r<   rO     s    
zCreateChatRequest.from_reader)N)rQ   rR   rS   rT   rU   r   ry   r   rW   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   r     s   	r   c                	   @   sd   e Zd ZdZdZdd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 )CreateForumTopicRequestiØ/r   Nr   r6   r   title_missing
icon_coloricon_emoji_idr   send_asc                 C   sL   || _ || _|| _|| _|| _|dk	r*|ntjtdddd| _	|| _
dS r   N   r   Tr   )r6   r   r   r   r   rW   r   r   r   r   r   )r:   r6   r   r   r   r   r   r   r;   r;   r<   r=     s    $z CreateForumTopicRequest.__init__c                    s>   | || jI d H | _| jr:| || jI d H | _d S ra   rc   rd   r6   r   re   r;   r;   r<   rh     s    zCreateForumTopicRequest.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 )Nr   )r>   r6   r   r   r   r   r   r   )
r?   r6   r   r@   r   r   r   r   r   r   rA   r;   r;   r<   r@     s    zCreateForumTopicRequest.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td
| j| jd ks| jdkrdntd| jtd| j| jd ks| jdkrdn| j fS )NrB   s   Ø/rj   Fr      rk   r   rm   rn   rC   )rD   rG   rH   r   r   r   r   r6   rE   rF   r   r   rA   r;   r;   r<   rE     s    v
$$ zCreateForumTopicRequest._bytesc           
   	   C   s   |  }t|d@ }| }| }|d@ r6|  }nd }|d@ rL| }nd }| }|d@ rj| }	nd }	| |||||||	dS )Nr   rk   r   rm   r   )rq   rr   rI   rs   rK   )
rL   rM   rt   Z_title_missingrN   r   Z_icon_color_icon_emoji_idr   _send_asr;   r;   r<   rO     s    


z#CreateForumTopicRequest.from_reader)NNNNN)rQ   rR   rS   rT   rU   ry   r   rr   rW   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   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 )DeleteChatRequestiP[r   r}   c                 C   s
   || _ dS r   r   r:   r}   r;   r;   r<   r=     s    zDeleteChatRequest.__init__c                 C   s   d| j dS )Nr   r>   r}   r   rA   r;   r;   r<   r@   #  s    zDeleteChatRequest.to_dictc                 C   s   d dtd| jfS )NrB   s   P[rC   rD   rG   rH   r}   rA   r;   r;   r<   rE   )  s    zDeleteChatRequest._bytesc                 C   s   |  }| |dS Nr   rK   rL   rM   r   r;   r;   r<   rO   /  s    zDeleteChatRequest.from_readerNrQ   rR   rS   rT   rU   rW   r=   r@   rE   rX   rO   r;   r;   r;   r<   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 r   Nr%   r}   r~   revoke_historyc                 C   s   || _ || _|| _dS r   r   )r:   r}   r~   r   r;   r;   r<   r=   9  s    zDeleteChatUserRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh   A  s    zDeleteChatUserRequest.resolvec                 C   s*   d| j t| jtr| j n| j| jdS )Nr   )r>   r}   r~   r   )r}   r?   r~   r   r@   r   rA   r;   r;   r<   r@   D  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 )NrB   s   \rj   Fr   rk   rC   )rD   rG   rH   r   r}   r~   rE   rA   r;   r;   r<   rE   L  s    "zDeleteChatUserRequest._bytesc                 C   s2   |  }t|d@ }| }| }| |||dS )Nrk   r   )rq   rr   rK   rI   )rL   rM   rt   Z_revoke_historyr   r   r;   r;   r<   rO   T  s
    z!DeleteChatUserRequest.from_reader)NrQ   rR   rS   rT   rU   rW   r   rr   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   r   5  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   r6   linkc                 C   s   || _ || _dS r   r   r:   r6   r   r;   r;   r<   r=   b  s    z(DeleteExportedChatInviteRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh   i  s    z'DeleteExportedChatInviteRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr   r>   r6   r   r?   r6   r   r@   r   rA   r;   r;   r<   r@   l  s    z'DeleteExportedChatInviteRequest.to_dictc                 C   s   d d| j | | jfS )NrB   s   +dԩrD   r6   rE   rF   r   rA   r;   r;   r<   rE   s  s
    
z&DeleteExportedChatInviteRequest._bytesc                 C   s   |  }| }| ||dS Nr   rI   rs   rL   rM   rN   _linkr;   r;   r<   rO   z  s    z+DeleteExportedChatInviteRequest.from_readerNrQ   rR   rS   rT   rU   ry   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   r   ^  s   r   c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )DeleteFactCheckRequestl   # r   r   r6   r]   c                 C   s   || _ || _dS r   r  r:   r6   r]   r;   r;   r<   r=     s    zDeleteFactCheckRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh     s    zDeleteFactCheckRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr   r>   r6   r]   r?   r6   r   r@   r]   rA   r;   r;   r<   r@     s    zDeleteFactCheckRequest.to_dictc                 C   s    d d| j td| jfS )NrB   s   rn   rD   r6   rE   rG   rH   r]   rA   r;   r;   r<   rE     s
    zDeleteFactCheckRequest._bytesc                 C   s   |  }| }| ||dS Nr  rI   rq   rL   rM   rN   rv   r;   r;   r<   rO     s    z"DeleteFactCheckRequest.from_readerNr   r;   r;   r;   r<   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   r6   max_id
just_clearrevokemin_datemax_datec                 C   s(   || _ || _|| _|| _|| _|| _dS zQ
        :returns messages.AffectedHistory: Instance of AffectedHistory.
        Nr  )r:   r6   r  r  r  r  r  r;   r;   r<   r=     s    zDeleteHistoryRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh     s    zDeleteHistoryRequest.resolvec                 C   s6   dt | jtr| j n| j| j| j| j| j| jdS )Nr	  )r>   r6   r  r  r  r  r  )	r?   r6   r   r@   r  r  r  r  r  rA   r;   r;   r<   r@     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 )NrB   s   *rj   Fr   rk   rl   rm   r   rn   )rD   rG   rH   r  r  r  r  r6   rE   r  serialize_datetimerA   r;   r;   r<   rE     s    v""zDeleteHistoryRequest._bytesc           	      C   sp   |  }t|d@ }t|d@ }| }|  }|d@ rB| }nd }|d@ rX| }nd }| ||||||dS )Nrk   rl   rm   r   r  )rq   rr   rI   tgread_date)	rL   rM   rt   Z_just_clear_revokerN   _max_id	_min_date	_max_dater;   r;   r<   rO     s    

z DeleteHistoryRequest.from_reader)NNNN)rQ   rR   rS   rT   rU   rW   r   rr   r	   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   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  )r:   r  r  r;   r;   r<   r=     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  rA   r;   r;   r<   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 )NrB   s   ҕrj   Fr   rk   r   rn   c                 s   s   | ]}t d |V  qdS rn   NrG   rH   r   r;   r;   r<   r     s     z/DeleteMessagesRequest._bytes.<locals>.<genexpr>)rD   rG   rH   r  r   r  rA   r;   r;   r<   rE     s    "  zDeleteMessagesRequest._bytesc                 C   sP   |  }t|d@ }|   g }t|  D ]}|  }|| q,| ||dS )Nrk   r  )rq   rr   r   r   )rL   rM   rt   r  _idr>   r   r;   r;   r<   rO     s    z!DeleteMessagesRequest.from_reader)NrQ   rR   rS   rT   rU   r   rW   r   rr   r=   r@   rE   rX   rO   r;   r;   r;   r<   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 )DeletePhoneCallHistoryRequestl   	ds l   .e.p Nr  c                 C   s
   || _ dS )z]
        :returns messages.AffectedFoundMessages: Instance of AffectedFoundMessages.
        Nr"  )r:   r  r;   r;   r<   r=   	  s    z&DeletePhoneCallHistoryRequest.__init__c                 C   s   d| j dS )Nr!  )r>   r  r"  rA   r;   r;   r<   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 )NrB   s   	rj   Fr   rk   )rD   rG   rH   r  rA   r;   r;   r<   rE     s    "z$DeletePhoneCallHistoryRequest._bytesc                 C   s   |  }t|d@ }| |dS )Nrk   r"  r   )rL   rM   rt   r  r;   r;   r<   rO     s    z)DeletePhoneCallHistoryRequest.from_reader)Nr   r;   r;   r;   r<   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$  )r:   r%  r  r;   r;   r<   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$  rA   r;   r;   r<   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 )NrB   s   rn   r   c                 s   s   | ]}t d |V  qdS r  r  r   r;   r;   r<   r   9  s     z9DeleteQuickReplyMessagesRequest._bytes.<locals>.<genexpr>)rD   rG   rH   r%  r   r  rA   r;   r;   r<   rE   5  s      z&DeleteQuickReplyMessagesRequest._bytesc                 C   sD   |  }|   g }t|  D ]}|  }|| q | ||dS )Nr$  rq   r   r   )rL   rM   _shortcut_idr  r>   r   r;   r;   r<   rO   <  s    z+DeleteQuickReplyMessagesRequest.from_readerN)rQ   rR   rS   rT   rU   rW   r   r=   r@   rE   rX   rO   r;   r;   r;   r<   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)  )r:   r%  r;   r;   r<   r=   L  s    z(DeleteQuickReplyShortcutRequest.__init__c                 C   s   d| j dS )Nr(  )r>   r%  r)  rA   r;   r;   r<   r@   R  s    z'DeleteQuickReplyShortcutRequest.to_dictc                 C   s   d dtd| jfS )NrB   s   @G<rn   )rD   rG   rH   r%  rA   r;   r;   r<   rE   X  s    z&DeleteQuickReplyShortcutRequest._bytesc                 C   s   |  }| |dS )Nr)  rq   )rL   rM   r'  r;   r;   r<   rO   ^  s    z+DeleteQuickReplyShortcutRequest.from_readerNr   r;   r;   r;   r<   r(  H  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%   r6   admin_idc                 C   s   || _ || _dS r   r,  )r:   r6   r-  r;   r;   r<   r=   h  s    z0DeleteRevokedExportedChatInvitesRequest.__init__c                    s8   | || jI d H | _||| jI d H | _d S ra   rc   rd   r6   r   r-  re   r;   r;   r<   rh   o  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>   r6   r-  )r?   r6   r   r@   r-  rA   r;   r;   r<   r@   s  s    z/DeleteRevokedExportedChatInvitesRequest.to_dictc                 C   s   d d| j | j fS )NrB   s   {V)rD   r6   rE   r-  rA   r;   r;   r<   rE   z  s
    z.DeleteRevokedExportedChatInvitesRequest._bytesc                 C   s   |  }|  }| ||dS )Nr,  r   )rL   rM   rN   	_admin_idr;   r;   r<   rO     s    z3DeleteRevokedExportedChatInvitesRequest.from_readerNr   r;   r;   r;   r<   r+  d  s   r+  c                   @   s\   e Zd ZdZdZd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 )DeleteSavedHistoryRequesti_Mr
  Nr   r6   r  parent_peerr  r  c                 C   s"   || _ || _|| _|| _|| _dS r  r1  )r:   r6   r  r2  r  r  r;   r;   r<   r=     s
    z"DeleteSavedHistoryRequest.__init__c                    s>   | || jI d H | _| jr:| || jI d H | _d S ra   rc   rd   r6   r2  re   r;   r;   r<   rh     s    z!DeleteSavedHistoryRequest.resolvec                 C   sH   dt | jtr| j n| j| jt | jtr6| j n| j| j| jdS )Nr0  )r>   r6   r  r2  r  r  )r?   r6   r   r@   r  r2  r  r  rA   r;   r;   r<   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d ksV| jdkrZdndB | jd kst| jdkrxdn| 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 )
NrB   s   _Mrj   Fr   rk   rm   r   rn   )
rD   rG   rH   r2  r  r  rE   r6   r  r  rA   r;   r;   r<   rE     s    Z ""z DeleteSavedHistoryRequest._bytesc                 C   sl   |  }|d@ r| }nd }| }|  }|d@ r@| }nd }|d@ rV| }nd }| |||||dS )Nrk   rm   r   r1  rq   rI   r  )rL   rM   rt   _parent_peerrN   r  r  r  r;   r;   r<   rO     s    


z%DeleteSavedHistoryRequest.from_reader)NNNrQ   rR   rS   rT   rU   rW   r   r	   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   r0    s   $

r0  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   r6   r  c                 C   s   || _ || _dS r   r8  r:   r6   r  r;   r;   r<   r=     s    z'DeleteScheduledMessagesRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh     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 )Nr7  r>   r6   r  r?   r6   r   r@   r  rA   r;   r;   r<   r@     s    z&DeleteScheduledMessagesRequest.to_dictc              
   C   s:   d d| j dtdt| jd dd | jD fS )NrB   s   +Yr   rn   c                 s   s   | ]}t d |V  qdS r  r  r   r;   r;   r<   r     s     z8DeleteScheduledMessagesRequest._bytes.<locals>.<genexpr>rD   r6   rE   rG   rH   r   r  rA   r;   r;   r<   rE     s      z%DeleteScheduledMessagesRequest._bytesc                 C   sD   |  }|  g }t| D ]}| }|| q | ||dS Nr8  r   rL   rM   rN   r  r>   r   r;   r;   r<   rO     s    z*DeleteScheduledMessagesRequest.from_readerNrQ   rR   rS   rT   rU   r   rW   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   r7    s   r7  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 )DeleteTopicHistoryRequestl   o% r
  r   r6   
top_msg_idc                 C   s   || _ || _dS r  rA  r:   r6   rB  r;   r;   r<   r=     s    z"DeleteTopicHistoryRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh     s    z!DeleteTopicHistoryRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr@  r>   r6   rB  r?   r6   r   r@   rB  rA   r;   r;   r<   r@     s    z!DeleteTopicHistoryRequest.to_dictc                 C   s    d d| j td| jfS )NrB   s   orn   )rD   r6   rE   rG   rH   rB  rA   r;   r;   r<   rE     s
    z DeleteTopicHistoryRequest._bytesc                 C   s   |  }| }| ||dS )NrA  r  )rL   rM   rN   _top_msg_idr;   r;   r<   rO   	  s    z%DeleteTopicHistoryRequest.from_readerNr   r;   r;   r;   r<   r@    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r}   delete_historyc                 C   s   || _ || _dS r   rH  )r:   r}   rI  r;   r;   r<   r=     s    z!DiscardEncryptionRequest.__init__c                 C   s   d| j | jdS )NrG  )r>   r}   rI  rH  rA   r;   r;   r<   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 )NrB   s   rj   Fr   rk   rn   )rD   rG   rH   rI  r}   rA   r;   r;   r<   rE   "  s
    "zDiscardEncryptionRequest._bytesc                 C   s(   |  }t|d@ }|  }| ||dS )Nrk   rH  r   )rL   rM   rt   Z_delete_historyr   r;   r;   r<   rO   )  s    z$DiscardEncryptionRequest.from_reader)NrQ   rR   rS   rT   rU   rW   r   rr   r=   r@   rE   rX   rO   r;   r;   r;   r<   rG    s   rG  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   r6   aboutc                 C   s   || _ || _dS r   rL  )r:   r6   rM  r;   r;   r<   r=   6  s    zEditChatAboutRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh   =  s    zEditChatAboutRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )NrK  )r>   r6   rM  )r?   r6   r   r@   rM  rA   r;   r;   r<   r@   @  s    zEditChatAboutRequest.to_dictc                 C   s   d d| j | | jfS )NrB   s   )rD   r6   rE   rF   rM  rA   r;   r;   r<   rE   G  s
    
zEditChatAboutRequest._bytesc                 C   s   |  }| }| ||dS )NrL  r   )rL   rM   rN   Z_aboutr;   r;   r<   rO   N  s    z EditChatAboutRequest.from_readerNr   r;   r;   r;   r<   rK  2  s   rK  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%   r}   r~   is_adminc                 C   s   || _ || _|| _dS r   rO  )r:   r}   r~   rP  r;   r;   r<   r=   Y  s    zEditChatAdminRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh   a  s    zEditChatAdminRequest.resolvec                 C   s*   d| j t| jtr| j n| j| jdS )NrN  )r>   r}   r~   rP  )r}   r?   r~   r   r@   rP  rA   r;   r;   r<   r@   d  s
    zEditChatAdminRequest.to_dictc                 C   s,   d dtd| j| j | jr$dndfS )NrB   s   [rC      ur   7y)rD   rG   rH   r}   r~   rE   rP  rA   r;   r;   r<   rE   l  s    zEditChatAdminRequest._bytesc                 C   s&   |  }| }| }| |||dS )NrO  )rK   rI   tgread_bool)rL   rM   r   r   Z	_is_adminr;   r;   r<   rO   t  s    z EditChatAdminRequest.from_readerNrQ   rR   rS   rT   rU   rW   rr   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   rN  U  s   rN  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
   r6   banned_rightsc                 C   s   || _ || _dS r   rV  )r:   r6   rW  r;   r;   r<   r=     s    z+EditChatDefaultBannedRightsRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh     s    z*EditChatDefaultBannedRightsRequest.resolvec                 C   s<   dt | jtr| j n| jt | jtr2| j n| jdS )NrU  )r>   r6   rW  )r?   r6   r   r@   rW  rA   r;   r;   r<   r@     s    z*EditChatDefaultBannedRightsRequest.to_dictc                 C   s   d d| j | j fS )NrB   s   Ak)rD   r6   rE   rW  rA   r;   r;   r<   rE     s
    z)EditChatDefaultBannedRightsRequest._bytesc                 C   s   |  }|  }| ||dS )NrV  r   )rL   rM   rN   Z_banned_rightsr;   r;   r<   rO     s    z.EditChatDefaultBannedRightsRequest.from_readerNr   r;   r;   r;   r<   rU  |  s   rU  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   r}   photoc                 C   s   || _ || _dS r   rY  )r:   r}   rZ  r;   r;   r<   r=     s    zEditChatPhotoRequest.__init__c                    s   | | j| _d S ra   )Zget_input_chat_photorZ  re   r;   r;   r<   rh     s    zEditChatPhotoRequest.resolvec                 C   s&   d| j t| jtr| j n| jdS )NrX  )r>   r}   rZ  )r}   r?   rZ  r   r@   rA   r;   r;   r<   r@     s    zEditChatPhotoRequest.to_dictc                 C   s    d dtd| j| j fS )NrB   s   t5rC   )rD   rG   rH   r}   rZ  rE   rA   r;   r;   r<   rE     s
    zEditChatPhotoRequest._bytesc                 C   s   |  }| }| ||dS )NrY  )rK   rI   )rL   rM   r   Z_photor;   r;   r<   rO     s    z EditChatPhotoRequest.from_readerNr   r;   r;   r;   r<   rX    s   rX  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   r}   r   c                 C   s   || _ || _dS r   r\  )r:   r}   r   r;   r;   r<   r=     s    zEditChatTitleRequest.__init__c                 C   s   d| j | jdS )Nr[  )r>   r}   r   r\  rA   r;   r;   r<   r@     s    zEditChatTitleRequest.to_dictc                 C   s"   d dtd| j| | jfS )NrB   s   ?xsrC   )rD   rG   rH   r}   rF   r   rA   r;   r;   r<   rE     s
    
zEditChatTitleRequest._bytesc                 C   s   |  }| }| ||dS )Nr\  )rK   rs   )rL   rM   r   r   r;   r;   r<   rO     s    z EditChatTitleRequest.from_readerNrQ   rR   rS   rT   rU   rW   ry   r=   r@   rE   rX   rO   r;   r;   r;   r<   r[    s   r[  c                	   @   sh   e Zd ZdZdZddeee ee ee	 ee ee dddZ
dd	 Zd
d Zdd Zedd ZdS )EditExportedChatInviteRequestl   u/{    T Nr   r6   r   revokedexpire_dateusage_limitrequest_neededr   c                 C   s.   || _ || _|| _|| _|| _|| _|| _dS zz
        :returns messages.ExportedChatInvite: Instance of either ExportedChatInvite, ExportedChatInviteReplaced.
        Nr`  )r:   r6   r   ra  rb  rc  rd  r   r;   r;   r<   r=     s    z&EditExportedChatInviteRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh     s    z%EditExportedChatInviteRequest.resolvec              	   C   s:   dt | jtr| j n| j| j| j| j| j| j| j	dS )Nr^  )r>   r6   r   ra  rb  rc  rd  r   )
r?   r6   r   r@   r   ra  rb  rc  rd  r   rA   r;   r;   r<   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 )NrB   s   u/ʽrj   Fr   rm   rk   rl   r   r   rn   rQ  rR  )rD   rG   rH   ra  rb  rc  rd  r   r6   rE   rF   r   r  rA   r;   r;   r<   rE     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 )Nrm   rk   rl   r   r   r`  )rq   rr   rI   rs   r  rS  )
rL   rM   rt   _revokedrN   r   _expire_date_usage_limit_request_neededr   r;   r;   r<   rO     s"    



z)EditExportedChatInviteRequest.from_reader)NNNNN)rQ   rR   rS   rT   rU   ry   r   rr   r	   rW   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   r^    s   0r^  c                   @   sJ   e Zd ZdZdZdeddddZdd	 Zd
d Zdd Z	e
dd ZdS )EditFactCheckRequestiur   r   r0   r6   r]   textc                 C   s   || _ || _|| _dS r   rk  )r:   r6   r]   rl  r;   r;   r<   r=   +  s    zEditFactCheckRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh   3  s    zEditFactCheckRequest.resolvec                 C   s@   dt | jtr| j n| j| jt | jtr6| j n| jdS )Nrj  )r>   r6   r]   rl  )r?   r6   r   r@   r]   rl  rA   r;   r;   r<   r@   6  s
    zEditFactCheckRequest.to_dictc                 C   s(   d d| j td| j| j fS )NrB   s   urn   )rD   r6   rE   rG   rH   r]   rl  rA   r;   r;   r<   rE   >  s    zEditFactCheckRequest._bytesc                 C   s&   |  }| }|  }| |||dS )Nrk  r  )rL   rM   rN   rv   _textr;   r;   r<   rO   F  s    z EditFactCheckRequest.from_readerNr   r;   r;   r;   r<   rj  '  s   rj  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 )EditForumTopicRequestl   4 r   Nr   r6   topic_idr   r   closedhiddenc                 C   s(   || _ || _|| _|| _|| _|| _dS r   ro  )r:   r6   rp  r   r   rq  rr  r;   r;   r<   r=   R  s    zEditForumTopicRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh   ]  s    zEditForumTopicRequest.resolvec                 C   s6   dt | jtr| j n| j| j| j| j| j| jdS )Nrn  )r>   r6   rp  r   r   rq  rr  )	r?   r6   r   r@   rp  r   r   rq  rr  rA   r;   r;   r<   r@   `  s    zEditForumTopicRequest.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rPdndB | jd krbd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td| j| jd krdn| jrdnd| jd krdn| jrdndfS )NrB   s   4rj   Fr   rk   rl   rm   r   rn   rC   rQ  rR  )rD   rG   rH   r   r   rq  rr  r6   rE   rp  rF   rA   r;   r;   r<   rE   k  s    b"$zEditForumTopicRequest._bytesc           	      C   s   |  }| }|  }|d@ r*| }nd }|d@ r@| }nd }|d@ rV| }nd }|d@ rl| }nd }| ||||||dS )Nrk   rl   rm   r   ro  )rq   rI   rs   rK   rS  )	rL   rM   rt   rN   	_topic_idr   r   _closedZ_hiddenr;   r;   r<   rO   w  s     



z!EditForumTopicRequest.from_reader)NNNN)rQ   rR   rS   rT   rU   rW   r   ry   rr   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   rn  N  s   *rn  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   rv  )r:   r  rw  rx  ry  r   rz  r{  r;   r;   r<   r=     s    z$EditInlineBotMessageRequest.__init__c                    s   | j r|| j | _ d S ra   )r   get_input_mediare   r;   r;   r<   rh     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 )Nru  c                 S   s"   g | ]}t |tr| n|qS r;   r   r   r;   r;   r<   r     s     z7EditInlineBotMessageRequest.to_dict.<locals>.<listcomp>)r>   r  rw  rx  ry  r   rz  r{  )
r?   r  r   r@   rw  rx  ry  r   rz  r{  rA   r;   r;   r<   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 )NrB   s   }Urj   Fr   rl          @  rm   r   r   rn   c                 s   s   | ]}|  V  qd S ra   r   r   r;   r;   r<   r     s     z5EditInlineBotMessageRequest._bytes.<locals>.<genexpr>)rD   rG   rH   rw  rx  ry  r   rz  r{  r  rE   rF   r   rA   r;   r;   r<   rE     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 )Nrl   r}  r~  r  rm   r   rv  )rq   rr   rI   rs   r   r   )rL   rM   rt   _no_webpage_invert_mediar  _messager   _reply_markup	_entitiesr>   r   r;   r;   r<   rO     s*    


z'EditInlineBotMessageRequest.from_reader)NNNNNN)rQ   rR   rS   rT   rU   r   rr   ry   r   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   ru    s   8ru  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'   
r6   r  rw  rx  ry  r   rz  r{  schedule_datequick_reply_shortcut_idc                 C   s@   || _ || _|| _|| _|| _|| _|| _|| _|	| _|
| _	dS r   r  )r:   r6   r  rw  rx  ry  r   rz  r{  r  r  r;   r;   r<   r=     s    zEditMessageRequest.__init__c                    s2   | || jI d H | _| jr.|| j| _d S ra   rc   rd   r6   r   r|  re   r;   r;   r<   rh     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 )Nr  c                 S   s"   g | ]}t |tr| n|qS r;   r   r   r;   r;   r<   r     s     z.EditMessageRequest.to_dict.<locals>.<listcomp>)r>   r6   r  rw  rx  ry  r   rz  r{  r  r  )r?   r6   r   r@   r  rw  rx  ry  r   rz  r{  r  r  rA   r;   r;   r<   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 )NrB   s   @rj   Fr   rl   r}  r~  r  rm   r         rn   r   c                 s   s   | ]}|  V  qd S ra   r   r   r;   r;   r<   r   
  s     z,EditMessageRequest._bytes.<locals>.<genexpr>)rD   rG   rH   rw  rx  ry  r   rz  r{  r  r  r6   rE   r  rF   r   r  rA   r;   r;   r<   rE     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 )
Nrl   r}  r~  r  rm   r   r  r  r  )rq   rr   rI   rs   r   r   r  )rL   rM   rt   r  r  rN   r  r  r   r  r  r>   r   _schedule_dateZ_quick_reply_shortcut_idr;   r;   r<   rO     s8    




zEditMessageRequest.from_reader)NNNNNNNN)rQ   rR   rS   rT   rU   rW   r   rr   ry   r   r	   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   r    s   Fr  c                   @   s@   e Zd ZdZdZeedddZdd Zdd	 Z	e
d
d ZdS )EditQuickReplyShortcutRequesti< \r   r%  r   c                 C   s   || _ || _dS r   r  )r:   r%  r   r;   r;   r<   r=   ;  s    z&EditQuickReplyShortcutRequest.__init__c                 C   s   d| j | jdS )Nr  )r>   r%  r   r  rA   r;   r;   r<   r@   B  s    z%EditQuickReplyShortcutRequest.to_dictc                 C   s"   d dtd| j| | jfS )NrB   s   < \rn   )rD   rG   rH   r%  rF   r   rA   r;   r;   r<   rE   I  s
    
z$EditQuickReplyShortcutRequest._bytesc                 C   s   |  }| }| ||dS )Nr  )rq   rs   )rL   rM   r'  r   r;   r;   r<   rO   P  s    z)EditQuickReplyShortcutRequest.from_readerNr]  r;   r;   r;   r<   r  7  s   r  c                	   @   sl   e Zd ZdZdZddee ee ee ee ee	 ed dddZ
d	d
 Zdd Zdd Zedd ZdS )ExportChatInviteRequestl   ^H l   X
h Nr   r.   r6   legacy_revoke_permanentrd  rb  rc  r   subscription_pricingc                 C   s.   || _ || _|| _|| _|| _|| _|| _dS )zs
        :returns ExportedChatInvite: Instance of either ChatInviteExported, ChatInvitePublicJoinRequests.
        Nr  )r:   r6   r  rd  rb  rc  r   r  r;   r;   r<   r=   [  s    z ExportChatInviteRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh   g  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 )Nr  )r>   r6   r  rd  rb  rc  r   r  )
r?   r6   r   r@   r  rd  rb  rc  r   r  rA   r;   r;   r<   r@   j  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 )NrB   s   Urj   Fr   rm   r   rk   rl   r       rn   )rD   rG   rH   r  rd  rb  rc  r   r  r6   rE   r  rF   rA   r;   r;   r<   rE   v  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 )Nrm   r   rk   rl   r   r  r  rq   rr   rI   r  rs   )
rL   rM   rt   Z_legacy_revoke_permanentri  rN   rg  rh  r   Z_subscription_pricingr;   r;   r<   rO     s"    



z#ExportChatInviteRequest.from_reader)NNNNNN)rQ   rR   rS   rT   rU   r   rr   r	   rW   ry   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   r  W  s   4r  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )FaveStickerRequestl   [Es r   r   r  unfavec                 C   s   || _ || _dS r   r  )r:   r  r  r;   r;   r<   r=     s    zFaveStickerRequest.__init__c                    s   | | j| _d S ra   Zget_input_documentr  re   r;   r;   r<   rh     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  rA   r;   r;   r<   r@     s    zFaveStickerRequest.to_dictc                 C   s    d d| j | jrdndfS )NrB   s   [rQ  rR  )rD   r  rE   r  rA   r;   r;   r<   rE     s
    zFaveStickerRequest._bytesc                 C   s   |  }| }| ||dS )Nr  rI   rS  )rL   rM   r  Z_unfaver;   r;   r<   rO     s    zFaveStickerRequest.from_readerNrQ   rR   rS   rT   rU   rr   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   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d ee	 ed 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 )ForwardMessagesRequestl   (/ r   Nr   r!   r    r/   	from_peerr  to_peersilent
backgroundwith_my_scoredrop_authordrop_media_captions
noforwardsallow_paid_floodskipr   rB  reply_tor  r   quick_reply_shortcutvideo_timestampallow_paid_starssuggested_postc                 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   rW   r   r   r   r   r>   r;   r;   r<   r     s     z3ForwardMessagesRequest.__init__.<locals>.<listcomp>)r  r  r  r  r  r  r  r  r  r  r   r   r   rB  r  r  r   r  r  r  r  )r:   r  r  r  r  r  r  r  r  r  r  r   rB  r  r  r   r  r  r  r  r;   r;   r<   r=     s&    $zForwardMessagesRequest.__init__c                    sX   | || jI d H | _| || jI d H | _| jrT| || jI d H | _d S ra   )rc   rd   r  r  r   re   r;   r;   r<   rh     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t | jtr| j n| j| jt | jtr| j n| jt | jtr| j n| j| j| jt | jtr| j n| jdS )Nr  )r>   r  r  r  r  r  r  r  r  r  r  r   rB  r  r  r   r  r  r  r  )r?   r  r   r@   r  r  r  r  r  r  r  r  r  r   rB  r  r  r   r  r  r  r  rA   r;   r;   r<   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 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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rDdntd| j
| jd ksh| jdkrld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| j | jd ks| jdkrdntd| j| jd ks"| jdkr&dntd| j| jd ksJ| jdkrNdn| j fS )NrB   s   (rj   Fr   r  @      r~     r          @        r            r   rn   c                 s   s   | ]}t d |V  qdS r  r  r   r;   r;   r<   r     s     z0ForwardMessagesRequest._bytes.<locals>.<genexpr>c                 s   s   | ]}t d |V  qdS rC   Nr  r   r;   r;   r<   r     s     rC   )rD   rG   rH   r  r  r  r  r  r  r  rB  r  r  r   r  r  r  r  r  rE   r   r  r   r  r  rA   r;   r;   r<   rE     s*         ($&$$(($zForwardMessagesRequest._bytesc                 C   s  |  }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@ rT|  }nd }|d@ rl| }nd }|d@ r| }nd }| |
|||||||||	|||||||||dS )Nr  r  r  r~  r  r  r  r  r  r  r  r  r  r  r  r  )rq   rr   rI   r   r   rK   r  )rL   rM   rt   _silent_backgroundZ_with_my_scoreZ_drop_authorZ_drop_media_captions_noforwards_allow_paid_floodskipZ
_from_peerr  r>   r   r   Z_to_peerrF  	_reply_tor  r   _quick_reply_shortcutZ_video_timestamp_allow_paid_stars_suggested_postr;   r;   r<   rO   
  sZ    













z"ForwardMessagesRequest.from_reader)NNNNNNNNNNNNNNNN)rQ   rR   rS   rT   rU   r   rW   r   rr   r	   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   r    s   x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   r;   r;   r<   r=   J  s    z$GetAdminsWithInvitesRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh   P  s    z#GetAdminsWithInvitesRequest.resolvec                 C   s"   dt | jtr| j n| jdS )Nr  r   r   rA   r;   r;   r<   r@   S  s    z#GetAdminsWithInvitesRequest.to_dictc                 C   s   d d| j fS )NrB   s    9r   rA   r;   r;   r<   rE   Y  s    z"GetAdminsWithInvitesRequest._bytesc                 C   s   |  }| |dS r   r   r   r;   r;   r<   rO   _  s    z'GetAdminsWithInvitesRequest.from_readerNr   r;   r;   r;   r<   r  F  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  r;   rA   r;   r;   r<   r@   i  s     zGetAllDraftsRequest.to_dictc                 C   s
   d dS )NrB   )s   e?jr   rA   r;   r;   r<   rE   n  s    zGetAllDraftsRequest._bytesc                 C   s   |  S ra   r;   r   r;   r;   r<   rO   s  s    zGetAllDraftsRequest.from_readerNr   r;   r;   r;   r<   r  e  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   r;   r;   r<   r=   |  s    zGetAllStickersRequest.__init__c                 C   s   d| j dS )Nr  r   r   rA   r;   r;   r<   r@     s    zGetAllStickersRequest.to_dictc                 C   s   d dtd| jfS )NrB   s   rC   rD   rG   rH   r   rA   r;   r;   r<   rE     s    zGetAllStickersRequest._bytesc                 C   s   |  }| |dS r   r   r   r;   r;   r<   rO     s    z!GetAllStickersRequest.from_readerNr   r;   r;   r;   r<   r  x  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  )r:   r  r  r  r  r;   r;   r<   r=     s    z#GetArchivedStickersRequest.__init__c                 C   s   d| j | j| j| jdS )Nr  )r>   r  r  r  r  r  rA   r;   r;   r<   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 )
NrB   s   vWrj   Fr   rk   rl   rC   rn   )rD   rG   rH   r  r  r  r  rA   r;   r;   r<   rE     s    >z!GetArchivedStickersRequest._bytesc                 C   s@   |  }t|d@ }t|d@ }| }|  }| ||||dS )Nrk   rl   r  rq   rr   rK   )rL   rM   rt   _masks_emojis
_offset_id_limitr;   r;   r<   rO     s    z&GetArchivedStickersRequest.from_reader)NNrJ  r;   r;   r;   r<   r    s   		r  c                   @   sF   e Zd ZdZdZddddZdd Zd	d
 Zdd Ze	dd Z
dS )GetAttachMenuBotRequestia!wl   =g6 r%   botc                 C   s
   || _ dS )zL
        :returns AttachMenuBotsBot: Instance of AttachMenuBotsBot.
        Nr  )r:   r  r;   r;   r<   r=     s    z GetAttachMenuBotRequest.__init__c                    s   | || jI d H | _d S ra   r   rd   r  re   r;   r;   r<   rh     s    zGetAttachMenuBotRequest.resolvec                 C   s"   dt | jtr| j n| jdS )Nr  )r>   r  )r?   r  r   r@   rA   r;   r;   r<   r@     s    zGetAttachMenuBotRequest.to_dictc                 C   s   d d| j fS )NrB   s   a!w)rD   r  rE   rA   r;   r;   r<   rE     s    zGetAttachMenuBotRequest._bytesc                 C   s   |  }| |dS )Nr  r   )rL   rM   _botr;   r;   r<   rO     s    z#GetAttachMenuBotRequest.from_readerNr   r;   r;   r;   r<   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   r;   r;   r<   r=     s    z!GetAttachMenuBotsRequest.__init__c                 C   s   d| j dS )Nr  r   r   rA   r;   r;   r<   r@     s    z GetAttachMenuBotsRequest.to_dictc                 C   s   d dtd| jfS )NrB   s   rC   r  rA   r;   r;   r<   rE     s    zGetAttachMenuBotsRequest._bytesc                 C   s   |  }| |dS r   r   r   r;   r;   r<   rO     s    z$GetAttachMenuBotsRequest.from_readerNr   r;   r;   r;   r<   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  )r:   r   r;   r;   r<   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@   rA   r;   r;   r<   r@     s    z"GetAttachedStickersRequest.to_dictc                 C   s   d d| j fS )NrB   s   g[)rD   r   rE   rA   r;   r;   r<   rE     s    z!GetAttachedStickersRequest._bytesc                 C   s   |  }| |dS )Nr  r   )rL   rM   r   r;   r;   r<   rO     s    z&GetAttachedStickersRequest.from_readerN
rQ   rR   rS   rT   rU   r=   r@   rE   rX   rO   r;   r;   r;   r<   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   r;   r;   r<   r=     s    z#GetAvailableEffectsRequest.__init__c                 C   s   d| j dS )Nr  r   r   rA   r;   r;   r<   r@     s    z"GetAvailableEffectsRequest.to_dictc                 C   s   d dtd| jfS )NrB   s   9
rn   r  rA   r;   r;   r<   rE   $  s    z!GetAvailableEffectsRequest._bytesc                 C   s   |  }| |dS r   r*  r   r;   r;   r<   rO   *  s    z&GetAvailableEffectsRequest.from_readerNr   r;   r;   r;   r<   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   r;   r;   r<   r=   4  s    z%GetAvailableReactionsRequest.__init__c                 C   s   d| j dS )Nr  r   r   rA   r;   r;   r<   r@   :  s    z$GetAvailableReactionsRequest.to_dictc                 C   s   d dtd| jfS )NrB   s   rn   r  rA   r;   r;   r<   rE   @  s    z#GetAvailableReactionsRequest._bytesc                 C   s   |  }| |dS r   r*  r   r;   r;   r<   rO   F  s    z(GetAvailableReactionsRequest.from_readerNr   r;   r;   r;   r<   r  0  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  )r:   r  r   r;   r;   r<   r=   P  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   rA   r;   r;   r<   r@   W  s    zGetBotAppRequest.to_dictc                 C   s    d d| j td| jfS )NrB   s   4rC   )rD   r  rE   rG   rH   r   rA   r;   r;   r<   rE   ^  s
    zGetBotAppRequest._bytesc                 C   s   |  }| }| ||dS )Nr  rI   rK   )rL   rM   _appr   r;   r;   r<   rO   e  s    zGetBotAppRequest.from_readerNr   r;   r;   r;   r<   r  L  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   r6   r]   gamedatapasswordc                 C   s"   || _ || _|| _|| _|| _dS )zU
        :returns messages.BotCallbackAnswer: Instance of BotCallbackAnswer.
        Nr  )r:   r6   r]   r  r  r  r;   r;   r<   r=   p  s
    z$GetBotCallbackAnswerRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh   z  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>   r6   r]   r  r  r  )r?   r6   r   r@   r]   r  r  r  rA   r;   r;   r<   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 )
NrB   s   Brj   Fr   rl   rk   rm   rn   )
rD   rG   rH   r  r  r  r6   rE   r]   rF   rA   r;   r;   r<   rE     s    Z" z"GetBotCallbackAnswerRequest._bytesc                 C   sb   |  }t|d@ }| }|  }|d@ r6| }nd }|d@ rL| }nd }| |||||dS )Nrl   rk   rm   r  )rq   rr   rI   rJ   )rL   rM   rt   Z_gamerN   rv   _dataZ	_passwordr;   r;   r<   rO     s    

z'GetBotCallbackAnswerRequest.from_reader)NNN)rQ   rR   rS   rT   rU   rW   r   rr   rV   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   r  l  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%   r6   offset_dateoffset_userr  	requestedsubscription_expiredr   qc	           	      C   s4   || _ || _|| _|| _|| _|| _|| _|| _dS )zY
        :returns messages.ChatInviteImporters: Instance of ChatInviteImporters.
        Nr  )	r:   r6   r  r  r  r  r  r   r  r;   r;   r<   r=     s    z&GetChatInviteImportersRequest.__init__c                    s8   | || jI d H | _||| jI d H | _d S ra   )rc   rd   r6   r   r  re   r;   r;   r<   rh     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>   r6   r  r  r  r  r  r   r  )r?   r6   r   r@   r  r  r  r  r  r   r  rA   r;   r;   r<   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 )NrB   s   Nrj   Fr   rk   r   rl   rm   rn   )rD   rG   rH   r  r  r   r  r6   rE   rF   r  r  r  r  rA   r;   r;   r<   rE     s    v""
z$GetChatInviteImportersRequest._bytesc              
   C   s   |  }t|d@ }t|d@ }| }|d@ r:| }nd }|d@ rP| }nd }| }| }	|  }
| |||	|
||||dS )Nrk   r   rl   rm   r  )rq   rr   rI   rs   r  )rL   rM   rt   Z
_requestedZ_subscription_expiredrN   r   _q_offset_dateZ_offset_userr  r;   r;   r<   rO     s    

z)GetChatInviteImportersRequest.from_reader)NNNN)rQ   rR   rS   rT   rU   r   r	   rW   rr   ry   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   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  r:   r  r;   r;   r<   r=     s    zGetChatsRequest.__init__c                 C   s"   d| j d krg n| j d d  dS )Nr  r>   r  r  rA   r;   r;   r<   r@     s    zGetChatsRequest.to_dictc              	   C   s2   d ddtdt| jd dd | jD fS )NrB   s   RIr   rn   c                 s   s   | ]}t d |V  qdS r  r  r   r;   r;   r<   r     s     z)GetChatsRequest._bytes.<locals>.<genexpr>rD   rG   rH   r   r  rA   r;   r;   r<   rE     s      zGetChatsRequest._bytesc                 C   s:   |   g }t|  D ]}| }|| q| |dS Nr  rq   r   rK   r   rL   rM   r  r>   r   r;   r;   r<   rO     s    zGetChatsRequest.from_readerNrQ   rR   rS   rT   rU   r   rW   r=   r@   rE   rX   rO   r;   r;   r;   r<   r    s   r  c                   @   sJ   e Zd ZdZdZdeedddZdd Zd	d
 Zdd Z	e
dd ZdS )GetCommonChatsRequestl   !H r  r%   r~   r  r  c                 C   s   || _ || _|| _dS r  r  )r:   r~   r  r  r;   r;   r<   r=   	  s    zGetCommonChatsRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh   	  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  rA   r;   r;   r<   r@   	  s
    zGetCommonChatsRequest.to_dictc              	   C   s,   d d| j td| jtd| jfS )NrB   s   rC   rn   )rD   r~   rE   rG   rH   r  r  rA   r;   r;   r<   rE   	  s    zGetCommonChatsRequest._bytesc                 C   s&   |  }| }| }| |||dS )Nr  )rI   rK   rq   )rL   rM   r   r  r  r;   r;   r<   rO   &	  s    z!GetCommonChatsRequest.from_readerNr   r;   r;   r;   r<   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   )r:   r  r;   r;   r<   r=   2	  s    z'GetCustomEmojiDocumentsRequest.__init__c                 C   s"   d| j d krg n| j d d  dS )Nr  )r>   r  r   rA   r;   r;   r<   r@   8	  s    z&GetCustomEmojiDocumentsRequest.to_dictc              	   C   s2   d ddtdt| jd dd | jD fS )NrB   s   Tr   rn   c                 s   s   | ]}t d |V  qdS r  r  r   r;   r;   r<   r   A	  s     z8GetCustomEmojiDocumentsRequest._bytes.<locals>.<genexpr>)rD   rG   rH   r   r  rA   r;   r;   r<   rE   >	  s      z%GetCustomEmojiDocumentsRequest._bytesc                 C   s:   |   g }t|  D ]}| }|| q| |dS )Nr   r  )rL   rM   Z_document_idr>   r   r;   r;   r<   rO   D	  s    z*GetCustomEmojiDocumentsRequest.from_readerNr  r;   r;   r;   r<   r  .	  s   r  c                   @   s0   e Zd ZdZdZdd Zdd Zedd Zd	S )
GetDefaultHistoryTTLRequestiqel   g3` c                 C   s   ddiS )Nr>   r  r;   rA   r;   r;   r<   r@   S	  s     z#GetDefaultHistoryTTLRequest.to_dictc                 C   s
   d dS )NrB   )s   qer   rA   r;   r;   r<   rE   X	  s    z"GetDefaultHistoryTTLRequest._bytesc                 C   s   |  S ra   r;   r   r;   r;   r<   rO   ]	  s    z'GetDefaultHistoryTTLRequest.from_readerNr   r;   r;   r;   r<   r  O	  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   r;   r;   r<   r=   f	  s    z&GetDefaultTagReactionsRequest.__init__c                 C   s   d| j dS )Nr  r   r   rA   r;   r;   r<   r@   l	  s    z%GetDefaultTagReactionsRequest.to_dictc                 C   s   d dtd| jfS )NrB   s   (4rC   r  rA   r;   r;   r<   rE   r	  s    z$GetDefaultTagReactionsRequest._bytesc                 C   s   |  }| |dS r   r   r   r;   r;   r<   rO   x	  s    z)GetDefaultTagReactionsRequest.from_readerNr   r;   r;   r;   r<   r  b	  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  )r:   r  r	  r;   r;   r<   r=   	  s    zGetDhConfigRequest.__init__c                 C   s   d| j | jdS )Nr  )r>   r  r	  r  rA   r;   r;   r<   r@   	  s    zGetDhConfigRequest.to_dictc                 C   s$   d dtd| jtd| jfS )NrB   s   P&rn   )rD   rG   rH   r  r	  rA   r;   r;   r<   rE   	  s
    zGetDhConfigRequest._bytesc                 C   s   |  }|  }| ||dS )Nr  r*  )rL   rM   _versionZ_random_lengthr;   r;   r<   rO   	  s    zGetDhConfigRequest.from_readerNr   r;   r;   r;   r<   r  ~	  s   r  c                   @   s0   e Zd ZdZdZdd Zdd Zedd Zd	S )
GetDialogFiltersRequestl   _ l   qK c                 C   s   ddiS )Nr>   r  r;   rA   r;   r;   r<   r@   	  s     zGetDialogFiltersRequest.to_dictc                 C   s
   d dS )NrB   )s   r   rA   r;   r;   r<   rE   	  s    zGetDialogFiltersRequest._bytesc                 C   s   |  S ra   r;   r   r;   r;   r<   rO   	  s    z#GetDialogFiltersRequest.from_readerNr   r;   r;   r;   r<   r  	  s   r  c                   @   sL   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 )GetDialogUnreadMarksRequesti"" !l   J} Nr   r2  c                 C   s
   || _ dS )zM
        :returns Vector<DialogPeer>: This type has no constructors.
        Nr  )r:   r2  r;   r;   r<   r=   	  s    z$GetDialogUnreadMarksRequest.__init__c                    s$   | j r ||| j I d H | _ d S ra   )r2  rc   rd   re   r;   r;   r<   rh   	  s    z#GetDialogUnreadMarksRequest.resolvec                 C   s"   dt | jtr| j n| jdS )Nr  )r>   r2  )r?   r2  r   r@   rA   r;   r;   r<   r@   	  s    z#GetDialogUnreadMarksRequest.to_dictc                 C   sN   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 fS )NrB   s   "" !rj   Fr   rk   )rD   rG   rH   r2  rE   rA   r;   r;   r<   rE   	  s
    " z"GetDialogUnreadMarksRequest._bytesc                 C   s(   |  }|d@ r| }nd }| |dS )Nrk   r  rq   rI   )rL   rM   rt   r5  r;   r;   r<   rO   	  s
    
z'GetDialogUnreadMarksRequest.from_reader)N)rQ   rR   rS   rT   rU   r   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   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  )r:   r  r  r  r  r   r  r  r;   r;   r<   r=   	  s    zGetDialogsRequest.__init__c                    s   | || jI d H | _d S ra   rc   rd   r  re   r;   r;   r<   rh   	  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  rA   r;   r;   r<   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 )
NrB   s   Orj   Fr   rk   rl   rn   rC   )rD   rG   rH   r  r  r  r  r  r  rE   r  r   rA   r;   r;   r<   rE   	  s    >$
zGetDialogsRequest._bytesc           
   	   C   sh   |  }t|d@ }|d@ r&|  }nd }| }|  }| }|  }| }	| |||||	||dS )Nrk   rl   r  )rq   rr   r  rI   rK   )
rL   rM   rt   _exclude_pinned
_folder_idr  r  _offset_peerr  r   r;   r;   r<   rO   
  s    
zGetDialogsRequest.from_reader)NNrQ   rR   rS   rT   rU   r   r	   rW   rr   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   r  	  s   (r  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )GetDiscussionMessageRequestiriDiSr   r  c                 C   s   || _ || _dS )zU
        :returns messages.DiscussionMessage: Instance of DiscussionMessage.
        Nr  r  r;   r;   r<   r=   
  s    z$GetDiscussionMessageRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh   
  s    z#GetDiscussionMessageRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr  r  r  rA   r;   r;   r<   r@   !
  s    z#GetDiscussionMessageRequest.to_dictc                 C   s    d d| j td| jfS )NrB   s   riDrn   r  rA   r;   r;   r<   rE   (
  s
    z"GetDiscussionMessageRequest._bytesc                 C   s   |  }| }| ||dS r  r  r  r;   r;   r<   rO   /
  s    z'GetDiscussionMessageRequest.from_readerNr   r;   r;   r;   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 )GetDocumentByHashRequestl   c i !sha256size	mime_typec                 C   s   || _ || _|| _dS )zP
        :returns Document: Instance of either DocumentEmpty, Document.
        Nr  )r:   r  r  r  r;   r;   r<   r=   :
  s    z!GetDocumentByHashRequest.__init__c                 C   s   d| j | j| jdS )Nr  )r>   r  r  r  r  rA   r;   r;   r<   r@   B
  s
    z GetDocumentByHashRequest.to_dictc                 C   s,   d d| | jtd| j| | jfS )NrB   s   rC   )rD   rF   r  rG   rH   r  r  rA   r;   r;   r<   rE   J
  s    

zGetDocumentByHashRequest._bytesc                 C   s&   |  }| }| }| |||dS )Nr  )rJ   rK   rs   )rL   rM   _sha256_sizeZ
_mime_typer;   r;   r<   rO   R
  s    z$GetDocumentByHashRequest.from_readerN)rQ   rR   rS   rT   rU   rV   rW   ry   r=   r@   rE   rX   rO   r;   r;   r;   r<   r  6
  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   r;   r;   r<   r=   ^
  s    zGetEmojiGroupsRequest.__init__c                 C   s   d| j dS )Nr!  r   r   rA   r;   r;   r<   r@   d
  s    zGetEmojiGroupsRequest.to_dictc                 C   s   d dtd| jfS )NrB   s   [Έtrn   r  rA   r;   r;   r<   rE   j
  s    zGetEmojiGroupsRequest._bytesc                 C   s   |  }| |dS r   r*  r   r;   r;   r<   rO   p
  s    z!GetEmojiGroupsRequest.from_readerNr   r;   r;   r;   r<   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 )GetEmojiKeywordsRequestib5   rF$ 	lang_codec                 C   s
   || _ dS zX
        :returns EmojiKeywordsDifference: Instance of EmojiKeywordsDifference.
        Nr&  r:   r'  r;   r;   r<   r=   z
  s    z GetEmojiKeywordsRequest.__init__c                 C   s   d| j dS )Nr$  r>   r'  r&  rA   r;   r;   r<   r@   
  s    zGetEmojiKeywordsRequest.to_dictc                 C   s   d d| | jfS )NrB   s   b5rD   rF   r'  rA   r;   r;   r<   rE   
  s    
zGetEmojiKeywordsRequest._bytesc                 C   s   |  }| |dS Nr&  r   rL   rM   
_lang_coder;   r;   r<   rO   
  s    z#GetEmojiKeywordsRequest.from_readerNr   r;   r;   r;   r<   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 )!GetEmojiKeywordsDifferenceRequestir%  r'  from_versionc                 C   s   || _ || _dS r(  r0  )r:   r'  r1  r;   r;   r<   r=   
  s    z*GetEmojiKeywordsDifferenceRequest.__init__c                 C   s   d| j | jdS )Nr/  )r>   r'  r1  r0  rA   r;   r;   r<   r@   
  s    z)GetEmojiKeywordsDifferenceRequest.to_dictc                 C   s"   d d| | jtd| jfS )NrB   s   rn   )rD   rF   r'  rG   rH   r1  rA   r;   r;   r<   rE   
  s
    
z(GetEmojiKeywordsDifferenceRequest._bytesc                 C   s   |  }| }| ||dS )Nr0  rs   rq   )rL   rM   r.  Z_from_versionr;   r;   r<   rO   
  s    z-GetEmojiKeywordsDifferenceRequest.from_readerNrQ   rR   rS   rT   rU   ry   rW   r=   r@   rE   rX   rO   r;   r;   r;   r<   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.
        Nr5  )r:   r6  r;   r;   r<   r=   
  s    z)GetEmojiKeywordsLanguagesRequest.__init__c                 C   s"   d| j d krg n| j d d  dS )Nr4  )r>   r6  r5  rA   r;   r;   r<   r@   
  s    z(GetEmojiKeywordsLanguagesRequest.to_dictc              
      s6   d ddtdt jd  fdd jD fS )NrB   s   cNr   rn   c                 3   s   | ]}  |V  qd S ra   rF   r   rA   r;   r<   r   
  s     z:GetEmojiKeywordsLanguagesRequest._bytes.<locals>.<genexpr>)rD   rG   rH   r   r6  rA   r;   rA   r<   rE   
  s      z'GetEmojiKeywordsLanguagesRequest._bytesc                 C   s:   |   g }t|  D ]}| }|| q| |dS )Nr5  )rq   r   rs   r   )rL   rM   Z_lang_codesr>   r   r;   r;   r<   rO   
  s    z,GetEmojiKeywordsLanguagesRequest.from_readerN)rQ   rR   rS   rT   rU   r   ry   r=   r@   rE   rX   rO   r;   r;   r;   r<   r4  
  s   r4  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   r;   r;   r<   r=   
  s    z*GetEmojiProfilePhotoGroupsRequest.__init__c                 C   s   d| j dS )Nr8  r   r   rA   r;   r;   r<   r@   
  s    z)GetEmojiProfilePhotoGroupsRequest.to_dictc                 C   s   d dtd| jfS )NrB   s   H!rn   r  rA   r;   r;   r<   rE   
  s    z(GetEmojiProfilePhotoGroupsRequest._bytesc                 C   s   |  }| |dS r   r*  r   r;   r;   r<   rO   
  s    z-GetEmojiProfilePhotoGroupsRequest.from_readerNr   r;   r;   r;   r<   r8  
  s   r8  c                   @   s>   e Zd ZdZdZedddZdd Zdd	 Ze	d
d Z
dS )GetEmojiStatusGroupsRequestiV.r"  r   c                 C   s
   || _ dS r#  r   r   r;   r;   r<   r=   
  s    z$GetEmojiStatusGroupsRequest.__init__c                 C   s   d| j dS )Nr9  r   r   rA   r;   r;   r<   r@   
  s    z#GetEmojiStatusGroupsRequest.to_dictc                 C   s   d dtd| jfS )NrB   s   V.rn   r  rA   r;   r;   r<   rE   
  s    z"GetEmojiStatusGroupsRequest._bytesc                 C   s   |  }| |dS r   r*  r   r;   r;   r<   rO     s    z'GetEmojiStatusGroupsRequest.from_readerNr   r;   r;   r;   r<   r9  
  s   r9  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   r;   r;   r<   r=     s    z%GetEmojiStickerGroupsRequest.__init__c                 C   s   d| j dS )Nr:  r   r   rA   r;   r;   r<   r@     s    z$GetEmojiStickerGroupsRequest.to_dictc                 C   s   d dtd| jfS )NrB   s   @rn   r  rA   r;   r;   r<   rE     s    z#GetEmojiStickerGroupsRequest._bytesc                 C   s   |  }| |dS r   r*  r   r;   r;   r<   rO   !  s    z(GetEmojiStickerGroupsRequest.from_readerNr   r;   r;   r;   r<   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   r;   r;   r<   r=   +  s    z GetEmojiStickersRequest.__init__c                 C   s   d| j dS )Nr;  r   r   rA   r;   r;   r<   r@   1  s    zGetEmojiStickersRequest.to_dictc                 C   s   d dtd| jfS )NrB   s   rC   r  rA   r;   r;   r<   rE   7  s    zGetEmojiStickersRequest._bytesc                 C   s   |  }| |dS r   r   r   r;   r;   r<   rO   =  s    z#GetEmojiStickersRequest.from_readerNr   r;   r;   r;   r<   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)  r;   r;   r<   r=   G  s    zGetEmojiURLRequest.__init__c                 C   s   d| j dS )Nr<  r*  r&  rA   r;   r;   r<   r@   M  s    zGetEmojiURLRequest.to_dictc                 C   s   d d| | jfS )NrB   s   &r+  rA   r;   r;   r<   rE   S  s    
zGetEmojiURLRequest._bytesc                 C   s   |  }| |dS r,  r   r-  r;   r;   r<   rO   Y  s    zGetEmojiURLRequest.from_readerNr   r;   r;   r;   r<   r<  C  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\otsr_  r   r   c                 C   s   || _ || _dS re  r   r   r;   r;   r<   r=   c  s    z%GetExportedChatInviteRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh   j  s    z$GetExportedChatInviteRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr=  r   r   rA   r;   r;   r<   r@   m  s    z$GetExportedChatInviteRequest.to_dictc                 C   s   d d| j | | jfS )NrB   s   \otsr   rA   r;   r;   r<   rE   t  s
    
z#GetExportedChatInviteRequest._bytesc                 C   s   |  }| }| ||dS r   r   r   r;   r;   r<   rO   {  s    z(GetExportedChatInviteRequest.from_readerNr   r;   r;   r;   r<   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%   r6   r-  r  ra  r  offset_linkc                 C   s(   || _ || _|| _|| _|| _|| _dS )zY
        :returns messages.ExportedChatInvites: Instance of ExportedChatInvites.
        Nr?  )r:   r6   r-  r  ra  r  r@  r;   r;   r<   r=     s    z&GetExportedChatInvitesRequest.__init__c                    s8   | || jI d H | _||| jI d H | _d S ra   r.  re   r;   r;   r<   rh     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>   r6   r-  r  ra  r  r@  )	r?   r6   r   r@   r-  r  ra  r  r@  rA   r;   r;   r<   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-yrB   s   rj   r   r   rm   rn   )r  r@  ro   rD   rG   rH   ra  r6   rE   r-  r  rF   r  rA   r;   r;   r<   rE     s    PZ""z$GetExportedChatInvitesRequest._bytesc           	      C   sl   |  }t|d@ }| }| }|d@ r6| }nd }|d@ rL| }nd }|  }| ||||||dS )Nr   rm   r?  r  )	rL   rM   rt   rf  rN   r/  r  Z_offset_linkr  r;   r;   r<   rO     s    

z)GetExportedChatInvitesRequest.from_reader)NNNrQ   rR   rS   rT   rU   rW   r   rr   r	   ry   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   r>    s   &r>  c                   @   sL   e Zd ZdZdZdee dddZdd Zd	d
 Z	dd Z
edd ZdS )GetExtendedMediaRequestl   	 r   r   r8  c                 C   s   || _ || _dS r   r8  r9  r;   r;   r<   r=     s    z GetExtendedMediaRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh     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 )NrB  r:  r;  rA   r;   r;   r<   r@     s    zGetExtendedMediaRequest.to_dictc              
   C   s:   d d| j dtdt| jd dd | jD fS )NrB   s   r   rn   c                 s   s   | ]}t d |V  qdS r  r  r   r;   r;   r<   r     s     z1GetExtendedMediaRequest._bytes.<locals>.<genexpr>r<  rA   r;   r;   r<   rE     s      zGetExtendedMediaRequest._bytesc                 C   sD   |  }|  g }t| D ]}| }|| q | ||dS r=  r   r>  r;   r;   r<   rO     s    z#GetExtendedMediaRequest.from_readerNr?  r;   r;   r;   r<   rB    s   rB  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  r;   r;   r<   r=     s    zGetFactCheckRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh     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 )NrC  r  r  rA   r;   r;   r<   r@     s    zGetFactCheckRequest.to_dictc              
   C   s:   d d| j dtdt| jd dd | jD fS )NrB   s   ͹r   rn   c                 s   s   | ]}t d |V  qdS r  r  r   r;   r;   r<   r      s     z-GetFactCheckRequest._bytes.<locals>.<genexpr>)rD   r6   rE   rG   rH   r   r]   rA   r;   r;   r<   rE     s      zGetFactCheckRequest._bytesc                 C   sD   |  }|  g }t| D ]}| }|| q | ||dS r  r   )rL   rM   rN   rv   r>   r   r;   r;   r<   rO     s    zGetFactCheckRequest.from_readerNr?  r;   r;   r;   r<   rC    s   rC  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   r;   r;   r<   r=     s    z GetFavedStickersRequest.__init__c                 C   s   d| j dS )NrD  r   r   rA   r;   r;   r<   r@     s    zGetFavedStickersRequest.to_dictc                 C   s   d dtd| jfS )NrB   s   rC   r  rA   r;   r;   r<   rE     s    zGetFavedStickersRequest._bytesc                 C   s   |  }| |dS r   r   r   r;   r;   r<   rO   %  s    z#GetFavedStickersRequest.from_readerNr   r;   r;   r;   r<   rD    s   rD  c                   @   s>   e Zd ZdZdZedddZdd Zdd	 Ze	d
d Z
dS )GetFeaturedEmojiStickersRequesti6g"&r   c                 C   s
   || _ dS zw
        :returns messages.FeaturedStickers: Instance of either FeaturedStickersNotModified, FeaturedStickers.
        Nr   r   r;   r;   r<   r=   /  s    z(GetFeaturedEmojiStickersRequest.__init__c                 C   s   d| j dS )NrE  r   r   rA   r;   r;   r<   r@   5  s    z'GetFeaturedEmojiStickersRequest.to_dictc                 C   s   d dtd| jfS )NrB   s   6grC   r  rA   r;   r;   r<   rE   ;  s    z&GetFeaturedEmojiStickersRequest._bytesc                 C   s   |  }| |dS r   r   r   r;   r;   r<   rO   A  s    z+GetFeaturedEmojiStickersRequest.from_readerNr   r;   r;   r;   r<   rE  +  s   rE  c                   @   s>   e Zd ZdZdZedddZdd Zdd	 Ze	d
d Z
dS )GetFeaturedStickersRequestixdrF  r   c                 C   s
   || _ dS rG  r   r   r;   r;   r<   r=   K  s    z#GetFeaturedStickersRequest.__init__c                 C   s   d| j dS )NrH  r   r   rA   r;   r;   r<   r@   Q  s    z"GetFeaturedStickersRequest.to_dictc                 C   s   d dtd| jfS )NrB   s   xdrC   r  rA   r;   r;   r<   rE   W  s    z!GetFeaturedStickersRequest._bytesc                 C   s   |  }| |dS r   r   r   r;   r;   r<   rO   ]  s    z&GetFeaturedStickersRequest.from_readerNr   r;   r;   r;   r<   rH  G  s   rH  c                   @   sZ   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 )GetForumTopicsRequesti{;   >: Nr   r6   r  r  offset_topicr  r  c                 C   s(   || _ || _|| _|| _|| _|| _dS zI
        :returns messages.ForumTopics: Instance of ForumTopics.
        NrK  )r:   r6   r  r  rL  r  r  r;   r;   r<   r=   g  s    zGetForumTopicsRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh   r  s    zGetForumTopicsRequest.resolvec                 C   s6   dt | jtr| j n| j| j| j| j| j| jdS )NrI  )r>   r6   r  r  rL  r  r  )	r?   r6   r   r@   r  r  rL  r  r  rA   r;   r;   r<   r@   u  s    zGetForumTopicsRequest.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
| | j| | jtd| j	td| j
td| jfS )NrB   s   {;rj   Fr   rk   rn   )rD   rG   rH   r  r6   rE   rF   r  r  r  rL  r  rA   r;   r;   r<   rE     s    ""
zGetForumTopicsRequest._bytesc           	      C   sZ   |  }| }|d@ r"| }nd }| }|  }|  }|  }| ||||||dS )Nrk   rK  )rq   rI   rs   r  )	rL   rM   rt   rN   r  r  r  Z_offset_topicr  r;   r;   r<   rO     s    
z!GetForumTopicsRequest.from_reader)N)rQ   rR   rS   rT   rU   r   r	   rW   ry   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   rI  c  s   "rI  c                   @   sL   e Zd ZdZdZdee dddZdd Zd	d
 Z	dd Z
edd ZdS )GetForumTopicsByIDRequestl   J^ rJ  r   r6   topicsc                 C   s   || _ || _dS rM  rO  )r:   r6   rP  r;   r;   r<   r=     s    z"GetForumTopicsByIDRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh     s    z!GetForumTopicsByIDRequest.resolvec                 C   s<   dt | jtr| j n| j| jd kr*g n| jd d  dS )NrN  )r>   r6   rP  )r?   r6   r   r@   rP  rA   r;   r;   r<   r@     s    z!GetForumTopicsByIDRequest.to_dictc              
   C   s:   d d| j dtdt| jd dd | jD fS )NrB   s   J
r   rn   c                 s   s   | ]}t d |V  qdS r  r  r   r;   r;   r<   r     s     z3GetForumTopicsByIDRequest._bytes.<locals>.<genexpr>)rD   r6   rE   rG   rH   r   rP  rA   r;   r;   r<   rE     s      z GetForumTopicsByIDRequest._bytesc                 C   sD   |  }|  g }t| D ]}| }|| q | ||dS )NrO  r   )rL   rM   rN   Z_topicsr>   r   r;   r;   r<   rO     s    z%GetForumTopicsByIDRequest.from_readerNr?  r;   r;   r;   r<   rN    s   rN  c                   @   s>   e Zd ZdZdZedddZdd Zdd	 Ze	d
d Z
dS )GetFullChatRequestl   4`] i	QZ"r   c                 C   s
   || _ dS )zC
        :returns messages.ChatFull: Instance of ChatFull.
        Nr   r   r;   r;   r<   r=     s    zGetFullChatRequest.__init__c                 C   s   d| j dS )NrQ  r   r   rA   r;   r;   r<   r@     s    zGetFullChatRequest.to_dictc                 C   s   d dtd| jfS )NrB   s   4rC   r   rA   r;   r;   r<   rE     s    zGetFullChatRequest._bytesc                 C   s   |  }| |dS r   r   r   r;   r;   r<   rO     s    zGetFullChatRequest.from_readerNr   r;   r;   r;   r<   rQ    s   rQ  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%   r6   r  r~   c                 C   s   || _ || _|| _dS zG
        :returns messages.HighScores: Instance of HighScores.
        NrT  )r:   r6   r  r~   r;   r;   r<   r=     s    z!GetGameHighScoresRequest.__init__c                    s8   | || jI d H | _||| jI d H | _d S ra   rc   rd   r6   r   r~   re   r;   r;   r<   rh     s    z GetGameHighScoresRequest.resolvec                 C   s@   dt | jtr| j n| j| jt | jtr6| j n| jdS )NrR  )r>   r6   r  r~   )r?   r6   r   r@   r  r~   rA   r;   r;   r<   r@     s
    z GetGameHighScoresRequest.to_dictc                 C   s(   d d| j td| j| j fS )NrB   s   d"rn   )rD   r6   rE   rG   rH   r  r~   rA   r;   r;   r<   rE     s    zGetGameHighScoresRequest._bytesc                 C   s&   |  }| }|  }| |||dS )NrT  r  )rL   rM   rN   r  r   r;   r;   r<   rO      s    z$GetGameHighScoresRequest.from_readerNr   r;   r;   r;   r<   rR    s   rR  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   r6   r  r  
add_offsetr  r  min_idr   c	           	      C   s4   || _ || _|| _|| _|| _|| _|| _|| _dS z
        :returns messages.Messages: Instance of either Messages, MessagesSlice, ChannelMessages, MessagesNotModified.
        NrY  )	r:   r6   r  r  rZ  r  r  r[  r   r;   r;   r<   r=     s    zGetHistoryRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh     s    zGetHistoryRequest.resolvec              
   C   s>   dt | jtr| j n| j| j| j| j| j| j| j	| j
d	S )NrW  )	r>   r6   r  r  rZ  r  r  r[  r   )r?   r6   r   r@   r  r  rZ  r  r  r[  r   rA   r;   r;   r<   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 )NrB   s   #Drn   rC   )rD   r6   rE   rG   rH   r  r  r  rZ  r  r  r[  r   rA   r;   r;   r<   rE   )  s    
zGetHistoryRequest._bytesc           
   
   C   sX   |  }| }| }| }| }| }| }| }	| ||||||||	dS )NrY  rI   rq   r  rK   )
rL   rM   rN   r  r  _add_offsetr  r  _min_idr   r;   r;   r<   rO   6  s    zGetHistoryRequest.from_readerNr6  r;   r;   r;   r<   rW    s    rW  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  r6   queryoffset	geo_pointc                 C   s"   || _ || _|| _|| _|| _dS )zG
        :returns messages.BotResults: Instance of BotResults.
        Nra  )r:   r  r6   rb  rc  rd  r;   r;   r<   r=   G  s
    z#GetInlineBotResultsRequest.__init__c                    s8   | || jI d H | _||| jI d H | _d S ra   r   rd   r  rc   r6   re   r;   r;   r<   rh   Q  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 )Nr`  )r>   r  r6   rb  rc  rd  )r?   r  r   r@   r6   rb  rc  rd  rA   r;   r;   r<   r@   U  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 )NrB   s   NQrj   Fr   rk   )
rD   rG   rH   rd  r  rE   r6   rF   rb  rc  rA   r;   r;   r<   rE   _  s    " 

z!GetInlineBotResultsRequest._bytesc                 C   sP   |  }| }| }|d@ r*| }nd }| }| }| |||||dS )Nrk   ra  rq   rI   rs   )rL   rM   rt   r  rN   Z
_geo_pointZ_query_offsetr;   r;   r<   rO   j  s    
z&GetInlineBotResultsRequest.from_reader)N)rQ   rR   rS   rT   rU   ry   r   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   r`  C  s   

r`  c                   @   sH   e Zd ZdZdZdddddZdd	 Zd
d Zdd Ze	dd Z
dS )GetInlineGameHighScoresRequesti^crS  r   r%   r  r~   c                 C   s   || _ || _dS rU  ri  )r:   r  r~   r;   r;   r<   r=   }  s    z'GetInlineGameHighScoresRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh     s    z&GetInlineGameHighScoresRequest.resolvec                 C   s<   dt | jtr| j n| jt | jtr2| j n| jdS )Nrh  )r>   r  r~   )r?   r  r   r@   r~   rA   r;   r;   r<   r@     s    z&GetInlineGameHighScoresRequest.to_dictc                 C   s   d d| j | j fS )NrB   s   ^c)rD   r  rE   r~   rA   r;   r;   r<   rE     s
    z%GetInlineGameHighScoresRequest._bytesc                 C   s   |  }|  }| ||dS )Nri  r   )rL   rM   r  r   r;   r;   r<   rO     s    z*GetInlineGameHighScoresRequest.from_readerNr   r;   r;   r;   r<   rh  y  s   rh  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   r;   r;   r<   r=     s    zGetMaskStickersRequest.__init__c                 C   s   d| j dS )Nrj  r   r   rA   r;   r;   r<   r@     s    zGetMaskStickersRequest.to_dictc                 C   s   d dtd| jfS )NrB   s   drC   r  rA   r;   r;   r<   rE     s    zGetMaskStickersRequest._bytesc                 C   s   |  }| |dS r   r   r   r;   r;   r<   rO     s    z"GetMaskStickersRequest.from_readerNr   r;   r;   r;   r<   rj    s   rj  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   r8  c                 C   s   || _ || _dS )zQ
        :returns messages.MessageEditData: Instance of MessageEditData.
        Nr8  r9  r;   r;   r<   r=     s    z"GetMessageEditDataRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh     s    z!GetMessageEditDataRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nrk  r:  r;  rA   r;   r;   r<   r@     s    z!GetMessageEditDataRequest.to_dictc                 C   s    d d| j td| jfS )NrB   s   6rn   )rD   r6   rE   rG   rH   r  rA   r;   r;   r<   rE     s
    z GetMessageEditDataRequest._bytesc                 C   s   |  }| }| ||dS r=  r  )rL   rM   rN   r  r;   r;   r<   rO     s    z%GetMessageEditDataRequest.from_readerNr   r;   r;   r;   r<   rk    s   rk  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*   r6   r  r  reactionrc  c                 C   s"   || _ || _|| _|| _|| _dS )z[
        :returns messages.MessageReactionsList: Instance of MessageReactionsList.
        Nrm  )r:   r6   r  r  rn  rc  r;   r;   r<   r=     s
    z'GetMessageReactionsListRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh     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 )Nrl  )r>   r6   r  r  rn  rc  )r?   r6   r   r@   r  r  rn  rc  rA   r;   r;   r<   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 )	NrB   s   H?Frj   Fr   rk   rl   rn   )
rD   rG   rH   rn  rc  r6   rE   r  rF   r  rA   r;   r;   r<   rE     s    > "z%GetMessageReactionsListRequest._bytesc                 C   s^   |  }| }|  }|d@ r*| }nd }|d@ r@| }nd }|  }| |||||dS )Nrk   rl   rm  rf  )rL   rM   rt   rN   r  	_reactionrg  r  r;   r;   r<   rO     s    

z*GetMessageReactionsListRequest.from_reader)NN)rQ   rR   rS   rT   rU   rW   r   ry   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   rl    s    

rl  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  r;   r;   r<   r=     s    z*GetMessageReadParticipantsRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh     s    z)GetMessageReadParticipantsRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nrp  r  r  rA   r;   r;   r<   r@   !  s    z)GetMessageReadParticipantsRequest.to_dictc                 C   s    d d| j td| jfS )NrB   s   O1rn   r  rA   r;   r;   r<   rE   (  s
    z(GetMessageReadParticipantsRequest._bytesc                 C   s   |  }| }| ||dS r  r  r  r;   r;   r<   rO   /  s    z-GetMessageReadParticipantsRequest.from_readerNr   r;   r;   r;   r<   rp    s   rp  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ecrX  r   r  c                 C   s
   || _ dS r\  r  r  r;   r;   r<   r=   :  s    zGetMessagesRequest.__init__c                    s*   g }| j D ]}||| q
|| _ d S ra   )r  r   Zget_input_messager   r;   r;   r<   rh   @  s    
zGetMessagesRequest.resolvec                 C   s$   d| j d krg ndd | j D dS )Nrq  c                 S   s"   g | ]}t |tr| n|qS r;   r   r   r;   r;   r<   r   J  s     z.GetMessagesRequest.to_dict.<locals>.<listcomp>r  r  rA   r;   r;   r<   r@   G  s    zGetMessagesRequest.to_dictc              	   C   s2   d ddtdt| jd dd | jD fS )NrB   s   ecr   rn   c                 s   s   | ]}|  V  qd S ra   r   r   r;   r;   r<   r   P  s     z,GetMessagesRequest._bytes.<locals>.<genexpr>r  rA   r;   r;   r<   rE   M  s      zGetMessagesRequest._bytesc                 C   s:   |   g }t|  D ]}| }|| q| |dS r  rq   r   rI   r   r  r;   r;   r<   rO   S  s    zGetMessagesRequest.from_readerNrQ   rR   rS   rT   rU   r   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   rq  6  s   rq  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   r8  c                 C   s   || _ || _dS r   r8  r9  r;   r;   r<   r=   b  s    z$GetMessagesReactionsRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh   i  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 )Nrt  r:  r;  rA   r;   r;   r<   r@   l  s    z#GetMessagesReactionsRequest.to_dictc              
   C   s:   d d| j dtdt| jd dd | jD fS )NrB   s   携r   rn   c                 s   s   | ]}t d |V  qdS r  r  r   r;   r;   r<   r   w  s     z5GetMessagesReactionsRequest._bytes.<locals>.<genexpr>r<  rA   r;   r;   r<   rE   s  s      z"GetMessagesReactionsRequest._bytesc                 C   sD   |  }|  g }t| D ]}| }|| q | ||dS r=  r   r>  r;   r;   r<   rO   z  s    z'GetMessagesReactionsRequest.from_readerNr?  r;   r;   r;   r<   rt  ^  s   rt  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   r6   r  	incrementc                 C   s   || _ || _|| _dS )zK
        :returns messages.MessageViews: Instance of MessageViews.
        Nrv  )r:   r6   r  rw  r;   r;   r<   r=     s    z GetMessagesViewsRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh     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 )Nru  )r>   r6   r  rw  )r?   r6   r   r@   r  rw  rA   r;   r;   r<   r@     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 )	NrB   s   ӄWr   rn   c                 s   s   | ]}t d |V  qdS r  r  r   r;   r;   r<   r     s     z1GetMessagesViewsRequest._bytes.<locals>.<genexpr>rQ  rR  )rD   r6   rE   rG   rH   r   r  rw  rA   r;   r;   r<   rE     s      zGetMessagesViewsRequest._bytesc                 C   sN   |  }|  g }t| D ]}| }|| q | }| |||dS )Nrv  )rI   rq   r   r   rS  )rL   rM   rN   r  r>   r   Z
_incrementr;   r;   r<   rO     s    z#GetMessagesViewsRequest.from_readerN)rQ   rR   rS   rT   rU   r   rW   rr   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   ru    s   ru  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.
        Nry  )r:   r  r  r;   r;   r<   r=     s    zGetMyStickersRequest.__init__c                 C   s   d| j | jdS )Nrx  )r>   r  r  ry  rA   r;   r;   r<   r@     s    zGetMyStickersRequest.to_dictc                 C   s$   d dtd| jtd| jfS )NrB   s   rC   rn   )rD   rG   rH   r  r  rA   r;   r;   r<   rE     s
    zGetMyStickersRequest._bytesc                 C   s   |  }| }| ||dS )Nry  )rK   rq   )rL   rM   r  r  r;   r;   r<   rO     s    z GetMyStickersRequest.from_readerNr   r;   r;   r;   r<   rx    s   rx  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~rF  rc  r  r   c                 C   s   || _ || _|| _dS rG  r{  )r:   rc  r  r   r;   r;   r<   r=     s    z&GetOldFeaturedStickersRequest.__init__c                 C   s   d| j | j| jdS )Nrz  )r>   rc  r  r   r{  rA   r;   r;   r<   r@     s
    z%GetOldFeaturedStickersRequest.to_dictc              	   C   s0   d dtd| jtd| jtd| jfS )NrB   s   ~rn   rC   )rD   rG   rH   rc  r  r   rA   r;   r;   r<   rE     s    z$GetOldFeaturedStickersRequest._bytesc                 C   s&   |  }|  }| }| |||dS )Nr{  rq   rK   )rL   rM   rg  r  r   r;   r;   r<   rO     s    z)GetOldFeaturedStickersRequest.from_readerNr   r;   r;   r;   r<   rz    s   rz  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   r;   r;   r<   r=     s    zGetOnlinesRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh      s    zGetOnlinesRequest.resolvec                 C   s"   dt | jtr| j n| jdS )Nr}  r   r   rA   r;   r;   r<   r@     s    zGetOnlinesRequest.to_dictc                 C   s   d d| j fS )NrB   s   P+nr   rA   r;   r;   r<   rE   	  s    zGetOnlinesRequest._bytesc                 C   s   |  }| |dS r   r   r   r;   r;   r<   rO     s    zGetOnlinesRequest.from_readerNr   r;   r;   r;   r<   r}    s   r}  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )GetOutboxReadDateRequestl   ]~ iƃQor   r  c                 C   s   || _ || _dS )zF
        :returns OutboxReadDate: Instance of OutboxReadDate.
        Nr  r  r;   r;   r<   r=     s    z!GetOutboxReadDateRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh      s    z GetOutboxReadDateRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr~  r  r  rA   r;   r;   r<   r@   #  s    z GetOutboxReadDateRequest.to_dictc                 C   s    d d| j td| jfS )NrB   s   ]Krn   r  rA   r;   r;   r<   rE   *  s
    zGetOutboxReadDateRequest._bytesc                 C   s   |  }| }| ||dS r  r  r  r;   r;   r<   rO   1  s    z$GetOutboxReadDateRequest.from_readerNr   r;   r;   r;   r<   r~    s   r~  c                   @   s0   e Zd ZdZdZdd Zdd Zedd Zd	S )
GetPaidReactionPrivacyRequestiU$Gr   c                 C   s   ddiS )Nr>   r  r;   rA   r;   r;   r<   r@   <  s     z%GetPaidReactionPrivacyRequest.to_dictc                 C   s
   d dS )NrB   )s   U$Gr   rA   r;   r;   r<   rE   A  s    z$GetPaidReactionPrivacyRequest._bytesc                 C   s   |  S ra   r;   r   r;   r;   r<   rO   F  s    z)GetPaidReactionPrivacyRequest.from_readerNr   r;   r;   r;   r<   r  8  s   r  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.
        Nr  )r:   r  r;   r;   r<   r=   O  s    zGetPeerDialogsRequest.__init__c                    s0   g }| j D ]}|||I d H  q
|| _ d S ra   )r  r   _get_input_dialogr   r;   r;   r<   rh   U  s    
zGetPeerDialogsRequest.resolvec                 C   s$   d| j d krg ndd | j D dS )Nr  c                 S   s"   g | ]}t |tr| n|qS r;   r   r   r;   r;   r<   r   _  s     z1GetPeerDialogsRequest.to_dict.<locals>.<listcomp>)r>   r  r  rA   r;   r;   r<   r@   \  s    zGetPeerDialogsRequest.to_dictc              	   C   s2   d ddtdt| jd dd | jD fS )NrB   s   pr   rn   c                 s   s   | ]}|  V  qd S ra   r   r   r;   r;   r<   r   e  s     z/GetPeerDialogsRequest._bytes.<locals>.<genexpr>)rD   rG   rH   r   r  rA   r;   r;   r<   rE   b  s      zGetPeerDialogsRequest._bytesc                 C   s:   |   g }t|  D ]}| }|| q| |dS )Nr  rr  )rL   rM   Z_peersr>   r   r;   r;   r<   rO   h  s    z!GetPeerDialogsRequest.from_readerNrs  r;   r;   r;   r<   r  K  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 )GetPeerSettingsRequestl   &_ ier   r   c                 C   s
   || _ dS )zK
        :returns messages.PeerSettings: Instance of PeerSettings.
        Nr   r   r;   r;   r<   r=   w  s    zGetPeerSettingsRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh   }  s    zGetPeerSettingsRequest.resolvec                 C   s"   dt | jtr| j n| jdS )Nr  r   r   rA   r;   r;   r<   r@     s    zGetPeerSettingsRequest.to_dictc                 C   s   d d| j fS )NrB   s   r   rA   r;   r;   r<   rE     s    zGetPeerSettingsRequest._bytesc                 C   s   |  }| |dS r   r   r   r;   r;   r<   rO     s    z"GetPeerSettingsRequest.from_readerNr   r;   r;   r;   r<   r  s  s   r  c                   @   s>   e Zd ZdZdZedddZdd Zdd	 Ze	d
d Z
dS )GetPinnedDialogsRequestl   Mr- r  r  c                 C   s
   || _ dS r  r  )r:   r  r;   r;   r<   r=     s    z GetPinnedDialogsRequest.__init__c                 C   s   d| j dS )Nr  )r>   r  r  rA   r;   r;   r<   r@     s    zGetPinnedDialogsRequest.to_dictc                 C   s   d dtd| jfS )NrB   s   Mrn   )rD   rG   rH   r  rA   r;   r;   r<   rE     s    zGetPinnedDialogsRequest._bytesc                 C   s   |  }| |dS )Nr  r*  )rL   rM   r  r;   r;   r<   rO     s    z#GetPinnedDialogsRequest.from_readerNr   r;   r;   r;   r<   r    s   r  c                   @   s0   e Zd ZdZdZdd Zdd Zedd Zd	S )
GetPinnedSavedDialogsRequestl   {, ~Kac                 C   s   ddiS )Nr>   r  r;   rA   r;   r;   r<   r@     s     z$GetPinnedSavedDialogsRequest.to_dictc                 C   s
   d dS )NrB   )s   =r   rA   r;   r;   r<   rE     s    z#GetPinnedSavedDialogsRequest._bytesc                 C   s   |  S ra   r;   r   r;   r;   r<   rO     s    z(GetPinnedSavedDialogsRequest.from_readerNr   r;   r;   r;   r<   r    s   r  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )GetPollResultsRequesti;dsr   r   r  c                 C   s   || _ || _dS r   r  r  r;   r;   r<   r=     s    zGetPollResultsRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh     s    zGetPollResultsRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr  r  r  rA   r;   r;   r<   r@     s    zGetPollResultsRequest.to_dictc                 C   s    d d| j td| jfS )NrB   s   ;dsrn   r  rA   r;   r;   r<   rE     s
    zGetPollResultsRequest._bytesc                 C   s   |  }| }| ||dS r  r  r  r;   r;   r<   rO     s    z!GetPollResultsRequest.from_readerNr   r;   r;   r;   r<   r    s   r  c                   @   sX   e Zd ZdZdZddeeee ee dddZ	dd	 Z
d
d Zdd Zedd ZdS )GetPollVotesRequestl   8p l   3 Nr   r6   r  r  optionrc  c                 C   s"   || _ || _|| _|| _|| _dS )zE
        :returns messages.VotesList: Instance of VotesList.
        Nr  )r:   r6   r  r  r  rc  r;   r;   r<   r=     s
    zGetPollVotesRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh     s    zGetPollVotesRequest.resolvec                 C   s2   dt | jtr| j n| j| j| j| j| jdS )Nr  )r>   r6   r  r  r  rc  )r?   r6   r   r@   r  r  r  rc  rA   r;   r;   r<   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 )	NrB   s   8nrj   Fr   rk   rl   rn   )
rD   rG   rH   r  rc  r6   rE   r  rF   r  rA   r;   r;   r<   rE     s    >""zGetPollVotesRequest._bytesc                 C   s^   |  }| }|  }|d@ r*| }nd }|d@ r@| }nd }|  }| |||||dS )Nrk   rl   r  )rq   rI   rJ   rs   )rL   rM   rt   rN   r  _optionrg  r  r;   r;   r<   rO   
  s    

zGetPollVotesRequest.from_reader)NN)rQ   rR   rS   rT   rU   rW   r   rV   ry   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   r    s    

r  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )GetPreparedInlineMessageRequestl   =
 iMIr%   r  r  c                 C   s   || _ || _dS )z]
        :returns messages.PreparedInlineMessage: Instance of PreparedInlineMessage.
        Nr  )r:   r  r  r;   r;   r<   r=      s    z(GetPreparedInlineMessageRequest.__init__c                    s   | || jI d H | _d S ra   r  re   r;   r;   r<   rh   '  s    z'GetPreparedInlineMessageRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr  )r>   r  r  )r?   r  r   r@   r  rA   r;   r;   r<   r@   *  s    z'GetPreparedInlineMessageRequest.to_dictc                 C   s   d d| j | | jfS )NrB   s   ~)rD   r  rE   rF   r  rA   r;   r;   r<   rE   1  s
    
z&GetPreparedInlineMessageRequest._bytesc                 C   s   |  }| }| ||dS )Nr  r   )rL   rM   r  r  r;   r;   r<   rO   8  s    z+GetPreparedInlineMessageRequest.from_readerNr   r;   r;   r;   r<   r    s   r  c                   @   s>   e Zd ZdZdZedddZdd Zdd	 Ze	d
d Z
dS )GetQuickRepliesRequestl   r) l   fion r   c                 C   s
   || _ dS )zk
        :returns messages.QuickReplies: Instance of either QuickReplies, QuickRepliesNotModified.
        Nr   r   r;   r;   r<   r=   C  s    zGetQuickRepliesRequest.__init__c                 C   s   d| j dS )Nr  r   r   rA   r;   r;   r<   r@   I  s    zGetQuickRepliesRequest.to_dictc                 C   s   d dtd| jfS )NrB   s   rC   r  rA   r;   r;   r<   rE   O  s    zGetQuickRepliesRequest._bytesc                 C   s   |  }| |dS r   r   r   r;   r;   r<   rO   U  s    z"GetQuickRepliesRequest.from_readerNr   r;   r;   r;   r<   r  ?  s   r  c                   @   sL   e Zd ZdZdZdeeeee  dddZdd Z	d	d
 Z
edd ZdS )GetQuickReplyMessagesRequestl   I) rX  Nr%  r   r  c                 C   s   || _ || _|| _dS r\  r  )r:   r%  r   r  r;   r;   r<   r=   _  s    z%GetQuickReplyMessagesRequest.__init__c                 C   s*   d| j | j| jd krg n| jd d  dS )Nr  )r>   r%  r   r  r  rA   r;   r;   r<   r@   g  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 )NrB   s   Õrj   Fr   rk   rn   r   c                 s   s   | ]}t d |V  qdS r  r  r   r;   r;   r<   r   t  s     z6GetQuickReplyMessagesRequest._bytes.<locals>.<genexpr>rC   )rD   rG   rH   r  r%  r   r   rA   r;   r;   r<   rE   o  s    "Fz#GetQuickReplyMessagesRequest._bytesc                 C   sd   |  }|  }|d@ rJ|   g }t|  D ]}|  }|| q0nd }| }| |||dS )Nrk   r  )rq   r   r   rK   )rL   rM   rt   r'  r  r>   r   r   r;   r;   r<   rO   x  s    z(GetQuickReplyMessagesRequest.from_reader)N)rQ   rR   rS   rT   rU   rW   r   r   r=   r@   rE   rX   rO   r;   r;   r;   r<   r  [  s   	r  c                   @   sJ   e Zd ZdZdZdeedddZdd Zd	d
 Zdd Z	e
dd ZdS )GetRecentLocationsRequesti@*prX  r   r6   r  r   c                 C   s   || _ || _|| _dS r\  r  )r:   r6   r  r   r;   r;   r<   r=     s    z"GetRecentLocationsRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh     s    z!GetRecentLocationsRequest.resolvec                 C   s*   dt | jtr| j n| j| j| jdS )Nr  )r>   r6   r  r   )r?   r6   r   r@   r  r   rA   r;   r;   r<   r@     s
    z!GetRecentLocationsRequest.to_dictc              	   C   s,   d d| j td| jtd| jfS )NrB   s   @*prn   rC   )rD   r6   rE   rG   rH   r  r   rA   r;   r;   r<   rE     s    z GetRecentLocationsRequest._bytesc                 C   s&   |  }| }| }| |||dS )Nr  )rI   rq   rK   )rL   rM   rN   r  r   r;   r;   r<   rO     s    z%GetRecentLocationsRequest.from_readerNr   r;   r;   r;   r<   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  r:   r  r   r;   r;   r<   r=     s    z"GetRecentReactionsRequest.__init__c                 C   s   d| j | jdS )Nr  r>   r  r   r  rA   r;   r;   r<   r@     s    z!GetRecentReactionsRequest.to_dictc                 C   s$   d dtd| jtd| jfS )NrB   s   F9rn   rC   rD   rG   rH   r  r   rA   r;   r;   r<   rE     s
    z GetRecentReactionsRequest._bytesc                 C   s   |  }| }| ||dS Nr  r|  rL   rM   r  r   r;   r;   r<   rO     s    z%GetRecentReactionsRequest.from_readerNr   r;   r;   r;   r<   r    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  )r:   r   r   r;   r;   r<   r=     s    z!GetRecentStickersRequest.__init__c                 C   s   d| j | jdS )Nr  )r>   r   r   r  rA   r;   r;   r<   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 )NrB   s   ;@rj   Fr   rk   rC   )rD   rG   rH   r   r   rA   r;   r;   r<   rE     s
    "zGetRecentStickersRequest._bytesc                 C   s(   |  }t|d@ }| }| ||dS )Nrk   r  r  )rL   rM   rt   r   r   r;   r;   r<   rO     s    z$GetRecentStickersRequest.from_reader)NrJ  r;   r;   r;   r<   r    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"rX  r   	r6   r]   r  r  rZ  r  r  r[  r   c
           
      C   s:   || _ || _|| _|| _|| _|| _|| _|| _|	| _dS r\  r  )
r:   r6   r]   r  r  rZ  r  r  r[  r   r;   r;   r<   r=     s    zGetRepliesRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh     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>   r6   r]   r  r  rZ  r  r  r[  r   )r?   r6   r   r@   r]   r  r  rZ  r  r  r[  r   rA   r;   r;   r<   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 )NrB   s   "rn   rC   )rD   r6   rE   rG   rH   r]   r  r  r  rZ  r  r  r[  r   rA   r;   r;   r<   rE     s    
zGetRepliesRequest._bytesc                 C   sb   |  }| }| }| }| }| }| }| }	| }
| ||||||||	|
d	S )Nr  r]  )rL   rM   rN   rv   r  r  r^  r  r  r_  r   r;   r;   r<   rO   $  s    zGetRepliesRequest.from_readerNr6  r;   r;   r;   r<   r    s   "r  c                	   @   s`   e Zd ZdZdZde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 )GetSavedDialogsRequestir  Nr   r  r  r  r  r   r  r2  c                 C   s.   || _ || _|| _|| _|| _|| _|| _dS z~
        :returns messages.SavedDialogs: Instance of either SavedDialogs, SavedDialogsSlice, SavedDialogsNotModified.
        Nr  )r:   r  r  r  r  r   r  r2  r;   r;   r<   r=   6  s    zGetSavedDialogsRequest.__init__c                    s>   | || jI d H | _| jr:| || jI d H | _d S ra   )rc   rd   r  r2  re   r;   r;   r<   rh   B  s    zGetSavedDialogsRequest.resolvec              
   C   sP   d| j | jt| jtr | j n| j| j| j| jt| j	trF| j	 n| j	dS )Nr  )r>   r  r  r  r  r   r  r2  )
r  r  r?   r  r   r@   r  r   r  r2  rA   r;   r;   r<   r@   G  s    zGetSavedDialogsRequest.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| j | | jtd| j| j	 td| j
td	| jfS )
NrB   s   rj   Fr   rk   rl   rn   rC   )rD   rG   rH   r  r2  rE   r  r  r  r  r  r   rA   r;   r;   r<   rE   S  s    > 
zGetSavedDialogsRequest._bytesc           
   	   C   sh   |  }t|d@ }|d@ r&| }nd }| }|  }| }|  }| }	| |||||	||dS )Nrk   rl   r  )rq   rr   rI   r  rK   )
rL   rM   rt   r  r5  r  r  r  r  r   r;   r;   r<   rO   _  s    
z"GetSavedDialogsRequest.from_reader)NNr  r;   r;   r;   r<   r  2  s   (r  c                   @   sR   e Zd ZdZdZded ed dddZdd	 Zd
d Z	dd Z
edd ZdS )GetSavedDialogsByIDRequestioor  Nr   idsr2  c                 C   s   || _ || _dS r  r  )r:   r  r2  r;   r;   r<   r=   t  s    z#GetSavedDialogsByIDRequest.__init__c                    sV   g }| j D ] }||||I d H  q
|| _ | jrR||| jI d H | _d S ra   )r  r   rc   rd   r2  r   r;   r;   r<   rh   {  s    
z"GetSavedDialogsByIDRequest.resolvec                 C   s>   d| j d krg ndd | j D t| jtr4| j n| jdS )Nr  c                 S   s"   g | ]}t |tr| n|qS r;   r   r   r;   r;   r<   r     s     z6GetSavedDialogsByIDRequest.to_dict.<locals>.<listcomp>)r>   r  r2  )r  r?   r2  r   r@   rA   r;   r;   r<   r@     s    z"GetSavedDialogsByIDRequest.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| j dtdt| jd d	d
 | jD fS )NrB   s   oorj   Fr   rl   r   rn   c                 s   s   | ]}|  V  qd S ra   r   r   r;   r;   r<   r     s     z4GetSavedDialogsByIDRequest._bytes.<locals>.<genexpr>)rD   rG   rH   r2  rE   r   r  rA   r;   r;   r<   rE     s    "   z!GetSavedDialogsByIDRequest._bytesc                 C   sZ   |  }|d@ r| }nd }|   g }t|  D ]}| }|| q6| ||dS )Nrl   r  rq   rI   r   r   )rL   rM   rt   r5  Z_idsr>   r   r;   r;   r<   rO     s    
z&GetSavedDialogsByIDRequest.from_reader)N)rQ   rR   rS   rT   rU   r   r   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   r  p  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   r;   r;   r<   r=     s    zGetSavedGifsRequest.__init__c                 C   s   d| j dS )Nr  r   r   rA   r;   r;   r<   r@     s    zGetSavedGifsRequest.to_dictc                 C   s   d dtd| jfS )NrB   s   5\rC   r  rA   r;   r;   r<   rE     s    zGetSavedGifsRequest._bytesc                 C   s   |  }| |dS r   r   r   r;   r;   r<   rO     s    zGetSavedGifsRequest.from_readerNr   r;   r;   r;   r<   r    s   r  c                   @   s`   e Zd ZdZdZddeee eeeeeed d	ddZdd	 Z	d
d Z
dd Zedd ZdS )GetSavedHistoryRequestl   	03 rX  Nr   	r6   r  r  rZ  r  r  r[  r   r2  c
           
      C   s:   || _ || _|| _|| _|| _|| _|| _|| _|	| _dS r\  r  )
r:   r6   r  r  rZ  r  r  r[  r   r2  r;   r;   r<   r=     s    zGetSavedHistoryRequest.__init__c                    s>   | || jI d H | _| jr:| || jI d H | _d S ra   r3  re   r;   r;   r<   rh     s    zGetSavedHistoryRequest.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 )Nr  )
r>   r6   r  r  rZ  r  r  r[  r   r2  )r?   r6   r   r@   r  r  rZ  r  r  r[  r   r2  rA   r;   r;   r<   r@     s    zGetSavedHistoryRequest.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 td| j| | jtd| j	td| j
td| jtd| jtd| jfS )	NrB   s   	rj   Fr   rk   rn   rC   )rD   rG   rH   r2  rE   r6   r  r  r  rZ  r  r  r[  r   rA   r;   r;   r<   rE     s    " 
zGetSavedHistoryRequest._bytesc                 C   sx   |  }|d@ r| }nd }| }|  }| }|  }|  }|  }	|  }
| }| ||||||	|
||d	S )Nrk   r  )rq   rI   r  rK   )rL   rM   rt   r5  rN   r  r  r^  r  r  r_  r   r;   r;   r<   rO     s    
z"GetSavedHistoryRequest.from_reader)Nr6  r;   r;   r;   r<   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   r6   c                 C   s   || _ || _dS )zz
        :returns messages.SavedReactionTags: Instance of either SavedReactionTagsNotModified, SavedReactionTags.
        Nr  )r:   r   r6   r;   r;   r<   r=     s    z$GetSavedReactionTagsRequest.__init__c                    s$   | j r ||| j I d H | _ d S ra   rb   re   r;   r;   r<   rh     s    z#GetSavedReactionTagsRequest.resolvec                 C   s&   d| j t| jtr| j n| jdS )Nr  )r>   r   r6   )r   r?   r6   r   r@   rA   r;   r;   r<   r@     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 )NrB   s   [76rj   Fr   rk   rC   )rD   rG   rH   r6   rE   r   rA   r;   r;   r<   rE     s    " z"GetSavedReactionTagsRequest._bytesc                 C   s2   |  }|d@ r| }nd }| }| ||dS )Nrk   r  rq   rI   rK   )rL   rM   rt   rN   r   r;   r;   r<   rO   %  s    
z'GetSavedReactionTagsRequest.from_reader)NrQ   rR   rS   rT   rU   rW   r   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   r    s   r  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )GetScheduledHistoryRequestl   v,j rX  r   r6   r   c                 C   s   || _ || _dS r\  r  )r:   r6   r   r;   r;   r<   r=   5  s    z#GetScheduledHistoryRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh   <  s    z"GetScheduledHistoryRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr  )r>   r6   r   )r?   r6   r   r@   r   rA   r;   r;   r<   r@   ?  s    z"GetScheduledHistoryRequest.to_dictc                 C   s    d d| j td| jfS )NrB   s   vrC   )rD   r6   rE   rG   rH   r   rA   r;   r;   r<   rE   F  s
    z!GetScheduledHistoryRequest._bytesc                 C   s   |  }| }| ||dS )Nr  r  )rL   rM   rN   r   r;   r;   r<   rO   M  s    z&GetScheduledHistoryRequest.from_readerNr   r;   r;   r;   r<   r  1  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{ rX  r   r8  c                 C   s   || _ || _dS r\  r8  r9  r;   r;   r<   r=   X  s    z$GetScheduledMessagesRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh   _  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;  rA   r;   r;   r<   r@   b  s    z#GetScheduledMessagesRequest.to_dictc              
   C   s:   d d| j dtdt| jd dd | jD fS )NrB   s   dr   rn   c                 s   s   | ]}t d |V  qdS r  r  r   r;   r;   r<   r   m  s     z5GetScheduledMessagesRequest._bytes.<locals>.<genexpr>r<  rA   r;   r;   r<   rE   i  s      z"GetScheduledMessagesRequest._bytesc                 C   sD   |  }|  g }t| D ]}| }|| q | ||dS r=  r   r>  r;   r;   r<   rO   p  s    z'GetScheduledMessagesRequest.from_readerNr?  r;   r;   r;   r<   r  T  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(   r6   filterssaved_peer_idrB  c                 C   s   || _ || _|| _|| _dS )zY
        :returns Vector<messages.SearchCounter>: This type has no constructors.
        Nr  )r:   r6   r  r  rB  r;   r;   r<   r=     s    z!GetSearchCountersRequest.__init__c                    s>   | || jI d H | _| jr:| || jI d H | _d S ra   rc   rd   r6   r  re   r;   r;   r<   rh     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 r;   r   r   r;   r;   r<   r     s     z4GetSearchCountersRequest.to_dict.<locals>.<listcomp>)r>   r6   r  r  rB  )r?   r6   r   r@   r  r  rB  rA   r;   r;   r<   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 )NrB   s    rj   Fr   rm   rk   rn   r   c                 s   s   | ]}|  V  qd S ra   r   r   r;   r;   r<   r     s     z2GetSearchCountersRequest._bytes.<locals>.<genexpr>)	rD   rG   rH   r  rB  r6   rE   r   r  rA   r;   r;   r<   rE     s    > $  zGetSearchCountersRequest._bytesc           	      C   s|   |  }| }|d@ r"| }nd }|d@ r8|  }nd }|   g }t|  D ]}| }|| qT| ||||dS )Nrm   rk   r  r  )	rL   rM   rt   rN   _saved_peer_idrF  _filtersr>   r   r;   r;   r<   rO     s    

z$GetSearchCountersRequest.from_reader)NN)rQ   rR   rS   rT   rU   r   r   rW   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   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(   r6   filterr  r  r  c                 C   s"   || _ || _|| _|| _|| _dS )z]
        :returns messages.SearchResultsCalendar: Instance of SearchResultsCalendar.
        Nr  )r:   r6   r  r  r  r  r;   r;   r<   r=     s
    z(GetSearchResultsCalendarRequest.__init__c                    s>   | || jI d H | _| jr:| || jI d H | _d S ra   r  re   r;   r;   r<   rh     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>   r6   r  r  r  r  )r?   r6   r   r@   r  r  r  r  rA   r;   r;   r<   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 )NrB   s   jrj   Fr   rm   rn   )
rD   rG   rH   r  r6   rE   r  r  r  r  rA   r;   r;   r<   rE     s    " 
z&GetSearchResultsCalendarRequest._bytesc                 C   sP   |  }| }|d@ r"| }nd }| }|  }| }| |||||dS )Nrm   r  r4  )rL   rM   rt   rN   r  _filterr  r  r;   r;   r<   rO     s    
z+GetSearchResultsCalendarRequest.from_reader)Nr6  r;   r;   r;   r<   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(   r6   r  r  r  r  c                 C   s"   || _ || _|| _|| _|| _dS )z_
        :returns messages.SearchResultsPositions: Instance of SearchResultsPositions.
        Nr  )r:   r6   r  r  r  r  r;   r;   r<   r=     s
    z)GetSearchResultsPositionsRequest.__init__c                    s>   | || jI d H | _| jr:| || jI d H | _d S ra   r  re   r;   r;   r<   rh     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>   r6   r  r  r  r  )r?   r6   r   r@   r  r  r  r  rA   r;   r;   r<   r@     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 )NrB   s   /rj   Fr   rm   rn   )	rD   rG   rH   r  r6   rE   r  r  r  rA   r;   r;   r<   rE     s    " z'GetSearchResultsPositionsRequest._bytesc                 C   sP   |  }| }|d@ r"| }nd }| }|  }|  }| |||||dS )Nrm   r  r  )rL   rM   rt   rN   r  r  r  r  r;   r;   r<   rO     s    
z,GetSearchResultsPositionsRequest.from_reader)Nr  r;   r;   r;   r<   r    s   

r  c                   @   s0   e Zd ZdZdZdd Zdd Zedd Zd	S )
GetSplitRangesRequesti~i%[c                 C   s   ddiS )Nr>   r  r;   rA   r;   r;   r<   r@   )  s     zGetSplitRangesRequest.to_dictc                 C   s
   d dS )NrB   )s   ~r   rA   r;   r;   r<   rE   .  s    zGetSplitRangesRequest._bytesc                 C   s   |  S ra   r;   r   r;   r;   r<   rO   3  s    z!GetSplitRangesRequest.from_readerNr   r;   r;   r;   r<   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 )GetSponsoredMessagesRequestiPl=iiANr   r  c                 C   s   || _ || _dS )zt
        :returns messages.SponsoredMessages: Instance of either SponsoredMessages, SponsoredMessagesEmpty.
        Nr  r  r;   r;   r<   r=   <  s    z$GetSponsoredMessagesRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh   C  s    z#GetSponsoredMessagesRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr  r  r  rA   r;   r;   r<   r@   F  s    z#GetSponsoredMessagesRequest.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 )NrB   s   Pl=rj   Fr   rk   rn   )rD   rG   rH   r]   r6   rE   rA   r;   r;   r<   rE   M  s    "$z"GetSponsoredMessagesRequest._bytesc                 C   s2   |  }| }|d@ r"|  }nd }| ||dS )Nrk   r  r  )rL   rM   rt   rN   rv   r;   r;   r<   rO   U  s    
z'GetSponsoredMessagesRequest.from_reader)NrQ   rR   rS   rT   rU   r   rW   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   r  8  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  )r:   r  r   r;   r;   r<   r=   e  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   rA   r;   r;   r<   r@   l  s    zGetStickerSetRequest.to_dictc                 C   s    d d| j td| jfS )NrB   s   trn   )rD   r  rE   rG   rH   r   rA   r;   r;   r<   rE   s  s
    zGetStickerSetRequest._bytesc                 C   s   |  }| }| ||dS )Nr  r  )rL   rM   _stickersetr   r;   r;   r<   rO   z  s    z GetStickerSetRequest.from_readerNr   r;   r;   r;   r<   r  a  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  r:   r  r   r;   r;   r<   r=     s    zGetStickersRequest.__init__c                 C   s   d| j | jdS )Nr  r>   r  r   r  rA   r;   r;   r<   r@     s    zGetStickersRequest.to_dictc                 C   s"   d d| | jtd| jfS )NrB   s   ӥrC   rD   rF   r  rG   rH   r   rA   r;   r;   r<   rE     s
    
zGetStickersRequest._bytesc                 C   s   |  }| }| ||dS Nr  rs   rK   rL   rM   	_emoticonr   r;   r;   r<   rO     s    zGetStickersRequest.from_readerNr3  r;   r;   r;   r<   r    s   r  c                   @   s0   e Zd ZdZdZdd Zdd Zedd Zd	S )
 GetSuggestedDialogFiltersRequestl   ,T9E i9l){c                 C   s   ddiS )Nr>   r  r;   rA   r;   r;   r<   r@     s     z(GetSuggestedDialogFiltersRequest.to_dictc                 C   s
   d dS )NrB   )s   ,Ԝr   rA   r;   r;   r<   rE     s    z'GetSuggestedDialogFiltersRequest._bytesc                 C   s   |  S ra   r;   r   r;   r;   r<   rO     s    z,GetSuggestedDialogFiltersRequest.from_readerNr   r;   r;   r;   r<   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  r;   r;   r<   r=     s    zGetTopReactionsRequest.__init__c                 C   s   d| j | jdS )Nr  r  r  rA   r;   r;   r<   r@     s    zGetTopReactionsRequest.to_dictc                 C   s$   d dtd| jtd| jfS )NrB   s   %rn   rC   r  rA   r;   r;   r<   rE     s
    zGetTopReactionsRequest._bytesc                 C   s   |  }| }| ||dS r  r|  r  r;   r;   r<   rO     s    z"GetTopReactionsRequest.from_readerNr   r;   r;   r;   r<   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 rX  Nr   r6   r  rZ  r  r  r[  rB  c                 C   s.   || _ || _|| _|| _|| _|| _|| _dS r\  r  )r:   r6   r  rZ  r  r  r[  rB  r;   r;   r<   r=     s    z!GetUnreadMentionsRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh     s    z GetUnreadMentionsRequest.resolvec              	   C   s:   dt | jtr| j n| j| j| j| j| j| j| j	dS )Nr  )r>   r6   r  rZ  r  r  r[  rB  )
r?   r6   r   r@   r  rZ  r  r  r[  rB  rA   r;   r;   r<   r@     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 )NrB   s   rj   Fr   rk   rn   )rD   rG   rH   rB  r6   rE   r  rZ  r  r  r[  rA   r;   r;   r<   rE     s    "$zGetUnreadMentionsRequest._bytesc           
   	   C   sd   |  }| }|d@ r"|  }nd }|  }|  }|  }|  }|  }	| ||||||	|dS )Nrk   r  r  )
rL   rM   rt   rN   rF  r  r^  r  r  r_  r;   r;   r<   rO      s    
z$GetUnreadMentionsRequest.from_reader)Nr  r;   r;   r;   r<   r    s    r  c                
   @   s^   e Zd ZdZdZ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 )GetUnreadReactionsRequestl   z rX  Nr   r6   r  rZ  r  r  r[  rB  r  c	           	      C   s4   || _ || _|| _|| _|| _|| _|| _|| _dS r\  r  )	r:   r6   r  rZ  r  r  r[  rB  r  r;   r;   r<   r=     s    z"GetUnreadReactionsRequest.__init__c                    s>   | || jI d H | _| jr:| || jI d H | _d S ra   r  re   r;   r;   r<   rh   "  s    z!GetUnreadReactionsRequest.resolvec                 C   sT   dt | jtr| j n| j| j| j| j| j| j| j	t | j
trJ| j
 n| j
d	S )Nr  )	r>   r6   r  rZ  r  r  r[  rB  r  )r?   r6   r   r@   r  rZ  r  r  r[  rB  r  rA   r;   r;   r<   r@   '  s    z!GetUnreadReactionsRequest.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td| j| jd ks| jdkrdn| j td| jtd| jtd| j	td| j
td| jf
S )	NrB   s   rj   Fr   rk   rl   rn   )rD   rG   rH   rB  r  r6   rE   r  rZ  r  r  r[  rA   r;   r;   r<   rE   4  s    >$ z GetUnreadReactionsRequest._bytesc              
   C   s|   |  }| }|d@ r"|  }nd }|d@ r8| }nd }|  }|  }|  }|  }	|  }
| |||||	|
||dS )Nrk   rl   r  r  )rL   rM   rt   rN   rF  r  r  r^  r  r  r_  r;   r;   r<   rO   B  s    

z%GetUnreadReactionsRequest.from_reader)NNr  r;   r;   r;   r<   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  )r:   r_   r   r;   r;   r<   r=   [  s    zGetWebPageRequest.__init__c                 C   s   d| j | jdS )Nr  )r>   r_   r   r  rA   r;   r;   r<   r@   b  s    zGetWebPageRequest.to_dictc                 C   s"   d d| | jtd| jfS )NrB   s   rn   )rD   rF   r_   rG   rH   r   rA   r;   r;   r<   rE   i  s
    
zGetWebPageRequest._bytesc                 C   s   |  }| }| ||dS )Nr  r2  )rL   rM   rx   r   r;   r;   r<   rO   p  s    zGetWebPageRequest.from_readerNr3  r;   r;   r;   r<   r  W  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'   ry  r{  c                 C   s   || _ || _dS )zO
        :returns messages.WebPagePreview: Instance of WebPagePreview.
        Nr  )r:   ry  r{  r;   r;   r<   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 r;   r   r   r;   r;   r<   r     s     z4GetWebPagePreviewRequest.to_dict.<locals>.<listcomp>)r>   ry  r{  r  rA   r;   r;   r<   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 )NrB   s   ooWrj   Fr   r   r   rn   c                 s   s   | ]}|  V  qd S ra   r   r   r;   r;   r<   r     s     z2GetWebPagePreviewRequest._bytes.<locals>.<genexpr>)rD   rG   rH   r{  rF   ry  r   rA   r;   r;   r<   rE     s    "
FzGetWebPagePreviewRequest._bytesc                 C   sZ   |  }| }|d@ rJ|   g }t|  D ]}| }|| q0nd }| ||dS )Nr   r  )rq   rs   r   rI   r   )rL   rM   rt   r  r  r>   r   r;   r;   r<   rO     s    z$GetWebPagePreviewRequest.from_reader)N)rQ   rR   rS   rT   rU   ry   r   r   r=   r@   rE   rX   rO   r;   r;   r;   r<   r  w  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   r6   approvedr   c                 C   s   || _ || _|| _dS r   r  )r:   r6   r  r   r;   r;   r<   r=     s    z'HideAllChatJoinRequestsRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh     s    z&HideAllChatJoinRequestsRequest.resolvec                 C   s*   dt | jtr| j n| j| j| jdS )Nr  )r>   r6   r  r   )r?   r6   r   r@   r  r   rA   r;   r;   r<   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 )NrB   s   rj   Fr   rk   rl   )rD   rG   rH   r  r   r6   rE   rF   rA   r;   r;   r<   rE     s    >"z%HideAllChatJoinRequestsRequest._bytesc                 C   s@   |  }t|d@ }| }|d@ r.| }nd }| |||dS )Nrk   rl   r  rp   )rL   rM   rt   	_approvedrN   r   r;   r;   r<   rO     s    
z*HideAllChatJoinRequestsRequest.from_reader)NN)rQ   rR   rS   rT   rU   r   rr   ry   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   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%   r6   r~   r  c                 C   s   || _ || _|| _dS r   r  )r:   r6   r~   r  r;   r;   r<   r=     s    z#HideChatJoinRequestRequest.__init__c                    s8   | || jI d H | _||| jI d H | _d S ra   rV  re   r;   r;   r<   rh     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>   r6   r~   r  )r?   r6   r   r@   r~   r  rA   r;   r;   r<   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 )NrB   s   rj   Fr   rk   )rD   rG   rH   r  r6   rE   r~   rA   r;   r;   r<   rE     s    "z!HideChatJoinRequestRequest._bytesc                 C   s2   |  }t|d@ }| }| }| |||dS )Nrk   r  rq   rr   rI   )rL   rM   rt   r  rN   r   r;   r;   r<   rO     s
    z&HideChatJoinRequestRequest.from_reader)NrQ   rR   rS   rT   rU   r   rr   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   r    s   r  c                   @   sF   e Zd ZdZdZddddZdd Zd	d
 Zdd Ze	dd Z
dS )HidePeerSettingsBarRequesti8Or   r   r   c                 C   s
   || _ dS r   r   r   r;   r;   r<   r=     s    z#HidePeerSettingsBarRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh     s    z"HidePeerSettingsBarRequest.resolvec                 C   s"   dt | jtr| j n| jdS )Nr  r   r   rA   r;   r;   r<   r@     s    z"HidePeerSettingsBarRequest.to_dictc                 C   s   d d| j fS )NrB   s   8Or   rA   r;   r;   r<   rE     s    z!HidePeerSettingsBarRequest._bytesc                 C   s   |  }| |dS r   r   r   r;   r;   r<   rO     s    z&HidePeerSettingsBarRequest.from_readerNr   r;   r;   r;   r<   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   r;   r;   r<   r=     s    z ImportChatInviteRequest.__init__c                 C   s   d| j dS )Nr  r   r   rA   r;   r;   r<   r@   !  s    zImportChatInviteRequest.to_dictc                 C   s   d d| | jfS )NrB   s   Plr   rA   r;   r;   r<   rE   '  s    
zImportChatInviteRequest._bytesc                 C   s   |  }| |dS r   r   r   r;   r;   r<   rO   -  s    z#ImportChatInviteRequest.from_readerNr   r;   r;   r;   r<   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   r6   filemedia_countc                 C   s   || _ || _|| _dS )zM
        :returns messages.HistoryImport: Instance of HistoryImport.
        Nr  )r:   r6   r  r  r;   r;   r<   r=   7  s    z!InitHistoryImportRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh   ?  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>   r6   r  r  )r?   r6   r   r@   r  r  rA   r;   r;   r<   r@   B  s
    z InitHistoryImportRequest.to_dictc              	   C   s(   d d| j | j td| jfS )NrB   s   ;	4rn   )rD   r6   rE   r  rG   rH   r  rA   r;   r;   r<   rE   J  s    zInitHistoryImportRequest._bytesc                 C   s&   |  }|  }| }| |||dS )Nr  r  )rL   rM   rN   _fileZ_media_countr;   r;   r<   rO   R  s    z$InitHistoryImportRequest.from_readerNr   r;   r;   r;   r<   r  3  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  )r:   r  r  r;   r;   r<   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  rA   r;   r;   r<   r@   e  s    z InstallStickerSetRequest.to_dictc                 C   s    d d| j | jrdndfS )NrB   s   `rQ  rR  )rD   r  rE   r  rA   r;   r;   r<   rE   l  s
    zInstallStickerSetRequest._bytesc                 C   s   |  }| }| ||dS )Nr  r  )rL   rM   r  Z	_archivedr;   r;   r<   rO   s  s    z$InstallStickerSetRequest.from_readerNrQ   rR   rS   rT   rU   rr   r=   r@   rE   rX   rO   r;   r;   r;   r<   r  Z  s   r  c                   @   sT   e Zd ZdZdZ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 )MarkDialogUnreadRequestl    r   Nr   r   r6   unreadr2  c                 C   s   || _ || _|| _dS r   r  )r:   r6   r  r2  r;   r;   r<   r=   ~  s    z MarkDialogUnreadRequest.__init__c                    s8   | | jI d H | _| jr4||| jI d H | _d S ra   )r  r6   r2  rc   rd   re   r;   r;   r<   rh     s    zMarkDialogUnreadRequest.resolvec                 C   s@   dt | jtr| j n| j| jt | jtr6| j n| jdS )Nr  )r>   r6   r  r2  )r?   r6   r   r@   r  r2  rA   r;   r;   r<   r@     s
    zMarkDialogUnreadRequest.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sX| jdkr\dn| j | j fS )NrB   s   Prj   Fr   rk   rl   )rD   rG   rH   r  r2  rE   r6   rA   r;   r;   r<   rE     s    > zMarkDialogUnreadRequest._bytesc                 C   s@   |  }t|d@ }|d@ r&| }nd }| }| |||dS )Nrk   rl   r  r  )rL   rM   rt   Z_unreadr5  rN   r;   r;   r<   rO     s    
z#MarkDialogUnreadRequest.from_reader)NNr  r;   r;   r;   r<   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 )MigrateChatRequestl   SE r   r   c                 C   s
   || _ dS r   r   r   r;   r;   r<   r=     s    zMigrateChatRequest.__init__c                 C   s   d| j dS )Nr  r   r   rA   r;   r;   r<   r@     s    zMigrateChatRequest.to_dictc                 C   s   d dtd| jfS )NrB   s   SrC   r   rA   r;   r;   r<   rE     s    zMigrateChatRequest._bytesc                 C   s   |  }| |dS r   r   r   r;   r;   r<   rO     s    zMigrateChatRequest.from_readerNr   r;   r;   r;   r<   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!   r6   r  query_idr  r  r   c                 C   s(   || _ || _|| _|| _|| _|| _dS r   r  )r:   r6   r  r  r  r  r   r;   r;   r<   r=     s    zProlongWebViewRequest.__init__c                    sX   | || jI d H | _||| jI d H | _| jrT| || jI d H | _d S ra   rc   rd   r6   r   r  r   re   r;   r;   r<   rh     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>   r6   r  r  r  r  r   )	r?   r6   r   r@   r  r  r  r  r   rA   r;   r;   r<   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 )
NrB   s   ذrj   Fr   r  rk   r  rC   )
rD   rG   rH   r  r  r   r6   rE   r  r  rA   r;   r;   r<   rE     s    Z  zProlongWebViewRequest._bytesc           	      C   sl   |  }t|d@ }| }| }| }|d@ r>| }nd }|d@ rT| }nd }| ||||||dS )Nr  rk   r  r  )rq   rr   rI   rK   )	rL   rM   rt   r  rN   r  	_query_idr  r   r;   r;   r<   rO     s    

z!ProlongWebViewRequest.from_reader)NNNr   r;   r;   r;   r<   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   r6   r]   transcription_idgoodc                 C   s   || _ || _|| _|| _dS r   r  )r:   r6   r]   r  r  r;   r;   r<   r=     s    z$RateTranscribedAudioRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh     s    z#RateTranscribedAudioRequest.resolvec                 C   s.   dt | jtr| j n| j| j| j| jdS )Nr  )r>   r6   r]   r  r  )r?   r6   r   r@   r]   r  r  rA   r;   r;   r<   r@     s    z#RateTranscribedAudioRequest.to_dictc              	   C   s8   d d| j td| jtd| j| jr0dndfS )NrB   s   /rn   rC   rQ  rR  )rD   r6   rE   rG   rH   r]   r  r  rA   r;   r;   r<   rE     s    z"RateTranscribedAudioRequest._bytesc                 C   s0   |  }| }| }| }| ||||dS )Nr  )rI   rq   rK   rS  )rL   rM   rN   rv   Z_transcription_idZ_goodr;   r;   r<   rO   $  s
    z'RateTranscribedAudioRequest.from_readerNrT  r;   r;   r;   r<   r    s   			r  c                   @   sJ   e Zd ZdZdZdeedddZdd Zd	d
 Zdd Z	e
dd ZdS )ReadDiscussionRequestl   )cn r   r   r6   r]   read_max_idc                 C   s   || _ || _|| _dS r   r  )r:   r6   r]   r  r;   r;   r<   r=   1  s    zReadDiscussionRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh   9  s    zReadDiscussionRequest.resolvec                 C   s*   dt | jtr| j n| j| j| jdS )Nr  )r>   r6   r]   r  )r?   r6   r   r@   r]   r  rA   r;   r;   r<   r@   <  s
    zReadDiscussionRequest.to_dictc              	   C   s,   d d| j td| jtd| jfS )NrB   s   1rn   )rD   r6   rE   rG   rH   r]   r  rA   r;   r;   r<   rE   D  s    zReadDiscussionRequest._bytesc                 C   s&   |  }| }| }| |||dS )Nr  r  )rL   rM   rN   rv   Z_read_max_idr;   r;   r<   rO   L  s    z!ReadDiscussionRequest.from_readerNr   r;   r;   r;   r<   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 )ReadEncryptedHistoryRequesti
iKr   r   r6   r  c                 C   s   || _ || _dS r   r  )r:   r6   r  r;   r;   r<   r=   X  s    z$ReadEncryptedHistoryRequest.__init__c                 C   s&   dt | jtr| j n| j| jdS )Nr  )r>   r6   r  )r?   r6   r   r@   r  rA   r;   r;   r<   r@   _  s    z#ReadEncryptedHistoryRequest.to_dictc                 C   s   d d| j | | jfS )NrB   s   
iK)rD   r6   rE   r  r  rA   r;   r;   r<   rE   f  s
    
z"ReadEncryptedHistoryRequest._bytesc                 C   s   |  }| }| ||dS )Nr  )rI   r  )rL   rM   rN   r  r;   r;   r<   rO   m  s    z'ReadEncryptedHistoryRequest.from_readerN)rQ   rR   rS   rT   rU   r   r	   r=   r@   rE   rX   rO   r;   r;   r;   r<   r  T  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  r;   r;   r<   r=   x  s    z$ReadFeaturedStickersRequest.__init__c                 C   s"   d| j d krg n| j d d  dS )Nr   r  r  rA   r;   r;   r<   r@   ~  s    z#ReadFeaturedStickersRequest.to_dictc              	   C   s2   d ddtdt| jd dd | jD fS )NrB   s   &[r   rn   c                 s   s   | ]}t d |V  qdS r  r  r   r;   r;   r<   r     s     z5ReadFeaturedStickersRequest._bytes.<locals>.<genexpr>r  rA   r;   r;   r<   rE     s      z"ReadFeaturedStickersRequest._bytesc                 C   s:   |   g }t|  D ]}| }|| q| |dS r  r  r  r;   r;   r<   rO     s    z'ReadFeaturedStickersRequest.from_readerNr  r;   r;   r;   r<   r   t  s   r   c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )ReadHistoryRequesti:m0r  r   r6   r  c                 C   s   || _ || _dS r  r  )r:   r6   r  r;   r;   r<   r=     s    zReadHistoryRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh     s    zReadHistoryRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr  )r>   r6   r  )r?   r6   r   r@   r  rA   r;   r;   r<   r@     s    zReadHistoryRequest.to_dictc                 C   s    d d| j td| jfS )NrB   s   :m0rn   )rD   r6   rE   rG   rH   r  rA   r;   r;   r<   rE     s
    zReadHistoryRequest._bytesc                 C   s   |  }| }| ||dS )Nr  r  )rL   rM   rN   r  r;   r;   r<   rO     s    zReadHistoryRequest.from_readerNr   r;   r;   r;   r<   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   rA  c                 C   s   || _ || _dS r  rA  rC  r;   r;   r<   r=     s    zReadMentionsRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh     s    zReadMentionsRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr  rD  rE  rA   r;   r;   r<   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 )NrB   s   M6rj   Fr   rk   rn   )rD   rG   rH   rB  r6   rE   rA   r;   r;   r<   rE     s    "$zReadMentionsRequest._bytesc                 C   s2   |  }| }|d@ r"|  }nd }| ||dS )Nrk   rA  r  )rL   rM   rt   rN   rF  r;   r;   r<   rO     s    
zReadMentionsRequest.from_reader)Nr  r;   r;   r;   r<   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  r;   r;   r<   r=     s    z#ReadMessageContentsRequest.__init__c                 C   s"   d| j d krg n| j d d  dS )Nr  r  r  rA   r;   r;   r<   r@     s    z"ReadMessageContentsRequest.to_dictc              	   C   s2   d ddtdt| jd dd | jD fS )NrB   s   w?6r   rn   c                 s   s   | ]}t d |V  qdS r  r  r   r;   r;   r<   r     s     z4ReadMessageContentsRequest._bytes.<locals>.<genexpr>r  rA   r;   r;   r<   rE     s      z!ReadMessageContentsRequest._bytesc                 C   s:   |   g }t|  D ]}|  }|| q| |dS r  r&  r  r;   r;   r<   rO     s    z&ReadMessageContentsRequest.from_readerNr  r;   r;   r;   r<   r    s   r  c                   @   sT   e Zd ZdZdZ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 )ReadReactionsRequestl   O= r
  Nr   r6   rB  r  c                 C   s   || _ || _|| _dS r  r  r:   r6   rB  r  r;   r;   r<   r=     s    zReadReactionsRequest.__init__c                    s>   | || jI d H | _| jr:| || jI d H | _d S ra   r  re   r;   r;   r<   rh     s    zReadReactionsRequest.resolvec                 C   s@   dt | jtr| j n| j| jt | jtr6| j n| jdS )Nr  r>   r6   rB  r  r?   r6   r   r@   rB  r  rA   r;   r;   r<   r@     s
    zReadReactionsRequest.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td| j| jd ks| jdkrdn| j fS )	NrB   s   OĞrj   Fr   rk   rl   rn   rD   rG   rH   rB  r  r6   rE   rA   r;   r;   r<   rE     s    >$ zReadReactionsRequest._bytesc                 C   sJ   |  }| }|d@ r"|  }nd }|d@ r8| }nd }| |||dS Nrk   rl   r  r  rL   rM   rt   rN   rF  r  r;   r;   r<   rO   $  s    

z ReadReactionsRequest.from_reader)NNr  r;   r;   r;   r<   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 )ReadSavedHistoryRequestl   [;t r   r   r2  r6   r  c                 C   s   || _ || _|| _dS r   r  )r:   r2  r6   r  r;   r;   r<   r=   8  s    z ReadSavedHistoryRequest.__init__c                    s8   | || jI d H | _| || jI d H | _d S ra   )rc   rd   r2  r6   re   r;   r;   r<   rh   @  s    zReadSavedHistoryRequest.resolvec                 C   s@   dt | jtr| j n| jt | jtr2| j n| j| jdS )Nr  )r>   r2  r6   r  )r?   r2  r   r@   r6   r  rA   r;   r;   r<   r@   D  s
    zReadSavedHistoryRequest.to_dictc              	   C   s(   d d| j | j td| jfS )NrB   s   [;Jrn   )rD   r2  rE   r6   rG   rH   r  rA   r;   r;   r<   rE   L  s    zReadSavedHistoryRequest._bytesc                 C   s&   |  }|  }| }| |||dS )Nr  r  )rL   rM   r5  rN   r  r;   r;   r<   rO   T  s    z#ReadSavedHistoryRequest.from_readerNr   r;   r;   r;   r<   r  4  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  )r:   r  r;   r;   r<   r=   `  s    z ReceivedMessagesRequest.__init__c                 C   s   d| j dS )Nr  )r>   r  r  rA   r;   r;   r<   r@   f  s    zReceivedMessagesRequest.to_dictc                 C   s   d dtd| jfS )NrB   s   Trn   )rD   rG   rH   r  rA   r;   r;   r<   rE   l  s    zReceivedMessagesRequest._bytesc                 C   s   |  }| |dS )Nr  r*  )rL   rM   r  r;   r;   r<   rO   r  s    z#ReceivedMessagesRequest.from_readerNr   r;   r;   r;   r<   r  \  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  )r:   r  r;   r;   r<   r=   |  s    zReceivedQueueRequest.__init__c                 C   s   d| j dS )Nr  )r>   r  r  rA   r;   r;   r<   r@     s    zReceivedQueueRequest.to_dictc                 C   s   d dtd| jfS )NrB   s   fUrn   )rD   rG   rH   r  rA   r;   r;   r<   rE     s    zReceivedQueueRequest._bytesc                 C   s   |  }| |dS )Nr  r*  )rL   rM   Z_max_qtsr;   r;   r<   rO     s    z ReceivedQueueRequest.from_readerc                    s"        fddt   D S )Nc                    s   g | ]}   qS r;   r   r  rM   r;   r<   r     s     z4ReceivedQueueRequest.read_result.<locals>.<listcomp>)rq   r   r  r;   r  r<   read_result  s    z ReceivedQueueRequest.read_resultN)rQ   rR   rS   rT   rU   rW   r=   r@   rE   rX   rO   staticmethodr  r;   r;   r;   r<   r  x  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  )r:   r  r  r  r;   r;   r<   r=     s    z$ReorderPinnedDialogsRequest.__init__c                    s0   g }| j D ]}|||I d H  q
|| _ d S ra   r  r   r  r   r;   r;   r<   rh     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 r;   r   r   r;   r;   r<   r     s     z7ReorderPinnedDialogsRequest.to_dict.<locals>.<listcomp>)r>   r  r  r  r  rA   r;   r;   r<   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 )NrB   s   7;rj   Fr   rk   rn   r   c                 s   s   | ]}|  V  qd S ra   r   r   r;   r;   r<   r     s     z5ReorderPinnedDialogsRequest._bytes.<locals>.<genexpr>)rD   rG   rH   r  r  r   r  rA   r;   r;   r<   rE     s    "  z"ReorderPinnedDialogsRequest._bytesc                 C   sZ   |  }t|d@ }|  }|   g }t|  D ]}| }|| q4| |||dS )Nrk   r  rq   rr   r   rI   r   )rL   rM   rt   _forcer  _orderr>   r   r;   r;   r<   rO     s    z'ReorderPinnedDialogsRequest.from_reader)N)rQ   rR   rS   rT   rU   rW   r   r   rr   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   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 )ReorderPinnedForumTopicsRequestiAxr   Nr   r6   r  r  c                 C   s   || _ || _|| _dS r   r   )r:   r6   r  r  r;   r;   r<   r=     s    z(ReorderPinnedForumTopicsRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh     s    z'ReorderPinnedForumTopicsRequest.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>   r6   r  r  )r?   r6   r   r@   r  r  rA   r;   r;   r<   r@     s
    z'ReorderPinnedForumTopicsRequest.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 )NrB   s   Axrj   Fr   rk   r   rn   c                 s   s   | ]}t d |V  qdS r  r  r   r;   r;   r<   r     s     z9ReorderPinnedForumTopicsRequest._bytes.<locals>.<genexpr>)rD   rG   rH   r  r6   rE   r   r  rA   r;   r;   r<   rE     s    "  z&ReorderPinnedForumTopicsRequest._bytesc                 C   sZ   |  }t|d@ }| }|   g }t|  D ]}|  }|| q4| |||dS )Nrk   r   rq   rr   rI   r   r   )rL   rM   rt   r  rN   r  r>   r   r;   r;   r<   rO     s    z+ReorderPinnedForumTopicsRequest.from_reader)NrQ   rR   rS   rT   rU   r   rW   r   rr   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   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$  )r:   r  r  r;   r;   r<   r=     s    z)ReorderPinnedSavedDialogsRequest.__init__c                    s0   g }| j D ]}|||I d H  q
|| _ d S ra   r  r   r;   r;   r<   rh     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 r;   r   r   r;   r;   r<   r     s     z<ReorderPinnedSavedDialogsRequest.to_dict.<locals>.<listcomp>)r>   r  r  r$  rA   r;   r;   r<   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 )NrB   s   eqrj   Fr   rk   r   rn   c                 s   s   | ]}|  V  qd S ra   r   r   r;   r;   r<   r     s     z:ReorderPinnedSavedDialogsRequest._bytes.<locals>.<genexpr>)rD   rG   rH   r  r   r  rA   r;   r;   r<   rE     s    "  z'ReorderPinnedSavedDialogsRequest._bytesc                 C   sP   |  }t|d@ }|   g }t|  D ]}| }|| q,| ||dS )Nrk   r$  r  )rL   rM   rt   r  r  r>   r   r;   r;   r<   rO     s    z,ReorderPinnedSavedDialogsRequest.from_reader)N)rQ   rR   rS   rT   rU   r   r   rr   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   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&  r:   r  r;   r;   r<   r=   +  s    z#ReorderQuickRepliesRequest.__init__c                 C   s"   d| j d krg n| j d d  dS )Nr%  r>   r  r&  rA   r;   r;   r<   r@   1  s    z"ReorderQuickRepliesRequest.to_dictc              	   C   s2   d ddtdt| jd dd | jD fS )NrB   s   3`r   rn   c                 s   s   | ]}t d |V  qdS r  r  r   r;   r;   r<   r   :  s     z4ReorderQuickRepliesRequest._bytes.<locals>.<genexpr>rD   rG   rH   r   r  rA   r;   r;   r<   rE   7  s      z!ReorderQuickRepliesRequest._bytesc                 C   s:   |   g }t|  D ]}|  }|| q| |dS Nr&  r&  rL   rM   r  r>   r   r;   r;   r<   rO   =  s    z&ReorderQuickRepliesRequest.from_readerNr  r;   r;   r;   r<   r%  '  s   r%  c                   @   sP   e Zd ZdZdZdee ee ee dddZ	dd Z
d	d
 Zedd ZdS )ReorderStickerSetsRequesti9w3xr   Nr  r  r  c                 C   s   || _ || _|| _dS r   r-  )r:   r  r  r  r;   r;   r<   r=   L  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-  rA   r;   r;   r<   r@   T  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 )NrB   s   9w3xrj   Fr   rk   rl   r   rn   c                 s   s   | ]}t d |V  qdS r  r  r   r;   r;   r<   r   `  s     z3ReorderStickerSetsRequest._bytes.<locals>.<genexpr>)rD   rG   rH   r  r  r   r  rA   r;   r;   r<   rE   \  s    >  z ReorderStickerSetsRequest._bytesc                 C   s^   |  }t|d@ }t|d@ }|   g }t|  D ]}| }|| q8| |||dS )Nrk   rl   r-  )rq   rr   r   rK   r   )rL   rM   rt   r  r  r  r>   r   r;   r;   r<   rO   c  s    z%ReorderStickerSetsRequest.from_reader)NNr   r;   r;   r;   r<   r,  H  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   r6   r  r  ry  c                 C   s   || _ || _|| _|| _dS )z
        :returns ReportResult: Instance of either ReportResultChooseOption, ReportResultAddComment, ReportResultReported.
        Nr/  )r:   r6   r  r  ry  r;   r;   r<   r=   v  s    zReportRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh     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>   r6   r  r  ry  )r?   r6   r   r@   r  r  ry  rA   r;   r;   r<   r@     s    zReportRequest.to_dictc                 C   sN   d d| j dtdt| jd dd | jD | | j| | j	fS )NrB   s   xr   rn   c                 s   s   | ]}t d |V  qdS r  r  r   r;   r;   r<   r     s     z'ReportRequest._bytes.<locals>.<genexpr>)
rD   r6   rE   rG   rH   r   r  rF   r  ry  rA   r;   r;   r<   rE     s      

zReportRequest._bytesc                 C   sX   |  }|  g }t| D ]}| }|| q | }| }| ||||dS )Nr/  )rI   rq   r   r   rJ   rs   )rL   rM   rN   r  r>   r   r  r  r;   r;   r<   rO     s    zReportRequest.from_readerN)rQ   rR   rS   rT   rU   r   rW   rV   ry   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   r.  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 )ReportEncryptedSpamRequestiKr   r   r   c                 C   s
   || _ dS r   r   r   r;   r;   r<   r=     s    z#ReportEncryptedSpamRequest.__init__c                 C   s"   dt | jtr| j n| jdS )Nr0  r   r   rA   r;   r;   r<   r@     s    z"ReportEncryptedSpamRequest.to_dictc                 C   s   d d| j fS )NrB   s   Kr   rA   r;   r;   r<   rE     s    z!ReportEncryptedSpamRequest._bytesc                 C   s   |  }| |dS r   r   r   r;   r;   r<   rO     s    z&ReportEncryptedSpamRequest.from_readerNr  r;   r;   r;   r<   r0    s   r0  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   r6   r  pushc                 C   s   || _ || _|| _dS r   r2  )r:   r6   r  r3  r;   r;   r<   r=     s    z&ReportMessagesDeliveryRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh     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 )Nr1  )r>   r6   r  r3  )r?   r6   r   r@   r  r3  rA   r;   r;   r<   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 )NrB   s   smZrj   Fr   rk   r   rn   c                 s   s   | ]}t d |V  qdS r  r  r   r;   r;   r<   r     s     z7ReportMessagesDeliveryRequest._bytes.<locals>.<genexpr>)rD   rG   rH   r3  r6   rE   r   r  rA   r;   r;   r<   rE     s    "  z$ReportMessagesDeliveryRequest._bytesc                 C   sZ   |  }t|d@ }| }|   g }t|  D ]}|  }|| q4| |||dS )Nrk   r2  r!  )rL   rM   rt   Z_pushrN   r  r>   r   r;   r;   r<   rO     s    z)ReportMessagesDeliveryRequest.from_reader)Nr"  r;   r;   r;   r<   r1    s   r1  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   r6   r  reaction_peerc                 C   s   || _ || _|| _dS r   r5  )r:   r6   r  r6  r;   r;   r<   r=     s    zReportReactionRequest.__init__c                    s8   | || jI d H | _| || jI d H | _d S ra   )rc   rd   r6   r6  re   r;   r;   r<   rh     s    zReportReactionRequest.resolvec                 C   s@   dt | jtr| j n| j| jt | jtr6| j n| jdS )Nr4  )r>   r6   r  r6  )r?   r6   r   r@   r  r6  rA   r;   r;   r<   r@     s
    zReportReactionRequest.to_dictc                 C   s(   d d| j td| j| j fS )NrB   s   vd?rn   )rD   r6   rE   rG   rH   r  r6  rA   r;   r;   r<   rE     s    zReportReactionRequest._bytesc                 C   s&   |  }| }|  }| |||dS )Nr5  r  )rL   rM   rN   r  Z_reaction_peerr;   r;   r<   rO     s    z!ReportReactionRequest.from_readerNr   r;   r;   r;   r<   r4    s   r4  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   r;   r;   r<   r=     s    zReportSpamRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh     s    zReportSpamRequest.resolvec                 C   s"   dt | jtr| j n| jdS )Nr7  r   r   rA   r;   r;   r<   r@   !  s    zReportSpamRequest.to_dictc                 C   s   d d| j fS )NrB   s   ےr   rA   r;   r;   r<   rE   '  s    zReportSpamRequest._bytesc                 C   s   |  }| |dS r   r   r   r;   r;   r<   rO   -  s    zReportSpamRequest.from_readerNr   r;   r;   r;   r<   r7    s   r7  c                   @   sB   e Zd ZdZdZdeedddZdd Zd	d
 Ze	dd Z
dS )ReportSponsoredMessageRequestii"#&Nr  r   c                 C   s.   || _ |dk	r|ntjtdddd| _dS )z
        :returns channels.SponsoredMessageReportResult: Instance of either SponsoredMessageReportResultChooseOption, SponsoredMessageReportResultAdsHidden, SponsoredMessageReportResultReported.
        Nrm   r   Tr   )r  rW   r   r   r   r   )r:   r  r   r;   r;   r<   r=   7  s    z&ReportSponsoredMessageRequest.__init__c                 C   s   d| j | jdS )Nr8  )r>   r  r   r9  rA   r;   r;   r<   r@   >  s    z%ReportSponsoredMessageRequest.to_dictc                 C   s    d d| | j| | jfS )NrB   s   )rD   rF   r   r  rA   r;   r;   r<   rE   E  s
    

z$ReportSponsoredMessageRequest._bytesc                 C   s   |  }|  }| ||dS )Nr9  rJ   )rL   rM   r   r  r;   r;   r<   rO   L  s    z)ReportSponsoredMessageRequest.from_reader)NrQ   rR   rS   rT   rU   rV   r=   r@   rE   rX   rO   r;   r;   r;   r<   r8  3  s   r8  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   r6   r  platformr\   compactr   start_paramtheme_paramsc	           	      C   s4   || _ || _|| _|| _|| _|| _|| _|| _dS zG
        :returns WebViewResult: Instance of WebViewResultUrl.
        Nr>  )	r:   r6   r  r?  r\   r@  r   rA  rB  r;   r;   r<   r=   W  s    z!RequestAppWebViewRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh   d  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>   r6   r  r?  r\   r@  r   rA  rB  )r?   r6   r   r@   r  r?  r\   r@  r   rA  rB  rA   r;   r;   r<   r@   g  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 )NrB   s   ΋aSrj   Fr   rk      r  rl   rm   )rD   rG   rH   r\   r@  r   rA  rB  r6   rE   r  rF   r?  rA   r;   r;   r<   rE   t  s    " 
zRequestAppWebViewRequest._bytesc              
   C   s   |  }t|d@ }t|d@ }t|d@ }| }| }|d@ rN| }nd }|d@ rd| }	nd }	| }
| |||
|||||	dS )Nrk   rD  r  rl   rm   r>  rp   )rL   rM   rt   ru   _compactr   rN   r  _start_param_theme_params	_platformr;   r;   r<   rO     s    

z$RequestAppWebViewRequest.from_reader)NNNNNrQ   rR   rS   rT   rU   ry   r   rr   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   r<  S  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 r4   Nr%   r~   g_ar   c                 C   s4   || _ || _|dk	r|ntjtdddd| _dS )r9   Nrm   r   Tr   )r~   rL  rW   r   r   r   r   )r:   r~   rL  r   r;   r;   r<   r=     s    z!RequestEncryptionRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh     s    z RequestEncryptionRequest.resolvec                 C   s*   dt | jtr| j n| j| j| jdS )NrJ  )r>   r~   rL  r   )r?   r~   r   r@   rL  r   rA   r;   r;   r<   r@     s
    z RequestEncryptionRequest.to_dictc                 C   s*   d d| j td| j| | jfS )NrB   s   CMrn   )rD   r~   rE   rG   rH   r   rF   rL  rA   r;   r;   r<   rE     s    
zRequestEncryptionRequest._bytesc                 C   s&   |  }| }| }| |||dS )NrK  )rI   rq   rJ   )rL   rM   r   r   Z_g_ar;   r;   r<   rO     s    z$RequestEncryptionRequest.from_reader)N)rQ   rR   rS   rT   rU   rV   rW   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   rJ    s   rJ  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   r6   r  r?  r@  r   rA  rB  c                 C   s.   || _ || _|| _|| _|| _|| _|| _dS rC  rN  )r:   r6   r  r?  r@  r   rA  rB  r;   r;   r<   r=     s    z"RequestMainWebViewRequest.__init__c                    s8   | || jI d H | _||| jI d H | _d S ra   )rc   rd   r6   r   r  re   r;   r;   r<   rh     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 )NrM  )r>   r6   r  r?  r@  r   rA  rB  )
r?   r6   r   r@   r  r?  r@  r   rA  rB  rA   r;   r;   r<   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 )
NrB   s   {rj   Fr   rD  r  rl   rk   )rD   rG   rH   r@  r   rA  rB  r6   rE   r  rF   r?  rA   r;   r;   r<   rE     s    v" 
z RequestMainWebViewRequest._bytesc           
   	   C   sz   |  }t|d@ }t|d@ }| }| }|d@ rB| }nd }|d@ rX| }nd }| }	| |||	||||dS )NrD  r  rl   rk   rN  rp   )
rL   rM   rt   rE  r   rN   r  rF  rG  rH  r;   r;   r<   rO     s    

z%RequestMainWebViewRequest.from_reader)NNNNrI  r;   r;   r;   r<   rM    s   ,rM  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_   rA  rB  c
           
      C   s:   || _ || _|| _|| _|| _|| _|| _|| _|	| _dS rC  rP  )
r:   r  r?  rQ  rR  r@  r   r_   rA  rB  r;   r;   r<   r=     s    z$RequestSimpleWebViewRequest.__init__c                    s   | || jI d H | _d S ra   r  re   r;   r;   r<   rh     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 )NrO  )
r>   r  r?  rQ  rR  r@  r   r_   rA  rB  )r?   r  r   r@   r?  rQ  rR  r@  r   r_   rA  rB  rA   r;   r;   r<   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 )NrB   s   s>:Arj   Fr   rl   rm   rD  r  r   r   rk   )rD   rG   rH   rQ  rR  r@  r   r_   rA  rB  r  rE   rF   r?  rA   r;   r;   r<   rE     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 )	Nrl   rm   rD  r  r   r   rk   rP  rp   )rL   rM   rt   Z_from_switch_webviewZ_from_side_menurE  r   r  rx   rF  rG  rH  r;   r;   r<   rO   (  s"    


z'RequestSimpleWebViewRequest.from_reader)NNNNNNNrI  r;   r;   r;   r<   rO    s   <rO  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rZ   Nr   r6   r]   r^   r_   c                 C   s   || _ || _|| _|| _dS r`   rT  )r:   r6   r]   r^   r_   r;   r;   r<   r=   E  s    zRequestUrlAuthRequest.__init__c                    s$   | j r ||| j I d H | _ d S ra   rb   re   r;   r;   r<   rh   N  s    zRequestUrlAuthRequest.resolvec                 C   s.   dt | jtr| j n| j| j| j| jdS )NrS  )r>   r6   r]   r^   r_   )r?   r6   r   r@   r]   r^   r_   rA   r;   r;   r<   r@   R  s    zRequestUrlAuthRequest.to_dictc              
   C   s  | j s| j d k	r0| js | jd k	r0| jst| jd k	st| j d ksD| j dkrl| jd ksX| jdkrl| jd kst| jdksttdd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 )
NFri   rB   s   Frj   r   rl   rm   rn   )
r6   r]   r^   ro   rD   rG   rH   r_   rE   rF   rA   r;   r;   r<   rE   [  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 )Nrl   rm   rT  rf  )rL   rM   rt   rN   rv   rw   rx   r;   r;   r<   rO   f  s    



z!RequestUrlAuthRequest.from_reader)NNNN)rQ   rR   rS   rT   rU   r   rW   ry   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   rS  A  s   &		rS  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!   r6   r  r?  from_bot_menur  r@  r   r_   rA  rB  r  r   c                 C   sL   || _ || _|| _|| _|| _|| _|| _|| _|	| _|
| _	|| _
|| _dS rC  rV  )r:   r6   r  r?  rW  r  r@  r   r_   rA  rB  r  r   r;   r;   r<   r=     s    zRequestWebViewRequest.__init__c                    sX   | || jI d H | _||| jI d H | _| jrT| || jI d H | _d S ra   r  re   r;   r;   r<   rh     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 )NrU  )r>   r6   r  r?  rW  r  r@  r   r_   rA  rB  r  r   )r?   r6   r   r@   r  r?  rW  r  r@  r   r_   rA  rB  r  r   rA   r;   r;   r<   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 )NrB   s   &rj   Fr   r   r  rD  r  rl   r   rm   rk   r  )rD   rG   rH   rW  r  r@  r   r_   rA  rB  r  r   r6   rE   r  rF   r?  rA   r;   r;   r<   rE     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 )Nr   r  rD  r  rl   r   rm   rk   r  rV  rp   )rL   rM   rt   Z_from_bot_menur  rE  r   rN   r  rx   rF  rG  rH  r  r   r;   r;   r<   rO     s0    




z!RequestWebViewRequest.from_reader)	NNNNNNNNNrI  r;   r;   r;   r<   rU  }  s   JrU  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   r6   r   c                 C   s   || _ || _dS r   rY  )r:   r6   r   r;   r;   r<   r=     s    z!SaveDefaultSendAsRequest.__init__c                    s8   | || jI d H | _| || jI d H | _d S ra   r   re   r;   r;   r<   rh     s    z SaveDefaultSendAsRequest.resolvec                 C   s<   dt | jtr| j n| jt | jtr2| j n| jdS )NrX  )r>   r6   r   )r?   r6   r   r@   r   rA   r;   r;   r<   r@     s    z SaveDefaultSendAsRequest.to_dictc                 C   s   d d| j | j fS )NrB   s   )rD   r6   rE   r   rA   r;   r;   r<   rE     s
    zSaveDefaultSendAsRequest._bytesc                 C   s   |  }|  }| ||dS )NrY  r   )rL   rM   rN   r   r;   r;   r<   rO     s    z$SaveDefaultSendAsRequest.from_readerNr   r;   r;   r;   r<   rX    s   rX  c                   @   sx   e Zd ZdZdZddeee ee ed eed  ed ee	 ed d		d
dZ
dd Zdd Zdd Zedd ZdS )SaveDraftRequesti0Tr   Nr   r!   r'   r   r/   	r6   ry  rw  rx  r  r{  r   effectr  c
           
      C   s:   || _ || _|| _|| _|| _|| _|| _|| _|	| _dS r   r[  )
r:   r6   ry  rw  rx  r  r{  r   r\  r  r;   r;   r<   r=     s    zSaveDraftRequest.__init__c                    s2   | || jI d H | _| jr.|| j| _d S ra   r  re   r;   r;   r<   rh     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
t | jtr| j n| jd
S )NrZ  c                 S   s"   g | ]}t |tr| n|qS r;   r   r   r;   r;   r<   r     s     z,SaveDraftRequest.to_dict.<locals>.<listcomp>)
r>   r6   ry  rw  rx  r  r{  r   r\  r  )r?   r6   r   r@   ry  rw  rx  r  r{  r   r\  r  rA   r;   r;   r<   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dB | jd ks| jdkrdn| j
 | j
 | | j| jd ks| jdkrd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s| jdkrdntd| j| j	d ks| j	dkrdn| j	
 f	S )NrB   s   0Trj   Fr   rl   r  r   r   r  rD  r  r   rn   c                 s   s   | ]}|  V  qd S ra   r   r   r;   r;   r<   r   )  s     z*SaveDraftRequest._bytes.<locals>.<genexpr>rC   )rD   rG   rH   rw  rx  r  r{  r   r\  r  rE   r6   rF   ry  r   rA   r;   r;   r<   rE   "  s     
J$($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@ r| }nd }| |||||||||d	S )	Nrl   r  r   r   r  rD  r  r[  )rq   rr   rI   rs   r   r   rK   )rL   rM   rt   r  r  r  rN   r  r  r>   r   r   _effectr  r;   r;   r<   rO   /  s2    



zSaveDraftRequest.from_reader)NNNNNNN)rQ   rR   rS   rT   rU   ry   r   rr   r   rW   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   rZ    s   @rZ  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   r_  )r:   r  r`  r;   r;   r<   r=   W  s    zSaveGifRequest.__init__c                    s   | | j| _d S ra   r  re   r;   r;   r<   rh   ^  s    zSaveGifRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr^  )r>   r  r`  )r?   r  r   r@   r`  rA   r;   r;   r<   r@   a  s    zSaveGifRequest.to_dictc                 C   s    d d| j | jrdndfS )NrB   s   0z2rQ  rR  )rD   r  rE   r`  rA   r;   r;   r<   rE   h  s
    zSaveGifRequest._bytesc                 C   s   |  }| }| ||dS )Nr_  r  )rL   rM   r  _unsaver;   r;   r<   rO   o  s    zSaveGifRequest.from_readerNr  r;   r;   r;   r<   r^  S  s   r^  c                   @   sT   e Zd ZdZdZdddeed  ddd	Zd
d Zdd Z	dd Z
edd ZdS ) SavePreparedInlineMessageRequestl   />d l   "_ Nr   r%   r   resultr~   
peer_typesc                 C   s   || _ || _|| _dS )zc
        :returns messages.BotPreparedInlineMessage: Instance of BotPreparedInlineMessage.
        Nrc  )r:   rd  r~   re  r;   r;   r<   r=   z  s    z)SavePreparedInlineMessageRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh     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 )Nrb  c                 S   s"   g | ]}t |tr| n|qS r;   r   r   r;   r;   r<   r     s     z<SavePreparedInlineMessageRequest.to_dict.<locals>.<listcomp>)r>   rd  r~   re  )r?   rd  r   r@   r~   re  rA   r;   r;   r<   r@     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 )NrB   s   /rj   Fr   rk   r   rn   c                 s   s   | ]}|  V  qd S ra   r   r   r;   r;   r<   r     s     z:SavePreparedInlineMessageRequest._bytes.<locals>.<genexpr>)rD   rG   rH   re  rd  rE   r~   r   rA   r;   r;   r<   rE     s    "Fz'SavePreparedInlineMessageRequest._bytesc                 C   sd   |  }| }| }|d@ rR|   g }t|  D ]}| }|| q8nd }| |||dS )Nrk   rc  r  )rL   rM   rt   _resultr   Z_peer_typesr>   r   r;   r;   r<   rO     s    z,SavePreparedInlineMessageRequest.from_reader)N)rQ   rR   rS   rT   rU   r   r   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   rb  v  s   	rb  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  r`  r   c                 C   s   || _ || _|| _dS r   rh  )r:   r  r`  r   r;   r;   r<   r=     s    z!SaveRecentStickerRequest.__init__c                    s   | | j| _d S ra   r  re   r;   r;   r<   rh     s    z SaveRecentStickerRequest.resolvec                 C   s*   dt | jtr| j n| j| j| jdS )Nrg  )r>   r  r`  r   )r?   r  r   r@   r`  r   rA   r;   r;   r<   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 )	NrB   s   '9rj   Fr   rk   rQ  rR  )rD   rG   rH   r   r  rE   r`  rA   r;   r;   r<   rE     s    "zSaveRecentStickerRequest._bytesc                 C   s2   |  }t|d@ }| }| }| |||dS )Nrk   rh  rq   rr   rI   rS  )rL   rM   rt   r   r  ra  r;   r;   r<   rO     s
    z$SaveRecentStickerRequest.from_reader)NrQ   rR   rS   rT   rU   rr   r   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   rg    s   rg  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)rX  Nr   r(   r*   r6   r  r  r  r  r  rZ  r  r  r[  r   from_idr  saved_reactionrB  c                 C   s^   || _ || _|| _|| _|| _|| _|| _|| _|	| _|
| _	|| _
|| _|| _|| _|| _dS r\  rl  )r:   r6   r  r  r  r  r  rZ  r  r  r[  r   rm  r  rn  rB  r;   r;   r<   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 ra   )rc   rd   r6   rm  r  re   r;   r;   r<   rh     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 )Nrk  c                 S   s"   g | ]}t |tr| n|qS r;   r   r   r;   r;   r<   r     s     z)SearchRequest.to_dict.<locals>.<listcomp>)r>   r6   r  r  r  r  r  rZ  r  r  r[  r   rm  r  rn  rB  )r?   r6   r   r@   r  r  r  r  r  rZ  r  r  r[  r   rm  r  rn  rB  rA   r;   r;   r<   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 )NrB   s   z)rj   Fr   rk   rm   r   rl   r   rn   c                 s   s   | ]}|  V  qd S ra   r   r   r;   r;   r<   r     s     z'SearchRequest._bytes.<locals>.<genexpr>rC   )rD   rG   rH   rm  r  rn  rB  r6   rE   rF   r  r   r  r  r  r  r  rZ  r  r  r[  r   rA   r;   r;   r<   rE     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 )Nrk   rm   r   rl   rl  )rq   rI   rs   r   r   r  rK   )rL   rM   rt   rN   r  Z_from_idr  Z_saved_reactionr>   r   rF  r  r  r  r  r^  r  r  r_  r   r;   r;   r<   rO     s:    


zSearchRequest.from_reader)NNNN)rQ   rR   rS   rT   rU   ry   r   r	   rW   r   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   rk    s   Hrk  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  r;   r;   r<   r=   E  s    z!SearchCustomEmojiRequest.__init__c                 C   s   d| j | jdS )Nro  r  r  rA   r;   r;   r<   r@   L  s    z SearchCustomEmojiRequest.to_dictc                 C   s"   d d| | jtd| jfS )NrB   s   ,rC   r  rA   r;   r;   r<   rE   S  s
    
zSearchCustomEmojiRequest._bytesc                 C   s   |  }| }| ||dS r  r  r  r;   r;   r<   rO   Z  s    z$SearchCustomEmojiRequest.from_readerNr3  r;   r;   r;   r<   ro  A  s   ro  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.
        Nrr  r:   r  r   rs  r;   r;   r<   r=   e  s    z&SearchEmojiStickerSetsRequest.__init__c                 C   s   d| j | j| jdS )Nrp  r>   r  r   rs  rr  rA   r;   r;   r<   r@   m  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 )NrB   s   LIrj   Fr   rk   rC   rD   rG   rH   rs  rF   r  r   rA   r;   r;   r<   rE   u  s    "
z$SearchEmojiStickerSetsRequest._bytesc                 C   s2   |  }t|d@ }| }| }| |||dS Nrk   rr  rq   rr   rs   rK   rL   rM   rt   Z_exclude_featuredr  r   r;   r;   r<   rO   }  s
    z)SearchEmojiStickerSetsRequest.from_reader)NrQ   rR   rS   rT   rU   ry   rW   r   rr   r=   r@   rE   rX   rO   r;   r;   r;   r<   rp  a  s   rp  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 )SearchGlobalRequestiXKrX  Nr(   r   r  r  r  r  offset_rater  r  r  broadcasts_onlygroups_only
users_onlyr  c                 C   sL   || _ || _|| _|| _|| _|| _|| _|| _|	| _|
| _	|| _
|| _dS r\  r}  )r:   r  r  r  r  r~  r  r  r  r  r  r  r  r;   r;   r<   r=     s    zSearchGlobalRequest.__init__c                    s   | || jI d H | _d S ra   r  re   r;   r;   r<   rh     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 )Nr|  )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  rA   r;   r;   r<   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 )NrB   s   XKrj   Fr   rl   rm   r   rk   rn   )rD   rG   rH   r  r  r  r  rF   r  r  rE   r  r  r  r~  r  r  r  rA   r;   r;   r<   rE     s    v$


zSearchGlobalRequest._bytesc                 C   s   |  }t|d@ }t|d@ }t|d@ }|d@ r>|  }nd }| }| }| }	| }
|  }| }|  }|  }| |||	|
||||||||dS )Nrl   rm   r   rk   r}  )rq   rr   rs   rI   r  )rL   rM   rt   Z_broadcasts_onlyZ_groups_onlyZ_users_onlyr  r  r  r  r  Z_offset_rater  r  r  r;   r;   r<   rO     s     
zSearchGlobalRequest.from_reader)NNNN)rQ   rR   rS   rT   rU   ry   r   r	   rW   rr   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   r|    s   >r|  c                   @   sB   e Zd ZdZdZededddZdd Zd	d
 Z	e
dd ZdS )SearchSentMediaRequesti1~rX  r(   r  r  r  c                 C   s   || _ || _|| _dS r\  r  )r:   r  r  r  r;   r;   r<   r=     s    zSearchSentMediaRequest.__init__c                 C   s*   d| j t| jtr| j n| j| jdS )Nr  )r>   r  r  r  )r  r?   r  r   r@   r  rA   r;   r;   r<   r@     s
    zSearchSentMediaRequest.to_dictc              	   C   s*   d d| | j| j td| jfS )NrB   s   1~rn   )rD   rF   r  r  rE   rG   rH   r  rA   r;   r;   r<   rE     s    
zSearchSentMediaRequest._bytesc                 C   s&   |  }| }| }| |||dS )Nr  )rs   rI   rq   )rL   rM   r  r  r  r;   r;   r<   rO     s    z"SearchSentMediaRequest.from_readerNr3  r;   r;   r;   r<   r    s   r  c                   @   sH   e Zd ZdZdZdeeee dddZ	dd Z
d	d
 Zedd ZdS )SearchStickerSetsRequesti[p5rq  Nrr  c                 C   s   || _ || _|| _dS rt  rr  ru  r;   r;   r<   r=     s    z!SearchStickerSetsRequest.__init__c                 C   s   d| j | j| jdS )Nr  rv  rr  rA   r;   r;   r<   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 )NrB   s   [p5rj   Fr   rk   rC   rw  rA   r;   r;   r<   rE     s    "
zSearchStickerSetsRequest._bytesc                 C   s2   |  }t|d@ }| }| }| |||dS rx  ry  rz  r;   r;   r<   rO     s
    z$SearchStickerSetsRequest.from_reader)Nr{  r;   r;   r;   r<   r    s   r  c                	   @   sT   e Zd ZdZdZdeeee eeeee	 dddZ
dd Zd	d
 Zedd ZdS )SearchStickersRequestijƱ)iQ!@Nr  r  r'  rc  r  r   r  c                 C   s.   || _ || _|| _|| _|| _|| _|| _dS )zn
        :returns messages.FoundStickers: Instance of either FoundStickersNotModified, FoundStickers.
        Nr  )r:   r  r  r'  rc  r  r   r  r;   r;   r<   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 )Nr  )r>   r  r  r'  rc  r  r   r  r  rA   r;   r;   r<   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 )NrB   s   jƱ)rj   Fr   rk   r   rn   c                 3   s   | ]}  |V  qd S ra   r7  r   rA   r;   r<   r   A  s     z/SearchStickersRequest._bytes.<locals>.<genexpr>rC   )rD   rG   rH   r  rF   r  r  r   r'  rc  r  r   rA   r;   rA   r<   rE   ;  s    "

  zSearchStickersRequest._bytesc              	   C   s   |  }t|d@ }| }| }|   g }t|  D ]}| }|| q<|  }	|  }
| }| ||||	|
||dS )Nrk   r  )rq   rr   rs   r   r   rK   )rL   rM   rt   r  r  r  r.  r>   r   rg  r  r   r;   r;   r<   rO   G  s    z!SearchStickersRequest.from_reader)N)rQ   rR   rS   rT   rU   ry   r   rW   r   rr   r=   r@   rE   rX   rO   r;   r;   r;   r<   r    s   $r  c                   @   sP   e Zd ZdZdZdeeed dddZdd Zd	d
 Z	dd Z
edd ZdS )SendBotRequestedPeerRequestl   `Pe# r   r   r6   r]   r^   requested_peersc                 C   s   || _ || _|| _|| _dS r   r  )r:   r6   r]   r^   r  r;   r;   r<   r=   ^  s    z$SendBotRequestedPeerRequest.__init__c                    sP   | || jI d H | _g }| jD ] }|| ||I d H  q$|| _d S ra   )rc   rd   r6   r  r   r   r;   r;   r<   rh   g  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 )Nr  c                 S   s"   g | ]}t |tr| n|qS r;   r   r   r;   r;   r<   r   u  s     z7SendBotRequestedPeerRequest.to_dict.<locals>.<listcomp>)r>   r6   r]   r^   r  )r?   r6   r   r@   r]   r^   r  rA   r;   r;   r<   r@   o  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 )NrB   s   `вrn   r   c                 s   s   | ]}|  V  qd S ra   r   r   r;   r;   r<   r   ~  s     z5SendBotRequestedPeerRequest._bytes.<locals>.<genexpr>)	rD   r6   rE   rG   rH   r]   r^   r   r  rA   r;   r;   r<   rE   x  s      z"SendBotRequestedPeerRequest._bytesc                 C   sX   |  }| }| }|  g }t| D ]}|  }|| q0| ||||dS )Nr  r   )rL   rM   rN   rv   rw   Z_requested_peersr>   r   r;   r;   r<   rO     s    z'SendBotRequestedPeerRequest.from_readerNr   r;   r;   r;   r<   r  Z  s   			r  c                   @   sJ   e Zd ZdZdZddeee edddZ	dd	 Z
d
d Zedd ZdS )SendEncryptedRequestizD   P>< Nr   r6   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   )r6   r  r  rW   r   r   r   r   )r:   r6   r  r  r   r;   r;   r<   r=     s    zSendEncryptedRequest.__init__c                 C   s.   dt | jtr| j n| j| j| j| jdS )Nr  )r>   r6   r  r  r   )r?   r6   r   r@   r  r  r   rA   r;   r;   r<   r@     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 )NrB   s   zDrj   Fr   rk   rC   )	rD   rG   rH   r  r6   rE   r   rF   r  rA   r;   r;   r<   rE     s    "
zSendEncryptedRequest._bytesc                 C   s<   |  }t|d@ }| }| }| }| ||||dS )Nrk   r  rq   rr   rI   rK   rJ   )rL   rM   rt   r  rN   r   r  r;   r;   r<   rO     s    z SendEncryptedRequest.from_reader)NNrQ   rR   rS   rT   rU   rV   r   rr   rW   r=   r@   rE   rX   rO   r;   r;   r;   r<   r    s   			r  c                   @   sL   e Zd ZdZdZddedee edddZ	d	d
 Z
dd Zedd ZdS )SendEncryptedFileRequestiHYUr  Nr   r   r6   r  r  r  r   c                 C   s@   || _ || _|| _|| _|dk	r$|ntjtdddd| _dS r  )	r6   r  r  r  rW   r   r   r   r   )r:   r6   r  r  r  r   r;   r;   r<   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 )Nr  )r>   r6   r  r  r  r   )r?   r6   r   r@   r  r  r  r   rA   r;   r;   r<   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 )NrB   s   HYUrj   Fr   rk   rC   )
rD   rG   rH   r  r6   rE   r   rF   r  r  rA   r;   r;   r<   rE     s    "
zSendEncryptedFileRequest._bytesc                 C   sF   |  }t|d@ }| }| }| }| }| |||||dS )Nrk   r  r  )rL   rM   rt   r  rN   r   r  r  r;   r;   r<   rO     s    z$SendEncryptedFileRequest.from_reader)NNr  r;   r;   r;   r<   r    s   


r  c                   @   sD   e Zd ZdZdZddeedddZdd	 Zd
d Z	e
dd ZdS )SendEncryptedServiceRequesti92r  Nr   r6   r  r   c                 C   s4   || _ || _|dk	r|ntjtdddd| _dS r  )r6   r  rW   r   r   r   r   )r:   r6   r  r   r;   r;   r<   r=     s    z$SendEncryptedServiceRequest.__init__c                 C   s*   dt | jtr| j n| j| j| jdS )Nr  )r>   r6   r  r   )r?   r6   r   r@   r  r   rA   r;   r;   r<   r@     s
    z#SendEncryptedServiceRequest.to_dictc                 C   s*   d d| j td| j| | jfS )NrB   s   92rC   )rD   r6   rE   rG   rH   r   rF   r  rA   r;   r;   r<   rE     s    
z"SendEncryptedServiceRequest._bytesc                 C   s&   |  }| }| }| |||dS )Nr  )rI   rK   rJ   )rL   rM   rN   r   r  r;   r;   r<   rO     s    z'SendEncryptedServiceRequest.from_reader)NrP   r;   r;   r;   r<   r    s   r  c                   @   s   e Zd ZdZdZddeeee ee ee ee ed eee	 ed ed ee ddd	Z
d
d Zdd Zdd Zedd ZdS )SendInlineBotResultRequestl   Fv r   Nr   r!   r    r6   r  r  r  r  clear_drafthide_viar  r   r  r   r  r  c                 C   sp   || _ || _|| _|| _|| _|| _|| _|| _|	dk	r<|	ntj	t
dddd| _|
| _|| _|| _|| _dS r   )r6   r  r  r  r  r  r  r  rW   r   r   r   r   r  r   r  r  )r:   r6   r  r  r  r  r  r  r  r   r  r   r  r  r;   r;   r<   r=     s    $z#SendInlineBotResultRequest.__init__c                    s>   | || jI d H | _| jr:| || jI d H | _d S ra   r   re   r;   r;   r<   rh   !  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| jdS )Nr  )r>   r6   r  r  r  r  r  r  r  r   r  r   r  r  )r?   r6   r   r@   r  r  r  r  r  r  r  r   r  r   r  r  rA   r;   r;   r<   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d ks| jdkrdndB | j | jd ks,| jdkr0dn| j td| jtd| j| | j| jd ksr| jdkrvd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 )NrB   s   Fvrj   Fr   r  r  rD  r~  rk   r  r  r  r  rC   )rD   rG   rH   r  r  r  r  r  r  r   r  r  r6   rE   r   r  rF   r  r  rA   r;   r;   r<   rE   8  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	@ r| }nd }| ||
|||||||	||||d
S )Nr  r  rD  r~  rk   r  r  r  r  r  )rq   rr   rI   rK   rs   r  )rL   rM   rt   r  r  _clear_draftZ	_hide_viarN   r  r   r  r  r  r   r  r  r;   r;   r<   rO   G  s2    




z&SendInlineBotResultRequest.from_reader)
NNNNNNNNNN)rQ   rR   rS   rT   rU   rW   ry   r   rr   r	   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   r    s   Lr  c                   @   s   e Zd ZdZdZdddeee ee ee ee ee ee ee ed eed ee	d  ee
 ed ed	 ee ee ed
 dddZdd Zdd Zdd Zedd ZdS )SendMediaRequestl   YX r   Nr   r   r!   r+   r'   r    r/   r6   r   ry  r  r  r  r  update_stickersets_orderrx  r  r  r   rz  r{  r  r   r  r\  r  r  c                 C   s   || _ || _|| _|| _|| _|| _|| _|| _|	| _|
| _	|| _
|dk	rN|ntjtdddd| _|| _|| _|| _|| _|| _|| _|| _|| _dS r   )r6   r   ry  r  r  r  r  r  rx  r  r  rW   r   r   r   r   rz  r{  r  r   r  r\  r  r  )r:   r6   r   ry  r  r  r  r  r  rx  r  r  r   rz  r{  r  r   r  r\  r  r  r;   r;   r<   r=   n  s(    $zSendMediaRequest.__init__c                    sL   | || jI d H | _|| j| _| jrH| || jI d H | _d S ra   )rc   rd   r6   r|  r   r   re   r;   r;   r<   rh     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| jt | jtr| j n| jdS )Nr  c                 S   s"   g | ]}t |tr| n|qS r;   r   r   r;   r;   r<   r     s     z,SendMediaRequest.to_dict.<locals>.<listcomp>)r>   r6   r   ry  r  r  r  r  r  rx  r  r  r   rz  r{  r  r   r  r\  r  r  )r?   r6   r   r@   r   ry  r  r  r  r  r  rx  r  r  r   rz  r{  r  r   r  r\  r  r  rA   r;   r;   r<   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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
 | j | | jtd| j| jd ksN| jdkrRdn| j | jd ksr| jdkrvd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r
dn| j | jd ks*| jdkr.dntd| j| jd ksR| jdkrVdntd| j| jd ksz| jdkr~dn| j fS )NrB   s   Urj   Fr   r  r  rD  r  r  r}  r  rk   rm   r   r  r  r     r  r  rC   r   rn   c                 s   s   | ]}|  V  qd S ra   r   r   r;   r;   r<   r     s     z*SendMediaRequest._bytes.<locals>.<genexpr>)rD   rG   rH   r  r  r  r  r  rx  r  r  rz  r{  r  r   r  r\  r  r  r6   rE   r   rF   ry  r   r   r  rA   r;   r;   r<   rE     s$     $
$J&$$(($zSendMediaRequest._bytesc                 C   s  |  }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@ rX| }nd }|d@ rp| }nd }| |
|||||||||	||||||||||dS )Nr  r  rD  r  r  r}  r  rk   rm   r   r  r  r  r  r  r  r  rq   rr   rI   rs   rK   r   r   r  )rL   rM   rt   r  r  r  r  _update_stickersets_orderr  r  rN   r  r   r  r   r  r  r>   r   r  r   r  r]  r  r  r;   r;   r<   rO     sX    












zSendMediaRequest.from_reader)NNNNNNNNNNNNNNNNNrQ   rR   rS   rT   rU   ry   r   rr   rW   r   r	   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   r  j  s   zr  c                   @   s   e Zd ZdZdZddeee ee ee ee ee ee ee ee ed eed ee	d  ee
 ed ed ee ee ed	 d
ddZdd Zdd Zdd Zedd ZdS )SendMessageRequestl   \| r   Nr   r!   r+   r'   r    r/   r6   ry  rw  r  r  r  r  r  rx  r  r  r   rz  r{  r  r   r  r\  r  r  c                 C   s   || _ || _|| _|| _|| _|| _|| _|| _|	| _|
| _	|| _
|dk	rN|ntjtdddd| _|| _|| _|| _|| _|| _|| _|| _|| _dS r   )r6   ry  rw  r  r  r  r  r  rx  r  r  rW   r   r   r   r   rz  r{  r  r   r  r\  r  r  )r:   r6   ry  rw  r  r  r  r  r  rx  r  r  r   rz  r{  r  r   r  r\  r  r  r;   r;   r<   r=     s(    $zSendMessageRequest.__init__c                    s>   | || jI d H | _| jr:| || jI d H | _d S ra   r   re   r;   r;   r<   rh     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| jt | jtr| j n| jdS )Nr  c                 S   s"   g | ]}t |tr| n|qS r;   r   r   r;   r;   r<   r   &  s     z.SendMessageRequest.to_dict.<locals>.<listcomp>)r>   r6   ry  rw  r  r  r  r  r  rx  r  r  r   rz  r{  r  r   r  r\  r  r  )r?   r6   r   r@   ry  rw  r  r  r  r  r  rx  r  r  r   rz  r{  r  r   r  r\  r  r  rA   r;   r;   r<   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d ks| jdkrdndB | jd ks| jdkrdndB | j | jd ks,| jdkr0dn| j | | jtd| j| jd ksf| jdkrjd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| j | jd ks| jdkr"dn| j | jd ksB| jdkrFdntd| j| jd ksj| jdkrndntd| j| jd ks| jdkrdn| j fS )NrB   s   rj   Fr   rl   r  r  rD  r  r  r}  r  rk   rm   r   r  r  r  r  r  r  rC   r   rn   c                 s   s   | ]}|  V  qd S ra   r   r   r;   r;   r<   r   8  s     z,SendMessageRequest._bytes.<locals>.<genexpr>)rD   rG   rH   rw  r  r  r  r  r  rx  r  r  rz  r{  r  r   r  r\  r  r  r6   rE   rF   ry  r   r   r  rA   r;   r;   r<   rE   /  s$      $
$J&$$(($zSendMessageRequest._bytesc                 C   s  |  }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@ r\| }nd }|d@ rt| }nd }| |||||||||	|
||||||||||dS )Nrl   r  r  rD  r  r  r}  r  rk   rm   r   r  r  r  r  r  r  r  r  )rL   rM   rt   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<   rO   A  sX    












zSendMessageRequest.from_reader)NNNNNNNNNNNNNNNNNNr  r;   r;   r;   r<   r    s   ~r  c                   @   s   e Zd ZdZdZdded ee ee ee ee ee ee ee ed ee ed ed ee	 ee	 dd	d
Z
dd Zdd Zdd Zedd ZdS )SendMultiMediaRequestitr   Nr   r"   r!   r    r6   multi_mediar  r  r  r  r  rx  r  r  r  r   r  r\  r  c                 C   s^   || _ || _|| _|| _|| _|| _|| _|| _|	| _|
| _	|| _
|| _|| _|| _|| _dS r   r  )r:   r6   r  r  r  r  r  r  rx  r  r  r  r   r  r\  r  r;   r;   r<   r=     s    zSendMultiMediaRequest.__init__c                    s>   | || jI d H | _| jr:| || jI d H | _d S ra   r   re   r;   r;   r<   rh     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| jdS )Nr  c                 S   s"   g | ]}t |tr| n|qS r;   r   r   r;   r;   r<   r     s     z1SendMultiMediaRequest.to_dict.<locals>.<listcomp>)r>   r6   r  r  r  r  r  r  rx  r  r  r  r   r  r\  r  )r?   r6   r   r@   r  r  r  r  r  r  rx  r  r  r  r   r  r\  r  rA   r;   r;   r<   r@     s"    zSendMultiMediaRequest.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 | 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rDdn| j | jd ksd| jdkrhdntd| j| jd ks| jdkrdntd| jfS )NrB   s   trj   Fr   r  r  rD  r  r  r}  r  rk   r  r  r  r  r  r   rn   c                 s   s   | ]}|  V  qd S ra   r   r   r;   r;   r<   r     s     z/SendMultiMediaRequest._bytes.<locals>.<genexpr>rC   )rD   rG   rH   r  r  r  r  r  rx  r  r  r  r   r  r\  r  r6   rE   r   r  r  rA   r;   r;   r<   rE     s     $  &$$((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@ r| }nd }| |
||||||||	||||||dS )Nr  r  rD  r  r  r}  r  rk   r  r  r  r  r  r  )rq   rr   rI   r   r   r  rK   )rL   rM   rt   r  r  r  r  r  r  r  rN   r  Z_multi_mediar>   r   r  r   r  r]  r  r;   r;   r<   rO     sB    






z!SendMultiMediaRequest.from_reader)NNNNNNNNNNNNN)rQ   rR   rS   rT   rU   r   r   rr   r	   rW   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   r  |  s   dr  c                   @   sT   e Zd ZdZdZddeeeed dddZd	d
 Zdd Z	dd Z
edd ZdS )SendPaidReactionRequestiP˻Xr   Nr   r)   r6   r]   countr   privatec                 C   s@   || _ || _|| _|dk	r|ntjtdddd| _|| _dS r   )	r6   r]   r  rW   r   r   r   r   r  )r:   r6   r]   r  r   r  r;   r;   r<   r=     s
    $z SendPaidReactionRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh     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>   r6   r]   r  r   r  )r?   r6   r   r@   r]   r  r   r  rA   r;   r;   r<   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 )	NrB   s   P˻Xrj   Fr   rk   rn   rC   )	rD   rG   rH   r  r6   rE   r]   r  r   rA   r;   r;   r<   rE      s    " zSendPaidReactionRequest._bytesc                 C   sP   |  }| }|  }|  }| }|d@ r:| }nd }| |||||dS )Nrk   r  r  )rL   rM   rt   rN   rv   _countr   _privater;   r;   r<   rO      s    
z#SendPaidReactionRequest.from_reader)NNr  r;   r;   r;   r<   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   r6   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  r;   r;   r<   r   (   s     z:SendQuickReplyMessagesRequest.__init__.<locals>.<listcomp>)r6   r%  r  r   r   r   )r:   r6   r%  r  r   r;   r;   r<   r=   !   s    z&SendQuickReplyMessagesRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh   *   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>   r6   r%  r  r   )r?   r6   r   r@   r%  r  r   rA   r;   r;   r<   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 )NrB   s   ulrn   r   c                 s   s   | ]}t d |V  qdS r  r  r   r;   r;   r<   r   ;   s     z7SendQuickReplyMessagesRequest._bytes.<locals>.<genexpr>c                 s   s   | ]}t d |V  qdS r  r  r   r;   r;   r<   r   <   s     )	rD   r6   rE   rG   rH   r%  r   r  r   rA   r;   r;   r<   rE   6   s        z$SendQuickReplyMessagesRequest._bytesc                 C   s   |  }| }|  g }t| D ]}| }|| q(|  g }t| D ]}| }|| qX| ||||dS )Nr  )rI   rq   r   r   rK   )rL   rM   rN   r'  r  r>   r   r   r;   r;   r<   rO   ?   s    z)SendQuickReplyMessagesRequest.from_reader)Nr   r;   r;   r;   r<   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*   r6   r]   r   add_to_recentrn  c                 C   s"   || _ || _|| _|| _|| _dS r   r  )r:   r6   r]   r   r  rn  r;   r;   r<   r=   V   s
    zSendReactionRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh   `   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 r;   r   r   r;   r;   r<   r   j   s     z/SendReactionRequest.to_dict.<locals>.<listcomp>)r>   r6   r]   r   r  rn  )r?   r6   r   r@   r]   r   r  rn  rA   r;   r;   r<   r@   c   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 )NrB   s   xrj   Fr   rl   rm   rk   rn   r   c                 s   s   | ]}|  V  qd S ra   r   r   r;   r;   r<   r   s   s     z-SendReactionRequest._bytes.<locals>.<genexpr>)
rD   rG   rH   r   r  rn  r6   rE   r]   r   rA   r;   r;   r<   rE   m   s    ZFzSendReactionRequest._bytesc           
      C   s   |  }t|d@ }t|d@ }| }|  }|d@ rj|   g }t|  D ]}| }	||	 qPnd }| |||||dS )Nrl   rm   rk   r  r!  )
rL   rM   rt   Z_bigZ_add_to_recentrN   rv   ro  r>   r   r;   r;   r<   rO   v   s    zSendReactionRequest.from_reader)NNN)rQ   rR   rS   rT   rU   rW   r   rr   r   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   r  R   s   (

	r  c                   @   sL   e Zd ZdZdZdee dddZdd Zd	d
 Z	dd Z
edd ZdS )SendScheduledMessagesRequestl   
qz r   r   r8  c                 C   s   || _ || _dS r   r8  r9  r;   r;   r<   r=      s    z%SendScheduledMessagesRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh      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;  rA   r;   r;   r<   r@      s    z$SendScheduledMessagesRequest.to_dictc              
   C   s:   d d| j dtdt| jd dd | jD fS )NrB   s   
8r   rn   c                 s   s   | ]}t d |V  qdS r  r  r   r;   r;   r<   r      s     z6SendScheduledMessagesRequest._bytes.<locals>.<genexpr>r<  rA   r;   r;   r<   rE      s      z#SendScheduledMessagesRequest._bytesc                 C   sD   |  }|  g }t| D ]}| }|| q | ||dS r=  r   r>  r;   r;   r<   rO      s    z(SendScheduledMessagesRequest.from_readerNr?  r;   r;   r;   r<   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!   r6   r  r   c                 C   s4   || _ || _|dk	r|ntjtdddd| _dS r   )r6   r  rW   r   r   r   r   )r:   r6   r  r   r;   r;   r<   r=      s    z*SendScreenshotNotificationRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh      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>   r6   r  r   )r?   r6   r   r@   r  r   rA   r;   r;   r<   r@      s
    z)SendScreenshotNotificationRequest.to_dictc              	   C   s(   d d| j | j td| jfS )NrB   s   X@rC   )rD   r6   rE   r  rG   rH   r   rA   r;   r;   r<   rE      s    z(SendScreenshotNotificationRequest._bytesc                 C   s&   |  }|  }| }| |||dS )Nr  r  )rL   rM   rN   r  r   r;   r;   r<   rO      s    z-SendScreenshotNotificationRequest.from_reader)Nr   r;   r;   r;   r<   r     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   r6   r]   optionsc                 C   s   || _ || _|| _dS r   r  )r:   r6   r]   r  r;   r;   r<   r=      s    zSendVoteRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh      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>   r6   r]   r  )r?   r6   r   r@   r]   r  rA   r;   r;   r<   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 )NrB   s   arn   r   c                 3   s   | ]}  |V  qd S ra   r7  r   rA   r;   r<   r      s     z)SendVoteRequest._bytes.<locals>.<genexpr>)rD   r6   rE   rG   rH   r]   r   r  rA   r;   rA   r<   rE      s      zSendVoteRequest._bytesc                 C   sN   |  }| }|  g }t| D ]}| }|| q(| |||dS )Nr  )rI   rq   r   rJ   r   )rL   rM   rN   rv   _optionsr>   r   r;   r;   r<   rO      s    zSendVoteRequest.from_readerN)rQ   rR   rS   rT   rU   rW   r   rV   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   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  rW   r   r   r   r   )r:   r  r  r  r   r;   r;   r<   r=   	!  s    zSendWebViewDataRequest.__init__c                    s   | || jI d H | _d S ra   r  re   r;   r;   r<   rh   !  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   rA   r;   r;   r<   r@   !  s    zSendWebViewDataRequest.to_dictc              	   C   s4   d d| j td| j| | j| | jfS )NrB   s   BrC   )	rD   r  rE   rG   rH   r   rF   r  r  rA   r;   r;   r<   rE   !  s    

zSendWebViewDataRequest._bytesc                 C   s0   |  }| }| }| }| ||||dS )Nr  rI   rK   rs   )rL   rM   r  r   Z_button_textr  r;   r;   r<   rO   '!  s
    z"SendWebViewDataRequest.from_reader)NrQ   rR   rS   rT   rU   ry   rW   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   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_idrd  c                 C   s   || _ || _dS )zN
        :returns WebViewMessageSent: Instance of WebViewMessageSent.
        Nr  )r:   r  rd  r;   r;   r<   r=   4!  s    z(SendWebViewResultMessageRequest.__init__c                 C   s&   d| j t| jtr| j n| jdS )Nr  )r>   r  rd  )r  r?   rd  r   r@   rA   r;   r;   r<   r@   ;!  s    z'SendWebViewResultMessageRequest.to_dictc                 C   s   d d| | j| j fS )NrB   s   C
)rD   rF   r  rd  rE   rA   r;   r;   r<   rE   B!  s
    
z&SendWebViewResultMessageRequest._bytesc                 C   s   |  }| }| ||dS )Nr  )rs   rI   )rL   rM   Z_bot_query_idrf  r;   r;   r<   rO   I!  s    z+SendWebViewResultMessageRequest.from_readerNr   r;   r;   r;   r<   r  0!  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alertry  r_   c                 C   s"   || _ || _|| _|| _|| _dS r   r  )r:   r  r  r  ry  r_   r;   r;   r<   r=   T!  s
    z$SetBotCallbackAnswerRequest.__init__c                 C   s   d| j | j| j| j| jdS )Nr  )r>   r  r  r  ry  r_   r  rA   r;   r;   r<   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 )NrB   s   
rj   Fr   rl   rk   rm   rC   rn   )	rD   rG   rH   r  ry  r_   r  rF   r  rA   r;   r;   r<   rE   h!  s    Z""z"SetBotCallbackAnswerRequest._bytesc                 C   sb   |  }t|d@ }| }|d@ r.| }nd }|d@ rD| }nd }|  }| |||||dS )Nrl   rk   rm   r  rq   rr   rK   rs   )rL   rM   rt   Z_alertr  r  rx   _cache_timer;   r;   r<   rO   r!  s    

z'SetBotCallbackAnswerRequest.from_reader)NNNrQ   rR   rS   rT   rU   rW   r   rr   ry   r=   r@   rE   rX   rO   r;   r;   r;   r<   r  P!  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  )r:   r  r  r  r;   r;   r<   r=   !  s    z(SetBotPrecheckoutResultsRequest.__init__c                 C   s   d| j | j| jdS )Nr  )r>   r  r  r  r  rA   r;   r;   r<   r@   !  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 )	NrB   s   	rj   Fr   rl   rk   rC   )rD   rG   rH   r  r  r  rF   rA   r;   r;   r<   rE   !  s    >"z&SetBotPrecheckoutResultsRequest._bytesc                 C   s@   |  }t|d@ }| }|d@ r.| }nd }| |||dS )Nrl   rk   r  r  )rL   rM   rt   Z_successr  _errorr;   r;   r<   rO   !  s    
z+SetBotPrecheckoutResultsRequest.from_reader)NNr  r;   r;   r;   r<   r  !  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  )r:   r  r  r  r;   r;   r<   r=   !  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 r;   r   r   r;   r;   r<   r   !  s     z8SetBotShippingResultsRequest.to_dict.<locals>.<listcomp>)r>   r  r  r  r  rA   r;   r;   r<   r@   !  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 )NrB   s   rrj   Fr   rk   rl   rC   r   rn   c                 s   s   | ]}|  V  qd S ra   r   r   r;   r;   r<   r   !  s     z6SetBotShippingResultsRequest._bytes.<locals>.<genexpr>)rD   rG   rH   r  r  r  rF   r   rA   r;   r;   r<   rE   !  s    >"Fz#SetBotShippingResultsRequest._bytesc                 C   sr   |  }| }|d@ r"| }nd }|d@ r`|   g }t|  D ]}| }|| qFnd }| |||dS )Nrk   rl   r  )rq   rK   rs   r   rI   r   )rL   rM   rt   r  r  Z_shipping_optionsr>   r   r;   r;   r<   rO   !  s    
z(SetBotShippingResultsRequest.from_reader)NN)rQ   rR   rS   rT   rU   rW   r   ry   r   r=   r@   rE   rX   rO   r;   r;   r;   r<   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   r6   available_reactionsreactions_limitpaid_enabledc                 C   s   || _ || _|| _|| _dS r   r  )r:   r6   r  r  r  r;   r;   r<   r=   !  s    z)SetChatAvailableReactionsRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh   !  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>   r6   r  r  r  )r?   r6   r   r@   r  r  r  rA   r;   r;   r<   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 )NrB   s   %Krj   Fr   rk   rl   rn   rQ  rR  )rD   rG   rH   r  r  r6   rE   r  rA   r;   r;   r<   rE   !  s    4$z'SetChatAvailableReactionsRequest._bytesc                 C   sT   |  }| }| }|d@ r*|  }nd }|d@ r@| }nd }| ||||dS )Nrk   rl   r  )rq   rI   rS  )rL   rM   rt   rN   Z_available_reactionsZ_reactions_limitZ_paid_enabledr;   r;   r<   rO   "  s    

z,SetChatAvailableReactionsRequest.from_reader)NN)rQ   rR   rS   rT   rU   r   rW   rr   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   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 )SetChatThemeRequestir   r   r   r6   themec                 C   s   || _ || _dS r   r  )r:   r6   r  r;   r;   r<   r=   "  s    zSetChatThemeRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh   "  s    zSetChatThemeRequest.resolvec                 C   s<   dt | jtr| j n| jt | jtr2| j n| jdS )Nr  )r>   r6   r  )r?   r6   r   r@   r  rA   r;   r;   r<   r@   !"  s    zSetChatThemeRequest.to_dictc                 C   s   d d| j | j fS )NrB   s   )rD   r6   rE   r  rA   r;   r;   r<   rE   ("  s
    zSetChatThemeRequest._bytesc                 C   s   |  }|  }| ||dS )Nr  r   )rL   rM   rN   Z_themer;   r;   r<   rO   /"  s    zSetChatThemeRequest.from_readerNr   r;   r;   r;   r<   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&   r2   r6   for_bothrevert	wallpapersettingsr  c                 C   s(   || _ || _|| _|| _|| _|| _dS r   r  )r:   r6   r  r  r  r  r  r;   r;   r<   r=   :"  s    z SetChatWallPaperRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh   E"  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>   r6   r  r  r  r  r  )	r?   r6   r   r@   r  r  r  r  r  rA   r;   r;   r<   r@   H"  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 )NrB   s   rj   Fr   r   r   rk   rm   rl   rn   )
rD   rG   rH   r  r  r  r  r  r6   rE   rA   r;   r;   r<   rE   S"  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   r   rk   rm   rl   r  r  )	rL   rM   rt   Z	_for_bothZ_revertrN   Z
_wallpaperZ	_settingsr  r;   r;   r<   rO   ]"  s    


z#SetChatWallPaperRequest.from_reader)NNNNN)rQ   rR   rS   rT   rU   r   rr   rW   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   r  6"  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  )r:   r  r;   r;   r<   r=   w"  s    z$SetDefaultHistoryTTLRequest.__init__c                 C   s   d| j dS )Nr  )r>   r  r  rA   r;   r;   r<   r@   }"  s    z#SetDefaultHistoryTTLRequest.to_dictc                 C   s   d dtd| jfS )NrB   s   Ern   )rD   rG   rH   r  rA   r;   r;   r<   rE   "  s    z"SetDefaultHistoryTTLRequest._bytesc                 C   s   |  }| |dS )Nr  r*  )rL   rM   _periodr;   r;   r<   rO   "  s    z'SetDefaultHistoryTTLRequest.from_readerNr   r;   r;   r;   r<   r  s"  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*   rn  c                 C   s
   || _ dS r   r  )r:   rn  r;   r;   r<   r=   "  s    z"SetDefaultReactionRequest.__init__c                 C   s"   dt | jtr| j n| jdS )Nr  )r>   rn  )r?   rn  r   r@   rA   r;   r;   r<   r@   "  s    z!SetDefaultReactionRequest.to_dictc                 C   s   d d| j fS )NrB   s   GO)rD   rn  rE   rA   r;   r;   r<   rE   "  s    z SetDefaultReactionRequest._bytesc                 C   s   |  }| |dS )Nr  r   )rL   rM   ro  r;   r;   r<   rO   "  s    z%SetDefaultReactionRequest.from_readerNr  r;   r;   r;   r<   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 )SetEncryptedTypingRequestiQyr   r   r6   typingc                 C   s   || _ || _dS r   r  )r:   r6   r  r;   r;   r<   r=   "  s    z"SetEncryptedTypingRequest.__init__c                 C   s&   dt | jtr| j n| j| jdS )Nr  )r>   r6   r  )r?   r6   r   r@   r  rA   r;   r;   r<   r@   "  s    z!SetEncryptedTypingRequest.to_dictc                 C   s    d d| j | jrdndfS )NrB   s   QyrQ  rR  )rD   r6   rE   r  rA   r;   r;   r<   rE   "  s
    z SetEncryptedTypingRequest._bytesc                 C   s   |  }| }| ||dS )Nr  r  )rL   rM   rN   _typingr;   r;   r<   rO   "  s    z%SetEncryptedTypingRequest.from_readerNr  r;   r;   r;   r<   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%   r6   r  r~   scoreedit_messager  c                 C   s(   || _ || _|| _|| _|| _|| _dS r   r  )r:   r6   r  r~   r  r  r  r;   r;   r<   r=   "  s    zSetGameScoreRequest.__init__c                    s8   | || jI d H | _||| jI d H | _d S ra   rV  re   r;   r;   r<   rh   "  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>   r6   r  r~   r  r  r  )	r?   r6   r   r@   r  r~   r  r  r  rA   r;   r;   r<   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 )	NrB   s   rj   Fr   rk   rl   rn   )
rD   rG   rH   r  r  r6   rE   r  r~   r  rA   r;   r;   r<   rE   "  s    >zSetGameScoreRequest._bytesc           	      C   sT   |  }t|d@ }t|d@ }| }|  }| }|  }| ||||||dS )Nrk   rl   r  r  )	rL   rM   rt   _edit_messager  rN   r  r   _scorer;   r;   r<   rO   "  s    zSetGameScoreRequest.from_reader)NNr   r;   r;   r;   r<   r  "  s   "
r  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )SetHistoryTTLRequestl   _p r   r   r6   r  c                 C   s   || _ || _dS r   r  )r:   r6   r  r;   r;   r<   r=   #  s    zSetHistoryTTLRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh   #  s    zSetHistoryTTLRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr  )r>   r6   r  )r?   r6   r   r@   r  rA   r;   r;   r<   r@   #  s    zSetHistoryTTLRequest.to_dictc                 C   s    d d| j td| jfS )NrB   s   _rn   )rD   r6   rE   rG   rH   r  rA   r;   r;   r<   rE   #  s
    zSetHistoryTTLRequest._bytesc                 C   s   |  }| }| ||dS )Nr  r  )rL   rM   rN   r  r;   r;   r<   rO   #  s    z SetHistoryTTLRequest.from_readerNr   r;   r;   r;   r<   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  )	r:   r  r  r  r  r  r  r  r  r;   r;   r<   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 r;   r   r   r;   r;   r<   r   8#  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  rA   r;   r;   r<   r@   4#  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 )NrB   s   rj   Fr   rk   rl   rm   r   r   rC   r   rn   c                 s   s   | ]}|  V  qd S ra   r   r   r;   r;   r<   r   F#  s     z4SetInlineBotResultsRequest._bytes.<locals>.<genexpr>)rD   rG   rH   r  r  r  r  r  r  r   r  r  rF   rE   rA   r;   r;   r<   rE   A#  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 )Nrk   rl   rm   r   r   r  )rq   rr   rK   r   rI   r   rs   )rL   rM   rt   Z_galleryr  r  Z_resultsr>   r   r  Z_next_offsetZ
_switch_pmZ_switch_webviewr;   r;   r<   rO   M#  s(    


z&SetInlineBotResultsRequest.from_reader)NNNNN)rQ   rR   rS   rT   rU   rW   r   r   rr   ry   r=   r@   rE   rX   rO   r;   r;   r;   r<   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  )r:   r  r~   r  r  r  r;   r;   r<   r=   n#  s
    z"SetInlineGameScoreRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh   x#  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  rA   r;   r;   r<   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 )	NrB   s   drj   Fr   rk   rl   rn   )	rD   rG   rH   r  r  r  rE   r~   r  rA   r;   r;   r<   rE   #  s    >z SetInlineGameScoreRequest._bytesc                 C   sJ   |  }t|d@ }t|d@ }| }| }|  }| |||||dS )Nrk   rl   r  r  )rL   rM   rt   r  r  r  r   r  r;   r;   r<   rO   #  s    z%SetInlineGameScoreRequest.from_reader)NNr   r;   r;   r;   r<   r  j#  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,   r6   actionrB  c                 C   s   || _ || _|| _dS r   r  )r:   r6   r  rB  r;   r;   r<   r=   #  s    zSetTypingRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh   #  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>   r6   r  rB  )r?   r6   r   r@   r  rB  rA   r;   r;   r<   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 )NrB   s   >Xrj   Fr   rk   rn   )rD   rG   rH   rB  r6   rE   r  rA   r;   r;   r<   rE   #  s    "$zSetTypingRequest._bytesc                 C   s<   |  }| }|d@ r"|  }nd }| }| |||dS )Nrk   r  r  )rL   rM   rt   rN   rF  _actionr;   r;   r<   rO   #  s    
zSetTypingRequest.from_reader)Nr  r;   r;   r;   r<   r  #  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  r6   rA  r   c                 C   s:   || _ || _|| _|dk	r|ntjtdddd| _dS r   )r  r6   rA  rW   r   r   r   r   )r:   r  r6   rA  r   r;   r;   r<   r=   #  s    zStartBotRequest.__init__c                    s8   | || jI d H | _||| jI d H | _d S ra   re  re   r;   r;   r<   rh   #  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  r6   rA  r   )r?   r  r   r@   r6   rA  r   rA   r;   r;   r<   r@   #  s    zStartBotRequest.to_dictc              	   C   s2   d d| j | j td| j| | jfS )NrB   s   xsrC   )	rD   r  rE   r6   rG   rH   r   rF   rA  rA   r;   r;   r<   rE   #  s    
zStartBotRequest._bytesc                 C   s0   |  }|  }| }| }| ||||dS )Nr  r  )rL   rM   r  rN   r   rF  r;   r;   r<   rO   #  s
    zStartBotRequest.from_reader)Nr  r;   r;   r;   r<   r  #  s   			r  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )StartHistoryImportRequestl   Ds{h r   r   r6   	import_idc                 C   s   || _ || _dS r   r  )r:   r6   r  r;   r;   r<   r=   #  s    z"StartHistoryImportRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh   #  s    z!StartHistoryImportRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr  )r>   r6   r  )r?   r6   r   r@   r  rA   r;   r;   r<   r@   $  s    z!StartHistoryImportRequest.to_dictc                 C   s    d d| j td| jfS )NrB   s   D=rC   )rD   r6   rE   rG   rH   r  rA   r;   r;   r<   rE   $  s
    z StartHistoryImportRequest._bytesc                 C   s   |  }| }| ||dS )Nr  r  )rL   rM   rN   
_import_idr;   r;   r<   rO   $  s    z%StartHistoryImportRequest.from_readerNr   r;   r;   r;   r<   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  enabledr\   c                 C   s   || _ || _|| _dS r   r  )r:   r  r  r\   r;   r;   r<   r=   $  s    z%ToggleBotInAttachMenuRequest.__init__c                    s   | || jI d H | _d S ra   r  re   r;   r;   r<   rh   "$  s    z$ToggleBotInAttachMenuRequest.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\   rA   r;   r;   r<   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 )	NrB   s   iirj   Fr   rk   rQ  rR  )rD   rG   rH   r\   r  rE   r  rA   r;   r;   r<   rE   -$  s    "z#ToggleBotInAttachMenuRequest._bytesc                 C   s2   |  }t|d@ }| }| }| |||dS )Nrk   r  ri  )rL   rM   rt   ru   r  _enabledr;   r;   r<   rO   5$  s
    z(ToggleBotInAttachMenuRequest.from_reader)Nrj  r;   r;   r;   r<   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  )r:   r  r;   r;   r<   r=   C$  s    z&ToggleDialogFilterTagsRequest.__init__c                 C   s   d| j dS )Nr  )r>   r  r  rA   r;   r;   r<   r@   I$  s    z%ToggleDialogFilterTagsRequest.to_dictc                 C   s   d d| jrdndfS )NrB   s   I-rQ  rR  )rD   r  rA   r;   r;   r<   rE   O$  s    z$ToggleDialogFilterTagsRequest._bytesc                 C   s   |  }| |dS )Nr  )rS  )rL   rM   r  r;   r;   r<   rO   U$  s    z)ToggleDialogFilterTagsRequest.from_readerNr  r;   r;   r;   r<   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   r6   pinnedc                 C   s   || _ || _dS r   r  r:   r6   r	  r;   r;   r<   r=   _$  s    zToggleDialogPinRequest.__init__c                    s   | | jI d H | _d S ra   r  r6   re   r;   r;   r<   rh   f$  s    zToggleDialogPinRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr  r>   r6   r	  r?   r6   r   r@   r	  rA   r;   r;   r<   r@   i$  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 )NrB   s   W1rj   Fr   rk   rD   rG   rH   r	  r6   rE   rA   r;   r;   r<   rE   p$  s
    "zToggleDialogPinRequest._bytesc                 C   s(   |  }t|d@ }| }| ||dS Nrk   r  r  rL   rM   rt   _pinnedrN   r;   r;   r<   rO   w$  s    z"ToggleDialogPinRequest.from_reader)Nr  r;   r;   r;   r<   r  [$  s   r  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )ToggleNoForwardsRequestl   /=b r   r   r6   r  c                 C   s   || _ || _dS r   r  )r:   r6   r  r;   r;   r<   r=   $  s    z ToggleNoForwardsRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh   $  s    zToggleNoForwardsRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr  )r>   r6   r  )r?   r6   r   r@   r  rA   r;   r;   r<   r@   $  s    zToggleNoForwardsRequest.to_dictc                 C   s    d d| j | jrdndfS )NrB   s   rQ  rR  )rD   r6   rE   r  rA   r;   r;   r<   rE   $  s
    zToggleNoForwardsRequest._bytesc                 C   s   |  }| }| ||dS )Nr  r  )rL   rM   rN   r  r;   r;   r<   rO   $  s    z#ToggleNoForwardsRequest.from_readerNr  r;   r;   r;   r<   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 ) TogglePaidReactionPrivacyRequestiXCr   r   r)   r6   r]   r  c                 C   s   || _ || _|| _dS r   r  )r:   r6   r]   r  r;   r;   r<   r=   $  s    z)TogglePaidReactionPrivacyRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh   $  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>   r6   r]   r  )r?   r6   r   r@   r]   r  rA   r;   r;   r<   r@   $  s
    z(TogglePaidReactionPrivacyRequest.to_dictc                 C   s(   d d| j td| j| j fS )NrB   s   XCrn   )rD   r6   rE   rG   rH   r]   r  rA   r;   r;   r<   rE   $  s    z'TogglePaidReactionPrivacyRequest._bytesc                 C   s&   |  }| }|  }| |||dS )Nr  r  )rL   rM   rN   rv   r  r;   r;   r<   rO   $  s    z,TogglePaidReactionPrivacyRequest.from_readerNr   r;   r;   r;   r<   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 )TogglePeerTranslationsRequestl   y5H r   Nr   r6   disabledc                 C   s   || _ || _dS r   r  )r:   r6   r  r;   r;   r<   r=   $  s    z&TogglePeerTranslationsRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh   $  s    z%TogglePeerTranslationsRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr  )r>   r6   r  )r?   r6   r   r@   r  rA   r;   r;   r<   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 )NrB   s   y|rj   Fr   rk   )rD   rG   rH   r  r6   rE   rA   r;   r;   r<   rE   $  s
    "z$TogglePeerTranslationsRequest._bytesc                 C   s(   |  }t|d@ }| }| ||dS )Nrk   r  r  )rL   rM   rt   Z	_disabledrN   r;   r;   r<   rO   $  s    z)TogglePeerTranslationsRequest.from_reader)Nr  r;   r;   r;   r<   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
  r;   r;   r<   r=   $  s    z$ToggleSavedDialogPinRequest.__init__c                    s   | | jI d H | _d S ra   r  re   r;   r;   r<   rh   $  s    z#ToggleSavedDialogPinRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr  r  r  rA   r;   r;   r<   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 )NrB   s   ޻rj   Fr   rk   r  rA   r;   r;   r<   rE   %  s
    "z"ToggleSavedDialogPinRequest._bytesc                 C   s(   |  }t|d@ }| }| ||dS r  r  r  r;   r;   r<   rO   %  s    z'ToggleSavedDialogPinRequest.from_reader)Nr  r;   r;   r;   r<   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  )r:   r  r  r  r  r;   r;   r<   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 r;   r   r   r;   r;   r<   r   $%  s     z4ToggleStickerSetsRequest.to_dict.<locals>.<listcomp>)r>   r  r  r  r  r  rA   r;   r;   r<   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 )NrB   s   /rj   Fr   rk   rl   rm   r   rn   c                 s   s   | ]}|  V  qd S ra   r   r   r;   r;   r<   r   .%  s     z2ToggleStickerSetsRequest._bytes.<locals>.<genexpr>)rD   rG   rH   r  r  r  r   r  rA   r;   r;   r<   rE   *%  s    Z  zToggleStickerSetsRequest._bytesc           	      C   sl   |  }t|d@ }t|d@ }t|d@ }|   g }t|  D ]}| }|| qD| ||||dS )Nrk   rl   rm   r  r  )	rL   rM   rt   Z
_uninstallZ_archiveZ
_unarchiveZ_stickersetsr>   r   r;   r;   r<   rO   1%  s    z$ToggleStickerSetsRequest.from_reader)NNN)rQ   rR   rS   rT   rU   r   r   rr   r=   r@   rE   rX   rO   r;   r;   r;   r<   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 )"ToggleSuggestedPostApprovalRequestl   \E r   Nr   r6   r]   rejectr  reject_commentc                 C   s"   || _ || _|| _|| _|| _dS r   r!  )r:   r6   r]   r"  r  r#  r;   r;   r<   r=   E%  s
    z+ToggleSuggestedPostApprovalRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh   O%  s    z*ToggleSuggestedPostApprovalRequest.resolvec                 C   s2   dt | jtr| j n| j| j| j| j| jdS )Nr   )r>   r6   r]   r"  r  r#  )r?   r6   r   r@   r]   r"  r  r#  rA   r;   r;   r<   r@   R%  s    z*ToggleSuggestedPostApprovalRequest.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 )
NrB   s   \Erj   Fr   rl   rk   rm   rn   )rD   rG   rH   r"  r  r#  r6   rE   r]   r  rF   rA   r;   r;   r<   rE   \%  s    Z""z)ToggleSuggestedPostApprovalRequest._bytesc                 C   sb   |  }t|d@ }| }|  }|d@ r6| }nd }|d@ rL| }nd }| |||||dS )Nrl   rk   rm   r!  r  )rL   rM   rt   Z_rejectrN   rv   r  Z_reject_commentr;   r;   r<   rO   f%  s    

z.ToggleSuggestedPostApprovalRequest.from_reader)NNNrA  r;   r;   r;   r<   r   A%  s   $


r   c                   @   sT   e Zd ZdZdZ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 )ToggleTodoCompletedRequestl   $1' r   r   r6   r]   	completedincompletedc                 C   s   || _ || _|| _|| _dS r   r%  )r:   r6   r]   r&  r'  r;   r;   r<   r=   |%  s    z#ToggleTodoCompletedRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh   %  s    z"ToggleTodoCompletedRequest.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>   r6   r]   r&  r'  )r?   r6   r   r@   r]   r&  r'  rA   r;   r;   r<   r@   %  s    z"ToggleTodoCompletedRequest.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 )NrB   s   $1rn   r   c                 s   s   | ]}t d |V  qdS r  r  r   r;   r;   r<   r   %  s     z4ToggleTodoCompletedRequest._bytes.<locals>.<genexpr>c                 s   s   | ]}t d |V  qdS r  r  r   r;   r;   r<   r   %  s     )	rD   r6   rE   rG   rH   r]   r   r&  r'  rA   r;   r;   r<   rE   %  s        z!ToggleTodoCompletedRequest._bytesc                 C   s   |  }| }|  g }t| D ]}| }|| q(|  g }t| D ]}| }|| qX| ||||dS )Nr%  r   )rL   rM   rN   rv   Z
_completedr>   r   Z_incompletedr;   r;   r<   rO   %  s    z&ToggleTodoCompletedRequest.from_readerNr   r;   r;   r;   r<   r$  x%  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  r;   r;   r<   r=   %  s    zTranscribeAudioRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh   %  s    zTranscribeAudioRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr(  r  r  rA   r;   r;   r<   r@   %  s    zTranscribeAudioRequest.to_dictc                 C   s    d d| j td| jfS )NrB   s   I&rn   r  rA   r;   r;   r<   rE   %  s
    zTranscribeAudioRequest._bytesc                 C   s   |  }| }| ||dS r  r  r  r;   r;   r<   rO   %  s    z"TranscribeAudioRequest.from_readerNr   r;   r;   r;   r<   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   r0   to_langr6   r  rl  c                 C   s   || _ || _|| _|| _dS )zP
        :returns messages.TranslatedText: Instance of TranslateResult.
        Nr*  )r:   r+  r6   r  rl  r;   r;   r<   r=   %  s    zTranslateTextRequest.__init__c                    s$   | j r ||| j I d H | _ d S ra   rb   re   r;   r;   r<   rh   %  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 r;   r   r   r;   r;   r<   r   %  s     z0TranslateTextRequest.to_dict.<locals>.<listcomp>)r>   r+  r6   r  rl  )r+  r?   r6   r   r@   r  rl  rA   r;   r;   r<   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-yrB   s   00crj   r   rk   rl   r   rn   c                 s   s   | ]}t d |V  qdS r  r  r   r;   r;   r<   r   %  s     z.TranslateTextRequest._bytes.<locals>.<genexpr>c                 s   s   | ]}|  V  qd S ra   r   r   r;   r;   r<   r   %  s     )r6   r  ro   rD   rG   rH   rl  rE   r   rF   r+  rA   r;   r;   r<   rE   %  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 )Nrk   rl   r*  )rq   rI   r   r   rs   )	rL   rM   rt   rN   r  r>   r   rm  Z_to_langr;   r;   r<   rO   %  s(    
z TranslateTextRequest.from_reader)NNN)rQ   rR   rS   rT   rU   ry   r   r   rW   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   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-  )r:   r  r;   r;   r<   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@   rA   r;   r;   r<   r@   &  s    z"UninstallStickerSetRequest.to_dictc                 C   s   d d| j fS )NrB   s   Un)rD   r  rE   rA   r;   r;   r<   rE   #&  s    z!UninstallStickerSetRequest._bytesc                 C   s   |  }| |dS )Nr-  r   )rL   rM   r  r;   r;   r<   rO   )&  s    z&UninstallStickerSetRequest.from_readerNr  r;   r;   r;   r<   r,  &  s   r,  c                   @   sT   e Zd ZdZdZ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 )UnpinAllMessagesRequestiG-r
  Nr   r  c                 C   s   || _ || _|| _dS r  r  r  r;   r;   r<   r=   3&  s    z UnpinAllMessagesRequest.__init__c                    s>   | || jI d H | _| jr:| || jI d H | _d S ra   r  re   r;   r;   r<   rh   ;&  s    zUnpinAllMessagesRequest.resolvec                 C   s@   dt | jtr| j n| j| jt | jtr6| j n| jdS )Nr.  r  r	  rA   r;   r;   r<   r@   @&  s
    zUnpinAllMessagesRequest.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td| j| jd ks| jdkrdn| j fS )	NrB   s   G-rj   Fr   rk   rl   rn   r
  rA   r;   r;   r<   rE   H&  s    >$ zUnpinAllMessagesRequest._bytesc                 C   sJ   |  }| }|d@ r"|  }nd }|d@ r8| }nd }| |||dS r  r  r  r;   r;   r<   rO   Q&  s    

z#UnpinAllMessagesRequest.from_reader)NNr  r;   r;   r;   r<   r.  /&  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   r0  )r:   r  r  r;   r;   r<   r=   e&  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@   rA   r;   r;   r<   r@   l&  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 )NrB   s   Jrj   Fr   rk   rn   )rD   rG   rH   r  r  rE   rA   r;   r;   r<   rE   s&  s    " z UpdateDialogFilterRequest._bytesc                 C   s2   |  }|  }|d@ r"| }nd }| ||dS )Nrk   r0  r  )rL   rM   rt   r  r  r;   r;   r<   rO   {&  s    
z%UpdateDialogFilterRequest.from_reader)N)rQ   rR   rS   rT   rU   rW   r   r=   r@   rE   rX   rO   r;   r;   r;   r<   r/  a&  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'  r;   r;   r<   r=   &  s    z(UpdateDialogFiltersOrderRequest.__init__c                 C   s"   d| j d krg n| j d d  dS )Nr1  r(  r&  rA   r;   r;   r<   r@   &  s    z'UpdateDialogFiltersOrderRequest.to_dictc              	   C   s2   d ddtdt| jd dd | jD fS )NrB   s   cr   rn   c                 s   s   | ]}t d |V  qdS r  r  r   r;   r;   r<   r   &  s     z9UpdateDialogFiltersOrderRequest._bytes.<locals>.<genexpr>r)  rA   r;   r;   r<   rE   &  s      z&UpdateDialogFiltersOrderRequest._bytesc                 C   s:   |   g }t|  D ]}|  }|| q| |dS r*  r&  r+  r;   r;   r<   rO   &  s    z+UpdateDialogFiltersOrderRequest.from_readerNr  r;   r;   r;   r<   r1  &  s   r1  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 )UpdatePinnedForumTopicRequestiQ]r   r   r6   rp  r	  c                 C   s   || _ || _|| _dS r   r3  )r:   r6   rp  r	  r;   r;   r<   r=   &  s    z&UpdatePinnedForumTopicRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh   &  s    z%UpdatePinnedForumTopicRequest.resolvec                 C   s*   dt | jtr| j n| j| j| jdS )Nr2  )r>   r6   rp  r	  )r?   r6   r   r@   rp  r	  rA   r;   r;   r<   r@   &  s
    z%UpdatePinnedForumTopicRequest.to_dictc                 C   s,   d d| j td| j| jr$dndfS )NrB   s   Q]rn   rQ  rR  )rD   r6   rE   rG   rH   rp  r	  rA   r;   r;   r<   rE   &  s    z$UpdatePinnedForumTopicRequest._bytesc                 C   s&   |  }| }| }| |||dS )Nr3  )rI   rq   rS  )rL   rM   rN   rs  r  r;   r;   r<   rO   &  s    z)UpdatePinnedForumTopicRequest.from_readerNrT  r;   r;   r;   r<   r2  &  s   r2  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   r6   r  r  unpin
pm_onesidec                 C   s"   || _ || _|| _|| _|| _dS r   r5  )r:   r6   r  r  r6  r7  r;   r;   r<   r=   &  s
    z#UpdatePinnedMessageRequest.__init__c                    s   | || jI d H | _d S ra   r   re   r;   r;   r<   rh   &  s    z"UpdatePinnedMessageRequest.resolvec                 C   s2   dt | jtr| j n| j| j| j| j| jdS )Nr4  )r>   r6   r  r  r6  r7  )r?   r6   r   r@   r  r  r6  r7  rA   r;   r;   r<   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 )
NrB   s   rj   Fr   rk   rl   rm   rn   )	rD   rG   rH   r  r6  r7  r6   rE   r  rA   r;   r;   r<   rE   &  s    Zz!UpdatePinnedMessageRequest._bytesc                 C   sN   |  }t|d@ }t|d@ }t|d@ }| }|  }| |||||dS )Nrk   rl   rm   r5  r  )rL   rM   rt   r  Z_unpinZ_pm_onesiderN   r  r;   r;   r<   rO   &  s    z&UpdatePinnedMessageRequest.from_reader)NNNr   r;   r;   r;   r<   r4  &  s   $

r4  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*   rn  r   c                 C   s   || _ || _dS r   r9  )r:   rn  r   r;   r;   r<   r=   '  s    z&UpdateSavedReactionTagRequest.__init__c                 C   s&   dt | jtr| j n| j| jdS )Nr8  )r>   rn  r   )r?   rn  r   r@   r   rA   r;   r;   r<   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 )NrB   s   })`rj   Fr   rk   )rD   rG   rH   r   rn  rE   rF   rA   r;   r;   r<   rE   '  s    ""z$UpdateSavedReactionTagRequest._bytesc                 C   s2   |  }| }|d@ r"| }nd }| ||dS )Nrk   r9  rf  )rL   rM   rt   ro  r   r;   r;   r<   rO   '  s    
z)UpdateSavedReactionTagRequest.from_reader)N)rQ   rR   rS   rT   rU   r   ry   r=   r@   rE   rX   rO   r;   r;   r;   r<   r8  &  s   r8  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   r6   r  c                 C   s   || _ || _dS )z_
        :returns EncryptedFile: Instance of either EncryptedFileEmpty, EncryptedFile.
        Nr;  )r:   r6   r  r;   r;   r<   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>   r6   r  )r?   r6   r   r@   r  rA   r;   r;   r<   r@   /'  s    z"UploadEncryptedFileRequest.to_dictc                 C   s   d d| j | j fS )NrB   s   WP)rD   r6   rE   r  rA   r;   r;   r<   rE   6'  s
    z!UploadEncryptedFileRequest._bytesc                 C   s   |  }|  }| ||dS )Nr;  r   )rL   rM   rN   r  r;   r;   r<   rO   ='  s    z&UploadEncryptedFileRequest.from_readerNr  r;   r;   r;   r<   r:  $'  s   r:  c                   @   sL   e Zd ZdZdZdeeddddZdd	 Zd
d Z	dd Z
edd ZdS )UploadImportedMediaRequesti *2lGr   r   r6   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, MessageMediaToDo.
        Nr>  )r:   r6   r  r?  r   r;   r;   r<   r=   H'  s    z#UploadImportedMediaRequest.__init__c                    s,   | || jI d H | _|| j| _d S ra   rc   rd   r6   r|  r   re   r;   r;   r<   rh   Q'  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>   r6   r  r?  r   )r?   r6   r   r@   r  r?  r   rA   r;   r;   r<   r@   U'  s    z"UploadImportedMediaRequest.to_dictc                 C   s2   d d| j td| j| | j| j fS )NrB   s    *rC   )	rD   r6   rE   rG   rH   r  rF   r?  r   rA   r;   r;   r<   rE   ^'  s    
z!UploadImportedMediaRequest._bytesc                 C   s0   |  }| }| }|  }| ||||dS )Nr>  r  )rL   rM   rN   r   Z
_file_namer   r;   r;   r<   rO   g'  s
    z&UploadImportedMediaRequest.from_readerN)rQ   rR   rS   rT   rU   rW   ry   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   r<  D'  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   r6   r   business_connection_idc                 C   s   || _ || _|| _dS r@  rC  )r:   r6   r   rD  r;   r;   r<   r=   t'  s    zUploadMediaRequest.__init__c                    s,   | || jI d H | _|| j| _d S ra   rA  re   r;   r;   r<   rh   |'  s    zUploadMediaRequest.resolvec                 C   s@   dt | jtr| j n| jt | jtr2| j n| j| jdS )NrB  )r>   r6   r   rD  )r?   r6   r   r@   r   rD  rA   r;   r;   r<   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 )NrB   s   xyrj   Fr   rk   )rD   rG   rH   rD  rF   r6   rE   r   rA   r;   r;   r<   rE   '  s    ""zUploadMediaRequest._bytesc                 C   s<   |  }|d@ r| }nd }| }| }| |||dS )Nrk   rC  )rq   rs   rI   )rL   rM   rt   Z_business_connection_idrN   r   r;   r;   r<   rO   '  s    
zUploadMediaRequest.from_reader)N)rQ   rR   rS   rT   rU   r   ry   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   rB  p'  s   	rB  c                   @   s@   e Zd ZdZdZdedddZdd Zd	d
 Ze	dd Z
dS )ViewSponsoredMessageRequestiC6&r   Nr   c                 C   s(   |dk	r|nt jtdddd| _dS r   )rW   r   r   r   r   )r:   r   r;   r;   r<   r=   '  s    z$ViewSponsoredMessageRequest.__init__c                 C   s   d| j dS )NrE  )r>   r   rF  rA   r;   r;   r<   r@   '  s    z#ViewSponsoredMessageRequest.to_dictc                 C   s   d d| | jfS )NrB   s   C6&)rD   rF   r   rA   r;   r;   r<   rE   '  s    
z"ViewSponsoredMessageRequest._bytesc                 C   s   |  }| |dS )NrF  r:  )rL   rM   r   r;   r;   r<   rO   '  s    z'ViewSponsoredMessageRequest.from_reader)Nr;  r;   r;   r;   r<   rE  '  s   rE  (#  __doc__Ztl.tlobjectr   r   r  r   r   r   r   r   rG   r	   Ztl.typesr
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   rY   rz   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	  r  r!  r#  r(  r+  r0  r7  r@  rG  rK  rN  rU  rX  r[  r^  rj  rn  ru  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/  r4  r8  r9  r:  r;  r<  r=  r>  rB  rC  rD  rE  rH  rI  rN  rQ  rR  rW  r`  rh  rj  rk  rl  rp  rq  rt  ru  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  r   r  r  r  r  r  r  r  r  r  r#  r%  r,  r.  r0  r1  r4  r7  r8  r<  rJ  rM  rO  rS  rU  rX  rZ  r^  rb  rg  rk  ro  rp  r|  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r$  r(  r)  r,  r.  r/  r1  r2  r4  r8  r:  r<  rB  rE  r;   r;   r;   r<   <module>   s  $?',%6D)##:'%$=(#"#'## E'BJ] D# 	) 7C!'! &<#$ !#=((9((;6##8#((, $#(#8#/' "?>4G*#(;77)   =F +,*' .>+' !#)!2(!2..!*0.( A'?G<\$V#2)p &N$&;5*.$_  	l558(',+ 4)24#= 5#G0-,#)%#'%%-75#C2&!'/& ,.