mirror of
https://github.com/aiogram/aiogram.git
synced 2026-04-08 16:37:47 +00:00
* Re-generate API * Added new modules * Added handling new event type and approve/decline aliases for ChatJoinRequest * Fixed code-coverage * Bump API version * Added patch-notes
32 lines
1.1 KiB
Python
32 lines
1.1 KiB
Python
from __future__ import annotations
|
|
|
|
from typing import TYPE_CHECKING, Any, Dict, Union
|
|
|
|
from ..types import InputFile
|
|
from .base import Request, TelegramMethod, prepare_file
|
|
|
|
if TYPE_CHECKING:
|
|
from ..client.bot import Bot
|
|
|
|
|
|
class SetChatPhoto(TelegramMethod[bool]):
|
|
"""
|
|
Use this method to set a new profile photo for the chat. Photos can't be changed for private chats. The bot must be an administrator in the chat for this to work and must have the appropriate administrator rights. Returns :code:`True` on success.
|
|
|
|
Source: https://core.telegram.org/bots/api#setchatphoto
|
|
"""
|
|
|
|
__returning__ = bool
|
|
|
|
chat_id: Union[int, str]
|
|
"""Unique identifier for the target chat or username of the target channel (in the format :code:`@channelusername`)"""
|
|
photo: InputFile
|
|
"""New chat photo, uploaded using multipart/form-data"""
|
|
|
|
def build_request(self, bot: Bot) -> Request:
|
|
data: Dict[str, Any] = self.dict(exclude={"photo"})
|
|
|
|
files: Dict[str, InputFile] = {}
|
|
prepare_file(data=data, files=files, name="photo", value=self.photo)
|
|
|
|
return Request(method="setChatPhoto", data=data, files=files)
|