mirror of
https://github.com/eternnoir/pyTelegramBotAPI.git
synced 2023-08-10 21:12:57 +03:00
Fixes #1650
This commit is contained in:
parent
47ae696528
commit
01be1fb583
@ -1223,11 +1223,19 @@ class Message(JsonDeserializable):
|
|||||||
html_text += func(utf16_text[offset * 2 : (offset + entity.length) * 2], entity.type, entity.url, entity.user)
|
html_text += func(utf16_text[offset * 2 : (offset + entity.length) * 2], entity.type, entity.url, entity.user)
|
||||||
offset += entity.length
|
offset += entity.length
|
||||||
else:
|
else:
|
||||||
# TODO: process nested entities from Bot API 4.5
|
# Here we are processing nested entities.
|
||||||
# Now ignoring them
|
# We shouldn't update offset, because they are the same as entity before.
|
||||||
pass
|
# And, here we are replacing previous string with a new html-rendered text(previous string is already html-rendered,
|
||||||
|
# And we don't change it).
|
||||||
|
entity_string = utf16_text[entity.offset * 2 : (entity.offset + entity.length) * 2]
|
||||||
|
formatted_string = func(entity_string, entity.type, entity.url, entity.user)
|
||||||
|
entity_string_decoded = entity_string.decode("utf-16-le")
|
||||||
|
last_occurence = html_text.rfind(entity_string_decoded)
|
||||||
|
string_length = len(entity_string_decoded)
|
||||||
|
html_text = html_text.replace(html_text[last_occurence:last_occurence+string_length], formatted_string)
|
||||||
if offset * 2 < len(utf16_text):
|
if offset * 2 < len(utf16_text):
|
||||||
html_text += func(utf16_text[offset * 2:])
|
html_text += func(utf16_text[offset * 2:])
|
||||||
|
|
||||||
return html_text
|
return html_text
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
Loading…
Reference in New Issue
Block a user