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).

Note

This method only works for Users. Bots profile photos must be set using BotFather.

Usable by Users Bots
Parameters:
  • photo (str | BinaryIO, 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.

  • emoji (int, optional) – Unique identifier (int) of the emoji to be used as the profile photo.

  • emoji_background (int | List[int], optional) – hexadecimal colors or List of hexadecimal colors to be used as the chat photo background.

  • video (str | BinaryIO, 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.

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")