Source code for hydrogram.raw.functions.phone.request_call
# 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]classRequestCall(TLObject):# type: ignore"""Start a telegram phone call Details: - Layer: ``181`` - ID: ``42FF96ED`` Parameters: user_id (:obj:`InputUser <hydrogram.raw.base.InputUser>`): Destination of the phone call random_id (``int`` ``32-bit``): Random ID to avoid resending the same object g_a_hash (``bytes``): Parameter for E2E encryption key exchange » protocol (:obj:`PhoneCallProtocol <hydrogram.raw.base.PhoneCallProtocol>`): Phone call settings video (``bool``, *optional*): Whether to start a video call Returns: :obj:`phone.PhoneCall <hydrogram.raw.base.phone.PhoneCall>` """__slots__:List[str]=["user_id","random_id","g_a_hash","protocol","video"]ID=0x42ff96edQUALNAME="functions.phone.RequestCall"def__init__(self,*,user_id:"raw.base.InputUser",random_id:int,g_a_hash:bytes,protocol:"raw.base.PhoneCallProtocol",video:Optional[bool]=None)->None:self.user_id=user_id# InputUserself.random_id=random_id# intself.g_a_hash=g_a_hash# bytesself.protocol=protocol# PhoneCallProtocolself.video=video# flags.0?true@staticmethoddefread(b:BytesIO,*args:Any)->"RequestCall":flags=Int.read(b)video=Trueifflags&(1<<0)elseFalseuser_id=TLObject.read(b)random_id=Int.read(b)g_a_hash=Bytes.read(b)protocol=TLObject.read(b)returnRequestCall(user_id=user_id,random_id=random_id,g_a_hash=g_a_hash,protocol=protocol,video=video)defwrite(self,*args)->bytes:b=BytesIO()b.write(Int(self.ID,False))flags=0flags|=(1<<0)ifself.videoelse0b.write(Int(flags))b.write(self.user_id.write())b.write(Int(self.random_id))b.write(Bytes(self.g_a_hash))b.write(self.protocol.write())returnb.getvalue()