Source code for hydrogram.raw.functions.photos.upload_profile_photo
# 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]classUploadProfilePhoto(TLObject):# type: ignore"""Updates current user profile photo. Details: - Layer: ``181`` - ID: ``388A3B5`` Parameters: fallback (``bool``, *optional*): If set, the chosen profile photo will be shown to users that can't display your main profile photo due to your privacy settings. bot (:obj:`InputUser <hydrogram.raw.base.InputUser>`, *optional*): Can contain info of a bot we own, to change the profile photo of that bot, instead of the current user. file (:obj:`InputFile <hydrogram.raw.base.InputFile>`, *optional*): Profile photo video (:obj:`InputFile <hydrogram.raw.base.InputFile>`, *optional*): Animated profile picture video video_start_ts (``float`` ``64-bit``, *optional*): Floating point UNIX timestamp in seconds, indicating the frame of the video/sticker that should be used as static preview; can only be used if video or video_emoji_markup is set. video_emoji_markup (:obj:`VideoSize <hydrogram.raw.base.VideoSize>`, *optional*): Animated sticker profile picture, must contain either a videoSizeEmojiMarkup or a videoSizeStickerMarkup constructor. Returns: :obj:`photos.Photo <hydrogram.raw.base.photos.Photo>` """__slots__:List[str]=["fallback","bot","file","video","video_start_ts","video_emoji_markup"]ID=0x388a3b5QUALNAME="functions.photos.UploadProfilePhoto"def__init__(self,*,fallback:Optional[bool]=None,bot:"raw.base.InputUser"=None,file:"raw.base.InputFile"=None,video:"raw.base.InputFile"=None,video_start_ts:Optional[float]=None,video_emoji_markup:"raw.base.VideoSize"=None)->None:self.fallback=fallback# flags.3?trueself.bot=bot# flags.5?InputUserself.file=file# flags.0?InputFileself.video=video# flags.1?InputFileself.video_start_ts=video_start_ts# flags.2?doubleself.video_emoji_markup=video_emoji_markup# flags.4?VideoSize@staticmethoddefread(b:BytesIO,*args:Any)->"UploadProfilePhoto":flags=Int.read(b)fallback=Trueifflags&(1<<3)elseFalsebot=TLObject.read(b)ifflags&(1<<5)elseNonefile=TLObject.read(b)ifflags&(1<<0)elseNonevideo=TLObject.read(b)ifflags&(1<<1)elseNonevideo_start_ts=Double.read(b)ifflags&(1<<2)elseNonevideo_emoji_markup=TLObject.read(b)ifflags&(1<<4)elseNonereturnUploadProfilePhoto(fallback=fallback,bot=bot,file=file,video=video,video_start_ts=video_start_ts,video_emoji_markup=video_emoji_markup)defwrite(self,*args)->bytes:b=BytesIO()b.write(Int(self.ID,False))flags=0flags|=(1<<3)ifself.fallbackelse0flags|=(1<<5)ifself.botisnotNoneelse0flags|=(1<<0)ifself.fileisnotNoneelse0flags|=(1<<1)ifself.videoisnotNoneelse0flags|=(1<<2)ifself.video_start_tsisnotNoneelse0flags|=(1<<4)ifself.video_emoji_markupisnotNoneelse0b.write(Int(flags))ifself.botisnotNone:b.write(self.bot.write())ifself.fileisnotNone:b.write(self.file.write())ifself.videoisnotNone:b.write(self.video.write())ifself.video_start_tsisnotNone:b.write(Double(self.video_start_ts))ifself.video_emoji_markupisnotNone:b.write(self.video_emoji_markup.write())returnb.getvalue()