2022-02-23 16:30:26 +01:00
<!DOCTYPE html>
< html class = "" >
< head >
< meta charset = "utf-8" >
< title > message< / title >
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
< meta property = "description" content = "A message" >
< meta property = "og:title" content = "message" >
< meta property = "og:image" content = "" >
< meta property = "og:description" content = "A message" >
< link rel = "shortcut icon" href = "/favicon.ico?4" type = "image/x-icon" / >
< link href = "/css/bootstrap.min.css?3" rel = "stylesheet" >
2022-03-03 12:16:35 +01:00
< link href = "/css/telegram.css?217" rel = "stylesheet" media = "screen" >
2022-02-23 16:30:26 +01:00
< style >
< / style >
< / head >
< body class = "preload" >
< div class = "dev_page_wrap" >
< div class = "dev_page_head navbar navbar-static-top navbar-tg" >
< div class = "navbar-inner" >
< div class = "container clearfix" >
< ul class = "nav navbar-nav navbar-right hidden-xs" > < li class = "navbar-twitter" > < a href = "https://twitter.com/telegram" target = "_blank" data-track = "Follow/Twitter" onclick = "trackDlClick(this, event)" > < i class = "icon icon-twitter" > < / i > < span > Twitter< / span > < / a > < / li > < / ul >
< ul class = "nav navbar-nav" >
< li > < a href = "//telegram.org/" > Home< / a > < / li >
< li class = "hidden-xs" > < a href = "//telegram.org/faq" > FAQ< / a > < / li >
< li class = "hidden-xs" > < a href = "//telegram.org/apps" > Apps< / a > < / li >
< li class = "" > < a href = "/api" > API< / a > < / li >
< li class = "" > < a href = "/mtproto" > Protocol< / a > < / li >
< li class = "active" > < a href = "/schema" > Schema< / a > < / li >
< / ul >
< / div >
< / div >
< / div >
< div class = "container clearfix" >
< div class = "dev_page" >
< div id = "dev_page_content_wrap" class = " " >
< div class = "dev_page_bread_crumbs" > < ul class = "breadcrumb clearfix" > < li > < a href = "/api" > API< / a > < / li > < i class = "icon icon-breadcrumb-divider" > < / i > < li > < a href = "/schema" > TL-schema< / a > < / li > < i class = "icon icon-breadcrumb-divider" > < / i > < li > < a href = "/constructor/message" > message< / a > < / li > < / ul > < / div >
< h1 id = "dev_page_title" > message< / h1 >
< div id = "dev_page_content" > < p > A message< / p >
< p > < div class = "clearfix" >
< ul class = "dev_layer_select slightly-pull-right nav nav-pills" >
< li class = "dropdown" >
< a class = "dropdown-toggle" onclick = "return dropdownClick(this, event)" href = "#" > Layer 133 < b class = "caret" > < / b > < / a >
< ul class = "dropdown-menu" >
< li > < a href = "?layer=1" > 1 – Base layer< / a > < / li > < li > < a href = "?layer=2" > 2 – New userpic notifications< / a > < / li > < li > < a href = "?layer=3" > 3 – Send message can trigger link change< / a > < / li > < li > < a href = "?layer=4" > 4 – Check-in chats< / a > < / li > < li > < a href = "?layer=5" > 5 – Localized SMS, localized notifications< / a > < / li > < li > < a href = "?layer=6" > 6 – Foursquare integration< / a > < / li > < li > < a href = "?layer=7" > 7 – Added wallPaperSolid< / a > < / li > < li > < a href = "?layer=8" > 8 – Added end-to-end encryption< / a > < / li > < li > < a href = "?layer=9" > 9 – Improved big files upload perfomance< / a > < / li > < li > < a href = "?layer=10" > 10 – Improved chat participants updates< / a > < / li > < li > < a href = "?layer=11" > 11 – Improved secret chats< / a > < / li > < li > < a href = "?layer=12" > 12 – New dynamic support< / a > < / li > < li > < a href = "?layer=13" > 13 – Audio, video MIME; contacts import retry; new secret actions< / a > < / li > < li > < a href = "?layer=14" > 14 – Notify settings sync, blacklist sync< / a > < / li > < li > < a href = "?layer=15" > 15 – Modified getHistory offset behaviour< / a > < / li > < li > < a href = "?layer=16" > 16 – Split sendCode into 2 parts< / a > < / li > < li > < a href = "?layer=17" > 17 – Added custom typing, introduced message flags< / a > < / li > < li > < a href = "?layer=18" > 18 – Added usernames< / a > < / li > < li > < a href = "?layer=23" > 23 – Stickers for secret chats< / a > < / li > < li > < a href = "?layer=105" > 105 – Scheduled messages, Cloud themes< / a > < / li > < li > < a href = "?layer=108" > 108 – Login with QR code< / a > < / li > < li > < a href = "?layer=109" > 109 – Polls v2< / a > < / li > < li > < a href = "?layer=110" > 110 – People Nearby 2.0, Bank card entity< / a > < / li > < li > < a href = "?layer=111" > 111 – Folders, Broadcast Stats< / a > < / li > < li > < a href = "?layer=112" > 112 – Old featured stickers, generic dice, poll timer, poll solution< / a > < / li > < li > < a href = "?layer=113" > 113 – PSA< / a > < / li > < li > < a href = "?layer=114" > 114 – Video thumbs for GIFs< / a > < / li > < li > < a href = "?layer=115" > 115 – Peek Channel Invite< / a > < / li > < li > < a href = "?layer=116" > 116 – Group Stats, Profile Videos< / a > < / li > < li > < a href = "?layer=117" > 117 – WebRTC Phone Calls< / a > < / li > < li > < a href = "?layer=118" > 118 – Callback with 2FA, Countries list< / a > < / li > < li > < a href = "?layer=119" > 119 – Comments in channels, Threads, Anonymous Admins< / a > < / li > < li > < a href = "?layer=120" > 120 – Multipins, Message Stats, GeoLive v2< / a > < / li > < li > < a href = "?layer=121" > 121 – SVG-based Outlines for Stickers< / a > < / li > < li > < a href = "?layer=122" > 122 – Voice Chats< / a > < / li > < li > < a href = "?layer=123" > 123 – Voice Chat improvements< / a > < / li > < li > < a href = "?layer=124" > 124 – Expiring Invite links< / a > < / li > < li > < a href = "?layer=125" > 125 – Voice Chats in Broadcasts< / a > < / li > < li > < a href = "?layer=126" > 126 – Ban channels in channels< / a > < / li > < li > < a href = "?layer=127" > 127 – Payments in channels< / a > < / li > < li > < a href = "?layer=128" > 128 – Microthumbs for User/Chat profile photos< / a > < / li > < li > < a href = "?layer=129" > 129 – Video Chats< / a > < / li > < li > < a href = "?layer=130" > 130 – Custom placeholder for bot reply keyboards< / a > < / li > < li > < a href = "?layer=131" > 131 – Reset 2FA Password after a week< / a > < / li > < li > < a href = "?layer=132" > 132 – Chat themes< / a > < / li > < li > < a href = "?layer=133" > < strong > 133 – 64-bit IDs for User/Chat< / strong > < / a > < / li >
< li class = "divider" > < / li >
< li > < a href = "/api/layers" > More...< / a > < / li >
< / ul >
< / li >
< / ul >
< / div >
< pre class = "page_scheme" > < code > < a href = "/constructor/message" class = "current_page_link" > message< / a > #85d6cbe2 flags:< a href = "/type/%23" > #< / a > 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 id:< a href = "/type/int" > int< / a > from_id:flags.8?< a href = "/type/Peer" > Peer< / a > peer_id:< a href = "/type/Peer" > Peer< / a > fwd_from:flags.2?< a href = "/type/MessageFwdHeader" > MessageFwdHeader< / a > via_bot_id:flags.11?< a href = "/type/long" > long< / a > reply_to:flags.3?< a href = "/type/MessageReplyHeader" > MessageReplyHeader< / a > date:< a href = "/type/int" > int< / a > message:< a href = "/type/string" > string< / a > media:flags.9?< a href = "/type/MessageMedia" > MessageMedia< / a > reply_markup:flags.6?< a href = "/type/ReplyMarkup" > ReplyMarkup< / a > entities:flags.7?< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/MessageEntity" > MessageEntity< / a > > views:flags.10?< a href = "/type/int" > int< / a > forwards:flags.10?< a href = "/type/int" > int< / a > replies:flags.23?< a href = "/type/MessageReplies" > MessageReplies< / a > edit_date:flags.15?< a href = "/type/int" > int< / a > post_author:flags.16?< a href = "/type/string" > string< / a > grouped_id:flags.17?< a href = "/type/long" > long< / a > restriction_reason:flags.22?< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/RestrictionReason" > RestrictionReason< / a > > ttl_period:flags.25?< a href = "/type/int" > int< / a > = < a href = "/type/Message" > Message< / a > ;< / code > < / pre > < / p >
< h3 > < a class = "anchor" href = "#parameters" id = "parameters" name = "parameters" > < i class = "anchor-icon" > < / i > < / a > Parameters< / h3 >
< table class = "table" >
< thead >
< tr >
< th > Name< / th >
< th style = "text-align: center;" > Type< / th >
< th > Description< / th >
< / tr >
< / thead >
< tbody >
< tr >
< td > < strong > flags< / strong > < / td >
< td style = "text-align: center;" > < a href = "/type/%23" > #< / a > < / td >
< td > Flags, see < a href = "/mtproto/TL-combinators#conditional-fields" > TL conditional fields< / a > < / td >
< / tr >
< tr >
< td > < strong > out< / strong > < / td >
< td style = "text-align: center;" > < a href = "/mtproto/TL-combinators#conditional-fields" > flags< / a > .1?< a href = "/constructor/true" > true< / a > < / td >
< td > Is this an outgoing message< / td >
< / tr >
< tr >
< td > < strong > mentioned< / strong > < / td >
< td style = "text-align: center;" > < a href = "/mtproto/TL-combinators#conditional-fields" > flags< / a > .4?< a href = "/constructor/true" > true< / a > < / td >
< td > Whether we were < a href = "/api/mentions" > mentioned< / a > in this message< / td >
< / tr >
< tr >
< td > < strong > media_unread< / strong > < / td >
< td style = "text-align: center;" > < a href = "/mtproto/TL-combinators#conditional-fields" > flags< / a > .5?< a href = "/constructor/true" > true< / a > < / td >
< td > Whether there are unread media attachments in this message< / td >
< / tr >
< tr >
< td > < strong > silent< / strong > < / td >
< td style = "text-align: center;" > < a href = "/mtproto/TL-combinators#conditional-fields" > flags< / a > .13?< a href = "/constructor/true" > true< / a > < / td >
< td > Whether this is a silent message (no notification triggered)< / td >
< / tr >
< tr >
< td > < strong > post< / strong > < / td >
< td style = "text-align: center;" > < a href = "/mtproto/TL-combinators#conditional-fields" > flags< / a > .14?< a href = "/constructor/true" > true< / a > < / td >
< td > Whether this is a channel post< / td >
< / tr >
< tr >
< td > < strong > from_scheduled< / strong > < / td >
< td style = "text-align: center;" > < a href = "/mtproto/TL-combinators#conditional-fields" > flags< / a > .18?< a href = "/constructor/true" > true< / a > < / td >
< td > Whether this is a < a href = "/api/scheduled-messages" > scheduled message< / a > < / td >
< / tr >
< tr >
< td > < strong > legacy< / strong > < / td >
< td style = "text-align: center;" > < a href = "/mtproto/TL-combinators#conditional-fields" > flags< / a > .19?< a href = "/constructor/true" > true< / a > < / td >
< td > This is a legacy message: it has to be refetched with the new layer< / td >
< / tr >
< tr >
< td > < strong > edit_hide< / strong > < / td >
< td style = "text-align: center;" > < a href = "/mtproto/TL-combinators#conditional-fields" > flags< / a > .21?< a href = "/constructor/true" > true< / a > < / td >
< td > Whether the message should be shown as not modified to the user, even if an edit date is present< / td >
< / tr >
< tr >
< td > < strong > pinned< / strong > < / td >
< td style = "text-align: center;" > < a href = "/mtproto/TL-combinators#conditional-fields" > flags< / a > .24?< a href = "/constructor/true" > true< / a > < / td >
< td > Whether this message is < a href = "/api/pin" > pinned< / a > < / td >
< / tr >
< tr >
< td > < strong > id< / strong > < / td >
< td style = "text-align: center;" > < a href = "/type/int" > int< / a > < / td >
< td > ID of the message< / td >
< / tr >
< tr >
< td > < strong > from_id< / strong > < / td >
< td style = "text-align: center;" > < a href = "/mtproto/TL-combinators#conditional-fields" > flags< / a > .8?< a href = "/type/Peer" > Peer< / a > < / td >
< td > ID of the sender of the message< / td >
< / tr >
< tr >
< td > < strong > peer_id< / strong > < / td >
< td style = "text-align: center;" > < a href = "/type/Peer" > Peer< / a > < / td >
< td > Peer ID, the chat where this message was sent< / td >
< / tr >
< tr >
< td > < strong > fwd_from< / strong > < / td >
< td style = "text-align: center;" > < a href = "/mtproto/TL-combinators#conditional-fields" > flags< / a > .2?< a href = "/type/MessageFwdHeader" > MessageFwdHeader< / a > < / td >
< td > Info about forwarded messages< / td >
< / tr >
< tr >
< td > < strong > via_bot_id< / strong > < / td >
< td style = "text-align: center;" > < a href = "/mtproto/TL-combinators#conditional-fields" > flags< / a > .11?< a href = "/type/long" > long< / a > < / td >
< td > ID of the inline bot that generated the message< / td >
< / tr >
< tr >
< td > < strong > reply_to< / strong > < / td >
< td style = "text-align: center;" > < a href = "/mtproto/TL-combinators#conditional-fields" > flags< / a > .3?< a href = "/type/MessageReplyHeader" > MessageReplyHeader< / a > < / td >
< td > Reply information< / td >
< / tr >
< tr >
< td > < strong > date< / strong > < / td >
< td style = "text-align: center;" > < a href = "/type/int" > int< / a > < / td >
< td > Date of the message< / td >
< / tr >
< tr >
< td > < strong > message< / strong > < / td >
< td style = "text-align: center;" > < a href = "/type/string" > string< / a > < / td >
< td > The message< / td >
< / tr >
< tr >
< td > < strong > media< / strong > < / td >
< td style = "text-align: center;" > < a href = "/mtproto/TL-combinators#conditional-fields" > flags< / a > .9?< a href = "/type/MessageMedia" > MessageMedia< / a > < / td >
< td > Media attachment< / td >
< / tr >
< tr >
< td > < strong > reply_markup< / strong > < / td >
< td style = "text-align: center;" > < a href = "/mtproto/TL-combinators#conditional-fields" > flags< / a > .6?< a href = "/type/ReplyMarkup" > ReplyMarkup< / a > < / td >
< td > Reply markup (bot/inline keyboards)< / td >
< / tr >
< tr >
< td > < strong > entities< / strong > < / td >
< td style = "text-align: center;" > < a href = "/mtproto/TL-combinators#conditional-fields" > flags< / a > .7?< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/MessageEntity" > MessageEntity< / a > > < / td >
< td > Message < a href = "/api/entities" > entities< / a > for styled text< / td >
< / tr >
< tr >
< td > < strong > views< / strong > < / td >
< td style = "text-align: center;" > < a href = "/mtproto/TL-combinators#conditional-fields" > flags< / a > .10?< a href = "/type/int" > int< / a > < / td >
< td > View count for channel posts< / td >
< / tr >
< tr >
< td > < strong > forwards< / strong > < / td >
< td style = "text-align: center;" > < a href = "/mtproto/TL-combinators#conditional-fields" > flags< / a > .10?< a href = "/type/int" > int< / a > < / td >
< td > Forward counter< / td >
< / tr >
< tr >
< td > < strong > replies< / strong > < / td >
< td style = "text-align: center;" > < a href = "/mtproto/TL-combinators#conditional-fields" > flags< / a > .23?< a href = "/type/MessageReplies" > MessageReplies< / a > < / td >
< td > Info about < a href = "/api/threads" > post comments (for channels) or message replies (for groups)< / a > < / td >
< / tr >
< tr >
< td > < strong > edit_date< / strong > < / td >
< td style = "text-align: center;" > < a href = "/mtproto/TL-combinators#conditional-fields" > flags< / a > .15?< a href = "/type/int" > int< / a > < / td >
< td > Last edit date of this message< / td >
< / tr >
< tr >
< td > < strong > post_author< / strong > < / td >
< td style = "text-align: center;" > < a href = "/mtproto/TL-combinators#conditional-fields" > flags< / a > .16?< a href = "/type/string" > string< / a > < / td >
< td > Name of the author of this message for channel posts (with signatures enabled)< / td >
< / tr >
< tr >
< td > < strong > grouped_id< / strong > < / td >
< td style = "text-align: center;" > < a href = "/mtproto/TL-combinators#conditional-fields" > flags< / a > .17?< a href = "/type/long" > long< / a > < / td >
< td > Multiple media messages sent using < a href = "/method/messages.sendMultiMedia" > messages.sendMultiMedia< / a > with the same grouped ID indicate an < a href = "/api/files#albums-grouped-media" > album or media group< / a > < / td >
< / tr >
< tr >
< td > < strong > restriction_reason< / strong > < / td >
< td style = "text-align: center;" > < a href = "/mtproto/TL-combinators#conditional-fields" > flags< / a > .22?< a href = "/type/Vector%20t" > Vector< / a > < < a href = "/type/RestrictionReason" > RestrictionReason< / a > > < / td >
< td > Contains the reason why access to this message must be restricted.< / td >
< / tr >
< tr >
< td > < strong > ttl_period< / strong > < / td >
< td style = "text-align: center;" > < a href = "/mtproto/TL-combinators#conditional-fields" > flags< / a > .25?< a href = "/type/int" > int< / a > < / td >
< td > 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.< / td >
< / tr >
< / tbody >
< / table >
< h3 > < a class = "anchor" href = "#type" id = "type" name = "type" > < i class = "anchor-icon" > < / i > < / a > Type< / h3 >
< p > < a href = "/type/Message" > Message< / a > < / p >
< h3 > < a class = "anchor" href = "#related-pages" id = "related-pages" name = "related-pages" > < i class = "anchor-icon" > < / i > < / a > Related pages< / h3 >
< h4 > < a class = "anchor" href = "#mentions" id = "mentions" name = "mentions" > < i class = "anchor-icon" > < / i > < / a > < a href = "/api/mentions" > Mentions< / a > < / h4 >
< p > Telegram allows mentioning other users in case of urgent duckling matters, and quickly navigating to those mentions in order to read them as swiftly as possible.< / p >
< h4 > < a class = "anchor" href = "#scheduled-messages" id = "scheduled-messages" name = "scheduled-messages" > < i class = "anchor-icon" > < / i > < / a > < a href = "/api/scheduled-messages" > Scheduled messages< / a > < / h4 >
< p > Telegram allows scheduling messages< / p >
< h4 > < a class = "anchor" href = "#pinned-messages" id = "pinned-messages" name = "pinned-messages" > < i class = "anchor-icon" > < / i > < / a > < a href = "/api/pin" > Pinned messages< / a > < / h4 >
< p > Telegram allows pinning multiple messages on top of a specific chat.< / p >
< h4 > < a class = "anchor" href = "#styled-text-with-message-entities" id = "styled-text-with-message-entities" name = "styled-text-with-message-entities" > < i class = "anchor-icon" > < / i > < / a > < a href = "/api/entities" > Styled text with message entities< / a > < / h4 >
< p > How to create styled text with message entities< / p >
< h4 > < a class = "anchor" href = "#threads" id = "threads" name = "threads" > < i class = "anchor-icon" > < / i > < / a > < a href = "/api/threads" > Threads< / a > < / h4 >
< p > Telegram allows commenting on a < a href = "/api/channel" > channel post< / a > or on a generic < a href = "/api/channel" > supergroup message< / a > , thanks to message threads.< / p >
< h4 > < a class = "anchor" href = "#messagessendmultimedia" id = "messagessendmultimedia" name = "messagessendmultimedia" > < i class = "anchor-icon" > < / i > < / a > < a href = "/method/messages.sendMultiMedia" > messages.sendMultiMedia< / a > < / h4 >
< p > Send an < a href = "/api/files#albums-grouped-media" > album or grouped media< / a > < / p >
< h4 > < a class = "anchor" href = "#uploading-and-downloading-files" id = "uploading-and-downloading-files" name = "uploading-and-downloading-files" > < i class = "anchor-icon" > < / i > < / a > < a href = "/api/files" > Uploading and Downloading Files< / a > < / h4 >
< p > How to transfer large data batches correctly.< / p > < / div >
< / div >
< / div >
< / div >
< div class = "footer_wrap" >
< div class = "footer_columns_wrap footer_desktop" >
< div class = "footer_column footer_column_telegram" >
< h5 > Telegram< / h5 >
< div class = "footer_telegram_description" > < / div >
Telegram is a cloud-based mobile and desktop messaging app with a focus on security and speed.
< / div >
< div class = "footer_column" >
< h5 > < a href = "//telegram.org/faq" > About< / a > < / h5 >
< ul >
< li > < a href = "//telegram.org/faq" > FAQ< / a > < / li >
< li > < a href = "//telegram.org/blog" > Blog< / a > < / li >
< li > < a href = "//telegram.org/jobs" > Jobs< / a > < / li >
< / ul >
< / div >
< div class = "footer_column" >
< h5 > < a href = "//telegram.org/apps#mobile-apps" > Mobile Apps< / a > < / h5 >
< ul >
< li > < a href = "//telegram.org/dl/ios" > iPhone/iPad< / a > < / li >
< li > < a href = "//telegram.org/dl/android" > Android< / a > < / li >
< li > < a href = "//telegram.org/dl/wp" > Windows Phone< / a > < / li >
< / ul >
< / div >
< div class = "footer_column" >
< h5 > < a href = "//telegram.org/apps#desktop-apps" > Desktop Apps< / a > < / h5 >
< ul >
< li > < a href = "//desktop.telegram.org/" > PC/Mac/Linux< / a > < / li >
< li > < a href = "//macos.telegram.org/" > macOS< / a > < / li >
< li > < a href = "//telegram.org/dl/web" > Web-browser< / a > < / li >
< / ul >
< / div >
< div class = "footer_column footer_column_platform" >
< h5 > < a href = "/" > Platform< / a > < / h5 >
< ul >
< li > < a href = "/api" > API< / a > < / li >
< li > < a href = "//translations.telegram.org/" > Translations< / a > < / li >
< li > < a href = "//instantview.telegram.org/" > Instant View< / a > < / li >
< / ul >
< / div >
< / div >
< div class = "footer_columns_wrap footer_mobile" >
< div class = "footer_column" >
< h5 > < a href = "//telegram.org/faq" > About< / a > < / h5 >
< / div >
< div class = "footer_column" >
< h5 > < a href = "//telegram.org/blog" > Blog< / a > < / h5 >
< / div >
< div class = "footer_column" >
< h5 > < a href = "//telegram.org/apps" > Apps< / a > < / h5 >
< / div >
< div class = "footer_column" >
< h5 > < a href = "/" > Platform< / a > < / h5 >
< / div >
< div class = "footer_column" >
< h5 > < a href = "https://twitter.com/telegram" target = "_blank" data-track = "Follow/Twitter" onclick = "trackDlClick(this, event)" > Twitter< / a > < / h5 >
< / div >
< / div >
< / div >
< / div >
< script src = "/js/main.js?43" > < / script >
< script > b a c k T o T o p I n i t ( " G o u p " ) ;
removePreloadInit();
< / script >
< / body >
< / html >