MessageEntity#

class aiogram.types.message_entity.MessageEntity(*, type: str, offset: int, length: int, url: str | None = None, user: User | None = None, language: str | None = None, custom_emoji_id: str | None = None, **extra_data: Any)[source]#

This object represents one special entity in a text message. For example, hashtags, usernames, URLs, etc.

Source: https://core.telegram.org/bots/api#messageentity

type: str#

Type of the entity. Currently, can be ‘mention’ (@username), ‘hashtag’ (#hashtag), ‘cashtag’ ($USD), ‘bot_command’ (/start@jobs_bot), ‘url’ (https://telegram.org), ‘email’ (do-not-reply@telegram.org), ‘phone_number’ (+1-212-555-0123), ‘bold’ (bold text), ‘italic’ (italic text), ‘underline’ (underlined text), ‘strikethrough’ (strikethrough text), ‘spoiler’ (spoiler message), ‘blockquote’ (block quotation), ‘code’ (monowidth string), ‘pre’ (monowidth block), ‘text_link’ (for clickable text URLs), ‘text_mention’ (for users without usernames), ‘custom_emoji’ (for inline custom emoji stickers)

offset: int#

Offset in UTF-16 code units to the start of the entity

length: int#

Length of the entity in UTF-16 code units

url: str | None#

Optional. For ‘text_link’ only, URL that will be opened after user taps on the text

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}#

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_post_init(_ModelMetaclass__context: Any) None#

We need to both initialize private attributes and call the user-defined model_post_init method.

user: User | None#

Optional. For ‘text_mention’ only, the mentioned user

language: str | None#

Optional. For ‘pre’ only, the programming language of the entity text

custom_emoji_id: str | None#

Optional. For ‘custom_emoji’ only, unique identifier of the custom emoji. Use aiogram.methods.get_custom_emoji_stickers.GetCustomEmojiStickers to get full information about the sticker

extract_from(text: str) str[source]#