Source code for hydrogram.raw.functions.messages.request_encryption
# 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]classRequestEncryption(TLObject):# type: ignore"""Sends a request to start a secret chat to the user. Details: - Layer: ``181`` - ID: ``F64DAF43`` Parameters: user_id (:obj:`InputUser <hydrogram.raw.base.InputUser>`): User ID random_id (``int`` ``32-bit``): Unique client request ID required to prevent resending. This also doubles as the chat ID. g_a (``bytes``): A = g ^ a mod p, see Wikipedia Returns: :obj:`EncryptedChat <hydrogram.raw.base.EncryptedChat>` """__slots__:List[str]=["user_id","random_id","g_a"]ID=0xf64daf43QUALNAME="functions.messages.RequestEncryption"def__init__(self,*,user_id:"raw.base.InputUser",random_id:int,g_a:bytes)->None:self.user_id=user_id# InputUserself.random_id=random_id# intself.g_a=g_a# bytes@staticmethoddefread(b:BytesIO,*args:Any)->"RequestEncryption":# No flagsuser_id=TLObject.read(b)random_id=Int.read(b)g_a=Bytes.read(b)returnRequestEncryption(user_id=user_id,random_id=random_id,g_a=g_a)defwrite(self,*args)->bytes:b=BytesIO()b.write(Int(self.ID,False))# No flagsb.write(self.user_id.write())b.write(Int(self.random_id))b.write(Bytes(self.g_a))returnb.getvalue()