# `ExGram.Model.MessageEntity`
[🔗](https://github.com/rockneurotiko/ex_gram/blob/0.64.0/lib/ex_gram.ex#L3616)

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

Check the [documentation of this model on Telegram Bot API](https://core.telegram.org/bots/api#messageentity)

- `type`: Type of the entity. Currently, can be "mention” (@username), "hashtag” (#hashtag or #hashtag@chatusername), "cashtag” ($USD or $USD@chatusername), "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), "expandable_blockquote” (collapsed-by-default 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), or "date_time” (for formatted date and time)
- `offset`: Offset in UTF-16 code units to the start of the entity
- `length`: Length of the entity in UTF-16 code units
- `url (optional)`: Optional. For "text_link” only, URL that will be opened after user taps on the text
- `user (optional)`: Optional. For "text_mention” only, the mentioned user
- `language (optional)`: Optional. For "pre” only, the programming language of the entity text
- `custom_emoji_id (optional)`: Optional. For "custom_emoji” only, unique identifier of the custom emoji. Use getCustomEmojiStickers to get full information about the sticker
- `unix_time (optional)`: Optional. For "date_time” only, the Unix time associated with the entity
- `date_time_format (optional)`: Optional. For "date_time” only, the string that defines the formatting of the date and time. See date-time entity formatting for more details.

# `t`

```elixir
@type t() :: %ExGram.Model.MessageEntity{
  custom_emoji_id: String.t() | nil,
  date_time_format: String.t() | nil,
  language: String.t() | nil,
  length: integer(),
  offset: integer(),
  type: String.t(),
  unix_time: integer() | nil,
  url: String.t() | nil,
  user: ExGram.Model.User.t() | nil
}
```

# `decode_as`

---

*Consult [api-reference.md](api-reference.md) for complete listing*
