@@ -6695,12 +6695,20 @@ class InputMedia(Dictionaryable, JsonSerializable):
66956695 * :class:`InputMediaPhoto`
66966696 * :class:`InputMediaVideo`
66976697 """
6698- def __init__ (self , type , media , caption = None , parse_mode = None , caption_entities = None ):
6698+ def __init__ (self , type , media , caption = None , parse_mode = None , caption_entities = None , thumbnail = None ):
66996699 self .type : str = type
67006700 self .media : str = media
67016701 self .caption : Optional [str ] = caption
67026702 self .parse_mode : Optional [str ] = parse_mode
67036703 self .caption_entities : Optional [List [MessageEntity ]] = caption_entities
6704+ self .thumbnail : Optional [Union [str , InputFile ]] = thumbnail
6705+
6706+ if isinstance (self .thumbnail , InputFile ):
6707+ self ._thumbnail_name = service_utils .generate_random_token ()
6708+ self ._thumbnail_dic = 'attach://{0}' .format (self ._thumbnail_name )
6709+ else :
6710+ self ._thumbnail_name = ''
6711+ self ._thumbnail_dic = self .thumbnail
67046712
67056713 if service_utils .is_string (self .media ):
67066714 self ._media_name = ''
@@ -6713,7 +6721,7 @@ def to_json(self):
67136721 return json .dumps (self .to_dict ())
67146722
67156723 def to_dict (self ):
6716- json_dict = {'type' : self .type , 'media' : self ._media_dic }
6724+ json_dict = {'type' : self .type , 'media' : self ._media_dic , 'thumbnail' : self . _thumbnail_dic }
67176725 if self .caption :
67186726 json_dict ['caption' ] = self .caption
67196727 if self .parse_mode :
@@ -6729,7 +6737,7 @@ def convert_input_media(self):
67296737 if service_utils .is_string (self .media ):
67306738 return self .to_json (), None
67316739
6732- return self .to_json (), {self ._media_name : self .media }
6740+ return self .to_json (), {self ._media_name : self .media , self . _thumbnail_name : self . thumbnail }
67336741
67346742
67356743class InputMediaPhoto (InputMedia ):
@@ -6850,8 +6858,7 @@ def __init__(self, media: Union[str, InputFile], thumbnail: Optional[Union[str,
68506858 show_caption_above_media : Optional [bool ] = None , cover : Optional [Union [str , InputFile ]] = None ,
68516859 start_timestamp : Optional [int ] = None ):
68526860 super (InputMediaVideo , self ).__init__ (
6853- type = "video" , media = media , caption = caption , parse_mode = parse_mode , caption_entities = caption_entities )
6854- self .thumbnail : Optional [Union [str , InputFile ]] = thumbnail
6861+ type = "video" , media = media , caption = caption , parse_mode = parse_mode , caption_entities = caption_entities , thumbnail = thumbnail )
68556862 self .width : Optional [int ] = width
68566863 self .height : Optional [int ] = height
68576864 self .duration : Optional [int ] = duration
@@ -6868,8 +6875,6 @@ def thumb(self) -> Optional[Union[str, Any]]:
68686875
68696876 def to_dict (self ):
68706877 ret = super (InputMediaVideo , self ).to_dict ()
6871- if self .thumbnail :
6872- ret ['thumbnail' ] = self .thumbnail
68736878 if self .width :
68746879 ret ['width' ] = self .width
68756880 if self .height :
@@ -6943,8 +6948,7 @@ def __init__(self, media: Union[str, InputFile], thumbnail: Optional[Union[str,
69436948 height : Optional [int ] = None , duration : Optional [int ] = None ,
69446949 has_spoiler : Optional [bool ] = None , show_caption_above_media : Optional [bool ] = None ):
69456950 super (InputMediaAnimation , self ).__init__ (
6946- type = "animation" , media = media , caption = caption , parse_mode = parse_mode , caption_entities = caption_entities )
6947- self .thumbnail : Optional [Union [str , InputFile ]] = thumbnail
6951+ type = "animation" , media = media , caption = caption , parse_mode = parse_mode , caption_entities = caption_entities , thumbnail = thumbnail )
69486952 self .width : Optional [int ] = width
69496953 self .height : Optional [int ] = height
69506954 self .duration : Optional [int ] = duration
@@ -6959,8 +6963,6 @@ def thumb(self) -> Optional[Union[str, Any]]:
69596963
69606964 def to_dict (self ):
69616965 ret = super (InputMediaAnimation , self ).to_dict ()
6962- if self .thumbnail :
6963- ret ['thumbnail' ] = self .thumbnail
69646966 if self .width :
69656967 ret ['width' ] = self .width
69666968 if self .height :
@@ -7020,8 +7022,7 @@ def __init__(self, media: Union[str, InputFile], thumbnail: Optional[Union[str,
70207022 caption_entities : Optional [List [MessageEntity ]] = None , duration : Optional [int ] = None ,
70217023 performer : Optional [str ] = None , title : Optional [str ] = None ):
70227024 super (InputMediaAudio , self ).__init__ (
7023- type = "audio" , media = media , caption = caption , parse_mode = parse_mode , caption_entities = caption_entities )
7024- self .thumbnail : Optional [Union [str , InputFile ]] = thumbnail
7025+ type = "audio" , media = media , caption = caption , parse_mode = parse_mode , caption_entities = caption_entities , thumbnail = thumbnail )
70257026 self .duration : Optional [int ] = duration
70267027 self .performer : Optional [str ] = performer
70277028 self .title : Optional [str ] = title
@@ -7033,8 +7034,6 @@ def thumb(self) -> Optional[Union[str, Any]]:
70337034
70347035 def to_dict (self ):
70357036 ret = super (InputMediaAudio , self ).to_dict ()
7036- if self .thumbnail :
7037- ret ['thumbnail' ] = self .thumbnail
70387037 if self .duration :
70397038 ret ['duration' ] = self .duration
70407039 if self .performer :
@@ -7085,8 +7084,7 @@ def __init__(self, media: Union[str, InputFile], thumbnail: Optional[Union[str,
70857084 caption_entities : Optional [List [MessageEntity ]] = None ,
70867085 disable_content_type_detection : Optional [bool ] = None ):
70877086 super (InputMediaDocument , self ).__init__ (
7088- type = "document" , media = media , caption = caption , parse_mode = parse_mode , caption_entities = caption_entities )
7089- self .thumbnail : Optional [Union [str , InputFile ]] = thumbnail
7087+ type = "document" , media = media , caption = caption , parse_mode = parse_mode , caption_entities = caption_entities , thumbnail = thumbnail )
70907088 self .disable_content_type_detection : Optional [bool ] = disable_content_type_detection
70917089
70927090 @property
@@ -7096,8 +7094,6 @@ def thumb(self) -> Optional[Union[str, Any]]:
70967094
70977095 def to_dict (self ):
70987096 ret = super (InputMediaDocument , self ).to_dict ()
7099- if self .thumbnail :
7100- ret ['thumbnail' ] = self .thumbnail
71017097 if self .disable_content_type_detection is not None :
71027098 ret ['disable_content_type_detection' ] = self .disable_content_type_detection
71037099 return ret
0 commit comments