Некорректная работа entities со смайликами в telebot

Entities, которые я получаю из сообщения почему-то показывают совсем неправильные length и offset. Причем только при использовании смайликов, без них всё работает замечательно. Пробовал после каждого смайлика сдвигать offset влево на 1 символ, но это тоже не помогло введите сюда описание изображения

def get_html_text(text: str, entities: List[Dict[str, Any]]):
    listed_text = [[x] for x in text]
    # i = 0
    # while i < len(listed_text) - 1:
    #     if listed_text[i][0] in emoji.UNICODE_EMOJI_ENGLISH.keys():
    #         listed_text.insert(i + 1, [''])
    #     i += 1

    for entity in entities:
        _type = entity['type']
        offset = entity['offset']
        length = entity['length']
        if _type == 'bold':
            c = '<b>'
            c2 = '</b>'
        elif _type == 'italic':
            c = '<i>'
            c2 = '</i>'
        elif _type == 'underline':
            c = '<u>'
            c2 = '</u>'
        elif _type == 'strikethrough':
            c = '<s>'
            c2 = '</s>'
        elif _type == 'code':
            c = '<code>'
            c2 = '</code>'
        elif _type == 'text_link':
            c = f'<a href="{entity["url"]}">'
            c2 = '</a>'
        else:
            c = ''
            c2 = ''
        listed_text[offset] = [c] + listed_text[offset]
        listed_text[offset + length - 1] = listed_text[offset + length - 1] + [c2]

    new_text = ''.join([''.join(x) for x in listed_text])
    return new_text

Ответы (0 шт):