3
uQh                 @   s   d Z ddlmZ ddlmZ ddlmZmZmZmZ ddl	Z	ddl
Z
ddlmZ erdddlmZmZ G d	d
 d
eZG dd deZG dd deZdS )zBFile generated by TLObjects' generator. All changes will be ERASED   )TLObject)	TLRequest    )OptionalListUnionTYPE_CHECKINGN)datetime)TypeChannelMessagesFilterTypeInputChannelc               @   sT   e Zd ZdZdZdddeeee dddZd	d
 Z	dd Z
dd Zedd ZdS )GetChannelDifferenceRequestix=i]o)Nr   r
   )channelfilterptslimitforcec             C   s"   || _ || _|| _|| _|| _dS )z
        :returns updates.ChannelDifference: Instance of either ChannelDifferenceEmpty, ChannelDifferenceTooLong, ChannelDifference.
        N)r   r   r   r   r   )selfr   r   r   r   r    r   A/tmp/pip-build-2nz6shyl/telethon/telethon/tl/functions/updates.py__init__   s
    z$GetChannelDifferenceRequest.__init__c                s   |j |j| jI d H | _d S )N)Zget_input_channelZget_input_entityr   )r   clientutilsr   r   r   resolve   s    z#GetChannelDifferenceRequest.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   )
isinstancer   r   to_dictr   r   r   r   )r   r   r   r   r      s    z#GetChannelDifferenceRequest.to_dictc          	   C   sV   dj dtjd| jd ks | jdkr$dnd| jj | jj tjd| jtjd| jfS )N    s   x=z<IFr      z<i)	joinstructpackr   r   _bytesr   r   r   )r   r   r   r   r!   (   s    "z"GetChannelDifferenceRequest._bytesc             C   sF   |j  }t|d@ }|j }|j }|j  }|j  }| |||||dS )Nr   )r   r   r   r   r   )read_intboolZtgread_object)clsreaderflagsZ_forceZ_channelZ_filter_ptsZ_limitr   r   r   from_reader2   s    z'GetChannelDifferenceRequest.from_reader)N)__name__
__module____qualname__CONSTRUCTOR_IDSUBCLASS_OF_IDintr   r#   r   r   r   r!   classmethodr(   r   r   r   r   r      s   


r   c               @   sZ   e Zd ZdZdZdeee eee ee ee dddZdd Z	d	d
 Z
edd ZdS )GetDifferenceRequesticit(H N)r   dateqts	pts_limitpts_total_limit	qts_limitc             C   s(   || _ || _|| _|| _|| _|| _dS )z
        :returns updates.Difference: Instance of either DifferenceEmpty, Difference, DifferenceSlice, DifferenceTooLong.
        N)r   r1   r2   r3   r4   r5   )r   r   r1   r2   r3   r4   r5   r   r   r   r   B   s    zGetDifferenceRequest.__init__c             C   s    d| j | j| j| j| j| jdS )Nr0   )r   r   r1   r2   r3   r4   r5   )r   r1   r2   r3   r4   r5   )r   r   r   r   r   M   s    zGetDifferenceRequest.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 tjd	| 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| j| jtjd	| j	| jd ks| jdkrdntjd	| jfS )
Nr   s   cz<IFr      r      z<i)
r   r   r    r3   r4   r5   r   Zserialize_datetimer1   r2   )r   r   r   r   r!   X   s    Z$$
zGetDifferenceRequest._bytesc       	      C   sv   |j  }|j  }|d@ r"|j  }nd }|d@ r8|j  }nd }|j }|j  }|d@ r^|j  }nd }| ||||||dS )Nr6   r   r7   )r   r1   r2   r3   r4   r5   )r"   Ztgread_date)	r$   r%   r&   r'   Z
_pts_limitZ_pts_total_limitZ_dateZ_qtsZ
_qts_limitr   r   r   r(   d   s    


z GetDifferenceRequest.from_reader)NNN)r)   r*   r+   r,   r-   r.   r   r	   r   r   r!   r/   r(   r   r   r   r   r0   >   s   *r0   c               @   s0   e Zd ZdZdZdd Zdd Zedd Zd	S )
GetStateRequestl   *[ i#c             C   s   ddiS )Nr   r8   r   )r   r   r   r   r   ~   s    zGetStateRequest.to_dictc             C   s
   dj dS )Nr      *)r9   )r   )r   r   r   r   r!      s    zGetStateRequest._bytesc             C   s   |  S )Nr   )r$   r%   r   r   r   r(      s    zGetStateRequest.from_readerN)	r)   r*   r+   r,   r-   r   r!   r/   r(   r   r   r   r   r8   z   s
   r8   )__doc__Ztl.tlobjectr   r   typingr   r   r   r   osr   r	   Ztl.typesr
   r   r   r0   r8   r   r   r   r   <module>   s   1<