3
uQh                 @   sd  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 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Z,G d7d8 d8eZ-G d9d: d:eZ.G d;d< d<eZ/G d=d> d>eZ0G d?d@ d@eZ1G dAdB dBeZ2G dCdD dDeZ3dS )EzBFile generated by TLObjects' generator. All changes will be ERASED   )TLObject)	TLRequest    )OptionalListUnionTYPE_CHECKINGN)datetime)	TypeBotCommandTypeBotCommandScopeTypeBotMenuButtonTypeChatAdminRightsTypeDataJSONTypeEmojiStatusTypeInputMediaTypeInputPeerTypeInputUserc               @   sJ   e Zd ZdZdZdeddddZdd	 Zd
d Zdd Z	e
dd ZdS )AddPreviewMediaRequestiZi-*Vr   r   )bot	lang_codemediac             C   s   || _ || _|| _dS )zH
        :returns BotPreviewMedia: Instance of BotPreviewMedia.
        N)r   r   r   )selfr   r   r    r   >/tmp/pip-build-2nz6shyl/telethon/telethon/tl/functions/bots.py__init__   s    zAddPreviewMediaRequest.__init__c                s,   |j |j| jI d H | _|j| j| _d S )N)get_input_userget_input_entityr   get_input_mediar   )r   clientutilsr   r   r   resolve   s    zAddPreviewMediaRequest.resolvec             C   s@   dt | jtr| jj n| j| jt | jtr6| jj n| jdS )Nr   )_r   r   r   )
isinstancer   r   to_dictr   r   )r   r   r   r   r#      s    zAddPreviewMediaRequest.to_dictc             C   s&   dj d| jj | j| j| jj fS )N    s   Z)joinr   _bytesserialize_bytesr   r   )r   r   r   r   r&   %   s
    
zAddPreviewMediaRequest._bytesc             C   s&   |j  }|j }|j  }| |||dS )N)r   r   r   )tgread_objecttgread_string)clsreader_bot
_lang_code_mediar   r   r   from_reader-   s    z"AddPreviewMediaRequest.from_readerN)__name__
__module____qualname__CONSTRUCTOR_IDSUBCLASS_OF_IDstrr   r    r#   r&   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 )AllowSendMessageRequestl   ceb 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   9   s    z AllowSendMessageRequest.__init__c                s   |j |j| jI d H | _d S )N)r   r   r   )r   r   r   r   r   r   r    ?   s    zAllowSendMessageRequest.resolvec             C   s"   dt | jtr| jj n| jdS )Nr7   )r!   r   )r"   r   r   r#   )r   r   r   r   r#   B   s    zAllowSendMessageRequest.to_dictc             C   s   dj d| jj fS )Nr$   s   2)r%   r   r&   )r   r   r   r   r&   H   s    zAllowSendMessageRequest._bytesc             C   s   |j  }| |dS )N)r   )r(   )r*   r+   r,   r   r   r   r/   N   s    z#AllowSendMessageRequest.from_readerN)r0   r1   r2   r3   r4   r   r    r#   r&   r6   r/   r   r   r   r   r7   5   s   r7   c               @   s@   e Zd ZdZdZeddddZdd Zd	d
 Ze	dd Z
dS )AnswerWebhookJSONQueryRequestl   M?BL l   gk r   )query_iddatac             C   s   || _ || _dS )z?
        :returns Bool: This type has no constructors.
        N)r9   r:   )r   r9   r:   r   r   r   r   X   s    z&AnswerWebhookJSONQueryRequest.__init__c             C   s&   d| j t| jtr| jj n| jdS )Nr8   )r!   r9   r:   )r9   r"   r:   r   r#   )r   r   r   r   r#   _   s    z%AnswerWebhookJSONQueryRequest.to_dictc             C   s    dj dtjd| j| jj fS )Nr$   s   M?!z<q)r%   structpackr9   r:   r&   )r   r   r   r   r&   f   s    z$AnswerWebhookJSONQueryRequest._bytesc             C   s   |j  }|j }| ||dS )N)r9   r:   )Z	read_longr(   )r*   r+   Z	_query_id_datar   r   r   r/   m   s    z)AnswerWebhookJSONQueryRequest.from_readerN)r0   r1   r2   r3   r4   intr   r#   r&   r6   r/   r   r   r   r   r8   T   s   r8   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 )CanSendMessageRequestiY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   x   s    zCanSendMessageRequest.__init__c                s   |j |j| jI d H | _d S )N)r   r   r   )r   r   r   r   r   r   r    ~   s    zCanSendMessageRequest.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CanSendMessageRequest.to_dictc             C   s   dj d| jj fS )Nr$   s   Y)r%   r   r&   )r   r   r   r   r&      s    zCanSendMessageRequest._bytesc             C   s   |j  }| |dS )N)r   )r(   )r*   r+   r,   r   r   r   r/      s    z!CanSendMessageRequest.from_readerN)r0   r1   r2   r3   r4   r   r    r#   r&   r6   r/   r   r   r   r   r?   t   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 )CheckDownloadFileParamsRequestiuPl   gk r   )r   	file_nameurlc             C   s   || _ || _|| _dS )z?
        :returns Bool: This type has no constructors.
        N)r   rA   rB   )r   r   rA   rB   r   r   r   r      s    z'CheckDownloadFileParamsRequest.__init__c                s   |j |j| jI d H | _d S )N)r   r   r   )r   r   r   r   r   r   r       s    z&CheckDownloadFileParamsRequest.resolvec             C   s*   dt | jtr| jj n| j| j| jdS )Nr@   )r!   r   rA   rB   )r"   r   r   r#   rA   rB   )r   r   r   r   r#      s    z&CheckDownloadFileParamsRequest.to_dictc             C   s(   dj d| jj | j| j| j| jfS )Nr$   s   uP)r%   r   r&   r'   rA   rB   )r   r   r   r   r&      s
    
z%CheckDownloadFileParamsRequest._bytesc             C   s&   |j  }|j }|j }| |||dS )N)r   rA   rB   )r(   r)   )r*   r+   r,   Z
_file_nameZ_urlr   r   r   r/      s    z*CheckDownloadFileParamsRequest.from_readerN)r0   r1   r2   r3   r4   r5   r   r    r#   r&   r6   r/   r   r   r   r   r@      s   r@   c               @   sN   e Zd ZdZdZdeed dddZdd	 Zd
d Z	dd Z
edd ZdS )DeletePreviewMediaRequesti5-l   gk r   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   r   r      s    z"DeletePreviewMediaRequest.__init__c                sH   |j |j| jI d H | _g }x| jD ]}|j|j| q&W || _d S )N)r   r   r   r   appendr   )r   r   r   _tmp_xr   r   r   r       s
    z!DeletePreviewMediaRequest.resolvec             C   sB   dt | jtr| jj n| j| j| jd kr.g ndd | jD dS )NrC   c             S   s"   g | ]}t |tr|j n|qS r   )r"   r   r#   ).0xr   r   r   
<listcomp>   s    z5DeletePreviewMediaRequest.to_dict.<locals>.<listcomp>)r!   r   r   r   )r"   r   r   r#   r   r   )r   r   r   r   r#      s    z!DeletePreviewMediaRequest.to_dictc          	   C   sD   dj d| jj | j| jdtjdt| jdj dd | jD fS )Nr$   s   5-s   ĵz<ic             s   s   | ]}|j  V  qd S )N)r&   )rG   rH   r   r   r   	<genexpr>   s    z3DeletePreviewMediaRequest._bytes.<locals>.<genexpr>)	r%   r   r&   r'   r   r;   r<   lenr   )r   r   r   r   r&      s
    
z DeletePreviewMediaRequest._bytesc             C   sR   |j  }|j }|j  g }x&t|j D ]}|j  }|j| q*W | |||dS )N)r   r   r   )r(   r)   read_intrangerD   )r*   r+   r,   r-   r.   r!   rF   r   r   r   r/      s    z%DeletePreviewMediaRequest.from_readerN)r0   r1   r2   r3   r4   r5   r   r   r    r#   r&   r6   r/   r   r   r   r   rC      s   rC   c               @   sL   e Zd ZdZdZdedddddZdd	 Zd
d Zdd Z	e
dd ZdS )EditPreviewMediaRequestl   o`J
 i-*Vr   r   )r   r   r   	new_mediac             C   s   || _ || _|| _|| _dS )zH
        :returns BotPreviewMedia: Instance of BotPreviewMedia.
        N)r   r   r   rO   )r   r   r   r   rO   r   r   r   r      s    z EditPreviewMediaRequest.__init__c                s:   |j |j| jI d H | _|j| j| _|j| j| _d S )N)r   r   r   r   r   rO   )r   r   r   r   r   r   r       s    zEditPreviewMediaRequest.resolvec             C   sZ   dt | jtr| jj n| j| jt | jtr6| jj n| jt | jtrP| jj n| jdS )NrN   )r!   r   r   r   rO   )r"   r   r   r#   r   r   rO   )r   r   r   r   r#      s
    zEditPreviewMediaRequest.to_dictc             C   s.   dj d| jj | j| j| jj | jj fS )Nr$   s   o`%)r%   r   r&   r'   r   r   rO   )r   r   r   r   r&     s    
zEditPreviewMediaRequest._bytesc             C   s0   |j  }|j }|j  }|j  }| ||||dS )N)r   r   r   rO   )r(   r)   )r*   r+   r,   r-   r.   Z
_new_mediar   r   r   r/     s
    z#EditPreviewMediaRequest.from_readerN)r0   r1   r2   r3   r4   r5   r   r    r#   r&   r6   r/   r   r   r   r   rN      s   			rN   c               @   s0   e Zd ZdZdZdd Zdd Zedd Zd	S )
GetAdminedBotsRequestl   ` iMc             C   s   ddiS )Nr!   rP   r   )r   r   r   r   r#     s    zGetAdminedBotsRequest.to_dictc             C   s
   dj dS )Nr$      q)rQ   )r%   )r   r   r   r   r&   !  s    zGetAdminedBotsRequest._bytesc             C   s   |  S )Nr   )r*   r+   r   r   r   r/   &  s    z!GetAdminedBotsRequest.from_readerN)	r0   r1   r2   r3   r4   r#   r&   r6   r/   r   r   r   r   rP     s
   rP   c               @   s@   e Zd ZdZdZdedddZdd Zd	d
 Ze	dd Z
dS )GetBotCommandsRequestl   F l   )u r   )scoper   c             C   s   || _ || _dS )zM
        :returns Vector<BotCommand>: This type has no constructors.
        N)rS   r   )r   rS   r   r   r   r   r   /  s    zGetBotCommandsRequest.__init__c             C   s&   dt | jtr| jj n| j| jdS )NrR   )r!   rS   r   )r"   rS   r   r#   r   )r   r   r   r   r#   6  s    zGetBotCommandsRequest.to_dictc             C   s   dj d| jj | j| jfS )Nr$   s   L)r%   rS   r&   r'   r   )r   r   r   r   r&   =  s    zGetBotCommandsRequest._bytesc             C   s   |j  }|j }| ||dS )N)rS   r   )r(   r)   )r*   r+   _scoper-   r   r   r   r/   D  s    z!GetBotCommandsRequest.from_readerN)r0   r1   r2   r3   r4   r5   r   r#   r&   r6   r/   r   r   r   r   rR   +  s   rR   c               @   sN   e Zd ZdZdZdeed dddZdd	 Zd
d Z	dd Z
edd ZdS )GetBotInfoRequestl   9 l   5" Nr   )r   r   c             C   s   || _ || _dS )z=
        :returns bots.BotInfo: Instance of BotInfo.
        N)r   r   )r   r   r   r   r   r   r   O  s    zGetBotInfoRequest.__init__c                s$   | j r |j|j| j I d H | _ d S )N)r   r   r   )r   r   r   r   r   r   r    V  s    zGetBotInfoRequest.resolvec             C   s&   d| j t| jtr| jj n| jdS )NrU   )r!   r   r   )r   r"   r   r   r#   )r   r   r   r   r#   Z  s    zGetBotInfoRequest.to_dictc             C   sX   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 | j| jfS )Nr$   s   z<IFr      )r%   r;   r<   r   r&   r'   r   )r   r   r   r   r&   a  s
    " zGetBotInfoRequest._bytesc             C   s2   |j  }|d@ r|j }nd }|j }| ||dS )NrV   )r   r   )rL   r(   r)   )r*   r+   flagsr,   r-   r   r   r   r/   i  s    
zGetBotInfoRequest.from_reader)N)r0   r1   r2   r3   r4   r5   r   r   r    r#   r&   r6   r/   r   r   r   r   rU   K  s   rU   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 )GetBotMenuButtonRequestl   (k8 i<qLr   )user_idc             C   s
   || _ dS )zx
        :returns BotMenuButton: Instance of either BotMenuButtonDefault, BotMenuButtonCommands, BotMenuButton.
        N)rY   )r   rY   r   r   r   r   y  s    z GetBotMenuButtonRequest.__init__c                s   |j |j| jI d H | _d S )N)r   r   rY   )r   r   r   r   r   r   r      s    zGetBotMenuButtonRequest.resolvec             C   s"   dt | jtr| jj n| jdS )NrX   )r!   rY   )r"   rY   r   r#   )r   r   r   r   r#     s    zGetBotMenuButtonRequest.to_dictc             C   s   dj d| jj fS )Nr$   s   (`)r%   rY   r&   )r   r   r   r   r&     s    zGetBotMenuButtonRequest._bytesc             C   s   |j  }| |dS )N)rY   )r(   )r*   r+   _user_idr   r   r   r/     s    z#GetBotMenuButtonRequest.from_readerN)r0   r1   r2   r3   r4   r   r    r#   r&   r6   r/   r   r   r   r   rX   u  s   rX   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 )GetBotRecommendationsRequestl   nC l   pd r   )r   c             C   s
   || _ dS )zM
        :returns users.Users: Instance of either Users, UsersSlice.
        N)r   )r   r   r   r   r   r     s    z%GetBotRecommendationsRequest.__init__c                s   |j |j| jI d H | _d S )N)r   r   r   )r   r   r   r   r   r   r      s    z$GetBotRecommendationsRequest.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$GetBotRecommendationsRequest.to_dictc             C   s   dj d| jj fS )Nr$   s   )r%   r   r&   )r   r   r   r   r&     s    z#GetBotRecommendationsRequest._bytesc             C   s   |j  }| |dS )N)r   )r(   )r*   r+   r,   r   r   r   r/     s    z(GetBotRecommendationsRequest.from_readerN)r0   r1   r2   r3   r4   r   r    r#   r&   r6   r/   r   r   r   r   r[     s   r[   c               @   s@   e Zd ZdZdZeedddZdd Zdd	 Z	e
d
d ZdS )GetPopularAppBotsRequestl    i}d{)offsetlimitc             C   s   || _ || _dS )zK
        :returns bots.PopularAppBots: Instance of PopularAppBots.
        N)r]   r^   )r   r]   r^   r   r   r   r     s    z!GetPopularAppBotsRequest.__init__c             C   s   d| j | jdS )Nr\   )r!   r]   r^   )r]   r^   )r   r   r   r   r#     s    z GetPopularAppBotsRequest.to_dictc             C   s"   dj d| j| jtjd| jfS )Nr$   s   Qz<i)r%   r'   r]   r;   r<   r^   )r   r   r   r   r&     s    
zGetPopularAppBotsRequest._bytesc             C   s   |j  }|j }| ||dS )N)r]   r^   )r)   rL   )r*   r+   _offsetZ_limitr   r   r   r/     s    z$GetPopularAppBotsRequest.from_readerN)r0   r1   r2   r3   r4   r5   r>   r   r#   r&   r6   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 )GetPreviewInfoRequesti:Bl   5a r   )r   r   c             C   s   || _ || _dS )zE
        :returns bots.PreviewInfo: Instance of PreviewInfo.
        N)r   r   )r   r   r   r   r   r   r     s    zGetPreviewInfoRequest.__init__c                s   |j |j| jI d H | _d S )N)r   r   r   )r   r   r   r   r   r   r      s    zGetPreviewInfoRequest.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GetPreviewInfoRequest.to_dictc             C   s   dj d| jj | j| jfS )Nr$   s   :B)r%   r   r&   r'   r   )r   r   r   r   r&     s    zGetPreviewInfoRequest._bytesc             C   s   |j  }|j }| ||dS )N)r   r   )r(   r)   )r*   r+   r,   r-   r   r   r   r/     s    z!GetPreviewInfoRequest.from_readerN)r0   r1   r2   r3   r4   r5   r   r    r#   r&   r6   r/   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 )GetPreviewMediasRequestl   MYJE l   x*s r   )r   c             C   s
   || _ dS )zR
        :returns Vector<BotPreviewMedia>: This type has no constructors.
        N)r   )r   r   r   r   r   r     s    z GetPreviewMediasRequest.__init__c                s   |j |j| jI d H | _d S )N)r   r   r   )r   r   r   r   r   r   r       s    zGetPreviewMediasRequest.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GetPreviewMediasRequest.to_dictc             C   s   dj d| jj fS )Nr$   s   MY)r%   r   r&   )r   r   r   r   r&   	  s    zGetPreviewMediasRequest._bytesc             C   s   |j  }| |dS )N)r   )r(   )r*   r+   r,   r   r   r   r/     s    z#GetPreviewMediasRequest.from_readerN)r0   r1   r2   r3   r4   r   r    r#   r&   r6   r/   r   r   r   r   ra     s   ra   c               @   sJ   e Zd ZdZdZdeddddZdd	 Zd
d Zdd Z	e
dd ZdS ) InvokeWebViewCustomMethodRequestil   RZ r   r   )r   custom_methodparamsc             C   s   || _ || _|| _dS )z:
        :returns DataJSON: Instance of DataJSON.
        N)r   rc   rd   )r   r   rc   rd   r   r   r   r     s    z)InvokeWebViewCustomMethodRequest.__init__c                s   |j |j| jI d H | _d S )N)r   r   r   )r   r   r   r   r   r   r    !  s    z(InvokeWebViewCustomMethodRequest.resolvec             C   s@   dt | jtr| jj n| j| jt | jtr6| jj n| jdS )Nrb   )r!   r   rc   rd   )r"   r   r   r#   rc   rd   )r   r   r   r   r#   $  s    z(InvokeWebViewCustomMethodRequest.to_dictc             C   s&   dj d| jj | j| j| jj fS )Nr$   s   )r%   r   r&   r'   rc   rd   )r   r   r   r   r&   ,  s
    
z'InvokeWebViewCustomMethodRequest._bytesc             C   s&   |j  }|j }|j  }| |||dS )N)r   rc   rd   )r(   r)   )r*   r+   r,   _custom_method_paramsr   r   r   r/   4  s    z,InvokeWebViewCustomMethodRequest.from_readerN)r0   r1   r2   r3   r4   r5   r   r    r#   r&   r6   r/   r   r   r   r   rb     s   rb   c               @   sN   e Zd ZdZdZdeed dddZdd	 Zd
d Z	dd Z
edd ZdS )ReorderPreviewMediasRequestl   sOl l   gk r   r   )r   r   orderc             C   s   || _ || _|| _dS )z?
        :returns Bool: This type has no constructors.
        N)r   r   rh   )r   r   r   rh   r   r   r   r   @  s    z$ReorderPreviewMediasRequest.__init__c                sH   |j |j| jI d H | _g }x| jD ]}|j|j| q&W || _d S )N)r   r   r   rh   rD   r   )r   r   r   rE   rF   r   r   r   r    H  s
    z#ReorderPreviewMediasRequest.resolvec             C   sB   dt | jtr| jj n| j| j| jd kr.g ndd | jD dS )Nrg   c             S   s"   g | ]}t |tr|j n|qS r   )r"   r   r#   )rG   rH   r   r   r   rI   U  s    z7ReorderPreviewMediasRequest.to_dict.<locals>.<listcomp>)r!   r   r   rh   )r"   r   r   r#   r   rh   )r   r   r   r   r#   P  s    z#ReorderPreviewMediasRequest.to_dictc          	   C   sD   dj d| jj | 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&   )rG   rH   r   r   r   rJ   ]  s    z5ReorderPreviewMediasRequest._bytes.<locals>.<genexpr>)	r%   r   r&   r'   r   r;   r<   rK   rh   )r   r   r   r   r&   X  s
    
z"ReorderPreviewMediasRequest._bytesc             C   sR   |j  }|j }|j  g }x&t|j D ]}|j  }|j| q*W | |||dS )N)r   r   rh   )r(   r)   rL   rM   rD   )r*   r+   r,   r-   _orderr!   rF   r   r   r   r/   `  s    z'ReorderPreviewMediasRequest.from_readerN)r0   r1   r2   r3   r4   r5   r   r   r    r#   r&   r6   r/   r   r   r   r   rg   <  s   rg   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   1. 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   q  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    x  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 )Nrj   )r!   r   rh   )r"   r   r   r#   rh   )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'   )rG   rH   )r   r   r   rJ     s    z1ReorderUsernamesRequest._bytes.<locals>.<genexpr>)r%   r   r&   r;   r<   rK   rh   )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   rh   )r(   rL   rM   r)   rD   )r*   r+   r,   ri   r!   rF   r   r   r   r/     s    z#ReorderUsernamesRequest.from_readerN)r0   r1   r2   r3   r4   r   r5   r   r    r#   r&   r6   r/   r   r   r   r   rj   m  s   rj   c               @   s@   e Zd ZdZdZdedddZdd Zd	d
 Ze	dd Z
dS )ResetBotCommandsRequesti=l   gk r   )rS   r   c             C   s   || _ || _dS )z?
        :returns Bool: This type has no constructors.
        N)rS   r   )r   rS   r   r   r   r   r     s    z ResetBotCommandsRequest.__init__c             C   s&   dt | jtr| jj n| j| jdS )Nrk   )r!   rS   r   )r"   rS   r   r#   r   )r   r   r   r   r#     s    zResetBotCommandsRequest.to_dictc             C   s   dj d| jj | j| jfS )Nr$   s   =)r%   rS   r&   r'   r   )r   r   r   r   r&     s    zResetBotCommandsRequest._bytesc             C   s   |j  }|j }| ||dS )N)rS   r   )r(   r)   )r*   r+   rT   r-   r   r   r   r/     s    z#ResetBotCommandsRequest.from_readerN)r0   r1   r2   r3   r4   r5   r   r#   r&   r6   r/   r   r   r   r   rk     s   rk   c               @   s@   e Zd ZdZdZeddddZdd Zd	d
 Ze	dd Z
dS )SendCustomRequestRequestl   iNT l   RZ r   )rc   rd   c             C   s   || _ || _dS )z:
        :returns DataJSON: Instance of DataJSON.
        N)rc   rd   )r   rc   rd   r   r   r   r     s    z!SendCustomRequestRequest.__init__c             C   s&   d| j t| jtr| jj n| jdS )Nrl   )r!   rc   rd   )rc   r"   rd   r   r#   )r   r   r   r   r#     s    z SendCustomRequestRequest.to_dictc             C   s   dj d| j| j| jj fS )Nr$   s   i')r%   r'   rc   rd   r&   )r   r   r   r   r&     s    
zSendCustomRequestRequest._bytesc             C   s   |j  }|j }| ||dS )N)rc   rd   )r)   r(   )r*   r+   re   rf   r   r   r   r/     s    z$SendCustomRequestRequest.from_readerN)r0   r1   r2   r3   r4   r5   r   r#   r&   r6   r/   r   r   r   r   rl     s   rl   c               @   s>   e Zd ZdZdZddddZdd Zd	d
 Zedd Z	dS )(SetBotBroadcastDefaultAdminRightsRequestidxl   gk r   )admin_rightsc             C   s
   || _ dS )z?
        :returns Bool: This type has no constructors.
        N)rn   )r   rn   r   r   r   r     s    z1SetBotBroadcastDefaultAdminRightsRequest.__init__c             C   s"   dt | jtr| jj n| jdS )Nrm   )r!   rn   )r"   rn   r   r#   )r   r   r   r   r#     s    z0SetBotBroadcastDefaultAdminRightsRequest.to_dictc             C   s   dj d| jj fS )Nr$   s   dx)r%   rn   r&   )r   r   r   r   r&     s    z/SetBotBroadcastDefaultAdminRightsRequest._bytesc             C   s   |j  }| |dS )N)rn   )r(   )r*   r+   _admin_rightsr   r   r   r/     s    z4SetBotBroadcastDefaultAdminRightsRequest.from_readerN)
r0   r1   r2   r3   r4   r   r#   r&   r6   r/   r   r   r   r   rm     s   rm   c               @   sF   e Zd ZdZdZdeed dddZdd	 Zd
d Z	e
dd ZdS )SetBotCommandsRequestiZl   gk r   r
   )rS   r   commandsc             C   s   || _ || _|| _dS )z?
        :returns Bool: This type has no constructors.
        N)rS   r   rq   )r   rS   r   rq   r   r   r   r     s    zSetBotCommandsRequest.__init__c             C   sB   dt | jtr| jj n| j| j| jd kr.g ndd | jD dS )Nrp   c             S   s"   g | ]}t |tr|j n|qS r   )r"   r   r#   )rG   rH   r   r   r   rI     s    z1SetBotCommandsRequest.to_dict.<locals>.<listcomp>)r!   rS   r   rq   )r"   rS   r   r#   r   rq   )r   r   r   r   r#     s    zSetBotCommandsRequest.to_dictc          	   C   sD   dj d| jj | j| jdtjdt| jdj dd | jD fS )Nr$   s   Zs   ĵz<ic             s   s   | ]}|j  V  qd S )N)r&   )rG   rH   r   r   r   rJ   
  s    z/SetBotCommandsRequest._bytes.<locals>.<genexpr>)	r%   rS   r&   r'   r   r;   r<   rK   rq   )r   r   r   r   r&     s
    
zSetBotCommandsRequest._bytesc             C   sR   |j  }|j }|j  g }x&t|j D ]}|j  }|j| q*W | |||dS )N)rS   r   rq   )r(   r)   rL   rM   rD   )r*   r+   rT   r-   Z	_commandsr!   rF   r   r   r   r/     s    z!SetBotCommandsRequest.from_readerN)r0   r1   r2   r3   r4   r5   r   r   r#   r&   r6   r/   r   r   r   r   rp     s   rp   c               @   s>   e Zd ZdZdZddddZdd Zd	d
 Zedd Z	dS )$SetBotGroupDefaultAdminRightsRequestl   I$ l   gk r   )rn   c             C   s
   || _ dS )z?
        :returns Bool: This type has no constructors.
        N)rn   )r   rn   r   r   r   r     s    z-SetBotGroupDefaultAdminRightsRequest.__init__c             C   s"   dt | jtr| jj n| jdS )Nrr   )r!   rn   )r"   rn   r   r#   )r   r   r   r   r#   $  s    z,SetBotGroupDefaultAdminRightsRequest.to_dictc             C   s   dj d| jj fS )Nr$   s   ^)r%   rn   r&   )r   r   r   r   r&   *  s    z+SetBotGroupDefaultAdminRightsRequest._bytesc             C   s   |j  }| |dS )N)rn   )r(   )r*   r+   ro   r   r   r   r/   0  s    z0SetBotGroupDefaultAdminRightsRequest.from_readerN)
r0   r1   r2   r3   r4   r   r#   r&   r6   r/   r   r   r   r   rr     s   rr   c               @   s`   e Zd ZdZdZdeed ee ee ee dddZdd	 Zd
d Z	dd Z
edd ZdS )SetBotInfoRequesti#1l   gk Nr   )r   r   nameaboutdescriptionc             C   s"   || _ || _|| _|| _|| _dS )z?
        :returns Bool: This type has no constructors.
        N)r   r   rt   ru   rv   )r   r   r   rt   ru   rv   r   r   r   r   :  s
    zSetBotInfoRequest.__init__c                s$   | j r |j|j| j I d H | _ d S )N)r   r   r   )r   r   r   r   r   r   r    D  s    zSetBotInfoRequest.resolvec             C   s2   d| j t| jtr| jj n| j| j| j| jdS )Nrs   )r!   r   r   rt   ru   rv   )r   r"   r   r   r#   rt   ru   rv   )r   r   r   r   r#   H  s    zSetBotInfoRequest.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d ksr| jdkrvdnd	B | jd ks| jdkrdn| jj | j| j	| jd ks| jdkrdn
| j| j| jd ks| jdkrdn
| j| j| jd kp| jdkrdn
| j| jfS )
Nr$   s   #1z<IFr         rV      )
r%   r;   r<   r   rt   ru   rv   r&   r'   r   )r   r   r   r   r&   R  s    v 
""zSetBotInfoRequest._bytesc             C   sz   |j  }|d@ r|j }nd }|j }|d@ r8|j }nd }|d@ rN|j }nd }|d@ rd|j }nd }| |||||dS )Nrw   rx   rV   ry   )r   r   rt   ru   rv   )rL   r(   r)   )r*   r+   rW   r,   r-   _nameZ_aboutZ_descriptionr   r   r   r/   ]  s    



zSetBotInfoRequest.from_reader)NNNN)r0   r1   r2   r3   r4   r5   r   r   r    r#   r&   r6   r/   r   r   r   r   rs   6  s   (

rs   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 )SetBotMenuButtonRequestiOEl   gk r   r   )rY   buttonc             C   s   || _ || _dS )z?
        :returns Bool: This type has no constructors.
        N)rY   r|   )r   rY   r|   r   r   r   r   y  s    z SetBotMenuButtonRequest.__init__c                s   |j |j| jI d H | _d S )N)r   r   rY   )r   r   r   r   r   r   r      s    zSetBotMenuButtonRequest.resolvec             C   s<   dt | jtr| jj n| jt | jtr2| jj n| jdS )Nr{   )r!   rY   r|   )r"   rY   r   r#   r|   )r   r   r   r   r#     s    zSetBotMenuButtonRequest.to_dictc             C   s   dj d| jj | jj fS )Nr$   s   OE)r%   rY   r&   r|   )r   r   r   r   r&     s    zSetBotMenuButtonRequest._bytesc             C   s   |j  }|j  }| ||dS )N)rY   r|   )r(   )r*   r+   rZ   Z_buttonr   r   r   r/     s    z#SetBotMenuButtonRequest.from_readerN)r0   r1   r2   r3   r4   r   r    r#   r&   r6   r/   r   r   r   r   r{   u  s   r{   c               @   sZ   e Zd ZdZdZddee ed ee dddZd	d
 Z	dd Z
dd Zedd ZdS )SetCustomVerificationRequestl   _ l   gk Nr   r   )peerenabledr   custom_descriptionc             C   s   || _ || _|| _|| _dS )z?
        :returns Bool: This type has no constructors.
        N)r~   r   r   r   )r   r~   r   r   r   r   r   r   r     s    z%SetCustomVerificationRequest.__init__c                s>   |j |j| jI d H | _| jr:|j|j| jI d H | _d S )N)Zget_input_peerr   r~   r   r   )r   r   r   r   r   r   r      s    z$SetCustomVerificationRequest.resolvec             C   sD   dt | jtr| jj n| j| jt | jtr6| j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$SetCustomVerificationRequest.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d kst| jdkrxdn| jj | jj | jd ks| jdkrdn
| j| jfS )	Nr$   s   ߉z<IFr   ry   rV   rw   )	r%   r;   r<   r   r   r   r&   r~   r'   )r   r   r   r   r&     s    Z z#SetCustomVerificationRequest._bytesc             C   sX   |j  }t|d@ }|d@ r&|j }nd }|j }|d@ rD|j }nd }| ||||dS )Nry   rV   rw   )r~   r   r   r   )rL   boolr(   r)   )r*   r+   rW   _enabledr,   Z_peerZ_custom_descriptionr   r   r   r/     s    

z(SetCustomVerificationRequest.from_reader)NNN)r0   r1   r2   r3   r4   r   r   r5   r   r    r#   r&   r6   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 )&ToggleUserEmojiStatusPermissionRequestic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/ToggleUserEmojiStatusPermissionRequest.__init__c                s   |j |j| jI d H | _d S )N)r   r   r   )r   r   r   r   r   r   r      s    z.ToggleUserEmojiStatusPermissionRequest.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.ToggleUserEmojiStatusPermissionRequest.to_dictc             C   s    dj d| jj | jrdndfS )Nr$   s   cs   urs   7y)r%   r   r&   r   )r   r   r   r   r&     s    z-ToggleUserEmojiStatusPermissionRequest._bytesc             C   s   |j  }|j }| ||dS )N)r   r   )r(   tgread_bool)r*   r+   r,   r   r   r   r   r/     s    z2ToggleUserEmojiStatusPermissionRequest.from_readerN)r0   r1   r2   r3   r4   r   r   r    r#   r&   r6   r/   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 )ToggleUsernameRequestis<l   gk r   )r   username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   s<s   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,   Z	_username_activer   r   r   r/     s    z!ToggleUsernameRequest.from_readerN)r0   r1   r2   r3   r4   r5   r   r   r    r#   r&   r6   r/   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 )UpdateStarRefProgramRequestiZwl   `1 Nr   )r   commission_permilleduration_monthsc             C   s   || _ || _|| _dS )zF
        :returns StarRefProgram: Instance of StarRefProgram.
        N)r   r   r   )r   r   r   r   r   r   r   r     s    z$UpdateStarRefProgramRequest.__init__c                s   |j |j| jI d H | _d S )N)r   r   r   )r   r   r   r   r   r   r    #  s    z#UpdateStarRefProgramRequest.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#UpdateStarRefProgramRequest.to_dictc             C   sf   dj dtjd| jd ks | jdkr$dnd| jj tjd| j| jd ksP| jdkrTdntjd| jfS )Nr$   s   Zwz<IFr   rV   z<i)r%   r;   r<   r   r   r&   r   )r   r   r   r   r&   .  s    "z"UpdateStarRefProgramRequest._bytesc             C   s<   |j  }|j }|j  }|d@ r*|j  }nd }| |||dS )NrV   )r   r   r   )rL   r(   )r*   r+   rW   r,   Z_commission_permilleZ_duration_monthsr   r   r   r/   7  s    
z'UpdateStarRefProgramRequest.from_reader)N)r0   r1   r2   r3   r4   r>   r   r   r    r#   r&   r6   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 )UpdateUserEmojiStatusRequestl   0>[ l   gk r   r   )rY   emoji_statusc             C   s   || _ || _dS )z?
        :returns Bool: This type has no constructors.
        N)rY   r   )r   rY   r   r   r   r   r   H  s    z%UpdateUserEmojiStatusRequest.__init__c                s   |j |j| jI d H | _d S )N)r   r   rY   )r   r   r   r   r   r   r    O  s    z$UpdateUserEmojiStatusRequest.resolvec             C   s<   dt | jtr| jj n| jt | jtr2| jj n| jdS )Nr   )r!   rY   r   )r"   rY   r   r#   r   )r   r   r   r   r#   R  s    z$UpdateUserEmojiStatusRequest.to_dictc             C   s   dj d| jj | jj fS )Nr$   s   0)r%   rY   r&   r   )r   r   r   r   r&   Y  s    z#UpdateUserEmojiStatusRequest._bytesc             C   s   |j  }|j  }| ||dS )N)rY   r   )r(   )r*   r+   rZ   Z_emoji_statusr   r   r   r/   `  s    z(UpdateUserEmojiStatusRequest.from_readerN)r0   r1   r2   r3   r4   r   r    r#   r&   r6   r/   r   r   r   r   r   D  s   r   )4__doc__Ztl.tlobjectr   r   typingr   r   r   r   osr;   r	   Ztl.typesr
   r   r   r   r   r   r   r   r   r   r7   r8   r?   r@   rC   rN   rP   rR   rU   rX   r[   r\   r`   ra   rb   rg   rj   rk   rl   rm   rp   rr   rs   r{   r}   r   r   r   r   r   r   r   r   <module>   sL   ,( '1- * #'1(  )?#5#'-