Source code for hydrogram.raw.functions.account.create_theme
# 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]classCreateTheme(TLObject):# type: ignore"""Create a theme Details: - Layer: ``181`` - ID: ``652E4400`` Parameters: slug (``str``): Unique theme ID used to generate theme deep links, can be empty to autogenerate a random ID. title (``str``): Theme name document (:obj:`InputDocument <hydrogram.raw.base.InputDocument>`, *optional*): Theme file settings (List of :obj:`InputThemeSettings <hydrogram.raw.base.InputThemeSettings>`, *optional*): Theme settings, multiple values can be provided for the different base themes (day/night mode, etc). Returns: :obj:`Theme <hydrogram.raw.base.Theme>` """__slots__:List[str]=["slug","title","document","settings"]ID=0x652e4400QUALNAME="functions.account.CreateTheme"def__init__(self,*,slug:str,title:str,document:"raw.base.InputDocument"=None,settings:Optional[List["raw.base.InputThemeSettings"]]=None)->None:self.slug=slug# stringself.title=title# stringself.document=document# flags.2?InputDocumentself.settings=settings# flags.3?Vector<InputThemeSettings>@staticmethoddefread(b:BytesIO,*args:Any)->"CreateTheme":flags=Int.read(b)slug=String.read(b)title=String.read(b)document=TLObject.read(b)ifflags&(1<<2)elseNonesettings=TLObject.read(b)ifflags&(1<<3)else[]returnCreateTheme(slug=slug,title=title,document=document,settings=settings)defwrite(self,*args)->bytes:b=BytesIO()b.write(Int(self.ID,False))flags=0flags|=(1<<2)ifself.documentisnotNoneelse0flags|=(1<<3)ifself.settingselse0b.write(Int(flags))b.write(String(self.slug))b.write(String(self.title))ifself.documentisnotNone:b.write(self.document.write())ifself.settingsisnotNone:b.write(Vector(self.settings))returnb.getvalue()