U
    h W                    @   st  d Z ddlmZ ddlmZ ddlmZmZmZmZ ddl	Z	ddl
Z
ddlmZ erddlmZmZmZmZmZmZmZmZmZmZmZmZmZ G d	d
 d
eZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZ G dd deZ!G dd deZ"G dd deZ#G dd deZ$G dd  d eZ%G d!d" d"eZ&G d#d$ d$eZ'G d%d& d&eZ(G d'd( d(eZ)G d)d* d*eZ*G d+d, d,eZ+G d-d. d.eZ,G d/d0 d0eZ-G d1d2 d2eZ.G d3d4 d4eZ/G d5d6 d6eZ0G d7d8 d8eZ1G d9d: d:eZ2G d;d< d<eZ3G d=d> d>eZ4G d?d@ d@eZ5G dAdB dBeZ6G dCdD dDeZ7G dEdF dFeZ8G dGdH dHeZ9G dIdJ dJeZ:G dKdL dLeZ;G dMdN dNeZ<G dOdP dPeZ=G dQdR dReZ>G dSdT dTeZ?G dUdV dVeZ@G dWdX dXeZAG dYdZ dZeZBG d[d\ d\eZCG d]d^ d^eZDG d_d` d`eZEG dadb dbeZFG dcdd ddeZGG dedf dfeZHG dgdh dheZIG didj djeZJG dkdl dleZKG dmdn dneZLG dodp dpeZMG dqdr dreZNG dsdt dteZOG dudv dveZPG dwdx dxeZQG dydz dzeZRG d{d| d|eZSG d}d~ d~eZTG dd deZUG dd deZVG dd deZWdS )zBFile generated by TLObjects' generator. All changes will be ERASED   )TLObject)	TLRequest    )OptionalListUnionTYPE_CHECKINGN)datetime)TypeChannelAdminLogEventsFilterTypeChannelParticipantsFilterTypeChatAdminRightsTypeChatBannedRightsTypeEmojiStatusTypeInputChannelTypeInputChatPhotoTypeInputCheckPasswordSRPTypeInputGeoPointTypeInputMessageTypeInputPeerTypeInputStickerSetTypeInputUserc                   @   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 )CheckUsernameRequesti,   gk r   channelusernamec                 C   s   || _ || _dS z?
        :returns Bool: This type has no constructors.
        Nr   selfr   r    r   B/tmp/pip-unpacked-wheel-c81u5j2r/telethon/tl/functions/channels.py__init__   s    zCheckUsernameRequest.__init__c                    s   | || jI d H | _d S Nget_input_channelget_input_entityr   r   clientutilsr   r   r    resolve   s    zCheckUsernameRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr   _r   r   
isinstancer   r   to_dictr   r   r   r   r    r.      s    zCheckUsernameRequest.to_dictc                 C   s   d d| j | | jfS )N    s   ,joinr   _bytesserialize_bytesr   r/   r   r   r    r3   "   s
    
zCheckUsernameRequest._bytesc                 C   s   |  }| }| ||dS Nr   tgread_objecttgread_stringclsreader_channel	_usernamer   r   r    from_reader)   s    z CheckUsernameRequest.from_readerN__name__
__module____qualname__CONSTRUCTOR_IDSUBCLASS_OF_IDstrr!   r)   r.   r3   classmethodr>   r   r   r   r    r      s   r   c                   @   sF   e Zd ZdZdZddddZdd Zd	d
 Zdd Ze	dd Z
dS )ConvertToGigagroupRequestii)   * r   r   c                 C   s
   || _ dS 
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        NrI   r   r   r   r   r    r!   4   s    z"ConvertToGigagroupRequest.__init__c                    s   | || jI d H | _d S r"   r#   r&   r   r   r    r)   :   s    z!ConvertToGigagroupRequest.resolvec                 C   s"   dt | jtr| j n| jdS )NrG   r+   r   r-   r   r   r.   r/   r   r   r    r.   =   s    z!ConvertToGigagroupRequest.to_dictc                 C   s   d d| j fS )Nr0   s   i)r2   r   r3   r/   r   r   r    r3   C   s    z ConvertToGigagroupRequest._bytesc                 C   s   |  }| |dS NrI   r7   r:   r;   r<   r   r   r    r>   I   s    z%ConvertToGigagroupRequest.from_readerNr@   rA   rB   rC   rD   r!   r)   r.   r3   rF   r>   r   r   r   r    rG   0   s   rG   c                   @   sl   e Zd ZdZdZdeeee ee ee ee ed ee ee d	ddZ	dd	 Z
d
d Zedd ZdS )CreateChannelRequestl   g " rH   Nr   	titleabout	broadcast	megagroup
for_importforum	geo_pointaddress
ttl_periodc
           
      C   s:   || _ || _|| _|| _|| _|| _|| _|| _|	| _dS rJ   rU   )
r   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r   r   r    r!   S   s    zCreateChannelRequest.__init__c                 C   sB   d| j | j| j| j| j| jt| jtr0| j	 n| j| j
| jd
S )NrT   )
r+   rV   rW   rX   rY   rZ   r[   r\   r]   r^   )rV   rW   rX   rY   rZ   r[   r-   r\   r   r.   r]   r^   r/   r   r   r    r.   a   s    zCreateChannelRequest.to_dictc                 C   s  | j s| j d k	r | jsP| jd k	sP| j d ks4| j dkrH| jd ksP| jdksPtdddtd| jd ksp| jdkrtdnd| jd ks| jdkrdndB | jd ks| jdkrdnd	B | j	d ks| j	dkrdnd
B | j d ks| j dkrdndB | jd ks| jdkrdndB | j
d ks| j
dkrdndB | | j| | j| j d ksP| j dkrTdn| j  | jd kst| jdkrxdn
| | j| j
d ks| j
dkrdntd| j
fS )NFzNgeo_point, address parameters must all be False-y (like None) or all me True-yr0   s   g <Ir                      <i)r\   r]   AssertionErrorr2   structpackrX   rY   rZ   r[   r^   r4   rV   rW   r3   r/   r   r   r    r3   o   s    P

$&(zCreateChannelRequest._bytesc                 C   s   |  }t|d@ }t|d@ }t|d@ }t|d@ }| }| }|d@ rZ| }	nd }	|d@ rp| }
nd }
|d@ r|  }nd }| |||||||	|
|d	S )Nr`   ra   rb   rc   rd   re   rU   )read_intboolr8   r7   )r:   r;   flags
_broadcastZ
_megagroupZ_for_importZ_forum_titleZ_about
_geo_point_addressZ_ttl_periodr   r   r    r>   {   s"    


z CreateChannelRequest.from_reader)NNNNNNN)r@   rA   rB   rC   rD   rE   r   rk   intr!   r.   r3   rF   r>   r   r   r   r    rT   O   s   <rT   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 )CreateForumTopicRequestl   $h rH   Nr   r   r   rV   
icon_coloricon_emoji_id	random_idsend_asc                 C   sF   || _ || _|| _|| _|dk	r$|ntjtdddd| _|| _	dS )rK   Nrb   bigT)signed)
r   rV   rt   ru   rq   
from_bytesosurandomrv   rw   )r   r   rV   rt   ru   rv   rw   r   r   r    r!      s    $z CreateForumTopicRequest.__init__c                    s>   | || jI d H | _| jr:||| jI d H | _d S r"   )r$   r%   r   rw   get_input_peerr&   r   r   r    r)      s    zCreateForumTopicRequest.resolvec              	   C   sL   dt | jtr| j n| j| j| j| j| jt | jtrB| j n| jdS )Nrr   )r+   r   rV   rt   ru   rv   rw   )	r-   r   r   r.   rV   rt   ru   rv   rw   r/   r   r   r    r.      s    zCreateForumTopicRequest.to_dictc                 C   s   d dtd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | jd ksV| jdkrZdndB | j | | j	| jd ks| jdkrdntd	| j| jd ks| jdkrdntd
| jtd
| j
| jd ks| jdkrdn| j fS )Nr0   s   $r_   Fr   r`   rb   rd   rf   <q)r2   rh   ri   rt   ru   rw   r   r3   r4   rV   rv   r/   r   r   r    r3      s    Z
$$ zCreateForumTopicRequest._bytesc           	      C   sv   |  }| }| }|d@ r*|  }nd }|d@ r@| }nd }| }|d@ r^| }nd }| ||||||dS )Nr`   rb   rd   rs   )rj   r7   r8   	read_long)	r:   r;   rl   r<   rn   Z_icon_color_icon_emoji_idZ
_random_idZ_send_asr   r   r    r>      s    


z#CreateForumTopicRequest.from_reader)NNNN)r@   rA   rB   rC   rD   rE   r   rq   r!   r)   r.   r3   rF   r>   r   r   r   r    rr      s   &rr   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 )DeactivateAllUsernamesRequesti]$
r   r   rI   c                 C   s
   || _ dS r   rI   rL   r   r   r    r!      s    z&DeactivateAllUsernamesRequest.__init__c                    s   | || jI d H | _d S r"   r#   r&   r   r   r    r)      s    z%DeactivateAllUsernamesRequest.resolvec                 C   s"   dt | jtr| j n| jdS )Nr   rM   rN   r/   r   r   r    r.      s    z%DeactivateAllUsernamesRequest.to_dictc                 C   s   d d| j fS )Nr0   s   ]$
rO   r/   r   r   r    r3      s    z$DeactivateAllUsernamesRequest._bytesc                 C   s   |  }| |dS rP   rQ   rR   r   r   r    r>      s    z)DeactivateAllUsernamesRequest.from_readerNrS   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 )DeleteChannelRequestl   "  rH   r   rI   c                 C   s
   || _ dS rJ   rI   rL   r   r   r    r!      s    zDeleteChannelRequest.__init__c                    s   | || jI d H | _d S r"   r#   r&   r   r   r    r)      s    zDeleteChannelRequest.resolvec                 C   s"   dt | jtr| j n| jdS )Nr   rM   rN   r/   r   r   r    r.     s    zDeleteChannelRequest.to_dictc                 C   s   d d| j fS )Nr0   s   rO   r/   r   r   r    r3     s    zDeleteChannelRequest._bytesc                 C   s   |  }| |dS rP   rQ   rR   r   r   r    r>     s    z DeleteChannelRequest.from_readerNrS   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 )DeleteHistoryRequestl   GU7 rH   Nr   r   max_idfor_everyonec                 C   s   || _ || _|| _dS rJ   r   )r   r   r   r   r   r   r    r!     s    zDeleteHistoryRequest.__init__c                    s   | || jI d H | _d S r"   r#   r&   r   r   r    r)     s    zDeleteHistoryRequest.resolvec                 C   s*   dt | jtr| j n| j| j| jdS )Nr   )r+   r   r   r   )r-   r   r   r.   r   r   r/   r   r   r    r.   "  s
    zDeleteHistoryRequest.to_dictc              	   C   sB   d dtd| jd ks | jdkr$dnd| j td| jfS )Nr0   s   Gr_   Fr   r`   rf   )r2   rh   ri   r   r   r3   r   r/   r   r   r    r3   *  s    "zDeleteHistoryRequest._bytesc                 C   s2   |  }t|d@ }| }|  }| |||dS )Nr`   r   rj   rk   r7   )r:   r;   rl   Z_for_everyoner<   _max_idr   r   r    r>   2  s
    z DeleteHistoryRequest.from_reader)Nr@   rA   rB   rC   rD   rq   r   rk   r!   r)   r.   r3   rF   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 )DeleteMessagesRequestl   N}	 l   n@ r   r   idc                 C   s   || _ || _dS )zS
        :returns messages.AffectedMessages: Instance of AffectedMessages.
        Nr   r   r   r   r   r   r    r!   @  s    zDeleteMessagesRequest.__init__c                    s   | || jI d H | _d S r"   r#   r&   r   r   r    r)   G  s    zDeleteMessagesRequest.resolvec                 C   s<   dt | jtr| j n| j| jd kr*g n| jd d  dS )Nr   r+   r   r   r-   r   r   r.   r   r/   r   r   r    r.   J  s    zDeleteMessagesRequest.to_dictc              
   C   s:   d d| j dtdt| jd dd | jD fS )Nr0   s   N   ĵrf   c                 s   s   | ]}t d |V  qdS rf   Nrh   ri   .0xr   r   r    	<genexpr>U  s     z/DeleteMessagesRequest._bytes.<locals>.<genexpr>r2   r   r3   rh   ri   lenr   r/   r   r   r    r3   Q  s      zDeleteMessagesRequest._bytesc                 C   sD   |  }|  g }t| D ]}| }|| q | ||dS Nr   r7   rj   rangeappendr:   r;   r<   _idr+   _xr   r   r    r>   X  s    z!DeleteMessagesRequest.from_readerNr@   rA   rB   rC   rD   r   rq   r!   r)   r.   r3   rF   r>   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 )DeleteParticipantHistoryRequestiDu6I,r   r   r   participantc                 C   s   || _ || _dS zQ
        :returns messages.AffectedHistory: Instance of AffectedHistory.
        Nr   r   r   r   r   r   r    r!   h  s    z(DeleteParticipantHistoryRequest.__init__c                    s8   | || jI d H | _||| jI d H | _d S r"   r$   r%   r   r}   r   r&   r   r   r    r)   o  s    z'DeleteParticipantHistoryRequest.resolvec                 C   s<   dt | jtr| j n| jt | jtr2| j n| jdS )Nr   r+   r   r   r-   r   r   r.   r   r/   r   r   r    r.   s  s    z'DeleteParticipantHistoryRequest.to_dictc                 C   s   d d| j | j fS )Nr0   s   Du6r2   r   r3   r   r/   r   r   r    r3   z  s
    z&DeleteParticipantHistoryRequest._bytesc                 C   s   |  }|  }| ||dS Nr   rQ   r:   r;   r<   _participantr   r   r    r>     s    z+DeleteParticipantHistoryRequest.from_readerNrS   r   r   r   r    r   d  s   r   c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )DeleteTopicHistoryRequesti-_C4r   r   r   
top_msg_idc                 C   s   || _ || _dS r   r   )r   r   r   r   r   r    r!     s    z"DeleteTopicHistoryRequest.__init__c                    s   | || jI d H | _d S r"   r#   r&   r   r   r    r)     s    z!DeleteTopicHistoryRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr   )r+   r   r   )r-   r   r   r.   r   r/   r   r   r    r.     s    z!DeleteTopicHistoryRequest.to_dictc                 C   s    d d| j td| jfS )Nr0   s   -_C4rf   )r2   r   r3   rh   ri   r   r/   r   r   r    r3     s
    z DeleteTopicHistoryRequest._bytesc                 C   s   |  }| }| ||dS )Nr   r7   rj   )r:   r;   r<   Z_top_msg_idr   r   r    r>     s    z%DeleteTopicHistoryRequest.from_readerNr@   rA   rB   rC   rD   rq   r!   r)   r.   r3   rF   r>   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 )EditAdminRequestl   	y& rH   r   r   r   r   user_idadmin_rightsrankc                 C   s   || _ || _|| _|| _dS rJ   r   )r   r   r   r   r   r   r   r    r!     s    zEditAdminRequest.__init__c                    s8   | || jI d H | _||| jI d H | _d S r"   r$   r%   r   get_input_userr   r&   r   r   r    r)     s    zEditAdminRequest.resolvec                 C   sZ   dt | jtr| j n| jt | jtr2| j n| jt | jtrL| j n| j| jdS )Nr   )r+   r   r   r   r   )r-   r   r   r.   r   r   r   r/   r   r   r    r.     s    zEditAdminRequest.to_dictc              	   C   s.   d d| j | j | j | | jfS )Nr0   s   <)r2   r   r3   r   r   r4   r   r/   r   r   r    r3     s    
zEditAdminRequest._bytesc                 C   s0   |  }|  }|  }| }| ||||dS )Nr   r6   )r:   r;   r<   _user_idZ_admin_rightsZ_rankr   r   r    r>     s
    zEditAdminRequest.from_readerNr?   r   r   r   r    r     s   			r   c                   @   sJ   e Zd ZdZdZddddddZd	d
 Zdd Zdd Ze	dd Z
dS )EditBannedRequestl   M- rH   r   r   r   r   r   banned_rightsc                 C   s   || _ || _|| _dS rJ   r   )r   r   r   r   r   r   r    r!     s    zEditBannedRequest.__init__c                    s8   | || jI d H | _||| jI d H | _d S r"   r   r&   r   r   r    r)     s    zEditBannedRequest.resolvec                 C   sV   dt | jtr| j n| jt | jtr2| j n| jt | jtrL| j n| jdS )Nr   )r+   r   r   r   )r-   r   r   r.   r   r   r/   r   r   r    r.     s
    zEditBannedRequest.to_dictc                 C   s$   d d| j | j | j fS )Nr0   s   )r2   r   r3   r   r   r/   r   r   r    r3     s    zEditBannedRequest._bytesc                 C   s&   |  }|  }|  }| |||dS )Nr   rQ   )r:   r;   r<   r   Z_banned_rightsr   r   r    r>     s    zEditBannedRequest.from_readerNrS   r   r   r   r    r     s   r   c                   @   sJ   e Zd ZdZdZddddddZd	d
 Zdd Zdd Ze	dd Z
dS )EditCreatorRequestl   Mq rH   r   r   r   r   r   passwordc                 C   s   || _ || _|| _dS rJ   r   )r   r   r   r   r   r   r    r!     s    zEditCreatorRequest.__init__c                    s8   | || jI d H | _||| jI d H | _d S r"   r   r&   r   r   r    r)     s    zEditCreatorRequest.resolvec                 C   sV   dt | jtr| j n| jt | jtr2| j n| jt | jtrL| j n| jdS )Nr   )r+   r   r   r   )r-   r   r   r.   r   r   r/   r   r   r    r.     s
    zEditCreatorRequest.to_dictc                 C   s$   d d| j | j | j fS )Nr0   s   8)r2   r   r3   r   r   r/   r   r   r    r3     s    zEditCreatorRequest._bytesc                 C   s&   |  }|  }|  }| |||dS )Nr   rQ   )r:   r;   r<   r   Z	_passwordr   r   r    r>     s    zEditCreatorRequest.from_readerNrS   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 )EditForumTopicRequestl   !i rH   Nr   r   topic_idrV   ru   closedhiddenc                 C   s(   || _ || _|| _|| _|| _|| _dS rJ   r   )r   r   r   rV   ru   r   r   r   r   r    r!   +  s    zEditForumTopicRequest.__init__c                    s   | || jI d H | _d S r"   r#   r&   r   r   r    r)   6  s    zEditForumTopicRequest.resolvec                 C   s6   dt | jtr| j n| j| j| j| j| j| jdS )Nr   )r+   r   r   rV   ru   r   r   )	r-   r   r   r.   r   rV   ru   r   r   r/   r   r   r    r.   9  s    zEditForumTopicRequest.to_dictc                 C   s   d dtd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | jd krPdndB | jd krbdnd	B | j td
| j	| jd ks| jdkrdn
| 
| j| jd ks| jdkrdntd| j| jd krdn| jrdnd| jd krdn| jrdndfS )Nr0   s   r_   Fr   r`   ra   rd   rb   rf   r~      ur   7y)r2   rh   ri   rV   ru   r   r   r   r3   r   r4   r/   r   r   r    r3   D  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 )Nr`   ra   rd   rb   r   )rj   r7   r8   r   tgread_bool)	r:   r;   rl   r<   	_topic_idrn   r   _closedZ_hiddenr   r   r    r>   P  s     



z!EditForumTopicRequest.from_reader)NNNN)r@   rA   rB   rC   rD   rq   r   rE   rk   r!   r)   r.   r3   rF   r>   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 )EditLocationRequestim?Xr   r   r   r   r\   r]   c                 C   s   || _ || _|| _dS r   r   )r   r   r\   r]   r   r   r    r!   m  s    zEditLocationRequest.__init__c                    s   | || jI d H | _d S r"   r#   r&   r   r   r    r)   u  s    zEditLocationRequest.resolvec                 C   s@   dt | jtr| j n| jt | jtr2| j n| j| jdS )Nr   )r+   r   r\   r]   )r-   r   r   r.   r\   r]   r/   r   r   r    r.   x  s
    zEditLocationRequest.to_dictc                 C   s&   d d| j | j | | jfS )Nr0   s   m?X)r2   r   r3   r\   r4   r]   r/   r   r   r    r3     s    
zEditLocationRequest._bytesc                 C   s&   |  }|  }| }| |||dS )Nr   r6   )r:   r;   r<   ro   rp   r   r   r    r>     s    zEditLocationRequest.from_readerNr?   r   r   r   r    r   i  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 )EditPhotoRequestl   W\b rH   r   r   r   photoc                 C   s   || _ || _dS rJ   r   )r   r   r   r   r   r    r!     s    zEditPhotoRequest.__init__c                    s,   | || jI d H | _|| j| _d S r"   )r$   r%   r   Zget_input_chat_photor   r&   r   r   r    r)     s    zEditPhotoRequest.resolvec                 C   s<   dt | jtr| j n| jt | jtr2| j n| jdS )Nr   )r+   r   r   )r-   r   r   r.   r   r/   r   r   r    r.     s    zEditPhotoRequest.to_dictc                 C   s   d d| j | j fS )Nr0   s   W.)r2   r   r3   r   r/   r   r   r    r3     s
    zEditPhotoRequest._bytesc                 C   s   |  }|  }| ||dS )Nr   rQ   )r:   r;   r<   Z_photor   r   r    r>     s    zEditPhotoRequest.from_readerNrS   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 )EditTitleRequestimVrH   r   r   rV   c                 C   s   || _ || _dS rJ   r   )r   r   rV   r   r   r    r!     s    zEditTitleRequest.__init__c                    s   | || jI d H | _d S r"   r#   r&   r   r   r    r)     s    zEditTitleRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr   )r+   r   rV   )r-   r   r   r.   rV   r/   r   r   r    r.     s    zEditTitleRequest.to_dictc                 C   s   d d| j | | jfS )Nr0   s   mV)r2   r   r3   r4   rV   r/   r   r   r    r3     s
    
zEditTitleRequest._bytesc                 C   s   |  }| }| ||dS )Nr   r6   )r:   r;   r<   rn   r   r   r    r>     s    zEditTitleRequest.from_readerNr?   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 )ExportMessageLinkRequestl   -L l   D= Nr   r   r   groupedthreadc                 C   s   || _ || _|| _|| _dS )zP
        :returns ExportedMessageLink: Instance of ExportedMessageLink.
        Nr   )r   r   r   r   r   r   r   r    r!     s    z!ExportMessageLinkRequest.__init__c                    s   | || jI d H | _d S r"   r#   r&   r   r   r    r)     s    z ExportMessageLinkRequest.resolvec                 C   s.   dt | jtr| j n| j| j| j| jdS )Nr   )r+   r   r   r   r   )r-   r   r   r.   r   r   r   r/   r   r   r    r.     s    z ExportMessageLinkRequest.to_dictc              	   C   s^   d dtd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | j td| jfS )	Nr0   s   ?r_   Fr   r`   ra   rf   )r2   rh   ri   r   r   r   r3   r   r/   r   r   r    r3     s    >zExportMessageLinkRequest._bytesc                 C   s@   |  }t|d@ }t|d@ }| }|  }| ||||dS )Nr`   ra   r   r   )r:   r;   rl   Z_grouped_threadr<   r   r   r   r    r>     s    z$ExportMessageLinkRequest.from_reader)NNr   r   r   r   r    r     s   		r   c                
   @   s`   e Zd ZdZdZddeeeeed eed  ddd	Z	d
d Z
dd Zdd Zedd ZdS )GetAdminLogRequesti3ivQNr   r
   r   r   qr   min_idlimitevents_filteradminsc                 C   s.   || _ || _|| _|| _|| _|| _|| _dS )zQ
        :returns channels.AdminLogResults: Instance of AdminLogResults.
        Nr   )r   r   r   r   r   r   r   r   r   r   r    r!     s    zGetAdminLogRequest.__init__c                    sV   | || jI d H | _| jrRg }| jD ] }||||I d H  q*|| _d S r"   )r$   r%   r   r   r   r   r   r'   r(   Z_tmpr   r   r   r    r)     s    
zGetAdminLogRequest.resolvec              	   C   sh   dt | jtr| j n| j| j| j| j| jt | jtrB| j n| j| j	d krTg 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   r    
<listcomp>%  s     z.GetAdminLogRequest.to_dict.<locals>.<listcomp>)r+   r   r   r   r   r   r   r   )
r-   r   r   r.   r   r   r   r   r   r   r/   r   r   r    r.     s    zGetAdminLogRequest.to_dictc                 C   s   d dtd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | j | | j| jd ksj| jdkrndn| j | jd ks| jdkrdn.d dtd	t	| jd d
d | jD ftd| j
td| jtd	| jf	S )Nr0   s   3r_   Fr   r`   ra   r   rf   c                 s   s   | ]}|  V  qd S r"   r3   r   r   r   r    r   /  s     z,GetAdminLogRequest._bytes.<locals>.<genexpr>r~   )r2   rh   ri   r   r   r   r3   r4   r   r   r   r   r   r/   r   r   r    r3   (  s    >
 FzGetAdminLogRequest._bytesc              	   C   s   |  }| }| }|d@ r*| }nd }|d@ rh|   g }t|  D ]}| }|| qNnd }| }	| }
|  }| |||	|
|||dS )Nr`   ra   r   )rj   r7   r8   r   r   r   )r:   r;   rl   r<   _qZ_events_filterZ_adminsr+   r   r   Z_min_id_limitr   r   r    r>   5  s"    
zGetAdminLogRequest.from_reader)NN)r@   rA   rB   rC   rD   rE   rq   r   r   r!   r)   r.   r3   rF   r>   r   r   r   r    r     s   (	r   c                   @   sP   e Zd ZdZdZdee ee ee dddZdd Zd	d
 Z	e
dd ZdS )GetAdminedPublicChannelsRequestl   6`q    K3 Nby_locationcheck_limitfor_personalc                 C   s   || _ || _|| _dS zP
        :returns messages.Chats: Instance of either Chats, ChatsSlice.
        Nr   )r   r   r   r   r   r   r    r!   R  s    z(GetAdminedPublicChannelsRequest.__init__c                 C   s   d| j | j| jdS )Nr   )r+   r   r   r   r   r/   r   r   r    r.   Z  s
    z'GetAdminedPublicChannelsRequest.to_dictc              	   C   sf   d dtd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | jd ksV| jdkrZdndB fS )	Nr0   s   6r_   Fr   r`   ra   rd   )r2   rh   ri   r   r   r   r/   r   r   r    r3   b  s    Zz&GetAdminedPublicChannelsRequest._bytesc                 C   s:   |  }t|d@ }t|d@ }t|d@ }| |||dS )Nr`   ra   rd   r   )rj   rk   )r:   r;   rl   Z_by_locationZ_check_limitZ_for_personalr   r   r    r>   h  s
    z+GetAdminedPublicChannelsRequest.from_reader)NNN)r@   rA   rB   rC   rD   r   rk   r!   r.   r3   rF   r>   r   r   r   r    r   N  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 ) GetChannelRecommendationsRequestiB%r   Nr   rI   c                 C   s
   || _ dS r   rI   rL   r   r   r    r!   v  s    z)GetChannelRecommendationsRequest.__init__c                    s$   | j r ||| j I d H | _ d S r"   )r   r$   r%   r&   r   r   r    r)   |  s    z(GetChannelRecommendationsRequest.resolvec                 C   s"   dt | jtr| j n| jdS )Nr   rM   rN   r/   r   r   r    r.     s    z(GetChannelRecommendationsRequest.to_dictc                 C   sN   d dtd| jd ks | jdkr$dnd| jd ks<| jdkr@dn| j fS )Nr0   s   B%r_   Fr   r`   )r2   rh   ri   r   r3   r/   r   r   r    r3     s
    " z'GetChannelRecommendationsRequest._bytesc                 C   s(   |  }|d@ r| }nd }| |dS )Nr`   rI   )rj   r7   )r:   r;   rl   r<   r   r   r    r>     s
    
z,GetChannelRecommendationsRequest.from_reader)N)r@   rA   rB   rC   rD   r   r!   r)   r.   r3   rF   r>   r   r   r   r    r   r  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 )GetChannelsRequestik
r   r   r   c                 C   s
   || _ dS r   r   )r   r   r   r   r    r!     s    zGetChannelsRequest.__init__c                    s6   g }| j D ] }||||I d H  q
|| _ d S r"   )r   r   r$   r%   r   r   r   r    r)     s    
zGetChannelsRequest.resolvec                 C   s$   d| j d krg ndd | j D dS )Nr   c                 S   s"   g | ]}t |tr| n|qS r   r   r   r   r   r    r     s     z.GetChannelsRequest.to_dict.<locals>.<listcomp>)r+   r   r   r/   r   r   r    r.     s    zGetChannelsRequest.to_dictc              	   C   s2   d ddtdt| jd dd | jD fS )Nr0   s   k
r   rf   c                 s   s   | ]}|  V  qd S r"   r   r   r   r   r    r     s     z,GetChannelsRequest._bytes.<locals>.<genexpr>)r2   rh   ri   r   r   r/   r   r   r    r3     s      zGetChannelsRequest._bytesc                 C   s:   |   g }t|  D ]}| }|| q| |dS )Nr   )rj   r   r7   r   )r:   r;   r   r+   r   r   r   r    r>     s    zGetChannelsRequest.from_readerNr@   rA   rB   rC   rD   r   r!   r)   r.   r3   rF   r>   r   r   r   r    r     s   r   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   r   offset_date	offset_idoffset_topicr   r   c                 C   s(   || _ || _|| _|| _|| _|| _dS zI
        :returns messages.ForumTopics: Instance of ForumTopics.
        Nr   )r   r   r   r   r   r   r   r   r   r    r!     s    zGetForumTopicsRequest.__init__c                    s   | || jI d H | _d S r"   r#   r&   r   r   r    r)     s    zGetForumTopicsRequest.resolvec                 C   s6   dt | jtr| j n| 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.     s    zGetForumTopicsRequest.to_dictc                 C   s   d dtd| jd ks | jdkr$dnd| j | jd ksD| jdkrHdn
| | j| | jtd| j	td| j
td| jfS )Nr0   s   `r_   Fr   r`   rf   )r2   rh   ri   r   r   r3   r4   Zserialize_datetimer   r   r   r   r/   r   r   r    r3     s    ""
zGetForumTopicsRequest._bytesc           	      C   sZ   |  }| }|d@ r"| }nd }| }|  }|  }|  }| ||||||dS )Nr`   r   )rj   r7   r8   Ztgread_date)	r:   r;   rl   r<   r   Z_offset_date
_offset_idZ_offset_topicr   r   r   r    r>     s    
z!GetForumTopicsRequest.from_reader)N)r@   rA   rB   rC   rD   r   r	   rq   rE   r!   r)   r.   r3   rF   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 )GetForumTopicsByIDRequestl   a r   r   r   topicsc                 C   s   || _ || _dS r   r   )r   r   r   r   r   r    r!     s    z"GetForumTopicsByIDRequest.__init__c                    s   | || jI d H | _d S r"   r#   r&   r   r   r    r)     s    z!GetForumTopicsByIDRequest.resolvec                 C   s<   dt | jtr| j n| j| jd kr*g n| jd d  dS )Nr   )r+   r   r   )r-   r   r   r.   r   r/   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 )Nr0   s   r   rf   c                 s   s   | ]}t d |V  qdS r   r   r   r   r   r    r     s     z3GetForumTopicsByIDRequest._bytes.<locals>.<genexpr>)r2   r   r3   rh   ri   r   r   r/   r   r   r    r3     s      z GetForumTopicsByIDRequest._bytesc                 C   sD   |  }|  g }t| D ]}| }|| q | ||dS )Nr   r   )r:   r;   r<   Z_topicsr+   r   r   r   r    r>     s    z%GetForumTopicsByIDRequest.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 )GetFullChannelRequesti	jsi	QZ"r   rI   c                 C   s
   || _ dS )zC
        :returns messages.ChatFull: Instance of ChatFull.
        NrI   rL   r   r   r    r!   %  s    zGetFullChannelRequest.__init__c                    s   | || jI d H | _d S r"   r#   r&   r   r   r    r)   +  s    zGetFullChannelRequest.resolvec                 C   s"   dt | jtr| j n| jdS )Nr   rM   rN   r/   r   r   r    r.   .  s    zGetFullChannelRequest.to_dictc                 C   s   d d| j fS )Nr0   s   	jsrO   r/   r   r   r    r3   4  s    zGetFullChannelRequest._bytesc                 C   s   |  }| |dS rP   rQ   rR   r   r   r    r>   :  s    z!GetFullChannelRequest.from_readerNrS   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 )
GetGroupsForDiscussionRequestl   xSk r   c                 C   s   ddiS )Nr+   r   r   r/   r   r   r    r.   D  s     z%GetGroupsForDiscussionRequest.to_dictc                 C   s
   d dS )Nr0   )s   xr2   r/   r   r   r    r3   I  s    z$GetGroupsForDiscussionRequest._bytesc                 C   s   |  S r"   r   r:   r;   r   r   r    r>   N  s    z)GetGroupsForDiscussionRequest.from_readerN	r@   rA   rB   rC   rD   r.   r3   rF   r>   r   r   r   r    r   @  s   r   c                   @   s0   e Zd ZdZdZdd Zdd Zedd Zd	S )
GetInactiveChannelsRequesti1l   W c                 C   s   ddiS )Nr+   r   r   r/   r   r   r    r.   W  s     z"GetInactiveChannelsRequest.to_dictc                 C   s
   d dS )Nr0   )s   1r   r/   r   r   r    r3   \  s    z!GetInactiveChannelsRequest._bytesc                 C   s   |  S r"   r   r   r   r   r    r>   a  s    z&GetInactiveChannelsRequest.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 )GetLeftChannelsRequestl   l r   offsetc                 C   s
   || _ dS r   r  )r   r  r   r   r    r!   j  s    zGetLeftChannelsRequest.__init__c                 C   s   d| j dS )Nr   )r+   r  r  r/   r   r   r    r.   p  s    zGetLeftChannelsRequest.to_dictc                 C   s   d dtd| jfS )Nr0   s   Arf   )r2   rh   ri   r  r/   r   r   r    r3   v  s    zGetLeftChannelsRequest._bytesc                 C   s   |  }| |dS )Nr  )rj   )r:   r;   _offsetr   r   r    r>   |  s    z"GetLeftChannelsRequest.from_readerN)r@   rA   rB   rC   rD   rq   r!   r.   r3   rF   r>   r   r   r   r    r   f  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 )GetMessagesRequestl   #[    ^h) r   r   r   c                 C   s   || _ || _dS z
        :returns messages.Messages: Instance of either Messages, MessagesSlice, ChannelMessages, MessagesNotModified.
        Nr   r   r   r   r    r!     s    zGetMessagesRequest.__init__c                    sD   | || jI d H | _g }| jD ]}||| q$|| _d S r"   )r$   r%   r   r   r   Zget_input_messager   r   r   r    r)     s
    
zGetMessagesRequest.resolvec                 C   s>   dt | jtr| j n| j| jd kr*g ndd | jD dS )Nr  c                 S   s"   g | ]}t |tr| n|qS r   r   r   r   r   r    r     s     z.GetMessagesRequest.to_dict.<locals>.<listcomp>r   r   r/   r   r   r    r.     s    zGetMessagesRequest.to_dictc              
   C   s:   d d| j dtdt| jd dd | jD fS )Nr0   s   #r   rf   c                 s   s   | ]}|  V  qd S r"   r   r   r   r   r    r     s     z,GetMessagesRequest._bytes.<locals>.<genexpr>r   r/   r   r   r    r3     s      zGetMessagesRequest._bytesc                 C   sD   |  }|  g }t| D ]}|  }|| q | ||dS r   r   r   r   r   r    r>     s    zGetMessagesRequest.from_readerNr   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 )GetParticipantRequestl   lVA iXfr   r   r   c                 C   s   || _ || _dS )zW
        :returns channels.ChannelParticipant: Instance of ChannelParticipant.
        Nr   r   r   r   r    r!     s    zGetParticipantRequest.__init__c                    s8   | || jI d H | _||| jI d H | _d S r"   r   r&   r   r   r    r)     s    zGetParticipantRequest.resolvec                 C   s<   dt | jtr| j n| jt | jtr2| j n| jdS )Nr  r   r   r/   r   r   r    r.     s    zGetParticipantRequest.to_dictc                 C   s   d d| j | j fS )Nr0   s   lr   r/   r   r   r    r3     s
    zGetParticipantRequest._bytesc                 C   s   |  }|  }| ||dS r   rQ   r   r   r   r    r>     s    z!GetParticipantRequest.from_readerNrS   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 )GetParticipantsRequestiwl   dnL r   r   r   filterr  r   hashc                 C   s"   || _ || _|| _|| _|| _dS )z
        :returns channels.ChannelParticipants: Instance of either ChannelParticipants, ChannelParticipantsNotModified.
        Nr	  )r   r   r
  r  r   r  r   r   r    r!     s
    zGetParticipantsRequest.__init__c                    s   | || jI d H | _d S r"   r#   r&   r   r   r    r)     s    zGetParticipantsRequest.resolvec                 C   sH   dt | jtr| j n| jt | jtr2| j n| j| j| j| jdS )Nr  )r+   r   r
  r  r   r  )r-   r   r   r.   r
  r  r   r  r/   r   r   r    r.     s    zGetParticipantsRequest.to_dictc                 C   s@   d d| j | j td| jtd| jtd| jfS )Nr0   s   wrf   r~   )	r2   r   r3   r
  rh   ri   r  r   r  r/   r   r   r    r3     s    zGetParticipantsRequest._bytesc                 C   s:   |  }|  }| }| }| }| |||||dS )Nr	  )r7   rj   r   )r:   r;   r<   Z_filterr  r   _hashr   r   r    r>     s    z"GetParticipantsRequest.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 )GetSendAsRequestl   ?$O i!8Nr   peerfor_paid_reactionsc                 C   s   || _ || _dS )zI
        :returns channels.SendAsPeers: Instance of SendAsPeers.
        Nr  )r   r  r  r   r   r    r!     s    zGetSendAsRequest.__init__c                    s   | || jI d H | _d S r"   )r}   r%   r  r&   r   r   r    r)     s    zGetSendAsRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr  )r+   r  r  )r-   r  r   r.   r  r/   r   r   r    r.     s    zGetSendAsRequest.to_dictc                 C   s6   d dtd| jd ks | jdkr$dnd| j fS )Nr0   s   ?r_   Fr   r`   )r2   rh   ri   r  r  r3   r/   r   r   r    r3     s
    "zGetSendAsRequest._bytesc                 C   s(   |  }t|d@ }| }| ||dS )Nr`   r  r   )r:   r;   rl   Z_for_paid_reactionsZ_peerr   r   r    r>     s    zGetSendAsRequest.from_reader)Nr@   rA   rB   rC   rD   r   rk   r!   r)   r.   r3   rF   r>   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 )InviteToChannelRequestl   T= i=r   r   r   usersc                 C   s   || _ || _dS )zK
        :returns messages.InvitedUsers: Instance of InvitedUsers.
        Nr  )r   r   r  r   r   r    r!   +  s    zInviteToChannelRequest.__init__c                    sP   | || jI d H | _g }| jD ] }||||I d H  q$|| _d S r"   )r$   r%   r   r  r   r   r   r   r   r    r)   2  s
    
zInviteToChannelRequest.resolvec                 C   s>   dt | jtr| j n| j| jd kr*g ndd | jD dS )Nr  c                 S   s"   g | ]}t |tr| n|qS r   r   r   r   r   r    r   >  s     z2InviteToChannelRequest.to_dict.<locals>.<listcomp>)r+   r   r  )r-   r   r   r.   r  r/   r   r   r    r.   :  s    zInviteToChannelRequest.to_dictc              
   C   s:   d d| j dtdt| jd dd | jD fS )Nr0   s   T=r   rf   c                 s   s   | ]}|  V  qd S r"   r   r   r   r   r    r   E  s     z0InviteToChannelRequest._bytes.<locals>.<genexpr>)r2   r   r3   rh   ri   r   r  r/   r   r   r    r3   A  s      zInviteToChannelRequest._bytesc                 C   sD   |  }|  g }t| D ]}|  }|| q | ||dS )Nr  r   )r:   r;   r<   Z_usersr+   r   r   r   r    r>   H  s    z"InviteToChannelRequest.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 )JoinChannelRequesti$$rH   r   rI   c                 C   s
   || _ dS rJ   rI   rL   r   r   r    r!   X  s    zJoinChannelRequest.__init__c                    s   | || jI d H | _d S r"   r#   r&   r   r   r    r)   ^  s    zJoinChannelRequest.resolvec                 C   s"   dt | jtr| j n| jdS )Nr  rM   rN   r/   r   r   r    r.   a  s    zJoinChannelRequest.to_dictc                 C   s   d d| j fS )Nr0   s   $$rO   r/   r   r   r    r3   g  s    zJoinChannelRequest._bytesc                 C   s   |  }| |dS rP   rQ   rR   r   r   r    r>   m  s    zJoinChannelRequest.from_readerNrS   r   r   r   r    r  T  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 )LeaveChannelRequestl   *mp rH   r   rI   c                 C   s
   || _ dS rJ   rI   rL   r   r   r    r!   w  s    zLeaveChannelRequest.__init__c                    s   | || jI d H | _d S r"   r#   r&   r   r   r    r)   }  s    zLeaveChannelRequest.resolvec                 C   s"   dt | jtr| j n| jdS )Nr  rM   rN   r/   r   r   r    r.     s    zLeaveChannelRequest.to_dictc                 C   s   d d| j fS )Nr0   s   6rO   r/   r   r   r    r3     s    zLeaveChannelRequest._bytesc                 C   s   |  }| |dS rP   rQ   rR   r   r   r    r>     s    zLeaveChannelRequest.from_readerNrS   r   r   r   r    r  s  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 )ReadHistoryRequestl   7I  r   r   r   r   c                 C   s   || _ || _dS r   r  )r   r   r   r   r   r    r!     s    zReadHistoryRequest.__init__c                    s   | || jI d H | _d S r"   r#   r&   r   r   r    r)     s    zReadHistoryRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr  )r+   r   r   )r-   r   r   r.   r   r/   r   r   r    r.     s    zReadHistoryRequest.to_dictc                 C   s    d d| j td| jfS )Nr0   s   7Irf   )r2   r   r3   rh   ri   r   r/   r   r   r    r3     s
    zReadHistoryRequest._bytesc                 C   s   |  }| }| ||dS )Nr  r   )r:   r;   r<   r   r   r   r    r>     s    zReadHistoryRequest.from_readerNr   r   r   r   r    r    s   r  c                   @   sL   e Zd ZdZdZdee dddZdd Zd	d
 Z	dd Z
edd ZdS )ReadMessageContentsRequestl   8\kU r   r   r   c                 C   s   || _ || _dS r   r   r   r   r   r    r!     s    z#ReadMessageContentsRequest.__init__c                    s   | || jI d H | _d S r"   r#   r&   r   r   r    r)     s    z"ReadMessageContentsRequest.resolvec                 C   s<   dt | jtr| j n| j| jd kr*g n| jd d  dS )Nr  r   r   r/   r   r   r    r.     s    z"ReadMessageContentsRequest.to_dictc              
   C   s:   d d| j dtdt| jd dd | jD fS )Nr0   s   8ܵr   rf   c                 s   s   | ]}t d |V  qdS r   r   r   r   r   r    r     s     z4ReadMessageContentsRequest._bytes.<locals>.<genexpr>r   r/   r   r   r    r3     s      z!ReadMessageContentsRequest._bytesc                 C   sD   |  }|  g }t| D ]}| }|| q | ||dS r   r   r   r   r   r    r>     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e dddZ	dd	 Z
d
d Zdd Zedd ZdS )ReorderPinnedForumTopicsRequestiP)rH   Nr   r   orderforcec                 C   s   || _ || _|| _dS rJ   r  )r   r   r  r  r   r   r    r!     s    z(ReorderPinnedForumTopicsRequest.__init__c                    s   | || jI d H | _d S r"   r#   r&   r   r   r    r)     s    z'ReorderPinnedForumTopicsRequest.resolvec                 C   s@   dt | jtr| j n| j| jd kr*g n| jd d  | jdS )Nr  )r+   r   r  r  )r-   r   r   r.   r  r  r/   r   r   r    r.     s
    z'ReorderPinnedForumTopicsRequest.to_dictc                 C   s\   d dtd| jd ks | jdkr$dnd| j dtdt| jd d	d
 | jD fS )Nr0   s   P)r_   Fr   r`   r   rf   c                 s   s   | ]}t d |V  qdS r   r   r   r   r   r    r     s     z9ReorderPinnedForumTopicsRequest._bytes.<locals>.<genexpr>)r2   rh   ri   r  r   r3   r   r  r/   r   r   r    r3     s    "  z&ReorderPinnedForumTopicsRequest._bytesc                 C   sZ   |  }t|d@ }| }|   g }t|  D ]}|  }|| q4| |||dS )Nr`   r  )rj   rk   r7   r   r   )r:   r;   rl   Z_forcer<   _orderr+   r   r   r   r    r>     s    z+ReorderPinnedForumTopicsRequest.from_reader)N)r@   rA   rB   rC   rD   r   rq   r   rk   r!   r)   r.   r3   rF   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 )ReorderUsernamesRequestl   mh r   r   r   r  c                 C   s   || _ || _dS r   r   )r   r   r  r   r   r    r!     s    z ReorderUsernamesRequest.__init__c                    s   | || jI d H | _d S r"   r#   r&   r   r   r    r)     s    zReorderUsernamesRequest.resolvec                 C   s<   dt | jtr| j n| j| jd kr*g n| jd d  dS )Nr  )r+   r   r  )r-   r   r   r.   r  r/   r   r   r    r.     s    zReorderUsernamesRequest.to_dictc                    s>   d d j dtdt jd  fdd jD fS )Nr0   s   \r   rf   c                 3   s   | ]}  |V  qd S r"   )r4   r   r/   r   r    r   $  s     z1ReorderUsernamesRequest._bytes.<locals>.<genexpr>)r2   r   r3   rh   ri   r   r  r/   r   r/   r    r3      s      zReorderUsernamesRequest._bytesc                 C   sD   |  }|  g }t| D ]}| }|| q | ||dS )Nr   )r7   rj   r   r8   r   )r:   r;   r<   r  r+   r   r   r   r    r>   '  s    z#ReorderUsernamesRequest.from_readerN)r@   rA   rB   rC   rD   r   rE   r!   r)   r.   r3   rF   r>   r   r   r   r    r    s   r  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )"ReportAntiSpamFalsePositiveRequestl   &P r   r   r   msg_idc                 C   s   || _ || _dS r   r"  )r   r   r#  r   r   r    r!   7  s    z+ReportAntiSpamFalsePositiveRequest.__init__c                    s   | || jI d H | _d S r"   r#   r&   r   r   r    r)   >  s    z*ReportAntiSpamFalsePositiveRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr!  )r+   r   r#  )r-   r   r   r.   r#  r/   r   r   r    r.   A  s    z*ReportAntiSpamFalsePositiveRequest.to_dictc                 C   s    d d| j td| jfS )Nr0   s   Prf   )r2   r   r3   rh   ri   r#  r/   r   r   r    r3   H  s
    z)ReportAntiSpamFalsePositiveRequest._bytesc                 C   s   |  }| }| ||dS )Nr"  r   )r:   r;   r<   Z_msg_idr   r   r    r>   O  s    z.ReportAntiSpamFalsePositiveRequest.from_readerNr   r   r   r   r    r!  3  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 )ReportSpamRequestl   h r   r   r   r   r   r   c                 C   s   || _ || _|| _dS r   r%  )r   r   r   r   r   r   r    r!   Z  s    zReportSpamRequest.__init__c                    s8   | || jI d H | _||| jI d H | _d S r"   r   r&   r   r   r    r)   b  s    zReportSpamRequest.resolvec                 C   sV   dt | jtr| j n| jt | jtr2| j n| j| jd krDg n| jd d  dS )Nr$  )r+   r   r   r   )r-   r   r   r.   r   r   r/   r   r   r    r.   f  s
    zReportSpamRequest.to_dictc                 C   sB   d d| j | j dtdt| jd dd | jD fS )Nr0   s   Jr   rf   c                 s   s   | ]}t d |V  qdS r   r   r   r   r   r    r   s  s     z+ReportSpamRequest._bytes.<locals>.<genexpr>)r2   r   r3   r   rh   ri   r   r   r/   r   r   r    r3   n  s      zReportSpamRequest._bytesc                 C   sN   |  }|  }|  g }t| D ]}| }|| q(| |||dS )Nr%  r   )r:   r;   r<   r   r   r+   r   r   r   r    r>   v  s    zReportSpamRequest.from_readerNr   r   r   r   r    r$  V  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 ) RestrictSponsoredMessagesRequestl   5 rH   r   r   
restrictedc                 C   s   || _ || _dS rJ   r'  )r   r   r(  r   r   r    r!     s    z)RestrictSponsoredMessagesRequest.__init__c                    s   | || jI d H | _d S r"   r#   r&   r   r   r    r)     s    z(RestrictSponsoredMessagesRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr&  )r+   r   r(  )r-   r   r   r.   r(  r/   r   r   r    r.     s    z(RestrictSponsoredMessagesRequest.to_dictc                 C   s    d d| j | jrdndfS )Nr0   s   r   r   )r2   r   r3   r(  r/   r   r   r    r3     s
    z'RestrictSponsoredMessagesRequest._bytesc                 C   s   |  }| }| ||dS )Nr'  r7   r   )r:   r;   r<   Z_restrictedr   r   r    r>     s    z,RestrictSponsoredMessagesRequest.from_readerNr@   rA   rB   rC   rD   rk   r!   r)   r.   r3   rF   r>   r   r   r   r    r&    s   r&  c                   @   sN   e Zd ZdZdZeedeedddZdd Zd	d
 Z	dd Z
edd ZdS )SearchPostsRequestl   {?# r  r   hashtagoffset_rateoffset_peerr   r   c                 C   s"   || _ || _|| _|| _|| _dS r  r,  )r   r-  r.  r/  r   r   r   r   r    r!     s
    zSearchPostsRequest.__init__c                    s   | || jI d H | _d S r"   )r}   r%   r/  r&   r   r   r    r)     s    zSearchPostsRequest.resolvec                 C   s2   d| j | jt| jtr | j n| 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.     s    zSearchPostsRequest.to_dictc                 C   sB   d d| | jtd| j| j td| jtd| j	fS )Nr0   s   {rf   )
r2   r4   r-  rh   ri   r.  r/  r3   r   r   r/   r   r   r    r3     s    
zSearchPostsRequest._bytesc                 C   s:   |  }| }| }| }| }| |||||dS )Nr,  )r8   rj   r7   )r:   r;   Z_hashtagZ_offset_rateZ_offset_peerr   r   r   r   r    r>     s    zSearchPostsRequest.from_readerN)r@   rA   rB   rC   rD   rE   rq   r!   r)   r.   r3   rF   r>   r   r   r   r    r+    s   


r+  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )%SetBoostsToUnblockRestrictionsRequestl   sZ rH   r   r   boostsc                 C   s   || _ || _dS rJ   r1  )r   r   r2  r   r   r    r!     s    z.SetBoostsToUnblockRestrictionsRequest.__init__c                    s   | || jI d H | _d S r"   r#   r&   r   r   r    r)     s    z-SetBoostsToUnblockRestrictionsRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr0  )r+   r   r2  )r-   r   r   r.   r2  r/   r   r   r    r.     s    z-SetBoostsToUnblockRestrictionsRequest.to_dictc                 C   s    d d| j td| jfS )Nr0   s   9rf   )r2   r   r3   rh   ri   r2  r/   r   r   r    r3     s
    z,SetBoostsToUnblockRestrictionsRequest._bytesc                 C   s   |  }| }| ||dS )Nr1  r   )r:   r;   r<   Z_boostsr   r   r    r>     s    z1SetBoostsToUnblockRestrictionsRequest.from_readerNr   r   r   r   r    r0    s   r0  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 )SetDiscussionGroupRequesti+X@r   r   rX   groupc                 C   s   || _ || _dS r   r4  )r   rX   r5  r   r   r    r!     s    z"SetDiscussionGroupRequest.__init__c                    s8   | || jI d H | _| || jI d H | _d S r"   )r$   r%   rX   r5  r&   r   r   r    r)     s    z!SetDiscussionGroupRequest.resolvec                 C   s<   dt | jtr| j n| jt | jtr2| j n| jdS )Nr3  )r+   rX   r5  )r-   rX   r   r.   r5  r/   r   r   r    r.     s    z!SetDiscussionGroupRequest.to_dictc                 C   s   d d| j | j fS )Nr0   s   +X@)r2   rX   r3   r5  r/   r   r   r    r3     s
    z SetDiscussionGroupRequest._bytesc                 C   s   |  }|  }| ||dS )Nr4  rQ   )r:   r;   rm   _groupr   r   r    r>     s    z%SetDiscussionGroupRequest.from_readerNrS   r   r   r   r    r3    s   r3  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 )SetEmojiStickersRequesti0<r   r   r   r   
stickersetc                 C   s   || _ || _dS r   r8  r   r   r9  r   r   r    r!      s    z SetEmojiStickersRequest.__init__c                    s   | || jI d H | _d S r"   r#   r&   r   r   r    r)   '  s    zSetEmojiStickersRequest.resolvec                 C   s<   dt | jtr| j n| jt | jtr2| j n| jdS )Nr7  r+   r   r9  r-   r   r   r.   r9  r/   r   r   r    r.   *  s    zSetEmojiStickersRequest.to_dictc                 C   s   d d| j | j fS )Nr0   s   0<r2   r   r3   r9  r/   r   r   r    r3   1  s
    zSetEmojiStickersRequest._bytesc                 C   s   |  }|  }| ||dS Nr8  rQ   r:   r;   r<   Z_stickersetr   r   r    r>   8  s    z#SetEmojiStickersRequest.from_readerNrS   r   r   r   r    r7    s   r7  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 )SetStickersRequestl   $U r   r   r   r8  c                 C   s   || _ || _dS r   r8  r:  r   r   r    r!   C  s    zSetStickersRequest.__init__c                    s   | || jI d H | _d S r"   r#   r&   r   r   r    r)   J  s    zSetStickersRequest.resolvec                 C   s<   dt | jtr| j n| jt | jtr2| j n| jdS )Nr@  r;  r<  r/   r   r   r    r.   M  s    zSetStickersRequest.to_dictc                 C   s   d d| j | j fS )Nr0   s   r=  r/   r   r   r    r3   T  s
    zSetStickersRequest._bytesc                 C   s   |  }|  }| ||dS r>  rQ   r?  r   r   r    r>   [  s    zSetStickersRequest.from_readerNrS   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 )ToggleAntiSpamRequestihrH   r   r   enabledc                 C   s   || _ || _dS rJ   rB  r   r   rC  r   r   r    r!   f  s    zToggleAntiSpamRequest.__init__c                    s   | || jI d H | _d S r"   r#   r&   r   r   r    r)   m  s    zToggleAntiSpamRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )NrA  r+   r   rC  r-   r   r   r.   rC  r/   r   r   r    r.   p  s    zToggleAntiSpamRequest.to_dictc                 C   s    d d| j | jrdndfS )Nr0   s   hr   r   r2   r   r3   rC  r/   r   r   r    r3   w  s
    zToggleAntiSpamRequest._bytesc                 C   s   |  }| }| ||dS NrB  r)  r:   r;   r<   Z_enabledr   r   r    r>   ~  s    z!ToggleAntiSpamRequest.from_readerNr*  r   r   r   r    rA  b  s   rA  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 )ToggleForumRequestl   )SH rH   r   rB  c                 C   s   || _ || _dS rJ   rB  rD  r   r   r    r!     s    zToggleForumRequest.__init__c                    s   | || jI d H | _d S r"   r#   r&   r   r   r    r)     s    zToggleForumRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )NrJ  rE  rF  r/   r   r   r    r.     s    zToggleForumRequest.to_dictc                 C   s    d d| j | jrdndfS )Nr0   s   ))r   r   rG  r/   r   r   r    r3     s
    zToggleForumRequest._bytesc                 C   s   |  }| }| ||dS rH  r)  rI  r   r   r    r>     s    zToggleForumRequest.from_readerNr*  r   r   r   r    rJ    s   rJ  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )ToggleJoinRequestRequesti)LrH   r   rB  c                 C   s   || _ || _dS rJ   rB  rD  r   r   r    r!     s    z!ToggleJoinRequestRequest.__init__c                    s   | || jI d H | _d S r"   r#   r&   r   r   r    r)     s    z ToggleJoinRequestRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )NrK  rE  rF  r/   r   r   r    r.     s    z ToggleJoinRequestRequest.to_dictc                 C   s    d d| j | jrdndfS )Nr0   s   )Lr   r   rG  r/   r   r   r    r3     s
    zToggleJoinRequestRequest._bytesc                 C   s   |  }| }| ||dS rH  r)  rI  r   r   r    r>     s    z$ToggleJoinRequestRequest.from_readerNr*  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 )ToggleJoinToSendRequestl   I rH   r   rB  c                 C   s   || _ || _dS rJ   rB  rD  r   r   r    r!     s    z ToggleJoinToSendRequest.__init__c                    s   | || jI d H | _d S r"   r#   r&   r   r   r    r)     s    zToggleJoinToSendRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )NrL  rE  rF  r/   r   r   r    r.     s    zToggleJoinToSendRequest.to_dictc                 C   s    d d| j | jrdndfS )Nr0   s   r   r   rG  r/   r   r   r    r3     s
    zToggleJoinToSendRequest._bytesc                 C   s   |  }| }| ||dS rH  r)  rI  r   r   r    r>     s    z#ToggleJoinToSendRequest.from_readerNr*  r   r   r   r    rL    s   rL  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )ToggleParticipantsHiddenRequestiTxnjrH   r   rB  c                 C   s   || _ || _dS rJ   rB  rD  r   r   r    r!     s    z(ToggleParticipantsHiddenRequest.__init__c                    s   | || jI d H | _d S r"   r#   r&   r   r   r    r)     s    z'ToggleParticipantsHiddenRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )NrM  rE  rF  r/   r   r   r    r.     s    z'ToggleParticipantsHiddenRequest.to_dictc                 C   s    d d| j | jrdndfS )Nr0   s   Txnjr   r   rG  r/   r   r   r    r3     s
    z&ToggleParticipantsHiddenRequest._bytesc                 C   s   |  }| }| ||dS rH  r)  rI  r   r   r    r>   
  s    z+ToggleParticipantsHiddenRequest.from_readerNr*  r   r   r   r    rM    s   rM  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 )TogglePreHistoryHiddenRequestl   L9wU rH   r   rB  c                 C   s   || _ || _dS rJ   rB  rD  r   r   r    r!     s    z&TogglePreHistoryHiddenRequest.__init__c                    s   | || jI d H | _d S r"   r#   r&   r   r   r    r)     s    z%TogglePreHistoryHiddenRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )NrN  rE  rF  r/   r   r   r    r.     s    z%TogglePreHistoryHiddenRequest.to_dictc                 C   s    d d| j | jrdndfS )Nr0   s   Lr   r   rG  r/   r   r   r    r3   &  s
    z$TogglePreHistoryHiddenRequest._bytesc                 C   s   |  }| }| ||dS rH  r)  rI  r   r   r    r>   -  s    z)TogglePreHistoryHiddenRequest.from_readerNr*  r   r   r   r    rN    s   rN  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 )ToggleSignaturesRequestiTArH   Nr   r   signatures_enabledprofiles_enabledc                 C   s   || _ || _|| _dS rJ   rP  )r   r   rQ  rR  r   r   r    r!   8  s    z ToggleSignaturesRequest.__init__c                    s   | || jI d H | _d S r"   r#   r&   r   r   r    r)   @  s    zToggleSignaturesRequest.resolvec                 C   s*   dt | jtr| j n| j| j| jdS )NrO  )r+   r   rQ  rR  )r-   r   r   r.   rQ  rR  r/   r   r   r    r.   C  s
    zToggleSignaturesRequest.to_dictc              	   C   sR   d dtd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | j fS )Nr0   s   TAr_   Fr   r`   ra   )r2   rh   ri   rQ  rR  r   r3   r/   r   r   r    r3   K  s
    >zToggleSignaturesRequest._bytesc                 C   s6   |  }t|d@ }t|d@ }| }| |||dS )Nr`   ra   rP  r   )r:   r;   rl   Z_signatures_enabledZ_profiles_enabledr<   r   r   r    r>   R  s
    z#ToggleSignaturesRequest.from_reader)NNr  r   r   r   r    rO  4  s   rO  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )ToggleSlowModeRequestl   [ rH   r   r   secondsc                 C   s   || _ || _dS rJ   rT  )r   r   rU  r   r   r    r!   `  s    zToggleSlowModeRequest.__init__c                    s   | || jI d H | _d S r"   r#   r&   r   r   r    r)   g  s    zToggleSlowModeRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )NrS  )r+   r   rU  )r-   r   r   r.   rU  r/   r   r   r    r.   j  s    zToggleSlowModeRequest.to_dictc                 C   s    d d| j td| jfS )Nr0   s   rf   )r2   r   r3   rh   ri   rU  r/   r   r   r    r3   q  s
    zToggleSlowModeRequest._bytesc                 C   s   |  }| }| ||dS )NrT  r   )r:   r;   r<   Z_secondsr   r   r    r>   x  s    z!ToggleSlowModeRequest.from_readerNr   r   r   r   r    rS  \  s   rS  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 )ToggleUsernameRequestiAPr   r   r   r   activec                 C   s   || _ || _|| _dS r   rW  )r   r   r   rX  r   r   r    r!     s    zToggleUsernameRequest.__init__c                    s   | || jI d H | _d S r"   r#   r&   r   r   r    r)     s    zToggleUsernameRequest.resolvec                 C   s*   dt | jtr| j n| j| j| jdS )NrV  )r+   r   r   rX  )r-   r   r   r.   r   rX  r/   r   r   r    r.     s
    zToggleUsernameRequest.to_dictc                 C   s*   d d| j | | j| jr"dndfS )Nr0   s   APr   r   )r2   r   r3   r4   r   rX  r/   r   r   r    r3     s    
zToggleUsernameRequest._bytesc                 C   s&   |  }| }| }| |||dS )NrW  )r7   r8   r   )r:   r;   r<   r=   _activer   r   r    r>     s    z!ToggleUsernameRequest.from_readerN)r@   rA   rB   rC   rD   rE   rk   r!   r)   r.   r3   rF   r>   r   r   r   r    rV    s   rV  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS ) ToggleViewForumAsMessagesRequestl   ;q. rH   r   rB  c                 C   s   || _ || _dS rJ   rB  rD  r   r   r    r!     s    z)ToggleViewForumAsMessagesRequest.__init__c                    s   | || jI d H | _d S r"   r#   r&   r   r   r    r)     s    z(ToggleViewForumAsMessagesRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )NrZ  rE  rF  r/   r   r   r    r.     s    z(ToggleViewForumAsMessagesRequest.to_dictc                 C   s    d d| j | jrdndfS )Nr0   s   8r   r   rG  r/   r   r   r    r3     s
    z'ToggleViewForumAsMessagesRequest._bytesc                 C   s   |  }| }| ||dS rH  r)  rI  r   r   r    r>     s    z,ToggleViewForumAsMessagesRequest.from_readerNr*  r   r   r   r    rZ    s   rZ  c                   @   sZ   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 )UpdateColorRequestl   q6T1 rH   Nr   r   for_profilecolorbackground_emoji_idc                 C   s   || _ || _|| _|| _dS rJ   r\  )r   r   r]  r^  r_  r   r   r    r!     s    zUpdateColorRequest.__init__c                    s   | || jI d H | _d S r"   r#   r&   r   r   r    r)     s    zUpdateColorRequest.resolvec                 C   s.   dt | jtr| j n| j| j| j| jdS )Nr[  )r+   r   r]  r^  r_  )r-   r   r   r.   r]  r^  r_  r/   r   r   r    r.     s    zUpdateColorRequest.to_dictc              
   C   s   d dtd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | jd ksV| jdkrZdndB | j | jd ks|| jdkrdntd	| j| jd ks| jdkrdntd
| jfS )Nr0   s   q6r_   Fr   ra   rd   r`   rf   r~   )r2   rh   ri   r]  r^  r_  r   r3   r/   r   r   r    r3     s    Z$$zUpdateColorRequest._bytesc                 C   sX   |  }t|d@ }| }|d@ r.|  }nd }|d@ rD| }nd }| ||||dS )Nra   rd   r`   r\  )rj   rk   r7   r   )r:   r;   rl   Z_for_profiler<   Z_colorZ_background_emoji_idr   r   r    r>     s    

zUpdateColorRequest.from_reader)NNN)r@   rA   rB   rC   rD   r   rk   rq   r!   r)   r.   r3   rF   r>   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 )UpdateEmojiStatusRequestl   fa rH   r   r   r   emoji_statusc                 C   s   || _ || _dS rJ   ra  )r   r   rb  r   r   r    r!    	  s    z!UpdateEmojiStatusRequest.__init__c                    s   | || jI d H | _d S r"   r#   r&   r   r   r    r)   	  s    z UpdateEmojiStatusRequest.resolvec                 C   s<   dt | jtr| j n| jt | jtr2| j n| jdS )Nr`  )r+   r   rb  )r-   r   r   r.   rb  r/   r   r   r    r.   
	  s    z UpdateEmojiStatusRequest.to_dictc                 C   s   d d| j | j fS )Nr0   s   )r2   r   r3   rb  r/   r   r   r    r3   	  s
    zUpdateEmojiStatusRequest._bytesc                 C   s   |  }|  }| ||dS )Nra  rQ   )r:   r;   r<   Z_emoji_statusr   r   r    r>   	  s    z$UpdateEmojiStatusRequest.from_readerNrS   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 )UpdatePaidMessagesPriceRequestl   ?ey rH   r   r   send_paid_messages_starsc                 C   s   || _ || _dS rJ   rd  )r   r   re  r   r   r    r!   #	  s    z'UpdatePaidMessagesPriceRequest.__init__c                    s   | || jI d H | _d S r"   r#   r&   r   r   r    r)   *	  s    z&UpdatePaidMessagesPriceRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nrc  )r+   r   re  )r-   r   r   r.   re  r/   r   r   r    r.   -	  s    z&UpdatePaidMessagesPriceRequest.to_dictc                 C   s    d d| j td| jfS )Nr0   s   ?er~   )r2   r   r3   rh   ri   re  r/   r   r   r    r3   4	  s
    z%UpdatePaidMessagesPriceRequest._bytesc                 C   s   |  }| }| ||dS )Nrd  )r7   r   )r:   r;   r<   Z_send_paid_messages_starsr   r   r    r>   ;	  s    z*UpdatePaidMessagesPriceRequest.from_readerNr   r   r   r   r    rc  	  s   rc  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 )UpdatePinnedForumTopicRequesti&-lrH   r   r   r   pinnedc                 C   s   || _ || _|| _dS rJ   rg  )r   r   r   rh  r   r   r    r!   F	  s    z&UpdatePinnedForumTopicRequest.__init__c                    s   | || jI d H | _d S r"   r#   r&   r   r   r    r)   N	  s    z%UpdatePinnedForumTopicRequest.resolvec                 C   s*   dt | jtr| j n| j| j| jdS )Nrf  )r+   r   r   rh  )r-   r   r   r.   r   rh  r/   r   r   r    r.   Q	  s
    z%UpdatePinnedForumTopicRequest.to_dictc                 C   s,   d d| j td| j| jr$dndfS )Nr0   s   &-lrf   r   r   )r2   r   r3   rh   ri   r   rh  r/   r   r   r    r3   Y	  s    z$UpdatePinnedForumTopicRequest._bytesc                 C   s&   |  }| }| }| |||dS )Nrg  )r7   rj   r   )r:   r;   r<   r   Z_pinnedr   r   r    r>   a	  s    z)UpdatePinnedForumTopicRequest.from_readerN)r@   rA   rB   rC   rD   rq   rk   r!   r)   r.   r3   rF   r>   r   r   r   r    rf  B	  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 )UpdateUsernameRequesti޳5r   r   r   c                 C   s   || _ || _dS r   r   r   r   r   r    r!   m	  s    zUpdateUsernameRequest.__init__c                    s   | || jI d H | _d S r"   r#   r&   r   r   r    r)   t	  s    zUpdateUsernameRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nri  r*   r,   r/   r   r   r    r.   w	  s    zUpdateUsernameRequest.to_dictc                 C   s   d d| j | | jfS )Nr0   s   ޳5r1   r/   r   r   r    r3   ~	  s
    
zUpdateUsernameRequest._bytesc                 C   s   |  }| }| ||dS r5   r6   r9   r   r   r    r>   	  s    z!UpdateUsernameRequest.from_readerNr?   r   r   r   r    ri  i	  s   ri  )X__doc__Ztl.tlobjectr   r   typingr   r   r   r   r{   rh   r	   Ztl.typesr
   r   r   r   r   r   r   r   r   r   r   r   r   r   rG   rT   rr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   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  r7  r@  rA  rJ  rK  rL  rM  rN  rO  rS  rV  rZ  r[  r`  rc  rf  ri  r   r   r   r    <module>   s   <#EA)($#,((B'$#,K$&(9(-$/%-#(.(#-#/#$########(#'#3##'