Проблема тут в
API Telegram, я тоже наткнулся на неё, и с радостью поделюсь с вами её решением (хоть и поздновато).
Нам понадобится библиотека emoji из pip, чтобы посчитать количество эмодзи в тексте, нужно вызвать функцию
emoji.emoji_count
.
Вот пример кода с фиксом этой проблемы:
import emoji
from telethon.tl.types import MessageEntityBold
message_text = "Hi!"
emojis = emoji.emoji_count(message_text)
text_with_emoji = len(message_text) + emojis
entities = [MessageEntityBold(offset=0, length=text_with_emoji)]
Так же хочу отметить что лучше использовать опцию parse_mode=HTML, но в некоторых функциях
API Telegram ее попросту нет, например в той что нужна была мне, а именно EditInlineBotMessage