a
    fi                    @   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;   S/home/ec2-user/.local/lib/python3.9/site-packages/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 ur0| js | jd ur0| jst| jd ust| j d u sD| j du rl| jd u sX| jdu rl| jd u st| jdu stJ dddtd| jd u s| jdu rdnd| j d u s| j du rdndB | jd u s| jdu rdndB | jd u s| jdu rdndB | jd u s| jdu r
dnd	B | j d u s(| j du r,dn| j  | jd u sL| jdu rPdntd
| j| jd u st| jdu rxdntd
| j| jd u s| jdu 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^   rD   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   rq   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 )Nry   )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   rp   )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<   ry   p   s   ry   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 u 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>   rB   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>   rB   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   rp   rangeappend)rL   rM   rN   ru   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   rr   rL   rM   _hashr;   r;   r<   rO      s    z"CheckChatInviteRequest.from_readerNrQ   rR   rS   rT   rU   rx   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 u s | jdu 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   rp   rq   )rL   rM   rs   	_attachedr;   r;   r<   rO   r  s    z&ClearRecentStickersRequest.from_reader)NrQ   rR   rS   rT   rU   r   rq   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u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 u s | jdu r$dnd| jd u s:| jdu 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   )rp   rq   rJ   )rL   rM   rs   _media_fullscreen
_random_idr;   r;   r<   rO     s
    z(ClickSponsoredMessageRequest.from_reader)NNN)rQ   rR   rS   rT   rU   r   rq   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   ]% rz   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 u 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     rB   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 u s | jdu r$dnddtdt| jd d	d
 | jD | | j| jd u sl| jdu 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     rB   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   )rp   r   rI   r   rr   )rL   rM   rs   Z_usersr>   r   _titleZ_ttl_periodr;   r;   r<   rO     s    
zCreateChatRequest.from_reader)N)rQ   rR   rS   rT   rU   r   rx   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u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 u s | jdu r$dnd| jd u s:| jdu r>dndB | jd u sV| jdu rZdndB | jd u sr| jdu rvdnd	B | j | 	| j
| jd u s| jdu rdntd
| j| jd u s| jdu rdntd| jtd| j| jd u s| jdu 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   )rp   rq   rI   rr   rK   )
rL   rM   rs   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   rx   r   rq   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 u s | jdu 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   )rp   rq   rK   rI   )rL   rM   rs   Z_revoke_historyr   r   r;   r;   r<   rO   T  s
    z!DeleteChatUserRequest.from_reader)NrQ   rR   rS   rT   rU   rW   r   rq   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   rr   rL   rM   rN   _linkr;   r;   r<   rO   z  s    z+DeleteExportedChatInviteRequest.from_readerNrQ   rR   rS   rT   rU   rx   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   rp   rL   rM   rN   ru   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 u s | jdu r$dnd| jd u s:| jdu r>dndB | jd u sV| jdu rZdndB | jd u sr| jdu rvdnd	B | j td
| j	| jd u s| jdu rdn
| 
| j| jd u s| jdu 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
  )rp   rq   rI   tgread_date)	rL   rM   rs   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   rq   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 u 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 u s | jdu 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     rB   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  )rp   rq   r   r   )rL   rM   rs   r  _idr>   r   r;   r;   r<   rO     s    z!DeleteMessagesRequest.from_reader)NrQ   rR   rS   rT   rU   r   rW   r   rq   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 u s | jdu 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   rs   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 u 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  rB   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#  rp   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(  rp   )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  r0  )r:   r6   r  r1  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   r1  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 )Nr/  )r>   r6   r  r1  r  r  )r?   r6   r   r@   r  r1  r  r  rA   r;   r;   r<   r@     s    z!DeleteSavedHistoryRequest.to_dictc                 C   s   d dtd| jd u s | jdu r$dnd| jd u s:| jdu r>dndB | jd u sV| jdu rZdndB | jd u st| jdu rxdn| j | j td	| j| jd u s| jdu rdn
| 	| j| jd u s| jdu rdn
| 	| jfS )
NrB   s   _Mrj   Fr   rk   rm   r   rn   )
rD   rG   rH   r1  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   r0  rp   rI   r  )rL   rM   rs   _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<   r/    s   $

r/  c                   @   sL   e Zd ZdZdZdee dddZdd Zd	d
 Z	dd Z
edd ZdS )DeleteScheduledMessagesRequesti+Yr   r   r6   r  c                 C   s   || _ || _dS r   r7  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 u r*g n| jd d  dS )Nr6  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     rB   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 Nr7  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<   r6    s   r6  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )DeleteTopicHistoryRequestl   o% r	  r   r6   
top_msg_idc                 C   s   || _ || _dS r  r@  r:   r6   rA  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   rA  r?   r6   r   r@   rA  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   rA  rA   r;   r;   r<   rE     s
    z DeleteTopicHistoryRequest._bytesc                 C   s   |  }| }| ||dS )Nr@  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   rG  )r:   r|   rH  r;   r;   r<   r=     s    z!DiscardEncryptionRequest.__init__c                 C   s   d| j | jdS )NrF  )r>   r|   rH  rG  rA   r;   r;   r<   r@     s    z DiscardEncryptionRequest.to_dictc                 C   s:   d dtd| jd u s | jdu r$dndtd| jfS )NrB   s   rj   Fr   rk   rn   )rD   rG   rH   rH  r|   rA   r;   r;   r<   rE   "  s
    "zDiscardEncryptionRequest._bytesc                 C   s(   |  }t|d@ }|  }| ||dS )Nrk   rG  r   )rL   rM   rs   Z_delete_historyr   r;   r;   r<   rO   )  s    z$DiscardEncryptionRequest.from_reader)NrQ   rR   rS   rT   rU   rW   r   rq   r=   r@   rE   rX   rO   r;   r;   r;   r<   rF    s   rF  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )EditChatAboutRequestl   = r   r   r6   aboutc                 C   s   || _ || _dS r   rK  )r:   r6   rL  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 )NrJ  )r>   r6   rL  )r?   r6   r   r@   rL  rA   r;   r;   r<   r@   @  s    zEditChatAboutRequest.to_dictc                 C   s   d d| j | | jfS )NrB   s   )rD   r6   rE   rF   rL  rA   r;   r;   r<   rE   G  s
    
zEditChatAboutRequest._bytesc                 C   s   |  }| }| ||dS )NrK  r   )rL   rM   rN   Z_aboutr;   r;   r<   rO   N  s    z EditChatAboutRequest.from_readerNr   r;   r;   r;   r<   rJ  2  s   rJ  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   rN  )r:   r|   r}   rO  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 )NrM  )r>   r|   r}   rO  )r|   r?   r}   r   r@   rO  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   rO  rA   r;   r;   r<   rE   l  s    zEditChatAdminRequest._bytesc                 C   s&   |  }| }| }| |||dS )NrN  )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   rq   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   rM  U  s   rM  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   rU  )r:   r6   rV  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 )NrT  )r>   r6   rV  )r?   r6   r   r@   rV  rA   r;   r;   r<   r@     s    z*EditChatDefaultBannedRightsRequest.to_dictc                 C   s   d d| j | j fS )NrB   s   Ak)rD   r6   rE   rV  rA   r;   r;   r<   rE     s
    z)EditChatDefaultBannedRightsRequest._bytesc                 C   s   |  }|  }| ||dS )NrU  r   )rL   rM   rN   Z_banned_rightsr;   r;   r<   rO     s    z.EditChatDefaultBannedRightsRequest.from_readerNr   r;   r;   r;   r<   rT  |  s   rT  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   rX  )r:   r|   rY  r;   r;   r<   r=     s    zEditChatPhotoRequest.__init__c                    s   | | j| _d S ra   )Zget_input_chat_photorY  re   r;   r;   r<   rh     s    zEditChatPhotoRequest.resolvec                 C   s&   d| j t| jtr| j n| jdS )NrW  )r>   r|   rY  )r|   r?   rY  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|   rY  rE   rA   r;   r;   r<   rE     s
    zEditChatPhotoRequest._bytesc                 C   s   |  }| }| ||dS )NrX  )rK   rI   )rL   rM   r   Z_photor;   r;   r<   rO     s    z EditChatPhotoRequest.from_readerNr   r;   r;   r;   r<   rW    s   rW  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 )NrZ  )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   rr   )rL   rM   r   r   r;   r;   r<   rO     s    z EditChatTitleRequest.from_readerNrQ   rR   rS   rT   rU   rW   rx   r=   r@   rE   rX   rO   r;   r;   r;   r<   rZ    s   rZ  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   r`  ra  rb  rc  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   r`  ra  rb  rc  r   )
r?   r6   r   r@   r   r`  ra  rb  rc  r   rA   r;   r;   r<   r@     s    z%EditExportedChatInviteRequest.to_dictc                 C   s,  d dtd| jd u s | jdu r$dnd| jd u s:| jdu r>dndB | jd u sV| jdu rZdndB | jd u rldnd	B | jd u s| jdu rdnd
B | j	 | 
| j| jd u s| jdu rdn
| | j| jd u s| jdu rdntd| j| jd u rdn| jrdnd| jd u s| jdu rdn
| 
| jfS )NrB   s   u/ʽrj   Fr   rm   rk   rl   r   r   rn   rP  rQ  )rD   rG   rH   r`  ra  rb  rc  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_  )rp   rq   rI   rr   r  rR  )
rL   rM   rs   _revokedrN   r   _expire_date_usage_limit_request_neededr   r;   r;   r<   rO     s"    



z)EditExportedChatInviteRequest.from_reader)NNNNN)rQ   rR   rS   rT   rU   rx   r   rq   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   rj  )r:   r6   r]   rk  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 )Nri  )r>   r6   r]   rk  )r?   r6   r   r@   r]   rk  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]   rk  rA   r;   r;   r<   rE   >  s    zEditFactCheckRequest._bytesc                 C   s&   |  }| }|  }| |||dS )Nrj  r  )rL   rM   rN   ru   _textr;   r;   r<   rO   F  s    z EditFactCheckRequest.from_readerNr   r;   r;   r;   r<   ri  '  s   ri  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   rn  )r:   r6   ro  r   r   rp  rq  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 )Nrm  )r>   r6   ro  r   r   rp  rq  )	r?   r6   r   r@   ro  r   r   rp  rq  rA   r;   r;   r<   r@   `  s    zEditForumTopicRequest.to_dictc                 C   s   d dtd| jd u s | jdu r$dnd| jd u s:| jdu r>dndB | jd u rPdndB | jd u rbdnd	B | j td
| j	| jd u s| jdu rdn
| 
| j| jd u s| jdu rdntd| j| jd u rdn| jrdnd| jd u rdn| jrdndfS )NrB   s   4rj   Fr   rk   rl   rm   r   rn   rC   rP  rQ  )rD   rG   rH   r   r   rp  rq  r6   rE   ro  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   rn  )rp   rI   rr   rK   rR  )	rL   rM   rs   rN   	_topic_idr   r   _closedZ_hiddenr;   r;   r<   rO   w  s     



z!EditForumTopicRequest.from_reader)NNNN)rQ   rR   rS   rT   rU   rW   r   rx   rq   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   rm  N  s   *rm  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   ru  )r:   r  rv  rw  rx  r   ry  rz  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 u rjg ndd | j	D dS )Nrt  c                 S   s"   g | ]}t |tr| n|qS r;   r   r   r;   r;   r<   r     rB   z7EditInlineBotMessageRequest.to_dict.<locals>.<listcomp>)r>   r  rv  rw  rx  r   ry  rz  )
r?   r  r   r@   rv  rw  rx  r   ry  rz  rA   r;   r;   r<   r@     s    z#EditInlineBotMessageRequest.to_dictc                 C   sr  d dtd| jd u s | jdu r$dnd| jd u s:| jdu r>dndB | jd u sV| jdu rZdndB | jd u sr| jdu rvdnd	B | jd u s| jdu rdnd
B | jd u s| jdu rdndB | j	
 | jd u s| jdu rdn
| | j| jd u s| jdu rdn| j
 | jd u s| jdu rdn| j
 | jd u s:| jdu 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     rB   z5EditInlineBotMessageRequest._bytes.<locals>.<genexpr>)rD   rG   rH   rv  rw  rx  r   ry  rz  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   ru  )rp   rq   rI   rr   r   r   )rL   rM   rs   _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   rq   rx   r   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   rt    s   8rt  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  rv  rw  rx  r   ry  rz  schedule_datequick_reply_shortcut_idc                 C   s@   || _ || _|| _|| _|| _|| _|| _|| _|	| _|
| _	dS r   r  )r:   r6   r  rv  rw  rx  r   ry  rz  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 u 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     rB   z.EditMessageRequest.to_dict.<locals>.<listcomp>)r>   r6   r  rv  rw  rx  r   ry  rz  r  r  )r?   r6   r   r@   r  rv  rw  rx  r   ry  rz  r  r  rA   r;   r;   r<   r@     s    zEditMessageRequest.to_dictc                 C   s  d dtd| jd u s | jdu r$dnd| jd u s:| jdu r>dndB | jd u sV| jdu rZdndB | jd u sr| jdu rvdnd	B | jd u s| jdu rdnd
B | jd u s| jdu rdndB | j	d u s| j	du rdndB | j
d u s| j
du rdndB | j td| j| jd u s| jdu rdn
| | j| jd u s>| jdu rBdn| j | jd u sb| jdu rfdn| j | jd u s| jdu rdn.d dtdt| jd dd | jD f| j	d u s| j	du rdn
| | j	| j
d u s| j
du 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   
  rB   z,EditMessageRequest._bytes.<locals>.<genexpr>)rD   rG   rH   rv  rw  rx  r   ry  rz  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  )rp   rq   rI   rr   r   r   r  )rL   rM   rs   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   rq   rx   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  )rp   rr   )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_permanentrc  ra  rb  r   subscription_pricingc                 C   s.   || _ || _|| _|| _|| _|| _|| _dS )zs
        :returns ExportedChatInvite: Instance of either ChatInviteExported, ChatInvitePublicJoinRequests.
        Nr  )r:   r6   r  rc  ra  rb  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  rc  ra  rb  r   r  )
r?   r6   r   r@   r  rc  ra  rb  r   r  rA   r;   r;   r<   r@   j  s    zExportChatInviteRequest.to_dictc              
   C   sR  d dtd| jd u s | jdu r$dnd| jd u s:| jdu r>dndB | jd u sV| jdu rZdndB | jd u sr| jdu rvdnd	B | jd u s| jdu rdnd
B | jd u s| jdu rdndB | j	
 | jd u s| jdu rdn
| | j| jd u s| jdu rdntd| j| jd u s| jdu rdn
| | j| jd u s@| jdu rDdn| j
 fS )NrB   s   Urj   Fr   rm   r   rk   rl   r       rn   )rD   rG   rH   r  rc  ra  rb  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  rp   rq   rI   r  rr   )
rL   rM   rs   Z_legacy_revoke_permanentrh  rN   rf  rg  r   Z_subscription_pricingr;   r;   r<   rO     s"    



z#ExportChatInviteRequest.from_reader)NNNNNN)rQ   rR   rS   rT   rU   r   rq   r	   rW   rx   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   [rP  rQ  )rD   r  rE   r  rA   r;   r;   r<   rE     s
    zFaveStickerRequest._bytesc                 C   s   |  }| }| ||dS )Nr  rI   rR  )rL   rM   r  Z_unfaver;   r;   r<   rO     s    zFaveStickerRequest.from_readerNrQ   rR   rS   rT   rU   rq   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   rA  reply_tor  r   quick_reply_shortcutvideo_timestampallow_paid_starssuggested_postc                 C   s   || _ || _|| _|| _|| _|| _|| _|| _|	| _|
| _	|du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     rB   z3ForwardMessagesRequest.__init__.<locals>.<listcomp>)r  r  r  r  r  r  r  r  r  r  r   r   r   rA  r  r  r   r  r  r  r  )r:   r  r  r  r  r  r  r  r  r  r  r   rA  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 u r*g n| jd d  t | jtrL| j n| j| j| j| j| j	| j
| j| j| jd u 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   rA  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  r  r  r  rA   r;   r;   r<   r@     s*    zForwardMessagesRequest.to_dictc                 C   s\  d dtd| jd u s | jdu r$dnd| jd u s:| jdu r>dndB | jd u sV| jdu rZdndB | jd u sr| jdu rvdnd	B | jd u s| jdu rdnd
B | jd u s| jdu rdndB | j	d u s| j	du rdndB | j
d u s| j
du rdndB | jd u s| jdu rdndB | jd u s"| jdu r&dndB | jd u sB| jdu rFdndB | jd u sb| jdu rfdndB | jd u s| jdu rdndB | jd u s| jdu rdndB | jd u s| jdu 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 u s@| j
du rDdntd| j
| jd u sh| jdu rldn| j | jd u s| jdu rdn
| | j| jd u s| jdu rdn| j | jd u s| jdu rdn| j | jd u s| jdu rdntd| j| jd u s"| jdu r&dntd| j| jd u sJ| jdu 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     rB   z0ForwardMessagesRequest._bytes.<locals>.<genexpr>c                 s   s   | ]}t d |V  qdS rC   Nr  r   r;   r;   r<   r     rB   rC   )rD   rG   rH   r  r  r  r  r  r  r  rA  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  )rp   rq   rI   r   r   rK   r  )rL   rM   rs   _silent_backgroundZ_with_my_scoreZ_drop_authorZ_drop_media_captions_noforwards_allow_paid_floodskipZ
_from_peerr  r>   r   r   Z_to_peerrE  	_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   rq   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 u s | jdu r$dnd| jd u s:| jdu 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  rp   rq   rK   )rL   rM   rs   _masks_emojis
_offset_id_limitr;   r;   r<   rO     s    z&GetArchivedStickersRequest.from_reader)NNrI  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 u s | jdu r$dnd| jd u s:| jdu r>dndB | jd u sV| jdu rZdndB | j td	| j| jd u s| jdu rdn
| 	| j| jd u s| jdu 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  )rp   rq   rI   rJ   )rL   rM   rs   Z_gamerN   ru   _dataZ	_passwordr;   r;   r<   rO     s    

z'GetBotCallbackAnswerRequest.from_reader)NNN)rQ   rR   rS   rT   rU   rW   r   rq   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 u s | jdu r$dnd| jd u s:| jdu r>dndB | jd u sV| jdu rZdndB | jd u sr| jdu rvdnd	B | j | jd u s| jdu rdn
| 	| j| jd u s| jdu 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  )rp   rq   rI   rr   r  )rL   rM   rs   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   rq   rx   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 u 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     rB   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  rp   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   rp   )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 u 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	  rB   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   r1  c                 C   s
   || _ dS )zM
        :returns Vector<DialogPeer>: This type has no constructors.
        Nr  )r:   r1  r;   r;   r<   r=   	  s    z$GetDialogUnreadMarksRequest.__init__c                    s$   | j r ||| j I d H | _ d S ra   )r1  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>   r1  )r?   r1  r   r@   rA   r;   r;   r<   r@   	  s    z#GetDialogUnreadMarksRequest.to_dictc                 C   sN   d dtd| jd u s | jdu r$dnd| jd u s<| jdu r@dn| j fS )NrB   s   "" !rj   Fr   rk   )rD   rG   rH   r1  rE   rA   r;   r;   r<   rE   	  s
    " z"GetDialogUnreadMarksRequest._bytesc                 C   s(   |  }|d@ r| }nd }| |dS )Nrk   r  rp   rI   )rL   rM   rs   r4  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 u s | jdu r$dnd| jd u s:| jdu r>dndB | jd u sX| jdu 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  )rp   rq   r  rI   rK   )
rL   rM   rs   _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   rq   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   rr   )rL   rM   _sha256_sizeZ
_mime_typer;   r;   r<   rO   R
  s    z$GetDocumentByHashRequest.from_readerN)rQ   rR   rS   rT   rU   rV   rW   rx   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'  r/  )r:   r&  r0  r;   r;   r<   r=   
  s    z*GetEmojiKeywordsDifferenceRequest.__init__c                 C   s   d| j | jdS )Nr.  )r>   r&  r0  r/  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   r0  rA   r;   r;   r<   rE   
  s
    
z(GetEmojiKeywordsDifferenceRequest._bytesc                 C   s   |  }| }| ||dS )Nr/  rr   rp   )rL   rM   r-  Z_from_versionr;   r;   r<   rO   
  s    z-GetEmojiKeywordsDifferenceRequest.from_readerNrQ   rR   rS   rT   rU   rx   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.
        Nr4  )r:   r5  r;   r;   r<   r=   
  s    z)GetEmojiKeywordsLanguagesRequest.__init__c                 C   s"   d| j d u rg n| j d d  dS )Nr3  )r>   r5  r4  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   
  rB   z:GetEmojiKeywordsLanguagesRequest._bytes.<locals>.<genexpr>)rD   rG   rH   r   r5  rA   r;   rA   r<   rE   
  s    *z'GetEmojiKeywordsLanguagesRequest._bytesc                 C   s:   |   g }t|  D ]}| }|| q| |dS )Nr4  )rp   r   rr   r   )rL   rM   Z_lang_codesr>   r   r;   r;   r<   rO   
  s    z,GetEmojiKeywordsLanguagesRequest.from_readerN)rQ   rR   rS   rT   rU   r   rx   r=   r@   rE   rX   rO   r;   r;   r;   r<   r3  
  s   r3  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 )Nr7  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<   r7  
  s   r7  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 )Nr8  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<   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 )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 )Nr9  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<   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 )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 rd  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  r`  r  offset_linkc                 C   s(   || _ || _|| _|| _|| _|| _dS )zY
        :returns messages.ExportedChatInvites: Instance of ExportedChatInvites.
        Nr>  )r:   r6   r,  r  r`  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  r`  r  r?  )	r?   r6   r   r@   r,  r  r`  r  r?  rA   r;   r;   r<   r@     s    z%GetExportedChatInvitesRequest.to_dictc                 C   s  | j s| j d ur | jsP| jd usP| j d u s4| j du rH| jd u sP| jdu sPJ dddtd| jd u sp| jdu rtdnd| j d u s| j du rdndB | jd u s| jdu rdndB | j | j | j d u s| j du rdn
| 	| j | jd u s| jdu 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?  rD   rG   rH   r`  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   rs   re  rN   r.  r  Z_offset_linkr  r;   r;   r<   rO     s    

z)GetExportedChatInvitesRequest.from_reader)NNNrQ   rR   rS   rT   rU   rW   r   rq   r	   rx   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   r7  c                 C   s   || _ || _dS r   r7  r8  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 u r*g n| jd d  dS )NrA  r9  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     rB   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<   rA    s   rA  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 u r*g n| jd d  dS )NrB  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      rB   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   ru   r>   r   r;   r;   r<   rO     s    zGetFactCheckRequest.from_readerNr>  r;   r;   r;   r<   rB    s   rB  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 )NrC  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<   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 )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 )NrD  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<   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 )GetFeaturedStickersRequestixdrE  r   c                 C   s
   || _ dS rF  r   r   r;   r;   r<   r=   K  s    z#GetFeaturedStickersRequest.__init__c                 C   s   d| j dS )NrG  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<   rG  G  s   rG  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.
        NrJ  )r:   r6   r  r  rK  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 )NrH  )r>   r6   r  r  rK  r  r  )	r?   r6   r   r@   r  r  rK  r  r  rA   r;   r;   r<   r@   u  s    zGetForumTopicsRequest.to_dictc                 C   s   d dtd| jd u s | jdu r$dnd| j | jd u sD| jdu 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  rK  r  rA   r;   r;   r<   rE     s    ""
zGetForumTopicsRequest._bytesc           	      C   sZ   |  }| }|d@ r"| }nd }| }|  }|  }|  }| ||||||dS )Nrk   rJ  )rp   rI   rr   r  )	rL   rM   rs   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   rx   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   rH  c  s   "rH  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^ rI  r   r6   topicsc                 C   s   || _ || _dS rL  rN  )r:   r6   rO  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 u r*g n| jd d  dS )NrM  )r>   r6   rO  )r?   r6   r   r@   rO  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     rB   z3GetForumTopicsByIDRequest._bytes.<locals>.<genexpr>)rD   r6   rE   rG   rH   r   rO  rA   r;   r;   r<   rE     s
    &z GetForumTopicsByIDRequest._bytesc                 C   sD   |  }|  g }t| D ]}| }|| q | ||dS )NrN  r   )rL   rM   rN   Z_topicsr>   r   r;   r;   r<   rO     s    z%GetForumTopicsByIDRequest.from_readerNr>  r;   r;   r;   r<   rM    s   rM  c                   @   s>   e Zd ZdZdZedddZdd Zdd	 Ze	d
d Z
dS )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 )NrP  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<   rP    s   rP  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.
        NrS  )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 )NrQ  )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 )NrS  r  )rL   rM   rN   r  r   r;   r;   r<   rO      s    z$GetGameHighScoresRequest.from_readerNr   r;   r;   r;   r<   rQ    s   rQ  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.
        NrX  )	r:   r6   r  r  rY  r  r  rZ  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 )NrV  )	r>   r6   r  r  rY  r  r  rZ  r   )r?   r6   r   r@   r  r  rY  r  r  rZ  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  rY  r  r  rZ  r   rA   r;   r;   r<   rE   )  s    
zGetHistoryRequest._bytesc           
   
   C   sX   |  }| }| }| }| }| }| }| }	| ||||||||	dS )NrX  rI   rp   r  rK   )
rL   rM   rN   r  r  _add_offsetr  r  _min_idr   r;   r;   r<   rO   6  s    zGetHistoryRequest.from_readerNr5  r;   r;   r;   r<   rV    s    rV  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.
        Nr`  )r:   r  r6   ra  rb  rc  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   ra  rb  rc  )r?   r  r   r@   r6   ra  rb  rc  rA   r;   r;   r<   r@   U  s    z"GetInlineBotResultsRequest.to_dictc                 C   sr   d dtd| jd u s | jdu r$dnd| j | j | jd u sL| jdu rPdn| j | | j| | j	fS )NrB   s   NQrj   Fr   rk   )
rD   rG   rH   rc  r  rE   r6   rF   ra  rb  rA   r;   r;   r<   rE   _  s    " 

z!GetInlineBotResultsRequest._bytesc                 C   sP   |  }| }| }|d@ r*| }nd }| }| }| |||||dS )Nrk   r`  rp   rI   rr   )rL   rM   rs   r  rN   Z
_geo_pointZ_query_offsetr;   r;   r<   rO   j  s    
z&GetInlineBotResultsRequest.from_reader)N)rQ   rR   rS   rT   rU   rx   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rR  r   r%   r  r}   c                 C   s   || _ || _dS rT  rh  )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 )Nrg  )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 )Nrh  r   )rL   rM   r  r   r;   r;   r<   rO     s    z*GetInlineGameHighScoresRequest.from_readerNr   r;   r;   r;   r<   rg  y  s   rg  c                   @   s>   e Zd ZdZdZedddZdd Zdd	 Ze	d
d Z
dS )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 )Nri  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<   ri    s   ri  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   r7  c                 C   s   || _ || _dS )zQ
        :returns messages.MessageEditData: Instance of MessageEditData.
        Nr7  r8  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 )Nrj  r9  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<   rj    s   rj  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  reactionrb  c                 C   s"   || _ || _|| _|| _|| _dS )z[
        :returns messages.MessageReactionsList: Instance of MessageReactionsList.
        Nrl  )r:   r6   r  r  rm  rb  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 )Nrk  )r>   r6   r  r  rm  rb  )r?   r6   r   r@   r  r  rm  rb  rA   r;   r;   r<   r@     s    z&GetMessageReactionsListRequest.to_dictc                 C   s   d dtd| jd u s | jdu r$dnd| jd u s:| jdu r>dndB | j td| j| jd u sl| jdu rpdn| j | jd u s| jdu rdn
| | jtd| j	fS )	NrB   s   H?Frj   Fr   rk   rl   rn   )
rD   rG   rH   rm  rb  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   rl  re  )rL   rM   rs   rN   r  	_reactionrf  r  r;   r;   r<   rO     s    

z*GetMessageReactionsListRequest.from_reader)NN)rQ   rR   rS   rT   rU   rW   r   rx   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   rk    s    

rk  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )!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 )Nro  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<   ro    s   ro  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ecrW  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 u rg ndd | j D dS )Nrp  c                 S   s"   g | ]}t |tr| n|qS r;   r   r   r;   r;   r<   r   J  rB   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  rB   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  rp   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<   rp  6  s   rp  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   r7  c                 C   s   || _ || _dS r   r7  r8  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 u r*g n| jd d  dS )Nrs  r9  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  rB   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<   rs  ^  s   rs  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.
        Nru  )r:   r6   r  rv  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 u r*g n| jd d  | jdS )Nrt  )r>   r6   r  rv  )r?   r6   r   r@   r  rv  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     rB   z1GetMessagesViewsRequest._bytes.<locals>.<genexpr>rP  rQ  )rD   r6   rE   rG   rH   r   r  rv  rA   r;   r;   r<   rE     s    &zGetMessagesViewsRequest._bytesc                 C   sN   |  }|  g }t| D ]}| }|| q | }| |||dS )Nru  )rI   rp   r   r   rR  )rL   rM   rN   r  r>   r   Z
_incrementr;   r;   r<   rO     s    z#GetMessagesViewsRequest.from_readerN)rQ   rR   rS   rT   rU   r   rW   rq   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   rt    s   rt  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.
        Nrx  )r:   r  r  r;   r;   r<   r=     s    zGetMyStickersRequest.__init__c                 C   s   d| j | jdS )Nrw  )r>   r  r  rx  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 )Nrx  )rK   rp   )rL   rM   r  r  r;   r;   r<   rO     s    z GetMyStickersRequest.from_readerNr   r;   r;   r;   r<   rw    s   rw  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~rE  rb  r  r   c                 C   s   || _ || _|| _dS rF  rz  )r:   rb  r  r   r;   r;   r<   r=     s    z&GetOldFeaturedStickersRequest.__init__c                 C   s   d| j | j| jdS )Nry  )r>   rb  r  r   rz  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   rb  r  r   rA   r;   r;   r<   rE     s    z$GetOldFeaturedStickersRequest._bytesc                 C   s&   |  }|  }| }| |||dS )Nrz  rp   rK   )rL   rM   rf  r  r   r;   r;   r<   rO     s    z)GetOldFeaturedStickersRequest.from_readerNr   r;   r;   r;   r<   ry    s   ry  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 u 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   _  rB   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  rB   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  rq  )rL   rM   Z_peersr>   r   r;   r;   r<   rO   h  s    z!GetPeerDialogsRequest.from_readerNrr  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  optionrb  c                 C   s"   || _ || _|| _|| _|| _dS )zE
        :returns messages.VotesList: Instance of VotesList.
        Nr  )r:   r6   r  r  r  rb  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  rb  )r?   r6   r   r@   r  r  r  rb  rA   r;   r;   r<   r@     s    zGetPollVotesRequest.to_dictc                 C   s   d dtd| jd u s | jdu r$dnd| jd u s:| jdu r>dndB | j td| j| jd u sl| jdu rpdn
| | j| jd u s| jdu rdn
| | jtd| j	fS )	NrB   s   8nrj   Fr   rk   rl   rn   )
rD   rG   rH   r  rb  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  )rp   rI   rJ   rr   )rL   rM   rs   rN   r  _optionrf  r  r;   r;   r<   rO   
  s    

zGetPollVotesRequest.from_reader)NN)rQ   rR   rS   rT   rU   rW   r   rV   rx   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) rW  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 u 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 u s | jdu r$dndtd| j| jd u sH| jdu 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  rB   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  )rp   r   r   rK   )rL   rM   rs   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@*prW  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   rp   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 u s | jdu 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   rs   r   r   r;   r;   r<   rO     s    z$GetRecentStickersRequest.from_reader)NrI  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"rW  r   	r6   r]   r  r  rY  r  r  rZ  r   c
           
      C   s:   || _ || _|| _|| _|| _|| _|| _|| _|	| _dS r[  r  )
r:   r6   r]   r  r  rY  r  r  rZ  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  rY  r  r  rZ  r   )r?   r6   r   r@   r]   r  r  rY  r  r  rZ  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  rY  r  r  rZ  r   rA   r;   r;   r<   rE     s    
zGetRepliesRequest._bytesc                 C   sb   |  }| }| }| }| }| }| }| }	| }
| ||||||||	|
d	S )Nr  r\  )rL   rM   rN   ru   r  r  r]  r  r  r^  r   r;   r;   r<   rO   $  s    zGetRepliesRequest.from_readerNr5  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  r1  c                 C   s.   || _ || _|| _|| _|| _|| _|| _dS z~
        :returns messages.SavedDialogs: Instance of either SavedDialogs, SavedDialogsSlice, SavedDialogsNotModified.
        Nr  )r:   r  r  r  r  r   r  r1  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  r1  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  r1  )
r  r  r?   r  r   r@   r  r   r  r1  rA   r;   r;   r<   r@   G  s    zGetSavedDialogsRequest.to_dictc                 C   s   d dtd| jd u s | jdu r$dnd| jd u s:| jdu r>dndB | jd u sX| jdu 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  r1  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  )rp   rq   rI   r  rK   )
rL   rM   rs   r  r4  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   idsr1  c                 C   s   || _ || _dS r  r  )r:   r  r1  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   r1  r   r;   r;   r<   rh   {  s    
z"GetSavedDialogsByIDRequest.resolvec                 C   s>   d| j d u 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     rB   z6GetSavedDialogsByIDRequest.to_dict.<locals>.<listcomp>)r>   r  r1  )r  r?   r1  r   r@   rA   r;   r;   r<   r@     s    z"GetSavedDialogsByIDRequest.to_dictc                 C   st   d dtd| jd u s | jdu r$dnd| jd u s<| jdu 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     rB   z4GetSavedDialogsByIDRequest._bytes.<locals>.<genexpr>)rD   rG   rH   r1  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  rp   rI   r   r   )rL   rM   rs   r4  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 rW  Nr   	r6   r  r  rY  r  r  rZ  r   r1  c
           
      C   s:   || _ || _|| _|| _|| _|| _|| _|| _|	| _dS r[  r  )
r:   r6   r  r  rY  r  r  rZ  r   r1  r;   r;   r<   r=     s    zGetSavedHistoryRequest.__init__c                    s>   | || jI d H | _| jr:| || jI d H | _d S ra   r2  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  rY  r  r  rZ  r   r1  )r?   r6   r   r@   r  r  rY  r  r  rZ  r   r1  rA   r;   r;   r<   r@     s    zGetSavedHistoryRequest.to_dictc                 C   s   d dtd| jd u s | jdu r$dnd| jd u s<| jdu 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   r1  rE   r6   r  r  r  rY  r  r  rZ  r   rA   r;   r;   r<   rE     s    " 
zGetSavedHistoryRequest._bytesc                 C   sx   |  }|d@ r| }nd }| }|  }| }|  }|  }|  }	|  }
| }| ||||||	|
||d	S )Nrk   r  )rp   rI   r  rK   )rL   rM   rs   r4  rN   r  r  r]  r  r  r^  r   r;   r;   r<   rO     s    
z"GetSavedHistoryRequest.from_reader)Nr5  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 u s | jdu r$dnd| jd u s<| jdu 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  rp   rI   rK   )rL   rM   rs   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 rW  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{ rW  r   r7  c                 C   s   || _ || _dS r[  r7  r8  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 u r*g n| jd d  dS )Nr  r9  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  rB   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_idrA  c                 C   s   || _ || _|| _|| _dS )zY
        :returns Vector<messages.SearchCounter>: This type has no constructors.
        Nr  )r:   r6   r  r  rA  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 u 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     rB   z4GetSearchCountersRequest.to_dict.<locals>.<listcomp>)r>   r6   r  r  rA  )r?   r6   r   r@   r  r  rA  rA   r;   r;   r<   r@     s    z GetSearchCountersRequest.to_dictc                 C   s   d dtd| jd u s | jdu r$dnd| jd u s:| jdu r>dndB | j | jd u s`| jdu rddn| j | jd u s| jdu 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     rB   z2GetSearchCountersRequest._bytes.<locals>.<genexpr>)	rD   rG   rH   r  rA  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   rs   rN   _saved_peer_idrE  _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 u s | jdu r$dnd| j | jd u sD| jdu 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  r3  )rL   rM   rs   rN   r  _filterr  r  r;   r;   r<   rO     s    
z+GetSearchResultsCalendarRequest.from_reader)Nr5  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 u s | jdu r$dnd| j | jd u sD| jdu 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   rs   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 u s | jdu r$dnd| j | jd u sD| jdu 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   rs   rN   ru   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  rr   rK   rL   rM   	_emoticonr   r;   r;   r<   rO     s    zGetStickersRequest.from_readerNr2  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 rW  Nr   r6   r  rY  r  r  rZ  rA  c                 C   s.   || _ || _|| _|| _|| _|| _|| _dS r[  r  )r:   r6   r  rY  r  r  rZ  rA  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  rY  r  r  rZ  rA  )
r?   r6   r   r@   r  rY  r  r  rZ  rA  rA   r;   r;   r<   r@     s    z GetUnreadMentionsRequest.to_dictc                 C   s   d dtd| jd u s | jdu r$dnd| j | jd u sD| jdu 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   rA  r6   rE   r  rY  r  r  rZ  rA   r;   r;   r<   rE     s    "$zGetUnreadMentionsRequest._bytesc           
   	   C   sd   |  }| }|d@ r"|  }nd }|  }|  }|  }|  }|  }	| ||||||	|dS )Nrk   r  r  )
rL   rM   rs   rN   rE  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 rW  Nr   r6   r  rY  r  r  rZ  rA  r  c	           	      C   s4   || _ || _|| _|| _|| _|| _|| _|| _dS r[  r  )	r:   r6   r  rY  r  r  rZ  rA  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  rY  r  r  rZ  rA  r  )r?   r6   r   r@   r  rY  r  r  rZ  rA  r  rA   r;   r;   r<   r@   '  s    z!GetUnreadReactionsRequest.to_dictc                 C   s   d dtd| jd u s | jdu r$dnd| jd u s:| jdu r>dndB | j | jd u s`| jdu rddntd| j| jd u s| jdu 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   rA  r  r6   rE   r  rY  r  r  rZ  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   rs   rN   rE  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  r1  )rL   rM   rw   r   r;   r;   r<   rO   p  s    zGetWebPageRequest.from_readerNr2  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'   rx  rz  c                 C   s   || _ || _dS )zO
        :returns messages.WebPagePreview: Instance of WebPagePreview.
        Nr  )r:   rx  rz  r;   r;   r<   r=   {  s    z!GetWebPagePreviewRequest.__init__c                 C   s(   d| j | jd u 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     rB   z4GetWebPagePreviewRequest.to_dict.<locals>.<listcomp>)r>   rx  rz  r  rA   r;   r;   r<   r@     s    z GetWebPagePreviewRequest.to_dictc                 C   s~   d dtd| jd u s | jdu r$dnd| | j| jd u sF| jdu 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     rB   z2GetWebPagePreviewRequest._bytes.<locals>.<genexpr>)rD   rG   rH   rz  rF   rx  r   rA   r;   r;   r<   rE     s    "
FzGetWebPagePreviewRequest._bytesc                 C   sZ   |  }| }|d@ rJ|   g }t|  D ]}| }|| q0nd }| ||dS )Nr   r  )rp   rr   r   rI   r   )rL   rM   rs   r  r  r>   r   r;   r;   r<   rO     s    z$GetWebPagePreviewRequest.from_reader)N)rQ   rR   rS   rT   rU   rx   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 u s | jdu r$dnd| jd u s:| jdu r>dndB | j | jd u s`| jdu 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  ro   )rL   rM   rs   	_approvedrN   r   r;   r;   r<   rO     s    
z*HideAllChatJoinRequestsRequest.from_reader)NN)rQ   rR   rS   rT   rU   r   rq   rx   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   rU  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 u s | jdu 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  rp   rq   rI   )rL   rM   rs   r  rN   r   r;   r;   r<   rO     s
    z&HideChatJoinRequestRequest.from_reader)NrQ   rR   rS   rT   rU   r   rq   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   `rP  rQ  )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   rq   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   unreadr1  c                 C   s   || _ || _|| _dS r   r  )r:   r6   r  r1  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   r1  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  r1  )r?   r6   r   r@   r  r1  rA   r;   r;   r<   r@     s
    zMarkDialogUnreadRequest.to_dictc              	   C   sr   d dtd| jd u s | jdu r$dnd| jd u s:| jdu r>dndB | jd u sX| jdu r\dn| j | j fS )NrB   s   Prj   Fr   rk   rl   )rD   rG   rH   r  r1  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   rs   Z_unreadr4  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 u s | jdu r$dnd| jd u s:| jdu r>dndB | jd u sV| jdu rZdndB | j | j td	| j	| jd u s| jdu rdn| j | jd u s| jdu 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  )rp   rq   rI   rK   )	rL   rM   rs   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   rP  rQ  )rD   r6   rE   rG   rH   r]   r  r  rA   r;   r;   r<   rE     s    z"RateTranscribedAudioRequest._bytesc                 C   s0   |  }| }| }| }| ||||dS )Nr  )rI   rp   rK   rR  )rL   rM   rN   ru   Z_transcription_idZ_goodr;   r;   r<   rO   $  s
    z'RateTranscribedAudioRequest.from_readerNrS  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   ru   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 u 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     rB   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   r@  c                 C   s   || _ || _dS r  r@  rB  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  rC  rD  rA   r;   r;   r<   r@     s    zReadMentionsRequest.to_dictc              	   C   sZ   d dtd| jd u s | jdu r$dnd| j | jd u sD| jdu rHdntd| jfS )NrB   s   M6rj   Fr   rk   rn   )rD   rG   rH   rA  r6   rE   rA   r;   r;   r<   rE     s    "$zReadMentionsRequest._bytesc                 C   s2   |  }| }|d@ r"|  }nd }| ||dS )Nrk   r@  r  )rL   rM   rs   rN   rE  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 u 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     rB   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   rA  r  c                 C   s   || _ || _|| _dS r  r  r:   r6   rA  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   rA  r  r?   r6   r   r@   rA  r  rA   r;   r;   r<   r@     s
    zReadReactionsRequest.to_dictc              	   C   s   d dtd| jd u s | jdu r$dnd| jd u s:| jdu r>dndB | j | jd u s`| jdu rddntd| j| jd u s| jdu rdn| j fS )	NrB   s   OĞrj   Fr   rk   rl   rn   rD   rG   rH   rA  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   rs   rN   rE  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   r1  r6   r  c                 C   s   || _ || _|| _dS r   r  )r:   r1  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   r1  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>   r1  r6   r  )r?   r1  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   r1  rE   r6   rG   rH   r  rA   r;   r;   r<   rE   L  s    zReadSavedHistoryRequest._bytesc                 C   s&   |  }|  }| }| |||dS )Nr  r  )rL   rM   r4  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     rB   z4ReceivedQueueRequest.read_result.<locals>.<listcomp>)rp   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 u 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     rB   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 u s | jdu 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     rB   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  rp   rq   r   rI   r   )rL   rM   rs   _forcer  _orderr>   r   r;   r;   r<   rO     s    z'ReorderPinnedDialogsRequest.from_reader)N)rQ   rR   rS   rT   rU   rW   r   r   rq   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 u 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 u s | jdu 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     rB   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  rp   rq   rI   r   r   )rL   rM   rs   r  rN   r  r>   r   r;   r;   r<   rO     s    z+ReorderPinnedForumTopicsRequest.from_reader)NrQ   rR   rS   rT   rU   r   rW   r   rq   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 u 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     rB   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 u s | jdu 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     rB   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   rs   r  r  r>   r   r;   r;   r<   rO     s    z,ReorderPinnedSavedDialogsRequest.from_reader)N)rQ   rR   rS   rT   rU   r   r   rq   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 u 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   :  rB   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 u 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 u s | jdu r$dnd| jd u s:| jdu 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   `  rB   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,  )rp   rq   r   rK   r   )rL   rM   rs   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  rx  c                 C   s   || _ || _|| _|| _dS )z
        :returns ReportResult: Instance of either ReportResultChooseOption, ReportResultAddComment, ReportResultReported.
        Nr.  )r:   r6   r  r  rx  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 u r*g n| jd d  | j| jdS )Nr-  )r>   r6   r  r  rx  )r?   r6   r   r@   r  r  rx  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     rB   z'ReportRequest._bytes.<locals>.<genexpr>)
rD   r6   rE   rG   rH   r   r  rF   r  rx  rA   r;   r;   r<   rE     s    &

zReportRequest._bytesc                 C   sX   |  }|  g }t| D ]}| }|| q | }| }| ||||dS )Nr.  )rI   rp   r   r   rJ   rr   )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   rx   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 )Nr/  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<   r/    s   r/  c                   @   sT   e Zd ZdZdZddee ee dddZ	dd	 Z
d
d Zdd Zedd ZdS )ReportMessagesDeliveryRequestismZr   Nr   r6   r  pushc                 C   s   || _ || _|| _dS r   r1  )r:   r6   r  r2  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 u r*g n| jd d  | jdS )Nr0  )r>   r6   r  r2  )r?   r6   r   r@   r  r2  rA   r;   r;   r<   r@     s
    z%ReportMessagesDeliveryRequest.to_dictc                 C   s\   d dtd| jd u s | jdu 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     rB   z7ReportMessagesDeliveryRequest._bytes.<locals>.<genexpr>)rD   rG   rH   r2  r6   rE   r   r  rA   r;   r;   r<   rE     s    "&z$ReportMessagesDeliveryRequest._bytesc                 C   sZ   |  }t|d@ }| }|   g }t|  D ]}|  }|| q4| |||dS )Nrk   r1  r   )rL   rM   rs   Z_pushrN   r  r>   r   r;   r;   r<   rO     s    z)ReportMessagesDeliveryRequest.from_reader)Nr!  r;   r;   r;   r<   r0    s   r0  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   r4  )r:   r6   r  r5  r;   r;   r<   r=     s    zReportReactionRequest.__init__c                    s8   | || jI d H | _| || jI d H | _d S ra   )rc   rd   r6   r5  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 )Nr3  )r>   r6   r  r5  )r?   r6   r   r@   r  r5  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  r5  rA   r;   r;   r<   rE     s    zReportReactionRequest._bytesc                 C   s&   |  }| }|  }| |||dS )Nr4  r  )rL   rM   rN   r  Z_reaction_peerr;   r;   r<   rO     s    z!ReportReactionRequest.from_readerNr   r;   r;   r;   r<   r3    s   r3  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 )Nr6  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<   r6    s   r6  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u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 )Nr7  )r>   r  r   r8  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 )Nr8  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<   r7  3  s   r7  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   r@  rA  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   r@  rA  )r?   r6   r   r@   r  r>  r\   r?  r   r@  rA  rA   r;   r;   r<   r@   g  s    z RequestAppWebViewRequest.to_dictc                 C   s   d dtd| jd u s | jdu r$dnd| jd u s:| jdu r>dndB | jd u sV| jdu rZdndB | jd u sr| jdu rvdnd	B | jd u s| jdu rdnd
B | j	 | j
	 | jd u s| jdu rdn
| | j| jd u s| jdu rdn| j	 | | jfS )NrB   s   ΋aSrj   Fr   rk      r  rl   rm   )rD   rG   rH   r\   r?  r   r@  rA  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   rC  r  rl   rm   r=  ro   )rL   rM   rs   rt   _compactr   rN   r  _start_param_theme_params	_platformr;   r;   r<   rO     s    

z$RequestAppWebViewRequest.from_reader)NNNNNrQ   rR   rS   rT   rU   rx   r   rq   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ur|ntjtdddd| _dS )r9   Nrm   r   Tr   )r}   rK  rW   r   r   r   r   )r:   r}   rK  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 )NrI  )r>   r}   rK  r   )r?   r}   r   r@   rK  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   rK  rA   r;   r;   r<   rE     s    
zRequestEncryptionRequest._bytesc                 C   s&   |  }| }| }| |||dS )NrJ  )rI   rp   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<   rI    s   rI  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   r@  rA  c                 C   s.   || _ || _|| _|| _|| _|| _|| _dS rB  rM  )r:   r6   r  r>  r?  r   r@  rA  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 )NrL  )r>   r6   r  r>  r?  r   r@  rA  )
r?   r6   r   r@   r  r>  r?  r   r@  rA  rA   r;   r;   r<   r@     s    z!RequestMainWebViewRequest.to_dictc                 C   s   d dtd| jd u s | jdu r$dnd| jd u s:| jdu r>dndB | jd u sV| jdu rZdndB | jd u sr| jdu rvdnd	B | j | j	 | jd u s| jdu rdn
| 
| j| jd u s| jdu rdn| j | 
| jfS )
NrB   s   {rj   Fr   rC  r  rl   rk   )rD   rG   rH   r?  r   r@  rA  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 )NrC  r  rl   rk   rM  ro   )
rL   rM   rs   rD  r   rN   r  rE  rF  rG  r;   r;   r<   rO     s    

z%RequestMainWebViewRequest.from_reader)NNNNrH  r;   r;   r;   r<   rL    s   ,rL  c                   @   st   e Zd ZdZdZddeee ee ee ee ee ee ed d	ddZd	d
 Z	dd Z
dd Zedd ZdS )RequestSimpleWebViewRequestis>:Ar<  Nr%   r   	r  r>  from_switch_webviewfrom_side_menur?  r   r_   r@  rA  c
           
      C   s:   || _ || _|| _|| _|| _|| _|| _|| _|	| _dS rB  rO  )
r:   r  r>  rP  rQ  r?  r   r_   r@  rA  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 )NrN  )
r>   r  r>  rP  rQ  r?  r   r_   r@  rA  )r?   r  r   r@   r>  rP  rQ  r?  r   r_   r@  rA  rA   r;   r;   r<   r@     s    z#RequestSimpleWebViewRequest.to_dictc                 C   sT  d dtd| jd u s | jdu r$dnd| jd u s:| jdu r>dndB | jd u sV| jdu rZdndB | jd u sr| jdu rvdnd	B | jd u s| jdu rdnd
B | jd u s| jdu rdndB | j	d u s| j	du rdndB | j
 | jd u s| jdu rdn
| | j| jd u s| jdu rdn
| | j| j	d u s8| j	du r<dn| j	 | | jfS )NrB   s   s>:Arj   Fr   rl   rm   rC  r  r   r   rk   )rD   rG   rH   rP  rQ  r?  r   r_   r@  rA  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   rC  r  r   r   rk   rO  ro   )rL   rM   rs   Z_from_switch_webviewZ_from_side_menurD  r   r  rw   rE  rF  rG  r;   r;   r<   rO   (  s"    


z'RequestSimpleWebViewRequest.from_reader)NNNNNNNrH  r;   r;   r;   r<   rN    s   <rN  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`   rS  )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 )NrR  )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 ur0| js | jd ur0| jst| jd ust| j d u sD| j du rl| jd u sX| jdu rl| jd u st| jdu stJ dddtd| j d u s| j du rdnd| jd u s| jdu rdndB | jd u s| jdu rdndB | jd u s| jdu rdndB | j d u s| j du rdn| j  | jd u s,| jdu r0dntd	| j| jd u sT| jdu rXdntd	| j| jd u s|| jdu rdn
| | jfS )
NFri   rB   s   Frj   r   rl   rm   rn   )	r6   r]   r^   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   rS  re  )rL   rM   rs   rN   ru   rv   rw   r;   r;   r<   rO   f  s    



z!RequestUrlAuthRequest.from_reader)NNNN)rQ   rR   rS   rT   rU   r   rW   rx   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   rR  A  s   &		rR  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_   r@  rA  r  r   c                 C   sL   || _ || _|| _|| _|| _|| _|| _|| _|	| _|
| _	|| _
|| _dS rB  rU  )r:   r6   r  r>  rV  r  r?  r   r_   r@  rA  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 )NrT  )r>   r6   r  r>  rV  r  r?  r   r_   r@  rA  r  r   )r?   r6   r   r@   r  r>  rV  r  r?  r   r_   r@  rA  r  r   rA   r;   r;   r<   r@     s    zRequestWebViewRequest.to_dictc                 C   s  d dtd| jd u s | jdu r$dnd| jd u s:| jdu r>dndB | jd u sV| jdu rZdndB | jd u sr| jdu rvdnd	B | jd u s| jdu rdnd
B | jd u s| jdu rdndB | j	d u s| j	du rdndB | j
d u s| j
du rdndB | jd u s| jdu rdndB | j | j | jd u s4| jdu r8dn
| | j| jd u sZ| jdu r^dn
| | j| j	d u s| j	du rdn| j	 | | j| j
d u s| j
du rdn| j
 | jd u s| jdu rdn| j f
S )NrB   s   &rj   Fr   r   r  rC  r  rl   r   rm   rk   r  )rD   rG   rH   rV  r  r?  r   r_   r@  rA  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  rC  r  rl   r   rm   rk   r  rU  ro   )rL   rM   rs   Z_from_bot_menur  rD  r   rN   r  rw   rE  rF  rG  r  r   r;   r;   r<   rO     s0    




z!RequestWebViewRequest.from_reader)	NNNNNNNNNrH  r;   r;   r;   r<   rT  }  s   JrT  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   rX  )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 )NrW  )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 )NrX  r   )rL   rM   rN   r   r;   r;   r<   rO     s    z$SaveDefaultSendAsRequest.from_readerNr   r;   r;   r;   r<   rW    s   rW  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   rx  rv  rw  r  rz  r   effectr  c
           
      C   s:   || _ || _|| _|| _|| _|| _|| _|| _|	| _dS r   rZ  )
r:   r6   rx  rv  rw  r  rz  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 u rPg ndd | jD t | j	trt| j	 n| j	| j
t | jtr| j n| jd
S )NrY  c                 S   s"   g | ]}t |tr| n|qS r;   r   r   r;   r;   r<   r     rB   z,SaveDraftRequest.to_dict.<locals>.<listcomp>)
r>   r6   rx  rv  rw  r  rz  r   r[  r  )r?   r6   r   r@   rx  rv  rw  r  rz  r   r[  r  rA   r;   r;   r<   r@     s    zSaveDraftRequest.to_dictc                 C   s  d dtd| jd u s | jdu r$dnd| jd u s:| jdu r>dndB | jd u sV| jdu rZdndB | jd u sr| jdu rvdnd	B | jd u s| jdu rdnd
B | jd u s| jdu rdndB | j	d u s| j	du rdndB | jd u s| jdu rdn| j
 | j
 | | j| jd u s| jdu rdn.d dtdt| jd dd | jD f| jd u sd| jdu rhdn| j
 | jd u s| jdu rdntd| j| j	d u s| j	du rdn| j	
 f	S )NrB   s   0Trj   Fr   rl   r  r   r   r  rC  r  r   rn   c                 s   s   | ]}|  V  qd S ra   r   r   r;   r;   r<   r   )  rB   z*SaveDraftRequest._bytes.<locals>.<genexpr>rC   )rD   rG   rH   rv  rw  r  rz  r   r[  r  rE   r6   rF   rx  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  rC  r  rZ  )rp   rq   rI   rr   r   r   rK   )rL   rM   rs   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   rx   r   rq   r   rW   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   rY    s   @rY  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   0z2rP  rQ  )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.
        Nrb  )r:   rc  r}   rd  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 u rDg ndd | jD dS )Nra  c                 S   s"   g | ]}t |tr| n|qS r;   r   r   r;   r;   r<   r     rB   z<SavePreparedInlineMessageRequest.to_dict.<locals>.<listcomp>)r>   rc  r}   rd  )r?   rc  r   r@   r}   rd  rA   r;   r;   r<   r@     s
    z(SavePreparedInlineMessageRequest.to_dictc                 C   s   d dtd| jd u s | jdu r$dnd| j | j | jd u sL| jdu 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     rB   z:SavePreparedInlineMessageRequest._bytes.<locals>.<genexpr>)rD   rG   rH   rd  rc  rE   r}   r   rA   r;   r;   r<   rE     s    "Fz'SavePreparedInlineMessageRequest._bytesc                 C   sd   |  }| }| }|d@ rR|   g }t|  D ]}| }|| q8nd }| |||dS )Nrk   rb  r  )rL   rM   rs   _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<   ra  v  s   	ra  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   rg  )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 )Nrf  )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 u s | jdu r$dnd| j | jr:dndfS )	NrB   s   '9rj   Fr   rk   rP  rQ  )rD   rG   rH   r   r  rE   r_  rA   r;   r;   r<   rE     s    "zSaveRecentStickerRequest._bytesc                 C   s2   |  }t|d@ }| }| }| |||dS )Nrk   rg  rp   rq   rI   rR  )rL   rM   rs   r   r  r`  r;   r;   r<   rO     s
    z$SaveRecentStickerRequest.from_reader)NrQ   rR   rS   rT   rU   rq   r   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   rf    s   rf  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)rW  Nr   r(   r*   r6   r  r  r  r  r  rY  r  r  rZ  r   from_idr  saved_reactionrA  c                 C   s^   || _ || _|| _|| _|| _|| _|| _|| _|	| _|
| _	|| _
|| _|| _|| _|| _dS r[  rk  )r:   r6   r  r  r  r  r  rY  r  r  rZ  r   rl  r  rm  rA  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   rl  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 u rg ndd | jD | jdS )Nrj  c                 S   s"   g | ]}t |tr| n|qS r;   r   r   r;   r;   r<   r     rB   z)SearchRequest.to_dict.<locals>.<listcomp>)r>   r6   r  r  r  r  r  rY  r  r  rZ  r   rl  r  rm  rA  )r?   r6   r   r@   r  r  r  r  r  rY  r  r  rZ  r   rl  r  rm  rA  rA   r;   r;   r<   r@     s"    zSearchRequest.to_dictc                 C   s  d dtd| jd u s | jdu r$dnd| jd u s:| jdu r>dndB | jd u sV| jdu rZdndB | jd u sr| jdu rvdnd	B | j | 	| j
| jd u s| jdu rdn| j | jd u s| jdu rdn| j | jd u s| jdu rdn.d d
tdt| jd dd | jD f| jd u s,| jdu 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     rB   z'SearchRequest._bytes.<locals>.<genexpr>rC   )rD   rG   rH   rl  r  rm  rA  r6   rE   rF   r  r   r  r  r  r  r  rY  r  r  rZ  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   rk  )rp   rI   rr   r   r   r  rK   )rL   rM   rs   rN   r  Z_from_idr  Z_saved_reactionr>   r   rE  r  r  r  r  r]  r  r  r^  r   r;   r;   r<   rO     s:    


zSearchRequest.from_reader)NNNN)rQ   rR   rS   rT   rU   rx   r   r	   rW   r   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   rj    s   Hrj  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 )Nrn  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_readerNr2  r;   r;   r;   r<   rn  A  s   rn  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.
        Nrq  r:   r  r   rr  r;   r;   r<   r=   e  s    z&SearchEmojiStickerSetsRequest.__init__c                 C   s   d| j | j| jdS )Nro  r>   r  r   rr  rq  rA   r;   r;   r<   r@   m  s
    z%SearchEmojiStickerSetsRequest.to_dictc              	   C   sD   d dtd| jd u s | jdu r$dnd| | jtd| jfS )NrB   s   LIrj   Fr   rk   rC   rD   rG   rH   rr  rF   r  r   rA   r;   r;   r<   rE   u  s    "
z$SearchEmojiStickerSetsRequest._bytesc                 C   s2   |  }t|d@ }| }| }| |||dS Nrk   rq  rp   rq   rr   rK   rL   rM   rs   Z_exclude_featuredr  r   r;   r;   r<   rO   }  s
    z)SearchEmojiStickerSetsRequest.from_reader)NrQ   rR   rS   rT   rU   rx   rW   r   rq   r=   r@   rE   rX   rO   r;   r;   r;   r<   ro  a  s   ro  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 )SearchGlobalRequestiXKrW  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 u s | jdu r$dnd| jd u s:| jdu r>dndB | jd u sV| jdu rZdndB | jd u sr| jdu rvdnd	B | jd u s| jdu 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|  )rp   rq   rr   rI   r  )rL   rM   rs   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   rx   r   r	   rW   rq   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~rW  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  )rr   rI   rp   )rL   rM   r  r  r  r;   r;   r<   rO     s    z"SearchSentMediaRequest.from_readerNr2  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[p5rp  Nrq  c                 C   s   || _ || _|| _dS rs  rq  rt  r;   r;   r<   r=     s    z!SearchStickerSetsRequest.__init__c                 C   s   d| j | j| jdS )Nr  ru  rq  rA   r;   r;   r<   r@     s
    z SearchStickerSetsRequest.to_dictc              	   C   sD   d dtd| jd u s | jdu r$dnd| | jtd| jfS )NrB   s   [p5rj   Fr   rk   rC   rv  rA   r;   r;   r<   rE     s    "
zSearchStickerSetsRequest._bytesc                 C   s2   |  }t|d@ }| }| }| |||dS rw  rx  ry  r;   r;   r<   rO     s
    z$SearchStickerSetsRequest.from_reader)Nrz  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&  rb  r  r   r  c                 C   s.   || _ || _|| _|| _|| _|| _|| _dS )zn
        :returns messages.FoundStickers: Instance of either FoundStickersNotModified, FoundStickers.
        Nr  )r:   r  r  r&  rb  r  r   r  r;   r;   r<   r=   #  s    zSearchStickersRequest.__init__c              	   C   s:   d| j | j| jd u rg n| jd d  | j| j| j| jdS )Nr  )r>   r  r  r&  rb  r  r   r  r  rA   r;   r;   r<   r@   /  s    zSearchStickersRequest.to_dictc                    s   d dtd jd u s  jdu 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   r6  r   rA   r;   r<   r   A  rB   z/SearchStickersRequest._bytes.<locals>.<genexpr>rC   )rD   rG   rH   r  rF   r  r  r   r&  rb  r  r   rA   r;   rA   r<   rE   ;  s    "

*zSearchStickersRequest._bytesc              	   C   s   |  }t|d@ }| }| }|   g }t|  D ]}| }|| q<|  }	|  }
| }| ||||	|
||dS )Nrk   r  )rp   rq   rr   r   r   rK   )rL   rM   rs   r  r  r  r-  r>   r   rf  r  r   r;   r;   r<   rO   G  s    z!SearchStickersRequest.from_reader)N)rQ   rR   rS   rT   rU   rx   r   rW   r   rq   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 u 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  rB   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   ~  rB   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   ru   rv   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u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 u s | jdu 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  rp   rq   rI   rK   rJ   )rL   rM   rs   r  rN   r   r  r;   r;   r<   rO     s    z SendEncryptedRequest.from_reader)NNrQ   rR   rS   rT   rU   rV   r   rq   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u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 u s | jdu 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   rs   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u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u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 u s | jdu r$dnd| jd u s:| jdu r>dndB | jd u sV| jdu rZdndB | jd u sr| jdu rvdnd	B | jd u s| jdu rdnd
B | jd u s| jdu rdndB | j	d u s| j	du rdndB | j
d u s| j
du rdndB | jd u s| jdu rdndB | j | jd u s,| jdu r0dn| j td| jtd| j| | j| jd u sr| jdu rvdn
| | j| j	d u s| j	du rdn| j	 | j
d u s| j
du rdn| j
 | jd u s| jdu rdntd| jfS )NrB   s   Fvrj   Fr   r  r  rC  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  rC  r}  rk   r  r  r  r  r  )rp   rq   rI   rK   rr   r  )rL   rM   rs   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   rx   r   rq   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   rx  r  r  r  r  update_stickersets_orderrw  r  r  r   ry  rz  r  r   r  r[  r  r  c                 C   s   || _ || _|| _|| _|| _|| _|| _|| _|	| _|
| _	|| _
|durN|ntjtdddd| _|| _|| _|| _|| _|| _|| _|| _|| _dS r   )r6   r   rx  r  r  r  r  r  rw  r  r  rW   r   r   r   r   ry  rz  r  r   r  r[  r  r  )r:   r6   r   rx  r  r  r  r  r  rw  r  r  r   ry  rz  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 u 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     rB   z,SendMediaRequest.to_dict.<locals>.<listcomp>)r>   r6   r   rx  r  r  r  r  r  rw  r  r  r   ry  rz  r  r   r  r[  r  r  )r?   r6   r   r@   r   rx  r  r  r  r  r  rw  r  r  r   ry  rz  r  r   r  r[  r  r  rA   r;   r;   r<   r@     s,    zSendMediaRequest.to_dictc                 C   s  d dtd| jd u s | jdu r$dnd| jd u s:| jdu r>dndB | jd u sV| jdu rZdndB | jd u sr| jdu rvdnd	B | jd u s| jdu rdnd
B | jd u s| jdu rdndB | j	d u s| j	du rdndB | j
d u s| j
du rdndB | jd u s| jdu rdndB | jd u s"| jdu r&dndB | jd u sB| jdu rFdndB | jd u sb| jdu rfdndB | jd u s| jdu rdndB | jd u s| jdu rdndB | jd u s| jdu rdndB | jd u s| jdu rdndB | j | j
d u s| j
du rdn| j
 | j | | jtd| j| jd u sN| jdu rRdn| j | jd u sr| jdu rvdn.d dtdt| jd dd | jD f| jd u s| jdu rdn
| | j| jd u s| jdu rdn| j | jd u s| jdu r
dn| j | jd u s*| jdu r.dntd| j| jd u sR| jdu rVdntd| j| jd u sz| jdu r~dn| j fS )NrB   s   Urj   Fr   r  r  rC  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     rB   z*SendMediaRequest._bytes.<locals>.<genexpr>)rD   rG   rH   r  r  r  r  r  rw  r  r  ry  rz  r  r   r  r[  r  r  r6   rE   r   rF   rx  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  rC  r~  r  r|  r  rk   rm   r   r  r  r  r  r  r  r  rp   rq   rI   rr   rK   r   r   r  )rL   rM   rs   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   rx   r   rq   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   rx  rv  r  r  r  r  r  rw  r  r  r   ry  rz  r  r   r  r[  r  r  c                 C   s   || _ || _|| _|| _|| _|| _|| _|| _|	| _|
| _	|| _
|durN|ntjtdddd| _|| _|| _|| _|| _|| _|| _|| _|| _dS r   )r6   rx  rv  r  r  r  r  r  rw  r  r  rW   r   r   r   r   ry  rz  r  r   r  r[  r  r  )r:   r6   rx  rv  r  r  r  r  r  rw  r  r  r   ry  rz  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 u 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   &  rB   z.SendMessageRequest.to_dict.<locals>.<listcomp>)r>   r6   rx  rv  r  r  r  r  r  rw  r  r  r   ry  rz  r  r   r  r[  r  r  )r?   r6   r   r@   rx  rv  r  r  r  r  r  rw  r  r  r   ry  rz  r  r   r  r[  r  r  rA   r;   r;   r<   r@     s,    zSendMessageRequest.to_dictc                 C   s  d dtd| jd u s | jdu r$dnd| jd u s:| jdu r>dndB | jd u sV| jdu rZdndB | jd u sr| jdu rvdnd	B | jd u s| jdu rdnd
B | jd u s| jdu rdndB | j	d u s| j	du rdndB | j
d u s| j
du rdndB | jd u s| jdu rdndB | jd u s"| jdu r&dndB | jd u sB| jdu rFdndB | jd u sb| jdu rfdndB | jd u s| jdu rdndB | jd u s| jdu rdndB | jd u s| jdu rdndB | jd u s| jdu rdndB | jd u s| jdu rdndB | j | jd u s,| jdu r0dn| j | | jtd| j| jd u sf| jdu rjdn| j | jd u s| jdu rdn.d dtdt| jd dd | jD f| jd u s| jdu rdn
| | j| jd u s| jdu rdn| j | jd u s| jdu r"dn| j | jd u sB| jdu rFdntd| j| jd u sj| jdu rndntd| j| jd u s| jdu rdn| j fS )NrB   s   rj   Fr   rl   r  r  rC  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  rB   z,SendMessageRequest._bytes.<locals>.<genexpr>)rD   rG   rH   rv  r  r  r  r  r  rw  r  r  ry  rz  r  r   r  r[  r  r  r6   rE   rF   rx  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  rC  r~  r  r|  r  rk   rm   r   r  r  r  r  r  r  r  r  )rL   rM   rs   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  rw  r  r  r  r   r  r[  r  c                 C   s^   || _ || _|| _|| _|| _|| _|| _|| _|	| _|
| _	|| _
|| _|| _|| _|| _dS r   r  )r:   r6   r  r  r  r  r  r  rw  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 u 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     rB   z1SendMultiMediaRequest.to_dict.<locals>.<listcomp>)r>   r6   r  r  r  r  r  r  rw  r  r  r  r   r  r[  r  )r?   r6   r   r@   r  r  r  r  r  r  rw  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 u s | jdu r$dnd| jd u s:| jdu r>dndB | jd u sV| jdu rZdndB | jd u sr| jdu rvdnd	B | jd u s| jdu rdnd
B | jd u s| jdu rdndB | j	d u s| j	du rdndB | j
d u s| j
du rdndB | jd u s| jdu rdndB | jd u s"| jdu r&dndB | jd u sB| jdu rFdndB | jd u sb| jdu rfdndB | jd u s| jdu rdndB | j | j
d u s| j
du rdn| j
 dtdt| jd dd | jD | jd u s| jdu rdn
| | j| jd u s| jdu r dn| j | jd u s@| jdu rDdn| j | jd u sd| jdu rhdntd| j| jd u s| jdu rdntd| jfS )NrB   s   trj   Fr   r  r  rC  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     rB   z/SendMultiMediaRequest._bytes.<locals>.<genexpr>rC   )rD   rG   rH   r  r  r  r  r  rw  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  rC  r~  r  r|  r  rk   r  r  r  r  r  r  )rp   rq   rI   r   r   r  rK   )rL   rM   rs   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   rq   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u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 u s | jdu r$dnd| j td| jtd| jtd| j| jd u sh| jdu 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   rs   rN   ru   _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u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   (   rB   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 u r.g n| jd d  | jd u 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   ;   rB   z7SendQuickReplyMessagesRequest._bytes.<locals>.<genexpr>c                 s   s   | ]}t d |V  qdS r  r  r   r;   r;   r<   r   <   rB   )	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   rp   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_recentrm  c                 C   s"   || _ || _|| _|| _|| _dS r   r  )r:   r6   r]   r   r  rm  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 u 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   rB   z/SendReactionRequest.to_dict.<locals>.<listcomp>)r>   r6   r]   r   r  rm  )r?   r6   r   r@   r]   r   r  rm  rA   r;   r;   r<   r@   c   s    zSendReactionRequest.to_dictc                 C   s   d dtd| jd u s | jdu r$dnd| jd u s:| jdu r>dndB | jd u sV| jdu rZdndB | j td	| j| jd u s| jdu 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   rB   z-SendReactionRequest._bytes.<locals>.<genexpr>)
rD   rG   rH   r   r  rm  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   rs   Z_bigZ_add_to_recentrN   ru   rn  r>   r   r;   r;   r<   rO   v   s    zSendReactionRequest.from_reader)NNN)rQ   rR   rS   rT   rU   rW   r   rq   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   r7  c                 C   s   || _ || _dS r   r7  r8  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 u r*g n| jd d  dS )Nr  r9  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      rB   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u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 u 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   r6  r   rA   r;   r<   r      rB   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   rp   r   rJ   r   )rL   rM   rN   ru   _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u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   rr   )rL   rM   r  r   Z_button_textr  r;   r;   r<   rO   '!  s
    z"SendWebViewDataRequest.from_reader)NrQ   rR   rS   rT   rU   rx   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_idrc  c                 C   s   || _ || _dS )zN
        :returns WebViewMessageSent: Instance of WebViewMessageSent.
        Nr  )r:   r  rc  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  rc  )r  r?   rc  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  rc  rE   rA   r;   r;   r<   rE   B!  s
    
z&SendWebViewResultMessageRequest._bytesc                 C   s   |  }| }| ||dS )Nr  )rr   rI   )rL   rM   Z_bot_query_idre  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alertrx  r_   c                 C   s"   || _ || _|| _|| _|| _dS r   r  )r:   r  r  r  rx  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  rx  r_   r  rA   r;   r;   r<   r@   ^!  s    z#SetBotCallbackAnswerRequest.to_dictc                 C   s   d dtd| jd u s | jdu r$dnd| jd u s:| jdu r>dndB | jd u sV| jdu rZdndB td	| j| jd u s| jdu rdn
| | j| jd u s| jdu rdn
| | jtd
| jfS )NrB   s   
rj   Fr   rl   rk   rm   rC   rn   )	rD   rG   rH   r  rx  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  rp   rq   rK   rr   )rL   rM   rs   Z_alertr  r  rw   _cache_timer;   r;   r<   rO   r!  s    

z'SetBotCallbackAnswerRequest.from_reader)NNNrQ   rR   rS   rT   rU   rW   r   rq   rx   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 u s | jdu r$dnd| jd u s:| jdu r>dndB td| j| jd u sd| jdu 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   rs   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 u 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   !  rB   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 u s | jdu r$dnd| jd u s:| jdu r>dndB td| j| jd u sd| jdu rhdn
| | j| jd u s| jdu 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   !  rB   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  )rp   rK   rr   r   rI   r   )rL   rM   rs   r  r  Z_shipping_optionsr>   r   r;   r;   r<   rO   !  s    
z(SetBotShippingResultsRequest.from_reader)NN)rQ   rR   rS   rT   rU   rW   r   rx   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 u s | jdu r$dnd| jd u r4dndB | j | j | jd u s^| jdu rbdntd| j| jd u r|dn| jrd	nd
fS )NrB   s   %Krj   Fr   rk   rl   rn   rP  rQ  )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  )rp   rI   rR  )rL   rM   rs   rN   Z_available_reactionsZ_reactions_limitZ_paid_enabledr;   r;   r<   rO   "  s    

z,SetChatAvailableReactionsRequest.from_reader)NN)rQ   rR   rS   rT   rU   r   rW   rq   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 u s | jdu r$dnd| jd u s:| jdu r>dndB | jd u sV| jdu rZdndB | jd u sr| jdu rvdnd	B | jd u s| jdu rdnd
B | j	 | jd u s| jdu rdn| j	 | jd u s| jdu rdn| j	 | jd u s| jdu 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   rs   Z	_for_bothZ_revertrN   Z
_wallpaperZ	_settingsr  r;   r;   r<   rO   ]"  s    


z#SetChatWallPaperRequest.from_reader)NNNNN)rQ   rR   rS   rT   rU   r   rq   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*   rm  c                 C   s
   || _ dS r   r  )r:   rm  r;   r;   r<   r=   "  s    z"SetDefaultReactionRequest.__init__c                 C   s"   dt | jtr| j n| jdS )Nr  )r>   rm  )r?   rm  r   r@   rA   r;   r;   r<   r@   "  s    z!SetDefaultReactionRequest.to_dictc                 C   s   d d| j fS )NrB   s   GO)rD   rm  rE   rA   r;   r;   r<   rE   "  s    z SetDefaultReactionRequest._bytesc                 C   s   |  }| |dS )Nr  r   )rL   rM   rn  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yrP  rQ  )rD   r6   rE   r  rA   r;   r;   r<   rE   "  s
    z SetEncryptedTypingRequest._bytesc                 C   s   |  }| }| ||dS )Nr  r  )rL   rM   rN   Z_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   rU  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 u s | jdu r$dnd| jd u s:| jdu 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   rs   _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 u 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#  rB   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 u s | jdu r$dnd| jd u s:| jdu r>dndB | jd u sV| jdu rZdndB | jd u sr| jdu rvdnd	B | jd u s| jdu rdnd
B td| jdtdt	| j
d dd | j
D td| j| jd u s| jdu rdn
| | j| jd u s| jdu rdn| j | jd u s4| jdu 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#  rB   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  )rp   rq   rK   r   rI   r   rr   )rL   rM   rs   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   rq   rx   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 u s | jdu r$dnd| jd u s:| jdu 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   rs   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   actionrA  c                 C   s   || _ || _|| _dS r   r  )r:   r6   r  rA  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  rA  )r?   r6   r   r@   r  rA  rA   r;   r;   r<   r@   #  s
    zSetTypingRequest.to_dictc              	   C   sb   d dtd| jd u s | jdu r$dnd| j | jd u sD| jdu rHdntd| j| j fS )NrB   s   >Xrj   Fr   rk   rn   )rD   rG   rH   rA  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   rs   rN   rE  _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   r@  r   c                 C   s:   || _ || _|| _|dur|ntjtdddd| _dS r   )r  r6   r@  rW   r   r   r   r   )r:   r  r6   r@  r   r;   r;   r<   r=   #  s    zStartBotRequest.__init__c                    s8   | || jI d H | _||| jI d H | _d S ra   rd  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   r@  r   )r?   r  r   r@   r6   r@  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   r@  rA   r;   r;   r<   rE   #  s    
zStartBotRequest._bytesc                 C   s0   |  }|  }| }| }| ||||dS )Nr  r  )rL   rM   r  rN   r   rE  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 u s | jdu r$dnd| j | jr:dndfS )	NrB   s   iirj   Fr   rk   rP  rQ  )rD   rG   rH   r\   r  rE   r  rA   r;   r;   r<   rE   -$  s    "z#ToggleBotInAttachMenuRequest._bytesc                 C   s2   |  }t|d@ }| }| }| |||dS )Nrk   r   rh  )rL   rM   rs   rt   r  _enabledr;   r;   r<   rO   5$  s
    z(ToggleBotInAttachMenuRequest.from_reader)Nri  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-rP  rQ  )rD   r  rA   r;   r;   r<   rE   O$  s    z$ToggleDialogFilterTagsRequest._bytesc                 C   s   |  }| |dS )Nr  )rR  )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 u s | jdu 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   rs   _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   rP  rQ  )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   ru   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 u s | jdu 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   rs   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 u s | jdu 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 u 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   $%  rB   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 u s | jdu r$dnd| jd u s:| jdu r>dndB | jd u sV| jdu 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   .%  rB   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   rs   Z
_uninstallZ_archiveZ
_unarchiveZ_stickersetsr>   r   r;   r;   r<   rO   1%  s    z$ToggleStickerSetsRequest.from_reader)NNN)rQ   rR   rS   rT   rU   r   r   rq   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 u s | jdu r$dnd| jd u s:| jdu r>dndB | jd u sV| jdu rZdndB | j td	| j| jd u s| jdu rdn
| 	| j| jd u s| jdu 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   rs   Z_rejectrN   ru   r  Z_reject_commentr;   r;   r<   rO   f%  s    

z.ToggleSuggestedPostApprovalRequest.from_reader)NNNr@  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 u r.g n| jd d  | jd u 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   %  rB   z4ToggleTodoCompletedRequest._bytes.<locals>.<genexpr>c                 s   s   | ]}t d |V  qdS r  r  r   r;   r;   r<   r   %  rB   )	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   ru   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  rk  c                 C   s   || _ || _|| _|| _dS )zP
        :returns messages.TranslatedText: Instance of TranslateResult.
        Nr(  )r:   r)  r6   r  rk  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 u r.g n| jd d  | jd u 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   %  rB   z0TranslateTextRequest.to_dict.<locals>.<listcomp>)r>   r)  r6   r  rk  )r)  r?   r6   r   r@   r  rk  rA   r;   r;   r<   r@   %  s    zTranslateTextRequest.to_dictc                 C   sp  | j s| j d ur | jsP| jd usP| j d u s4| j du rH| jd u sP| jdu sPJ dddtd| j d u sp| j du rtdnd| jd u s| jdu rdndB | jd u s| jdu rdndB | j d u s| j du rdn| j  | jd u s| jdu rdn.dd	td
t| jddd | jD f| jd u s.| jdu 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   %  rB   z.TranslateTextRequest._bytes.<locals>.<genexpr>c                 s   s   | ]}|  V  qd S ra   r   r   r;   r;   r<   r   %  rB   )
r6   r  rD   rG   rH   rk  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(  )rp   rI   r   r   rr   )	rL   rM   rs   rN   r  r>   r   rl  Z_to_langr;   r;   r<   rO   %  s(    
z TranslateTextRequest.from_reader)NNN)rQ   rR   rS   rT   rU   rx   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 u s | jdu r$dnd| jd u s:| jdu r>dndB | j | jd u s`| jdu rddntd| j| jd u s| jdu 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   r.  )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 u s | jdu r$dndtd| j| jd u sH| jdu 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   r.  r  )rL   rM   rs   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 u rg n| j d d  dS )Nr/  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   &  rB   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<   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 )UpdatePinnedForumTopicRequestiQ]r   r   r6   ro  r  c                 C   s   || _ || _|| _dS r   r1  )r:   r6   ro  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 )Nr0  )r>   r6   ro  r  )r?   r6   r   r@   ro  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   rP  rQ  )rD   r6   rE   rG   rH   ro  r  rA   r;   r;   r<   rE   &  s    z$UpdatePinnedForumTopicRequest._bytesc                 C   s&   |  }| }| }| |||dS )Nr1  )rI   rp   rR  )rL   rM   rN   rr  r  r;   r;   r<   rO   &  s    z)UpdatePinnedForumTopicRequest.from_readerNrS  r;   r;   r;   r<   r0  &  s   r0  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   r3  )r:   r6   r  r  r4  r5  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 )Nr2  )r>   r6   r  r  r4  r5  )r?   r6   r   r@   r  r  r4  r5  rA   r;   r;   r<   r@   &  s    z"UpdatePinnedMessageRequest.to_dictc              	   C   sz   d dtd| jd u s | jdu r$dnd| jd u s:| jdu r>dndB | jd u sV| jdu rZdndB | j td	| jfS )
NrB   s   rj   Fr   rk   rl   rm   rn   )	rD   rG   rH   r  r4  r5  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   r3  r  )rL   rM   rs   r  Z_unpinZ_pm_onesiderN   r  r;   r;   r<   rO   &  s    z&UpdatePinnedMessageRequest.from_reader)NNNr   r;   r;   r;   r<   r2  &  s   $

r2  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*   rm  r   c                 C   s   || _ || _dS r   r7  )r:   rm  r   r;   r;   r<   r=   '  s    z&UpdateSavedReactionTagRequest.__init__c                 C   s&   dt | jtr| j n| j| jdS )Nr6  )r>   rm  r   )r?   rm  r   r@   r   rA   r;   r;   r<   r@   	'  s    z%UpdateSavedReactionTagRequest.to_dictc                 C   sX   d dtd| jd u s | jdu r$dnd| j | jd u sD| jdu rHdn
| | jfS )NrB   s   })`rj   Fr   rk   )rD   rG   rH   r   rm  rE   rF   rA   r;   r;   r<   rE   '  s    ""z$UpdateSavedReactionTagRequest._bytesc                 C   s2   |  }| }|d@ r"| }nd }| ||dS )Nrk   r7  re  )rL   rM   rs   rn  r   r;   r;   r<   rO   '  s    
z)UpdateSavedReactionTagRequest.from_reader)N)rQ   rR   rS   rT   rU   r   rx   r=   r@   rE   rX   rO   r;   r;   r;   r<   r6  &  s   r6  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.
        Nr9  )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 )Nr8  )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 )Nr9  r   )rL   rM   rN   r  r;   r;   r<   rO   ='  s    z&UploadEncryptedFileRequest.from_readerNr  r;   r;   r;   r<   r8  $'  s   r8  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   rx   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>  rA  )r:   r6   r   rB  r;   r;   r<   r=   t'  s    zUploadMediaRequest.__init__c                    s,   | || jI d H | _|| j| _d S ra   r?  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 )Nr@  )r>   r6   r   rB  )r?   r6   r   r@   r   rB  rA   r;   r;   r<   r@   '  s
    zUploadMediaRequest.to_dictc                 C   s`   d dtd| jd u s | jdu r$dnd| jd u s<| jdu r@dn
| | j| j | j fS )NrB   s   xyrj   Fr   rk   )rD   rG   rH   rB  rF   r6   rE   r   rA   r;   r;   r<   rE   '  s    ""zUploadMediaRequest._bytesc                 C   s<   |  }|d@ r| }nd }| }| }| |||dS )Nrk   rA  )rp   rr   rI   )rL   rM   rs   Z_business_connection_idrN   r   r;   r;   r<   rO   '  s    
zUploadMediaRequest.from_reader)N)rQ   rR   rS   rT   rU   r   rx   r=   rh   r@   rE   rX   rO   r;   r;   r;   r<   r@  p'  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 )ViewSponsoredMessageRequestiC6&r   Nr   c                 C   s(   |du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 )NrC  )r>   r   rD  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 )NrD  r9  )rL   rM   r   r;   r;   r<   rO   '  s    z'ViewSponsoredMessageRequest.from_reader)Nr:  r;   r;   r;   r<   rC  '  s   rC  (#  __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   ry   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r   r"  r'  r*  r/  r6  r?  rF  rJ  rM  rT  rW  rZ  r]  ri  rm  rt  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r
  r  r  r  r  r   r#  r.  r3  r7  r8  r9  r:  r;  r<  r=  rA  rB  rC  rD  rG  rH  rM  rP  rQ  rV  r_  rg  ri  rj  rk  ro  rp  rs  rt  rw  ry  r|  r}  r~  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r  r  r  r"  r$  r+  r-  r/  r0  r3  r6  r7  r;  rI  rL  rN  rR  rT  rW  rY  r]  ra  rf  rj  rn  ro  r{  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  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  r2  r6  r8  r:  r@  rC  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&!'/& ,.