Source code for hydrogram.raw.functions.account.init_takeout_session
# 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]classInitTakeoutSession(TLObject):# type: ignore"""Initialize a takeout session, see here » for more info. Details: - Layer: ``181`` - ID: ``8EF3EAB0`` Parameters: contacts (``bool``, *optional*): Whether to export contacts message_users (``bool``, *optional*): Whether to export messages in private chats message_chats (``bool``, *optional*): Whether to export messages in basic groups message_megagroups (``bool``, *optional*): Whether to export messages in supergroups message_channels (``bool``, *optional*): Whether to export messages in channels files (``bool``, *optional*): Whether to export files file_max_size (``int`` ``64-bit``, *optional*): Maximum size of files to export Returns: :obj:`account.Takeout <hydrogram.raw.base.account.Takeout>` """__slots__:List[str]=["contacts","message_users","message_chats","message_megagroups","message_channels","files","file_max_size"]ID=0x8ef3eab0QUALNAME="functions.account.InitTakeoutSession"def__init__(self,*,contacts:Optional[bool]=None,message_users:Optional[bool]=None,message_chats:Optional[bool]=None,message_megagroups:Optional[bool]=None,message_channels:Optional[bool]=None,files:Optional[bool]=None,file_max_size:Optional[int]=None)->None:self.contacts=contacts# flags.0?trueself.message_users=message_users# flags.1?trueself.message_chats=message_chats# flags.2?trueself.message_megagroups=message_megagroups# flags.3?trueself.message_channels=message_channels# flags.4?trueself.files=files# flags.5?trueself.file_max_size=file_max_size# flags.5?long@staticmethoddefread(b:BytesIO,*args:Any)->"InitTakeoutSession":flags=Int.read(b)contacts=Trueifflags&(1<<0)elseFalsemessage_users=Trueifflags&(1<<1)elseFalsemessage_chats=Trueifflags&(1<<2)elseFalsemessage_megagroups=Trueifflags&(1<<3)elseFalsemessage_channels=Trueifflags&(1<<4)elseFalsefiles=Trueifflags&(1<<5)elseFalsefile_max_size=Long.read(b)ifflags&(1<<5)elseNonereturnInitTakeoutSession(contacts=contacts,message_users=message_users,message_chats=message_chats,message_megagroups=message_megagroups,message_channels=message_channels,files=files,file_max_size=file_max_size)defwrite(self,*args)->bytes:b=BytesIO()b.write(Int(self.ID,False))flags=0flags|=(1<<0)ifself.contactselse0flags|=(1<<1)ifself.message_userselse0flags|=(1<<2)ifself.message_chatselse0flags|=(1<<3)ifself.message_megagroupselse0flags|=(1<<4)ifself.message_channelselse0flags|=(1<<5)ifself.fileselse0flags|=(1<<5)ifself.file_max_sizeisnotNoneelse0b.write(Int(flags))ifself.file_max_sizeisnotNone:b.write(Long(self.file_max_size))returnb.getvalue()