Source code for hydrogram.raw.functions.account.update_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]classUpdateTheme(TLObject):# type: ignore"""Update theme Details: - Layer: ``181`` - ID: ``2BF40CCC`` Parameters: format (``str``): Theme format, a string that identifies the theming engines supported by the client theme (:obj:`InputTheme <hydrogram.raw.base.InputTheme>`): Theme to update slug (``str``, *optional*): Unique theme ID title (``str``, *optional*): Theme name document (:obj:`InputDocument <hydrogram.raw.base.InputDocument>`, *optional*): Theme file settings (List of :obj:`InputThemeSettings <hydrogram.raw.base.InputThemeSettings>`, *optional*): Theme settings Returns: :obj:`Theme <hydrogram.raw.base.Theme>` """__slots__:List[str]=["format","theme","slug","title","document","settings"]ID=0x2bf40cccQUALNAME="functions.account.UpdateTheme"def__init__(self,*,format:str,theme:"raw.base.InputTheme",slug:Optional[str]=None,title:Optional[str]=None,document:"raw.base.InputDocument"=None,settings:Optional[List["raw.base.InputThemeSettings"]]=None)->None:self.format=format# stringself.theme=theme# InputThemeself.slug=slug# flags.0?stringself.title=title# flags.1?stringself.document=document# flags.2?InputDocumentself.settings=settings# flags.3?Vector<InputThemeSettings>@staticmethoddefread(b:BytesIO,*args:Any)->"UpdateTheme":flags=Int.read(b)format=String.read(b)theme=TLObject.read(b)slug=String.read(b)ifflags&(1<<0)elseNonetitle=String.read(b)ifflags&(1<<1)elseNonedocument=TLObject.read(b)ifflags&(1<<2)elseNonesettings=TLObject.read(b)ifflags&(1<<3)else[]returnUpdateTheme(format=format,theme=theme,slug=slug,title=title,document=document,settings=settings)defwrite(self,*args)->bytes:b=BytesIO()b.write(Int(self.ID,False))flags=0flags|=(1<<0)ifself.slugisnotNoneelse0flags|=(1<<1)ifself.titleisnotNoneelse0flags|=(1<<2)ifself.documentisnotNoneelse0flags|=(1<<3)ifself.settingselse0b.write(Int(flags))b.write(String(self.format))b.write(self.theme.write())ifself.slugisnotNone:b.write(String(self.slug))ifself.titleisnotNone:b.write(String(self.title))ifself.documentisnotNone:b.write(self.document.write())ifself.settingsisnotNone:b.write(Vector(self.settings))returnb.getvalue()