MessageService

class pyrogram.raw.types.MessageService

Indicates a service message

Constructor of Message.

Details:
  • Layer: 227

  • ID: 7A800E0A

Parameters:
  • id (int 32-bit) – Message ID

  • peer_id (Peer) – Sender of service message

  • date (int 32-bit) – Message date

  • action (MessageAction) – Event connected with the service message

  • out (bool, optional) – Whether the message is outgoing

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

  • media_unread (bool, optional) – Whether the message contains unread media

  • reactions_are_possible (bool, optional) – Whether you can react to this message ».

  • silent (bool, optional) – Whether the message is silent

  • post (bool, optional) – Whether it’s a channel post

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

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

  • saved_peer_id (Peer, optional) – Will only be set for service messages within a monoforum topic »: peer will be equal to the ID of the monoforum and the saved_peer_id flag will be set to the ID of a topic.

  • reply_to (MessageReplyHeader, optional) – Reply (thread) information

  • reactions (MessageReactions, optional) – Reactions ».

  • 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.

TL Schema

messageService#7a800e0a
flags:#
out:flags.1?true
mentioned:flags.4?true
media_unread:flags.5?true
reactions_are_possible:flags.9?true
silent:flags.13?true
post:flags.14?true
legacy:flags.19?true
id:int
from_id:flags.8?Peer
peer_id:Peer
saved_peer_id:flags.28?Peer
reply_to:flags.3?MessageReplyHeader
date:int
action:MessageAction
reactions:flags.20?MessageReactions
ttl_period:flags.25?int

= Message

Parameter Tree

MessageService
├── out → true (optional)
├── mentioned → true (optional)
├── media_unread → true (optional)
├── reactions_are_possible → true (optional)
├── silent → true (optional)
├── post → true (optional)
├── legacy → true (optional)
├── id → int
├── from_id → Peer (optional)
│ ├── PeerUser
│ │ └── user_id → long
│ ├── PeerChat
│ │ └── chat_id → long
│ └── PeerChannel
│ └── channel_id → long
├── 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
├── 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
├── action → MessageAction
│ ├── MessageActionEmpty
│ │ ├── title → string
│ │ └── users → Vector < long >
│ │ └── title → string
│ │ └── photo → 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
│ │ └── users → Vector < long >
│ │ └── user_id → long
│ │ └── inviter_id → long
│ │ └── title → string
│ │ └── channel_id → long
│ │ ├── title → string
│ │ └── chat_id → long
│ │ ├── game_id → long
│ │ └── score → int
│ │ ├── recurring_init → true (optional)
│ │ ├── recurring_used → true (optional)
│ │ ├── currency → string
│ │ ├── total_amount → long
│ │ ├── payload → bytes
│ │ ├── info → PaymentRequestedInfo (optional)
│ │ │ └── PaymentRequestedInfo
│ │ │ ├── name → string (optional)
│ │ │ ├── phone → string (optional)
│ │ │ ├── email → string (optional)
│ │ │ └── shipping_address → PostAddress (optional)
│ │ │ └── PostAddress
│ │ ├── shipping_option_id → string (optional)
│ │ ├── charge → PaymentCharge
│ │ │ └── PaymentCharge
│ │ │ ├── id → string
│ │ │ └── provider_charge_id → string
│ │ └── subscription_until_date → int (optional)
│ │ ├── recurring_init → true (optional)
│ │ ├── recurring_used → true (optional)
│ │ ├── currency → string
│ │ ├── total_amount → long
│ │ ├── invoice_slug → string (optional)
│ │ └── subscription_until_date → int (optional)
│ │ ├── video → true (optional)
│ │ ├── call_id → long
│ │ ├── reason → PhoneCallDiscardReason (optional)
│ │ │ ├── PhoneCallDiscardReasonMissed
│ │ │ ├── PhoneCallDiscardReasonDisconnect
│ │ │ ├── PhoneCallDiscardReasonHangup
│ │ │ ├── PhoneCallDiscardReasonBusy
│ │ │ └── slug → string
│ │ └── duration → int (optional)
│ │ └── message → string
│ │ ├── attach_menu → true (optional)
│ │ ├── from_request → true (optional)
│ │ ├── domain → string (optional)
│ │ └── app → BotApp (optional)
│ │ ├── BotAppNotModified
│ │ └── BotApp
│ │ ├── id → long
│ │ ├── access_hash → long
│ │ ├── short_name → string
│ │ ├── title → string
│ │ ├── description → string
│ │ ├── photo → Photo
│ │ │ ├── PhotoEmpty
│ │ │ └── Photo
│ │ ├── document → Document (optional)
│ │ │ ├── DocumentEmpty
│ │ │ └── Document
│ │ └── hash → long
│ │ ├── values → Vector < SecureValue >
│ │ │ └── SecureValue
│ │ │ ├── type → SecureValueType
│ │ │ │ ├── SecureValueTypePersonalDetails
│ │ │ │ ├── SecureValueTypePassport
│ │ │ │ ├── SecureValueTypeDriverLicense
│ │ │ │ ├── SecureValueTypeIdentityCard
│ │ │ │ ├── SecureValueTypeInternalPassport
│ │ │ │ ├── SecureValueTypeAddress
│ │ │ │ ├── SecureValueTypeUtilityBill
│ │ │ │ ├── SecureValueTypeBankStatement
│ │ │ │ ├── SecureValueTypeRentalAgreement
│ │ │ │ ├── SecureValueTypePassportRegistration
│ │ │ │ ├── SecureValueTypeTemporaryRegistration
│ │ │ │ ├── SecureValueTypePhone
│ │ │ │ └── SecureValueTypeEmail
│ │ │ ├── data → SecureData (optional)
│ │ │ │ └── SecureData
│ │ │ ├── front_side → SecureFile (optional)
│ │ │ │ ├── SecureFileEmpty
│ │ │ │ └── SecureFile
│ │ │ ├── reverse_side → SecureFile (optional)
│ │ │ │ ├── SecureFileEmpty
│ │ │ │ └── SecureFile
│ │ │ ├── selfie → SecureFile (optional)
│ │ │ │ ├── SecureFileEmpty
│ │ │ │ └── SecureFile
│ │ │ ├── translation → Vector < SecureFile > (optional)
│ │ │ │ ├── SecureFileEmpty
│ │ │ │ └── SecureFile
│ │ │ ├── files → Vector < SecureFile > (optional)
│ │ │ │ ├── SecureFileEmpty
│ │ │ │ └── SecureFile
│ │ │ ├── plain_data → SecurePlainData (optional)
│ │ │ │ ├── SecurePlainPhone
│ │ │ │ └── SecurePlainEmail
│ │ │ └── hash → bytes
│ │ └── credentials → SecureCredentialsEncrypted
│ │ └── SecureCredentialsEncrypted
│ │ ├── data → bytes
│ │ ├── hash → bytes
│ │ └── secret → bytes
│ │ └── types → Vector < SecureValueType >
│ │ ├── SecureValueTypePassport
│ │ ├── SecureValueTypeIdentityCard
│ │ ├── SecureValueTypeAddress
│ │ ├── SecureValueTypeUtilityBill
│ │ ├── SecureValueTypePhone
│ │ └── SecureValueTypeEmail
│ │ ├── from_id → Peer
│ │ │ ├── PeerUser
│ │ │ │ └── user_id → long
│ │ │ ├── PeerChat
│ │ │ │ └── chat_id → long
│ │ │ └── PeerChannel
│ │ │ └── channel_id → long
│ │ ├── to_id → Peer
│ │ │ ├── PeerUser
│ │ │ │ └── user_id → long
│ │ │ ├── PeerChat
│ │ │ │ └── chat_id → long
│ │ │ └── PeerChannel
│ │ │ └── channel_id → long
│ │ └── distance → int
│ │ ├── call → InputGroupCall
│ │ │ ├── InputGroupCall
│ │ │ │ ├── id → long
│ │ │ │ └── access_hash → long
│ │ │ ├── InputGroupCallSlug
│ │ │ │ └── slug → string
│ │ │ └── InputGroupCallInviteMessage
│ │ │ └── msg_id → int
│ │ └── duration → int (optional)
│ │ ├── call → InputGroupCall
│ │ │ ├── InputGroupCall
│ │ │ │ ├── id → long
│ │ │ │ └── access_hash → long
│ │ │ ├── InputGroupCallSlug
│ │ │ │ └── slug → string
│ │ │ └── InputGroupCallInviteMessage
│ │ │ └── msg_id → int
│ │ └── users → Vector < long >
│ │ ├── period → int
│ │ └── auto_setting_from → long (optional)
│ │ ├── call → InputGroupCall
│ │ │ ├── InputGroupCall
│ │ │ │ ├── id → long
│ │ │ │ └── access_hash → long
│ │ │ ├── InputGroupCallSlug
│ │ │ │ └── slug → string
│ │ │ └── InputGroupCallInviteMessage
│ │ │ └── msg_id → int
│ │ └── schedule_date → int
│ │ └── theme → ChatTheme
│ │ ├── ChatTheme
│ │ │ └── emoticon → string
│ │ └── ChatThemeUniqueGift
│ │ ├── gift → StarGift
│ │ │ ├── StarGift
│ │ │ └── StarGiftUnique
│ │ └── theme_settings → Vector < ThemeSettings >
│ │ └── ThemeSettings
│ │ ├── text → string
│ │ └── data → string
│ │ └── text → string
│ │ ├── currency → string
│ │ ├── amount → long
│ │ ├── days → int
│ │ ├── crypto_currency → string (optional)
│ │ ├── crypto_amount → long (optional)
│ │ └── message → 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
│ │ ├── title_missing → true (optional)
│ │ ├── title → string
│ │ ├── icon_color → int
│ │ └── icon_emoji_id → long (optional)
│ │ ├── title → string (optional)
│ │ ├── icon_emoji_id → long (optional)
│ │ ├── closed → Bool (optional)
│ │ └── hidden → Bool (optional)
│ │ └── photo → 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
│ │ ├── button_id → int
│ │ └── peers → Vector < Peer >
│ │ ├── PeerUser
│ │ │ └── user_id → long
│ │ ├── PeerChat
│ │ │ └── chat_id → long
│ │ └── PeerChannel
│ │ └── channel_id → long
│ │ ├── same → true (optional)
│ │ ├── for_both → true (optional)
│ │ └── wallpaper → WallPaper
│ │ ├── WallPaper
│ │ │ ├── id → long
│ │ │ ├── creator → true (optional)
│ │ │ ├── default → true (optional)
│ │ │ ├── pattern → true (optional)
│ │ │ ├── dark → true (optional)
│ │ │ ├── access_hash → long
│ │ │ ├── slug → string
│ │ │ ├── document → Document
│ │ │ │ ├── DocumentEmpty
│ │ │ │ └── Document
│ │ │ └── settings → WallPaperSettings (optional)
│ │ │ └── WallPaperSettings
│ │ └── WallPaperNoFile
│ │ ├── id → long
│ │ ├── default → true (optional)
│ │ ├── dark → true (optional)
│ │ └── settings → WallPaperSettings (optional)
│ │ └── WallPaperSettings
│ ├── MessageActionGiftCode
│ │ ├── via_giveaway → true (optional)
│ │ ├── unclaimed → true (optional)
│ │ ├── boost_peer → Peer (optional)
│ │ │ ├── PeerUser
│ │ │ │ └── user_id → long
│ │ │ ├── PeerChat
│ │ │ │ └── chat_id → long
│ │ │ └── PeerChannel
│ │ │ └── channel_id → long
│ │ ├── days → int
│ │ ├── slug → string
│ │ ├── currency → string (optional)
│ │ ├── amount → long (optional)
│ │ ├── crypto_currency → string (optional)
│ │ ├── crypto_amount → long (optional)
│ │ └── message → 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
│ │ └── stars → long (optional)
│ │ ├── stars → true (optional)
│ │ ├── winners_count → int
│ │ └── unclaimed_count → int
│ │ └── boosts → int
│ │ ├── button_id → int
│ │ └── peers → Vector < RequestedPeer >
│ │ ├── RequestedPeerUser
│ │ │ ├── user_id → long
│ │ │ ├── first_name → string (optional)
│ │ │ ├── last_name → string (optional)
│ │ │ ├── username → string (optional)
│ │ │ └── photo → Photo (optional)
│ │ │ ├── PhotoEmpty
│ │ │ └── Photo
│ │ ├── RequestedPeerChat
│ │ │ ├── chat_id → long
│ │ │ ├── title → string (optional)
│ │ │ └── photo → Photo (optional)
│ │ │ ├── PhotoEmpty
│ │ │ └── Photo
│ │ └── RequestedPeerChannel
│ │ ├── channel_id → long
│ │ ├── title → string (optional)
│ │ ├── username → string (optional)
│ │ └── photo → Photo (optional)
│ │ ├── PhotoEmpty
│ │ └── Photo
│ │ ├── peer → Peer
│ │ │ ├── PeerUser
│ │ │ │ └── user_id → long
│ │ │ ├── PeerChat
│ │ │ │ └── chat_id → long
│ │ │ └── PeerChannel
│ │ │ └── channel_id → long
│ │ ├── currency → string
│ │ ├── total_amount → long
│ │ ├── payload → bytes (optional)
│ │ └── charge → PaymentCharge
│ │ └── PaymentCharge
│ │ ├── id → string
│ │ └── provider_charge_id → string
│ │ ├── currency → string
│ │ ├── amount → long
│ │ ├── stars → long
│ │ ├── crypto_currency → string (optional)
│ │ ├── crypto_amount → long (optional)
│ │ └── transaction_id → string (optional)
│ │ ├── unclaimed → true (optional)
│ │ ├── stars → long
│ │ ├── transaction_id → string
│ │ ├── boost_peer → Peer
│ │ │ ├── PeerUser
│ │ │ │ └── user_id → long
│ │ │ ├── PeerChat
│ │ │ │ └── chat_id → long
│ │ │ └── PeerChannel
│ │ │ └── channel_id → long
│ │ └── giveaway_msg_id → int
│ ├── MessageActionStarGift
│ │ ├── name_hidden → true (optional)
│ │ ├── saved → true (optional)
│ │ ├── converted → true (optional)
│ │ ├── upgraded → true (optional)
│ │ ├── refunded → true (optional)
│ │ ├── can_upgrade → true (optional)
│ │ ├── prepaid_upgrade → true (optional)
│ │ ├── upgrade_separate → true (optional)
│ │ ├── auction_acquired → true (optional)
│ │ ├── gift → StarGift
│ │ │ ├── StarGift
│ │ │ │ ├── limited → true (optional)
│ │ │ │ ├── sold_out → true (optional)
│ │ │ │ ├── birthday → true (optional)
│ │ │ │ ├── require_premium → true (optional)
│ │ │ │ ├── limited_per_user → true (optional)
│ │ │ │ ├── peer_color_available → true (optional)
│ │ │ │ ├── auction → true (optional)
│ │ │ │ ├── id → long
│ │ │ │ ├── sticker → Document
│ │ │ │ │ ├── DocumentEmpty
│ │ │ │ │ └── Document
│ │ │ │ ├── stars → long
│ │ │ │ ├── availability_remains → int (optional)
│ │ │ │ ├── availability_total → int (optional)
│ │ │ │ ├── availability_resale → long (optional)
│ │ │ │ ├── convert_stars → long
│ │ │ │ ├── first_sale_date → int (optional)
│ │ │ │ ├── last_sale_date → int (optional)
│ │ │ │ ├── upgrade_stars → long (optional)
│ │ │ │ ├── resell_min_stars → long (optional)
│ │ │ │ ├── title → string (optional)
│ │ │ │ ├── released_by → Peer (optional)
│ │ │ │ │ ├── PeerUser
│ │ │ │ │ ├── PeerChat
│ │ │ │ │ └── PeerChannel
│ │ │ │ ├── per_user_total → int (optional)
│ │ │ │ ├── per_user_remains → int (optional)
│ │ │ │ ├── locked_until_date → int (optional)
│ │ │ │ ├── auction_slug → string (optional)
│ │ │ │ ├── gifts_per_round → int (optional)
│ │ │ │ ├── auction_start_date → int (optional)
│ │ │ │ ├── upgrade_variants → int (optional)
│ │ │ │ └── background → StarGiftBackground (optional)
│ │ │ │ └── StarGiftBackground
│ │ │ └── StarGiftUnique
│ │ │ ├── require_premium → true (optional)
│ │ │ ├── resale_ton_only → true (optional)
│ │ │ ├── theme_available → true (optional)
│ │ │ ├── burned → true (optional)
│ │ │ ├── crafted → true (optional)
│ │ │ ├── id → long
│ │ │ ├── gift_id → long
│ │ │ ├── title → string
│ │ │ ├── slug → string
│ │ │ ├── num → int
│ │ │ ├── owner_id → Peer (optional)
│ │ │ │ ├── PeerUser
│ │ │ │ ├── PeerChat
│ │ │ │ └── PeerChannel
│ │ │ ├── owner_name → string (optional)
│ │ │ ├── owner_address → string (optional)
│ │ │ ├── attributes → Vector < StarGiftAttribute >
│ │ │ │ ├── StarGiftAttributeModel
│ │ │ │ ├── StarGiftAttributePattern
│ │ │ │ ├── StarGiftAttributeBackdrop
│ │ │ │ └── StarGiftAttributeOriginalDetails
│ │ │ ├── availability_issued → int
│ │ │ ├── availability_total → int
│ │ │ ├── gift_address → string (optional)
│ │ │ ├── resell_amount → Vector < StarsAmount > (optional)
│ │ │ │ ├── StarsAmount
│ │ │ │ └── StarsTonAmount
│ │ │ ├── released_by → Peer (optional)
│ │ │ │ ├── PeerUser
│ │ │ │ ├── PeerChat
│ │ │ │ └── PeerChannel
│ │ │ ├── value_amount → long (optional)
│ │ │ ├── value_currency → string (optional)
│ │ │ ├── value_usd_amount → long (optional)
│ │ │ ├── theme_peer → Peer (optional)
│ │ │ │ ├── PeerUser
│ │ │ │ ├── PeerChat
│ │ │ │ └── PeerChannel
│ │ │ ├── peer_color → PeerColor (optional)
│ │ │ │ ├── PeerColor
│ │ │ │ ├── PeerColorCollectible
│ │ │ │ └── InputPeerColorCollectible
│ │ │ ├── host_id → Peer (optional)
│ │ │ │ ├── PeerUser
│ │ │ │ ├── PeerChat
│ │ │ │ └── PeerChannel
│ │ │ ├── offer_min_stars → int (optional)
│ │ │ └── craft_chance_permille → int (optional)
│ │ ├── message → TextWithEntities (optional)
│ │ │ └── TextWithEntities
│ │ │ ├── text → string
│ │ │ └── entities → Vector < MessageEntity >
│ │ │ ├── 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
│ │ ├── convert_stars → long (optional)
│ │ ├── upgrade_msg_id → int (optional)
│ │ ├── upgrade_stars → long (optional)
│ │ ├── from_id → Peer (optional)
│ │ │ ├── PeerUser
│ │ │ │ └── user_id → long
│ │ │ ├── PeerChat
│ │ │ │ └── chat_id → long
│ │ │ └── PeerChannel
│ │ │ └── channel_id → long
│ │ ├── peer → Peer (optional)
│ │ │ ├── PeerUser
│ │ │ │ └── user_id → long
│ │ │ ├── PeerChat
│ │ │ │ └── chat_id → long
│ │ │ └── PeerChannel
│ │ │ └── channel_id → long
│ │ ├── saved_id → long (optional)
│ │ ├── prepaid_upgrade_hash → string (optional)
│ │ ├── gift_msg_id → int (optional)
│ │ ├── to_id → Peer (optional)
│ │ │ ├── PeerUser
│ │ │ │ └── user_id → long
│ │ │ ├── PeerChat
│ │ │ │ └── chat_id → long
│ │ │ └── PeerChannel
│ │ │ └── channel_id → long
│ │ └── gift_num → int (optional)
│ │ ├── upgrade → true (optional)
│ │ ├── transferred → true (optional)
│ │ ├── saved → true (optional)
│ │ ├── refunded → true (optional)
│ │ ├── prepaid_upgrade → true (optional)
│ │ ├── assigned → true (optional)
│ │ ├── from_offer → true (optional)
│ │ ├── craft → true (optional)
│ │ ├── gift → StarGift
│ │ │ ├── StarGift
│ │ │ │ ├── limited → true (optional)
│ │ │ │ ├── sold_out → true (optional)
│ │ │ │ ├── birthday → true (optional)
│ │ │ │ ├── require_premium → true (optional)
│ │ │ │ ├── limited_per_user → true (optional)
│ │ │ │ ├── peer_color_available → true (optional)
│ │ │ │ ├── auction → true (optional)
│ │ │ │ ├── id → long
│ │ │ │ ├── sticker → Document
│ │ │ │ │ ├── DocumentEmpty
│ │ │ │ │ └── Document
│ │ │ │ ├── stars → long
│ │ │ │ ├── availability_remains → int (optional)
│ │ │ │ ├── availability_total → int (optional)
│ │ │ │ ├── availability_resale → long (optional)
│ │ │ │ ├── convert_stars → long
│ │ │ │ ├── first_sale_date → int (optional)
│ │ │ │ ├── last_sale_date → int (optional)
│ │ │ │ ├── upgrade_stars → long (optional)
│ │ │ │ ├── resell_min_stars → long (optional)
│ │ │ │ ├── title → string (optional)
│ │ │ │ ├── released_by → Peer (optional)
│ │ │ │ │ ├── PeerUser
│ │ │ │ │ ├── PeerChat
│ │ │ │ │ └── PeerChannel
│ │ │ │ ├── per_user_total → int (optional)
│ │ │ │ ├── per_user_remains → int (optional)
│ │ │ │ ├── locked_until_date → int (optional)
│ │ │ │ ├── auction_slug → string (optional)
│ │ │ │ ├── gifts_per_round → int (optional)
│ │ │ │ ├── auction_start_date → int (optional)
│ │ │ │ ├── upgrade_variants → int (optional)
│ │ │ │ └── background → StarGiftBackground (optional)
│ │ │ │ └── StarGiftBackground
│ │ │ └── StarGiftUnique
│ │ │ ├── require_premium → true (optional)
│ │ │ ├── resale_ton_only → true (optional)
│ │ │ ├── theme_available → true (optional)
│ │ │ ├── burned → true (optional)
│ │ │ ├── crafted → true (optional)
│ │ │ ├── id → long
│ │ │ ├── gift_id → long
│ │ │ ├── title → string
│ │ │ ├── slug → string
│ │ │ ├── num → int
│ │ │ ├── owner_id → Peer (optional)
│ │ │ │ ├── PeerUser
│ │ │ │ ├── PeerChat
│ │ │ │ └── PeerChannel
│ │ │ ├── owner_name → string (optional)
│ │ │ ├── owner_address → string (optional)
│ │ │ ├── attributes → Vector < StarGiftAttribute >
│ │ │ │ ├── StarGiftAttributeModel
│ │ │ │ ├── StarGiftAttributePattern
│ │ │ │ ├── StarGiftAttributeBackdrop
│ │ │ │ └── StarGiftAttributeOriginalDetails
│ │ │ ├── availability_issued → int
│ │ │ ├── availability_total → int
│ │ │ ├── gift_address → string (optional)
│ │ │ ├── resell_amount → Vector < StarsAmount > (optional)
│ │ │ │ ├── StarsAmount
│ │ │ │ └── StarsTonAmount
│ │ │ ├── released_by → Peer (optional)
│ │ │ │ ├── PeerUser
│ │ │ │ ├── PeerChat
│ │ │ │ └── PeerChannel
│ │ │ ├── value_amount → long (optional)
│ │ │ ├── value_currency → string (optional)
│ │ │ ├── value_usd_amount → long (optional)
│ │ │ ├── theme_peer → Peer (optional)
│ │ │ │ ├── PeerUser
│ │ │ │ ├── PeerChat
│ │ │ │ └── PeerChannel
│ │ │ ├── peer_color → PeerColor (optional)
│ │ │ │ ├── PeerColor
│ │ │ │ ├── PeerColorCollectible
│ │ │ │ └── InputPeerColorCollectible
│ │ │ ├── host_id → Peer (optional)
│ │ │ │ ├── PeerUser
│ │ │ │ ├── PeerChat
│ │ │ │ └── PeerChannel
│ │ │ ├── offer_min_stars → int (optional)
│ │ │ └── craft_chance_permille → int (optional)
│ │ ├── can_export_at → int (optional)
│ │ ├── transfer_stars → long (optional)
│ │ ├── from_id → Peer (optional)
│ │ │ ├── PeerUser
│ │ │ │ └── user_id → long
│ │ │ ├── PeerChat
│ │ │ │ └── chat_id → long
│ │ │ └── PeerChannel
│ │ │ └── channel_id → long
│ │ ├── peer → Peer (optional)
│ │ │ ├── PeerUser
│ │ │ │ └── user_id → long
│ │ │ ├── PeerChat
│ │ │ │ └── chat_id → long
│ │ │ └── PeerChannel
│ │ │ └── channel_id → long
│ │ ├── saved_id → long (optional)
│ │ ├── resale_amount → StarsAmount (optional)
│ │ │ ├── StarsAmount
│ │ │ │ ├── amount → long
│ │ │ │ └── nanos → int
│ │ │ └── StarsTonAmount
│ │ │ └── amount → long
│ │ ├── can_transfer_at → int (optional)
│ │ ├── can_resell_at → int (optional)
│ │ ├── drop_original_details_stars → long (optional)
│ │ └── can_craft_at → int (optional)
│ │ ├── count → int
│ │ └── stars → long
│ │ ├── broadcast_messages_allowed → true (optional)
│ │ └── stars → long
│ │ ├── missed → true (optional)
│ │ ├── active → true (optional)
│ │ ├── video → true (optional)
│ │ ├── call_id → long
│ │ ├── duration → int (optional)
│ │ └── other_participants → Vector < Peer > (optional)
│ │ ├── PeerUser
│ │ │ └── user_id → long
│ │ ├── PeerChat
│ │ │ └── chat_id → long
│ │ └── PeerChannel
│ │ └── channel_id → long
│ │ ├── completed → Vector < int >
│ │ └── incompleted → Vector < int >
│ │ └── list → Vector < TodoItem >
│ │ └── TodoItem
│ │ ├── id → int
│ │ └── title → TextWithEntities
│ │ └── TextWithEntities
│ │ ├── rejected → true (optional)
│ │ ├── balance_too_low → true (optional)
│ │ ├── reject_comment → string (optional)
│ │ ├── schedule_date → int (optional)
│ │ └── price → StarsAmount (optional)
│ │ ├── StarsAmount
│ │ │ ├── amount → long
│ │ │ └── nanos → int
│ │ └── StarsTonAmount
│ │ └── amount → long
│ │ └── price → StarsAmount
│ │ ├── StarsAmount
│ │ │ ├── amount → long
│ │ │ └── nanos → int
│ │ └── StarsTonAmount
│ │ └── amount → long
│ │ └── payer_initiated → true (optional)
│ ├── MessageActionGiftTon
│ │ ├── currency → string
│ │ ├── amount → long
│ │ ├── crypto_currency → string
│ │ ├── crypto_amount → long
│ │ └── transaction_id → string (optional)
│ │ └── birthday → Birthday
│ │ └── Birthday
│ │ ├── day → int
│ │ ├── month → int
│ │ └── year → int (optional)
│ │ ├── accepted → true (optional)
│ │ ├── declined → true (optional)
│ │ ├── gift → StarGift
│ │ │ ├── StarGift
│ │ │ │ ├── limited → true (optional)
│ │ │ │ ├── sold_out → true (optional)
│ │ │ │ ├── birthday → true (optional)
│ │ │ │ ├── require_premium → true (optional)
│ │ │ │ ├── limited_per_user → true (optional)
│ │ │ │ ├── peer_color_available → true (optional)
│ │ │ │ ├── auction → true (optional)
│ │ │ │ ├── id → long
│ │ │ │ ├── sticker → Document
│ │ │ │ │ ├── DocumentEmpty
│ │ │ │ │ └── Document
│ │ │ │ ├── stars → long
│ │ │ │ ├── availability_remains → int (optional)
│ │ │ │ ├── availability_total → int (optional)
│ │ │ │ ├── availability_resale → long (optional)
│ │ │ │ ├── convert_stars → long
│ │ │ │ ├── first_sale_date → int (optional)
│ │ │ │ ├── last_sale_date → int (optional)
│ │ │ │ ├── upgrade_stars → long (optional)
│ │ │ │ ├── resell_min_stars → long (optional)
│ │ │ │ ├── title → string (optional)
│ │ │ │ ├── released_by → Peer (optional)
│ │ │ │ │ ├── PeerUser
│ │ │ │ │ ├── PeerChat
│ │ │ │ │ └── PeerChannel
│ │ │ │ ├── per_user_total → int (optional)
│ │ │ │ ├── per_user_remains → int (optional)
│ │ │ │ ├── locked_until_date → int (optional)
│ │ │ │ ├── auction_slug → string (optional)
│ │ │ │ ├── gifts_per_round → int (optional)
│ │ │ │ ├── auction_start_date → int (optional)
│ │ │ │ ├── upgrade_variants → int (optional)
│ │ │ │ └── background → StarGiftBackground (optional)
│ │ │ │ └── StarGiftBackground
│ │ │ └── StarGiftUnique
│ │ │ ├── require_premium → true (optional)
│ │ │ ├── resale_ton_only → true (optional)
│ │ │ ├── theme_available → true (optional)
│ │ │ ├── burned → true (optional)
│ │ │ ├── crafted → true (optional)
│ │ │ ├── id → long
│ │ │ ├── gift_id → long
│ │ │ ├── title → string
│ │ │ ├── slug → string
│ │ │ ├── num → int
│ │ │ ├── owner_id → Peer (optional)
│ │ │ │ ├── PeerUser
│ │ │ │ ├── PeerChat
│ │ │ │ └── PeerChannel
│ │ │ ├── owner_name → string (optional)
│ │ │ ├── owner_address → string (optional)
│ │ │ ├── attributes → Vector < StarGiftAttribute >
│ │ │ │ ├── StarGiftAttributeModel
│ │ │ │ ├── StarGiftAttributePattern
│ │ │ │ ├── StarGiftAttributeBackdrop
│ │ │ │ └── StarGiftAttributeOriginalDetails
│ │ │ ├── availability_issued → int
│ │ │ ├── availability_total → int
│ │ │ ├── gift_address → string (optional)
│ │ │ ├── resell_amount → Vector < StarsAmount > (optional)
│ │ │ │ ├── StarsAmount
│ │ │ │ └── StarsTonAmount
│ │ │ ├── released_by → Peer (optional)
│ │ │ │ ├── PeerUser
│ │ │ │ ├── PeerChat
│ │ │ │ └── PeerChannel
│ │ │ ├── value_amount → long (optional)
│ │ │ ├── value_currency → string (optional)
│ │ │ ├── value_usd_amount → long (optional)
│ │ │ ├── theme_peer → Peer (optional)
│ │ │ │ ├── PeerUser
│ │ │ │ ├── PeerChat
│ │ │ │ └── PeerChannel
│ │ │ ├── peer_color → PeerColor (optional)
│ │ │ │ ├── PeerColor
│ │ │ │ ├── PeerColorCollectible
│ │ │ │ └── InputPeerColorCollectible
│ │ │ ├── host_id → Peer (optional)
│ │ │ │ ├── PeerUser
│ │ │ │ ├── PeerChat
│ │ │ │ └── PeerChannel
│ │ │ ├── offer_min_stars → int (optional)
│ │ │ └── craft_chance_permille → int (optional)
│ │ ├── price → StarsAmount
│ │ │ ├── StarsAmount
│ │ │ │ ├── amount → long
│ │ │ │ └── nanos → int
│ │ │ └── StarsTonAmount
│ │ │ └── amount → long
│ │ └── expires_at → int
│ │ ├── expired → true (optional)
│ │ ├── gift → StarGift
│ │ │ ├── StarGift
│ │ │ │ ├── limited → true (optional)
│ │ │ │ ├── sold_out → true (optional)
│ │ │ │ ├── birthday → true (optional)
│ │ │ │ ├── require_premium → true (optional)
│ │ │ │ ├── limited_per_user → true (optional)
│ │ │ │ ├── peer_color_available → true (optional)
│ │ │ │ ├── auction → true (optional)
│ │ │ │ ├── id → long
│ │ │ │ ├── sticker → Document
│ │ │ │ │ ├── DocumentEmpty
│ │ │ │ │ └── Document
│ │ │ │ ├── stars → long
│ │ │ │ ├── availability_remains → int (optional)
│ │ │ │ ├── availability_total → int (optional)
│ │ │ │ ├── availability_resale → long (optional)
│ │ │ │ ├── convert_stars → long
│ │ │ │ ├── first_sale_date → int (optional)
│ │ │ │ ├── last_sale_date → int (optional)
│ │ │ │ ├── upgrade_stars → long (optional)
│ │ │ │ ├── resell_min_stars → long (optional)
│ │ │ │ ├── title → string (optional)
│ │ │ │ ├── released_by → Peer (optional)
│ │ │ │ │ ├── PeerUser
│ │ │ │ │ ├── PeerChat
│ │ │ │ │ └── PeerChannel
│ │ │ │ ├── per_user_total → int (optional)
│ │ │ │ ├── per_user_remains → int (optional)
│ │ │ │ ├── locked_until_date → int (optional)
│ │ │ │ ├── auction_slug → string (optional)
│ │ │ │ ├── gifts_per_round → int (optional)
│ │ │ │ ├── auction_start_date → int (optional)
│ │ │ │ ├── upgrade_variants → int (optional)
│ │ │ │ └── background → StarGiftBackground (optional)
│ │ │ │ └── StarGiftBackground
│ │ │ └── StarGiftUnique
│ │ │ ├── require_premium → true (optional)
│ │ │ ├── resale_ton_only → true (optional)
│ │ │ ├── theme_available → true (optional)
│ │ │ ├── burned → true (optional)
│ │ │ ├── crafted → true (optional)
│ │ │ ├── id → long
│ │ │ ├── gift_id → long
│ │ │ ├── title → string
│ │ │ ├── slug → string
│ │ │ ├── num → int
│ │ │ ├── owner_id → Peer (optional)
│ │ │ │ ├── PeerUser
│ │ │ │ ├── PeerChat
│ │ │ │ └── PeerChannel
│ │ │ ├── owner_name → string (optional)
│ │ │ ├── owner_address → string (optional)
│ │ │ ├── attributes → Vector < StarGiftAttribute >
│ │ │ │ ├── StarGiftAttributeModel
│ │ │ │ ├── StarGiftAttributePattern
│ │ │ │ ├── StarGiftAttributeBackdrop
│ │ │ │ └── StarGiftAttributeOriginalDetails
│ │ │ ├── availability_issued → int
│ │ │ ├── availability_total → int
│ │ │ ├── gift_address → string (optional)
│ │ │ ├── resell_amount → Vector < StarsAmount > (optional)
│ │ │ │ ├── StarsAmount
│ │ │ │ └── StarsTonAmount
│ │ │ ├── released_by → Peer (optional)
│ │ │ │ ├── PeerUser
│ │ │ │ ├── PeerChat
│ │ │ │ └── PeerChannel
│ │ │ ├── value_amount → long (optional)
│ │ │ ├── value_currency → string (optional)
│ │ │ ├── value_usd_amount → long (optional)
│ │ │ ├── theme_peer → Peer (optional)
│ │ │ │ ├── PeerUser
│ │ │ │ ├── PeerChat
│ │ │ │ └── PeerChannel
│ │ │ ├── peer_color → PeerColor (optional)
│ │ │ │ ├── PeerColor
│ │ │ │ ├── PeerColorCollectible
│ │ │ │ └── InputPeerColorCollectible
│ │ │ ├── host_id → Peer (optional)
│ │ │ │ ├── PeerUser
│ │ │ │ ├── PeerChat
│ │ │ │ └── PeerChannel
│ │ │ ├── offer_min_stars → int (optional)
│ │ │ └── craft_chance_permille → int (optional)
│ │ └── price → StarsAmount
│ │ ├── StarsAmount
│ │ │ ├── amount → long
│ │ │ └── nanos → int
│ │ └── StarsTonAmount
│ │ └── amount → long
│ │ └── new_creator_id → long
│ │ └── new_creator_id → long
│ │ ├── prev_value → Bool
│ │ └── new_value → Bool
│ │ ├── expired → true (optional)
│ │ ├── prev_value → Bool
│ │ └── new_value → Bool
│ │ └── answer → PollAnswer
│ │ ├── PollAnswer
│ │ │ ├── text → TextWithEntities
│ │ │ │ └── TextWithEntities
│ │ │ ├── option → bytes
│ │ │ ├── media → MessageMedia (optional)
│ │ │ │ ├── MessageMediaEmpty
│ │ │ │ ├── MessageMediaPhoto
│ │ │ │ ├── MessageMediaGeo
│ │ │ │ ├── MessageMediaContact
│ │ │ │ ├── MessageMediaUnsupported
│ │ │ │ ├── MessageMediaDocument
│ │ │ │ ├── MessageMediaWebPage
│ │ │ │ ├── MessageMediaVenue
│ │ │ │ ├── MessageMediaGame
│ │ │ │ ├── MessageMediaInvoice
│ │ │ │ ├── MessageMediaGeoLive
│ │ │ │ ├── MessageMediaPoll
│ │ │ │ ├── MessageMediaDice
│ │ │ │ ├── MessageMediaStory
│ │ │ │ ├── MessageMediaGiveaway
│ │ │ │ ├── MessageMediaGiveawayResults
│ │ │ │ ├── MessageMediaPaidMedia
│ │ │ │ ├── MessageMediaToDo
│ │ │ │ └── MessageMediaVideoStream
│ │ │ ├── added_by → Peer (optional)
│ │ │ │ ├── PeerUser
│ │ │ │ ├── PeerChat
│ │ │ │ └── PeerChannel
│ │ │ └── date → int (optional)
│ │ └── InputPollAnswer
│ │ ├── text → TextWithEntities
│ │ │ └── TextWithEntities
│ │ └── media → InputMedia (optional)
│ │ ├── InputMediaEmpty
│ │ ├── InputMediaUploadedPhoto
│ │ ├── InputMediaPhoto
│ │ ├── InputMediaGeoPoint
│ │ ├── InputMediaContact
│ │ ├── InputMediaUploadedDocument
│ │ ├── InputMediaDocument
│ │ ├── InputMediaVenue
│ │ ├── InputMediaPhotoExternal
│ │ ├── InputMediaDocumentExternal
│ │ ├── InputMediaGame
│ │ ├── InputMediaInvoice
│ │ ├── InputMediaGeoLive
│ │ ├── InputMediaPoll
│ │ ├── InputMediaDice
│ │ ├── InputMediaStory
│ │ ├── InputMediaWebPage
│ │ ├── InputMediaPaidMedia
│ │ ├── InputMediaTodo
│ │ └── InputMediaStakeDice
│ │ └── answer → PollAnswer
│ │ ├── PollAnswer
│ │ │ ├── text → TextWithEntities
│ │ │ │ └── TextWithEntities
│ │ │ ├── option → bytes
│ │ │ ├── media → MessageMedia (optional)
│ │ │ │ ├── MessageMediaEmpty
│ │ │ │ ├── MessageMediaPhoto
│ │ │ │ ├── MessageMediaGeo
│ │ │ │ ├── MessageMediaContact
│ │ │ │ ├── MessageMediaUnsupported
│ │ │ │ ├── MessageMediaDocument
│ │ │ │ ├── MessageMediaWebPage
│ │ │ │ ├── MessageMediaVenue
│ │ │ │ ├── MessageMediaGame
│ │ │ │ ├── MessageMediaInvoice
│ │ │ │ ├── MessageMediaGeoLive
│ │ │ │ ├── MessageMediaPoll
│ │ │ │ ├── MessageMediaDice
│ │ │ │ ├── MessageMediaStory
│ │ │ │ ├── MessageMediaGiveaway
│ │ │ │ ├── MessageMediaGiveawayResults
│ │ │ │ ├── MessageMediaPaidMedia
│ │ │ │ ├── MessageMediaToDo
│ │ │ │ └── MessageMediaVideoStream
│ │ │ ├── added_by → Peer (optional)
│ │ │ │ ├── PeerUser
│ │ │ │ ├── PeerChat
│ │ │ │ └── PeerChannel
│ │ │ └── date → int (optional)
│ │ └── InputPollAnswer
│ │ ├── text → TextWithEntities
│ │ │ └── TextWithEntities
│ │ └── media → InputMedia (optional)
│ │ ├── InputMediaEmpty
│ │ ├── InputMediaUploadedPhoto
│ │ ├── InputMediaPhoto
│ │ ├── InputMediaGeoPoint
│ │ ├── InputMediaContact
│ │ ├── InputMediaUploadedDocument
│ │ ├── InputMediaDocument
│ │ ├── InputMediaVenue
│ │ ├── InputMediaPhotoExternal
│ │ ├── InputMediaDocumentExternal
│ │ ├── InputMediaGame
│ │ ├── InputMediaInvoice
│ │ ├── InputMediaGeoLive
│ │ ├── InputMediaPoll
│ │ ├── InputMediaDice
│ │ ├── InputMediaStory
│ │ ├── InputMediaWebPage
│ │ ├── InputMediaPaidMedia
│ │ ├── InputMediaTodo
│ │ └── InputMediaStakeDice
│ └── bot_id → long
├── 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
└── ttl_period → int (optional)

Example

MessageService(
    id=0,
    peer_id=PeerUser(user_id=0),
    date=0,
    action=MessageActionEmpty(),
)