3
uQh 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,l   gk r   )channelusernamec             C   s   || _ || _dS )z?
        :returns Bool: This type has no constructors.
        N)r   r   )selfr   r    r   B/tmp/pip-build-2nz6shyl/telethon/telethon/tl/functions/channels.py__init__   s    zCheckUsernameRequest.__init__c                s   |j |j| 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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j d| jj | j| jfS )N    s   ,)joinr   _bytesserialize_bytesr   )r   r   r   r   r(   "   s    zCheckUsernameRequest._bytesc             C   s   |j  }|j }| ||dS )N)r   r   )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%   r(   classmethodr0   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)l   * r   )r   c             C   s
   || _ dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        N)r   )r   r   r   r   r   r   4   s    z"ConvertToGigagroupRequest.__init__c                s   |j |j| jI d H | _d S )N)r   r   r   )r   r    r!   r   r   r   r"   :   s    z!ConvertToGigagroupRequest.resolvec             C   s"   dt | jtr| jj n| jdS )Nr8   )r#   r   )r$   r   r   r%   )r   r   r   r   r%   =   s    z!ConvertToGigagroupRequest.to_dictc             C   s   dj d| jj fS )Nr&   s   i))r'   r   r(   )r   r   r   r   r(   C   s    z ConvertToGigagroupRequest._bytesc             C   s   |j  }| |dS )N)r   )r*   )r,   r-   r.   r   r   r   r0   I   s    z%ConvertToGigagroupRequest.from_readerN)r1   r2   r3   r4   r5   r   r"   r%   r(   r7   r0   r   r   r   r   r8   0   s   r8   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 " l   * Nr   )	titleabout	broadcast	megagroup
for_importforum	geo_pointaddress
ttl_periodc
       
      C   s:   || _ || _|| _|| _|| _|| _|| _|| _|	| _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        N)	r:   r;   r<   r=   r>   r?   r@   rA   rB   )
r   r:   r;   r<   r=   r>   r?   r@   rA   rB   r   r   r   r   S   s    zCreateChannelRequest.__init__c             C   sB   d| j | j| j| j| j| jt| jtr0| jj	 n| j| j
| jd
S )Nr9   )
r#   r:   r;   r<   r=   r>   r?   r@   rA   rB   )r:   r;   r<   r=   r>   r?   r$   r@   r   r%   rA   rB   )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jdtjd| jd ksp| jdkrtdnd| jd ks| jdkrdndB | jd ks| jdkrdnd	B | j	d ks| j	dkrdn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| j| j d ksP| j dkrTdn| j j | jd kst| jdkrxdn
| j| j| j
d ks| j
dkrdntjd| j
fS )NFzNgeo_point, address parameters must all be False-y (like None) or all me True-yr&   s   g z<Ir                      z<i)r@   rA   AssertionErrorr'   structpackr<   r=   r>   r?   rB   r)   r:   r;   r(   )r   r   r   r   r(   o   s    P

$&zCreateChannelRequest._bytesc             C   s   |j  }t|d@ }t|d@ }t|d@ }t|d@ }|j }|j }|d@ rZ|j }	nd }	|d@ rp|j }
nd }
|d@ r|j  }nd }| |||||||	|
|d	S )NrC   rD   rE   rF   rG   rH   )	r:   r;   r<   r=   r>   r?   r@   rA   rB   )read_intboolr+   r*   )r,   r-   flags
_broadcastZ
_megagroupZ_for_importZ_forum_titleZ_about
_geo_point_addressZ_ttl_periodr   r   r   r0   {   s"    


z CreateChannelRequest.from_reader)NNNNNNN)r1   r2   r3   r4   r5   r6   r   rM   intr   r%   r(   r7   r0   r   r   r   r   r9   O   s   <r9   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 l   * Nr   r   )r   r:   
icon_coloricon_emoji_id	random_idsend_asc             C   sF   || _ || _|| _|| _|dk	r$|ntjtjdddd| _|| _	dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        NrE   bigT)signed)
r   r:   rU   rV   rS   
from_bytesosurandomrW   rX   )r   r   r:   rU   rV   rW   rX   r   r   r   r      s    $z CreateForumTopicRequest.__init__c                s>   |j |j| jI d H | _| jr:|j|j| jI d H | _d S )N)r   r   r   rX   get_input_peer)r   r    r!   r   r   r   r"      s    zCreateForumTopicRequest.resolvec          	   C   sL   dt | jtr| jj n| j| j| j| j| jt | jtrB| jj n| jdS )NrT   )r#   r   r:   rU   rV   rW   rX   )	r$   r   r   r%   r:   rU   rV   rW   rX   )r   r   r   r   r%      s    zCreateForumTopicRequest.to_dictc          
   C   s   dj dtjd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | jd ksV| jdkrZdndB | jj | j| j	| jd ks| jdkrdntjd	| j| jd ks| jdkrdntjd
| jtjd
| j
| jd ks| jdkrdn| jj fS )Nr&   s   $z<IFr   rC   rE   rG   z<iz<q)r'   rJ   rK   rU   rV   rX   r   r(   r)   r:   rW   )r   r   r   r   r(      s    Z
$$zCreateForumTopicRequest._bytesc       	      C   sv   |j  }|j }|j }|d@ r*|j  }nd }|d@ r@|j }nd }|j }|d@ r^|j }nd }| ||||||dS )NrC   rE   rG   )r   r:   rU   rV   rW   rX   )rL   r*   r+   	read_long)	r,   r-   rN   r.   rP   Z_icon_color_icon_emoji_idZ
_random_idZ_send_asr   r   r   r0      s    


z#CreateForumTopicRequest.from_reader)NNNN)r1   r2   r3   r4   r5   r6   r   rS   r   r"   r%   r(   r7   r0   r   r   r   r   rT      s   &rT   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]$
l   gk r   )r   c             C   s
   || _ dS )z?
        :returns Bool: This type has no constructors.
        N)r   )r   r   r   r   r   r      s    z&DeactivateAllUsernamesRequest.__init__c                s   |j |j| jI d H | _d S )N)r   r   r   )r   r    r!   r   r   r   r"      s    z%DeactivateAllUsernamesRequest.resolvec             C   s"   dt | jtr| jj n| jdS )Nra   )r#   r   )r$   r   r   r%   )r   r   r   r   r%      s    z%DeactivateAllUsernamesRequest.to_dictc             C   s   dj d| jj fS )Nr&   s   ]$
)r'   r   r(   )r   r   r   r   r(      s    z$DeactivateAllUsernamesRequest._bytesc             C   s   |j  }| |dS )N)r   )r*   )r,   r-   r.   r   r   r   r0      s    z)DeactivateAllUsernamesRequest.from_readerN)r1   r2   r3   r4   r5   r   r"   r%   r(   r7   r0   r   r   r   r   ra      s   ra   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   "  l   * r   )r   c             C   s
   || _ dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        N)r   )r   r   r   r   r   r      s    zDeleteChannelRequest.__init__c                s   |j |j| jI d H | _d S )N)r   r   r   )r   r    r!   r   r   r   r"      s    zDeleteChannelRequest.resolvec             C   s"   dt | jtr| jj n| jdS )Nrb   )r#   r   )r$   r   r   r%   )r   r   r   r   r%     s    zDeleteChannelRequest.to_dictc             C   s   dj d| jj fS )Nr&   s   )r'   r   r(   )r   r   r   r   r(     s    zDeleteChannelRequest._bytesc             C   s   |j  }| |dS )N)r   )r*   )r,   r-   r.   r   r   r   r0     s    z DeleteChannelRequest.from_readerN)r1   r2   r3   r4   r5   r   r"   r%   r(   r7   r0   r   r   r   r   rb      s   rb   c               @   sP   e Zd ZdZdZddeee dddZdd	 Z	d
d Z
dd Zedd ZdS )DeleteHistoryRequestl   GU7 l   * Nr   )r   max_idfor_everyonec             C   s   || _ || _|| _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        N)r   rd   re   )r   r   rd   re   r   r   r   r     s    zDeleteHistoryRequest.__init__c                s   |j |j| jI d H | _d S )N)r   r   r   )r   r    r!   r   r   r   r"     s    zDeleteHistoryRequest.resolvec             C   s*   dt | jtr| jj n| j| j| jdS )Nrc   )r#   r   rd   re   )r$   r   r   r%   rd   re   )r   r   r   r   r%   "  s    zDeleteHistoryRequest.to_dictc             C   sB   dj dtjd| jd ks | jdkr$dnd| jj tjd| jfS )Nr&   s   Gz<IFr   rC   z<i)r'   rJ   rK   re   r   r(   rd   )r   r   r   r   r(   *  s
    "zDeleteHistoryRequest._bytesc             C   s2   |j  }t|d@ }|j }|j  }| |||dS )NrC   )r   rd   re   )rL   rM   r*   )r,   r-   rN   Z_for_everyoner.   _max_idr   r   r   r0   2  s
    z DeleteHistoryRequest.from_reader)N)r1   r2   r3   r4   r5   rS   r   rM   r   r"   r%   r(   r7   r0   r   r   r   r   rc     s   rc   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.
        N)r   rh   )r   r   rh   r   r   r   r   @  s    zDeleteMessagesRequest.__init__c                s   |j |j| jI d H | _d S )N)r   r   r   )r   r    r!   r   r   r   r"   G  s    zDeleteMessagesRequest.resolvec             C   s<   dt | jtr| jj n| j| jd kr*g n| jd d  dS )Nrg   )r#   r   rh   )r$   r   r   r%   rh   )r   r   r   r   r%   J  s    zDeleteMessagesRequest.to_dictc             C   s:   dj d| jj dtjdt| jdj dd | jD fS )Nr&   s   Ns   ĵz<ic             s   s   | ]}t jd |V  qdS )z<iN)rJ   rK   ).0xr   r   r   	<genexpr>U  s    z/DeleteMessagesRequest._bytes.<locals>.<genexpr>)r'   r   r(   rJ   rK   lenrh   )r   r   r   r   r(   Q  s    zDeleteMessagesRequest._bytesc             C   sH   |j  }|j  g }x&t|j D ]}|j }|j| q"W | ||dS )N)r   rh   )r*   rL   rangeappend)r,   r-   r.   _idr#   _xr   r   r   r0   X  s    z!DeleteMessagesRequest.from_readerN)r1   r2   r3   r4   r5   r   rS   r   r"   r%   r(   r7   r0   r   r   r   r   rg   <  s   rg   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 )DeleteParticipantHistoryRequestiDu6iI,r   r   )r   participantc             C   s   || _ || _dS )zQ
        :returns messages.AffectedHistory: Instance of AffectedHistory.
        N)r   rr   )r   r   rr   r   r   r   r   h  s    z(DeleteParticipantHistoryRequest.__init__c                s8   |j |j| jI d H | _|j|j| jI d H | _d S )N)r   r   r   r^   rr   )r   r    r!   r   r   r   r"   o  s    z'DeleteParticipantHistoryRequest.resolvec             C   s<   dt | jtr| jj n| jt | jtr2| jj n| jdS )Nrq   )r#   r   rr   )r$   r   r   r%   rr   )r   r   r   r   r%   s  s    z'DeleteParticipantHistoryRequest.to_dictc             C   s   dj d| jj | jj fS )Nr&   s   Du6)r'   r   r(   rr   )r   r   r   r   r(   z  s    z&DeleteParticipantHistoryRequest._bytesc             C   s   |j  }|j  }| ||dS )N)r   rr   )r*   )r,   r-   r.   _participantr   r   r   r0     s    z+DeleteParticipantHistoryRequest.from_readerN)r1   r2   r3   r4   r5   r   r"   r%   r(   r7   r0   r   r   r   r   rq   d  s   rq   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-_C4iI,r   )r   
top_msg_idc             C   s   || _ || _dS )zQ
        :returns messages.AffectedHistory: Instance of AffectedHistory.
        N)r   ru   )r   r   ru   r   r   r   r     s    z"DeleteTopicHistoryRequest.__init__c                s   |j |j| jI d H | _d S )N)r   r   r   )r   r    r!   r   r   r   r"     s    z!DeleteTopicHistoryRequest.resolvec             C   s&   dt | jtr| jj n| j| jdS )Nrt   )r#   r   ru   )r$   r   r   r%   ru   )r   r   r   r   r%     s    z!DeleteTopicHistoryRequest.to_dictc             C   s    dj d| jj tjd| jfS )Nr&   s   -_C4z<i)r'   r   r(   rJ   rK   ru   )r   r   r   r   r(     s    z DeleteTopicHistoryRequest._bytesc             C   s   |j  }|j }| ||dS )N)r   ru   )r*   rL   )r,   r-   r.   Z_top_msg_idr   r   r   r0     s    z%DeleteTopicHistoryRequest.from_readerN)r1   r2   r3   r4   r5   rS   r   r"   r%   r(   r7   r0   r   r   r   r   rt     s   rt   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& l   * r   r   r   )r   user_idadmin_rightsrankc             C   s   || _ || _|| _|| _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        N)r   rw   rx   ry   )r   r   rw   rx   ry   r   r   r   r     s    zEditAdminRequest.__init__c                s8   |j |j| jI d H | _|j|j| jI d H | _d S )N)r   r   r   get_input_userrw   )r   r    r!   r   r   r   r"     s    zEditAdminRequest.resolvec             C   sZ   dt | jtr| jj n| jt | jtr2| jj n| jt | jtrL| jj n| j| jdS )Nrv   )r#   r   rw   rx   ry   )r$   r   r   r%   rw   rx   ry   )r   r   r   r   r%     s
    zEditAdminRequest.to_dictc             C   s.   dj d| jj | jj | jj | j| jfS )Nr&   s   <)r'   r   r(   rw   rx   r)   ry   )r   r   r   r   r(     s    zEditAdminRequest._bytesc             C   s0   |j  }|j  }|j  }|j }| ||||dS )N)r   rw   rx   ry   )r*   r+   )r,   r-   r.   _user_idZ_admin_rightsZ_rankr   r   r   r0     s
    zEditAdminRequest.from_readerN)r1   r2   r3   r4   r5   r6   r   r"   r%   r(   r7   r0   r   r   r   r   rv     s   			rv   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- l   * r   r   r   )r   rr   banned_rightsc             C   s   || _ || _|| _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        N)r   rr   r}   )r   r   rr   r}   r   r   r   r     s    zEditBannedRequest.__init__c                s8   |j |j| jI d H | _|j|j| jI d H | _d S )N)r   r   r   r^   rr   )r   r    r!   r   r   r   r"     s    zEditBannedRequest.resolvec             C   sV   dt | jtr| jj n| jt | jtr2| jj n| jt | jtrL| jj n| jdS )Nr|   )r#   r   rr   r}   )r$   r   r   r%   rr   r}   )r   r   r   r   r%     s    zEditBannedRequest.to_dictc             C   s$   dj d| jj | jj | jj fS )Nr&   s   )r'   r   r(   rr   r}   )r   r   r   r   r(     s
    zEditBannedRequest._bytesc             C   s&   |j  }|j  }|j  }| |||dS )N)r   rr   r}   )r*   )r,   r-   r.   rs   Z_banned_rightsr   r   r   r0     s    zEditBannedRequest.from_readerN)r1   r2   r3   r4   r5   r   r"   r%   r(   r7   r0   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 l   * r   r   r   )r   rw   passwordc             C   s   || _ || _|| _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        N)r   rw   r   )r   r   rw   r   r   r   r   r     s    zEditCreatorRequest.__init__c                s8   |j |j| jI d H | _|j|j| jI d H | _d S )N)r   r   r   rz   rw   )r   r    r!   r   r   r   r"     s    zEditCreatorRequest.resolvec             C   sV   dt | jtr| jj n| jt | jtr2| jj n| jt | jtrL| jj n| jdS )Nr~   )r#   r   rw   r   )r$   r   r   r%   rw   r   )r   r   r   r   r%     s    zEditCreatorRequest.to_dictc             C   s$   dj d| jj | jj | jj fS )Nr&   s   8)r'   r   r(   rw   r   )r   r   r   r   r(     s
    zEditCreatorRequest._bytesc             C   s&   |j  }|j  }|j  }| |||dS )N)r   rw   r   )r*   )r,   r-   r.   r{   Z	_passwordr   r   r   r0     s    zEditCreatorRequest.from_readerN)r1   r2   r3   r4   r5   r   r"   r%   r(   r7   r0   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 l   * Nr   )r   topic_idr:   rV   closedhiddenc             C   s(   || _ || _|| _|| _|| _|| _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        N)r   r   r:   rV   r   r   )r   r   r   r:   rV   r   r   r   r   r   r   +  s    zEditForumTopicRequest.__init__c                s   |j |j| jI d H | _d S )N)r   r   r   )r   r    r!   r   r   r   r"   6  s    zEditForumTopicRequest.resolvec             C   s6   dt | jtr| jj n| j| j| j| j| j| jdS )Nr   )r#   r   r   r:   rV   r   r   )	r$   r   r   r%   r   r:   rV   r   r   )r   r   r   r   r%   9  s    zEditForumTopicRequest.to_dictc          
   C   s   dj dtjd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | jd krPdndB | jd krbdnd	B | jj tjd
| j	| jd ks| jdkrdn
| j
| j| jd ks| jdkrdntjd| j| jd krdn| jrdnd| jd krdn| jrdndfS )Nr&   s   z<IFr   rC   rD   rG   rE   z<iz<qs   urs   7y)r'   rJ   rK   r:   rV   r   r   r   r(   r   r)   )r   r   r   r   r(   D  s    b"$zEditForumTopicRequest._bytesc       	      C   s   |j  }|j }|j  }|d@ r*|j }nd }|d@ r@|j }nd }|d@ rV|j }nd }|d@ rl|j }nd }| ||||||dS )NrC   rD   rG   rE   )r   r   r:   rV   r   r   )rL   r*   r+   r_   tgread_bool)	r,   r-   rN   r.   	_topic_idrP   r`   _closedZ_hiddenr   r   r   r0   P  s     



z!EditForumTopicRequest.from_reader)NNNN)r1   r2   r3   r4   r5   rS   r   r6   rM   r   r"   r%   r(   r7   r0   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?Xl   gk r   r   )r   r@   rA   c             C   s   || _ || _|| _dS )z?
        :returns Bool: This type has no constructors.
        N)r   r@   rA   )r   r   r@   rA   r   r   r   r   m  s    zEditLocationRequest.__init__c                s   |j |j| jI d H | _d S )N)r   r   r   )r   r    r!   r   r   r   r"   u  s    zEditLocationRequest.resolvec             C   s@   dt | jtr| jj n| jt | jtr2| jj n| j| jdS )Nr   )r#   r   r@   rA   )r$   r   r   r%   r@   rA   )r   r   r   r   r%   x  s    zEditLocationRequest.to_dictc             C   s&   dj d| jj | jj | j| jfS )Nr&   s   m?X)r'   r   r(   r@   r)   rA   )r   r   r   r   r(     s
    zEditLocationRequest._bytesc             C   s&   |j  }|j  }|j }| |||dS )N)r   r@   rA   )r*   r+   )r,   r-   r.   rQ   rR   r   r   r   r0     s    zEditLocationRequest.from_readerN)r1   r2   r3   r4   r5   r6   r   r"   r%   r(   r7   r0   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 l   * r   r   )r   photoc             C   s   || _ || _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        N)r   r   )r   r   r   r   r   r   r     s    zEditPhotoRequest.__init__c                s,   |j |j| jI d H | _|j| j| _d S )N)r   r   r   Zget_input_chat_photor   )r   r    r!   r   r   r   r"     s    zEditPhotoRequest.resolvec             C   s<   dt | jtr| jj n| jt | jtr2| j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j d| jj | jj fS )Nr&   s   W.)r'   r   r(   r   )r   r   r   r   r(     s    zEditPhotoRequest._bytesc             C   s   |j  }|j  }| ||dS )N)r   r   )r*   )r,   r-   r.   Z_photor   r   r   r0     s    zEditPhotoRequest.from_readerN)r1   r2   r3   r4   r5   r   r"   r%   r(   r7   r0   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 )EditTitleRequestimVl   * r   )r   r:   c             C   s   || _ || _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        N)r   r:   )r   r   r:   r   r   r   r     s    zEditTitleRequest.__init__c                s   |j |j| jI d H | _d S )N)r   r   r   )r   r    r!   r   r   r   r"     s    zEditTitleRequest.resolvec             C   s&   dt | jtr| jj n| j| jdS )Nr   )r#   r   r:   )r$   r   r   r%   r:   )r   r   r   r   r%     s    zEditTitleRequest.to_dictc             C   s   dj d| jj | j| jfS )Nr&   s   mV)r'   r   r(   r)   r:   )r   r   r   r   r(     s    zEditTitleRequest._bytesc             C   s   |j  }|j }| ||dS )N)r   r:   )r*   r+   )r,   r-   r.   rP   r   r   r   r0     s    zEditTitleRequest.from_readerN)r1   r2   r3   r4   r5   r6   r   r"   r%   r(   r7   r0   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   rh   groupedthreadc             C   s   || _ || _|| _|| _dS )zP
        :returns ExportedMessageLink: Instance of ExportedMessageLink.
        N)r   rh   r   r   )r   r   rh   r   r   r   r   r   r     s    z!ExportMessageLinkRequest.__init__c                s   |j |j| jI d H | _d S )N)r   r   r   )r   r    r!   r   r   r   r"     s    z ExportMessageLinkRequest.resolvec             C   s.   dt | jtr| jj n| j| j| j| jdS )Nr   )r#   r   rh   r   r   )r$   r   r   r%   rh   r   r   )r   r   r   r   r%     s
    z ExportMessageLinkRequest.to_dictc             C   s^   dj dtjd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | jj tjd| jfS )	Nr&   s   ?z<IFr   rC   rD   z<i)r'   rJ   rK   r   r   r   r(   rh   )r   r   r   r   r(     s
    >zExportMessageLinkRequest._bytesc             C   s@   |j  }t|d@ }t|d@ }|j }|j  }| ||||dS )NrC   rD   )r   rh   r   r   )rL   rM   r*   )r,   r-   rN   Z_grouped_threadr.   ro   r   r   r   r0     s    z$ExportMessageLinkRequest.from_reader)NN)r1   r2   r3   r4   r5   rS   r   rM   r   r"   r%   r(   r7   r0   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   qrd   min_idlimitevents_filteradminsc             C   s.   || _ || _|| _|| _|| _|| _|| _dS )zQ
        :returns channels.AdminLogResults: Instance of AdminLogResults.
        N)r   r   rd   r   r   r   r   )r   r   r   rd   r   r   r   r   r   r   r   r     s    zGetAdminLogRequest.__init__c                sZ   |j |j| jI d H | _| jrVg }x*| jD ] }|j|j|j|I d H  q,W || _d S )N)r   r   r   r   rn   rz   )r   r    r!   _tmprp   r   r   r   r"     s     zGetAdminLogRequest.resolvec          	   C   sh   dt | jtr| jj n| j| j| j| j| jt | jtrB| jj n| j| j	d krTg ndd | j	D dS )Nr   c             S   s"   g | ]}t |tr|j n|qS r   )r$   r   r%   )ri   rj   r   r   r   
<listcomp>%  s    z.GetAdminLogRequest.to_dict.<locals>.<listcomp>)r#   r   r   rd   r   r   r   r   )
r$   r   r   r%   r   rd   r   r   r   r   )r   r   r   r   r%     s    zGetAdminLogRequest.to_dictc             C   s   dj dtjd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | jj | j| j| jd ksj| jdkrndn| jj | jd ks| jdkrdn.dj dtjd	t	| jdj d
d | jD ftjd| j
tjd| jtjd	| jf	S )Nr&   s   3z<IFr   rC   rD   s   ĵz<ic             s   s   | ]}|j  V  qd S )N)r(   )ri   rj   r   r   r   rk   /  s    z,GetAdminLogRequest._bytes.<locals>.<genexpr>z<q)r'   rJ   rK   r   r   r   r(   r)   r   rl   rd   r   r   )r   r   r   r   r(   (  s    >
 FzGetAdminLogRequest._bytesc          	   C   s   |j  }|j }|j }|d@ r*|j }nd }|d@ rl|j   g }x,t|j  D ]}|j }|j| qPW nd }|j }	|j }
|j  }| |||	|
|||dS )NrC   rD   )r   r   rd   r   r   r   r   )rL   r*   r+   rm   rn   r_   )r,   r-   rN   r.   _qZ_events_filterZ_adminsr#   rp   rf   Z_min_id_limitr   r   r   r0   5  s"    
zGetAdminLogRequest.from_reader)NN)r1   r2   r3   r4   r5   r6   rS   r   r   r   r"   r%   r(   r7   r0   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 l   K3 N)by_locationcheck_limitfor_personalc             C   s   || _ || _|| _dS )zP
        :returns messages.Chats: Instance of either Chats, ChatsSlice.
        N)r   r   r   )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   r   r%   Z  s    z'GetAdminedPublicChannelsRequest.to_dictc             C   sf   dj dtjd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | jd ksV| jdkrZdndB fS )	Nr&   s   6z<IFr   rC   rD   rG   )r'   rJ   rK   r   r   r   )r   r   r   r   r(   b  s    z&GetAdminedPublicChannelsRequest._bytesc             C   s:   |j  }t|d@ }t|d@ }t|d@ }| |||dS )NrC   rD   rG   )r   r   r   )rL   rM   )r,   r-   rN   Z_by_locationZ_check_limitZ_for_personalr   r   r   r0   h  s
    z+GetAdminedPublicChannelsRequest.from_reader)NNN)r1   r2   r3   r4   r5   r   rM   r   r%   r(   r7   r0   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%l   K3 Nr   )r   c             C   s
   || _ dS )zP
        :returns messages.Chats: Instance of either Chats, ChatsSlice.
        N)r   )r   r   r   r   r   r   v  s    z)GetChannelRecommendationsRequest.__init__c                s$   | j r |j|j| j I d H | _ d S )N)r   r   r   )r   r    r!   r   r   r   r"   |  s    z(GetChannelRecommendationsRequest.resolvec             C   s"   dt | jtr| jj n| jdS )Nr   )r#   r   )r$   r   r   r%   )r   r   r   r   r%     s    z(GetChannelRecommendationsRequest.to_dictc             C   sN   dj dtjd| jd ks | jdkr$dnd| jd ks<| jdkr@dn| jj fS )Nr&   s   B%z<IFr   rC   )r'   rJ   rK   r   r(   )r   r   r   r   r(     s    "z'GetChannelRecommendationsRequest._bytesc             C   s(   |j  }|d@ r|j }nd }| |dS )NrC   )r   )rL   r*   )r,   r-   rN   r.   r   r   r   r0     s
    
z,GetChannelRecommendationsRequest.from_reader)N)r1   r2   r3   r4   r5   r   r   r"   r%   r(   r7   r0   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
l   K3 r   )rh   c             C   s
   || _ dS )zP
        :returns messages.Chats: Instance of either Chats, ChatsSlice.
        N)rh   )r   rh   r   r   r   r     s    zGetChannelsRequest.__init__c                s:   g }x*| j D ] }|j|j|j|I d H  qW || _ d S )N)rh   rn   r   r   )r   r    r!   r   rp   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|j n|qS r   )r$   r   r%   )ri   rj   r   r   r   r     s    z.GetChannelsRequest.to_dict.<locals>.<listcomp>)r#   rh   )rh   )r   r   r   r   r%     s    zGetChannelsRequest.to_dictc             C   s2   dj ddtjdt| jdj dd | jD fS )Nr&   s   k
s   ĵz<ic             s   s   | ]}|j  V  qd S )N)r(   )ri   rj   r   r   r   rk     s    z,GetChannelsRequest._bytes.<locals>.<genexpr>)r'   rJ   rK   rl   rh   )r   r   r   r   r(     s    zGetChannelsRequest._bytesc             C   s>   |j   g }x&t|j  D ]}|j }|j| qW | |dS )N)rh   )rL   rm   r*   rn   )r,   r-   ro   r#   rp   r   r   r   r0     s    zGetChannelsRequest.from_readerN)r1   r2   r3   r4   r5   r   r   r"   r%   r(   r7   r0   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`l   >: Nr   )r   offset_date	offset_idoffset_topicr   r   c             C   s(   || _ || _|| _|| _|| _|| _dS )zI
        :returns messages.ForumTopics: Instance of ForumTopics.
        N)r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r     s    zGetForumTopicsRequest.__init__c                s   |j |j| jI d H | _d S )N)r   r   r   )r   r    r!   r   r   r   r"     s    zGetForumTopicsRequest.resolvec             C   s6   dt | jtr| j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j dtjd| jd ks | jdkr$dnd| jj | jd ksD| jdkrHdn
| j| j| j| jtjd| j	tjd| j
tjd| jfS )Nr&   s   `z<IFr   rC   z<i)r'   rJ   rK   r   r   r(   r)   Zserialize_datetimer   r   r   r   )r   r   r   r   r(     s    ""
zGetForumTopicsRequest._bytesc       	      C   sZ   |j  }|j }|d@ r"|j }nd }|j }|j  }|j  }|j  }| ||||||dS )NrC   )r   r   r   r   r   r   )rL   r*   r+   Ztgread_date)	r,   r-   rN   r.   r   Z_offset_date
_offset_idZ_offset_topicr   r   r   r   r0     s    
z!GetForumTopicsRequest.from_reader)N)r1   r2   r3   r4   r5   r   r	   rS   r6   r   r"   r%   r(   r7   r0   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 l   >: r   )r   topicsc             C   s   || _ || _dS )zI
        :returns messages.ForumTopics: Instance of ForumTopics.
        N)r   r   )r   r   r   r   r   r   r     s    z"GetForumTopicsByIDRequest.__init__c                s   |j |j| jI d H | _d S )N)r   r   r   )r   r    r!   r   r   r   r"     s    z!GetForumTopicsByIDRequest.resolvec             C   s<   dt | jtr| j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j d| jj dtjdt| jdj dd | jD fS )Nr&   s   s   ĵz<ic             s   s   | ]}t jd |V  qdS )z<iN)rJ   rK   )ri   rj   r   r   r   rk     s    z3GetForumTopicsByIDRequest._bytes.<locals>.<genexpr>)r'   r   r(   rJ   rK   rl   r   )r   r   r   r   r(     s    z GetForumTopicsByIDRequest._bytesc             C   sH   |j  }|j  g }x&t|j D ]}|j }|j| q"W | ||dS )N)r   r   )r*   rL   rm   rn   )r,   r-   r.   Z_topicsr#   rp   r   r   r   r0     s    z%GetForumTopicsByIDRequest.from_readerN)r1   r2   r3   r4   r5   r   rS   r   r"   r%   r(   r7   r0   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   )r   c             C   s
   || _ dS )zC
        :returns messages.ChatFull: Instance of ChatFull.
        N)r   )r   r   r   r   r   r   %  s    zGetFullChannelRequest.__init__c                s   |j |j| jI d H | _d S )N)r   r   r   )r   r    r!   r   r   r   r"   +  s    zGetFullChannelRequest.resolvec             C   s"   dt | jtr| jj n| jdS )Nr   )r#   r   )r$   r   r   r%   )r   r   r   r   r%   .  s    zGetFullChannelRequest.to_dictc             C   s   dj d| jj fS )Nr&   s   	js)r'   r   r(   )r   r   r   r   r(   4  s    zGetFullChannelRequest._bytesc             C   s   |j  }| |dS )N)r   )r*   )r,   r-   r.   r   r   r   r0   :  s    z!GetFullChannelRequest.from_readerN)r1   r2   r3   r4   r5   r   r"   r%   r(   r7   r0   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 l   K3 c             C   s   ddiS )Nr#   r   r   )r   r   r   r   r%   D  s    z%GetGroupsForDiscussionRequest.to_dictc             C   s
   dj dS )Nr&      x)r   )r'   )r   r   r   r   r(   I  s    z$GetGroupsForDiscussionRequest._bytesc             C   s   |  S )Nr   )r,   r-   r   r   r   r0   N  s    z)GetGroupsForDiscussionRequest.from_readerN)	r1   r2   r3   r4   r5   r%   r(   r7   r0   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j dS )Nr&      1)r   )r'   )r   r   r   r   r(   \  s    z!GetInactiveChannelsRequest._bytesc             C   s   |  S )Nr   )r,   r-   r   r   r   r0   a  s    z&GetInactiveChannelsRequest.from_readerN)	r1   r2   r3   r4   r5   r%   r(   r7   r0   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 l   K3 )offsetc             C   s
   || _ dS )zP
        :returns messages.Chats: Instance of either Chats, ChatsSlice.
        N)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j dtjd| jfS )Nr&   s   Az<i)r'   rJ   rK   r   )r   r   r   r   r(   v  s    zGetLeftChannelsRequest._bytesc             C   s   |j  }| |dS )N)r   )rL   )r,   r-   _offsetr   r   r   r0   |  s    z"GetLeftChannelsRequest.from_readerN)r1   r2   r3   r4   r5   rS   r   r%   r(   r7   r0   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   #[ l   ^h) r   r   )r   rh   c             C   s   || _ || _dS )z
        :returns messages.Messages: Instance of either Messages, MessagesSlice, ChannelMessages, MessagesNotModified.
        N)r   rh   )r   r   rh   r   r   r   r     s    zGetMessagesRequest.__init__c                sH   |j |j| jI d H | _g }x| jD ]}|j|j| q&W || _d S )N)r   r   r   rh   rn   Zget_input_message)r   r    r!   r   rp   r   r   r   r"     s
    zGetMessagesRequest.resolvec             C   s>   dt | jtr| jj n| j| jd kr*g ndd | jD dS )Nr   c             S   s"   g | ]}t |tr|j n|qS r   )r$   r   r%   )ri   rj   r   r   r   r     s    z.GetMessagesRequest.to_dict.<locals>.<listcomp>)r#   r   rh   )r$   r   r   r%   rh   )r   r   r   r   r%     s    zGetMessagesRequest.to_dictc             C   s:   dj d| jj dtjdt| jdj dd | jD fS )Nr&   s   #s   ĵz<ic             s   s   | ]}|j  V  qd S )N)r(   )ri   rj   r   r   r   rk     s    z,GetMessagesRequest._bytes.<locals>.<genexpr>)r'   r   r(   rJ   rK   rl   rh   )r   r   r   r   r(     s    zGetMessagesRequest._bytesc             C   sH   |j  }|j  g }x&t|j D ]}|j  }|j| q"W | ||dS )N)r   rh   )r*   rL   rm   rn   )r,   r-   r.   ro   r#   rp   r   r   r   r0     s    zGetMessagesRequest.from_readerN)r1   r2   r3   r4   r5   r   r   r"   r%   r(   r7   r0   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   rr   c             C   s   || _ || _dS )zW
        :returns channels.ChannelParticipant: Instance of ChannelParticipant.
        N)r   rr   )r   r   rr   r   r   r   r     s    zGetParticipantRequest.__init__c                s8   |j |j| jI d H | _|j|j| jI d H | _d S )N)r   r   r   r^   rr   )r   r    r!   r   r   r   r"     s    zGetParticipantRequest.resolvec             C   s<   dt | jtr| jj n| jt | jtr2| jj n| jdS )Nr   )r#   r   rr   )r$   r   r   r%   rr   )r   r   r   r   r%     s    zGetParticipantRequest.to_dictc             C   s   dj d| jj | jj fS )Nr&   s   l)r'   r   r(   rr   )r   r   r   r   r(     s    zGetParticipantRequest._bytesc             C   s   |j  }|j  }| ||dS )N)r   rr   )r*   )r,   r-   r.   rs   r   r   r   r0     s    z!GetParticipantRequest.from_readerN)r1   r2   r3   r4   r5   r   r"   r%   r(   r7   r0   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.
        N)r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r     s
    zGetParticipantsRequest.__init__c                s   |j |j| jI d H | _d S )N)r   r   r   )r   r    r!   r   r   r   r"     s    zGetParticipantsRequest.resolvec             C   sH   dt | jtr| jj n| jt | jtr2| jj n| j| j| j| jdS )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j d| jj | jj tjd| jtjd| jtjd| jfS )Nr&   s   wz<iz<q)	r'   r   r(   r   rJ   rK   r   r   r   )r   r   r   r   r(     s    zGetParticipantsRequest._bytesc             C   s:   |j  }|j  }|j }|j }|j }| |||||dS )N)r   r   r   r   r   )r*   rL   r_   )r,   r-   r.   Z_filterr   r   _hashr   r   r   r0     s    z"GetParticipantsRequest.from_readerN)r1   r2   r3   r4   r5   rS   r   r"   r%   r(   r7   r0   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.
        N)r   r   )r   r   r   r   r   r   r     s    zGetSendAsRequest.__init__c                s   |j |j| jI d H | _d S )N)r^   r   r   )r   r    r!   r   r   r   r"     s    zGetSendAsRequest.resolvec             C   s&   dt | jtr| j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j dtjd| jd ks | jdkr$dnd| jj fS )Nr&   s   ?z<IFr   rC   )r'   rJ   rK   r   r   r(   )r   r   r   r   r(     s    "zGetSendAsRequest._bytesc             C   s(   |j  }t|d@ }|j }| ||dS )NrC   )r   r   )rL   rM   r*   )r,   r-   rN   Z_for_paid_reactionsZ_peerr   r   r   r0     s    zGetSendAsRequest.from_reader)N)r1   r2   r3   r4   r5   r   rM   r   r"   r%   r(   r7   r0   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.
        N)r   r   )r   r   r   r   r   r   r   +  s    zInviteToChannelRequest.__init__c                sT   |j |j| jI d H | _g }x*| jD ] }|j|j|j|I d H  q&W || _d S )N)r   r   r   r   rn   rz   )r   r    r!   r   rp   r   r   r   r"   2  s
     zInviteToChannelRequest.resolvec             C   s>   dt | jtr| jj n| j| jd kr*g ndd | jD dS )Nr   c             S   s"   g | ]}t |tr|j n|qS r   )r$   r   r%   )ri   rj   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j d| jj dtjdt| jdj dd | jD fS )Nr&   s   T=s   ĵz<ic             s   s   | ]}|j  V  qd S )N)r(   )ri   rj   r   r   r   rk   E  s    z0InviteToChannelRequest._bytes.<locals>.<genexpr>)r'   r   r(   rJ   rK   rl   r   )r   r   r   r   r(   A  s    zInviteToChannelRequest._bytesc             C   sH   |j  }|j  g }x&t|j D ]}|j  }|j| q"W | ||dS )N)r   r   )r*   rL   rm   rn   )r,   r-   r.   Z_usersr#   rp   r   r   r   r0   H  s    z"InviteToChannelRequest.from_readerN)r1   r2   r3   r4   r5   r   r   r"   r%   r(   r7   r0   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$$l   * r   )r   c             C   s
   || _ dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        N)r   )r   r   r   r   r   r   X  s    zJoinChannelRequest.__init__c                s   |j |j| jI d H | _d S )N)r   r   r   )r   r    r!   r   r   r   r"   ^  s    zJoinChannelRequest.resolvec             C   s"   dt | jtr| jj n| jdS )Nr   )r#   r   )r$   r   r   r%   )r   r   r   r   r%   a  s    zJoinChannelRequest.to_dictc             C   s   dj d| jj fS )Nr&   s   $$)r'   r   r(   )r   r   r   r   r(   g  s    zJoinChannelRequest._bytesc             C   s   |j  }| |dS )N)r   )r*   )r,   r-   r.   r   r   r   r0   m  s    zJoinChannelRequest.from_readerN)r1   r2   r3   r4   r5   r   r"   r%   r(   r7   r0   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 l   * r   )r   c             C   s
   || _ dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        N)r   )r   r   r   r   r   r   w  s    zLeaveChannelRequest.__init__c                s   |j |j| jI d H | _d S )N)r   r   r   )r   r    r!   r   r   r   r"   }  s    zLeaveChannelRequest.resolvec             C   s"   dt | jtr| jj n| jdS )Nr   )r#   r   )r$   r   r   r%   )r   r   r   r   r%     s    zLeaveChannelRequest.to_dictc             C   s   dj d| jj fS )Nr&   s   6)r'   r   r(   )r   r   r   r   r(     s    zLeaveChannelRequest._bytesc             C   s   |j  }| |dS )N)r   )r*   )r,   r-   r.   r   r   r   r0     s    zLeaveChannelRequest.from_readerN)r1   r2   r3   r4   r5   r   r"   r%   r(   r7   r0   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  l   gk r   )r   rd   c             C   s   || _ || _dS )z?
        :returns Bool: This type has no constructors.
        N)r   rd   )r   r   rd   r   r   r   r     s    zReadHistoryRequest.__init__c                s   |j |j| jI d H | _d S )N)r   r   r   )r   r    r!   r   r   r   r"     s    zReadHistoryRequest.resolvec             C   s&   dt | jtr| jj n| j| jdS )Nr   )r#   r   rd   )r$   r   r   r%   rd   )r   r   r   r   r%     s    zReadHistoryRequest.to_dictc             C   s    dj d| jj tjd| jfS )Nr&   s   7Iz<i)r'   r   r(   rJ   rK   rd   )r   r   r   r   r(     s    zReadHistoryRequest._bytesc             C   s   |j  }|j }| ||dS )N)r   rd   )r*   rL   )r,   r-   r.   rf   r   r   r   r0     s    zReadHistoryRequest.from_readerN)r1   r2   r3   r4   r5   rS   r   r"   r%   r(   r7   r0   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 l   gk r   )r   rh   c             C   s   || _ || _dS )z?
        :returns Bool: This type has no constructors.
        N)r   rh   )r   r   rh   r   r   r   r     s    z#ReadMessageContentsRequest.__init__c                s   |j |j| jI d H | _d S )N)r   r   r   )r   r    r!   r   r   r   r"     s    z"ReadMessageContentsRequest.resolvec             C   s<   dt | jtr| jj n| j| jd kr*g n| jd d  dS )Nr   )r#   r   rh   )r$   r   r   r%   rh   )r   r   r   r   r%     s    z"ReadMessageContentsRequest.to_dictc             C   s:   dj d| jj dtjdt| jdj dd | jD fS )Nr&   s   8ܵs   ĵz<ic             s   s   | ]}t jd |V  qdS )z<iN)rJ   rK   )ri   rj   r   r   r   rk     s    z4ReadMessageContentsRequest._bytes.<locals>.<genexpr>)r'   r   r(   rJ   rK   rl   rh   )r   r   r   r   r(     s    z!ReadMessageContentsRequest._bytesc             C   sH   |j  }|j  g }x&t|j D ]}|j }|j| q"W | ||dS )N)r   rh   )r*   rL   rm   rn   )r,   r-   r.   ro   r#   rp   r   r   r   r0     s    z&ReadMessageContentsRequest.from_readerN)r1   r2   r3   r4   r5   r   rS   r   r"   r%   r(   r7   r0   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)l   * Nr   )r   orderforcec             C   s   || _ || _|| _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        N)r   r   r   )r   r   r   r   r   r   r   r     s    z(ReorderPinnedForumTopicsRequest.__init__c                s   |j |j| jI d H | _d S )N)r   r   r   )r   r    r!   r   r   r   r"     s    z'ReorderPinnedForumTopicsRequest.resolvec             C   s@   dt | jtr| jj n| j| jd kr*g n| jd d  | jdS )Nr   )r#   r   r   r   )r$   r   r   r%   r   r   )r   r   r   r   r%     s    z'ReorderPinnedForumTopicsRequest.to_dictc          	   C   s\   dj dtjd| jd ks | jdkr$dnd| jj dtjdt| jdj d	d
 | jD fS )Nr&   s   P)z<IFr   rC   s   ĵz<ic             s   s   | ]}t jd |V  qdS )z<iN)rJ   rK   )ri   rj   r   r   r   rk     s    z9ReorderPinnedForumTopicsRequest._bytes.<locals>.<genexpr>)r'   rJ   rK   r   r   r(   rl   r   )r   r   r   r   r(     s
    "z&ReorderPinnedForumTopicsRequest._bytesc             C   s^   |j  }t|d@ }|j }|j   g }x&t|j  D ]}|j  }|j| q6W | |||dS )NrC   )r   r   r   )rL   rM   r*   rm   rn   )r,   r-   rN   Z_forcer.   _orderr#   rp   r   r   r   r0     s    z+ReorderPinnedForumTopicsRequest.from_reader)N)r1   r2   r3   r4   r5   r   rS   r   rM   r   r"   r%   r(   r7   r0   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 l   gk r   )r   r   c             C   s   || _ || _dS )z?
        :returns Bool: This type has no constructors.
        N)r   r   )r   r   r   r   r   r   r     s    z ReorderUsernamesRequest.__init__c                s   |j |j| jI d H | _d S )N)r   r   r   )r   r    r!   r   r   r   r"     s    zReorderUsernamesRequest.resolvec             C   s<   dt | jtr| j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j d jj dtjdt jdj  fdd jD fS )Nr&   s   \s   ĵz<ic             3   s   | ]} j |V  qd S )N)r)   )ri   rj   )r   r   r   rk   $  s    z1ReorderUsernamesRequest._bytes.<locals>.<genexpr>)r'   r   r(   rJ   rK   rl   r   )r   r   )r   r   r(      s    zReorderUsernamesRequest._bytesc             C   sH   |j  }|j  g }x&t|j D ]}|j }|j| q"W | ||dS )N)r   r   )r*   rL   rm   r+   rn   )r,   r-   r.   r   r#   rp   r   r   r   r0   '  s    z#ReorderUsernamesRequest.from_readerN)r1   r2   r3   r4   r5   r   r6   r   r"   r%   r(   r7   r0   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 l   gk r   )r   msg_idc             C   s   || _ || _dS )z?
        :returns Bool: This type has no constructors.
        N)r   r   )r   r   r   r   r   r   r   7  s    z+ReportAntiSpamFalsePositiveRequest.__init__c                s   |j |j| jI d H | _d S )N)r   r   r   )r   r    r!   r   r   r   r"   >  s    z*ReportAntiSpamFalsePositiveRequest.resolvec             C   s&   dt | jtr| j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j d| jj tjd| jfS )Nr&   s   Pz<i)r'   r   r(   rJ   rK   r   )r   r   r   r   r(   H  s    z)ReportAntiSpamFalsePositiveRequest._bytesc             C   s   |j  }|j }| ||dS )N)r   r   )r*   rL   )r,   r-   r.   Z_msg_idr   r   r   r0   O  s    z.ReportAntiSpamFalsePositiveRequest.from_readerN)r1   r2   r3   r4   r5   rS   r   r"   r%   r(   r7   r0   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 l   gk r   r   )r   rr   rh   c             C   s   || _ || _|| _dS )z?
        :returns Bool: This type has no constructors.
        N)r   rr   rh   )r   r   rr   rh   r   r   r   r   Z  s    zReportSpamRequest.__init__c                s8   |j |j| jI d H | _|j|j| jI d H | _d S )N)r   r   r   r^   rr   )r   r    r!   r   r   r   r"   b  s    zReportSpamRequest.resolvec             C   sV   dt | jtr| jj n| jt | jtr2| jj n| j| jd krDg n| jd d  dS )Nr   )r#   r   rr   rh   )r$   r   r   r%   rr   rh   )r   r   r   r   r%   f  s    zReportSpamRequest.to_dictc          	   C   sB   dj d| jj | jj dtjdt| jdj dd | jD fS )Nr&   s   Js   ĵz<ic             s   s   | ]}t jd |V  qdS )z<iN)rJ   rK   )ri   rj   r   r   r   rk   s  s    z+ReportSpamRequest._bytes.<locals>.<genexpr>)r'   r   r(   rr   rJ   rK   rl   rh   )r   r   r   r   r(   n  s
    zReportSpamRequest._bytesc             C   sR   |j  }|j  }|j  g }x&t|j D ]}|j }|j| q*W | |||dS )N)r   rr   rh   )r*   rL   rm   rn   )r,   r-   r.   rs   ro   r#   rp   r   r   r   r0   v  s    zReportSpamRequest.from_readerN)r1   r2   r3   r4   r5   r   rS   r   r"   r%   r(   r7   r0   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 l   * r   )r   
restrictedc             C   s   || _ || _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        N)r   r   )r   r   r   r   r   r   r     s    z)RestrictSponsoredMessagesRequest.__init__c                s   |j |j| jI d H | _d S )N)r   r   r   )r   r    r!   r   r   r   r"     s    z(RestrictSponsoredMessagesRequest.resolvec             C   s&   dt | jtr| j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j d| jj | jrdndfS )Nr&   s   s   urs   7y)r'   r   r(   r   )r   r   r   r   r(     s    z'RestrictSponsoredMessagesRequest._bytesc             C   s   |j  }|j }| ||dS )N)r   r   )r*   r   )r,   r-   r.   Z_restrictedr   r   r   r0     s    z,RestrictSponsoredMessagesRequest.from_readerN)r1   r2   r3   r4   r5   rM   r   r"   r%   r(   r7   r0   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   {?# l   ^h) r   )hashtagoffset_rateoffset_peerr   r   c             C   s"   || _ || _|| _|| _|| _dS )z
        :returns messages.Messages: Instance of either Messages, MessagesSlice, ChannelMessages, MessagesNotModified.
        N)r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r     s
    zSearchPostsRequest.__init__c                s   |j |j| jI d H | _d S )N)r^   r   r   )r   r    r!   r   r   r   r"     s    zSearchPostsRequest.resolvec             C   s2   d| j | jt| jtr | j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j d| j| jtjd| j| jj tjd| jtjd| j	fS )Nr&   s   {z<i)
r'   r)   r   rJ   rK   r   r   r(   r   r   )r   r   r   r   r(     s    
zSearchPostsRequest._bytesc             C   s:   |j  }|j }|j }|j }|j }| |||||dS )N)r   r   r   r   r   )r+   rL   r*   )r,   r-   Z_hashtagZ_offset_rateZ_offset_peerr   r   r   r   r   r0     s    zSearchPostsRequest.from_readerN)r1   r2   r3   r4   r5   r6   rS   r   r"   r%   r(   r7   r0   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 l   * r   )r   boostsc             C   s   || _ || _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        N)r   r   )r   r   r   r   r   r   r     s    z.SetBoostsToUnblockRestrictionsRequest.__init__c                s   |j |j| jI d H | _d S )N)r   r   r   )r   r    r!   r   r   r   r"     s    z-SetBoostsToUnblockRestrictionsRequest.resolvec             C   s&   dt | jtr| jj n| j| jdS )Nr   )r#   r   r   )r$   r   r   r%   r   )r   r   r   r   r%     s    z-SetBoostsToUnblockRestrictionsRequest.to_dictc             C   s    dj d| jj tjd| jfS )Nr&   s   9z<i)r'   r   r(   rJ   rK   r   )r   r   r   r   r(     s    z,SetBoostsToUnblockRestrictionsRequest._bytesc             C   s   |j  }|j }| ||dS )N)r   r   )r*   rL   )r,   r-   r.   Z_boostsr   r   r   r0     s    z1SetBoostsToUnblockRestrictionsRequest.from_readerN)r1   r2   r3   r4   r5   rS   r   r"   r%   r(   r7   r0   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 )SetDiscussionGroupRequesti+X@l   gk r   )r<   groupc             C   s   || _ || _dS )z?
        :returns Bool: This type has no constructors.
        N)r<   r   )r   r<   r   r   r   r   r     s    z"SetDiscussionGroupRequest.__init__c                s8   |j |j| jI d H | _|j |j| jI d H | _d S )N)r   r   r<   r   )r   r    r!   r   r   r   r"     s    z!SetDiscussionGroupRequest.resolvec             C   s<   dt | jtr| jj n| jt | jtr2| jj n| jdS )Nr   )r#   r<   r   )r$   r<   r   r%   r   )r   r   r   r   r%     s    z!SetDiscussionGroupRequest.to_dictc             C   s   dj d| jj | jj fS )Nr&   s   +X@)r'   r<   r(   r   )r   r   r   r   r(     s    z SetDiscussionGroupRequest._bytesc             C   s   |j  }|j  }| ||dS )N)r<   r   )r*   )r,   r-   rO   _groupr   r   r   r0     s    z%SetDiscussionGroupRequest.from_readerN)r1   r2   r3   r4   r5   r   r"   r%   r(   r7   r0   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 )SetEmojiStickersRequesti0<l   gk r   r   )r   
stickersetc             C   s   || _ || _dS )z?
        :returns Bool: This type has no constructors.
        N)r   r   )r   r   r   r   r   r   r      s    z SetEmojiStickersRequest.__init__c                s   |j |j| jI d H | _d S )N)r   r   r   )r   r    r!   r   r   r   r"   '  s    zSetEmojiStickersRequest.resolvec             C   s<   dt | jtr| jj n| jt | jtr2| jj n| jdS )Nr   )r#   r   r   )r$   r   r   r%   r   )r   r   r   r   r%   *  s    zSetEmojiStickersRequest.to_dictc             C   s   dj d| jj | jj fS )Nr&   s   0<)r'   r   r(   r   )r   r   r   r   r(   1  s    zSetEmojiStickersRequest._bytesc             C   s   |j  }|j  }| ||dS )N)r   r   )r*   )r,   r-   r.   _stickersetr   r   r   r0   8  s    z#SetEmojiStickersRequest.from_readerN)r1   r2   r3   r4   r5   r   r"   r%   r(   r7   r0   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 )SetStickersRequestl   $U l   gk r   r   )r   r   c             C   s   || _ || _dS )z?
        :returns Bool: This type has no constructors.
        N)r   r   )r   r   r   r   r   r   r   C  s    zSetStickersRequest.__init__c                s   |j |j| jI d H | _d S )N)r   r   r   )r   r    r!   r   r   r   r"   J  s    zSetStickersRequest.resolvec             C   s<   dt | jtr| jj n| jt | jtr2| jj n| jdS )Nr   )r#   r   r   )r$   r   r   r%   r   )r   r   r   r   r%   M  s    zSetStickersRequest.to_dictc             C   s   dj d| jj | jj fS )Nr&   s   )r'   r   r(   r   )r   r   r   r   r(   T  s    zSetStickersRequest._bytesc             C   s   |j  }|j  }| ||dS )N)r   r   )r*   )r,   r-   r.   r   r   r   r   r0   [  s    zSetStickersRequest.from_readerN)r1   r2   r3   r4   r5   r   r"   r%   r(   r7   r0   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 )ToggleAntiSpamRequestihl   * r   )r   enabledc             C   s   || _ || _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        N)r   r   )r   r   r   r   r   r   r   f  s    zToggleAntiSpamRequest.__init__c                s   |j |j| jI d H | _d S )N)r   r   r   )r   r    r!   r   r   r   r"   m  s    zToggleAntiSpamRequest.resolvec             C   s&   dt | jtr| jj n| j| jdS )Nr   )r#   r   r   )r$   r   r   r%   r   )r   r   r   r   r%   p  s    zToggleAntiSpamRequest.to_dictc             C   s    dj d| jj | jrdndfS )Nr&   s   hs   urs   7y)r'   r   r(   r   )r   r   r   r   r(   w  s    zToggleAntiSpamRequest._bytesc             C   s   |j  }|j }| ||dS )N)r   r   )r*   r   )r,   r-   r.   _enabledr   r   r   r0   ~  s    z!ToggleAntiSpamRequest.from_readerN)r1   r2   r3   r4   r5   rM   r   r"   r%   r(   r7   r0   r   r   r   r   r   b  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 )ToggleForumRequestl   )SH l   * r   )r   r   c             C   s   || _ || _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        N)r   r   )r   r   r   r   r   r   r     s    zToggleForumRequest.__init__c                s   |j |j| jI d H | _d S )N)r   r   r   )r   r    r!   r   r   r   r"     s    zToggleForumRequest.resolvec             C   s&   dt | jtr| jj n| j| jdS )Nr   )r#   r   r   )r$   r   r   r%   r   )r   r   r   r   r%     s    zToggleForumRequest.to_dictc             C   s    dj d| jj | jrdndfS )Nr&   s   ))s   urs   7y)r'   r   r(   r   )r   r   r   r   r(     s    zToggleForumRequest._bytesc             C   s   |j  }|j }| ||dS )N)r   r   )r*   r   )r,   r-   r.   r   r   r   r   r0     s    zToggleForumRequest.from_readerN)r1   r2   r3   r4   r5   rM   r   r"   r%   r(   r7   r0   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 )ToggleJoinRequestRequesti)Ll   * r   )r   r   c             C   s   || _ || _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        N)r   r   )r   r   r   r   r   r   r     s    z!ToggleJoinRequestRequest.__init__c                s   |j |j| jI d H | _d S )N)r   r   r   )r   r    r!   r   r   r   r"     s    z ToggleJoinRequestRequest.resolvec             C   s&   dt | jtr| jj n| j| jdS )Nr   )r#   r   r   )r$   r   r   r%   r   )r   r   r   r   r%     s    z ToggleJoinRequestRequest.to_dictc             C   s    dj d| jj | jrdndfS )Nr&   s   )Ls   urs   7y)r'   r   r(   r   )r   r   r   r   r(     s    zToggleJoinRequestRequest._bytesc             C   s   |j  }|j }| ||dS )N)r   r   )r*   r   )r,   r-   r.   r   r   r   r   r0     s    z$ToggleJoinRequestRequest.from_readerN)r1   r2   r3   r4   r5   rM   r   r"   r%   r(   r7   r0   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 )ToggleJoinToSendRequestl   I l   * r   )r   r   c             C   s   || _ || _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        N)r   r   )r   r   r   r   r   r   r     s    z ToggleJoinToSendRequest.__init__c                s   |j |j| jI d H | _d S )N)r   r   r   )r   r    r!   r   r   r   r"     s    zToggleJoinToSendRequest.resolvec             C   s&   dt | jtr| jj n| j| jdS )Nr   )r#   r   r   )r$   r   r   r%   r   )r   r   r   r   r%     s    zToggleJoinToSendRequest.to_dictc             C   s    dj d| jj | jrdndfS )Nr&   s   s   urs   7y)r'   r   r(   r   )r   r   r   r   r(     s    zToggleJoinToSendRequest._bytesc             C   s   |j  }|j }| ||dS )N)r   r   )r*   r   )r,   r-   r.   r   r   r   r   r0     s    z#ToggleJoinToSendRequest.from_readerN)r1   r2   r3   r4   r5   rM   r   r"   r%   r(   r7   r0   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 )ToggleParticipantsHiddenRequestiTxnjl   * r   )r   r   c             C   s   || _ || _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        N)r   r   )r   r   r   r   r   r   r     s    z(ToggleParticipantsHiddenRequest.__init__c                s   |j |j| jI d H | _d S )N)r   r   r   )r   r    r!   r   r   r   r"     s    z'ToggleParticipantsHiddenRequest.resolvec             C   s&   dt | jtr| jj n| j| jdS )Nr   )r#   r   r   )r$   r   r   r%   r   )r   r   r   r   r%     s    z'ToggleParticipantsHiddenRequest.to_dictc             C   s    dj d| jj | jrdndfS )Nr&   s   Txnjs   urs   7y)r'   r   r(   r   )r   r   r   r   r(     s    z&ToggleParticipantsHiddenRequest._bytesc             C   s   |j  }|j }| ||dS )N)r   r   )r*   r   )r,   r-   r.   r   r   r   r   r0   
  s    z+ToggleParticipantsHiddenRequest.from_readerN)r1   r2   r3   r4   r5   rM   r   r"   r%   r(   r7   r0   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 )TogglePreHistoryHiddenRequestl   L9wU l   * r   )r   r   c             C   s   || _ || _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        N)r   r   )r   r   r   r   r   r   r     s    z&TogglePreHistoryHiddenRequest.__init__c                s   |j |j| jI d H | _d S )N)r   r   r   )r   r    r!   r   r   r   r"     s    z%TogglePreHistoryHiddenRequest.resolvec             C   s&   dt | jtr| jj n| j| jdS )Nr   )r#   r   r   )r$   r   r   r%   r   )r   r   r   r   r%     s    z%TogglePreHistoryHiddenRequest.to_dictc             C   s    dj d| jj | jrdndfS )Nr&   s   Ls   urs   7y)r'   r   r(   r   )r   r   r   r   r(   &  s    z$TogglePreHistoryHiddenRequest._bytesc             C   s   |j  }|j }| ||dS )N)r   r   )r*   r   )r,   r-   r.   r   r   r   r   r0   -  s    z)TogglePreHistoryHiddenRequest.from_readerN)r1   r2   r3   r4   r5   rM   r   r"   r%   r(   r7   r0   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 )ToggleSignaturesRequestiTAl   * Nr   )r   signatures_enabledprofiles_enabledc             C   s   || _ || _|| _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        N)r   r   r   )r   r   r   r   r   r   r   r   8  s    z ToggleSignaturesRequest.__init__c                s   |j |j| jI d H | _d S )N)r   r   r   )r   r    r!   r   r   r   r"   @  s    zToggleSignaturesRequest.resolvec             C   s*   dt | jtr| jj n| j| j| jdS )Nr   )r#   r   r   r   )r$   r   r   r%   r   r   )r   r   r   r   r%   C  s    zToggleSignaturesRequest.to_dictc             C   sR   dj dtjd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | jj fS )Nr&   s   TAz<IFr   rC   rD   )r'   rJ   rK   r   r   r   r(   )r   r   r   r   r(   K  s    >zToggleSignaturesRequest._bytesc             C   s6   |j  }t|d@ }t|d@ }|j }| |||dS )NrC   rD   )r   r   r   )rL   rM   r*   )r,   r-   rN   Z_signatures_enabledZ_profiles_enabledr.   r   r   r   r0   R  s
    z#ToggleSignaturesRequest.from_reader)NN)r1   r2   r3   r4   r5   r   rM   r   r"   r%   r(   r7   r0   r   r   r   r   r   4  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 )ToggleSlowModeRequestl   [ l   * r   )r   secondsc             C   s   || _ || _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        N)r   r   )r   r   r   r   r   r   r   `  s    zToggleSlowModeRequest.__init__c                s   |j |j| jI d H | _d S )N)r   r   r   )r   r    r!   r   r   r   r"   g  s    zToggleSlowModeRequest.resolvec             C   s&   dt | jtr| jj n| j| jdS )Nr   )r#   r   r   )r$   r   r   r%   r   )r   r   r   r   r%   j  s    zToggleSlowModeRequest.to_dictc             C   s    dj d| jj tjd| jfS )Nr&   s   z<i)r'   r   r(   rJ   rK   r   )r   r   r   r   r(   q  s    zToggleSlowModeRequest._bytesc             C   s   |j  }|j }| ||dS )N)r   r   )r*   rL   )r,   r-   r.   Z_secondsr   r   r   r0   x  s    z!ToggleSlowModeRequest.from_readerN)r1   r2   r3   r4   r5   rS   r   r"   r%   r(   r7   r0   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 )ToggleUsernameRequestiAPl   gk r   )r   r   activec             C   s   || _ || _|| _dS )z?
        :returns Bool: This type has no constructors.
        N)r   r   r   )r   r   r   r   r   r   r   r     s    zToggleUsernameRequest.__init__c                s   |j |j| jI d H | _d S )N)r   r   r   )r   r    r!   r   r   r   r"     s    zToggleUsernameRequest.resolvec             C   s*   dt | jtr| j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ToggleUsernameRequest.to_dictc             C   s*   dj d| jj | j| j| jr"dndfS )Nr&   s   APs   urs   7y)r'   r   r(   r)   r   r   )r   r   r   r   r(     s
    
zToggleUsernameRequest._bytesc             C   s&   |j  }|j }|j }| |||dS )N)r   r   r   )r*   r+   r   )r,   r-   r.   r/   _activer   r   r   r0     s    z!ToggleUsernameRequest.from_readerN)r1   r2   r3   r4   r5   r6   rM   r   r"   r%   r(   r7   r0   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 ) ToggleViewForumAsMessagesRequestl   ;q. l   * r   )r   r   c             C   s   || _ || _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        N)r   r   )r   r   r   r   r   r   r     s    z)ToggleViewForumAsMessagesRequest.__init__c                s   |j |j| jI d H | _d S )N)r   r   r   )r   r    r!   r   r   r   r"     s    z(ToggleViewForumAsMessagesRequest.resolvec             C   s&   dt | jtr| jj n| j| jdS )Nr   )r#   r   r   )r$   r   r   r%   r   )r   r   r   r   r%     s    z(ToggleViewForumAsMessagesRequest.to_dictc             C   s    dj d| jj | jrdndfS )Nr&   s   8s   urs   7y)r'   r   r(   r   )r   r   r   r   r(     s    z'ToggleViewForumAsMessagesRequest._bytesc             C   s   |j  }|j }| ||dS )N)r   r   )r*   r   )r,   r-   r.   r   r   r   r   r0     s    z,ToggleViewForumAsMessagesRequest.from_readerN)r1   r2   r3   r4   r5   rM   r   r"   r%   r(   r7   r0   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 dddZdd	 Z	d
d Z
dd Zedd ZdS )UpdateColorRequestl   q6T1 l   * Nr   )r   for_profilecolorbackground_emoji_idc             C   s   || _ || _|| _|| _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        N)r   r   r   r   )r   r   r   r   r   r   r   r   r     s    zUpdateColorRequest.__init__c                s   |j |j| jI d H | _d S )N)r   r   r   )r   r    r!   r   r   r   r"     s    zUpdateColorRequest.resolvec             C   s.   dt | jtr| j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j dtjd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | jd ksV| jdkrZdndB | jj | jd ks|| jdkrdntjd	| j| jd ks| jdkrdntjd
| jfS )Nr&   s   q6z<IFr   rD   rG   rC   z<iz<q)r'   rJ   rK   r   r   r   r   r(   )r   r   r   r   r(     s    Z$zUpdateColorRequest._bytesc             C   sX   |j  }t|d@ }|j }|d@ r.|j  }nd }|d@ rD|j }nd }| ||||dS )NrD   rG   rC   )r   r   r   r   )rL   rM   r*   r_   )r,   r-   rN   Z_for_profiler.   Z_colorZ_background_emoji_idr   r   r   r0     s    

zUpdateColorRequest.from_reader)NNN)r1   r2   r3   r4   r5   r   rM   rS   r   r"   r%   r(   r7   r0   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 l   * r   r   )r   emoji_statusc             C   s   || _ || _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        N)r   r   )r   r   r   r   r   r   r    	  s    z!UpdateEmojiStatusRequest.__init__c                s   |j |j| jI d H | _d S )N)r   r   r   )r   r    r!   r   r   r   r"   	  s    z UpdateEmojiStatusRequest.resolvec             C   s<   dt | jtr| jj n| jt | jtr2| jj n| jdS )Nr   )r#   r   r   )r$   r   r   r%   r   )r   r   r   r   r%   
	  s    z UpdateEmojiStatusRequest.to_dictc             C   s   dj d| jj | jj fS )Nr&   s   )r'   r   r(   r   )r   r   r   r   r(   	  s    zUpdateEmojiStatusRequest._bytesc             C   s   |j  }|j  }| ||dS )N)r   r   )r*   )r,   r-   r.   Z_emoji_statusr   r   r   r0   	  s    z$UpdateEmojiStatusRequest.from_readerN)r1   r2   r3   r4   r5   r   r"   r%   r(   r7   r0   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 l   * r   )r   send_paid_messages_starsc             C   s   || _ || _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        N)r   r   )r   r   r   r   r   r   r   #	  s    z'UpdatePaidMessagesPriceRequest.__init__c                s   |j |j| jI d H | _d S )N)r   r   r   )r   r    r!   r   r   r   r"   *	  s    z&UpdatePaidMessagesPriceRequest.resolvec             C   s&   dt | jtr| jj n| j| jdS )Nr   )r#   r   r   )r$   r   r   r%   r   )r   r   r   r   r%   -	  s    z&UpdatePaidMessagesPriceRequest.to_dictc             C   s    dj d| jj tjd| jfS )Nr&   s   ?ez<q)r'   r   r(   rJ   rK   r   )r   r   r   r   r(   4	  s    z%UpdatePaidMessagesPriceRequest._bytesc             C   s   |j  }|j }| ||dS )N)r   r   )r*   r_   )r,   r-   r.   Z_send_paid_messages_starsr   r   r   r0   ;	  s    z*UpdatePaidMessagesPriceRequest.from_readerN)r1   r2   r3   r4   r5   rS   r   r"   r%   r(   r7   r0   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 )UpdatePinnedForumTopicRequesti&-ll   * r   )r   r   pinnedc             C   s   || _ || _|| _dS )z
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        N)r   r   r   )r   r   r   r   r   r   r   r   F	  s    z&UpdatePinnedForumTopicRequest.__init__c                s   |j |j| jI d H | _d S )N)r   r   r   )r   r    r!   r   r   r   r"   N	  s    z%UpdatePinnedForumTopicRequest.resolvec             C   s*   dt | jtr| jj n| j| j| jdS )Nr   )r#   r   r   r   )r$   r   r   r%   r   r   )r   r   r   r   r%   Q	  s    z%UpdatePinnedForumTopicRequest.to_dictc             C   s,   dj d| jj tjd| j| jr$dndfS )Nr&   s   &-lz<is   urs   7y)r'   r   r(   rJ   rK   r   r   )r   r   r   r   r(   Y	  s
    z$UpdatePinnedForumTopicRequest._bytesc             C   s&   |j  }|j }|j }| |||dS )N)r   r   r   )r*   rL   r   )r,   r-   r.   r   Z_pinnedr   r   r   r0   a	  s    z)UpdatePinnedForumTopicRequest.from_readerN)r1   r2   r3   r4   r5   rS   rM   r   r"   r%   r(   r7   r0   r   r   r   r   r   B	  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 )UpdateUsernameRequesti޳5l   gk r   )r   r   c             C   s   || _ || _dS )z?
        :returns Bool: This type has no constructors.
        N)r   r   )r   r   r   r   r   r   r   m	  s    zUpdateUsernameRequest.__init__c                s   |j |j| jI d H | _d S )N)r   r   r   )r   r    r!   r   r   r   r"   t	  s    zUpdateUsernameRequest.resolvec             C   s&   dt | jtr| jj n| j| jdS )Nr   )r#   r   r   )r$   r   r   r%   r   )r   r   r   r   r%   w	  s    zUpdateUsernameRequest.to_dictc             C   s   dj d| jj | j| jfS )Nr&   s   ޳5)r'   r   r(   r)   r   )r   r   r   r   r(   ~	  s    zUpdateUsernameRequest._bytesc             C   s   |j  }|j }| ||dS )N)r   r   )r*   r+   )r,   r-   r.   r/   r   r   r   r0   	  s    z!UpdateUsernameRequest.from_readerN)r1   r2   r3   r4   r5   r6   r   r"   r%   r(   r7   r0   r   r   r   r   r   i	  s   r   )X__doc__Ztl.tlobjectr   r   typingr   r   r   r   r\   rJ   r	   Ztl.typesr
   r   r   r   r   r   r   r   r   r   r   r   r   r   r8   r9   rT   ra   rb   rc   rg   rq   rt   rv   r|   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   <module>   s   <#EA)($#,((B'$#,K$&(9(-$/%-#(.(#-#/#$########(#'#3##'