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]#