Skip to content

Commit 9ff09f2

Browse files
authored
Merge pull request #2240 from YouKnow-sys/master
Update to resolve Issue with outdated `_convert_entities` function in `copy_message` method
2 parents 5799f12 + 1b6a573 commit 9ff09f2

File tree

3 files changed

+8
-29
lines changed

3 files changed

+8
-29
lines changed

telebot/apihelper.py

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -432,7 +432,7 @@ def copy_message(token, chat_id, from_chat_id, message_id, caption=None, parse_m
432432
if parse_mode:
433433
payload['parse_mode'] = parse_mode
434434
if caption_entities is not None:
435-
payload['caption_entities'] = _convert_entites(caption_entities)
435+
payload['caption_entities'] = json.dumps(types.MessageEntity.to_list_of_dicts(caption_entities))
436436
if disable_notification is not None:
437437
payload['disable_notification'] = disable_notification
438438
if reply_parameters is not None:
@@ -1998,17 +1998,6 @@ def _convert_markup(markup):
19981998
return markup
19991999

20002000

2001-
def _convert_entites(entites):
2002-
if entites is None:
2003-
return None
2004-
elif len(entites) == 0:
2005-
return []
2006-
elif isinstance(entites[0], types.JsonSerializable):
2007-
return [entity.to_json() for entity in entites]
2008-
else:
2009-
return entites
2010-
2011-
20122001
def _convert_poll_options(poll_options):
20132002
if poll_options is None:
20142003
return None

telebot/asyncio_helper.py

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -422,7 +422,7 @@ async def copy_message(token, chat_id, from_chat_id, message_id, caption=None, p
422422
if parse_mode:
423423
payload['parse_mode'] = parse_mode
424424
if caption_entities is not None:
425-
payload['caption_entities'] = await _convert_entites(caption_entities)
425+
payload['caption_entities'] = json.dumps(types.MessageEntity.to_list_of_dicts(caption_entities))
426426
if disable_notification is not None:
427427
payload['disable_notification'] = disable_notification
428428
if reply_parameters is not None:
@@ -1975,18 +1975,6 @@ async def _convert_list_json_serializable(results):
19751975
return '[' + ret + ']'
19761976

19771977

1978-
1979-
async def _convert_entites(entites):
1980-
if entites is None:
1981-
return None
1982-
elif len(entites) == 0:
1983-
return []
1984-
elif isinstance(entites[0], types.JsonSerializable):
1985-
return [entity.to_json() for entity in entites]
1986-
else:
1987-
return entites
1988-
1989-
19901978
async def _convert_poll_options(poll_options):
19911979
if poll_options is None:
19921980
return None

telebot/types.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1612,10 +1612,12 @@ def to_list_of_dicts(entity_list) -> Union[List[Dict], None]:
16121612
"""
16131613
Converts a list of MessageEntity objects to a list of dictionaries.
16141614
"""
1615-
res = []
1616-
for e in entity_list:
1617-
res.append(MessageEntity.to_dict(e))
1618-
return res or None
1615+
if entity_list is None or len(entity_list) == 0:
1616+
return None
1617+
elif isinstance(entity_list[0], MessageEntity):
1618+
return [MessageEntity.to_dict(e) for e in entity_list]
1619+
else:
1620+
return entity_list
16191621

16201622
@classmethod
16211623
def de_json(cls, json_string):

0 commit comments

Comments
 (0)