@@ -6740,12 +6740,23 @@ class InputMedia(Dictionaryable, JsonSerializable):
67406740 * :class:`InputMediaPhoto`
67416741 * :class:`InputMediaVideo`
67426742 """
6743- def __init__(self, type, media, caption=None, parse_mode=None, caption_entities=None):
6743+ def __init__(self, type, media, caption=None, parse_mode=None, caption_entities=None, thumbnail=None ):
67446744 self.type: str = type
67456745 self.media: str = media
67466746 self.caption: Optional[str] = caption
67476747 self.parse_mode: Optional[str] = parse_mode
67486748 self.caption_entities: Optional[List[MessageEntity]] = caption_entities
6749+ self.thumbnail: Optional[Union[str, InputFile]] = thumbnail
6750+
6751+ if thumbnail is None:
6752+ self._thumbnail_name = ''
6753+ self._thumbnail_dic = None
6754+ elif service_utils.is_string(self.thumbnail):
6755+ self._thumbnail_name = ''
6756+ self._thumbnail_dic = self.thumbnail
6757+ else:
6758+ self._thumbnail_name = service_utils.generate_random_token()
6759+ self._thumbnail_dic = 'attach://{0}'.format(self._thumbnail_name)
67496760
67506761 if service_utils.is_string(self.media):
67516762 self._media_name = ''
@@ -6759,6 +6770,8 @@ def to_json(self):
67596770
67606771 def to_dict(self):
67616772 json_dict = {'type': self.type, 'media': self._media_dic}
6773+ if self._thumbnail_dic:
6774+ json_dict['thumbnail'] = self._thumbnail_dic
67626775 if self.caption:
67636776 json_dict['caption'] = self.caption
67646777 if self.parse_mode:
@@ -6773,8 +6786,12 @@ def convert_input_media(self):
67736786 """
67746787 if service_utils.is_string(self.media):
67756788 return self.to_json(), None
6789+
6790+ media_dict = {self._media_name: self.media}
6791+ if self._thumbnail_name:
6792+ media_dict[self._thumbnail_name] = self.thumbnail
67766793
6777- return self.to_json(), {self._media_name: self.media}
6794+ return self.to_json(), media_dict
67786795
67796796
67806797class InputMediaPhoto(InputMedia):
@@ -6895,8 +6912,7 @@ def __init__(self, media: Union[str, InputFile], thumbnail: Optional[Union[str,
68956912 show_caption_above_media: Optional[bool] = None, cover: Optional[Union[str, InputFile]] = None,
68966913 start_timestamp: Optional[int] = None):
68976914 super(InputMediaVideo, self).__init__(
6898- type="video", media=media, caption=caption, parse_mode=parse_mode, caption_entities=caption_entities)
6899- self.thumbnail: Optional[Union[str, InputFile]] = thumbnail
6915+ type="video", media=media, caption=caption, parse_mode=parse_mode, caption_entities=caption_entities, thumbnail=thumbnail)
69006916 self.width: Optional[int] = width
69016917 self.height: Optional[int] = height
69026918 self.duration: Optional[int] = duration
@@ -6913,8 +6929,6 @@ def thumb(self) -> Optional[Union[str, Any]]:
69136929
69146930 def to_dict(self):
69156931 ret = super(InputMediaVideo, self).to_dict()
6916- if self.thumbnail:
6917- ret['thumbnail'] = self.thumbnail
69186932 if self.width:
69196933 ret['width'] = self.width
69206934 if self.height:
@@ -6988,8 +7002,7 @@ def __init__(self, media: Union[str, InputFile], thumbnail: Optional[Union[str,
69887002 height: Optional[int] = None, duration: Optional[int] = None,
69897003 has_spoiler: Optional[bool] = None, show_caption_above_media: Optional[bool] = None):
69907004 super(InputMediaAnimation, self).__init__(
6991- type="animation", media=media, caption=caption, parse_mode=parse_mode, caption_entities=caption_entities)
6992- self.thumbnail: Optional[Union[str, InputFile]] = thumbnail
7005+ type="animation", media=media, caption=caption, parse_mode=parse_mode, caption_entities=caption_entities, thumbnail=thumbnail)
69937006 self.width: Optional[int] = width
69947007 self.height: Optional[int] = height
69957008 self.duration: Optional[int] = duration
@@ -7004,8 +7017,6 @@ def thumb(self) -> Optional[Union[str, Any]]:
70047017
70057018 def to_dict(self):
70067019 ret = super(InputMediaAnimation, self).to_dict()
7007- if self.thumbnail:
7008- ret['thumbnail'] = self.thumbnail
70097020 if self.width:
70107021 ret['width'] = self.width
70117022 if self.height:
@@ -7065,8 +7076,7 @@ def __init__(self, media: Union[str, InputFile], thumbnail: Optional[Union[str,
70657076 caption_entities: Optional[List[MessageEntity]] = None, duration: Optional[int] = None,
70667077 performer: Optional[str] = None, title: Optional[str] = None):
70677078 super(InputMediaAudio, self).__init__(
7068- type="audio", media=media, caption=caption, parse_mode=parse_mode, caption_entities=caption_entities)
7069- self.thumbnail: Optional[Union[str, InputFile]] = thumbnail
7079+ type="audio", media=media, caption=caption, parse_mode=parse_mode, caption_entities=caption_entities, thumbnail=thumbnail)
70707080 self.duration: Optional[int] = duration
70717081 self.performer: Optional[str] = performer
70727082 self.title: Optional[str] = title
@@ -7078,8 +7088,6 @@ def thumb(self) -> Optional[Union[str, Any]]:
70787088
70797089 def to_dict(self):
70807090 ret = super(InputMediaAudio, self).to_dict()
7081- if self.thumbnail:
7082- ret['thumbnail'] = self.thumbnail
70837091 if self.duration:
70847092 ret['duration'] = self.duration
70857093 if self.performer:
@@ -7130,8 +7138,7 @@ def __init__(self, media: Union[str, InputFile], thumbnail: Optional[Union[str,
71307138 caption_entities: Optional[List[MessageEntity]] = None,
71317139 disable_content_type_detection: Optional[bool] = None):
71327140 super(InputMediaDocument, self).__init__(
7133- type="document", media=media, caption=caption, parse_mode=parse_mode, caption_entities=caption_entities)
7134- self.thumbnail: Optional[Union[str, InputFile]] = thumbnail
7141+ type="document", media=media, caption=caption, parse_mode=parse_mode, caption_entities=caption_entities, thumbnail=thumbnail)
71357142 self.disable_content_type_detection: Optional[bool] = disable_content_type_detection
71367143
71377144 @property
@@ -7141,8 +7148,6 @@ def thumb(self) -> Optional[Union[str, Any]]:
71417148
71427149 def to_dict(self):
71437150 ret = super(InputMediaDocument, self).to_dict()
7144- if self.thumbnail:
7145- ret['thumbnail'] = self.thumbnail
71467151 if self.disable_content_type_detection is not None:
71477152 ret['disable_content_type_detection'] = self.disable_content_type_detection
71487153 return ret
0 commit comments