Source code for hydrogram.raw.functions.updates.get_difference
# Hydrogram - Telegram MTProto API Client Library for Python# Copyright (C) 2023-present Hydrogram <https://hydrogram.org>## This file is part of Hydrogram.## Hydrogram is free software: you can redistribute it and/or modify# it under the terms of the GNU Lesser General Public License as published# by the Free Software Foundation, either version 3 of the License, or# (at your option) any later version.## Hydrogram is distributed in the hope that it will be useful,# but WITHOUT ANY WARRANTY; without even the implied warranty of# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the# GNU Lesser General Public License for more details.## You should have received a copy of the GNU Lesser General Public License# along with Hydrogram. If not, see <http://www.gnu.org/licenses/>.fromioimportBytesIOfromhydrogram.raw.core.primitivesimportInt,Long,Int128,Int256,Bool,Bytes,String,Double,Vectorfromhydrogram.raw.coreimportTLObjectfromhydrogramimportrawfromtypingimportList,Optional,Any# # # # # # # # # # # # # # # # # # # # # # # ## !!! WARNING !!! ## This is a generated file! ## All changes made in this file will be lost! ## # # # # # # # # # # # # # # # # # # # # # # #
[docs]classGetDifference(TLObject):# type: ignore"""Get new updates. Details: - Layer: ``181`` - ID: ``19C2F763`` Parameters: pts (``int`` ``32-bit``): PTS, see updates. date (``int`` ``32-bit``): date, see updates. qts (``int`` ``32-bit``): QTS, see updates. pts_limit (``int`` ``32-bit``, *optional*): PTS limit pts_total_limit (``int`` ``32-bit``, *optional*): For fast updating: if provided and pts + pts_total_limit < remote pts, updates.differenceTooLong will be returned.Simply tells the server to not return the difference if it is bigger than pts_total_limitIf the remote pts is too big (> ~4000000), this field will default to 1000000 qts_limit (``int`` ``32-bit``, *optional*): QTS limit Returns: :obj:`updates.Difference <hydrogram.raw.base.updates.Difference>` """__slots__:List[str]=["pts","date","qts","pts_limit","pts_total_limit","qts_limit"]ID=0x19c2f763QUALNAME="functions.updates.GetDifference"def__init__(self,*,pts:int,date:int,qts:int,pts_limit:Optional[int]=None,pts_total_limit:Optional[int]=None,qts_limit:Optional[int]=None)->None:self.pts=pts# intself.date=date# intself.qts=qts# intself.pts_limit=pts_limit# flags.1?intself.pts_total_limit=pts_total_limit# flags.0?intself.qts_limit=qts_limit# flags.2?int@staticmethoddefread(b:BytesIO,*args:Any)->"GetDifference":flags=Int.read(b)pts=Int.read(b)pts_limit=Int.read(b)ifflags&(1<<1)elseNonepts_total_limit=Int.read(b)ifflags&(1<<0)elseNonedate=Int.read(b)qts=Int.read(b)qts_limit=Int.read(b)ifflags&(1<<2)elseNonereturnGetDifference(pts=pts,date=date,qts=qts,pts_limit=pts_limit,pts_total_limit=pts_total_limit,qts_limit=qts_limit)defwrite(self,*args)->bytes:b=BytesIO()b.write(Int(self.ID,False))flags=0flags|=(1<<1)ifself.pts_limitisnotNoneelse0flags|=(1<<0)ifself.pts_total_limitisnotNoneelse0flags|=(1<<2)ifself.qts_limitisnotNoneelse0b.write(Int(flags))b.write(Int(self.pts))ifself.pts_limitisnotNone:b.write(Int(self.pts_limit))ifself.pts_total_limitisnotNone:b.write(Int(self.pts_total_limit))b.write(Int(self.date))b.write(Int(self.qts))ifself.qts_limitisnotNone:b.write(Int(self.qts_limit))returnb.getvalue()