U
    h                     @   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-*Vr   r   bot	lang_codemediac                 C   s   || _ || _|| _dS zH
        :returns BotPreviewMedia: Instance of BotPreviewMedia.
        Nr   selfr   r   r    r   >/tmp/pip-unpacked-wheel-c81u5j2r/telethon/tl/functions/bots.py__init__   s    zAddPreviewMediaRequest.__init__c                    s,   | || jI d H | _|| 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 n| j| jt | jtr6| 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 d| j | | j| j fS )N    s   Z)joinr   _bytesserialize_bytesr   r   r,   r   r   r   r/   %   s    
zAddPreviewMediaRequest._bytesc                 C   s&   |  }| }|  }| |||dS Nr   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.
        NrD   r   r   r   r   r   r   9   s    z AllowSendMessageRequest.__init__c                    s   | || jI d H | _d S r   r    r!   r   r#   r   r   r   r&   ?   s    zAllowSendMessageRequest.resolvec                 C   s"   dt | jtr| j n| jdS )NrC   r(   r   r*   r   r   r+   r,   r   r   r   r+   B   s    zAllowSendMessageRequest.to_dictc                 C   s   d d| j fS )Nr-   s   2r.   r   r/   r,   r   r   r   r/   H   s    zAllowSendMessageRequest._bytesc                 C   s   |  }| |dS NrD   r3   r5   r6   r7   r   r   r   r:   N   s    z#AllowSendMessageRequest.from_readerNr<   r=   r>   r?   r@   r   r&   r+   r/   rB   r:   r   r   r   r   rC   5   s   rC   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    gk r   query_iddatac                 C   s   || _ || _dS z?
        :returns Bool: This type has no constructors.
        NrP   )r   rQ   rR   r   r   r   r   X   s    z&AnswerWebhookJSONQueryRequest.__init__c                 C   s&   d| j t| jtr| j n| jdS )NrN   )r(   rQ   rR   )rQ   r*   rR   r   r+   r,   r   r   r   r+   _   s    z%AnswerWebhookJSONQueryRequest.to_dictc                 C   s    d dtd| j| j fS )Nr-   s   M?!z<q)r.   structpackrQ   rR   r/   r,   r   r   r   r/   f   s
    z$AnswerWebhookJSONQueryRequest._bytesc                 C   s   |  }| }| ||dS )NrP   )Z	read_longr3   )r5   r6   Z	_query_id_datar   r   r   r:   m   s    z)AnswerWebhookJSONQueryRequest.from_readerN)r<   r=   r>   r?   r@   intr   r+   r/   rB   r:   r   r   r   r   rN   T   s   rN   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rO   r   rD   c                 C   s
   || _ dS rS   rD   rE   r   r   r   r   x   s    zCanSendMessageRequest.__init__c                    s   | || jI d H | _d S r   rF   r#   r   r   r   r&   ~   s    zCanSendMessageRequest.resolvec                 C   s"   dt | jtr| j n| jdS )NrX   rG   rH   r,   r   r   r   r+      s    zCanSendMessageRequest.to_dictc                 C   s   d d| j fS )Nr-   s   YrI   r,   r   r   r   r/      s    zCanSendMessageRequest._bytesc                 C   s   |  }| |dS rJ   rK   rL   r   r   r   r:      s    z!CanSendMessageRequest.from_readerNrM   r   r   r   r   rX   t   s   rX   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PrO   r   r   	file_nameurlc                 C   s   || _ || _|| _dS rS   rZ   )r   r   r[   r\   r   r   r   r      s    z'CheckDownloadFileParamsRequest.__init__c                    s   | || jI d H | _d S r   rF   r#   r   r   r   r&      s    z&CheckDownloadFileParamsRequest.resolvec                 C   s*   dt | jtr| j n| j| j| jdS )NrY   )r(   r   r[   r\   )r*   r   r   r+   r[   r\   r,   r   r   r   r+      s
    z&CheckDownloadFileParamsRequest.to_dictc                 C   s(   d d| j | | j| | jfS )Nr-   s   uP)r.   r   r/   r0   r[   r\   r,   r   r   r   r/      s    

z%CheckDownloadFileParamsRequest._bytesc                 C   s&   |  }| }| }| |||dS )NrZ   r2   )r5   r6   r7   Z
_file_name_urlr   r   r   r:      s    z*CheckDownloadFileParamsRequest.from_readerNr;   r   r   r   r   rY      s   rY   c                   @   sN   e Zd ZdZdZdeed dddZdd	 Zd
d Z	dd Z
edd ZdS )DeletePreviewMediaRequesti5-rO   r   r   r   c                 C   s   || _ || _|| _dS rS   r   r   r   r   r   r      s    z"DeletePreviewMediaRequest.__init__c                    sD   | || jI d H | _g }| jD ]}||| q$|| _d S r   )r    r!   r   r   appendr"   r   r$   r%   Z_tmp_xr   r   r   r&      s
    
z!DeletePreviewMediaRequest.resolvec                 C   sB   dt | jtr| j n| j| j| jd kr.g ndd | jD dS )Nr^   c                 S   s"   g | ]}t |tr| n|qS r   r*   r   r+   .0xr   r   r   
<listcomp>   s     z5DeletePreviewMediaRequest.to_dict.<locals>.<listcomp>r'   r)   r,   r   r   r   r+      s
    z!DeletePreviewMediaRequest.to_dictc                 C   sD   d d| j | | jdtdt| jd dd | jD fS )Nr-   s   5-   ĵ<ic                 s   s   | ]}|  V  qd S r   r/   rc   r   r   r   	<genexpr>   s     z3DeletePreviewMediaRequest._bytes.<locals>.<genexpr>)	r.   r   r/   r0   r   rT   rU   lenr   r,   r   r   r   r/      s    
  z DeletePreviewMediaRequest._bytesc                 C   sN   |  }| }|  g }t| D ]}|  }|| q(| |||dS r1   r3   r4   read_intranger_   )r5   r6   r7   r8   r9   r(   ra   r   r   r   r:      s    z%DeletePreviewMediaRequest.from_readerNr<   r=   r>   r?   r@   rA   r   r   r&   r+   r/   rB   r:   r   r   r   r   r^      s   r^   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
 r   r   r   r   r   r   	new_mediac                 C   s   || _ || _|| _|| _dS r   rq   )r   r   r   r   rr   r   r   r   r      s    z EditPreviewMediaRequest.__init__c                    s:   | || jI d H | _|| j| _|| j| _d S r   )r    r!   r   r"   r   rr   r#   r   r   r   r&      s    zEditPreviewMediaRequest.resolvec                 C   sZ   dt | jtr| j n| j| jt | jtr6| j n| jt | jtrP| j n| jdS )Nrp   )r(   r   r   r   rr   )r*   r   r   r+   r   r   rr   r,   r   r   r   r+      s    zEditPreviewMediaRequest.to_dictc                 C   s.   d d| j | | j| j | j fS )Nr-   s   o`%)r.   r   r/   r0   r   r   rr   r,   r   r   r   r/     s    
zEditPreviewMediaRequest._bytesc                 C   s0   |  }| }|  }|  }| ||||dS )Nrq   r2   )r5   r6   r7   r8   r9   Z
_new_mediar   r   r   r:     s
    z#EditPreviewMediaRequest.from_readerNr;   r   r   r   r   rp      s   			rp   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(   rs   r   r,   r   r   r   r+     s     zGetAdminedBotsRequest.to_dictc                 C   s
   d dS )Nr-   )s   q)r.   r,   r   r   r   r/   !  s    zGetAdminedBotsRequest._bytesc                 C   s   |  S r   r   )r5   r6   r   r   r   r:   &  s    z!GetAdminedBotsRequest.from_readerN)	r<   r=   r>   r?   r@   r+   r/   rB   r:   r   r   r   r   rs     s   rs   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.
        Nru   r   rv   r   r   r   r   r   /  s    zGetBotCommandsRequest.__init__c                 C   s&   dt | jtr| j n| j| jdS )Nrt   r(   rv   r   r*   rv   r   r+   r   r,   r   r   r   r+   6  s    zGetBotCommandsRequest.to_dictc                 C   s   d d| j | | jfS )Nr-   s   Lr.   rv   r/   r0   r   r,   r   r   r   r/   =  s
    
zGetBotCommandsRequest._bytesc                 C   s   |  }| }| ||dS Nru   r2   r5   r6   _scoper8   r   r   r   r:   D  s    z!GetBotCommandsRequest.from_readerNr<   r=   r>   r?   r@   rA   r   r+   r/   rB   r:   r   r   r   r   rt   +  s   rt   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.
        Nr   )r   r   r   r   r   r   r   O  s    zGetBotInfoRequest.__init__c                    s$   | j r ||| j I d H | _ d S r   r   r    r!   r#   r   r   r   r&   V  s    zGetBotInfoRequest.resolvec                 C   s&   d| j t| jtr| j n| jdS )Nr   )r(   r   r   )r   r*   r   r   r+   r,   r   r   r   r+   Z  s    zGetBotInfoRequest.to_dictc                 C   sX   d dtd| jd ks | jdkr$dnd| jd ks<| jdkr@dn| j | | jfS )Nr-   s   <IFr      )r.   rT   rU   r   r/   r0   r   r,   r   r   r   r/   a  s    " 
zGetBotInfoRequest._bytesc                 C   s2   |  }|d@ r| }nd }| }| ||dS )Nr   r   rm   r3   r4   )r5   r6   flagsr7   r8   r   r   r   r:   i  s    
zGetBotInfoRequest.from_reader)Nr<   r=   r>   r?   r@   rA   r   r   r&   r+   r/   rB   r:   r   r   r   r   r   K  s   r   c                   @   sF   e Zd ZdZdZddddZdd Zd	d
 Zdd Ze	dd Z
dS )GetBotMenuButtonRequestl   (k8 i<qLr   user_idc                 C   s
   || _ dS )zx
        :returns BotMenuButton: Instance of either BotMenuButtonDefault, BotMenuButtonCommands, BotMenuButton.
        Nr   )r   r   r   r   r   r   y  s    z GetBotMenuButtonRequest.__init__c                    s   | || jI d H | _d S r   r    r!   r   r#   r   r   r   r&     s    zGetBotMenuButtonRequest.resolvec                 C   s"   dt | jtr| j n| jdS )Nr   )r(   r   )r*   r   r   r+   r,   r   r   r   r+     s    zGetBotMenuButtonRequest.to_dictc                 C   s   d d| j fS )Nr-   s   (`)r.   r   r/   r,   r   r   r   r/     s    zGetBotMenuButtonRequest._bytesc                 C   s   |  }| |dS )Nr   rK   )r5   r6   _user_idr   r   r   r:     s    z#GetBotMenuButtonRequest.from_readerNrM   r   r   r   r   r   u  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 )GetBotRecommendationsRequestl   nC l   pd r   rD   c                 C   s
   || _ dS )zM
        :returns users.Users: Instance of either Users, UsersSlice.
        NrD   rE   r   r   r   r     s    z%GetBotRecommendationsRequest.__init__c                    s   | || jI d H | _d S r   rF   r#   r   r   r   r&     s    z$GetBotRecommendationsRequest.resolvec                 C   s"   dt | jtr| j n| jdS )Nr   rG   rH   r,   r   r   r   r+     s    z$GetBotRecommendationsRequest.to_dictc                 C   s   d d| j fS )Nr-   s   rI   r,   r   r   r   r/     s    z#GetBotRecommendationsRequest._bytesc                 C   s   |  }| |dS rJ   rK   rL   r   r   r   r:     s    z(GetBotRecommendationsRequest.from_readerNrM   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.
        Nr   )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+     s    z GetPopularAppBotsRequest.to_dictc                 C   s"   d d| | jtd| jfS )Nr-   s   Qrh   )r.   r0   r   rT   rU   r   r,   r   r   r   r/     s
    
zGetPopularAppBotsRequest._bytesc                 C   s   |  }| }| ||dS )Nr   )r4   rm   )r5   r6   _offsetZ_limitr   r   r   r:     s    z$GetPopularAppBotsRequest.from_readerN)r<   r=   r>   r?   r@   rA   rW   r   r+   r/   rB   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.
        Nr   )r   r   r   r   r   r   r     s    zGetPreviewInfoRequest.__init__c                    s   | || jI d H | _d S r   rF   r#   r   r   r   r&     s    zGetPreviewInfoRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr   )r(   r   r   )r*   r   r   r+   r   r,   r   r   r   r+     s    zGetPreviewInfoRequest.to_dictc                 C   s   d d| j | | jfS )Nr-   s   :B)r.   r   r/   r0   r   r,   r   r   r   r/     s
    
zGetPreviewInfoRequest._bytesc                 C   s   |  }| }| ||dS )Nr   r2   )r5   r6   r7   r8   r   r   r   r:     s    z!GetPreviewInfoRequest.from_readerNr;   r   r   r   r   r     s   r   c                   @   sF   e Zd ZdZdZddddZdd Zd	d
 Zdd Ze	dd Z
dS )GetPreviewMediasRequestl   MYJE l   x*s r   rD   c                 C   s
   || _ dS )zR
        :returns Vector<BotPreviewMedia>: This type has no constructors.
        NrD   rE   r   r   r   r     s    z GetPreviewMediasRequest.__init__c                    s   | || jI d H | _d S r   rF   r#   r   r   r   r&      s    zGetPreviewMediasRequest.resolvec                 C   s"   dt | jtr| j n| jdS )Nr   rG   rH   r,   r   r   r   r+     s    zGetPreviewMediasRequest.to_dictc                 C   s   d d| j fS )Nr-   s   MYrI   r,   r   r   r   r/   	  s    zGetPreviewMediasRequest._bytesc                 C   s   |  }| |dS rJ   rK   rL   r   r   r   r:     s    z#GetPreviewMediasRequest.from_readerNrM   r   r   r   r   r     s   r   c                   @   sJ   e Zd ZdZdZdeddddZdd	 Zd
d Zdd Z	e
dd ZdS ) InvokeWebViewCustomMethodRequesti   RZ r   r   r   custom_methodparamsc                 C   s   || _ || _|| _dS z:
        :returns DataJSON: Instance of DataJSON.
        Nr   )r   r   r   r   r   r   r   r     s    z)InvokeWebViewCustomMethodRequest.__init__c                    s   | || jI d H | _d S r   rF   r#   r   r   r   r&   !  s    z(InvokeWebViewCustomMethodRequest.resolvec                 C   s@   dt | jtr| j n| j| jt | jtr6| j n| jdS )Nr   )r(   r   r   r   )r*   r   r   r+   r   r   r,   r   r   r   r+   $  s
    z(InvokeWebViewCustomMethodRequest.to_dictc                 C   s&   d d| j | | j| j fS )Nr-   s   )r.   r   r/   r0   r   r   r,   r   r   r   r/   ,  s    
z'InvokeWebViewCustomMethodRequest._bytesc                 C   s&   |  }| }|  }| |||dS )Nr   r2   )r5   r6   r7   _custom_method_paramsr   r   r   r:   4  s    z,InvokeWebViewCustomMethodRequest.from_readerNr;   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 )ReorderPreviewMediasRequestl   sOl rO   r   r   r   r   orderc                 C   s   || _ || _|| _dS rS   r   )r   r   r   r   r   r   r   r   @  s    z$ReorderPreviewMediasRequest.__init__c                    sD   | || jI d H | _g }| jD ]}||| q$|| _d S r   )r    r!   r   r   r_   r"   r`   r   r   r   r&   H  s
    
z#ReorderPreviewMediasRequest.resolvec                 C   sB   dt | jtr| j n| j| j| jd kr.g ndd | jD dS )Nr   c                 S   s"   g | ]}t |tr| n|qS r   rb   rc   r   r   r   rf   U  s     z7ReorderPreviewMediasRequest.to_dict.<locals>.<listcomp>)r(   r   r   r   )r*   r   r   r+   r   r   r,   r   r   r   r+   P  s
    z#ReorderPreviewMediasRequest.to_dictc                 C   sD   d d| j | | jdtdt| jd dd | jD fS )Nr-   s   'rg   rh   c                 s   s   | ]}|  V  qd S r   ri   rc   r   r   r   rj   ]  s     z5ReorderPreviewMediasRequest._bytes.<locals>.<genexpr>)	r.   r   r/   r0   r   rT   rU   rk   r   r,   r   r   r   r/   X  s    
  z"ReorderPreviewMediasRequest._bytesc                 C   sN   |  }| }|  g }t| D ]}|  }|| q(| |||dS )Nr   rl   )r5   r6   r7   r8   _orderr(   ra   r   r   r   r:   `  s    z'ReorderPreviewMediasRequest.from_readerNro   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   1. rO   r   r   r   c                 C   s   || _ || _dS rS   r   )r   r   r   r   r   r   r   q  s    z ReorderUsernamesRequest.__init__c                    s   | || jI d H | _d S r   rF   r#   r   r   r   r&   x  s    zReorderUsernamesRequest.resolvec                 C   s<   dt | jtr| j n| j| jd kr*g n| jd d  dS )Nr   )r(   r   r   )r*   r   r   r+   r   r,   r   r   r   r+   {  s    zReorderUsernamesRequest.to_dictc                    s>   d d j dtdt jd  fdd jD fS )Nr-   s   ±	rg   rh   c                 3   s   | ]}  |V  qd S r   )r0   rc   r,   r   r   rj     s     z1ReorderUsernamesRequest._bytes.<locals>.<genexpr>)r.   r   r/   rT   rU   rk   r   r,   r   r,   r   r/     s      zReorderUsernamesRequest._bytesc                 C   sD   |  }|  g }t| D ]}| }|| q | ||dS )Nr   )r3   rm   rn   r4   r_   )r5   r6   r7   r   r(   ra   r   r   r   r:     s    z#ReorderUsernamesRequest.from_readerN)r<   r=   r>   r?   r@   r   rA   r   r&   r+   r/   rB   r:   r   r   r   r   r   m  s   r   c                   @   s@   e Zd ZdZdZdedddZdd Zd	d
 Ze	dd Z
dS )ResetBotCommandsRequesti=rO   r   ru   c                 C   s   || _ || _dS rS   ru   rw   r   r   r   r     s    z ResetBotCommandsRequest.__init__c                 C   s&   dt | jtr| j n| j| jdS )Nr   rx   ry   r,   r   r   r   r+     s    zResetBotCommandsRequest.to_dictc                 C   s   d d| j | | jfS )Nr-   s   =rz   r,   r   r   r   r/     s
    
zResetBotCommandsRequest._bytesc                 C   s   |  }| }| ||dS r{   r2   r|   r   r   r   r:     s    z#ResetBotCommandsRequest.from_readerNr~   r   r   r   r   r     s   r   c                   @   s@   e Zd ZdZdZeddddZdd Zd	d
 Ze	dd Z
dS )SendCustomRequestRequestl   iNT r   r   r   r   c                 C   s   || _ || _dS r   r   )r   r   r   r   r   r   r     s    z!SendCustomRequestRequest.__init__c                 C   s&   d| j t| jtr| j n| jdS )Nr   )r(   r   r   )r   r*   r   r   r+   r,   r   r   r   r+     s    z SendCustomRequestRequest.to_dictc                 C   s   d d| | j| j fS )Nr-   s   i')r.   r0   r   r   r/   r,   r   r   r   r/     s
    
zSendCustomRequestRequest._bytesc                 C   s   |  }| }| ||dS )Nr   )r4   r3   )r5   r6   r   r   r   r   r   r:     s    z$SendCustomRequestRequest.from_readerNr~   r   r   r   r   r     s   r   c                   @   s>   e Zd ZdZdZddddZdd Zd	d
 Zedd Z	dS )(SetBotBroadcastDefaultAdminRightsRequestidxrO   r   admin_rightsc                 C   s
   || _ dS rS   r   r   r   r   r   r   r     s    z1SetBotBroadcastDefaultAdminRightsRequest.__init__c                 C   s"   dt | jtr| j n| jdS )Nr   r(   r   r*   r   r   r+   r,   r   r   r   r+     s    z0SetBotBroadcastDefaultAdminRightsRequest.to_dictc                 C   s   d d| j fS )Nr-   s   dxr.   r   r/   r,   r   r   r   r/     s    z/SetBotBroadcastDefaultAdminRightsRequest._bytesc                 C   s   |  }| |dS Nr   rK   r5   r6   Z_admin_rightsr   r   r   r:     s    z4SetBotBroadcastDefaultAdminRightsRequest.from_readerN
r<   r=   r>   r?   r@   r   r+   r/   rB   r:   r   r   r   r   r     s   r   c                   @   sF   e Zd ZdZdZdeed dddZdd	 Zd
d Z	e
dd ZdS )SetBotCommandsRequestiZrO   r   r
   rv   r   commandsc                 C   s   || _ || _|| _dS rS   r   )r   rv   r   r   r   r   r   r     s    zSetBotCommandsRequest.__init__c                 C   sB   dt | jtr| j n| j| j| jd kr.g ndd | jD dS )Nr   c                 S   s"   g | ]}t |tr| n|qS r   rb   rc   r   r   r   rf     s     z1SetBotCommandsRequest.to_dict.<locals>.<listcomp>)r(   rv   r   r   )r*   rv   r   r+   r   r   r,   r   r   r   r+     s
    zSetBotCommandsRequest.to_dictc                 C   sD   d d| j | | jdtdt| jd dd | jD fS )Nr-   s   Zrg   rh   c                 s   s   | ]}|  V  qd S r   ri   rc   r   r   r   rj   
  s     z/SetBotCommandsRequest._bytes.<locals>.<genexpr>)	r.   rv   r/   r0   r   rT   rU   rk   r   r,   r   r   r   r/     s    
  zSetBotCommandsRequest._bytesc                 C   sN   |  }| }|  g }t| D ]}|  }|| q(| |||dS )Nr   rl   )r5   r6   r}   r8   Z	_commandsr(   ra   r   r   r   r:     s    z!SetBotCommandsRequest.from_readerN)r<   r=   r>   r?   r@   rA   r   r   r+   r/   rB   r:   r   r   r   r   r     s   r   c                   @   s>   e Zd ZdZdZddddZdd Zd	d
 Zedd Z	dS )$SetBotGroupDefaultAdminRightsRequestl   I$ rO   r   r   c                 C   s
   || _ dS rS   r   r   r   r   r   r     s    z-SetBotGroupDefaultAdminRightsRequest.__init__c                 C   s"   dt | jtr| j n| jdS )Nr   r   r   r,   r   r   r   r+   $  s    z,SetBotGroupDefaultAdminRightsRequest.to_dictc                 C   s   d d| j fS )Nr-   s   ^r   r,   r   r   r   r/   *  s    z+SetBotGroupDefaultAdminRightsRequest._bytesc                 C   s   |  }| |dS r   rK   r   r   r   r   r:   0  s    z0SetBotGroupDefaultAdminRightsRequest.from_readerNr   r   r   r   r   r     s   r   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rO   Nr   r   r   nameaboutdescriptionc                 C   s"   || _ || _|| _|| _|| _dS rS   r   )r   r   r   r   r   r   r   r   r   r   :  s
    zSetBotInfoRequest.__init__c                    s$   | j r ||| j I d H | _ d S r   r   r#   r   r   r   r&   D  s    zSetBotInfoRequest.resolvec                 C   s2   d| j t| jtr| j n| j| j| j| jdS )Nr   )r(   r   r   r   r   r   )r   r*   r   r   r+   r   r   r   r,   r   r   r   r+   H  s    zSetBotInfoRequest.to_dictc                 C   s  d dtd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | jd ksV| jdkrZdndB | jd ksr| jdkrvdnd	B | jd ks| jdkrdn| j | | j	| jd ks| jdkrdn
| | j| jd ks| jdkrdn
| | j| jd ks| jdkrdn
| | jfS )
Nr-   s   #1r   Fr         r      )
r.   rT   rU   r   r   r   r   r/   r0   r   r,   r   r   r   r/   R  s    v 
""&zSetBotInfoRequest._bytesc                 C   sz   |  }|d@ r| }nd }| }|d@ r8| }nd }|d@ rN| }nd }|d@ rd| }nd }| |||||dS )Nr   r   r   r   r   r   )r5   r6   r   r7   r8   _nameZ_aboutZ_descriptionr   r   r   r:   ]  s    



zSetBotInfoRequest.from_reader)NNNNr   r   r   r   r   r   6  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 )SetBotMenuButtonRequestiOErO   r   r   r   buttonc                 C   s   || _ || _dS rS   r   )r   r   r   r   r   r   r   y  s    z SetBotMenuButtonRequest.__init__c                    s   | || jI d H | _d S r   r   r#   r   r   r   r&     s    zSetBotMenuButtonRequest.resolvec                 C   s<   dt | jtr| j n| jt | jtr2| j n| jdS )Nr   )r(   r   r   )r*   r   r   r+   r   r,   r   r   r   r+     s    zSetBotMenuButtonRequest.to_dictc                 C   s   d d| j | j fS )Nr-   s   OE)r.   r   r/   r   r,   r   r   r   r/     s
    zSetBotMenuButtonRequest._bytesc                 C   s   |  }|  }| ||dS )Nr   rK   )r5   r6   r   Z_buttonr   r   r   r:     s    z#SetBotMenuButtonRequest.from_readerNrM   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   _ rO   Nr   r   peerenabledr   custom_descriptionc                 C   s   || _ || _|| _|| _dS rS   r   )r   r   r   r   r   r   r   r   r     s    z%SetCustomVerificationRequest.__init__c                    s>   | || jI d H | _| jr:||| jI d H | _d S r   )Zget_input_peerr!   r   r   r    r#   r   r   r   r&     s    z$SetCustomVerificationRequest.resolvec                 C   sD   dt | jtr| j n| j| jt | jtr6| 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 dtd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | jd ksV| jdkrZdndB | jd kst| jdkrxdn| j | j | jd ks| jdkrdn
| | jfS )	Nr-   s   ߉r   Fr   r   r   r   )	r.   rT   rU   r   r   r   r/   r   r0   r,   r   r   r   r/     s    Z "z#SetCustomVerificationRequest._bytesc                 C   sX   |  }t|d@ }|d@ r&| }nd }| }|d@ rD| }nd }| ||||dS )Nr   r   r   r   )rm   boolr3   r4   )r5   r6   r   _enabledr7   Z_peerZ_custom_descriptionr   r   r   r:     s    

z(SetCustomVerificationRequest.from_reader)NNN)r<   r=   r>   r?   r@   r   r   rA   r   r&   r+   r/   rB   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rO   r   r   r   c                 C   s   || _ || _dS rS   r   )r   r   r   r   r   r   r     s    z/ToggleUserEmojiStatusPermissionRequest.__init__c                    s   | || jI d H | _d S r   rF   r#   r   r   r   r&     s    z.ToggleUserEmojiStatusPermissionRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr   )r(   r   r   )r*   r   r   r+   r   r,   r   r   r   r+     s    z.ToggleUserEmojiStatusPermissionRequest.to_dictc                 C   s    d d| j | jrdndfS )Nr-   s   c   ur   7y)r.   r   r/   r   r,   r   r   r   r/     s
    z-ToggleUserEmojiStatusPermissionRequest._bytesc                 C   s   |  }| }| ||dS )Nr   )r3   tgread_bool)r5   r6   r7   r   r   r   r   r:     s    z2ToggleUserEmojiStatusPermissionRequest.from_readerN)r<   r=   r>   r?   r@   r   r   r&   r+   r/   rB   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<rO   r   r   usernameactivec                 C   s   || _ || _|| _dS rS   r   )r   r   r   r   r   r   r   r     s    zToggleUsernameRequest.__init__c                    s   | || jI d H | _d S r   rF   r#   r   r   r   r&     s    zToggleUsernameRequest.resolvec                 C   s*   dt | jtr| j n| j| j| jdS )Nr   )r(   r   r   r   )r*   r   r   r+   r   r   r,   r   r   r   r+     s
    zToggleUsernameRequest.to_dictc                 C   s*   d d| j | | j| jr"dndfS )Nr-   s   s<r   r   )r.   r   r/   r0   r   r   r,   r   r   r   r/     s    
zToggleUsernameRequest._bytesc                 C   s&   |  }| }| }| |||dS )Nr   )r3   r4   r   )r5   r6   r7   Z	_username_activer   r   r   r:     s    z!ToggleUsernameRequest.from_readerN)r<   r=   r>   r?   r@   rA   r   r   r&   r+   r/   rB   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.
        Nr   )r   r   r   r   r   r   r   r     s    z$UpdateStarRefProgramRequest.__init__c                    s   | || jI d H | _d S r   rF   r#   r   r   r   r&   #  s    z#UpdateStarRefProgramRequest.resolvec                 C   s*   dt | jtr| j n| j| j| jdS )Nr   )r(   r   r   r   )r*   r   r   r+   r   r   r,   r   r   r   r+   &  s
    z#UpdateStarRefProgramRequest.to_dictc              
   C   sf   d dtd| jd ks | jdkr$dnd| j td| j| jd ksP| jdkrTdntd| jfS )Nr-   s   Zwr   Fr   r   rh   )r.   rT   rU   r   r   r/   r   r,   r   r   r   r/   .  s    "$z"UpdateStarRefProgramRequest._bytesc                 C   s<   |  }| }|  }|d@ r*|  }nd }| |||dS )Nr   r   )rm   r3   )r5   r6   r   r7   Z_commission_permilleZ_duration_monthsr   r   r   r:   7  s    
z'UpdateStarRefProgramRequest.from_reader)N)r<   r=   r>   r?   r@   rW   r   r   r&   r+   r/   rB   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>[ rO   r   r   r   emoji_statusc                 C   s   || _ || _dS rS   r   )r   r   r   r   r   r   r   H  s    z%UpdateUserEmojiStatusRequest.__init__c                    s   | || jI d H | _d S r   r   r#   r   r   r   r&   O  s    z$UpdateUserEmojiStatusRequest.resolvec                 C   s<   dt | jtr| j n| jt | jtr2| j n| jdS )Nr   )r(   r   r   )r*   r   r   r+   r   r,   r   r   r   r+   R  s    z$UpdateUserEmojiStatusRequest.to_dictc                 C   s   d d| j | j fS )Nr-   s   0)r.   r   r/   r   r,   r   r   r   r/   Y  s
    z#UpdateUserEmojiStatusRequest._bytesc                 C   s   |  }|  }| ||dS )Nr   rK   )r5   r6   r   Z_emoji_statusr   r   r   r:   `  s    z(UpdateUserEmojiStatusRequest.from_readerNrM   r   r   r   r   r   D  s   r   )4__doc__Ztl.tlobjectr   r   typingr   r   r   r   osrT   r	   Ztl.typesr
   r   r   r   r   r   r   r   r   r   rC   rN   rX   rY   r^   rp   rs   rt   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   <module>   sL   ,( '1- * #'1(  )?#5#'-