Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions telebot/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ class ExceptionHandler:
Class for handling exceptions while Polling
"""

# noinspection PyMethodMayBeStatic,PyUnusedLocal
# noinspection PyMethodMayBeStatic,unused-parameter
def handle(self, exception):
return False

Expand Down Expand Up @@ -6017,7 +6017,7 @@ def edit_message_text(


def edit_message_media(
self, media: Any, chat_id: Optional[Union[int, str]]=None,
self, media: types.InputMedia, chat_id: Optional[Union[int, str]]=None,
message_id: Optional[int]=None,
inline_message_id: Optional[str]=None,
reply_markup: Optional[types.InlineKeyboardMarkup]=None,
Expand All @@ -6033,7 +6033,8 @@ def edit_message_media(
Telegram documentation: https://core.telegram.org/bots/api#editmessagemedia

:param media: A JSON-serialized object for a new media content of the message
:type media: :obj:`InputMedia`
:type media: :obj:`types.InputMedia`

:param chat_id: Required if inline_message_id is not specified. Unique identifier for the target chat or username of the target channel (in the format @channelusername)
:type chat_id: :obj:`int` or :obj:`str`

Expand Down
19 changes: 9 additions & 10 deletions telebot/apihelper.py
Original file line number Diff line number Diff line change
Expand Up @@ -3076,22 +3076,21 @@ def convert_input_media(media):
return None, None


# noinspection protected-member
def convert_input_media_array(array):
media = []
files = {}
for input_media in array:
if isinstance(input_media, types.InputMedia) or isinstance(input_media, types.InputPaidMedia):
media_dict = input_media.to_dict()
key = "x" # stub
if media_dict['media'].startswith('attach://'):
key = media_dict['media'].replace('attach://', '')
files[key] = input_media.media
if 'thumbnail' in media_dict:
thumbnail = media_dict['thumbnail']
if isinstance(thumbnail, types.InputFile):
thumbnail_key = 'thumbnail_' + key
files[thumbnail_key] = thumbnail
media_dict['thumbnail'] = 'attach://' + thumbnail_key
if ('media' in media_dict) and media_dict['media'].startswith('attach://'):
files[input_media._media_name] = input_media.media
if ('thumbnail' in media_dict) and media_dict['thumbnail'].startswith('attach://'):
files[input_media._thumbnail_name] = input_media.thumbnail
if ('cover' in media_dict) and media_dict['cover'].startswith('attach://'):
files[input_media._cover_name] = input_media.cover
if ('photo' in media_dict) and media_dict['photo'].startswith('attach://'):
files[input_media._photo_name] = input_media.photo
Comment thread
Badiboy marked this conversation as resolved.
media.append(media_dict)
return json.dumps(media), files

Expand Down
5 changes: 3 additions & 2 deletions telebot/async_telebot.py
Original file line number Diff line number Diff line change
Expand Up @@ -7680,7 +7680,7 @@ async def edit_message_text(
return types.Message.de_json(result)

async def edit_message_media(
self, media: Any, chat_id: Optional[Union[int, str]]=None,
self, media: types.InputMedia, chat_id: Optional[Union[int, str]]=None,
message_id: Optional[int]=None,
inline_message_id: Optional[str]=None,
reply_markup: Optional[types.InlineKeyboardMarkup]=None,
Expand All @@ -7696,7 +7696,8 @@ async def edit_message_media(
Telegram documentation: https://core.telegram.org/bots/api#editmessagemedia

:param media: A JSON-serialized object for a new media content of the message
:type media: :obj:`InputMedia`
:type media: :obj:`telebot.types.InputMedia`

:param chat_id: Required if inline_message_id is not specified. Unique identifier for the target chat or username of the target channel (in the format @channelusername)
:type chat_id: :obj:`int` or :obj:`str`

Expand Down
18 changes: 8 additions & 10 deletions telebot/asyncio_helper.py
Original file line number Diff line number Diff line change
Expand Up @@ -2965,19 +2965,17 @@ async def convert_input_media(media):
async def convert_input_media_array(array):
media = []
files = {}
key = ""
for input_media in array:
if isinstance(input_media, types.InputMedia) or isinstance(input_media, types.InputPaidMedia):
media_dict = input_media.to_dict()
if media_dict['media'].startswith('attach://'):
key = media_dict['media'].replace('attach://', '')
files[key] = input_media.media
if 'thumbnail' in media_dict:
thumbnail = media_dict['thumbnail']
if isinstance(thumbnail, types.InputFile):
thumbnail_key = 'thumbnail_' + key
files[thumbnail_key] = thumbnail
media_dict['thumbnail'] = 'attach://' + thumbnail_key
if ('media' in media_dict) and media_dict['media'].startswith('attach://'):
files[input_media._media_name] = input_media.media
if ('thumbnail' in media_dict) and media_dict['thumbnail'].startswith('attach://'):
files[input_media._thumbnail_name] = input_media.thumbnail
if ('cover' in media_dict) and media_dict['cover'].startswith('attach://'):
files[input_media._cover_name] = input_media.cover
if ('photo' in media_dict) and media_dict['photo'].startswith('attach://'):
files[input_media._photo_name] = input_media.photo
Comment thread
Badiboy marked this conversation as resolved.
media.append(media_dict)
return json.dumps(media), files

Expand Down
Loading
Loading