@@ -6740,12 +6740,23 @@ class InputMedia(Dictionaryable, JsonSerializable):
6740
6740
* :class:`InputMediaPhoto`
6741
6741
* :class:`InputMediaVideo`
6742
6742
"""
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 ):
6744
6744
self.type: str = type
6745
6745
self.media: str = media
6746
6746
self.caption: Optional[str] = caption
6747
6747
self.parse_mode: Optional[str] = parse_mode
6748
6748
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)
6749
6760
6750
6761
if service_utils.is_string(self.media):
6751
6762
self._media_name = ''
@@ -6759,6 +6770,8 @@ def to_json(self):
6759
6770
6760
6771
def to_dict(self):
6761
6772
json_dict = {'type': self.type, 'media': self._media_dic}
6773
+ if self._thumbnail_dic:
6774
+ json_dict['thumbnail'] = self._thumbnail_dic
6762
6775
if self.caption:
6763
6776
json_dict['caption'] = self.caption
6764
6777
if self.parse_mode:
@@ -6773,8 +6786,12 @@ def convert_input_media(self):
6773
6786
"""
6774
6787
if service_utils.is_string(self.media):
6775
6788
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
6776
6793
6777
- return self.to_json(), {self._media_name: self.media}
6794
+ return self.to_json(), media_dict
6778
6795
6779
6796
6780
6797
class InputMediaPhoto(InputMedia):
@@ -6895,8 +6912,7 @@ def __init__(self, media: Union[str, InputFile], thumbnail: Optional[Union[str,
6895
6912
show_caption_above_media: Optional[bool] = None, cover: Optional[Union[str, InputFile]] = None,
6896
6913
start_timestamp: Optional[int] = None):
6897
6914
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)
6900
6916
self.width: Optional[int] = width
6901
6917
self.height: Optional[int] = height
6902
6918
self.duration: Optional[int] = duration
@@ -6913,8 +6929,6 @@ def thumb(self) -> Optional[Union[str, Any]]:
6913
6929
6914
6930
def to_dict(self):
6915
6931
ret = super(InputMediaVideo, self).to_dict()
6916
- if self.thumbnail:
6917
- ret['thumbnail'] = self.thumbnail
6918
6932
if self.width:
6919
6933
ret['width'] = self.width
6920
6934
if self.height:
@@ -6988,8 +7002,7 @@ def __init__(self, media: Union[str, InputFile], thumbnail: Optional[Union[str,
6988
7002
height: Optional[int] = None, duration: Optional[int] = None,
6989
7003
has_spoiler: Optional[bool] = None, show_caption_above_media: Optional[bool] = None):
6990
7004
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)
6993
7006
self.width: Optional[int] = width
6994
7007
self.height: Optional[int] = height
6995
7008
self.duration: Optional[int] = duration
@@ -7004,8 +7017,6 @@ def thumb(self) -> Optional[Union[str, Any]]:
7004
7017
7005
7018
def to_dict(self):
7006
7019
ret = super(InputMediaAnimation, self).to_dict()
7007
- if self.thumbnail:
7008
- ret['thumbnail'] = self.thumbnail
7009
7020
if self.width:
7010
7021
ret['width'] = self.width
7011
7022
if self.height:
@@ -7065,8 +7076,7 @@ def __init__(self, media: Union[str, InputFile], thumbnail: Optional[Union[str,
7065
7076
caption_entities: Optional[List[MessageEntity]] = None, duration: Optional[int] = None,
7066
7077
performer: Optional[str] = None, title: Optional[str] = None):
7067
7078
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)
7070
7080
self.duration: Optional[int] = duration
7071
7081
self.performer: Optional[str] = performer
7072
7082
self.title: Optional[str] = title
@@ -7078,8 +7088,6 @@ def thumb(self) -> Optional[Union[str, Any]]:
7078
7088
7079
7089
def to_dict(self):
7080
7090
ret = super(InputMediaAudio, self).to_dict()
7081
- if self.thumbnail:
7082
- ret['thumbnail'] = self.thumbnail
7083
7091
if self.duration:
7084
7092
ret['duration'] = self.duration
7085
7093
if self.performer:
@@ -7130,8 +7138,7 @@ def __init__(self, media: Union[str, InputFile], thumbnail: Optional[Union[str,
7130
7138
caption_entities: Optional[List[MessageEntity]] = None,
7131
7139
disable_content_type_detection: Optional[bool] = None):
7132
7140
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)
7135
7142
self.disable_content_type_detection: Optional[bool] = disable_content_type_detection
7136
7143
7137
7144
@property
@@ -7141,8 +7148,6 @@ def thumb(self) -> Optional[Union[str, Any]]:
7141
7148
7142
7149
def to_dict(self):
7143
7150
ret = super(InputMediaDocument, self).to_dict()
7144
- if self.thumbnail:
7145
- ret['thumbnail'] = self.thumbnail
7146
7151
if self.disable_content_type_detection is not None:
7147
7152
ret['disable_content_type_detection'] = self.disable_content_type_detection
7148
7153
return ret
0 commit comments