Message

class pyrogram.raw.types.Message

A message

Constructor of Message.

Details:
  • Layer: 227

  • ID: 7600B9D3

Parameters:
  • id (int 32-bit) – ID of the message

  • peer_id (Peer) – Peer ID, the chat where this message was sent

  • date (int 32-bit) – Date of the message

  • message (str) – The message

  • out (bool, optional) – Is this an outgoing message

  • mentioned (bool, optional) – Whether we were mentioned in this message

  • media_unread (bool, optional) – Whether there are unread media attachments in this message

  • silent (bool, optional) – Whether this is a silent message (no notification triggered)

  • post (bool, optional) – Whether this is a channel post

  • from_scheduled (bool, optional) – Whether this is a scheduled message

  • legacy (bool, optional) – This is a legacy message: it has to be refetched with the new layer

  • edit_hide (bool, optional) – Whether the message should be shown as not modified to the user, even if an edit date is present

  • pinned (bool, optional) – Whether this message is pinned

  • noforwards (bool, optional) – Whether this message is protected and thus cannot be forwarded; clients should also prevent users from saving attached media (i.e. videos should only be streamed, photos should be kept in RAM, et cetera).

  • invert_media (bool, optional) – If set, any eventual webpage preview will be shown on top of the message instead of at the bottom.

  • offline (bool, optional) – If set, the message was sent because of a scheduled action by the message sender, for example, as away, or a greeting service message.

  • video_processing_pending (bool, optional) – The video contained in the message is currently being processed by the server (i.e. to generate alternative qualities, that will be contained in the final messageMediaDocument.alt_document), and will be sent once the video is processed, which will happen approximately at the specified date (i.e. messages with this flag set should be treated similarly to scheduled messages, but instead of the scheduled date, date contains the estimated conversion date). See here » for more info.

  • paid_suggested_post_stars (bool, optional) – Set if this is a suggested channel post » that was paid using Telegram Stars.

  • paid_suggested_post_ton (bool, optional) – Set if this is a suggested channel post » that was paid using Toncoins.

  • from_id (Peer, optional) – ID of the sender of the message

  • from_boosts_applied (int 32-bit, optional) – Supergroups only, contains the number of boosts this user has given the current supergroup, and should be shown in the UI in the header of the message. Only present for incoming messages from non-anonymous supergroup members that have boosted the supergroup. Note that this counter should be locally overridden for non-anonymous outgoing messages, according to the current value of channelFull.boosts_applied, to ensure the value is correct even for messages sent by the current user before a supergroup was boosted (or after a boost has expired or the number of boosts has changed); do not update this value for incoming messages from other users, even if their boosts have changed.

  • from_rank (str, optional) – N/A

  • saved_peer_id (Peer, optional) – Messages from a saved messages dialog » will have peer=inputPeerSelf and the saved_peer_id flag set to the ID of the saved dialog.Messages from a monoforum » will have peer=ID of the monoforum and the saved_peer_id flag set to the ID of a topic.

  • fwd_from (MessageFwdHeader, optional) – Info about forwarded messages

  • via_bot_id (int 64-bit, optional) – ID of the inline bot that generated the message

  • via_business_bot_id (int 64-bit, optional) – Whether the message was sent by the business bot specified in via_bot_id on behalf of the user.

  • guestchat_via_from (Peer, optional) – N/A

  • reply_to (MessageReplyHeader, optional) – Reply information

  • media (MessageMedia, optional) – Media attachment

  • reply_markup (ReplyMarkup, optional) – Reply markup (bot/inline keyboards)

  • entities (List of MessageEntity, optional) – Message entities for styled text

  • views (int 32-bit, optional) – View count for channel posts

  • forwards (int 32-bit, optional) – Forward counter

  • replies (MessageReplies, optional) – Info about post comments (for channels) or message replies (for groups)

  • edit_date (int 32-bit, optional) – Last edit date of this message

  • post_author (str, optional) – Name of the author of this message for channel posts (with signatures enabled)

  • grouped_id (int 64-bit, optional) – Multiple media messages sent using messages.sendMultiMedia with the same grouped ID indicate an album or media group

  • reactions (MessageReactions, optional) – Reactions to this message

  • restriction_reason (List of RestrictionReason, optional) – Contains the reason why access to this message must be restricted.

  • ttl_period (int 32-bit, optional) – Time To Live of the message, once message.date+message.ttl_period === time(), the message will be deleted on the server, and must be deleted locally as well.

  • quick_reply_shortcut_id (int 32-bit, optional) – If set, this message is a quick reply shortcut message » (note that quick reply shortcut messages sent to a private chat will not have this field set).

  • effect (int 64-bit, optional) – A message effect that should be played as specified here ».

  • factcheck (FactCheck, optional) – Represents a fact-check ».

  • report_delivery_until_date (int 32-bit, optional) – Used for Telegram Gateway verification messages: if set and the current unixtime is bigger than the specified unixtime, invoke messages.reportMessagesDelivery passing the ID and the peer of this message as soon as it is received by the client (optionally batching requests for the same peer).

  • paid_message_stars (int 64-bit, optional) – The amount of stars the sender has paid to send the message, see here » for more info.

  • suggested_post (SuggestedPost, optional) – Used to suggest a post to a channel, see here » for more info on the full flow.

  • schedule_repeat_period (int 32-bit, optional)

  • summary_from_language (str, optional)

  • rich_message (RichMessage, optional) – N/A

TL Schema

message#7600b9d3
flags:#
out:flags.1?true
mentioned:flags.4?true
media_unread:flags.5?true
silent:flags.13?true
post:flags.14?true
from_scheduled:flags.18?true
legacy:flags.19?true
edit_hide:flags.21?true
pinned:flags.24?true
noforwards:flags.26?true
invert_media:flags.27?true
flags2:#
offline:flags2.1?true
video_processing_pending:flags2.4?true
paid_suggested_post_stars:flags2.8?true
paid_suggested_post_ton:flags2.9?true
id:int
from_id:flags.8?Peer
from_boosts_applied:flags.29?int
from_rank:flags2.12?string
peer_id:Peer
saved_peer_id:flags.28?Peer
fwd_from:flags.2?MessageFwdHeader
via_bot_id:flags.11?long
via_business_bot_id:flags2.0?long
guestchat_via_from:flags2.19?Peer
reply_to:flags.3?MessageReplyHeader
date:int
message:string
media:flags.9?MessageMedia
reply_markup:flags.6?ReplyMarkup
entities:flags.7?Vector<MessageEntity>
views:flags.10?int
forwards:flags.10?int
replies:flags.23?MessageReplies
edit_date:flags.15?int
post_author:flags.16?string
grouped_id:flags.17?long
reactions:flags.20?MessageReactions
restriction_reason:flags.22?Vector<RestrictionReason>
ttl_period:flags.25?int
quick_reply_shortcut_id:flags.30?int
effect:flags2.2?long
factcheck:flags2.3?FactCheck
report_delivery_until_date:flags2.5?int
paid_message_stars:flags2.6?long
suggested_post:flags2.7?SuggestedPost
schedule_repeat_period:flags2.10?int
summary_from_language:flags2.11?string
rich_message:flags2.13?RichMessage

= Message

Parameter Tree

Message
├── out → true (optional)
├── mentioned → true (optional)
├── media_unread → true (optional)
├── silent → true (optional)
├── post → true (optional)
├── from_scheduled → true (optional)
├── legacy → true (optional)
├── edit_hide → true (optional)
├── pinned → true (optional)
├── noforwards → true (optional)
├── invert_media → true (optional)
├── offline → true (optional)
├── video_processing_pending → true (optional)
├── paid_suggested_post_stars → true (optional)
├── paid_suggested_post_ton → true (optional)
├── id → int
├── from_id → Peer (optional)
│ ├── PeerUser
│ │ └── user_id → long
│ ├── PeerChat
│ │ └── chat_id → long
│ └── PeerChannel
│ └── channel_id → long
├── from_boosts_applied → int (optional)
├── from_rank → string (optional)
├── peer_id → Peer
│ ├── PeerUser
│ │ └── user_id → long
│ ├── PeerChat
│ │ └── chat_id → long
│ └── PeerChannel
│ └── channel_id → long
├── saved_peer_id → Peer (optional)
│ ├── PeerUser
│ │ └── user_id → long
│ ├── PeerChat
│ │ └── chat_id → long
│ └── PeerChannel
│ └── channel_id → long
├── fwd_from → MessageFwdHeader (optional)
│ └── MessageFwdHeader
│ ├── imported → true (optional)
│ ├── saved_out → true (optional)
│ ├── from_id → Peer (optional)
│ │ ├── PeerUser
│ │ │ └── user_id → long
│ │ ├── PeerChat
│ │ │ └── chat_id → long
│ │ └── PeerChannel
│ │ └── channel_id → long
│ ├── from_name → string (optional)
│ ├── date → int
│ ├── channel_post → int (optional)
│ ├── post_author → string (optional)
│ ├── saved_from_peer → Peer (optional)
│ │ ├── PeerUser
│ │ │ └── user_id → long
│ │ ├── PeerChat
│ │ │ └── chat_id → long
│ │ └── PeerChannel
│ │ └── channel_id → long
│ ├── saved_from_msg_id → int (optional)
│ ├── saved_from_id → Peer (optional)
│ │ ├── PeerUser
│ │ │ └── user_id → long
│ │ ├── PeerChat
│ │ │ └── chat_id → long
│ │ └── PeerChannel
│ │ └── channel_id → long
│ ├── saved_from_name → string (optional)
│ ├── saved_date → int (optional)
│ └── psa_type → string (optional)
├── via_bot_id → long (optional)
├── via_business_bot_id → long (optional)
├── guestchat_via_from → Peer (optional)
│ ├── PeerUser
│ │ └── user_id → long
│ ├── PeerChat
│ │ └── chat_id → long
│ └── PeerChannel
│ └── channel_id → long
├── reply_to → MessageReplyHeader (optional)
│ ├── MessageReplyHeader
│ │ ├── reply_to_scheduled → true (optional)
│ │ ├── forum_topic → true (optional)
│ │ ├── quote → true (optional)
│ │ ├── reply_to_ephemeral → true (optional)
│ │ ├── reply_to_msg_id → int (optional)
│ │ ├── reply_to_peer_id → Peer (optional)
│ │ │ ├── PeerUser
│ │ │ │ └── user_id → long
│ │ │ ├── PeerChat
│ │ │ │ └── chat_id → long
│ │ │ └── PeerChannel
│ │ │ └── channel_id → long
│ │ ├── reply_from → MessageFwdHeader (optional)
│ │ │ └── MessageFwdHeader
│ │ │ ├── imported → true (optional)
│ │ │ ├── saved_out → true (optional)
│ │ │ ├── from_id → Peer (optional)
│ │ │ │ ├── PeerUser
│ │ │ │ ├── PeerChat
│ │ │ │ └── PeerChannel
│ │ │ ├── from_name → string (optional)
│ │ │ ├── date → int
│ │ │ ├── channel_post → int (optional)
│ │ │ ├── post_author → string (optional)
│ │ │ ├── saved_from_peer → Peer (optional)
│ │ │ │ ├── PeerUser
│ │ │ │ ├── PeerChat
│ │ │ │ └── PeerChannel
│ │ │ ├── saved_from_msg_id → int (optional)
│ │ │ ├── saved_from_id → Peer (optional)
│ │ │ │ ├── PeerUser
│ │ │ │ ├── PeerChat
│ │ │ │ └── PeerChannel
│ │ │ ├── saved_from_name → string (optional)
│ │ │ ├── saved_date → int (optional)
│ │ │ └── psa_type → string (optional)
│ │ ├── reply_media → MessageMedia (optional)
│ │ │ ├── MessageMediaEmpty
│ │ │ ├── MessageMediaPhoto
│ │ │ │ ├── spoiler → true (optional)
│ │ │ │ ├── live_photo → true (optional)
│ │ │ │ ├── photo → Photo (optional)
│ │ │ │ │ ├── PhotoEmpty
│ │ │ │ │ └── Photo
│ │ │ │ ├── ttl_seconds → int (optional)
│ │ │ │ └── video → Document (optional)
│ │ │ │ ├── DocumentEmpty
│ │ │ │ └── Document
│ │ │ ├── MessageMediaGeo
│ │ │ │ └── geo → GeoPoint
│ │ │ │ ├── GeoPointEmpty
│ │ │ │ └── GeoPoint
│ │ │ ├── MessageMediaContact
│ │ │ │ ├── phone_number → string
│ │ │ │ ├── first_name → string
│ │ │ │ ├── last_name → string
│ │ │ │ ├── vcard → string
│ │ │ │ └── user_id → long
│ │ │ ├── MessageMediaUnsupported
│ │ │ ├── MessageMediaDocument
│ │ │ │ ├── nopremium → true (optional)
│ │ │ │ ├── spoiler → true (optional)
│ │ │ │ ├── video → true (optional)
│ │ │ │ ├── round → true (optional)
│ │ │ │ ├── voice → true (optional)
│ │ │ │ ├── document → Document (optional)
│ │ │ │ │ ├── DocumentEmpty
│ │ │ │ │ └── Document
│ │ │ │ ├── alt_documents → Vector < Document > (optional)
│ │ │ │ │ ├── DocumentEmpty
│ │ │ │ │ └── Document
│ │ │ │ ├── video_cover → Photo (optional)
│ │ │ │ │ ├── PhotoEmpty
│ │ │ │ │ └── Photo
│ │ │ │ ├── video_timestamp → int (optional)
│ │ │ │ └── ttl_seconds → int (optional)
│ │ │ ├── MessageMediaWebPage
│ │ │ │ ├── force_large_media → true (optional)
│ │ │ │ ├── force_small_media → true (optional)
│ │ │ │ ├── manual → true (optional)
│ │ │ │ ├── safe → true (optional)
│ │ │ │ └── webpage → WebPage
│ │ │ │ ├── WebPageEmpty
│ │ │ │ ├── WebPagePending
│ │ │ │ ├── WebPage
│ │ │ │ └── WebPageNotModified
│ │ │ ├── MessageMediaVenue
│ │ │ │ ├── geo → GeoPoint
│ │ │ │ │ ├── GeoPointEmpty
│ │ │ │ │ └── GeoPoint
│ │ │ │ ├── title → string
│ │ │ │ ├── address → string
│ │ │ │ ├── provider → string
│ │ │ │ ├── venue_id → string
│ │ │ │ └── venue_type → string
│ │ │ ├── MessageMediaGame
│ │ │ │ └── game → Game
│ │ │ │ └── Game
│ │ │ ├── MessageMediaInvoice
│ │ │ │ ├── shipping_address_requested → true (optional)
│ │ │ │ ├── test → true (optional)
│ │ │ │ ├── title → string
│ │ │ │ ├── description → string
│ │ │ │ ├── photo → WebDocument (optional)
│ │ │ │ │ ├── WebDocument
│ │ │ │ │ └── WebDocumentNoProxy
│ │ │ │ ├── receipt_msg_id → int (optional)
│ │ │ │ ├── currency → string
│ │ │ │ ├── total_amount → long
│ │ │ │ ├── start_param → string
│ │ │ │ └── extended_media → MessageExtendedMedia (optional)
│ │ │ │ ├── MessageExtendedMediaPreview
│ │ │ │ └── MessageExtendedMedia
│ │ │ ├── MessageMediaGeoLive
│ │ │ │ ├── geo → GeoPoint
│ │ │ │ │ ├── GeoPointEmpty
│ │ │ │ │ └── GeoPoint
│ │ │ │ ├── heading → int (optional)
│ │ │ │ ├── period → int
│ │ │ │ └── proximity_notification_radius → int (optional)
│ │ │ ├── MessageMediaPoll
│ │ │ │ ├── poll → Poll
│ │ │ │ │ └── Poll
│ │ │ │ ├── results → PollResults
│ │ │ │ │ └── PollResults
│ │ │ │ └── attached_media → MessageMedia (optional)
│ │ │ │ ├── MessageMediaEmpty
│ │ │ │ ├── MessageMediaPhoto
│ │ │ │ ├── MessageMediaGeo
│ │ │ │ ├── MessageMediaContact
│ │ │ │ ├── MessageMediaUnsupported
│ │ │ │ ├── MessageMediaDocument
│ │ │ │ ├── MessageMediaWebPage
│ │ │ │ ├── MessageMediaVenue
│ │ │ │ ├── MessageMediaGame
│ │ │ │ ├── MessageMediaInvoice
│ │ │ │ ├── MessageMediaGeoLive
│ │ │ │ ├── MessageMediaPoll
│ │ │ │ ├── MessageMediaDice
│ │ │ │ ├── MessageMediaStory
│ │ │ │ ├── MessageMediaGiveaway
│ │ │ │ ├── MessageMediaGiveawayResults
│ │ │ │ ├── MessageMediaPaidMedia
│ │ │ │ ├── MessageMediaToDo
│ │ │ │ └── MessageMediaVideoStream
│ │ │ ├── MessageMediaDice
│ │ │ │ ├── value → int
│ │ │ │ ├── emoticon → string
│ │ │ │ └── game_outcome → messages.EmojiGameOutcome (optional)
│ │ │ │ └── messages.EmojiGameOutcome
│ │ │ ├── MessageMediaStory
│ │ │ │ ├── via_mention → true (optional)
│ │ │ │ ├── peer → Peer
│ │ │ │ │ ├── PeerUser
│ │ │ │ │ ├── PeerChat
│ │ │ │ │ └── PeerChannel
│ │ │ │ ├── id → int
│ │ │ │ └── story → StoryItem (optional)
│ │ │ │ ├── StoryItemDeleted
│ │ │ │ ├── StoryItemSkipped
│ │ │ │ └── StoryItem
│ │ │ ├── MessageMediaGiveaway
│ │ │ │ ├── only_new_subscribers → true (optional)
│ │ │ │ ├── winners_are_visible → true (optional)
│ │ │ │ ├── channels → Vector < long >
│ │ │ │ ├── countries_iso2 → Vector < string > (optional)
│ │ │ │ ├── prize_description → string (optional)
│ │ │ │ ├── quantity → int
│ │ │ │ ├── months → int (optional)
│ │ │ │ ├── stars → long (optional)
│ │ │ │ └── until_date → int
│ │ │ ├── MessageMediaGiveawayResults
│ │ │ │ ├── only_new_subscribers → true (optional)
│ │ │ │ ├── refunded → true (optional)
│ │ │ │ ├── channel_id → long
│ │ │ │ ├── additional_peers_count → int (optional)
│ │ │ │ ├── launch_msg_id → int
│ │ │ │ ├── winners_count → int
│ │ │ │ ├── unclaimed_count → int
│ │ │ │ ├── winners → Vector < long >
│ │ │ │ ├── months → int (optional)
│ │ │ │ ├── stars → long (optional)
│ │ │ │ ├── prize_description → string (optional)
│ │ │ │ └── until_date → int
│ │ │ ├── MessageMediaPaidMedia
│ │ │ │ ├── stars_amount → long
│ │ │ │ └── extended_media → Vector < MessageExtendedMedia >
│ │ │ │ ├── MessageExtendedMediaPreview
│ │ │ │ └── MessageExtendedMedia
│ │ │ ├── MessageMediaToDo
│ │ │ │ ├── todo → TodoList
│ │ │ │ │ └── TodoList
│ │ │ │ └── completions → Vector < TodoCompletion > (optional)
│ │ │ │ └── TodoCompletion
│ │ │ └── MessageMediaVideoStream
│ │ │ ├── rtmp_stream → true (optional)
│ │ │ └── call → InputGroupCall
│ │ │ ├── InputGroupCall
│ │ │ ├── InputGroupCallSlug
│ │ │ └── InputGroupCallInviteMessage
│ │ ├── reply_to_top_id → int (optional)
│ │ ├── quote_text → string (optional)
│ │ ├── quote_entities → Vector < MessageEntity > (optional)
│ │ │ ├── MessageEntityUnknown
│ │ │ │ ├── offset → int
│ │ │ │ └── length → int
│ │ │ ├── MessageEntityMention
│ │ │ │ ├── offset → int
│ │ │ │ └── length → int
│ │ │ ├── MessageEntityHashtag
│ │ │ │ ├── offset → int
│ │ │ │ └── length → int
│ │ │ ├── MessageEntityBotCommand
│ │ │ │ ├── offset → int
│ │ │ │ └── length → int
│ │ │ ├── MessageEntityUrl
│ │ │ │ ├── offset → int
│ │ │ │ └── length → int
│ │ │ ├── MessageEntityEmail
│ │ │ │ ├── offset → int
│ │ │ │ └── length → int
│ │ │ ├── MessageEntityBold
│ │ │ │ ├── offset → int
│ │ │ │ └── length → int
│ │ │ ├── MessageEntityItalic
│ │ │ │ ├── offset → int
│ │ │ │ └── length → int
│ │ │ ├── MessageEntityCode
│ │ │ │ ├── offset → int
│ │ │ │ └── length → int
│ │ │ ├── MessageEntityPre
│ │ │ │ ├── offset → int
│ │ │ │ ├── length → int
│ │ │ │ └── language → string
│ │ │ ├── MessageEntityTextUrl
│ │ │ │ ├── offset → int
│ │ │ │ ├── length → int
│ │ │ │ └── url → string
│ │ │ ├── MessageEntityMentionName
│ │ │ │ ├── offset → int
│ │ │ │ ├── length → int
│ │ │ │ └── user_id → long
│ │ │ ├── InputMessageEntityMentionName
│ │ │ │ ├── offset → int
│ │ │ │ ├── length → int
│ │ │ │ └── user_id → InputUser
│ │ │ │ ├── InputUserEmpty
│ │ │ │ ├── InputUserSelf
│ │ │ │ ├── InputUser
│ │ │ │ └── InputUserFromMessage
│ │ │ ├── MessageEntityPhone
│ │ │ │ ├── offset → int
│ │ │ │ └── length → int
│ │ │ ├── MessageEntityCashtag
│ │ │ │ ├── offset → int
│ │ │ │ └── length → int
│ │ │ ├── MessageEntityUnderline
│ │ │ │ ├── offset → int
│ │ │ │ └── length → int
│ │ │ ├── MessageEntityStrike
│ │ │ │ ├── offset → int
│ │ │ │ └── length → int
│ │ │ ├── MessageEntityBankCard
│ │ │ │ ├── offset → int
│ │ │ │ └── length → int
│ │ │ ├── MessageEntitySpoiler
│ │ │ │ ├── offset → int
│ │ │ │ └── length → int
│ │ │ ├── MessageEntityCustomEmoji
│ │ │ │ ├── offset → int
│ │ │ │ ├── length → int
│ │ │ │ └── document_id → long
│ │ │ ├── MessageEntityBlockquote
│ │ │ │ ├── collapsed → true (optional)
│ │ │ │ ├── offset → int
│ │ │ │ └── length → int
│ │ │ ├── MessageEntityFormattedDate
│ │ │ │ ├── relative → true (optional)
│ │ │ │ ├── short_time → true (optional)
│ │ │ │ ├── long_time → true (optional)
│ │ │ │ ├── short_date → true (optional)
│ │ │ │ ├── long_date → true (optional)
│ │ │ │ ├── day_of_week → true (optional)
│ │ │ │ ├── offset → int
│ │ │ │ ├── length → int
│ │ │ │ └── date → int
│ │ │ ├── MessageEntityDiffInsert
│ │ │ │ ├── offset → int
│ │ │ │ └── length → int
│ │ │ ├── MessageEntityDiffReplace
│ │ │ │ ├── offset → int
│ │ │ │ ├── length → int
│ │ │ │ └── old_text → string
│ │ │ └── MessageEntityDiffDelete
│ │ │ ├── offset → int
│ │ │ └── length → int
│ │ ├── quote_offset → int (optional)
│ │ ├── todo_item_id → int (optional)
│ │ └── poll_option → bytes (optional)
│ ├── peer → Peer
│ │ ├── PeerUser
│ │ │ └── user_id → long
│ │ ├── PeerChat
│ │ │ └── chat_id → long
│ │ └── PeerChannel
│ │ └── channel_id → long
│ └── story_id → int
├── date → int
├── message → string
├── media → MessageMedia (optional)
│ ├── MessageMediaEmpty
│ ├── MessageMediaPhoto
│ │ ├── spoiler → true (optional)
│ │ ├── live_photo → true (optional)
│ │ ├── photo → Photo (optional)
│ │ │ ├── PhotoEmpty
│ │ │ │ └── id → long
│ │ │ └── Photo
│ │ │ ├── has_stickers → true (optional)
│ │ │ ├── id → long
│ │ │ ├── access_hash → long
│ │ │ ├── file_reference → bytes
│ │ │ ├── date → int
│ │ │ ├── sizes → Vector < PhotoSize >
│ │ │ │ ├── PhotoSizeEmpty
│ │ │ │ ├── PhotoSize
│ │ │ │ ├── PhotoCachedSize
│ │ │ │ ├── PhotoStrippedSize
│ │ │ │ ├── PhotoSizeProgressive
│ │ │ │ └── PhotoPathSize
│ │ │ ├── video_sizes → Vector < VideoSize > (optional)
│ │ │ │ ├── VideoSize
│ │ │ │ ├── VideoSizeEmojiMarkup
│ │ │ │ └── VideoSizeStickerMarkup
│ │ │ └── dc_id → int
│ │ ├── ttl_seconds → int (optional)
│ │ └── video → Document (optional)
│ │ ├── DocumentEmpty
│ │ │ └── id → long
│ │ └── Document
│ │ ├── id → long
│ │ ├── access_hash → long
│ │ ├── file_reference → bytes
│ │ ├── date → int
│ │ ├── mime_type → string
│ │ ├── size → long
│ │ ├── thumbs → Vector < PhotoSize > (optional)
│ │ │ ├── PhotoSizeEmpty
│ │ │ ├── PhotoSize
│ │ │ ├── PhotoCachedSize
│ │ │ ├── PhotoStrippedSize
│ │ │ ├── PhotoSizeProgressive
│ │ │ └── PhotoPathSize
│ │ ├── video_thumbs → Vector < VideoSize > (optional)
│ │ │ ├── VideoSize
│ │ │ ├── VideoSizeEmojiMarkup
│ │ │ └── VideoSizeStickerMarkup
│ │ ├── dc_id → int
│ │ └── attributes → Vector < DocumentAttribute >
│ │ ├── DocumentAttributeImageSize
│ │ ├── DocumentAttributeAnimated
│ │ ├── DocumentAttributeSticker
│ │ ├── DocumentAttributeVideo
│ │ ├── DocumentAttributeAudio
│ │ ├── DocumentAttributeFilename
│ ├── MessageMediaGeo
│ │ └── geo → GeoPoint
│ │ ├── GeoPointEmpty
│ │ └── GeoPoint
│ │ ├── long → double
│ │ ├── lat → double
│ │ ├── access_hash → long
│ │ └── accuracy_radius → int (optional)
│ ├── MessageMediaContact
│ │ ├── phone_number → string
│ │ ├── first_name → string
│ │ ├── last_name → string
│ │ ├── vcard → string
│ │ └── user_id → long
│ ├── MessageMediaDocument
│ │ ├── nopremium → true (optional)
│ │ ├── spoiler → true (optional)
│ │ ├── video → true (optional)
│ │ ├── round → true (optional)
│ │ ├── voice → true (optional)
│ │ ├── document → Document (optional)
│ │ │ ├── DocumentEmpty
│ │ │ │ └── id → long
│ │ │ └── Document
│ │ │ ├── id → long
│ │ │ ├── access_hash → long
│ │ │ ├── file_reference → bytes
│ │ │ ├── date → int
│ │ │ ├── mime_type → string
│ │ │ ├── size → long
│ │ │ ├── thumbs → Vector < PhotoSize > (optional)
│ │ │ │ ├── PhotoSizeEmpty
│ │ │ │ ├── PhotoSize
│ │ │ │ ├── PhotoCachedSize
│ │ │ │ ├── PhotoStrippedSize
│ │ │ │ ├── PhotoSizeProgressive
│ │ │ │ └── PhotoPathSize
│ │ │ ├── video_thumbs → Vector < VideoSize > (optional)
│ │ │ │ ├── VideoSize
│ │ │ │ ├── VideoSizeEmojiMarkup
│ │ │ │ └── VideoSizeStickerMarkup
│ │ │ ├── dc_id → int
│ │ │ └── attributes → Vector < DocumentAttribute >
│ │ │ ├── DocumentAttributeImageSize
│ │ │ ├── DocumentAttributeAnimated
│ │ │ ├── DocumentAttributeSticker
│ │ │ ├── DocumentAttributeVideo
│ │ │ ├── DocumentAttributeAudio
│ │ │ ├── DocumentAttributeFilename
│ │ │ ├── DocumentAttributeHasStickers
│ │ │ └── DocumentAttributeCustomEmoji
│ │ ├── alt_documents → Vector < Document > (optional)
│ │ │ ├── DocumentEmpty
│ │ │ │ └── id → long
│ │ │ └── Document
│ │ │ ├── id → long
│ │ │ ├── access_hash → long
│ │ │ ├── file_reference → bytes
│ │ │ ├── date → int
│ │ │ ├── mime_type → string
│ │ │ ├── size → long
│ │ │ ├── thumbs → Vector < PhotoSize > (optional)
│ │ │ │ ├── PhotoSizeEmpty
│ │ │ │ ├── PhotoSize
│ │ │ │ ├── PhotoCachedSize
│ │ │ │ ├── PhotoStrippedSize
│ │ │ │ ├── PhotoSizeProgressive
│ │ │ │ └── PhotoPathSize
│ │ │ ├── video_thumbs → Vector < VideoSize > (optional)
│ │ │ │ ├── VideoSize
│ │ │ │ ├── VideoSizeEmojiMarkup
│ │ │ │ └── VideoSizeStickerMarkup
│ │ │ ├── dc_id → int
│ │ │ └── attributes → Vector < DocumentAttribute >
│ │ │ ├── DocumentAttributeImageSize
│ │ │ ├── DocumentAttributeAnimated
│ │ │ ├── DocumentAttributeSticker
│ │ │ ├── DocumentAttributeVideo
│ │ │ ├── DocumentAttributeAudio
│ │ │ ├── DocumentAttributeFilename
│ │ │ ├── DocumentAttributeHasStickers
│ │ │ └── DocumentAttributeCustomEmoji
│ │ ├── video_cover → Photo (optional)
│ │ │ ├── PhotoEmpty
│ │ │ │ └── id → long
│ │ │ └── Photo
│ │ │ ├── has_stickers → true (optional)
│ │ │ ├── id → long
│ │ │ ├── access_hash → long
│ │ │ ├── file_reference → bytes
│ │ │ ├── date → int
│ │ │ ├── sizes → Vector < PhotoSize >
│ │ │ │ ├── PhotoSizeEmpty
│ │ │ │ ├── PhotoSize
│ │ │ │ ├── PhotoCachedSize
│ │ │ │ ├── PhotoStrippedSize
│ │ │ │ ├── PhotoSizeProgressive
│ │ │ │ └── PhotoPathSize
│ │ │ ├── video_sizes → Vector < VideoSize > (optional)
│ │ │ │ ├── VideoSize
│ │ │ │ ├── VideoSizeEmojiMarkup
│ │ │ │ └── VideoSizeStickerMarkup
│ │ │ └── dc_id → int
│ │ ├── video_timestamp → int (optional)
│ │ └── ttl_seconds → int (optional)
│ ├── MessageMediaWebPage
│ │ ├── force_large_media → true (optional)
│ │ ├── force_small_media → true (optional)
│ │ ├── manual → true (optional)
│ │ ├── safe → true (optional)
│ │ └── webpage → WebPage
│ │ ├── WebPageEmpty
│ │ │ ├── id → long
│ │ │ └── url → string (optional)
│ │ ├── WebPagePending
│ │ │ ├── id → long
│ │ │ ├── url → string (optional)
│ │ │ └── date → int
│ │ ├── WebPage
│ │ │ ├── has_large_media → true (optional)
│ │ │ ├── video_cover_photo → true (optional)
│ │ │ ├── id → long
│ │ │ ├── url → string
│ │ │ ├── display_url → string
│ │ │ ├── hash → int
│ │ │ ├── type → string (optional)
│ │ │ ├── site_name → string (optional)
│ │ │ ├── title → string (optional)
│ │ │ ├── description → string (optional)
│ │ │ ├── photo → Photo (optional)
│ │ │ │ ├── PhotoEmpty
│ │ │ │ └── Photo
│ │ │ ├── embed_url → string (optional)
│ │ │ ├── embed_type → string (optional)
│ │ │ ├── embed_width → int (optional)
│ │ │ ├── embed_height → int (optional)
│ │ │ ├── duration → int (optional)
│ │ │ ├── author → string (optional)
│ │ │ ├── document → Document (optional)
│ │ │ │ ├── DocumentEmpty
│ │ │ │ └── Document
│ │ │ ├── cached_page → Page (optional)
│ │ │ │ └── Page
│ │ │ └── attributes → Vector < WebPageAttribute > (optional)
│ │ │ ├── WebPageAttributeTheme
│ │ │ ├── WebPageAttributeStory
│ │ │ ├── WebPageAttributeStickerSet
│ │ │ ├── WebPageAttributeUniqueStarGift
│ │ │ ├── WebPageAttributeStarGiftAuction
│ │ │ └── WebPageAttributeAiComposeTone
│ │ └── WebPageNotModified
│ │ └── cached_page_views → int (optional)
│ ├── MessageMediaVenue
│ │ ├── geo → GeoPoint
│ │ │ ├── GeoPointEmpty
│ │ │ └── GeoPoint
│ │ │ ├── long → double
│ │ │ ├── lat → double
│ │ │ ├── access_hash → long
│ │ │ └── accuracy_radius → int (optional)
│ │ ├── title → string
│ │ ├── address → string
│ │ ├── provider → string
│ │ ├── venue_id → string
│ │ └── venue_type → string
│ ├── MessageMediaGame
│ │ └── game → Game
│ │ └── Game
│ │ ├── id → long
│ │ ├── access_hash → long
│ │ ├── short_name → string
│ │ ├── title → string
│ │ ├── description → string
│ │ ├── photo → Photo
│ │ │ ├── PhotoEmpty
│ │ │ └── Photo
│ │ └── document → Document (optional)
│ │ ├── DocumentEmpty
│ │ └── Document
│ ├── MessageMediaInvoice
│ │ ├── shipping_address_requested → true (optional)
│ │ ├── test → true (optional)
│ │ ├── title → string
│ │ ├── description → string
│ │ ├── photo → WebDocument (optional)
│ │ │ ├── WebDocument
│ │ │ │ ├── url → string
│ │ │ │ ├── access_hash → long
│ │ │ │ ├── size → int
│ │ │ │ ├── mime_type → string
│ │ │ │ └── attributes → Vector < DocumentAttribute >
│ │ │ │ ├── DocumentAttributeImageSize
│ │ │ │ ├── DocumentAttributeAnimated
│ │ │ │ ├── DocumentAttributeSticker
│ │ │ │ ├── DocumentAttributeVideo
│ │ │ │ ├── DocumentAttributeAudio
│ │ │ │ ├── DocumentAttributeFilename
│ │ │ │ ├── DocumentAttributeHasStickers
│ │ │ │ └── DocumentAttributeCustomEmoji
│ │ │ └── WebDocumentNoProxy
│ │ │ ├── url → string
│ │ │ ├── size → int
│ │ │ ├── mime_type → string
│ │ │ └── attributes → Vector < DocumentAttribute >
│ │ │ ├── DocumentAttributeImageSize
│ │ │ ├── DocumentAttributeAnimated
│ │ │ ├── DocumentAttributeSticker
│ │ │ ├── DocumentAttributeVideo
│ │ │ ├── DocumentAttributeAudio
│ │ │ ├── DocumentAttributeFilename
│ │ │ ├── DocumentAttributeHasStickers
│ │ │ └── DocumentAttributeCustomEmoji
│ │ ├── receipt_msg_id → int (optional)
│ │ ├── currency → string
│ │ ├── total_amount → long
│ │ ├── start_param → string
│ │ └── extended_media → MessageExtendedMedia (optional)
│ │ ├── MessageExtendedMediaPreview
│ │ │ ├── w → int (optional)
│ │ │ ├── h → int (optional)
│ │ │ ├── thumb → PhotoSize (optional)
│ │ │ │ ├── PhotoSizeEmpty
│ │ │ │ ├── PhotoSize
│ │ │ │ ├── PhotoCachedSize
│ │ │ │ ├── PhotoStrippedSize
│ │ │ │ ├── PhotoSizeProgressive
│ │ │ │ └── PhotoPathSize
│ │ │ └── video_duration → int (optional)
│ │ └── MessageExtendedMedia
│ │ └── media → MessageMedia
│ │ ├── MessageMediaEmpty
│ │ ├── MessageMediaPhoto
│ │ ├── MessageMediaGeo
│ │ ├── MessageMediaContact
│ │ ├── MessageMediaUnsupported
│ │ ├── MessageMediaDocument
│ │ ├── MessageMediaWebPage
│ │ ├── MessageMediaVenue
│ │ ├── MessageMediaGame
│ │ ├── MessageMediaInvoice
│ │ ├── MessageMediaGeoLive
│ │ ├── MessageMediaPoll
│ │ ├── MessageMediaDice
│ │ ├── MessageMediaStory
│ │ ├── MessageMediaGiveaway
│ │ ├── MessageMediaGiveawayResults
│ │ ├── MessageMediaPaidMedia
│ │ ├── MessageMediaToDo
│ │ └── MessageMediaVideoStream
│ ├── MessageMediaGeoLive
│ │ ├── geo → GeoPoint
│ │ │ ├── GeoPointEmpty
│ │ │ └── GeoPoint
│ │ │ ├── long → double
│ │ │ ├── lat → double
│ │ │ ├── access_hash → long
│ │ │ └── accuracy_radius → int (optional)
│ │ ├── heading → int (optional)
│ │ ├── period → int
│ │ └── proximity_notification_radius → int (optional)
│ ├── MessageMediaPoll
│ │ ├── poll → Poll
│ │ │ └── Poll
│ │ │ ├── id → long
│ │ │ ├── closed → true (optional)
│ │ │ ├── public_voters → true (optional)
│ │ │ ├── multiple_choice → true (optional)
│ │ │ ├── quiz → true (optional)
│ │ │ ├── open_answers → true (optional)
│ │ │ ├── revoting_disabled → true (optional)
│ │ │ ├── shuffle_answers → true (optional)
│ │ │ ├── hide_results_until_close → true (optional)
│ │ │ ├── creator → true (optional)
│ │ │ ├── subscribers_only → true (optional)
│ │ │ ├── question → TextWithEntities
│ │ │ │ └── TextWithEntities
│ │ │ ├── answers → Vector < PollAnswer >
│ │ │ │ ├── PollAnswer
│ │ │ │ └── InputPollAnswer
│ │ │ ├── close_period → int (optional)
│ │ │ ├── close_date → int (optional)
│ │ │ ├── countries_iso2 → Vector < string > (optional)
│ │ │ └── hash → long
│ │ ├── results → PollResults
│ │ │ └── PollResults
│ │ │ ├── min → true (optional)
│ │ │ ├── has_unread_votes → true (optional)
│ │ │ ├── can_view_stats → true (optional)
│ │ │ ├── results → Vector < PollAnswerVoters > (optional)
│ │ │ │ └── PollAnswerVoters
│ │ │ ├── total_voters → int (optional)
│ │ │ ├── recent_voters → Vector < Peer > (optional)
│ │ │ │ ├── PeerUser
│ │ │ │ ├── PeerChat
│ │ │ │ └── PeerChannel
│ │ │ ├── solution → string (optional)
│ │ │ ├── solution_entities → Vector < MessageEntity > (optional)
│ │ │ │ ├── MessageEntityUnknown
│ │ │ │ ├── MessageEntityMention
│ │ │ │ ├── MessageEntityHashtag
│ │ │ │ ├── MessageEntityBotCommand
│ │ │ │ ├── MessageEntityUrl
│ │ │ │ ├── MessageEntityEmail
│ │ │ │ ├── MessageEntityBold
│ │ │ │ ├── MessageEntityItalic
│ │ │ │ ├── MessageEntityCode
│ │ │ │ ├── MessageEntityPre
│ │ │ │ ├── MessageEntityTextUrl
│ │ │ │ ├── MessageEntityMentionName
│ │ │ │ ├── InputMessageEntityMentionName
│ │ │ │ ├── MessageEntityPhone
│ │ │ │ ├── MessageEntityCashtag
│ │ │ │ ├── MessageEntityUnderline
│ │ │ │ ├── MessageEntityStrike
│ │ │ │ ├── MessageEntityBankCard
│ │ │ │ ├── MessageEntitySpoiler
│ │ │ │ ├── MessageEntityCustomEmoji
│ │ │ │ ├── MessageEntityBlockquote
│ │ │ │ ├── MessageEntityFormattedDate
│ │ │ │ ├── MessageEntityDiffInsert
│ │ │ │ ├── MessageEntityDiffReplace
│ │ │ │ └── MessageEntityDiffDelete
│ │ │ └── solution_media → MessageMedia (optional)
│ │ │ ├── MessageMediaEmpty
│ │ │ ├── MessageMediaPhoto
│ │ │ ├── MessageMediaGeo
│ │ │ ├── MessageMediaContact
│ │ │ ├── MessageMediaUnsupported
│ │ │ ├── MessageMediaDocument
│ │ │ ├── MessageMediaWebPage
│ │ │ ├── MessageMediaVenue
│ │ │ ├── MessageMediaGame
│ │ │ ├── MessageMediaInvoice
│ │ │ ├── MessageMediaGeoLive
│ │ │ ├── MessageMediaPoll
│ │ │ ├── MessageMediaDice
│ │ │ ├── MessageMediaStory
│ │ │ ├── MessageMediaGiveaway
│ │ │ ├── MessageMediaGiveawayResults
│ │ │ ├── MessageMediaPaidMedia
│ │ │ ├── MessageMediaToDo
│ │ │ └── MessageMediaVideoStream
│ │ └── attached_media → MessageMedia (optional)
│ │ ├── MessageMediaEmpty
│ │ ├── MessageMediaPhoto
│ │ │ ├── spoiler → true (optional)
│ │ │ ├── live_photo → true (optional)
│ │ │ ├── photo → Photo (optional)
│ │ │ │ ├── PhotoEmpty
│ │ │ │ └── Photo
│ │ │ ├── ttl_seconds → int (optional)
│ │ │ └── video → Document (optional)
│ │ │ ├── DocumentEmpty
│ │ │ └── Document
│ │ ├── MessageMediaGeo
│ │ │ └── geo → GeoPoint
│ │ │ ├── GeoPointEmpty
│ │ │ └── GeoPoint
│ │ ├── MessageMediaContact
│ │ │ ├── phone_number → string
│ │ │ ├── first_name → string
│ │ │ ├── last_name → string
│ │ │ ├── vcard → string
│ │ │ └── user_id → long
│ │ ├── MessageMediaUnsupported
│ │ ├── MessageMediaDocument
│ │ │ ├── nopremium → true (optional)
│ │ │ ├── spoiler → true (optional)
│ │ │ ├── video → true (optional)
│ │ │ ├── round → true (optional)
│ │ │ ├── voice → true (optional)
│ │ │ ├── document → Document (optional)
│ │ │ │ ├── DocumentEmpty
│ │ │ │ └── Document
│ │ │ ├── alt_documents → Vector < Document > (optional)
│ │ │ │ ├── DocumentEmpty
│ │ │ │ └── Document
│ │ │ ├── video_cover → Photo (optional)
│ │ │ │ ├── PhotoEmpty
│ │ │ │ └── Photo
│ │ │ ├── video_timestamp → int (optional)
│ │ │ └── ttl_seconds → int (optional)
│ │ ├── MessageMediaWebPage
│ │ │ ├── force_large_media → true (optional)
│ │ │ ├── force_small_media → true (optional)
│ │ │ ├── manual → true (optional)
│ │ │ ├── safe → true (optional)
│ │ │ └── webpage → WebPage
│ │ │ ├── WebPageEmpty
│ │ │ ├── WebPagePending
│ │ │ ├── WebPage
│ │ │ └── WebPageNotModified
│ │ ├── MessageMediaVenue
│ │ │ ├── geo → GeoPoint
│ │ │ │ ├── GeoPointEmpty
│ │ │ │ └── GeoPoint
│ │ │ ├── title → string
│ │ │ ├── address → string
│ │ │ ├── provider → string
│ │ │ ├── venue_id → string
│ │ │ └── venue_type → string
│ │ ├── MessageMediaGame
│ │ │ └── game → Game
│ │ │ └── Game
│ │ ├── MessageMediaInvoice
│ │ │ ├── shipping_address_requested → true (optional)
│ │ │ ├── test → true (optional)
│ │ │ ├── title → string
│ │ │ ├── description → string
│ │ │ ├── photo → WebDocument (optional)
│ │ │ │ ├── WebDocument
│ │ │ │ └── WebDocumentNoProxy
│ │ │ ├── receipt_msg_id → int (optional)
│ │ │ ├── currency → string
│ │ │ ├── total_amount → long
│ │ │ ├── start_param → string
│ │ │ └── extended_media → MessageExtendedMedia (optional)
│ │ │ ├── MessageExtendedMediaPreview
│ │ │ └── MessageExtendedMedia
│ │ ├── MessageMediaGeoLive
│ │ │ ├── geo → GeoPoint
│ │ │ │ ├── GeoPointEmpty
│ │ │ │ └── GeoPoint
│ │ │ ├── heading → int (optional)
│ │ │ ├── period → int
│ │ │ └── proximity_notification_radius → int (optional)
│ │ ├── MessageMediaPoll
│ │ │ ├── poll → Poll
│ │ │ │ └── Poll
│ │ │ ├── results → PollResults
│ │ │ │ └── PollResults
│ │ │ └── attached_media → MessageMedia (optional)
│ │ │ ├── MessageMediaEmpty
│ │ │ ├── MessageMediaPhoto
│ │ │ ├── MessageMediaGeo
│ │ │ ├── MessageMediaContact
│ │ │ ├── MessageMediaUnsupported
│ │ │ ├── MessageMediaDocument
│ │ │ ├── MessageMediaWebPage
│ │ │ ├── MessageMediaVenue
│ │ │ ├── MessageMediaGame
│ │ │ ├── MessageMediaInvoice
│ │ │ ├── MessageMediaGeoLive
│ │ │ ├── MessageMediaPoll
│ │ │ ├── MessageMediaDice
│ │ │ ├── MessageMediaStory
│ │ │ ├── MessageMediaGiveaway
│ │ │ ├── MessageMediaGiveawayResults
│ │ │ ├── MessageMediaPaidMedia
│ │ │ ├── MessageMediaToDo
│ │ │ └── MessageMediaVideoStream
│ │ ├── MessageMediaDice
│ │ │ ├── value → int
│ │ │ ├── emoticon → string
│ │ │ └── game_outcome → messages.EmojiGameOutcome (optional)
│ │ │ └── messages.EmojiGameOutcome
│ │ ├── MessageMediaStory
│ │ │ ├── via_mention → true (optional)
│ │ │ ├── peer → Peer
│ │ │ │ ├── PeerUser
│ │ │ │ ├── PeerChat
│ │ │ │ └── PeerChannel
│ │ │ ├── id → int
│ │ │ └── story → StoryItem (optional)
│ │ │ ├── StoryItemDeleted
│ │ │ ├── StoryItemSkipped
│ │ │ └── StoryItem
│ │ ├── MessageMediaGiveaway
│ │ │ ├── only_new_subscribers → true (optional)
│ │ │ ├── winners_are_visible → true (optional)
│ │ │ ├── channels → Vector < long >
│ │ │ ├── countries_iso2 → Vector < string > (optional)
│ │ │ ├── prize_description → string (optional)
│ │ │ ├── quantity → int
│ │ │ ├── months → int (optional)
│ │ │ ├── stars → long (optional)
│ │ │ └── until_date → int
│ │ ├── MessageMediaGiveawayResults
│ │ │ ├── only_new_subscribers → true (optional)
│ │ │ ├── refunded → true (optional)
│ │ │ ├── channel_id → long
│ │ │ ├── additional_peers_count → int (optional)
│ │ │ ├── launch_msg_id → int
│ │ │ ├── winners_count → int
│ │ │ ├── unclaimed_count → int
│ │ │ ├── winners → Vector < long >
│ │ │ ├── months → int (optional)
│ │ │ ├── stars → long (optional)
│ │ │ ├── prize_description → string (optional)
│ │ │ └── until_date → int
│ │ ├── MessageMediaPaidMedia
│ │ │ ├── stars_amount → long
│ │ │ └── extended_media → Vector < MessageExtendedMedia >
│ │ │ ├── MessageExtendedMediaPreview
│ │ │ └── MessageExtendedMedia
│ │ ├── MessageMediaToDo
│ │ │ ├── todo → TodoList
│ │ │ │ └── TodoList
│ │ │ └── completions → Vector < TodoCompletion > (optional)
│ │ │ └── TodoCompletion
│ │ └── MessageMediaVideoStream
│ │ ├── rtmp_stream → true (optional)
│ │ └── call → InputGroupCall
│ │ ├── InputGroupCall
│ │ ├── InputGroupCallSlug
│ │ └── InputGroupCallInviteMessage
│ ├── MessageMediaDice
│ │ ├── value → int
│ │ ├── emoticon → string
│ │ └── game_outcome → messages.EmojiGameOutcome (optional)
│ │ └── messages.EmojiGameOutcome
│ │ ├── seed → bytes
│ │ ├── stake_ton_amount → long
│ │ └── ton_amount → long
│ ├── MessageMediaStory
│ │ ├── via_mention → true (optional)
│ │ ├── peer → Peer
│ │ │ ├── PeerUser
│ │ │ │ └── user_id → long
│ │ │ ├── PeerChat
│ │ │ │ └── chat_id → long
│ │ │ └── PeerChannel
│ │ │ └── channel_id → long
│ │ ├── id → int
│ │ └── story → StoryItem (optional)
│ │ ├── StoryItemDeleted
│ │ │ └── id → int
│ │ ├── StoryItemSkipped
│ │ │ ├── close_friends → true (optional)
│ │ │ ├── live → true (optional)
│ │ │ ├── id → int
│ │ │ ├── date → int
│ │ │ └── expire_date → int
│ │ └── StoryItem
│ │ ├── pinned → true (optional)
│ │ ├── public → true (optional)
│ │ ├── close_friends → true (optional)
│ │ ├── min → true (optional)
│ │ ├── noforwards → true (optional)
│ │ ├── edited → true (optional)
│ │ ├── contacts → true (optional)
│ │ ├── selected_contacts → true (optional)
│ │ ├── out → true (optional)
│ │ ├── id → int
│ │ ├── date → int
│ │ ├── from_id → Peer (optional)
│ │ │ ├── PeerUser
│ │ │ ├── PeerChat
│ │ │ └── PeerChannel
│ │ ├── fwd_from → StoryFwdHeader (optional)
│ │ │ └── StoryFwdHeader
│ │ ├── expire_date → int
│ │ ├── caption → string (optional)
│ │ ├── entities → Vector < MessageEntity > (optional)
│ │ │ ├── MessageEntityUnknown
│ │ │ ├── MessageEntityMention
│ │ │ ├── MessageEntityHashtag
│ │ │ ├── MessageEntityBotCommand
│ │ │ ├── MessageEntityUrl
│ │ │ ├── MessageEntityEmail
│ │ │ ├── MessageEntityBold
│ │ │ ├── MessageEntityItalic
│ │ │ ├── MessageEntityCode
│ │ │ ├── MessageEntityPre
│ │ │ ├── MessageEntityTextUrl
│ │ │ ├── MessageEntityMentionName
│ │ │ ├── InputMessageEntityMentionName
│ │ │ ├── MessageEntityPhone
│ │ │ ├── MessageEntityCashtag
│ │ │ ├── MessageEntityUnderline
│ │ │ ├── MessageEntityStrike
│ │ │ ├── MessageEntityBankCard
│ │ │ ├── MessageEntitySpoiler
│ │ │ ├── MessageEntityCustomEmoji
│ │ │ ├── MessageEntityBlockquote
│ │ │ ├── MessageEntityFormattedDate
│ │ │ ├── MessageEntityDiffInsert
│ │ │ ├── MessageEntityDiffReplace
│ │ │ └── MessageEntityDiffDelete
│ │ ├── media → MessageMedia
│ │ │ ├── MessageMediaEmpty
│ │ │ ├── MessageMediaPhoto
│ │ │ ├── MessageMediaGeo
│ │ │ ├── MessageMediaContact
│ │ │ ├── MessageMediaUnsupported
│ │ │ ├── MessageMediaDocument
│ │ │ ├── MessageMediaWebPage
│ │ │ ├── MessageMediaVenue
│ │ │ ├── MessageMediaGame
│ │ │ ├── MessageMediaInvoice
│ │ │ ├── MessageMediaGeoLive
│ │ │ ├── MessageMediaPoll
│ │ │ ├── MessageMediaDice
│ │ │ ├── MessageMediaStory
│ │ │ ├── MessageMediaGiveaway
│ │ │ ├── MessageMediaGiveawayResults
│ │ │ ├── MessageMediaPaidMedia
│ │ │ ├── MessageMediaToDo
│ │ │ └── MessageMediaVideoStream
│ │ ├── media_areas → Vector < MediaArea > (optional)
│ │ │ ├── MediaAreaVenue
│ │ │ ├── InputMediaAreaVenue
│ │ │ ├── MediaAreaGeoPoint
│ │ │ ├── MediaAreaSuggestedReaction
│ │ │ ├── MediaAreaChannelPost
│ │ │ ├── InputMediaAreaChannelPost
│ │ │ ├── MediaAreaUrl
│ │ │ ├── MediaAreaWeather
│ │ │ └── MediaAreaStarGift
│ │ ├── privacy → Vector < PrivacyRule > (optional)
│ │ │ ├── PrivacyValueAllowContacts
│ │ │ ├── PrivacyValueAllowAll
│ │ │ ├── PrivacyValueAllowUsers
│ │ │ ├── PrivacyValueDisallowContacts
│ │ │ ├── PrivacyValueDisallowAll
│ │ │ ├── PrivacyValueDisallowUsers
│ │ │ ├── PrivacyValueAllowChatParticipants
│ │ │ ├── PrivacyValueAllowCloseFriends
│ │ │ ├── PrivacyValueAllowPremium
│ │ │ ├── PrivacyValueAllowBots
│ │ │ └── PrivacyValueDisallowBots
│ │ ├── views → StoryViews (optional)
│ │ │ └── StoryViews
│ │ ├── sent_reaction → Reaction (optional)
│ │ │ ├── ReactionEmpty
│ │ │ ├── ReactionEmoji
│ │ │ ├── ReactionCustomEmoji
│ │ │ └── ReactionPaid
│ │ ├── albums → Vector < int > (optional)
│ │ └── music → Document (optional)
│ │ ├── DocumentEmpty
│ │ └── Document
│ ├── MessageMediaGiveaway
│ │ ├── only_new_subscribers → true (optional)
│ │ ├── winners_are_visible → true (optional)
│ │ ├── channels → Vector < long >
│ │ ├── countries_iso2 → Vector < string > (optional)
│ │ ├── prize_description → string (optional)
│ │ ├── quantity → int
│ │ ├── months → int (optional)
│ │ ├── stars → long (optional)
│ │ └── until_date → int
│ │ ├── only_new_subscribers → true (optional)
│ │ ├── refunded → true (optional)
│ │ ├── channel_id → long
│ │ ├── additional_peers_count → int (optional)
│ │ ├── launch_msg_id → int
│ │ ├── winners_count → int
│ │ ├── unclaimed_count → int
│ │ ├── winners → Vector < long >
│ │ ├── months → int (optional)
│ │ ├── stars → long (optional)
│ │ ├── prize_description → string (optional)
│ │ └── until_date → int
│ ├── MessageMediaPaidMedia
│ │ ├── stars_amount → long
│ │ └── extended_media → Vector < MessageExtendedMedia >
│ │ ├── MessageExtendedMediaPreview
│ │ │ ├── w → int (optional)
│ │ │ ├── h → int (optional)
│ │ │ ├── thumb → PhotoSize (optional)
│ │ │ │ ├── PhotoSizeEmpty
│ │ │ │ ├── PhotoSize
│ │ │ │ ├── PhotoCachedSize
│ │ │ │ ├── PhotoStrippedSize
│ │ │ │ ├── PhotoSizeProgressive
│ │ │ │ └── PhotoPathSize
│ │ │ └── video_duration → int (optional)
│ │ └── MessageExtendedMedia
│ │ └── media → MessageMedia
│ │ ├── MessageMediaEmpty
│ │ ├── MessageMediaPhoto
│ │ ├── MessageMediaGeo
│ │ ├── MessageMediaContact
│ │ ├── MessageMediaUnsupported
│ │ ├── MessageMediaDocument
│ │ ├── MessageMediaWebPage
│ │ ├── MessageMediaVenue
│ │ ├── MessageMediaGame
│ │ ├── MessageMediaInvoice
│ │ ├── MessageMediaGeoLive
│ │ ├── MessageMediaPoll
│ │ ├── MessageMediaDice
│ │ ├── MessageMediaStory
│ │ ├── MessageMediaGiveaway
│ │ ├── MessageMediaGiveawayResults
│ │ ├── MessageMediaPaidMedia
│ │ ├── MessageMediaToDo
│ │ └── MessageMediaVideoStream
│ ├── MessageMediaToDo
│ │ ├── todo → TodoList
│ │ │ └── TodoList
│ │ │ ├── others_can_append → true (optional)
│ │ │ ├── others_can_complete → true (optional)
│ │ │ ├── title → TextWithEntities
│ │ │ │ └── TextWithEntities
│ │ │ └── list → Vector < TodoItem >
│ │ │ └── TodoItem
│ │ └── completions → Vector < TodoCompletion > (optional)
│ │ └── TodoCompletion
│ │ ├── id → int
│ │ ├── completed_by → Peer
│ │ │ ├── PeerUser
│ │ │ ├── PeerChat
│ │ │ └── PeerChannel
│ │ └── date → int
│ ├── rtmp_stream → true (optional)
│ └── call → InputGroupCall
│ ├── InputGroupCall
│ │ ├── id → long
│ │ └── access_hash → long
│ ├── InputGroupCallSlug
│ │ └── slug → string
│ └── msg_id → int
├── reply_markup → ReplyMarkup (optional)
│ ├── ReplyKeyboardHide
│ │ └── selective → true (optional)
│ │ ├── single_use → true (optional)
│ │ ├── selective → true (optional)
│ │ └── placeholder → string (optional)
│ ├── ReplyKeyboardMarkup
│ │ ├── resize → true (optional)
│ │ ├── single_use → true (optional)
│ │ ├── selective → true (optional)
│ │ ├── persistent → true (optional)
│ │ ├── rows → Vector < KeyboardButtonRow >
│ │ │ └── KeyboardButtonRow
│ │ │ └── buttons → Vector < KeyboardButton >
│ │ │ ├── KeyboardButton
│ │ │ ├── KeyboardButtonUrl
│ │ │ ├── KeyboardButtonCallback
│ │ │ ├── KeyboardButtonRequestPhone
│ │ │ ├── KeyboardButtonRequestGeoLocation
│ │ │ ├── KeyboardButtonSwitchInline
│ │ │ ├── KeyboardButtonGame
│ │ │ ├── KeyboardButtonBuy
│ │ │ ├── KeyboardButtonUrlAuth
│ │ │ ├── InputKeyboardButtonUrlAuth
│ │ │ ├── KeyboardButtonRequestPoll
│ │ │ ├── InputKeyboardButtonUserProfile
│ │ │ ├── KeyboardButtonUserProfile
│ │ │ ├── KeyboardButtonWebView
│ │ │ ├── KeyboardButtonSimpleWebView
│ │ │ ├── KeyboardButtonRequestPeer
│ │ │ ├── InputKeyboardButtonRequestPeer
│ │ │ └── KeyboardButtonCopy
│ │ └── placeholder → string (optional)
│ └── ReplyInlineMarkup
│ └── rows → Vector < KeyboardButtonRow >
│ └── KeyboardButtonRow
│ └── buttons → Vector < KeyboardButton >
│ ├── KeyboardButton
│ ├── KeyboardButtonUrl
│ ├── KeyboardButtonGame
│ ├── KeyboardButtonBuy
│ ├── KeyboardButtonUrlAuth
│ ├── KeyboardButtonWebView
│ └── KeyboardButtonCopy
├── entities → Vector < MessageEntity > (optional)
│ ├── MessageEntityUnknown
│ │ ├── offset → int
│ │ └── length → int
│ ├── MessageEntityMention
│ │ ├── offset → int
│ │ └── length → int
│ ├── MessageEntityHashtag
│ │ ├── offset → int
│ │ └── length → int
│ │ ├── offset → int
│ │ └── length → int
│ ├── MessageEntityUrl
│ │ ├── offset → int
│ │ └── length → int
│ ├── MessageEntityEmail
│ │ ├── offset → int
│ │ └── length → int
│ ├── MessageEntityBold
│ │ ├── offset → int
│ │ └── length → int
│ ├── MessageEntityItalic
│ │ ├── offset → int
│ │ └── length → int
│ ├── MessageEntityCode
│ │ ├── offset → int
│ │ └── length → int
│ ├── MessageEntityPre
│ │ ├── offset → int
│ │ ├── length → int
│ │ └── language → string
│ ├── MessageEntityTextUrl
│ │ ├── offset → int
│ │ ├── length → int
│ │ └── url → string
│ │ ├── offset → int
│ │ ├── length → int
│ │ └── user_id → long
│ │ ├── offset → int
│ │ ├── length → int
│ │ └── user_id → InputUser
│ │ ├── InputUserEmpty
│ │ ├── InputUserSelf
│ │ ├── InputUser
│ │ └── InputUserFromMessage
│ ├── MessageEntityPhone
│ │ ├── offset → int
│ │ └── length → int
│ ├── MessageEntityCashtag
│ │ ├── offset → int
│ │ └── length → int
│ │ ├── offset → int
│ │ └── length → int
│ ├── MessageEntityStrike
│ │ ├── offset → int
│ │ └── length → int
│ ├── MessageEntityBankCard
│ │ ├── offset → int
│ │ └── length → int
│ ├── MessageEntitySpoiler
│ │ ├── offset → int
│ │ └── length → int
│ │ ├── offset → int
│ │ ├── length → int
│ │ └── document_id → long
│ │ ├── collapsed → true (optional)
│ │ ├── offset → int
│ │ └── length → int
│ │ ├── relative → true (optional)
│ │ ├── short_time → true (optional)
│ │ ├── long_time → true (optional)
│ │ ├── short_date → true (optional)
│ │ ├── long_date → true (optional)
│ │ ├── day_of_week → true (optional)
│ │ ├── offset → int
│ │ ├── length → int
│ │ └── date → int
│ │ ├── offset → int
│ │ └── length → int
│ │ ├── offset → int
│ │ ├── length → int
│ │ └── old_text → string
│ ├── offset → int
│ └── length → int
├── views → int (optional)
├── forwards → int (optional)
├── replies → MessageReplies (optional)
│ └── MessageReplies
│ ├── comments → true (optional)
│ ├── replies → int
│ ├── replies_pts → int
│ ├── recent_repliers → Vector < Peer > (optional)
│ │ ├── PeerUser
│ │ │ └── user_id → long
│ │ ├── PeerChat
│ │ │ └── chat_id → long
│ │ └── PeerChannel
│ │ └── channel_id → long
│ ├── channel_id → long (optional)
│ ├── max_id → int (optional)
│ └── read_max_id → int (optional)
├── edit_date → int (optional)
├── post_author → string (optional)
├── grouped_id → long (optional)
├── reactions → MessageReactions (optional)
│ └── MessageReactions
│ ├── min → true (optional)
│ ├── can_see_list → true (optional)
│ ├── reactions_as_tags → true (optional)
│ ├── results → Vector < ReactionCount >
│ │ └── ReactionCount
│ │ ├── chosen_order → int (optional)
│ │ ├── reaction → Reaction
│ │ │ ├── ReactionEmpty
│ │ │ ├── ReactionEmoji
│ │ │ ├── ReactionCustomEmoji
│ │ │ └── ReactionPaid
│ │ └── count → int
│ ├── recent_reactions → Vector < MessagePeerReaction > (optional)
│ │ └── MessagePeerReaction
│ │ ├── big → true (optional)
│ │ ├── unread → true (optional)
│ │ ├── my → true (optional)
│ │ ├── peer_id → Peer
│ │ │ ├── PeerUser
│ │ │ ├── PeerChat
│ │ │ └── PeerChannel
│ │ ├── date → int
│ │ └── reaction → Reaction
│ │ ├── ReactionEmpty
│ │ ├── ReactionEmoji
│ │ ├── ReactionCustomEmoji
│ │ └── ReactionPaid
│ └── top_reactors → Vector < MessageReactor > (optional)
│ └── MessageReactor
│ ├── top → true (optional)
│ ├── my → true (optional)
│ ├── anonymous → true (optional)
│ ├── peer_id → Peer (optional)
│ │ ├── PeerUser
│ │ ├── PeerChat
│ │ └── PeerChannel
│ └── count → int
├── restriction_reason → Vector < RestrictionReason > (optional)
│ └── RestrictionReason
│ ├── platform → string
│ ├── reason → string
│ └── text → string
├── ttl_period → int (optional)
├── quick_reply_shortcut_id → int (optional)
├── effect → long (optional)
├── factcheck → FactCheck (optional)
│ └── FactCheck
│ ├── need_check → true (optional)
│ ├── country → string (optional)
│ ├── text → TextWithEntities (optional)
│ │ └── TextWithEntities
│ │ ├── text → string
│ │ └── entities → Vector < MessageEntity >
│ │ ├── MessageEntityUnknown
│ │ ├── MessageEntityMention
│ │ ├── MessageEntityHashtag
│ │ ├── MessageEntityBotCommand
│ │ ├── MessageEntityUrl
│ │ ├── MessageEntityEmail
│ │ ├── MessageEntityBold
│ │ ├── MessageEntityItalic
│ │ ├── MessageEntityCode
│ │ ├── MessageEntityPre
│ │ ├── MessageEntityTextUrl
│ │ ├── MessageEntityMentionName
│ │ ├── MessageEntityPhone
│ │ ├── MessageEntityCashtag
│ │ ├── MessageEntityUnderline
│ │ ├── MessageEntityStrike
│ │ ├── MessageEntityBankCard
│ │ ├── MessageEntitySpoiler
│ │ ├── MessageEntityCustomEmoji
│ │ ├── MessageEntityBlockquote
│ │ ├── MessageEntityFormattedDate
│ │ ├── MessageEntityDiffInsert
│ │ ├── MessageEntityDiffReplace
│ │ └── MessageEntityDiffDelete
│ └── hash → long
├── report_delivery_until_date → int (optional)
├── paid_message_stars → long (optional)
├── suggested_post → SuggestedPost (optional)
│ └── SuggestedPost
│ ├── accepted → true (optional)
│ ├── rejected → true (optional)
│ ├── price → StarsAmount (optional)
│ │ ├── StarsAmount
│ │ │ ├── amount → long
│ │ │ └── nanos → int
│ │ └── StarsTonAmount
│ │ └── amount → long
│ └── schedule_date → int (optional)
├── schedule_repeat_period → int (optional)
├── summary_from_language → string (optional)
└── rich_message → RichMessage (optional)
└── RichMessage
├── rtl → true (optional)
├── part → true (optional)
├── blocks → Vector < PageBlock >
│ ├── PageBlockUnsupported
│ ├── PageBlockTitle
│ │ └── text → RichText
│ │ ├── TextEmpty
│ │ ├── TextPlain
│ │ ├── TextBold
│ │ ├── TextItalic
│ │ ├── TextUnderline
│ │ ├── TextStrike
│ │ ├── TextFixed
│ │ ├── TextUrl
│ │ ├── TextEmail
│ │ ├── TextConcat
│ │ ├── TextSubscript
│ │ ├── TextSuperscript
│ │ ├── TextMarked
│ │ ├── TextPhone
│ │ ├── TextImage
│ │ ├── TextAnchor
│ │ ├── TextMath
│ │ ├── TextCustomEmoji
│ │ ├── TextSpoiler
│ │ ├── TextMention
│ │ ├── TextHashtag
│ │ ├── TextBotCommand
│ │ ├── TextCashtag
│ │ ├── TextAutoUrl
│ │ ├── TextAutoEmail
│ │ ├── TextAutoPhone
│ │ ├── TextBankCard
│ │ ├── TextMentionName
│ │ └── TextDate
│ ├── PageBlockSubtitle
│ │ └── text → RichText
│ │ ├── TextEmpty
│ │ ├── TextPlain
│ │ ├── TextBold
│ │ ├── TextItalic
│ │ ├── TextUnderline
│ │ ├── TextStrike
│ │ ├── TextFixed
│ │ ├── TextUrl
│ │ ├── TextEmail
│ │ ├── TextConcat
│ │ ├── TextSubscript
│ │ ├── TextSuperscript
│ │ ├── TextMarked
│ │ ├── TextPhone
│ │ ├── TextImage
│ │ ├── TextAnchor
│ │ ├── TextMath
│ │ ├── TextCustomEmoji
│ │ ├── TextSpoiler
│ │ ├── TextMention
│ │ ├── TextHashtag
│ │ ├── TextBotCommand
│ │ ├── TextCashtag
│ │ ├── TextAutoUrl
│ │ ├── TextAutoEmail
│ │ ├── TextAutoPhone
│ │ ├── TextBankCard
│ │ ├── TextMentionName
│ │ └── TextDate
│ ├── PageBlockAuthorDate
│ │ ├── author → RichText
│ │ │ ├── TextEmpty
│ │ │ ├── TextPlain
│ │ │ ├── TextBold
│ │ │ ├── TextItalic
│ │ │ ├── TextUnderline
│ │ │ ├── TextStrike
│ │ │ ├── TextFixed
│ │ │ ├── TextUrl
│ │ │ ├── TextEmail
│ │ │ ├── TextConcat
│ │ │ ├── TextSubscript
│ │ │ ├── TextSuperscript
│ │ │ ├── TextMarked
│ │ │ ├── TextPhone
│ │ │ ├── TextImage
│ │ │ ├── TextAnchor
│ │ │ ├── TextMath
│ │ │ ├── TextCustomEmoji
│ │ │ ├── TextSpoiler
│ │ │ ├── TextMention
│ │ │ ├── TextHashtag
│ │ │ ├── TextBotCommand
│ │ │ ├── TextCashtag
│ │ │ ├── TextAutoUrl
│ │ │ ├── TextAutoEmail
│ │ │ ├── TextAutoPhone
│ │ │ ├── TextBankCard
│ │ │ ├── TextMentionName
│ │ │ └── TextDate
│ │ └── published_date → int
│ ├── PageBlockHeader
│ │ └── text → RichText
│ │ ├── TextEmpty
│ │ ├── TextPlain
│ │ ├── TextBold
│ │ ├── TextItalic
│ │ ├── TextUnderline
│ │ ├── TextStrike
│ │ ├── TextFixed
│ │ ├── TextUrl
│ │ ├── TextEmail
│ │ ├── TextConcat
│ │ ├── TextSubscript
│ │ ├── TextSuperscript
│ │ ├── TextMarked
│ │ ├── TextPhone
│ │ ├── TextImage
│ │ ├── TextAnchor
│ │ ├── TextMath
│ │ ├── TextCustomEmoji
│ │ ├── TextSpoiler
│ │ ├── TextMention
│ │ ├── TextHashtag
│ │ ├── TextBotCommand
│ │ ├── TextCashtag
│ │ ├── TextAutoUrl
│ │ ├── TextAutoEmail
│ │ ├── TextAutoPhone
│ │ ├── TextBankCard
│ │ ├── TextMentionName
│ │ └── TextDate
│ ├── PageBlockSubheader
│ │ └── text → RichText
│ │ ├── TextEmpty
│ │ ├── TextPlain
│ │ ├── TextBold
│ │ ├── TextItalic
│ │ ├── TextUnderline
│ │ ├── TextStrike
│ │ ├── TextFixed
│ │ ├── TextUrl
│ │ ├── TextEmail
│ │ ├── TextConcat
│ │ ├── TextSubscript
│ │ ├── TextSuperscript
│ │ ├── TextMarked
│ │ ├── TextPhone
│ │ ├── TextImage
│ │ ├── TextAnchor
│ │ ├── TextMath
│ │ ├── TextCustomEmoji
│ │ ├── TextSpoiler
│ │ ├── TextMention
│ │ ├── TextHashtag
│ │ ├── TextBotCommand
│ │ ├── TextCashtag
│ │ ├── TextAutoUrl
│ │ ├── TextAutoEmail
│ │ ├── TextAutoPhone
│ │ ├── TextBankCard
│ │ ├── TextMentionName
│ │ └── TextDate
│ ├── PageBlockParagraph
│ │ └── text → RichText
│ │ ├── TextEmpty
│ │ ├── TextPlain
│ │ ├── TextBold
│ │ ├── TextItalic
│ │ ├── TextUnderline
│ │ ├── TextStrike
│ │ ├── TextFixed
│ │ ├── TextUrl
│ │ ├── TextEmail
│ │ ├── TextConcat
│ │ ├── TextSubscript
│ │ ├── TextSuperscript
│ │ ├── TextMarked
│ │ ├── TextPhone
│ │ ├── TextImage
│ │ ├── TextAnchor
│ │ ├── TextMath
│ │ ├── TextCustomEmoji
│ │ ├── TextSpoiler
│ │ ├── TextMention
│ │ ├── TextHashtag
│ │ ├── TextBotCommand
│ │ ├── TextCashtag
│ │ ├── TextAutoUrl
│ │ ├── TextAutoEmail
│ │ ├── TextAutoPhone
│ │ ├── TextBankCard
│ │ ├── TextMentionName
│ │ └── TextDate
│ ├── PageBlockPreformatted
│ │ ├── text → RichText
│ │ │ ├── TextEmpty
│ │ │ ├── TextPlain
│ │ │ ├── TextBold
│ │ │ ├── TextItalic
│ │ │ ├── TextUnderline
│ │ │ ├── TextStrike
│ │ │ ├── TextFixed
│ │ │ ├── TextUrl
│ │ │ ├── TextEmail
│ │ │ ├── TextConcat
│ │ │ ├── TextSubscript
│ │ │ ├── TextSuperscript
│ │ │ ├── TextMarked
│ │ │ ├── TextPhone
│ │ │ ├── TextImage
│ │ │ ├── TextAnchor
│ │ │ ├── TextMath
│ │ │ ├── TextCustomEmoji
│ │ │ ├── TextSpoiler
│ │ │ ├── TextMention
│ │ │ ├── TextHashtag
│ │ │ ├── TextBotCommand
│ │ │ ├── TextCashtag
│ │ │ ├── TextAutoUrl
│ │ │ ├── TextAutoEmail
│ │ │ ├── TextAutoPhone
│ │ │ ├── TextBankCard
│ │ │ ├── TextMentionName
│ │ │ └── TextDate
│ │ └── language → string
│ ├── PageBlockFooter
│ │ └── text → RichText
│ │ ├── TextEmpty
│ │ ├── TextPlain
│ │ ├── TextBold
│ │ ├── TextItalic
│ │ ├── TextUnderline
│ │ ├── TextStrike
│ │ ├── TextFixed
│ │ ├── TextUrl
│ │ ├── TextEmail
│ │ ├── TextConcat
│ │ ├── TextSubscript
│ │ ├── TextSuperscript
│ │ ├── TextMarked
│ │ ├── TextPhone
│ │ ├── TextImage
│ │ ├── TextAnchor
│ │ ├── TextMath
│ │ ├── TextCustomEmoji
│ │ ├── TextSpoiler
│ │ ├── TextMention
│ │ ├── TextHashtag
│ │ ├── TextBotCommand
│ │ ├── TextCashtag
│ │ ├── TextAutoUrl
│ │ ├── TextAutoEmail
│ │ ├── TextAutoPhone
│ │ ├── TextBankCard
│ │ ├── TextMentionName
│ │ └── TextDate
│ ├── PageBlockDivider
│ ├── PageBlockAnchor
│ │ └── name → string
│ ├── PageBlockList
│ │ └── items → Vector < PageListItem >
│ │ ├── PageListItemText
│ │ └── PageListItemBlocks
│ ├── PageBlockBlockquote
│ │ ├── text → RichText
│ │ │ ├── TextEmpty
│ │ │ ├── TextPlain
│ │ │ ├── TextBold
│ │ │ ├── TextItalic
│ │ │ ├── TextUnderline
│ │ │ ├── TextStrike
│ │ │ ├── TextFixed
│ │ │ ├── TextUrl
│ │ │ ├── TextEmail
│ │ │ ├── TextConcat
│ │ │ ├── TextSubscript
│ │ │ ├── TextSuperscript
│ │ │ ├── TextMarked
│ │ │ ├── TextPhone
│ │ │ ├── TextImage
│ │ │ ├── TextAnchor
│ │ │ ├── TextMath
│ │ │ ├── TextCustomEmoji
│ │ │ ├── TextSpoiler
│ │ │ ├── TextMention
│ │ │ ├── TextHashtag
│ │ │ ├── TextBotCommand
│ │ │ ├── TextCashtag
│ │ │ ├── TextAutoUrl
│ │ │ ├── TextAutoEmail
│ │ │ ├── TextAutoPhone
│ │ │ ├── TextBankCard
│ │ │ ├── TextMentionName
│ │ │ └── TextDate
│ │ └── caption → RichText
│ │ ├── TextEmpty
│ │ ├── TextPlain
│ │ ├── TextBold
│ │ ├── TextItalic
│ │ ├── TextUnderline
│ │ ├── TextStrike
│ │ ├── TextFixed
│ │ ├── TextUrl
│ │ ├── TextEmail
│ │ ├── TextConcat
│ │ ├── TextSubscript
│ │ ├── TextSuperscript
│ │ ├── TextMarked
│ │ ├── TextPhone
│ │ ├── TextImage
│ │ ├── TextAnchor
│ │ ├── TextMath
│ │ ├── TextCustomEmoji
│ │ ├── TextSpoiler
│ │ ├── TextMention
│ │ ├── TextHashtag
│ │ ├── TextBotCommand
│ │ ├── TextCashtag
│ │ ├── TextAutoUrl
│ │ ├── TextAutoEmail
│ │ ├── TextAutoPhone
│ │ ├── TextBankCard
│ │ ├── TextMentionName
│ │ └── TextDate
│ ├── PageBlockPullquote
│ │ ├── text → RichText
│ │ │ ├── TextEmpty
│ │ │ ├── TextPlain
│ │ │ ├── TextBold
│ │ │ ├── TextItalic
│ │ │ ├── TextUnderline
│ │ │ ├── TextStrike
│ │ │ ├── TextFixed
│ │ │ ├── TextUrl
│ │ │ ├── TextEmail
│ │ │ ├── TextConcat
│ │ │ ├── TextSubscript
│ │ │ ├── TextSuperscript
│ │ │ ├── TextMarked
│ │ │ ├── TextPhone
│ │ │ ├── TextImage
│ │ │ ├── TextAnchor
│ │ │ ├── TextMath
│ │ │ ├── TextCustomEmoji
│ │ │ ├── TextSpoiler
│ │ │ ├── TextMention
│ │ │ ├── TextHashtag
│ │ │ ├── TextBotCommand
│ │ │ ├── TextCashtag
│ │ │ ├── TextAutoUrl
│ │ │ ├── TextAutoEmail
│ │ │ ├── TextAutoPhone
│ │ │ ├── TextBankCard
│ │ │ ├── TextMentionName
│ │ │ └── TextDate
│ │ └── caption → RichText
│ │ ├── TextEmpty
│ │ ├── TextPlain
│ │ ├── TextBold
│ │ ├── TextItalic
│ │ ├── TextUnderline
│ │ ├── TextStrike
│ │ ├── TextFixed
│ │ ├── TextUrl
│ │ ├── TextEmail
│ │ ├── TextConcat
│ │ ├── TextSubscript
│ │ ├── TextSuperscript
│ │ ├── TextMarked
│ │ ├── TextPhone
│ │ ├── TextImage
│ │ ├── TextAnchor
│ │ ├── TextMath
│ │ ├── TextCustomEmoji
│ │ ├── TextSpoiler
│ │ ├── TextMention
│ │ ├── TextHashtag
│ │ ├── TextBotCommand
│ │ ├── TextCashtag
│ │ ├── TextAutoUrl
│ │ ├── TextAutoEmail
│ │ ├── TextAutoPhone
│ │ ├── TextBankCard
│ │ ├── TextMentionName
│ │ └── TextDate
│ ├── PageBlockPhoto
│ │ ├── spoiler → true (optional)
│ │ ├── photo_id → long
│ │ ├── caption → PageCaption
│ │ │ └── PageCaption
│ │ ├── url → string (optional)
│ │ └── webpage_id → long (optional)
│ ├── PageBlockVideo
│ │ ├── autoplay → true (optional)
│ │ ├── loop → true (optional)
│ │ ├── spoiler → true (optional)
│ │ ├── video_id → long
│ │ └── caption → PageCaption
│ │ └── PageCaption
│ ├── PageBlockCover
│ │ └── cover → PageBlock
│ │ ├── PageBlockUnsupported
│ │ ├── PageBlockTitle
│ │ ├── PageBlockSubtitle
│ │ ├── PageBlockAuthorDate
│ │ ├── PageBlockHeader
│ │ ├── PageBlockSubheader
│ │ ├── PageBlockParagraph
│ │ ├── PageBlockPreformatted
│ │ ├── PageBlockFooter
│ │ ├── PageBlockDivider
│ │ ├── PageBlockAnchor
│ │ ├── PageBlockList
│ │ ├── PageBlockBlockquote
│ │ ├── PageBlockPullquote
│ │ ├── PageBlockPhoto
│ │ ├── PageBlockVideo
│ │ ├── PageBlockCover
│ │ ├── PageBlockEmbed
│ │ ├── PageBlockEmbedPost
│ │ ├── PageBlockCollage
│ │ ├── PageBlockSlideshow
│ │ ├── PageBlockChannel
│ │ ├── PageBlockAudio
│ │ ├── PageBlockKicker
│ │ ├── PageBlockTable
│ │ ├── PageBlockOrderedList
│ │ ├── PageBlockDetails
│ │ ├── PageBlockRelatedArticles
│ │ ├── PageBlockMap
│ │ ├── PageBlockHeading1
│ │ ├── PageBlockHeading2
│ │ ├── PageBlockHeading3
│ │ ├── PageBlockHeading4
│ │ ├── PageBlockHeading5
│ │ ├── PageBlockHeading6
│ │ ├── PageBlockMath
│ │ ├── PageBlockThinking
│ │ ├── InputPageBlockMap
│ │ └── PageBlockBlockquoteBlocks
│ ├── PageBlockEmbed
│ │ ├── full_width → true (optional)
│ │ ├── allow_scrolling → true (optional)
│ │ ├── url → string (optional)
│ │ ├── html → string (optional)
│ │ ├── poster_photo_id → long (optional)
│ │ ├── w → int (optional)
│ │ ├── h → int (optional)
│ │ └── caption → PageCaption
│ │ └── PageCaption
│ ├── PageBlockEmbedPost
│ │ ├── url → string
│ │ ├── webpage_id → long
│ │ ├── author_photo_id → long
│ │ ├── author → string
│ │ ├── date → int
│ │ ├── blocks → Vector < PageBlock >
│ │ │ ├── PageBlockUnsupported
│ │ │ ├── PageBlockTitle
│ │ │ ├── PageBlockSubtitle
│ │ │ ├── PageBlockAuthorDate
│ │ │ ├── PageBlockHeader
│ │ │ ├── PageBlockSubheader
│ │ │ ├── PageBlockParagraph
│ │ │ ├── PageBlockPreformatted
│ │ │ ├── PageBlockFooter
│ │ │ ├── PageBlockDivider
│ │ │ ├── PageBlockAnchor
│ │ │ ├── PageBlockList
│ │ │ ├── PageBlockBlockquote
│ │ │ ├── PageBlockPullquote
│ │ │ ├── PageBlockPhoto
│ │ │ ├── PageBlockVideo
│ │ │ ├── PageBlockCover
│ │ │ ├── PageBlockEmbed
│ │ │ ├── PageBlockEmbedPost
│ │ │ ├── PageBlockCollage
│ │ │ ├── PageBlockSlideshow
│ │ │ ├── PageBlockChannel
│ │ │ ├── PageBlockAudio
│ │ │ ├── PageBlockKicker
│ │ │ ├── PageBlockTable
│ │ │ ├── PageBlockOrderedList
│ │ │ ├── PageBlockDetails
│ │ │ ├── PageBlockRelatedArticles
│ │ │ ├── PageBlockMap
│ │ │ ├── PageBlockHeading1
│ │ │ ├── PageBlockHeading2
│ │ │ ├── PageBlockHeading3
│ │ │ ├── PageBlockHeading4
│ │ │ ├── PageBlockHeading5
│ │ │ ├── PageBlockHeading6
│ │ │ ├── PageBlockMath
│ │ │ ├── PageBlockThinking
│ │ │ ├── InputPageBlockMap
│ │ │ └── PageBlockBlockquoteBlocks
│ │ └── caption → PageCaption
│ │ └── PageCaption
│ ├── PageBlockCollage
│ │ ├── items → Vector < PageBlock >
│ │ │ ├── PageBlockUnsupported
│ │ │ ├── PageBlockTitle
│ │ │ ├── PageBlockSubtitle
│ │ │ ├── PageBlockAuthorDate
│ │ │ ├── PageBlockHeader
│ │ │ ├── PageBlockSubheader
│ │ │ ├── PageBlockParagraph
│ │ │ ├── PageBlockPreformatted
│ │ │ ├── PageBlockFooter
│ │ │ ├── PageBlockDivider
│ │ │ ├── PageBlockAnchor
│ │ │ ├── PageBlockList
│ │ │ ├── PageBlockBlockquote
│ │ │ ├── PageBlockPullquote
│ │ │ ├── PageBlockPhoto
│ │ │ ├── PageBlockVideo
│ │ │ ├── PageBlockCover
│ │ │ ├── PageBlockEmbed
│ │ │ ├── PageBlockEmbedPost
│ │ │ ├── PageBlockCollage
│ │ │ ├── PageBlockSlideshow
│ │ │ ├── PageBlockChannel
│ │ │ ├── PageBlockAudio
│ │ │ ├── PageBlockKicker
│ │ │ ├── PageBlockTable
│ │ │ ├── PageBlockOrderedList
│ │ │ ├── PageBlockDetails
│ │ │ ├── PageBlockRelatedArticles
│ │ │ ├── PageBlockMap
│ │ │ ├── PageBlockHeading1
│ │ │ ├── PageBlockHeading2
│ │ │ ├── PageBlockHeading3
│ │ │ ├── PageBlockHeading4
│ │ │ ├── PageBlockHeading5
│ │ │ ├── PageBlockHeading6
│ │ │ ├── PageBlockMath
│ │ │ ├── PageBlockThinking
│ │ │ ├── InputPageBlockMap
│ │ │ └── PageBlockBlockquoteBlocks
│ │ └── caption → PageCaption
│ │ └── PageCaption
│ ├── PageBlockSlideshow
│ │ ├── items → Vector < PageBlock >
│ │ │ ├── PageBlockUnsupported
│ │ │ ├── PageBlockTitle
│ │ │ ├── PageBlockSubtitle
│ │ │ ├── PageBlockAuthorDate
│ │ │ ├── PageBlockHeader
│ │ │ ├── PageBlockSubheader
│ │ │ ├── PageBlockParagraph
│ │ │ ├── PageBlockPreformatted
│ │ │ ├── PageBlockFooter
│ │ │ ├── PageBlockDivider
│ │ │ ├── PageBlockAnchor
│ │ │ ├── PageBlockList
│ │ │ ├── PageBlockBlockquote
│ │ │ ├── PageBlockPullquote
│ │ │ ├── PageBlockPhoto
│ │ │ ├── PageBlockVideo
│ │ │ ├── PageBlockCover
│ │ │ ├── PageBlockEmbed
│ │ │ ├── PageBlockEmbedPost
│ │ │ ├── PageBlockCollage
│ │ │ ├── PageBlockSlideshow
│ │ │ ├── PageBlockChannel
│ │ │ ├── PageBlockAudio
│ │ │ ├── PageBlockKicker
│ │ │ ├── PageBlockTable
│ │ │ ├── PageBlockOrderedList
│ │ │ ├── PageBlockDetails
│ │ │ ├── PageBlockRelatedArticles
│ │ │ ├── PageBlockMap
│ │ │ ├── PageBlockHeading1
│ │ │ ├── PageBlockHeading2
│ │ │ ├── PageBlockHeading3
│ │ │ ├── PageBlockHeading4
│ │ │ ├── PageBlockHeading5
│ │ │ ├── PageBlockHeading6
│ │ │ ├── PageBlockMath
│ │ │ ├── PageBlockThinking
│ │ │ ├── InputPageBlockMap
│ │ │ └── PageBlockBlockquoteBlocks
│ │ └── caption → PageCaption
│ │ └── PageCaption
│ ├── PageBlockChannel
│ │ └── channel → Chat
│ │ ├── ChatEmpty
│ │ ├── Chat
│ │ ├── ChatForbidden
│ │ ├── Channel
│ │ └── ChannelForbidden
│ ├── PageBlockAudio
│ │ ├── audio_id → long
│ │ └── caption → PageCaption
│ │ └── PageCaption
│ ├── PageBlockKicker
│ │ └── text → RichText
│ │ ├── TextEmpty
│ │ ├── TextPlain
│ │ ├── TextBold
│ │ ├── TextItalic
│ │ ├── TextUnderline
│ │ ├── TextStrike
│ │ ├── TextFixed
│ │ ├── TextUrl
│ │ ├── TextEmail
│ │ ├── TextConcat
│ │ ├── TextSubscript
│ │ ├── TextSuperscript
│ │ ├── TextMarked
│ │ ├── TextPhone
│ │ ├── TextImage
│ │ ├── TextAnchor
│ │ ├── TextMath
│ │ ├── TextCustomEmoji
│ │ ├── TextSpoiler
│ │ ├── TextMention
│ │ ├── TextHashtag
│ │ ├── TextBotCommand
│ │ ├── TextCashtag
│ │ ├── TextAutoUrl
│ │ ├── TextAutoEmail
│ │ ├── TextAutoPhone
│ │ ├── TextBankCard
│ │ ├── TextMentionName
│ │ └── TextDate
│ ├── PageBlockTable
│ │ ├── bordered → true (optional)
│ │ ├── striped → true (optional)
│ │ ├── title → RichText
│ │ │ ├── TextEmpty
│ │ │ ├── TextPlain
│ │ │ ├── TextBold
│ │ │ ├── TextItalic
│ │ │ ├── TextUnderline
│ │ │ ├── TextStrike
│ │ │ ├── TextFixed
│ │ │ ├── TextUrl
│ │ │ ├── TextEmail
│ │ │ ├── TextConcat
│ │ │ ├── TextSubscript
│ │ │ ├── TextSuperscript
│ │ │ ├── TextMarked
│ │ │ ├── TextPhone
│ │ │ ├── TextImage
│ │ │ ├── TextAnchor
│ │ │ ├── TextMath
│ │ │ ├── TextCustomEmoji
│ │ │ ├── TextSpoiler
│ │ │ ├── TextMention
│ │ │ ├── TextHashtag
│ │ │ ├── TextBotCommand
│ │ │ ├── TextCashtag
│ │ │ ├── TextAutoUrl
│ │ │ ├── TextAutoEmail
│ │ │ ├── TextAutoPhone
│ │ │ ├── TextBankCard
│ │ │ ├── TextMentionName
│ │ │ └── TextDate
│ │ └── rows → Vector < PageTableRow >
│ │ └── PageTableRow
│ ├── PageBlockOrderedList
│ │ ├── reversed → true (optional)
│ │ ├── items → Vector < PageListOrderedItem >
│ │ │ ├── PageListOrderedItemText
│ │ │ └── PageListOrderedItemBlocks
│ │ ├── start → int (optional)
│ │ └── type → string (optional)
│ ├── PageBlockDetails
│ │ ├── open → true (optional)
│ │ ├── blocks → Vector < PageBlock >
│ │ │ ├── PageBlockUnsupported
│ │ │ ├── PageBlockTitle
│ │ │ ├── PageBlockSubtitle
│ │ │ ├── PageBlockAuthorDate
│ │ │ ├── PageBlockHeader
│ │ │ ├── PageBlockSubheader
│ │ │ ├── PageBlockParagraph
│ │ │ ├── PageBlockPreformatted
│ │ │ ├── PageBlockFooter
│ │ │ ├── PageBlockDivider
│ │ │ ├── PageBlockAnchor
│ │ │ ├── PageBlockList
│ │ │ ├── PageBlockBlockquote
│ │ │ ├── PageBlockPullquote
│ │ │ ├── PageBlockPhoto
│ │ │ ├── PageBlockVideo
│ │ │ ├── PageBlockCover
│ │ │ ├── PageBlockEmbed
│ │ │ ├── PageBlockEmbedPost
│ │ │ ├── PageBlockCollage
│ │ │ ├── PageBlockSlideshow
│ │ │ ├── PageBlockChannel
│ │ │ ├── PageBlockAudio
│ │ │ ├── PageBlockKicker
│ │ │ ├── PageBlockTable
│ │ │ ├── PageBlockOrderedList
│ │ │ ├── PageBlockDetails
│ │ │ ├── PageBlockRelatedArticles
│ │ │ ├── PageBlockMap
│ │ │ ├── PageBlockHeading1
│ │ │ ├── PageBlockHeading2
│ │ │ ├── PageBlockHeading3
│ │ │ ├── PageBlockHeading4
│ │ │ ├── PageBlockHeading5
│ │ │ ├── PageBlockHeading6
│ │ │ ├── PageBlockMath
│ │ │ ├── PageBlockThinking
│ │ │ ├── InputPageBlockMap
│ │ │ └── PageBlockBlockquoteBlocks
│ │ └── title → RichText
│ │ ├── TextEmpty
│ │ ├── TextPlain
│ │ ├── TextBold
│ │ ├── TextItalic
│ │ ├── TextUnderline
│ │ ├── TextStrike
│ │ ├── TextFixed
│ │ ├── TextUrl
│ │ ├── TextEmail
│ │ ├── TextConcat
│ │ ├── TextSubscript
│ │ ├── TextSuperscript
│ │ ├── TextMarked
│ │ ├── TextPhone
│ │ ├── TextImage
│ │ ├── TextAnchor
│ │ ├── TextMath
│ │ ├── TextCustomEmoji
│ │ ├── TextSpoiler
│ │ ├── TextMention
│ │ ├── TextHashtag
│ │ ├── TextBotCommand
│ │ ├── TextCashtag
│ │ ├── TextAutoUrl
│ │ ├── TextAutoEmail
│ │ ├── TextAutoPhone
│ │ ├── TextBankCard
│ │ ├── TextMentionName
│ │ └── TextDate
│ │ ├── title → RichText
│ │ │ ├── TextEmpty
│ │ │ ├── TextPlain
│ │ │ ├── TextBold
│ │ │ ├── TextItalic
│ │ │ ├── TextUnderline
│ │ │ ├── TextStrike
│ │ │ ├── TextFixed
│ │ │ ├── TextUrl
│ │ │ ├── TextEmail
│ │ │ ├── TextConcat
│ │ │ ├── TextSubscript
│ │ │ ├── TextSuperscript
│ │ │ ├── TextMarked
│ │ │ ├── TextPhone
│ │ │ ├── TextImage
│ │ │ ├── TextAnchor
│ │ │ ├── TextMath
│ │ │ ├── TextCustomEmoji
│ │ │ ├── TextSpoiler
│ │ │ ├── TextMention
│ │ │ ├── TextHashtag
│ │ │ ├── TextBotCommand
│ │ │ ├── TextCashtag
│ │ │ ├── TextAutoUrl
│ │ │ ├── TextAutoEmail
│ │ │ ├── TextAutoPhone
│ │ │ ├── TextBankCard
│ │ │ ├── TextMentionName
│ │ │ └── TextDate
│ │ └── articles → Vector < PageRelatedArticle >
│ │ └── PageRelatedArticle
│ ├── PageBlockMap
│ │ ├── geo → GeoPoint
│ │ │ ├── GeoPointEmpty
│ │ │ └── GeoPoint
│ │ ├── zoom → int
│ │ ├── w → int
│ │ ├── h → int
│ │ └── caption → PageCaption
│ │ └── PageCaption
│ ├── PageBlockHeading1
│ │ └── text → RichText
│ │ ├── TextEmpty
│ │ ├── TextPlain
│ │ ├── TextBold
│ │ ├── TextItalic
│ │ ├── TextUnderline
│ │ ├── TextStrike
│ │ ├── TextFixed
│ │ ├── TextUrl
│ │ ├── TextEmail
│ │ ├── TextConcat
│ │ ├── TextSubscript
│ │ ├── TextSuperscript
│ │ ├── TextMarked
│ │ ├── TextPhone
│ │ ├── TextImage
│ │ ├── TextAnchor
│ │ ├── TextMath
│ │ ├── TextCustomEmoji
│ │ ├── TextSpoiler
│ │ ├── TextMention
│ │ ├── TextHashtag
│ │ ├── TextBotCommand
│ │ ├── TextCashtag
│ │ ├── TextAutoUrl
│ │ ├── TextAutoEmail
│ │ ├── TextAutoPhone
│ │ ├── TextBankCard
│ │ ├── TextMentionName
│ │ └── TextDate
│ ├── PageBlockHeading2
│ │ └── text → RichText
│ │ ├── TextEmpty
│ │ ├── TextPlain
│ │ ├── TextBold
│ │ ├── TextItalic
│ │ ├── TextUnderline
│ │ ├── TextStrike
│ │ ├── TextFixed
│ │ ├── TextUrl
│ │ ├── TextEmail
│ │ ├── TextConcat
│ │ ├── TextSubscript
│ │ ├── TextSuperscript
│ │ ├── TextMarked
│ │ ├── TextPhone
│ │ ├── TextImage
│ │ ├── TextAnchor
│ │ ├── TextMath
│ │ ├── TextCustomEmoji
│ │ ├── TextSpoiler
│ │ ├── TextMention
│ │ ├── TextHashtag
│ │ ├── TextBotCommand
│ │ ├── TextCashtag
│ │ ├── TextAutoUrl
│ │ ├── TextAutoEmail
│ │ ├── TextAutoPhone
│ │ ├── TextBankCard
│ │ ├── TextMentionName
│ │ └── TextDate
│ ├── PageBlockHeading3
│ │ └── text → RichText
│ │ ├── TextEmpty
│ │ ├── TextPlain
│ │ ├── TextBold
│ │ ├── TextItalic
│ │ ├── TextUnderline
│ │ ├── TextStrike
│ │ ├── TextFixed
│ │ ├── TextUrl
│ │ ├── TextEmail
│ │ ├── TextConcat
│ │ ├── TextSubscript
│ │ ├── TextSuperscript
│ │ ├── TextMarked
│ │ ├── TextPhone
│ │ ├── TextImage
│ │ ├── TextAnchor
│ │ ├── TextMath
│ │ ├── TextCustomEmoji
│ │ ├── TextSpoiler
│ │ ├── TextMention
│ │ ├── TextHashtag
│ │ ├── TextBotCommand
│ │ ├── TextCashtag
│ │ ├── TextAutoUrl
│ │ ├── TextAutoEmail
│ │ ├── TextAutoPhone
│ │ ├── TextBankCard
│ │ ├── TextMentionName
│ │ └── TextDate
│ ├── PageBlockHeading4
│ │ └── text → RichText
│ │ ├── TextEmpty
│ │ ├── TextPlain
│ │ ├── TextBold
│ │ ├── TextItalic
│ │ ├── TextUnderline
│ │ ├── TextStrike
│ │ ├── TextFixed
│ │ ├── TextUrl
│ │ ├── TextEmail
│ │ ├── TextConcat
│ │ ├── TextSubscript
│ │ ├── TextSuperscript
│ │ ├── TextMarked
│ │ ├── TextPhone
│ │ ├── TextImage
│ │ ├── TextAnchor
│ │ ├── TextMath
│ │ ├── TextCustomEmoji
│ │ ├── TextSpoiler
│ │ ├── TextMention
│ │ ├── TextHashtag
│ │ ├── TextBotCommand
│ │ ├── TextCashtag
│ │ ├── TextAutoUrl
│ │ ├── TextAutoEmail
│ │ ├── TextAutoPhone
│ │ ├── TextBankCard
│ │ ├── TextMentionName
│ │ └── TextDate
│ ├── PageBlockHeading5
│ │ └── text → RichText
│ │ ├── TextEmpty
│ │ ├── TextPlain
│ │ ├── TextBold
│ │ ├── TextItalic
│ │ ├── TextUnderline
│ │ ├── TextStrike
│ │ ├── TextFixed
│ │ ├── TextUrl
│ │ ├── TextEmail
│ │ ├── TextConcat
│ │ ├── TextSubscript
│ │ ├── TextSuperscript
│ │ ├── TextMarked
│ │ ├── TextPhone
│ │ ├── TextImage
│ │ ├── TextAnchor
│ │ ├── TextMath
│ │ ├── TextCustomEmoji
│ │ ├── TextSpoiler
│ │ ├── TextMention
│ │ ├── TextHashtag
│ │ ├── TextBotCommand
│ │ ├── TextCashtag
│ │ ├── TextAutoUrl
│ │ ├── TextAutoEmail
│ │ ├── TextAutoPhone
│ │ ├── TextBankCard
│ │ ├── TextMentionName
│ │ └── TextDate
│ ├── PageBlockHeading6
│ │ └── text → RichText
│ │ ├── TextEmpty
│ │ ├── TextPlain
│ │ ├── TextBold
│ │ ├── TextItalic
│ │ ├── TextUnderline
│ │ ├── TextStrike
│ │ ├── TextFixed
│ │ ├── TextUrl
│ │ ├── TextEmail
│ │ ├── TextConcat
│ │ ├── TextSubscript
│ │ ├── TextSuperscript
│ │ ├── TextMarked
│ │ ├── TextPhone
│ │ ├── TextImage
│ │ ├── TextAnchor
│ │ ├── TextMath
│ │ ├── TextCustomEmoji
│ │ ├── TextSpoiler
│ │ ├── TextMention
│ │ ├── TextHashtag
│ │ ├── TextBotCommand
│ │ ├── TextCashtag
│ │ ├── TextAutoUrl
│ │ ├── TextAutoEmail
│ │ ├── TextAutoPhone
│ │ ├── TextBankCard
│ │ ├── TextMentionName
│ │ └── TextDate
│ ├── PageBlockMath
│ │ └── source → string
│ ├── PageBlockThinking
│ │ └── text → RichText
│ │ ├── TextEmpty
│ │ ├── TextPlain
│ │ ├── TextBold
│ │ ├── TextItalic
│ │ ├── TextUnderline
│ │ ├── TextStrike
│ │ ├── TextFixed
│ │ ├── TextUrl
│ │ ├── TextEmail
│ │ ├── TextConcat
│ │ ├── TextSubscript
│ │ ├── TextSuperscript
│ │ ├── TextMarked
│ │ ├── TextPhone
│ │ ├── TextImage
│ │ ├── TextAnchor
│ │ ├── TextMath
│ │ ├── TextCustomEmoji
│ │ ├── TextSpoiler
│ │ ├── TextMention
│ │ ├── TextHashtag
│ │ ├── TextBotCommand
│ │ ├── TextCashtag
│ │ ├── TextAutoUrl
│ │ ├── TextAutoEmail
│ │ ├── TextAutoPhone
│ │ ├── TextBankCard
│ │ ├── TextMentionName
│ │ └── TextDate
│ ├── InputPageBlockMap
│ │ ├── geo → InputGeoPoint
│ │ │ ├── InputGeoPointEmpty
│ │ │ └── InputGeoPoint
│ │ ├── zoom → int
│ │ ├── w → int
│ │ ├── h → int
│ │ └── caption → PageCaption
│ │ └── PageCaption
│ ├── blocks → Vector < PageBlock >
│ │ ├── PageBlockUnsupported
│ │ ├── PageBlockTitle
│ │ ├── PageBlockSubtitle
│ │ ├── PageBlockAuthorDate
│ │ ├── PageBlockHeader
│ │ ├── PageBlockSubheader
│ │ ├── PageBlockParagraph
│ │ ├── PageBlockPreformatted
│ │ ├── PageBlockFooter
│ │ ├── PageBlockDivider
│ │ ├── PageBlockAnchor
│ │ ├── PageBlockList
│ │ ├── PageBlockBlockquote
│ │ ├── PageBlockPullquote
│ │ ├── PageBlockPhoto
│ │ ├── PageBlockVideo
│ │ ├── PageBlockCover
│ │ ├── PageBlockEmbed
│ │ ├── PageBlockEmbedPost
│ │ ├── PageBlockCollage
│ │ ├── PageBlockSlideshow
│ │ ├── PageBlockChannel
│ │ ├── PageBlockAudio
│ │ ├── PageBlockKicker
│ │ ├── PageBlockTable
│ │ ├── PageBlockOrderedList
│ │ ├── PageBlockDetails
│ │ ├── PageBlockRelatedArticles
│ │ ├── PageBlockMap
│ │ ├── PageBlockHeading1
│ │ ├── PageBlockHeading2
│ │ ├── PageBlockHeading3
│ │ ├── PageBlockHeading4
│ │ ├── PageBlockHeading5
│ │ ├── PageBlockHeading6
│ │ ├── PageBlockMath
│ │ ├── PageBlockThinking
│ │ ├── InputPageBlockMap
│ │ └── PageBlockBlockquoteBlocks
│ └── caption → RichText
│ ├── TextEmpty
│ ├── TextPlain
│ ├── TextBold
│ ├── TextItalic
│ ├── TextUnderline
│ ├── TextStrike
│ ├── TextFixed
│ ├── TextUrl
│ ├── TextEmail
│ ├── TextConcat
│ ├── TextSubscript
│ ├── TextSuperscript
│ ├── TextMarked
│ ├── TextPhone
│ ├── TextImage
│ ├── TextAnchor
│ ├── TextMath
│ ├── TextCustomEmoji
│ ├── TextSpoiler
│ ├── TextMention
│ ├── TextHashtag
│ ├── TextBotCommand
│ ├── TextCashtag
│ ├── TextAutoUrl
│ ├── TextAutoEmail
│ ├── TextAutoPhone
│ ├── TextBankCard
│ ├── TextMentionName
│ └── TextDate
├── photos → Vector < Photo >
│ ├── PhotoEmpty
│ │ └── id → long
│ └── Photo
│ ├── has_stickers → true (optional)
│ ├── id → long
│ ├── access_hash → long
│ ├── file_reference → bytes
│ ├── date → int
│ ├── sizes → Vector < PhotoSize >
│ │ ├── PhotoSizeEmpty
│ │ ├── PhotoSize
│ │ ├── PhotoCachedSize
│ │ ├── PhotoStrippedSize
│ │ ├── PhotoSizeProgressive
│ │ └── PhotoPathSize
│ ├── video_sizes → Vector < VideoSize > (optional)
│ │ ├── VideoSize
│ │ ├── VideoSizeEmojiMarkup
│ │ └── VideoSizeStickerMarkup
│ └── dc_id → int
└── documents → Vector < Document >
├── DocumentEmpty
│ └── id → long
└── Document
├── id → long
├── access_hash → long
├── file_reference → bytes
├── date → int
├── mime_type → string
├── size → long
├── thumbs → Vector < PhotoSize > (optional)
│ ├── PhotoSizeEmpty
│ ├── PhotoSize
│ ├── PhotoCachedSize
│ ├── PhotoStrippedSize
│ ├── PhotoSizeProgressive
│ └── PhotoPathSize
├── video_thumbs → Vector < VideoSize > (optional)
│ ├── VideoSize
│ ├── VideoSizeEmojiMarkup
├── dc_id → int
└── attributes → Vector < DocumentAttribute >

Example

Message(
    id=0,
    peer_id=PeerUser(user_id=0),
    date=0,
    message="Hello",
)