set_profile_photo()#

Client.set_profile_photo()#

Set a new profile photo or video (H.264/MPEG-4 AVC video, max 5 seconds).

The photo and video arguments are mutually exclusive. Pass either one as named argument (see examples below).

Usable by Users Bots
Parameters:
  • photo (str | io.BytesIO, optional) – Profile photo to set. Pass a file path as string to upload a new photo that exists on your local machine or pass a binary file-like object with its attribute “.name” set for in-memory uploads.

  • video (str | io.BytesIO, optional) – Profile video to set. Pass a file path as string to upload a new video that exists on your local machine or pass a binary file-like object with its attribute “.name” set for in-memory uploads.

  • public (bool, optional) – Pass True to upload a public profile photo for users who are restricted from viewing your real profile photos due to your privacy settings. Defaults to False.

  • for_my_bot (int | str, optional) – Unique identifier (int) or username (str) of the bot for which profile photo has to be updated instead of the current user. The bot should have can_be_edited property set to True.

  • photo_frame_start_timestamp (float, 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.

Returns:

bool – True on success.

Example

# Set a new profile photo
await app.set_profile_photo(photo="new_photo.jpg")

# Set a new profile video
await app.set_profile_photo(video="new_video.mp4")