telegram-crawler/data/web/core.telegram.org/api/layers.html
2024-02-15 03:47:40 +00:00

1886 lines
438 KiB
HTML

<!DOCTYPE html>
<html class="">
<head>
<meta charset="utf-8">
<title>Layers</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta property="description" content="API schema changelog">
<meta property="og:title" content="Layers">
<meta property="og:image" content="">
<meta property="og:description" content="API schema changelog">
<link rel="icon" type="image/svg+xml" href="/img/website_icon.svg?4">
<link rel="apple-touch-icon" sizes="180x180" href="/img/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/img/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/img/favicon-16x16.png">
<link rel="alternate icon" href="/img/favicon.ico" type="image/x-icon" />
<link href="/css/bootstrap.min.css?3" rel="stylesheet">
<link href="/css/telegram.css?236" rel="stylesheet" media="screen">
<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="active"><a href="/api">API</a></li>
<li class=""><a href="/mtproto">Protocol</a></li>
<li class=""><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="/api/layers" >Layers</a></li></ul></div>
<h1 id="dev_page_title">Layers</h1>
<div id="dev_page_content"><!-- scroll_nav -->
<p>Below you will find information on schema changes. For more details on the use of layers, see <a href="/api/invoking#layers">Invoking API methods</a>.</p>
<h3><a class="anchor" href="#layer-170" id="layer-170" name="layer-170"><i class="anchor-icon"></i></a><a href="/schema?layer=170">Layer 170</a></h3>
<p>To view all the changes since the last update, start reading the changelog @ <a href="#layer-159">Layer 159</a>.</p>
<p>Most importantly, the following detailed articles were added:</p>
<ul>
<li><a href="/api/stories">Working with stories »</a></li>
<li><a href="/api/boost">Working with boosts »</a></li>
<li><a href="/api/giveaways">Working with giveaways »</a></li>
<li><a href="/api/colors">Working with accent colors »</a></li>
<li><a href="/api/recommend">Working with the recommendation system »</a></li>
<li><a href="/api/action-bar">Working with the action bar »</a></li>
<li><a href="/api/contacts">Working with contacts »</a></li>
<li><a href="/api/block">Working with the blocklist »</a></li>
<li><a href="/api/nearby">Working with geochats »</a></li>
<li><a href="/api/privacy">Working with privacy settings »</a></li>
<li><a href="/api/takeout">Working with the takeout API »</a></li>
<li><a href="/api/saved-messages">Working with saved messages »</a></li>
</ul>
<p>Also added documentation for <a href="/api/files#streamed-uploads">streamed uploads</a> and improved the docs for <a href="/api/invoking#sequential-requests">method queue</a>, <a href="/mtproto/mtproto-transports">quick ACKs</a> and <a href="/mtproto/description#message-sequence-number-msg-seqno">content-related messages</a>.</p>
<p>The <a href="/api/errors#error-database">RPC error database »</a> was also updated.</p>
<p>The following new deep links were added:</p>
<ul>
<li><a href="/api/links#story-links">Story links »</a></li>
<li><a href="/api/links#boost-links">Boost links »</a></li>
<li><a href="/api/links#mini-app-links">Direct mini app links »</a></li>
<li><a href="/api/links#premium-giftcode-links">Premium giftcode links »</a></li>
<li><a href="/api/links#premium-multigift-links">Premium multigift links »</a></li>
</ul>
<p>This layer introduces the <a href="/api/saved-messages">saved messages dialog list and several other saved messages improvements »</a>!</p>
<h4><a class="anchor" href="#schema-changes" id="schema-changes" name="schema-changes"><i class="anchor-icon"></i></a>Schema changes</h4>
<h5><a class="anchor" href="#new-methods" id="new-methods" name="new-methods"><i class="anchor-icon"></i></a>New Methods</h5>
<ul>
<li>Added <a href="/method/messages.getSavedDialogs">messages.getSavedDialogs</a> - Returns the current saved dialog list, see <a href="/api/saved-messages">here »</a> for more info.</li>
<li>Added <a href="/method/messages.getSavedHistory">messages.getSavedHistory</a> - Returns <a href="/api/saved-messages">saved messages »</a> forwarded from a specific peer</li>
<li>Added <a href="/method/messages.deleteSavedHistory">messages.deleteSavedHistory</a> - Deletes messages forwarded from a specific peer to <a href="/api/saved-messages">saved messages »</a>.</li>
<li>Added <a href="/method/messages.getPinnedSavedDialogs">messages.getPinnedSavedDialogs</a> - Get pinned <a href="/api/saved-messages">saved dialogs, see here »</a> for more info.</li>
<li>Added <a href="/method/messages.toggleSavedDialogPin">messages.toggleSavedDialogPin</a> - Pin or unpin a <a href="/api/saved-messages">saved message dialog »</a>.</li>
<li>Added <a href="/method/messages.reorderPinnedSavedDialogs">messages.reorderPinnedSavedDialogs</a> - Reorder pinned <a href="/api/saved-messages">saved message dialogs »</a>.</li>
</ul>
<h5><a class="anchor" href="#changed-methods" id="changed-methods" name="changed-methods"><i class="anchor-icon"></i></a>Changed Methods</h5>
<ul>
<li>Added <strong>saved_peer_id</strong> parameter in <a href="/method/messages.search">messages.search</a></li>
<li>Added <strong>saved_peer_id</strong> parameter in <a href="/method/messages.getSearchCounters">messages.getSearchCounters</a></li>
<li>Added <strong>flags</strong>, <strong>saved_peer_id</strong> parameters in <a href="/method/messages.getSearchResultsCalendar">messages.getSearchResultsCalendar</a></li>
<li>Added <strong>flags</strong>, <strong>saved_peer_id</strong> parameters in <a href="/method/messages.getSearchResultsPositions">messages.getSearchResultsPositions</a></li>
</ul>
<h5><a class="anchor" href="#new-constructors" id="new-constructors" name="new-constructors"><i class="anchor-icon"></i></a>New Constructors</h5>
<ul>
<li>Added <a href="/constructor/savedDialog">savedDialog</a> - Represents a <a href="/api/saved-messages">saved dialog »</a>.</li>
<li>Added <a href="/constructor/updateSavedDialogPinned">updateSavedDialogPinned</a> - A <a href="/api/saved-messages">saved message dialog</a> was pinned/unpinned</li>
<li>Added <a href="/constructor/updatePinnedSavedDialogs">updatePinnedSavedDialogs</a> - <a href="/api/saved-messages">Pinned saved dialogs »</a> were updated</li>
<li>Added <a href="/constructor/messages.savedDialogs">messages.savedDialogs</a> - Represents some <a href="/api/saved-messages">saved message dialogs »</a>.</li>
<li>Added <a href="/constructor/messages.savedDialogsSlice">messages.savedDialogsSlice</a> - Incomplete list of <a href="/api/saved-messages">saved message dialogs »</a> with messages and auxiliary data.</li>
<li>Added <a href="/constructor/messages.savedDialogsNotModified">messages.savedDialogsNotModified</a> - The saved dialogs haven't changed</li>
</ul>
<h5><a class="anchor" href="#changed-constructors" id="changed-constructors" name="changed-constructors"><i class="anchor-icon"></i></a>Changed Constructors</h5>
<ul>
<li>Added <strong>saved_peer_id</strong> parameter in <a href="/constructor/message">message</a></li>
<li>Added <strong>saved_out</strong>, <strong>saved_from_id</strong>, <strong>saved_from_name</strong>, <strong>saved_date</strong> parameters in <a href="/constructor/messageFwdHeader">messageFwdHeader</a></li>
</ul>
<h4><a class="anchor" href="#schema" id="schema" name="schema"><i class="anchor-icon"></i></a>Schema</h4>
<div><pre><code><a href="/constructor/message">message</a>#76bec211 flags:<a href="/type/%23">#</a> out:flags.1?<a href="/constructor/true">true</a> mentioned:flags.4?<a href="/constructor/true">true</a> media_unread:flags.5?<a href="/constructor/true">true</a> silent:flags.13?<a href="/constructor/true">true</a> post:flags.14?<a href="/constructor/true">true</a> from_scheduled:flags.18?<a href="/constructor/true">true</a> legacy:flags.19?<a href="/constructor/true">true</a> edit_hide:flags.21?<a href="/constructor/true">true</a> pinned:flags.24?<a href="/constructor/true">true</a> noforwards:flags.26?<a href="/constructor/true">true</a> invert_media:flags.27?<a href="/constructor/true">true</a> 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> saved_peer_id:flags.28?<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>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; 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> reactions:flags.20?<a href="/type/MessageReactions">MessageReactions</a> restriction_reason:flags.22?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/RestrictionReason">RestrictionReason</a>&gt; ttl_period:flags.25?<a href="/type/int">int</a> = <a href="/type/Message">Message</a>;
<a href="/constructor/messageFwdHeader">messageFwdHeader</a>#4e4df4bb flags:<a href="/type/%23">#</a> imported:flags.7?<a href="/constructor/true">true</a> saved_out:flags.11?<a href="/constructor/true">true</a> from_id:flags.0?<a href="/type/Peer">Peer</a> from_name:flags.5?<a href="/type/string">string</a> date:<a href="/type/int">int</a> channel_post:flags.2?<a href="/type/int">int</a> post_author:flags.3?<a href="/type/string">string</a> saved_from_peer:flags.4?<a href="/type/Peer">Peer</a> saved_from_msg_id:flags.4?<a href="/type/int">int</a> saved_from_id:flags.8?<a href="/type/Peer">Peer</a> saved_from_name:flags.9?<a href="/type/string">string</a> saved_date:flags.10?<a href="/type/int">int</a> psa_type:flags.6?<a href="/type/string">string</a> = <a href="/type/MessageFwdHeader">MessageFwdHeader</a>;<br>
<a href="/constructor/savedDialog">savedDialog</a>#bd87cb6c flags:<a href="/type/%23">#</a> pinned:flags.2?<a href="/constructor/true">true</a> peer:<a href="/type/Peer">Peer</a> top_message:<a href="/type/int">int</a> = <a href="/type/SavedDialog">SavedDialog</a>;<br>
<a href="/constructor/updateSavedDialogPinned">updateSavedDialogPinned</a>#aeaf9e74 flags:<a href="/type/%23">#</a> pinned:flags.0?<a href="/constructor/true">true</a> peer:<a href="/type/DialogPeer">DialogPeer</a> = <a href="/type/Update">Update</a>;
<a href="/constructor/updatePinnedSavedDialogs">updatePinnedSavedDialogs</a>#686c85a6 flags:<a href="/type/%23">#</a> order:flags.0?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/DialogPeer">DialogPeer</a>&gt; = <a href="/type/Update">Update</a>;<br>
<a href="/constructor/messages.savedDialogs">messages.savedDialogs</a>#f83ae221 dialogs:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/SavedDialog">SavedDialog</a>&gt; messages:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Message">Message</a>&gt; chats:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Chat">Chat</a>&gt; users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; = <a href="/type/messages.SavedDialogs">messages.SavedDialogs</a>;
<a href="/constructor/messages.savedDialogsSlice">messages.savedDialogsSlice</a>#44ba9dd9 count:<a href="/type/int">int</a> dialogs:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/SavedDialog">SavedDialog</a>&gt; messages:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Message">Message</a>&gt; chats:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Chat">Chat</a>&gt; users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; = <a href="/type/messages.SavedDialogs">messages.SavedDialogs</a>;
<a href="/constructor/messages.savedDialogsNotModified">messages.savedDialogsNotModified</a>#c01f6fe8 count:<a href="/type/int">int</a> = <a href="/type/messages.SavedDialogs">messages.SavedDialogs</a>;<br>
---functions---<br>
<a href="/method/messages.search">messages.search</a>#a7b4e929 flags:<a href="/type/%23">#</a> peer:<a href="/type/InputPeer">InputPeer</a> q:<a href="/type/string">string</a> from_id:flags.0?<a href="/type/InputPeer">InputPeer</a> saved_peer_id:flags.2?<a href="/type/InputPeer">InputPeer</a> top_msg_id:flags.1?<a href="/type/int">int</a> filter:<a href="/type/MessagesFilter">MessagesFilter</a> min_date:<a href="/type/int">int</a> max_date:<a href="/type/int">int</a> offset_id:<a href="/type/int">int</a> add_offset:<a href="/type/int">int</a> limit:<a href="/type/int">int</a> max_id:<a href="/type/int">int</a> min_id:<a href="/type/int">int</a> hash:<a href="/type/long">long</a> = <a href="/type/messages.Messages">messages.Messages</a>;
<a href="/method/messages.getSearchCounters">messages.getSearchCounters</a>#1bbcf300 flags:<a href="/type/%23">#</a> peer:<a href="/type/InputPeer">InputPeer</a> saved_peer_id:flags.2?<a href="/type/InputPeer">InputPeer</a> top_msg_id:flags.0?<a href="/type/int">int</a> filters:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessagesFilter">MessagesFilter</a>&gt; = <a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/messages.SearchCounter">messages.SearchCounter</a>&gt;;
<a href="/method/messages.getSearchResultsCalendar">messages.getSearchResultsCalendar</a>#6aa3f6bd flags:<a href="/type/%23">#</a> peer:<a href="/type/InputPeer">InputPeer</a> saved_peer_id:flags.2?<a href="/type/InputPeer">InputPeer</a> filter:<a href="/type/MessagesFilter">MessagesFilter</a> offset_id:<a href="/type/int">int</a> offset_date:<a href="/type/int">int</a> = <a href="/type/messages.SearchResultsCalendar">messages.SearchResultsCalendar</a>;
<a href="/method/messages.getSearchResultsPositions">messages.getSearchResultsPositions</a>#9c7f2f10 flags:<a href="/type/%23">#</a> peer:<a href="/type/InputPeer">InputPeer</a> saved_peer_id:flags.2?<a href="/type/InputPeer">InputPeer</a> filter:<a href="/type/MessagesFilter">MessagesFilter</a> offset_id:<a href="/type/int">int</a> limit:<a href="/type/int">int</a> = <a href="/type/messages.SearchResultsPositions">messages.SearchResultsPositions</a>;
<a href="/method/messages.getSavedDialogs">messages.getSavedDialogs</a>#5381d21a flags:<a href="/type/%23">#</a> exclude_pinned:flags.0?<a href="/constructor/true">true</a> offset_date:<a href="/type/int">int</a> offset_id:<a href="/type/int">int</a> offset_peer:<a href="/type/InputPeer">InputPeer</a> limit:<a href="/type/int">int</a> hash:<a href="/type/long">long</a> = <a href="/type/messages.SavedDialogs">messages.SavedDialogs</a>;
<a href="/method/messages.getSavedHistory">messages.getSavedHistory</a>#3d9a414d peer:<a href="/type/InputPeer">InputPeer</a> offset_id:<a href="/type/int">int</a> offset_date:<a href="/type/int">int</a> add_offset:<a href="/type/int">int</a> limit:<a href="/type/int">int</a> max_id:<a href="/type/int">int</a> min_id:<a href="/type/int">int</a> hash:<a href="/type/long">long</a> = <a href="/type/messages.Messages">messages.Messages</a>;
<a href="/method/messages.deleteSavedHistory">messages.deleteSavedHistory</a>#6e98102b flags:<a href="/type/%23">#</a> peer:<a href="/type/InputPeer">InputPeer</a> max_id:<a href="/type/int">int</a> min_date:flags.2?<a href="/type/int">int</a> max_date:flags.3?<a href="/type/int">int</a> = <a href="/type/messages.AffectedHistory">messages.AffectedHistory</a>;
<a href="/method/messages.getPinnedSavedDialogs">messages.getPinnedSavedDialogs</a>#d63d94e0 = <a href="/type/messages.SavedDialogs">messages.SavedDialogs</a>;
<a href="/method/messages.toggleSavedDialogPin">messages.toggleSavedDialogPin</a>#ac81bbde flags:<a href="/type/%23">#</a> pinned:flags.0?<a href="/constructor/true">true</a> peer:<a href="/type/InputDialogPeer">InputDialogPeer</a> = <a href="/type/Bool">Bool</a>;
<a href="/method/messages.reorderPinnedSavedDialogs">messages.reorderPinnedSavedDialogs</a>#8b716587 flags:<a href="/type/%23">#</a> force:flags.0?<a href="/constructor/true">true</a> order:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InputDialogPeer">InputDialogPeer</a>&gt; = <a href="/type/Bool">Bool</a>;<br></code></pre></div>
<h3><a class="anchor" href="#layer-169" id="layer-169" name="layer-169"><i class="anchor-icon"></i></a><a href="/schema?layer=169">Layer 169</a></h3>
<p>Allow requesting and sending more than one peer using <a href="/constructor/keyboardButtonRequestPeer">keyboardButtonRequestPeer</a>.</p>
<h4><a class="anchor" href="#schema-changes" id="schema-changes" name="schema-changes"><i class="anchor-icon"></i></a>Schema changes</h4>
<h5><a class="anchor" href="#changed-methods" id="changed-methods" name="changed-methods"><i class="anchor-icon"></i></a>Changed Methods</h5>
<ul>
<li>Added <strong>requested_peers</strong> parameter, removed <strong>requested_peer</strong> parameter in <a href="/method/messages.sendBotRequestedPeer">messages.sendBotRequestedPeer</a></li>
</ul>
<h5><a class="anchor" href="#changed-constructors" id="changed-constructors" name="changed-constructors"><i class="anchor-icon"></i></a>Changed Constructors</h5>
<ul>
<li>Added <strong>peers</strong> parameter, removed <strong>peer</strong> parameter in <a href="/constructor/messageActionRequestedPeer">messageActionRequestedPeer</a></li>
<li>Added <strong>max_quantity</strong> parameter in <a href="/constructor/keyboardButtonRequestPeer">keyboardButtonRequestPeer</a></li>
</ul>
<h4><a class="anchor" href="#schema" id="schema" name="schema"><i class="anchor-icon"></i></a>Schema</h4>
<div><pre><code><a href="/constructor/messageActionRequestedPeer">messageActionRequestedPeer</a>#31518e9b button_id:<a href="/type/int">int</a> peers:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Peer">Peer</a>&gt; = <a href="/type/MessageAction">MessageAction</a>;<br>
<a href="/constructor/keyboardButtonRequestPeer">keyboardButtonRequestPeer</a>#53d7bfd8 text:<a href="/type/string">string</a> button_id:<a href="/type/int">int</a> peer_type:<a href="/type/RequestPeerType">RequestPeerType</a> max_quantity:<a href="/type/int">int</a> = <a href="/type/KeyboardButton">KeyboardButton</a>;<br>
---functions---<br>
<a href="/method/messages.sendBotRequestedPeer">messages.sendBotRequestedPeer</a>#91b2d060 peer:<a href="/type/InputPeer">InputPeer</a> msg_id:<a href="/type/int">int</a> button_id:<a href="/type/int">int</a> requested_peers:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InputPeer">InputPeer</a>&gt; = <a href="/type/Updates">Updates</a>;<br></code></pre></div>
<h3><a class="anchor" href="#layer-168" id="layer-168" name="layer-168"><i class="anchor-icon"></i></a><a href="/schema?layer=168">Layer 168</a></h3>
<p>Added support for <a href="/api/emoji-status">emoji statuses</a>, <a href="/api/wallpapers">wallpapers</a> and <a href="/api/colors">profile color palettes</a> in channels, added support for custom prizes and public winners in <a href="/api/giveaways">giveaways</a> through <code>prize_description</code> and <code>winners_are_visible</code>+<a href="/constructor/messageMediaGiveawayResults">messageMediaGiveawayResults</a>, <a href="/api/stories#channel-posts">channel post embedding in stories</a> and a new <a href="/method/stories.getStoryReactionsList">stories.getStoryReactionsList</a> method to fetch reaction and interactions for channel stories and improved pagination in <a href="/method/stats.getMessagePublicForwards">stats.getMessagePublicForwards</a>.</p>
<p>Also, bots now receive events about <a href="/api/reactions">reactions</a>.</p>
<h4><a class="anchor" href="#schema-changes" id="schema-changes" name="schema-changes"><i class="anchor-icon"></i></a>Schema changes</h4>
<h5><a class="anchor" href="#new-methods" id="new-methods" name="new-methods"><i class="anchor-icon"></i></a>New Methods</h5>
<ul>
<li>Added <a href="/method/stories.getStoryReactionsList">stories.getStoryReactionsList</a> - Get the <a href="/api/reactions">reaction</a> and interaction list of a <a href="/api/stories">story</a> posted to a channel, along with the sender of each reaction.</li>
<li>Added <a href="/method/channels.updateEmojiStatus">channels.updateEmojiStatus</a> - Set an <a href="/api/emoji-status">emoji status</a> for a channel.</li>
<li>Added <a href="/method/account.getChannelDefaultEmojiStatuses">account.getChannelDefaultEmojiStatuses</a> - Get a list of default suggested <a href="/api/emoji-status">channel emoji statuses</a>.</li>
<li>Added <a href="/method/account.getChannelRestrictedStatusEmojis">account.getChannelRestrictedStatusEmojis</a> - Returns fetch the full list of <a href="/api/custom-emoji">custom emoji IDs »</a> that cannot be used in <a href="/api/emoji-status">channel emoji statuses »</a>.</li>
</ul>
<h5><a class="anchor" href="#changed-methods" id="changed-methods" name="changed-methods"><i class="anchor-icon"></i></a>Changed Methods</h5>
<ul>
<li>Changed type of <a href="/method/stats.getMessagePublicForwards">stats.getMessagePublicForwards</a> from <strong>messages.Messages</strong> to <strong>stats.PublicForwards</strong></li>
<li>Added <strong>offset</strong> parameter, removed <strong>offset_rate</strong>, <strong>offset_peer</strong>, <strong>offset_id</strong> parameters in <a href="/method/stats.getMessagePublicForwards">stats.getMessagePublicForwards</a></li>
<li>Added <strong>forwards_first</strong> parameter in <a href="/method/stories.getStoryViewsList">stories.getStoryViewsList</a></li>
<li>Added <strong>for_profile</strong> parameter, changed type of <strong>color</strong> from <strong>int</strong> to <strong>flags.2?int</strong> in <a href="/method/channels.updateColor">channels.updateColor</a></li>
</ul>
<h5><a class="anchor" href="#deleted-methods" id="deleted-methods" name="deleted-methods"><i class="anchor-icon"></i></a>Deleted Methods</h5>
<ul>
<li>Removed help.getAppChangelog</li>
</ul>
<h5><a class="anchor" href="#new-constructors" id="new-constructors" name="new-constructors"><i class="anchor-icon"></i></a>New Constructors</h5>
<ul>
<li>Added <a href="/constructor/messageMediaGiveawayResults">messageMediaGiveawayResults</a> - A <a href="/api/giveaways">giveaway</a> with public winners has finished, this constructor contains info about the winners.</li>
<li>Added <a href="/constructor/storyReaction">storyReaction</a> - How a certain peer reacted to a story</li>
<li>Added <a href="/constructor/storyReactionPublicForward">storyReactionPublicForward</a> - A certain peer has forwarded the story as a message to a public chat or channel.</li>
<li>Added <a href="/constructor/storyReactionPublicRepost">storyReactionPublicRepost</a> - A certain peer has reposted the story.</li>
<li>Added <a href="/constructor/stories.storyReactionsList">stories.storyReactionsList</a> - List of peers that reacted to or intercated with a specific <a href="/api/stories">story</a></li>
<li>Added <a href="/constructor/storyViewPublicForward">storyViewPublicForward</a> - A certain peer has forwarded the story as a message to a public chat or channel.</li>
<li>Added <a href="/constructor/storyViewPublicRepost">storyViewPublicRepost</a> - A certain peer has reposted the story.</li>
<li>Added <a href="/constructor/channelAdminLogEventActionChangePeerColor">channelAdminLogEventActionChangePeerColor</a> - The <a href="/api/colors">message accent color</a> was changed</li>
<li>Added <a href="/constructor/channelAdminLogEventActionChangeProfilePeerColor">channelAdminLogEventActionChangeProfilePeerColor</a> - The <a href="/api/colors">profile accent color</a> was changed</li>
<li>Added <a href="/constructor/channelAdminLogEventActionChangeWallpaper">channelAdminLogEventActionChangeWallpaper</a> - The <a href="/api/wallpapers">wallpaper</a> was changed</li>
<li>Added <a href="/constructor/channelAdminLogEventActionChangeEmojiStatus">channelAdminLogEventActionChangeEmojiStatus</a> - The <a href="/api/emoji-status">emoji status</a> was changed</li>
<li>Added <a href="/constructor/inputStickerSetEmojiChannelDefaultStatuses">inputStickerSetEmojiChannelDefaultStatuses</a> - Default <a href="/api/emoji-status">custom emoji status</a> stickerset for channel statuses</li>
<li>Added <a href="/constructor/mediaAreaChannelPost">mediaAreaChannelPost</a> - Represents a channel post.</li>
<li>Added <a href="/constructor/inputMediaAreaChannelPost">inputMediaAreaChannelPost</a> - Represents a channel post</li>
<li>Added <a href="/constructor/updateBotMessageReaction">updateBotMessageReaction</a> - Bots only: a user has changed their reactions on a message with public reactions.</li>
<li>Added <a href="/constructor/updateBotMessageReactions">updateBotMessageReactions</a> - Bots only: the number of reactions on a message with anonymous reactions has changed.</li>
</ul>
<h5><a class="anchor" href="#changed-constructors" id="changed-constructors" name="changed-constructors"><i class="anchor-icon"></i></a>Changed Constructors</h5>
<ul>
<li>Added <strong>video</strong>, <strong>round</strong>, <strong>voice</strong> parameters in <a href="/constructor/messageMediaDocument">messageMediaDocument</a></li>
<li>Added <strong>channel_emoji_status</strong> parameter in <a href="/constructor/stickerSet">stickerSet</a></li>
<li>Added <strong>profile_color</strong>, <strong>emoji_status</strong>, <strong>level</strong> parameters in <a href="/constructor/channel">channel</a></li>
<li>Added <strong>wallpaper</strong> parameter in <a href="/constructor/channelFull">channelFull</a></li>
<li>Added <strong>emoticon</strong> parameter in <a href="/constructor/wallPaperSettings">wallPaperSettings</a></li>
<li>Added <strong>views_count</strong>, <strong>forwards_count</strong>, <strong>chats</strong> parameters in <a href="/constructor/stories.storyViewsList">stories.storyViewsList</a></li>
<li>Added <strong>winners_are_visible</strong>, <strong>prize_description</strong> parameters in <a href="/constructor/inputStorePaymentPremiumGiveaway">inputStorePaymentPremiumGiveaway</a></li>
<li>Changed type of <strong>from_id</strong> from <strong>Peer</strong> to <strong>flags.4?Peer</strong> in <a href="/constructor/payments.checkedGiftCode">payments.checkedGiftCode</a></li>
<li>Added <strong>winners_are_visible</strong>, <strong>prize_description</strong> parameters in <a href="/constructor/messageMediaGiveaway">messageMediaGiveaway</a></li>
<li>Added <strong>currency</strong>, <strong>amount</strong>, <strong>crypto_currency</strong>, <strong>crypto_amount</strong> parameters in <a href="/constructor/messageActionGiftCode">messageActionGiftCode</a></li>
<li>Added <strong>channel_min_level</strong> parameter in <a href="/constructor/help.peerColorOption">help.peerColorOption</a></li>
</ul>
<h5><a class="anchor" href="#deleted-constructors" id="deleted-constructors" name="deleted-constructors"><i class="anchor-icon"></i></a>Deleted Constructors</h5>
<ul>
<li>Removed channelAdminLogEventActionChangeColor</li>
<li>Removed channelAdminLogEventActionChangeBackgroundEmoji</li>
</ul>
<h4><a class="anchor" href="#schema" id="schema" name="schema"><i class="anchor-icon"></i></a>Schema</h4>
<div><pre><code><a href="/constructor/messageMediaDocument">messageMediaDocument</a>#4cf4d72d flags:<a href="/type/%23">#</a> nopremium:flags.3?<a href="/constructor/true">true</a> spoiler:flags.4?<a href="/constructor/true">true</a> video:flags.6?<a href="/constructor/true">true</a> round:flags.7?<a href="/constructor/true">true</a> voice:flags.8?<a href="/constructor/true">true</a> document:flags.0?<a href="/type/Document">Document</a> alt_document:flags.5?<a href="/type/Document">Document</a> ttl_seconds:flags.2?<a href="/type/int">int</a> = <a href="/type/MessageMedia">MessageMedia</a>;<br>
<a href="/constructor/stickerSet">stickerSet</a>#2dd14edc flags:<a href="/type/%23">#</a> archived:flags.1?<a href="/constructor/true">true</a> official:flags.2?<a href="/constructor/true">true</a> masks:flags.3?<a href="/constructor/true">true</a> animated:flags.5?<a href="/constructor/true">true</a> videos:flags.6?<a href="/constructor/true">true</a> emojis:flags.7?<a href="/constructor/true">true</a> text_color:flags.9?<a href="/constructor/true">true</a> channel_emoji_status:flags.10?<a href="/constructor/true">true</a> installed_date:flags.0?<a href="/type/int">int</a> id:<a href="/type/long">long</a> access_hash:<a href="/type/long">long</a> title:<a href="/type/string">string</a> short_name:<a href="/type/string">string</a> thumbs:flags.4?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/PhotoSize">PhotoSize</a>&gt; thumb_dc_id:flags.4?<a href="/type/int">int</a> thumb_version:flags.4?<a href="/type/int">int</a> thumb_document_id:flags.8?<a href="/type/long">long</a> count:<a href="/type/int">int</a> hash:<a href="/type/int">int</a> = <a href="/type/StickerSet">StickerSet</a>;<br>
<a href="/constructor/channel">channel</a>#0aadfc8f flags:<a href="/type/%23">#</a> creator:flags.0?<a href="/constructor/true">true</a> left:flags.2?<a href="/constructor/true">true</a> broadcast:flags.5?<a href="/constructor/true">true</a> verified:flags.7?<a href="/constructor/true">true</a> megagroup:flags.8?<a href="/constructor/true">true</a> restricted:flags.9?<a href="/constructor/true">true</a> signatures:flags.11?<a href="/constructor/true">true</a> min:flags.12?<a href="/constructor/true">true</a> scam:flags.19?<a href="/constructor/true">true</a> has_link:flags.20?<a href="/constructor/true">true</a> has_geo:flags.21?<a href="/constructor/true">true</a> slowmode_enabled:flags.22?<a href="/constructor/true">true</a> call_active:flags.23?<a href="/constructor/true">true</a> call_not_empty:flags.24?<a href="/constructor/true">true</a> fake:flags.25?<a href="/constructor/true">true</a> gigagroup:flags.26?<a href="/constructor/true">true</a> noforwards:flags.27?<a href="/constructor/true">true</a> join_to_send:flags.28?<a href="/constructor/true">true</a> join_request:flags.29?<a href="/constructor/true">true</a> forum:flags.30?<a href="/constructor/true">true</a> flags2:<a href="/type/%23">#</a> stories_hidden:flags2.1?<a href="/constructor/true">true</a> stories_hidden_min:flags2.2?<a href="/constructor/true">true</a> stories_unavailable:flags2.3?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> access_hash:flags.13?<a href="/type/long">long</a> title:<a href="/type/string">string</a> username:flags.6?<a href="/type/string">string</a> photo:<a href="/type/ChatPhoto">ChatPhoto</a> date:<a href="/type/int">int</a> restriction_reason:flags.9?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/RestrictionReason">RestrictionReason</a>&gt; admin_rights:flags.14?<a href="/type/ChatAdminRights">ChatAdminRights</a> banned_rights:flags.15?<a href="/type/ChatBannedRights">ChatBannedRights</a> default_banned_rights:flags.18?<a href="/type/ChatBannedRights">ChatBannedRights</a> participants_count:flags.17?<a href="/type/int">int</a> usernames:flags2.0?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Username">Username</a>&gt; stories_max_id:flags2.4?<a href="/type/int">int</a> color:flags2.7?<a href="/type/PeerColor">PeerColor</a> profile_color:flags2.8?<a href="/type/PeerColor">PeerColor</a> emoji_status:flags2.9?<a href="/type/EmojiStatus">EmojiStatus</a> level:flags2.10?<a href="/type/int">int</a> = <a href="/type/Chat">Chat</a>;
<a href="/constructor/channelFull">channelFull</a>#0f2bcb6f flags:<a href="/type/%23">#</a> can_view_participants:flags.3?<a href="/constructor/true">true</a> can_set_username:flags.6?<a href="/constructor/true">true</a> can_set_stickers:flags.7?<a href="/constructor/true">true</a> hidden_prehistory:flags.10?<a href="/constructor/true">true</a> can_set_location:flags.16?<a href="/constructor/true">true</a> has_scheduled:flags.19?<a href="/constructor/true">true</a> can_view_stats:flags.20?<a href="/constructor/true">true</a> blocked:flags.22?<a href="/constructor/true">true</a> flags2:<a href="/type/%23">#</a> can_delete_channel:flags2.0?<a href="/constructor/true">true</a> antispam:flags2.1?<a href="/constructor/true">true</a> participants_hidden:flags2.2?<a href="/constructor/true">true</a> translations_disabled:flags2.3?<a href="/constructor/true">true</a> stories_pinned_available:flags2.5?<a href="/constructor/true">true</a> view_forum_as_messages:flags2.6?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> about:<a href="/type/string">string</a> participants_count:flags.0?<a href="/type/int">int</a> admins_count:flags.1?<a href="/type/int">int</a> kicked_count:flags.2?<a href="/type/int">int</a> banned_count:flags.2?<a href="/type/int">int</a> online_count:flags.13?<a href="/type/int">int</a> read_inbox_max_id:<a href="/type/int">int</a> read_outbox_max_id:<a href="/type/int">int</a> unread_count:<a href="/type/int">int</a> chat_photo:<a href="/type/Photo">Photo</a> notify_settings:<a href="/type/PeerNotifySettings">PeerNotifySettings</a> exported_invite:flags.23?<a href="/type/ExportedChatInvite">ExportedChatInvite</a> bot_info:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/BotInfo">BotInfo</a>&gt; migrated_from_chat_id:flags.4?<a href="/type/long">long</a> migrated_from_max_id:flags.4?<a href="/type/int">int</a> pinned_msg_id:flags.5?<a href="/type/int">int</a> stickerset:flags.8?<a href="/type/StickerSet">StickerSet</a> available_min_id:flags.9?<a href="/type/int">int</a> folder_id:flags.11?<a href="/type/int">int</a> linked_chat_id:flags.14?<a href="/type/long">long</a> location:flags.15?<a href="/type/ChannelLocation">ChannelLocation</a> slowmode_seconds:flags.17?<a href="/type/int">int</a> slowmode_next_send_date:flags.18?<a href="/type/int">int</a> stats_dc:flags.12?<a href="/type/int">int</a> pts:<a href="/type/int">int</a> call:flags.21?<a href="/type/InputGroupCall">InputGroupCall</a> ttl_period:flags.24?<a href="/type/int">int</a> pending_suggestions:flags.25?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/string">string</a>&gt; groupcall_default_join_as:flags.26?<a href="/type/Peer">Peer</a> theme_emoticon:flags.27?<a href="/type/string">string</a> requests_pending:flags.28?<a href="/type/int">int</a> recent_requesters:flags.28?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/long">long</a>&gt; default_send_as:flags.29?<a href="/type/Peer">Peer</a> available_reactions:flags.30?<a href="/type/ChatReactions">ChatReactions</a> stories:flags2.4?<a href="/type/PeerStories">PeerStories</a> wallpaper:flags2.7?<a href="/type/WallPaper">WallPaper</a> = <a href="/type/ChatFull">ChatFull</a>;<br>
<a href="/constructor/wallPaperSettings">wallPaperSettings</a>#372efcd0 flags:<a href="/type/%23">#</a> blur:flags.1?<a href="/constructor/true">true</a> motion:flags.2?<a href="/constructor/true">true</a> background_color:flags.0?<a href="/type/int">int</a> second_background_color:flags.4?<a href="/type/int">int</a> third_background_color:flags.5?<a href="/type/int">int</a> fourth_background_color:flags.6?<a href="/type/int">int</a> intensity:flags.3?<a href="/type/int">int</a> rotation:flags.4?<a href="/type/int">int</a> emoticon:flags.7?<a href="/type/string">string</a> = <a href="/type/WallPaperSettings">WallPaperSettings</a>;<br>
<a href="/constructor/stories.storyViewsList">stories.storyViewsList</a>#59d78fc5 flags:<a href="/type/%23">#</a> count:<a href="/type/int">int</a> views_count:<a href="/type/int">int</a> forwards_count:<a href="/type/int">int</a> reactions_count:<a href="/type/int">int</a> views:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/StoryView">StoryView</a>&gt; chats:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Chat">Chat</a>&gt; users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; next_offset:flags.0?<a href="/type/string">string</a> = <a href="/type/stories.StoryViewsList">stories.StoryViewsList</a>;<br>
<a href="/constructor/inputStorePaymentPremiumGiveaway">inputStorePaymentPremiumGiveaway</a>#160544ca flags:<a href="/type/%23">#</a> only_new_subscribers:flags.0?<a href="/constructor/true">true</a> winners_are_visible:flags.3?<a href="/constructor/true">true</a> boost_peer:<a href="/type/InputPeer">InputPeer</a> additional_peers:flags.1?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InputPeer">InputPeer</a>&gt; countries_iso2:flags.2?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/string">string</a>&gt; prize_description:flags.4?<a href="/type/string">string</a> random_id:<a href="/type/long">long</a> until_date:<a href="/type/int">int</a> currency:<a href="/type/string">string</a> amount:<a href="/type/long">long</a> = <a href="/type/InputStorePaymentPurpose">InputStorePaymentPurpose</a>;<br>
<a href="/constructor/payments.checkedGiftCode">payments.checkedGiftCode</a>#284a1096 flags:<a href="/type/%23">#</a> via_giveaway:flags.2?<a href="/constructor/true">true</a> from_id:flags.4?<a href="/type/Peer">Peer</a> giveaway_msg_id:flags.3?<a href="/type/int">int</a> to_id:flags.0?<a href="/type/long">long</a> date:<a href="/type/int">int</a> months:<a href="/type/int">int</a> used_date:flags.1?<a href="/type/int">int</a> chats:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Chat">Chat</a>&gt; users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; = <a href="/type/payments.CheckedGiftCode">payments.CheckedGiftCode</a>;<br>
<a href="/constructor/messageMediaGiveaway">messageMediaGiveaway</a>#daad85b0 flags:<a href="/type/%23">#</a> only_new_subscribers:flags.0?<a href="/constructor/true">true</a> winners_are_visible:flags.2?<a href="/constructor/true">true</a> channels:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/long">long</a>&gt; countries_iso2:flags.1?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/string">string</a>&gt; prize_description:flags.3?<a href="/type/string">string</a> quantity:<a href="/type/int">int</a> months:<a href="/type/int">int</a> until_date:<a href="/type/int">int</a> = <a href="/type/MessageMedia">MessageMedia</a>;
<a href="/constructor/messageActionGiftCode">messageActionGiftCode</a>#678c2e09 flags:<a href="/type/%23">#</a> via_giveaway:flags.0?<a href="/constructor/true">true</a> unclaimed:flags.2?<a href="/constructor/true">true</a> boost_peer:flags.1?<a href="/type/Peer">Peer</a> months:<a href="/type/int">int</a> slug:<a href="/type/string">string</a> currency:flags.2?<a href="/type/string">string</a> amount:flags.2?<a href="/type/long">long</a> crypto_currency:flags.3?<a href="/type/string">string</a> crypto_amount:flags.3?<a href="/type/long">long</a> = <a href="/type/MessageAction">MessageAction</a>;<br>
<a href="/constructor/help.peerColorOption">help.peerColorOption</a>#ef8430ab flags:<a href="/type/%23">#</a> hidden:flags.0?<a href="/constructor/true">true</a> color_id:<a href="/type/int">int</a> colors:flags.1?<a href="/type/help.PeerColorSet">help.PeerColorSet</a> dark_colors:flags.2?<a href="/type/help.PeerColorSet">help.PeerColorSet</a> channel_min_level:flags.3?<a href="/type/int">int</a> = <a href="/type/help.PeerColorOption">help.PeerColorOption</a>;<br>
<a href="/constructor/messageMediaGiveawayResults">messageMediaGiveawayResults</a>#c6991068 flags:<a href="/type/%23">#</a> only_new_subscribers:flags.0?<a href="/constructor/true">true</a> refunded:flags.2?<a href="/constructor/true">true</a> channel_id:<a href="/type/long">long</a> additional_peers_count:flags.3?<a href="/type/int">int</a> launch_msg_id:<a href="/type/int">int</a> winners_count:<a href="/type/int">int</a> unclaimed_count:<a href="/type/int">int</a> winners:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/long">long</a>&gt; months:<a href="/type/int">int</a> prize_description:flags.1?<a href="/type/string">string</a> until_date:<a href="/type/int">int</a> = <a href="/type/MessageMedia">MessageMedia</a>;<br>
<a href="/constructor/storyReaction">storyReaction</a>#6090d6d5 peer_id:<a href="/type/Peer">Peer</a> date:<a href="/type/int">int</a> reaction:<a href="/type/Reaction">Reaction</a> = <a href="/type/StoryReaction">StoryReaction</a>;
<a href="/constructor/storyReactionPublicForward">storyReactionPublicForward</a>#bbab2643 message:<a href="/type/Message">Message</a> = <a href="/type/StoryReaction">StoryReaction</a>;
<a href="/constructor/storyReactionPublicRepost">storyReactionPublicRepost</a>#cfcd0f13 peer_id:<a href="/type/Peer">Peer</a> story:<a href="/type/StoryItem">StoryItem</a> = <a href="/type/StoryReaction">StoryReaction</a>;
<a href="/constructor/stories.storyReactionsList">stories.storyReactionsList</a>#aa5f789c flags:<a href="/type/%23">#</a> count:<a href="/type/int">int</a> reactions:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/StoryReaction">StoryReaction</a>&gt; chats:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Chat">Chat</a>&gt; users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; next_offset:flags.0?<a href="/type/string">string</a> = <a href="/type/stories.StoryReactionsList">stories.StoryReactionsList</a>;
<a href="/constructor/storyViewPublicForward">storyViewPublicForward</a>#9083670b flags:<a href="/type/%23">#</a> blocked:flags.0?<a href="/constructor/true">true</a> blocked_my_stories_from:flags.1?<a href="/constructor/true">true</a> message:<a href="/type/Message">Message</a> = <a href="/type/StoryView">StoryView</a>;
<a href="/constructor/storyViewPublicRepost">storyViewPublicRepost</a>#bd74cf49 flags:<a href="/type/%23">#</a> blocked:flags.0?<a href="/constructor/true">true</a> blocked_my_stories_from:flags.1?<a href="/constructor/true">true</a> peer_id:<a href="/type/Peer">Peer</a> story:<a href="/type/StoryItem">StoryItem</a> = <a href="/type/StoryView">StoryView</a>;<br>
<a href="/constructor/channelAdminLogEventActionChangePeerColor">channelAdminLogEventActionChangePeerColor</a>#5796e780 prev_value:<a href="/type/PeerColor">PeerColor</a> new_value:<a href="/type/PeerColor">PeerColor</a> = <a href="/type/ChannelAdminLogEventAction">ChannelAdminLogEventAction</a>;
<a href="/constructor/channelAdminLogEventActionChangeProfilePeerColor">channelAdminLogEventActionChangeProfilePeerColor</a>#5e477b25 prev_value:<a href="/type/PeerColor">PeerColor</a> new_value:<a href="/type/PeerColor">PeerColor</a> = <a href="/type/ChannelAdminLogEventAction">ChannelAdminLogEventAction</a>;
<a href="/constructor/channelAdminLogEventActionChangeWallpaper">channelAdminLogEventActionChangeWallpaper</a>#31bb5d52 prev_value:<a href="/type/WallPaper">WallPaper</a> new_value:<a href="/type/WallPaper">WallPaper</a> = <a href="/type/ChannelAdminLogEventAction">ChannelAdminLogEventAction</a>;
<a href="/constructor/channelAdminLogEventActionChangeEmojiStatus">channelAdminLogEventActionChangeEmojiStatus</a>#3ea9feb1 prev_value:<a href="/type/EmojiStatus">EmojiStatus</a> new_value:<a href="/type/EmojiStatus">EmojiStatus</a> = <a href="/type/ChannelAdminLogEventAction">ChannelAdminLogEventAction</a>;<br>
<a href="/constructor/inputStickerSetEmojiChannelDefaultStatuses">inputStickerSetEmojiChannelDefaultStatuses</a>#49748553 = <a href="/type/InputStickerSet">InputStickerSet</a>;<br>
<a href="/constructor/mediaAreaChannelPost">mediaAreaChannelPost</a>#770416af coordinates:<a href="/type/MediaAreaCoordinates">MediaAreaCoordinates</a> channel_id:<a href="/type/long">long</a> msg_id:<a href="/type/int">int</a> = <a href="/type/MediaArea">MediaArea</a>;<br>
<a href="/constructor/inputMediaAreaChannelPost">inputMediaAreaChannelPost</a>#2271f2bf coordinates:<a href="/type/MediaAreaCoordinates">MediaAreaCoordinates</a> channel:<a href="/type/InputChannel">InputChannel</a> msg_id:<a href="/type/int">int</a> = <a href="/type/MediaArea">MediaArea</a>;<br>
<a href="/constructor/updateBotMessageReaction">updateBotMessageReaction</a>#ac21d3ce peer:<a href="/type/Peer">Peer</a> msg_id:<a href="/type/int">int</a> date:<a href="/type/int">int</a> actor:<a href="/type/Peer">Peer</a> old_reactions:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Reaction">Reaction</a>&gt; new_reactions:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Reaction">Reaction</a>&gt; qts:<a href="/type/int">int</a> = <a href="/type/Update">Update</a>;
<a href="/constructor/updateBotMessageReactions">updateBotMessageReactions</a>#09cb7759 peer:<a href="/type/Peer">Peer</a> msg_id:<a href="/type/int">int</a> date:<a href="/type/int">int</a> reactions:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/ReactionCount">ReactionCount</a>&gt; qts:<a href="/type/int">int</a> = <a href="/type/Update">Update</a>;<br>
---functions---<br>
<a href="/method/stats.getMessagePublicForwards">stats.getMessagePublicForwards</a>#5f150144 channel:<a href="/type/InputChannel">InputChannel</a> msg_id:<a href="/type/int">int</a> offset:<a href="/type/string">string</a> limit:<a href="/type/int">int</a> = <a href="/type/stats.PublicForwards">stats.PublicForwards</a>;
<a href="/method/stories.getStoryViewsList">stories.getStoryViewsList</a>#7ed23c57 flags:<a href="/type/%23">#</a> just_contacts:flags.0?<a href="/constructor/true">true</a> reactions_first:flags.2?<a href="/constructor/true">true</a> forwards_first:flags.3?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> q:flags.1?<a href="/type/string">string</a> id:<a href="/type/int">int</a> offset:<a href="/type/string">string</a> limit:<a href="/type/int">int</a> = <a href="/type/stories.StoryViewsList">stories.StoryViewsList</a>;<br>
<a href="/method/channels.updateColor">channels.updateColor</a>#d8aa3671 flags:<a href="/type/%23">#</a> for_profile:flags.1?<a href="/constructor/true">true</a> channel:<a href="/type/InputChannel">InputChannel</a> color:flags.2?<a href="/type/int">int</a> background_emoji_id:flags.0?<a href="/type/long">long</a> = <a href="/type/Updates">Updates</a>;<br>
<a href="/method/stories.getStoryReactionsList">stories.getStoryReactionsList</a>#b9b2881f flags:<a href="/type/%23">#</a> forwards_first:flags.2?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> id:<a href="/type/int">int</a> reaction:flags.0?<a href="/type/Reaction">Reaction</a> offset:flags.1?<a href="/type/string">string</a> limit:<a href="/type/int">int</a> = <a href="/type/stories.StoryReactionsList">stories.StoryReactionsList</a>;<br>
<a href="/method/channels.updateEmojiStatus">channels.updateEmojiStatus</a>#f0d3e6a8 channel:<a href="/type/InputChannel">InputChannel</a> emoji_status:<a href="/type/EmojiStatus">EmojiStatus</a> = <a href="/type/Updates">Updates</a>;<br>
<a href="/method/account.getChannelDefaultEmojiStatuses">account.getChannelDefaultEmojiStatuses</a>#7727a7d5 hash:<a href="/type/long">long</a> = <a href="/type/account.EmojiStatuses">account.EmojiStatuses</a>;
<a href="/method/account.getChannelRestrictedStatusEmojis">account.getChannelRestrictedStatusEmojis</a>#35a9e0d5 hash:<a href="/type/long">long</a> = <a href="/type/EmojiList">EmojiList</a>;<br></code></pre></div>
<h3><a class="anchor" href="#layer-167" id="layer-167" name="layer-167"><i class="anchor-icon"></i></a><a href="/schema?layer=167">Layer 167</a></h3>
<p>Added support for <a href="/api/stories#reposting-stories">reposting stories</a>, <a href="/api/colors">profile colors</a>, <a href="/api/stories#statistics">story statistics</a>, <a href="/api/recommend">channel recommendations</a>, setting a <a href="/api/wallpapers#installing-wallpapers-in-a-specific-chat-or-channel">wallpaper on both sides of a chat</a>, <a href="/method/channels.toggleViewForumAsMessages">syncing the "View as messages" setting</a> for forums, <a href="/api/transcribe">audio transcription</a> for non-<a href="/api/premium">Premium</a> users, improved quotes, improved <a href="/api/sponsored-messages">sponsored messages</a> and improved methods for <a href="/api/custom-emoji">custom emoji stickersets</a>.</p>
<h4><a class="anchor" href="#schema-changes" id="schema-changes" name="schema-changes"><i class="anchor-icon"></i></a>Schema changes</h4>
<h5><a class="anchor" href="#new-methods" id="new-methods" name="new-methods"><i class="anchor-icon"></i></a>New Methods</h5>
<ul>
<li>Added <a href="/method/channels.toggleViewForumAsMessages">channels.toggleViewForumAsMessages</a> - Users may also choose to display messages from all topics of a <a href="/api/forum">forum</a> as if they were sent to a normal group, using a "View as messages" setting in the local client: this setting only affects the current account, and is synced to other logged in sessions using this method.</li>
<li>Added <a href="/method/messages.searchEmojiStickerSets">messages.searchEmojiStickerSets</a> - Search for <a href="/api/custom-emoji">custom emoji stickersets »</a></li>
<li>Added <a href="/method/channels.getChannelRecommendations">channels.getChannelRecommendations</a> - Obtain a list of similarly themed public channels, selected based on similarities in their <strong>subscriber bases</strong>.</li>
<li>Added <a href="/method/stats.getStoryStats">stats.getStoryStats</a> - Get <a href="/api/stats">statistics</a> for a certain <a href="/api/stories">story</a>.</li>
<li>Added <a href="/method/stats.getStoryPublicForwards">stats.getStoryPublicForwards</a> - Obtain forwards of a <a href="/api/stories">story</a> as a message to public chats and reposts by public channels.</li>
<li>Added <a href="/method/help.getPeerColors">help.getPeerColors</a> - Get the set of <a href="/api/colors">accent color palettes »</a> that can be used for message accents.</li>
<li>Added <a href="/method/help.getPeerProfileColors">help.getPeerProfileColors</a> - Get the set of <a href="/api/colors">accent color palettes »</a> that can be used in profile page backgrounds.</li>
</ul>
<h5><a class="anchor" href="#changed-methods" id="changed-methods" name="changed-methods"><i class="anchor-icon"></i></a>Changed Methods</h5>
<ul>
<li>Added <strong>for_both</strong>, <strong>revert</strong> parameters in <a href="/method/messages.setChatWallPaper">messages.setChatWallPaper</a></li>
<li>Added <strong>fwd_modified</strong>, <strong>fwd_from_id</strong>, <strong>fwd_from_story</strong> parameters in <a href="/method/stories.sendStory">stories.sendStory</a></li>
<li>Added <strong>for_profile</strong> parameter, changed type of <strong>color</strong> from <strong>int</strong> to <strong>flags.2?int</strong> in <a href="/method/account.updateColor">account.updateColor</a></li>
</ul>
<h5><a class="anchor" href="#new-constructors" id="new-constructors" name="new-constructors"><i class="anchor-icon"></i></a>New Constructors</h5>
<ul>
<li>Added <a href="/constructor/updateChannelViewForumAsMessages">updateChannelViewForumAsMessages</a> - Users may also choose to display messages from all topics as if they were sent to a normal group, using a "View as messages" setting in the local client. </li>
<li>Added <a href="/constructor/messageActionGiveawayResults">messageActionGiveawayResults</a> - A <a href="/api/giveaways">giveaway</a> has ended.</li>
<li>Added <a href="/constructor/updatePeerWallpaper">updatePeerWallpaper</a> - The <a href="/api/wallpapers">wallpaper »</a> of a given peer has changed.</li>
<li>Added <a href="/constructor/storyFwdHeader">storyFwdHeader</a> - Contains info about the original poster of a reposted story.</li>
<li>Added <a href="/constructor/postInteractionCountersMessage">postInteractionCountersMessage</a> - Interaction counters for a message.</li>
<li>Added <a href="/constructor/postInteractionCountersStory">postInteractionCountersStory</a> - Interaction counters for a story.</li>
<li>Added <a href="/constructor/stats.storyStats">stats.storyStats</a> - Contains <a href="/api/stats">statistics</a> about a <a href="/api/stories">story</a>.</li>
<li>Added <a href="/constructor/publicForwardMessage">publicForwardMessage</a> - Contains info about a forward of a <a href="/api/stories">story</a> as a message.</li>
<li>Added <a href="/constructor/publicForwardStory">publicForwardStory</a> - Contains info about a forward of a <a href="/api/stories">story</a> as a repost by a public channel.</li>
<li>Added <a href="/constructor/stats.publicForwards">stats.publicForwards</a> - Contains info about the forwards of a <a href="/api/stories">story</a> as a message to public chats and reposts by public channels.</li>
<li>Added <a href="/constructor/peerColor">peerColor</a> - Represents a <a href="/api/colors">color palette »</a>.</li>
<li>Added <a href="/constructor/help.peerColorSet">help.peerColorSet</a> - Represents a <a href="/api/colors">color palette that can be used in message accents »</a>.</li>
<li>Added <a href="/constructor/help.peerColorProfileSet">help.peerColorProfileSet</a> - Represents a <a href="/api/colors">color palette that can be used in profile pages »</a>.</li>
<li>Added <a href="/constructor/help.peerColorOption">help.peerColorOption</a> - Contains info about a <a href="/api/colors">color palette »</a>.</li>
<li>Added <a href="/constructor/help.peerColorsNotModified">help.peerColorsNotModified</a> - The list of color palettes has not changed.</li>
<li>Added <a href="/constructor/help.peerColors">help.peerColors</a> - Contains info about multiple <a href="/api/colors">color palettes »</a>.</li>
</ul>
<h5><a class="anchor" href="#changed-constructors" id="changed-constructors" name="changed-constructors"><i class="anchor-icon"></i></a>Changed Constructors</h5>
<ul>
<li>Added <strong>view_forum_as_messages</strong> parameter in <a href="/constructor/dialog">dialog</a></li>
<li>Added <strong>wallpaper_overridden</strong> parameter in <a href="/constructor/userFull">userFull</a></li>
<li>Added <strong>profile_color</strong> parameter, removed <strong>background_emoji_id</strong> parameter, changed type of <strong>color</strong> from <strong>flags2.7?int</strong> to <strong>flags2.8?PeerColor</strong> in <a href="/constructor/user">user</a></li>
<li>Removed <strong>background_emoji_id</strong> parameter, changed type of <strong>color</strong> from <strong>flags2.6?int</strong> to <strong>flags2.7?PeerColor</strong> in <a href="/constructor/channel">channel</a></li>
<li>Added <strong>view_forum_as_messages</strong> parameter in <a href="/constructor/channelFull">channelFull</a></li>
<li>Added <strong>reactions_per_post</strong>, <strong>views_per_story</strong>, <strong>shares_per_story</strong>, <strong>reactions_per_story</strong>, <strong>reactions_by_emotion_graph</strong>, <strong>story_interactions_graph</strong>, <strong>story_reactions_by_emotion_graph</strong>, <strong>recent_posts_interactions</strong> parameters, removed <strong>recent_message_interactions</strong> parameter in <a href="/constructor/stats.broadcastStats">stats.broadcastStats</a></li>
<li>Added <strong>quote_offset</strong> parameter in <a href="/constructor/messageReplyHeader">messageReplyHeader</a></li>
<li>Added <strong>reactions_by_emotion_graph</strong> parameter in <a href="/constructor/stats.messageStats">stats.messageStats</a></li>
<li>Added <strong>app</strong>, <strong>button_text</strong> parameters in <a href="/constructor/sponsoredMessage">sponsoredMessage</a></li>
<li>Added <strong>trial_remains_num</strong>, <strong>trial_remains_until_date</strong> parameters in <a href="/constructor/messages.transcribedAudio">messages.transcribedAudio</a></li>
<li>Added <strong>flags</strong>, <strong>same</strong>, <strong>for_both</strong> parameters in <a href="/constructor/messageActionSetChatWallPaper">messageActionSetChatWallPaper</a></li>
<li>Added <strong>fwd_from</strong> parameter in <a href="/constructor/storyItem">storyItem</a></li>
<li>Added <strong>quote_offset</strong> parameter in <a href="/constructor/inputReplyToMessage">inputReplyToMessage</a></li>
</ul>
<h5><a class="anchor" href="#deleted-constructors" id="deleted-constructors" name="deleted-constructors"><i class="anchor-icon"></i></a>Deleted Constructors</h5>
<ul>
<li>Removed messageInteractionCounters</li>
<li>Removed messageActionSetSameChatWallPaper</li>
</ul>
<h4><a class="anchor" href="#push-notification-changes" id="push-notification-changes" name="push-notification-changes"><i class="anchor-icon"></i></a>PUSH notification changes</h4>
<h5><a class="anchor" href="#new-push-notifications" id="new-push-notifications" name="new-push-notifications"><i class="anchor-icon"></i></a>New PUSH notifications</h5>
<ul>
<li>Added <a href="/api/push-updates#possible-notifications">CHANNEL_MESSAGE_GIVEAWAY</a> - <code>{1} posted a giveaway of {2}x {3}m Premium subscriptions</code></li>
<li>Added <a href="/api/push-updates#possible-notifications">CHAT_MESSAGE_GIVEAWAY</a> - <code>{1} sent a giveaway of {3}x {4}m Premium subscriptions to the group {2}</code></li>
<li>Added <a href="/api/push-updates#possible-notifications">CHAT_REACT_GIVEAWAY</a> - <code>{1} reacted {3} in group {2} to your giveaway</code></li>
<li>Added <a href="/api/push-updates#possible-notifications">MESSAGE_GIFTCODE</a> - <code>{1} sent you a Gift Code for {2} of Telegram Premium</code></li>
<li>Added <a href="/api/push-updates#possible-notifications">MESSAGE_GIVEAWAY</a> - <code>{1} sent you a giveaway of {2}x {3}m Premium subscriptions</code></li>
<li>Added <a href="/api/push-updates#possible-notifications">MESSAGE_SAME_WALLPAPER</a> - <code>{1} set a same wallpaper for this chat</code></li>
<li>Added <a href="/api/push-updates#possible-notifications">MESSAGE_WALLPAPER</a> - <code>{1} set a new wallpaper for this chat</code></li>
<li>Added <a href="/api/push-updates#possible-notifications">PINNED_GIVEAWAY</a> - <code>{1} pinned a giveaway</code></li>
<li>Added <a href="/api/push-updates#possible-notifications">REACT_GIVEAWAY</a> - <code>{1} reacted {2} to your giveaway</code></li>
</ul>
<h4><a class="anchor" href="#schema" id="schema" name="schema"><i class="anchor-icon"></i></a>Schema</h4>
<div><pre><code><a href="/constructor/dialog">dialog</a>#d58a08c6 flags:<a href="/type/%23">#</a> pinned:flags.2?<a href="/constructor/true">true</a> unread_mark:flags.3?<a href="/constructor/true">true</a> view_forum_as_messages:flags.6?<a href="/constructor/true">true</a> peer:<a href="/type/Peer">Peer</a> top_message:<a href="/type/int">int</a> read_inbox_max_id:<a href="/type/int">int</a> read_outbox_max_id:<a href="/type/int">int</a> unread_count:<a href="/type/int">int</a> unread_mentions_count:<a href="/type/int">int</a> unread_reactions_count:<a href="/type/int">int</a> notify_settings:<a href="/type/PeerNotifySettings">PeerNotifySettings</a> pts:flags.0?<a href="/type/int">int</a> draft:flags.1?<a href="/type/DraftMessage">DraftMessage</a> folder_id:flags.4?<a href="/type/int">int</a> ttl_period:flags.5?<a href="/type/int">int</a> = <a href="/type/Dialog">Dialog</a>;<br>
<a href="/constructor/userFull">userFull</a>#b9b12c6c flags:<a href="/type/%23">#</a> blocked:flags.0?<a href="/constructor/true">true</a> phone_calls_available:flags.4?<a href="/constructor/true">true</a> phone_calls_private:flags.5?<a href="/constructor/true">true</a> can_pin_message:flags.7?<a href="/constructor/true">true</a> has_scheduled:flags.12?<a href="/constructor/true">true</a> video_calls_available:flags.13?<a href="/constructor/true">true</a> voice_messages_forbidden:flags.20?<a href="/constructor/true">true</a> translations_disabled:flags.23?<a href="/constructor/true">true</a> stories_pinned_available:flags.26?<a href="/constructor/true">true</a> blocked_my_stories_from:flags.27?<a href="/constructor/true">true</a> wallpaper_overridden:flags.28?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> about:flags.1?<a href="/type/string">string</a> settings:<a href="/type/PeerSettings">PeerSettings</a> personal_photo:flags.21?<a href="/type/Photo">Photo</a> profile_photo:flags.2?<a href="/type/Photo">Photo</a> fallback_photo:flags.22?<a href="/type/Photo">Photo</a> notify_settings:<a href="/type/PeerNotifySettings">PeerNotifySettings</a> bot_info:flags.3?<a href="/type/BotInfo">BotInfo</a> pinned_msg_id:flags.6?<a href="/type/int">int</a> common_chats_count:<a href="/type/int">int</a> folder_id:flags.11?<a href="/type/int">int</a> ttl_period:flags.14?<a href="/type/int">int</a> theme_emoticon:flags.15?<a href="/type/string">string</a> private_forward_name:flags.16?<a href="/type/string">string</a> bot_group_admin_rights:flags.17?<a href="/type/ChatAdminRights">ChatAdminRights</a> bot_broadcast_admin_rights:flags.18?<a href="/type/ChatAdminRights">ChatAdminRights</a> premium_gifts:flags.19?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/PremiumGiftOption">PremiumGiftOption</a>&gt; wallpaper:flags.24?<a href="/type/WallPaper">WallPaper</a> stories:flags.25?<a href="/type/PeerStories">PeerStories</a> = <a href="/type/UserFull">UserFull</a>;
<a href="/constructor/user">user</a>#215c4438 flags:<a href="/type/%23">#</a> self:flags.10?<a href="/constructor/true">true</a> contact:flags.11?<a href="/constructor/true">true</a> mutual_contact:flags.12?<a href="/constructor/true">true</a> deleted:flags.13?<a href="/constructor/true">true</a> bot:flags.14?<a href="/constructor/true">true</a> bot_chat_history:flags.15?<a href="/constructor/true">true</a> bot_nochats:flags.16?<a href="/constructor/true">true</a> verified:flags.17?<a href="/constructor/true">true</a> restricted:flags.18?<a href="/constructor/true">true</a> min:flags.20?<a href="/constructor/true">true</a> bot_inline_geo:flags.21?<a href="/constructor/true">true</a> support:flags.23?<a href="/constructor/true">true</a> scam:flags.24?<a href="/constructor/true">true</a> apply_min_photo:flags.25?<a href="/constructor/true">true</a> fake:flags.26?<a href="/constructor/true">true</a> bot_attach_menu:flags.27?<a href="/constructor/true">true</a> premium:flags.28?<a href="/constructor/true">true</a> attach_menu_enabled:flags.29?<a href="/constructor/true">true</a> flags2:<a href="/type/%23">#</a> bot_can_edit:flags2.1?<a href="/constructor/true">true</a> close_friend:flags2.2?<a href="/constructor/true">true</a> stories_hidden:flags2.3?<a href="/constructor/true">true</a> stories_unavailable:flags2.4?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> access_hash:flags.0?<a href="/type/long">long</a> first_name:flags.1?<a href="/type/string">string</a> last_name:flags.2?<a href="/type/string">string</a> username:flags.3?<a href="/type/string">string</a> phone:flags.4?<a href="/type/string">string</a> photo:flags.5?<a href="/type/UserProfilePhoto">UserProfilePhoto</a> status:flags.6?<a href="/type/UserStatus">UserStatus</a> bot_info_version:flags.14?<a href="/type/int">int</a> restriction_reason:flags.18?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/RestrictionReason">RestrictionReason</a>&gt; bot_inline_placeholder:flags.19?<a href="/type/string">string</a> lang_code:flags.22?<a href="/type/string">string</a> emoji_status:flags.30?<a href="/type/EmojiStatus">EmojiStatus</a> usernames:flags2.0?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Username">Username</a>&gt; stories_max_id:flags2.5?<a href="/type/int">int</a> color:flags2.8?<a href="/type/PeerColor">PeerColor</a> profile_color:flags2.9?<a href="/type/PeerColor">PeerColor</a> = <a href="/type/User">User</a>;<br>
<a href="/constructor/channel">channel</a>#8e87ccd8 flags:<a href="/type/%23">#</a> creator:flags.0?<a href="/constructor/true">true</a> left:flags.2?<a href="/constructor/true">true</a> broadcast:flags.5?<a href="/constructor/true">true</a> verified:flags.7?<a href="/constructor/true">true</a> megagroup:flags.8?<a href="/constructor/true">true</a> restricted:flags.9?<a href="/constructor/true">true</a> signatures:flags.11?<a href="/constructor/true">true</a> min:flags.12?<a href="/constructor/true">true</a> scam:flags.19?<a href="/constructor/true">true</a> has_link:flags.20?<a href="/constructor/true">true</a> has_geo:flags.21?<a href="/constructor/true">true</a> slowmode_enabled:flags.22?<a href="/constructor/true">true</a> call_active:flags.23?<a href="/constructor/true">true</a> call_not_empty:flags.24?<a href="/constructor/true">true</a> fake:flags.25?<a href="/constructor/true">true</a> gigagroup:flags.26?<a href="/constructor/true">true</a> noforwards:flags.27?<a href="/constructor/true">true</a> join_to_send:flags.28?<a href="/constructor/true">true</a> join_request:flags.29?<a href="/constructor/true">true</a> forum:flags.30?<a href="/constructor/true">true</a> flags2:<a href="/type/%23">#</a> stories_hidden:flags2.1?<a href="/constructor/true">true</a> stories_hidden_min:flags2.2?<a href="/constructor/true">true</a> stories_unavailable:flags2.3?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> access_hash:flags.13?<a href="/type/long">long</a> title:<a href="/type/string">string</a> username:flags.6?<a href="/type/string">string</a> photo:<a href="/type/ChatPhoto">ChatPhoto</a> date:<a href="/type/int">int</a> restriction_reason:flags.9?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/RestrictionReason">RestrictionReason</a>&gt; admin_rights:flags.14?<a href="/type/ChatAdminRights">ChatAdminRights</a> banned_rights:flags.15?<a href="/type/ChatBannedRights">ChatBannedRights</a> default_banned_rights:flags.18?<a href="/type/ChatBannedRights">ChatBannedRights</a> participants_count:flags.17?<a href="/type/int">int</a> usernames:flags2.0?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Username">Username</a>&gt; stories_max_id:flags2.4?<a href="/type/int">int</a> color:flags2.7?<a href="/type/PeerColor">PeerColor</a> = <a href="/type/Chat">Chat</a>;
<a href="/constructor/channelFull">channelFull</a>#723027bd flags:<a href="/type/%23">#</a> can_view_participants:flags.3?<a href="/constructor/true">true</a> can_set_username:flags.6?<a href="/constructor/true">true</a> can_set_stickers:flags.7?<a href="/constructor/true">true</a> hidden_prehistory:flags.10?<a href="/constructor/true">true</a> can_set_location:flags.16?<a href="/constructor/true">true</a> has_scheduled:flags.19?<a href="/constructor/true">true</a> can_view_stats:flags.20?<a href="/constructor/true">true</a> blocked:flags.22?<a href="/constructor/true">true</a> flags2:<a href="/type/%23">#</a> can_delete_channel:flags2.0?<a href="/constructor/true">true</a> antispam:flags2.1?<a href="/constructor/true">true</a> participants_hidden:flags2.2?<a href="/constructor/true">true</a> translations_disabled:flags2.3?<a href="/constructor/true">true</a> stories_pinned_available:flags2.5?<a href="/constructor/true">true</a> view_forum_as_messages:flags2.6?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> about:<a href="/type/string">string</a> participants_count:flags.0?<a href="/type/int">int</a> admins_count:flags.1?<a href="/type/int">int</a> kicked_count:flags.2?<a href="/type/int">int</a> banned_count:flags.2?<a href="/type/int">int</a> online_count:flags.13?<a href="/type/int">int</a> read_inbox_max_id:<a href="/type/int">int</a> read_outbox_max_id:<a href="/type/int">int</a> unread_count:<a href="/type/int">int</a> chat_photo:<a href="/type/Photo">Photo</a> notify_settings:<a href="/type/PeerNotifySettings">PeerNotifySettings</a> exported_invite:flags.23?<a href="/type/ExportedChatInvite">ExportedChatInvite</a> bot_info:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/BotInfo">BotInfo</a>&gt; migrated_from_chat_id:flags.4?<a href="/type/long">long</a> migrated_from_max_id:flags.4?<a href="/type/int">int</a> pinned_msg_id:flags.5?<a href="/type/int">int</a> stickerset:flags.8?<a href="/type/StickerSet">StickerSet</a> available_min_id:flags.9?<a href="/type/int">int</a> folder_id:flags.11?<a href="/type/int">int</a> linked_chat_id:flags.14?<a href="/type/long">long</a> location:flags.15?<a href="/type/ChannelLocation">ChannelLocation</a> slowmode_seconds:flags.17?<a href="/type/int">int</a> slowmode_next_send_date:flags.18?<a href="/type/int">int</a> stats_dc:flags.12?<a href="/type/int">int</a> pts:<a href="/type/int">int</a> call:flags.21?<a href="/type/InputGroupCall">InputGroupCall</a> ttl_period:flags.24?<a href="/type/int">int</a> pending_suggestions:flags.25?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/string">string</a>&gt; groupcall_default_join_as:flags.26?<a href="/type/Peer">Peer</a> theme_emoticon:flags.27?<a href="/type/string">string</a> requests_pending:flags.28?<a href="/type/int">int</a> recent_requesters:flags.28?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/long">long</a>&gt; default_send_as:flags.29?<a href="/type/Peer">Peer</a> available_reactions:flags.30?<a href="/type/ChatReactions">ChatReactions</a> stories:flags2.4?<a href="/type/PeerStories">PeerStories</a> = <a href="/type/ChatFull">ChatFull</a>;<br>
<a href="/constructor/stats.broadcastStats">stats.broadcastStats</a>#396ca5fc period:<a href="/type/StatsDateRangeDays">StatsDateRangeDays</a> followers:<a href="/type/StatsAbsValueAndPrev">StatsAbsValueAndPrev</a> views_per_post:<a href="/type/StatsAbsValueAndPrev">StatsAbsValueAndPrev</a> shares_per_post:<a href="/type/StatsAbsValueAndPrev">StatsAbsValueAndPrev</a> reactions_per_post:<a href="/type/StatsAbsValueAndPrev">StatsAbsValueAndPrev</a> views_per_story:<a href="/type/StatsAbsValueAndPrev">StatsAbsValueAndPrev</a> shares_per_story:<a href="/type/StatsAbsValueAndPrev">StatsAbsValueAndPrev</a> reactions_per_story:<a href="/type/StatsAbsValueAndPrev">StatsAbsValueAndPrev</a> enabled_notifications:<a href="/type/StatsPercentValue">StatsPercentValue</a> growth_graph:<a href="/type/StatsGraph">StatsGraph</a> followers_graph:<a href="/type/StatsGraph">StatsGraph</a> mute_graph:<a href="/type/StatsGraph">StatsGraph</a> top_hours_graph:<a href="/type/StatsGraph">StatsGraph</a> interactions_graph:<a href="/type/StatsGraph">StatsGraph</a> iv_interactions_graph:<a href="/type/StatsGraph">StatsGraph</a> views_by_source_graph:<a href="/type/StatsGraph">StatsGraph</a> new_followers_by_source_graph:<a href="/type/StatsGraph">StatsGraph</a> languages_graph:<a href="/type/StatsGraph">StatsGraph</a> reactions_by_emotion_graph:<a href="/type/StatsGraph">StatsGraph</a> story_interactions_graph:<a href="/type/StatsGraph">StatsGraph</a> story_reactions_by_emotion_graph:<a href="/type/StatsGraph">StatsGraph</a> recent_posts_interactions:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/PostInteractionCounters">PostInteractionCounters</a>&gt; = <a href="/type/stats.BroadcastStats">stats.BroadcastStats</a>;<br>
<a href="/constructor/messageReplyHeader">messageReplyHeader</a>#afbc09db flags:<a href="/type/%23">#</a> reply_to_scheduled:flags.2?<a href="/constructor/true">true</a> forum_topic:flags.3?<a href="/constructor/true">true</a> quote:flags.9?<a href="/constructor/true">true</a> reply_to_msg_id:flags.4?<a href="/type/int">int</a> reply_to_peer_id:flags.0?<a href="/type/Peer">Peer</a> reply_from:flags.5?<a href="/type/MessageFwdHeader">MessageFwdHeader</a> reply_media:flags.8?<a href="/type/MessageMedia">MessageMedia</a> reply_to_top_id:flags.1?<a href="/type/int">int</a> quote_text:flags.6?<a href="/type/string">string</a> quote_entities:flags.7?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; quote_offset:flags.10?<a href="/type/int">int</a> = <a href="/type/MessageReplyHeader">MessageReplyHeader</a>;<br>
<a href="/constructor/stats.messageStats">stats.messageStats</a>#7fe91c14 views_graph:<a href="/type/StatsGraph">StatsGraph</a> reactions_by_emotion_graph:<a href="/type/StatsGraph">StatsGraph</a> = <a href="/type/stats.MessageStats">stats.MessageStats</a>;
<a href="/constructor/sponsoredMessage">sponsoredMessage</a>#ed5383f7 flags:<a href="/type/%23">#</a> recommended:flags.5?<a href="/constructor/true">true</a> show_peer_photo:flags.6?<a href="/constructor/true">true</a> random_id:<a href="/type/bytes">bytes</a> from_id:flags.3?<a href="/type/Peer">Peer</a> chat_invite:flags.4?<a href="/type/ChatInvite">ChatInvite</a> chat_invite_hash:flags.4?<a href="/type/string">string</a> channel_post:flags.2?<a href="/type/int">int</a> start_param:flags.0?<a href="/type/string">string</a> webpage:flags.9?<a href="/type/SponsoredWebPage">SponsoredWebPage</a> app:flags.10?<a href="/type/BotApp">BotApp</a> message:<a href="/type/string">string</a> entities:flags.1?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; button_text:flags.11?<a href="/type/string">string</a> sponsor_info:flags.7?<a href="/type/string">string</a> additional_info:flags.8?<a href="/type/string">string</a> = <a href="/type/SponsoredMessage">SponsoredMessage</a>;<br>
<a href="/constructor/messages.transcribedAudio">messages.transcribedAudio</a>#cfb9d957 flags:<a href="/type/%23">#</a> pending:flags.0?<a href="/constructor/true">true</a> transcription_id:<a href="/type/long">long</a> text:<a href="/type/string">string</a> trial_remains_num:flags.1?<a href="/type/int">int</a> trial_remains_until_date:flags.1?<a href="/type/int">int</a> = <a href="/type/messages.TranscribedAudio">messages.TranscribedAudio</a>;
<a href="/constructor/messageActionSetChatWallPaper">messageActionSetChatWallPaper</a>#5060a3f4 flags:<a href="/type/%23">#</a> same:flags.0?<a href="/constructor/true">true</a> for_both:flags.1?<a href="/constructor/true">true</a> wallpaper:<a href="/type/WallPaper">WallPaper</a> = <a href="/type/MessageAction">MessageAction</a>;<br>
<a href="/constructor/storyItem">storyItem</a>#af6365a1 flags:<a href="/type/%23">#</a> pinned:flags.5?<a href="/constructor/true">true</a> public:flags.7?<a href="/constructor/true">true</a> close_friends:flags.8?<a href="/constructor/true">true</a> min:flags.9?<a href="/constructor/true">true</a> noforwards:flags.10?<a href="/constructor/true">true</a> edited:flags.11?<a href="/constructor/true">true</a> contacts:flags.12?<a href="/constructor/true">true</a> selected_contacts:flags.13?<a href="/constructor/true">true</a> out:flags.16?<a href="/constructor/true">true</a> id:<a href="/type/int">int</a> date:<a href="/type/int">int</a> fwd_from:flags.17?<a href="/type/StoryFwdHeader">StoryFwdHeader</a> expire_date:<a href="/type/int">int</a> caption:flags.0?<a href="/type/string">string</a> entities:flags.1?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; media:<a href="/type/MessageMedia">MessageMedia</a> media_areas:flags.14?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MediaArea">MediaArea</a>&gt; privacy:flags.2?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/PrivacyRule">PrivacyRule</a>&gt; views:flags.3?<a href="/type/StoryViews">StoryViews</a> sent_reaction:flags.15?<a href="/type/Reaction">Reaction</a> = <a href="/type/StoryItem">StoryItem</a>;<br>
<a href="/constructor/inputReplyToMessage">inputReplyToMessage</a>#22c0f6d5 flags:<a href="/type/%23">#</a> reply_to_msg_id:<a href="/type/int">int</a> top_msg_id:flags.0?<a href="/type/int">int</a> reply_to_peer_id:flags.1?<a href="/type/InputPeer">InputPeer</a> quote_text:flags.2?<a href="/type/string">string</a> quote_entities:flags.3?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; quote_offset:flags.4?<a href="/type/int">int</a> = <a href="/type/InputReplyTo">InputReplyTo</a>;<br>
<a href="/constructor/updateChannelViewForumAsMessages">updateChannelViewForumAsMessages</a>#07b68920 channel_id:<a href="/type/long">long</a> enabled:<a href="/type/Bool">Bool</a> = <a href="/type/Update">Update</a>;<br>
<a href="/constructor/messageActionGiveawayResults">messageActionGiveawayResults</a>#2a9fadc5 winners_count:<a href="/type/int">int</a> unclaimed_count:<a href="/type/int">int</a> = <a href="/type/MessageAction">MessageAction</a>;<br>
<a href="/constructor/updatePeerWallpaper">updatePeerWallpaper</a>#ae3f101d flags:<a href="/type/%23">#</a> wallpaper_overridden:flags.1?<a href="/constructor/true">true</a> peer:<a href="/type/Peer">Peer</a> wallpaper:flags.0?<a href="/type/WallPaper">WallPaper</a> = <a href="/type/Update">Update</a>;<br>
<a href="/constructor/storyFwdHeader">storyFwdHeader</a>#b826e150 flags:<a href="/type/%23">#</a> modified:flags.3?<a href="/constructor/true">true</a> from:flags.0?<a href="/type/Peer">Peer</a> from_name:flags.1?<a href="/type/string">string</a> story_id:flags.2?<a href="/type/int">int</a> = <a href="/type/StoryFwdHeader">StoryFwdHeader</a>;<br>
<a href="/constructor/postInteractionCountersMessage">postInteractionCountersMessage</a>#e7058e7f msg_id:<a href="/type/int">int</a> views:<a href="/type/int">int</a> forwards:<a href="/type/int">int</a> reactions:<a href="/type/int">int</a> = <a href="/type/PostInteractionCounters">PostInteractionCounters</a>;
<a href="/constructor/postInteractionCountersStory">postInteractionCountersStory</a>#8a480e27 story_id:<a href="/type/int">int</a> views:<a href="/type/int">int</a> forwards:<a href="/type/int">int</a> reactions:<a href="/type/int">int</a> = <a href="/type/PostInteractionCounters">PostInteractionCounters</a>;<br>
<a href="/constructor/stats.storyStats">stats.storyStats</a>#50cd067c views_graph:<a href="/type/StatsGraph">StatsGraph</a> reactions_by_emotion_graph:<a href="/type/StatsGraph">StatsGraph</a> = <a href="/type/stats.StoryStats">stats.StoryStats</a>;<br>
<a href="/constructor/publicForwardMessage">publicForwardMessage</a>#01f2bf4a message:<a href="/type/Message">Message</a> = <a href="/type/PublicForward">PublicForward</a>;
<a href="/constructor/publicForwardStory">publicForwardStory</a>#edf3add0 peer:<a href="/type/Peer">Peer</a> story:<a href="/type/StoryItem">StoryItem</a> = <a href="/type/PublicForward">PublicForward</a>;<br>
<a href="/constructor/stats.publicForwards">stats.publicForwards</a>#93037e20 flags:<a href="/type/%23">#</a> count:<a href="/type/int">int</a> forwards:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/PublicForward">PublicForward</a>&gt; next_offset:flags.0?<a href="/type/string">string</a> chats:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Chat">Chat</a>&gt; users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; = <a href="/type/stats.PublicForwards">stats.PublicForwards</a>;<br>
<a href="/constructor/peerColor">peerColor</a>#b54b5acf flags:<a href="/type/%23">#</a> color:flags.0?<a href="/type/int">int</a> background_emoji_id:flags.1?<a href="/type/long">long</a> = <a href="/type/PeerColor">PeerColor</a>;<br>
<a href="/constructor/help.peerColorSet">help.peerColorSet</a>#26219a58 colors:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; = <a href="/type/help.PeerColorSet">help.PeerColorSet</a>;
<a href="/constructor/help.peerColorProfileSet">help.peerColorProfileSet</a>#767d61eb palette_colors:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; bg_colors:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; story_colors:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; = <a href="/type/help.PeerColorSet">help.PeerColorSet</a>;
<a href="/constructor/help.peerColorOption">help.peerColorOption</a>#135bd42f flags:<a href="/type/%23">#</a> hidden:flags.0?<a href="/constructor/true">true</a> color_id:<a href="/type/int">int</a> colors:flags.1?<a href="/type/help.PeerColorSet">help.PeerColorSet</a> dark_colors:flags.2?<a href="/type/help.PeerColorSet">help.PeerColorSet</a> = <a href="/type/help.PeerColorOption">help.PeerColorOption</a>;
<a href="/constructor/help.peerColorsNotModified">help.peerColorsNotModified</a>#2ba1f5ce = <a href="/type/help.PeerColors">help.PeerColors</a>;
<a href="/constructor/help.peerColors">help.peerColors</a>#00f8ed08 hash:<a href="/type/int">int</a> colors:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/help.PeerColorOption">help.PeerColorOption</a>&gt; = <a href="/type/help.PeerColors">help.PeerColors</a>;<br>
---functions---<br>
<a href="/method/messages.setChatWallPaper">messages.setChatWallPaper</a>#8ffacae1 flags:<a href="/type/%23">#</a> for_both:flags.3?<a href="/constructor/true">true</a> revert:flags.4?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> wallpaper:flags.0?<a href="/type/InputWallPaper">InputWallPaper</a> settings:flags.2?<a href="/type/WallPaperSettings">WallPaperSettings</a> id:flags.1?<a href="/type/int">int</a> = <a href="/type/Updates">Updates</a>;<br>
<a href="/method/stories.sendStory">stories.sendStory</a>#e4e6694b flags:<a href="/type/%23">#</a> pinned:flags.2?<a href="/constructor/true">true</a> noforwards:flags.4?<a href="/constructor/true">true</a> fwd_modified:flags.7?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> media:<a href="/type/InputMedia">InputMedia</a> media_areas:flags.5?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MediaArea">MediaArea</a>&gt; caption:flags.0?<a href="/type/string">string</a> entities:flags.1?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; privacy_rules:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InputPrivacyRule">InputPrivacyRule</a>&gt; random_id:<a href="/type/long">long</a> period:flags.3?<a href="/type/int">int</a> fwd_from_id:flags.6?<a href="/type/InputPeer">InputPeer</a> fwd_from_story:flags.6?<a href="/type/int">int</a> = <a href="/type/Updates">Updates</a>;<br>
<a href="/method/account.updateColor">account.updateColor</a>#7cefa15d flags:<a href="/type/%23">#</a> for_profile:flags.1?<a href="/constructor/true">true</a> color:flags.2?<a href="/type/int">int</a> background_emoji_id:flags.0?<a href="/type/long">long</a> = <a href="/type/Bool">Bool</a>;<br>
<a href="/method/channels.toggleViewForumAsMessages">channels.toggleViewForumAsMessages</a>#9738bb15 channel:<a href="/type/InputChannel">InputChannel</a> enabled:<a href="/type/Bool">Bool</a> = <a href="/type/Updates">Updates</a>;<br>
<a href="/method/messages.searchEmojiStickerSets">messages.searchEmojiStickerSets</a>#92b4494c flags:<a href="/type/%23">#</a> exclude_featured:flags.0?<a href="/constructor/true">true</a> q:<a href="/type/string">string</a> hash:<a href="/type/long">long</a> = <a href="/type/messages.FoundStickerSets">messages.FoundStickerSets</a>;<br>
<a href="/method/channels.getChannelRecommendations">channels.getChannelRecommendations</a>#83b70d97 channel:<a href="/type/InputChannel">InputChannel</a> = <a href="/type/messages.Chats">messages.Chats</a>;<br>
<a href="/method/stats.getStoryStats">stats.getStoryStats</a>#374fef40 flags:<a href="/type/%23">#</a> dark:flags.0?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> id:<a href="/type/int">int</a> = <a href="/type/stats.StoryStats">stats.StoryStats</a>;
<a href="/method/stats.getStoryPublicForwards">stats.getStoryPublicForwards</a>#a6437ef6 peer:<a href="/type/InputPeer">InputPeer</a> id:<a href="/type/int">int</a> offset:<a href="/type/string">string</a> limit:<a href="/type/int">int</a> = <a href="/type/stats.PublicForwards">stats.PublicForwards</a>;<br>
<a href="/method/help.getPeerColors">help.getPeerColors</a>#da80f42f hash:<a href="/type/int">int</a> = <a href="/type/help.PeerColors">help.PeerColors</a>;
<a href="/method/help.getPeerProfileColors">help.getPeerProfileColors</a>#abcfa9fd hash:<a href="/type/int">int</a> = <a href="/type/help.PeerColors">help.PeerColors</a>;<br></code></pre></div>
<h3><a class="anchor" href="#layer-166" id="layer-166" name="layer-166"><i class="anchor-icon"></i></a><a href="/schema?layer=166">Layer 166</a></h3>
<p>Introducing <a href="/api/giveaways">giveaways</a>, <a href="/api/links#premium-giftcode-links">gift code links</a>, <a href="/api/colors">accent colors</a>, <a href="/constructor/inputReplyToMessage">quotes</a>, improved <a href="/api/boost">boosts</a> and improved webpage previews.</p>
<h4><a class="anchor" href="#schema-changes" id="schema-changes" name="schema-changes"><i class="anchor-icon"></i></a>Schema changes</h4>
<h5><a class="anchor" href="#new-methods" id="new-methods" name="new-methods"><i class="anchor-icon"></i></a>New Methods</h5>
<ul>
<li>Added <a href="/method/payments.getPremiumGiftCodeOptions">payments.getPremiumGiftCodeOptions</a> - Obtain a list of Telegram Premium <a href="/api/giveaways">giveaway/gift code »</a> options.</li>
<li>Added <a href="/method/payments.checkGiftCode">payments.checkGiftCode</a> - Obtain information about a <a href="/api/giveaways">Telegram Premium giftcode »</a></li>
<li>Added <a href="/method/payments.applyGiftCode">payments.applyGiftCode</a> - Apply a <a href="/api/giveaways">Telegram Premium giftcode »</a></li>
<li>Added <a href="/method/payments.getGiveawayInfo">payments.getGiveawayInfo</a> - Obtain information about a <a href="/api/giveaways">Telegram Premium giveaway »</a>.</li>
<li>Added <a href="/method/payments.launchPrepaidGiveaway">payments.launchPrepaidGiveaway</a> - Launch a <a href="/api/giveaways">prepaid giveaway »</a>.</li>
<li>Added <a href="/method/account.updateColor">account.updateColor</a> - Update the <a href="/api/colors">accent color and background custom emoji »</a> of the current account.</li>
<li>Added <a href="/method/channels.updateColor">channels.updateColor</a> - Update the <a href="/api/colors">accent color and background custom emoji »</a> of a channel.</li>
<li>Added <a href="/method/account.getDefaultBackgroundEmojis">account.getDefaultBackgroundEmojis</a> - Get a set of suggested <a href="/api/custom-emoji">custom emoji stickers</a> that can be used in an <a href="/api/colors">accent color pattern</a>.</li>
<li>Added <a href="/method/premium.getBoostsList">premium.getBoostsList</a> - Obtains info about the boosts that were applied to a certain channel (admins only)</li>
<li>Added <a href="/method/premium.getMyBoosts">premium.getMyBoosts</a> - Obtain which peers are we currently <a href="/api/boost">boosting</a>, and how many <a href="/api/boost">boost slots</a> we have left.</li>
<li>Added <a href="/method/premium.applyBoost">premium.applyBoost</a> - Apply one or more <a href="/api/boost">boosts »</a> to a peer.</li>
<li>Added <a href="/method/premium.getBoostsStatus">premium.getBoostsStatus</a> - Gets the current <a href="/api/boost">number of boosts</a> of a channel.</li>
<li>Added <a href="/method/premium.getUserBoosts">premium.getUserBoosts</a> - Returns the lists of boost that were applied to a channel by a specific user (admins only)</li>
</ul>
<h5><a class="anchor" href="#changed-methods" id="changed-methods" name="changed-methods"><i class="anchor-icon"></i></a>Changed Methods</h5>
<ul>
<li>Added <strong>invert_media</strong> parameter in <a href="/method/messages.sendMessage">messages.sendMessage</a></li>
<li>Added <strong>invert_media</strong> parameter in <a href="/method/messages.sendMedia">messages.sendMedia</a></li>
<li>Added <strong>invert_media</strong> parameter in <a href="/method/messages.editMessage">messages.editMessage</a></li>
<li>Added <strong>invert_media</strong> parameter in <a href="/method/messages.editInlineBotMessage">messages.editInlineBotMessage</a></li>
<li>Added <strong>invert_media</strong>, <strong>reply_to</strong>, <strong>media</strong> parameters, removed <strong>reply_to_msg_id</strong>, <strong>top_msg_id</strong> parameters in <a href="/method/messages.saveDraft">messages.saveDraft</a></li>
<li>Changed type of <a href="/method/messages.getWebPage">messages.getWebPage</a> from <strong>WebPage</strong> to <strong>messages.WebPage</strong></li>
<li>Added <strong>invert_media</strong> parameter in <a href="/method/messages.sendMultiMedia">messages.sendMultiMedia</a></li>
</ul>
<h5><a class="anchor" href="#deleted-methods" id="deleted-methods" name="deleted-methods"><i class="anchor-icon"></i></a>Deleted Methods</h5>
<ul>
<li>Removed stories.getBoostsStatus</li>
<li>Removed stories.getBoostersList</li>
<li>Removed stories.canApplyBoost</li>
<li>Removed stories.applyBoost</li>
</ul>
<h5><a class="anchor" href="#new-constructors" id="new-constructors" name="new-constructors"><i class="anchor-icon"></i></a>New Constructors</h5>
<ul>
<li>Added <a href="/constructor/messages.webPage">messages.webPage</a> - Represents an Instant View webpage.</li>
<li>Added <a href="/constructor/inputStorePaymentPremiumGiftCode">inputStorePaymentPremiumGiftCode</a> - Used to gift <a href="/api/premium">Telegram Premium</a> subscriptions only to some specific subscribers of a channel or to some of our contacts, see <a href="/api/giveaways">here »</a> for more info on giveaways and gifts.</li>
<li>Added <a href="/constructor/inputStorePaymentPremiumGiveaway">inputStorePaymentPremiumGiveaway</a> - Used to pay for a <a href="/api/giveaways">giveaway, see here »</a> for more info.</li>
<li>Added <a href="/constructor/inputInvoicePremiumGiftCode">inputInvoicePremiumGiftCode</a> - Used if the user wishes to start a channel <a href="/api/giveaways">giveaway</a> or send some <a href="/api/giveaways">giftcodes</a> to members of a channel, in exchange for <a href="/api/boost">boosts</a>.</li>
<li>Added <a href="/constructor/premiumGiftCodeOption">premiumGiftCodeOption</a> - Contains info about a <a href="/api/giveaways">giveaway/gift</a> option.</li>
<li>Added <a href="/constructor/payments.checkedGiftCode">payments.checkedGiftCode</a> - Contains info about a <a href="/api/links#premium-giftcode-links">Telegram Premium giftcode link</a>.</li>
<li>Added <a href="/constructor/messageMediaGiveaway">messageMediaGiveaway</a> - Contains info about a <a href="/api/giveaways">giveaway, see here »</a> for more info.</li>
<li>Added <a href="/constructor/messageActionGiftCode">messageActionGiftCode</a> - Contains a <a href="/api/links#premium-giftcode-links">Telegram Premium giftcode link</a>.</li>
<li>Added <a href="/constructor/messageActionGiveawayLaunch">messageActionGiveawayLaunch</a> - A <a href="/api/giveaways">giveaway</a> was started.</li>
<li>Added <a href="/constructor/payments.giveawayInfo">payments.giveawayInfo</a> - Contains info about an ongoing <a href="/api/giveaways">giveaway</a>.</li>
<li>Added <a href="/constructor/payments.giveawayInfoResults">payments.giveawayInfoResults</a> - A <a href="/api/giveaways">giveaway</a> has ended.</li>
<li>Added <a href="/constructor/messageEntityBlockquote">messageEntityBlockquote</a> - Message entity representing a block quote.</li>
<li>Added <a href="/constructor/prepaidGiveaway">prepaidGiveaway</a> - Contains info about a <a href="/api/giveaways">prepaid giveaway »</a>.</li>
<li>Added <a href="/constructor/inputMediaWebPage">inputMediaWebPage</a> - Specifies options that will be used to generate the link preview for the caption, or even a standalone link preview without an attached message.</li>
<li>Added <a href="/constructor/inputBotInlineMessageMediaWebPage">inputBotInlineMessageMediaWebPage</a> - Specifies options that will be used to generate the link preview for the message, or even a standalone link preview without an attached message.</li>
<li>Added <a href="/constructor/botInlineMessageMediaWebPage">botInlineMessageMediaWebPage</a> - Specifies options that must be used to generate the link preview for the message, or even a standalone link preview without an attached message.</li>
<li>Added <a href="/constructor/channelAdminLogEventActionChangeColor">channelAdminLogEventActionChangeColor</a> - The <a href="/api/colors">background profile color »</a> of a channel was changed.</li>
<li>Added <a href="/constructor/channelAdminLogEventActionChangeBackgroundEmoji">channelAdminLogEventActionChangeBackgroundEmoji</a> - The <a href="/api/custom-emoji">custom emoji</a> used to generate the pattern of the <a href="/api/colors">background profile color »</a> of a channel was changed.</li>
<li>Added <a href="/constructor/boost">boost</a> - Info about one or more <a href="/api/boost">boosts</a> applied by a specific user.</li>
<li>Added <a href="/constructor/premium.boostsList">premium.boostsList</a> - List of <a href="/api/boost">boosts</a> that were applied to a peer by multiple users.</li>
<li>Added <a href="/constructor/myBoost">myBoost</a> - Contains information about a single <a href="/api/boost">boost slot »</a>.</li>
<li>Added <a href="/constructor/premium.myBoosts">premium.myBoosts</a> - A list of peers we are currently <a href="/api/boost">boosting</a>, and how many <a href="/api/boost">boost slots</a> we have left.</li>
<li>Added <a href="/constructor/premium.boostsStatus">premium.boostsStatus</a> - Contains info about the current <a href="/api/boost">boost status</a> of a peer.</li>
<li>Added <a href="/constructor/updateBotChatBoost">updateBotChatBoost</a> - A <a href="/api/boost">channel boost</a> has changed (bots only)</li>
</ul>
<h5><a class="anchor" href="#changed-constructors" id="changed-constructors" name="changed-constructors"><i class="anchor-icon"></i></a>Changed Constructors</h5>
<ul>
<li>Added <strong>invert_media</strong> parameter in <a href="/constructor/message">message</a></li>
<li>Added <strong>invert_media</strong> parameter in <a href="/constructor/updateServiceNotification">updateServiceNotification</a></li>
<li>Added <strong>flags</strong>, <strong>url</strong> parameters in <a href="/constructor/webPageEmpty">webPageEmpty</a></li>
<li>Added <strong>flags</strong>, <strong>url</strong> parameters in <a href="/constructor/webPagePending">webPagePending</a></li>
<li>Added <strong>has_large_media</strong> parameter in <a href="/constructor/webPage">webPage</a></li>
<li>Added <strong>flags</strong>, <strong>force_large_media</strong>, <strong>force_small_media</strong>, <strong>manual</strong>, <strong>safe</strong> parameters in <a href="/constructor/messageMediaWebPage">messageMediaWebPage</a></li>
<li>Added <strong>color</strong> parameter in <a href="/constructor/chatInvite">chatInvite</a></li>
<li>Added <strong>text_color</strong> parameter in <a href="/constructor/stickerSet">stickerSet</a></li>
<li>Added <strong>color</strong>, <strong>background_emoji_id</strong> parameters in <a href="/constructor/user">user</a></li>
<li>Added <strong>color</strong>, <strong>background_emoji_id</strong> parameters in <a href="/constructor/channel">channel</a></li>
<li>Added <strong>invert_media</strong> parameter in <a href="/constructor/inputBotInlineMessageMediaAuto">inputBotInlineMessageMediaAuto</a></li>
<li>Added <strong>invert_media</strong> parameter in <a href="/constructor/inputBotInlineMessageText">inputBotInlineMessageText</a></li>
<li>Added <strong>invert_media</strong> parameter in <a href="/constructor/botInlineMessageMediaAuto">botInlineMessageMediaAuto</a></li>
<li>Added <strong>invert_media</strong> parameter in <a href="/constructor/botInlineMessageText">botInlineMessageText</a></li>
<li>Added <strong>invert_media</strong>, <strong>reply_to</strong>, <strong>media</strong> parameters, removed <strong>reply_to_msg_id</strong> parameter in <a href="/constructor/draftMessage">draftMessage</a></li>
<li>Added <strong>quote</strong>, <strong>reply_from</strong>, <strong>reply_media</strong>, <strong>quote_text</strong>, <strong>quote_entities</strong> parameters, changed type of <strong>reply_to_msg_id</strong> from <strong>int</strong> to <strong>flags.4?int</strong> in <a href="/constructor/messageReplyHeader">messageReplyHeader</a></li>
<li>Added <strong>reply_to_peer_id</strong>, <strong>quote_text</strong>, <strong>quote_entities</strong> parameters in <a href="/constructor/inputReplyToMessage">inputReplyToMessage</a></li>
</ul>
<h5><a class="anchor" href="#deleted-constructors" id="deleted-constructors" name="deleted-constructors"><i class="anchor-icon"></i></a>Deleted Constructors</h5>
<ul>
<li>Removed stories.boostsStatus</li>
<li>Removed stories.canApplyBoostOk</li>
<li>Removed stories.canApplyBoostReplace</li>
<li>Removed booster</li>
<li>Removed stories.boostersList</li>
</ul>
<h4><a class="anchor" href="#schema" id="schema" name="schema"><i class="anchor-icon"></i></a>Schema</h4>
<div><pre><code><a href="/constructor/message">message</a>#38116ee0 flags:<a href="/type/%23">#</a> out:flags.1?<a href="/constructor/true">true</a> mentioned:flags.4?<a href="/constructor/true">true</a> media_unread:flags.5?<a href="/constructor/true">true</a> silent:flags.13?<a href="/constructor/true">true</a> post:flags.14?<a href="/constructor/true">true</a> from_scheduled:flags.18?<a href="/constructor/true">true</a> legacy:flags.19?<a href="/constructor/true">true</a> edit_hide:flags.21?<a href="/constructor/true">true</a> pinned:flags.24?<a href="/constructor/true">true</a> noforwards:flags.26?<a href="/constructor/true">true</a> invert_media:flags.27?<a href="/constructor/true">true</a> 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>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; 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> reactions:flags.20?<a href="/type/MessageReactions">MessageReactions</a> restriction_reason:flags.22?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/RestrictionReason">RestrictionReason</a>&gt; ttl_period:flags.25?<a href="/type/int">int</a> = <a href="/type/Message">Message</a>;<br>
<a href="/constructor/updateServiceNotification">updateServiceNotification</a>#ebe46819 flags:<a href="/type/%23">#</a> popup:flags.0?<a href="/constructor/true">true</a> invert_media:flags.2?<a href="/constructor/true">true</a> inbox_date:flags.1?<a href="/type/int">int</a> type:<a href="/type/string">string</a> message:<a href="/type/string">string</a> media:<a href="/type/MessageMedia">MessageMedia</a> entities:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; = <a href="/type/Update">Update</a>;<br>
<a href="/constructor/webPageEmpty">webPageEmpty</a>#211a1788 flags:<a href="/type/%23">#</a> id:<a href="/type/long">long</a> url:flags.0?<a href="/type/string">string</a> = <a href="/type/WebPage">WebPage</a>;
<a href="/constructor/webPagePending">webPagePending</a>#b0d13e47 flags:<a href="/type/%23">#</a> id:<a href="/type/long">long</a> url:flags.0?<a href="/type/string">string</a> date:<a href="/type/int">int</a> = <a href="/type/WebPage">WebPage</a>;
<a href="/constructor/webPage">webPage</a>#e89c45b2 flags:<a href="/type/%23">#</a> has_large_media:flags.13?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> url:<a href="/type/string">string</a> display_url:<a href="/type/string">string</a> hash:<a href="/type/int">int</a> type:flags.0?<a href="/type/string">string</a> site_name:flags.1?<a href="/type/string">string</a> title:flags.2?<a href="/type/string">string</a> description:flags.3?<a href="/type/string">string</a> photo:flags.4?<a href="/type/Photo">Photo</a> embed_url:flags.5?<a href="/type/string">string</a> embed_type:flags.5?<a href="/type/string">string</a> embed_width:flags.6?<a href="/type/int">int</a> embed_height:flags.6?<a href="/type/int">int</a> duration:flags.7?<a href="/type/int">int</a> author:flags.8?<a href="/type/string">string</a> document:flags.9?<a href="/type/Document">Document</a> cached_page:flags.10?<a href="/type/Page">Page</a> attributes:flags.12?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/WebPageAttribute">WebPageAttribute</a>&gt; = <a href="/type/WebPage">WebPage</a>;<br>
<a href="/constructor/messageMediaWebPage">messageMediaWebPage</a>#ddf10c3b flags:<a href="/type/%23">#</a> force_large_media:flags.0?<a href="/constructor/true">true</a> force_small_media:flags.1?<a href="/constructor/true">true</a> manual:flags.3?<a href="/constructor/true">true</a> safe:flags.4?<a href="/constructor/true">true</a> webpage:<a href="/type/WebPage">WebPage</a> = <a href="/type/MessageMedia">MessageMedia</a>;<br>
<a href="/constructor/chatInvite">chatInvite</a>#cde0ec40 flags:<a href="/type/%23">#</a> channel:flags.0?<a href="/constructor/true">true</a> broadcast:flags.1?<a href="/constructor/true">true</a> public:flags.2?<a href="/constructor/true">true</a> megagroup:flags.3?<a href="/constructor/true">true</a> request_needed:flags.6?<a href="/constructor/true">true</a> verified:flags.7?<a href="/constructor/true">true</a> scam:flags.8?<a href="/constructor/true">true</a> fake:flags.9?<a href="/constructor/true">true</a> title:<a href="/type/string">string</a> about:flags.5?<a href="/type/string">string</a> photo:<a href="/type/Photo">Photo</a> participants_count:<a href="/type/int">int</a> participants:flags.4?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; color:<a href="/type/int">int</a> = <a href="/type/ChatInvite">ChatInvite</a>;<br>
<a href="/constructor/stickerSet">stickerSet</a>#2dd14edc flags:<a href="/type/%23">#</a> archived:flags.1?<a href="/constructor/true">true</a> official:flags.2?<a href="/constructor/true">true</a> masks:flags.3?<a href="/constructor/true">true</a> animated:flags.5?<a href="/constructor/true">true</a> videos:flags.6?<a href="/constructor/true">true</a> emojis:flags.7?<a href="/constructor/true">true</a> text_color:flags.9?<a href="/constructor/true">true</a> installed_date:flags.0?<a href="/type/int">int</a> id:<a href="/type/long">long</a> access_hash:<a href="/type/long">long</a> title:<a href="/type/string">string</a> short_name:<a href="/type/string">string</a> thumbs:flags.4?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/PhotoSize">PhotoSize</a>&gt; thumb_dc_id:flags.4?<a href="/type/int">int</a> thumb_version:flags.4?<a href="/type/int">int</a> thumb_document_id:flags.8?<a href="/type/long">long</a> count:<a href="/type/int">int</a> hash:<a href="/type/int">int</a> = <a href="/type/StickerSet">StickerSet</a>;<br>
<a href="/constructor/user">user</a>#eb602f25 flags:<a href="/type/%23">#</a> self:flags.10?<a href="/constructor/true">true</a> contact:flags.11?<a href="/constructor/true">true</a> mutual_contact:flags.12?<a href="/constructor/true">true</a> deleted:flags.13?<a href="/constructor/true">true</a> bot:flags.14?<a href="/constructor/true">true</a> bot_chat_history:flags.15?<a href="/constructor/true">true</a> bot_nochats:flags.16?<a href="/constructor/true">true</a> verified:flags.17?<a href="/constructor/true">true</a> restricted:flags.18?<a href="/constructor/true">true</a> min:flags.20?<a href="/constructor/true">true</a> bot_inline_geo:flags.21?<a href="/constructor/true">true</a> support:flags.23?<a href="/constructor/true">true</a> scam:flags.24?<a href="/constructor/true">true</a> apply_min_photo:flags.25?<a href="/constructor/true">true</a> fake:flags.26?<a href="/constructor/true">true</a> bot_attach_menu:flags.27?<a href="/constructor/true">true</a> premium:flags.28?<a href="/constructor/true">true</a> attach_menu_enabled:flags.29?<a href="/constructor/true">true</a> flags2:<a href="/type/%23">#</a> bot_can_edit:flags2.1?<a href="/constructor/true">true</a> close_friend:flags2.2?<a href="/constructor/true">true</a> stories_hidden:flags2.3?<a href="/constructor/true">true</a> stories_unavailable:flags2.4?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> access_hash:flags.0?<a href="/type/long">long</a> first_name:flags.1?<a href="/type/string">string</a> last_name:flags.2?<a href="/type/string">string</a> username:flags.3?<a href="/type/string">string</a> phone:flags.4?<a href="/type/string">string</a> photo:flags.5?<a href="/type/UserProfilePhoto">UserProfilePhoto</a> status:flags.6?<a href="/type/UserStatus">UserStatus</a> bot_info_version:flags.14?<a href="/type/int">int</a> restriction_reason:flags.18?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/RestrictionReason">RestrictionReason</a>&gt; bot_inline_placeholder:flags.19?<a href="/type/string">string</a> lang_code:flags.22?<a href="/type/string">string</a> emoji_status:flags.30?<a href="/type/EmojiStatus">EmojiStatus</a> usernames:flags2.0?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Username">Username</a>&gt; stories_max_id:flags2.5?<a href="/type/int">int</a> color:flags2.7?<a href="/type/int">int</a> background_emoji_id:flags2.6?<a href="/type/long">long</a> = <a href="/type/User">User</a>;<br>
<a href="/constructor/channel">channel</a>#1981ea7e flags:<a href="/type/%23">#</a> creator:flags.0?<a href="/constructor/true">true</a> left:flags.2?<a href="/constructor/true">true</a> broadcast:flags.5?<a href="/constructor/true">true</a> verified:flags.7?<a href="/constructor/true">true</a> megagroup:flags.8?<a href="/constructor/true">true</a> restricted:flags.9?<a href="/constructor/true">true</a> signatures:flags.11?<a href="/constructor/true">true</a> min:flags.12?<a href="/constructor/true">true</a> scam:flags.19?<a href="/constructor/true">true</a> has_link:flags.20?<a href="/constructor/true">true</a> has_geo:flags.21?<a href="/constructor/true">true</a> slowmode_enabled:flags.22?<a href="/constructor/true">true</a> call_active:flags.23?<a href="/constructor/true">true</a> call_not_empty:flags.24?<a href="/constructor/true">true</a> fake:flags.25?<a href="/constructor/true">true</a> gigagroup:flags.26?<a href="/constructor/true">true</a> noforwards:flags.27?<a href="/constructor/true">true</a> join_to_send:flags.28?<a href="/constructor/true">true</a> join_request:flags.29?<a href="/constructor/true">true</a> forum:flags.30?<a href="/constructor/true">true</a> flags2:<a href="/type/%23">#</a> stories_hidden:flags2.1?<a href="/constructor/true">true</a> stories_hidden_min:flags2.2?<a href="/constructor/true">true</a> stories_unavailable:flags2.3?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> access_hash:flags.13?<a href="/type/long">long</a> title:<a href="/type/string">string</a> username:flags.6?<a href="/type/string">string</a> photo:<a href="/type/ChatPhoto">ChatPhoto</a> date:<a href="/type/int">int</a> restriction_reason:flags.9?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/RestrictionReason">RestrictionReason</a>&gt; admin_rights:flags.14?<a href="/type/ChatAdminRights">ChatAdminRights</a> banned_rights:flags.15?<a href="/type/ChatBannedRights">ChatBannedRights</a> default_banned_rights:flags.18?<a href="/type/ChatBannedRights">ChatBannedRights</a> participants_count:flags.17?<a href="/type/int">int</a> usernames:flags2.0?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Username">Username</a>&gt; stories_max_id:flags2.4?<a href="/type/int">int</a> color:flags2.6?<a href="/type/int">int</a> background_emoji_id:flags2.5?<a href="/type/long">long</a> = <a href="/type/Chat">Chat</a>;<br>
<a href="/constructor/inputBotInlineMessageMediaAuto">inputBotInlineMessageMediaAuto</a>#3380c786 flags:<a href="/type/%23">#</a> invert_media:flags.3?<a href="/constructor/true">true</a> message:<a href="/type/string">string</a> entities:flags.1?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; reply_markup:flags.2?<a href="/type/ReplyMarkup">ReplyMarkup</a> = <a href="/type/InputBotInlineMessage">InputBotInlineMessage</a>;
<a href="/constructor/inputBotInlineMessageText">inputBotInlineMessageText</a>#3dcd7a87 flags:<a href="/type/%23">#</a> no_webpage:flags.0?<a href="/constructor/true">true</a> invert_media:flags.3?<a href="/constructor/true">true</a> message:<a href="/type/string">string</a> entities:flags.1?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; reply_markup:flags.2?<a href="/type/ReplyMarkup">ReplyMarkup</a> = <a href="/type/InputBotInlineMessage">InputBotInlineMessage</a>;<br>
<a href="/constructor/botInlineMessageMediaAuto">botInlineMessageMediaAuto</a>#764cf810 flags:<a href="/type/%23">#</a> invert_media:flags.3?<a href="/constructor/true">true</a> message:<a href="/type/string">string</a> entities:flags.1?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; reply_markup:flags.2?<a href="/type/ReplyMarkup">ReplyMarkup</a> = <a href="/type/BotInlineMessage">BotInlineMessage</a>;
<a href="/constructor/botInlineMessageText">botInlineMessageText</a>#8c7f65e2 flags:<a href="/type/%23">#</a> no_webpage:flags.0?<a href="/constructor/true">true</a> invert_media:flags.3?<a href="/constructor/true">true</a> message:<a href="/type/string">string</a> entities:flags.1?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; reply_markup:flags.2?<a href="/type/ReplyMarkup">ReplyMarkup</a> = <a href="/type/BotInlineMessage">BotInlineMessage</a>;<br>
<a href="/constructor/draftMessage">draftMessage</a>#3fccf7ef flags:<a href="/type/%23">#</a> no_webpage:flags.1?<a href="/constructor/true">true</a> invert_media:flags.6?<a href="/constructor/true">true</a> reply_to:flags.4?<a href="/type/InputReplyTo">InputReplyTo</a> message:<a href="/type/string">string</a> entities:flags.3?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; media:flags.5?<a href="/type/InputMedia">InputMedia</a> date:<a href="/type/int">int</a> = <a href="/type/DraftMessage">DraftMessage</a>;<br>
<a href="/constructor/messageReplyHeader">messageReplyHeader</a>#6eebcabd flags:<a href="/type/%23">#</a> reply_to_scheduled:flags.2?<a href="/constructor/true">true</a> forum_topic:flags.3?<a href="/constructor/true">true</a> quote:flags.9?<a href="/constructor/true">true</a> reply_to_msg_id:flags.4?<a href="/type/int">int</a> reply_to_peer_id:flags.0?<a href="/type/Peer">Peer</a> reply_from:flags.5?<a href="/type/MessageFwdHeader">MessageFwdHeader</a> reply_media:flags.8?<a href="/type/MessageMedia">MessageMedia</a> reply_to_top_id:flags.1?<a href="/type/int">int</a> quote_text:flags.6?<a href="/type/string">string</a> quote_entities:flags.7?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; = <a href="/type/MessageReplyHeader">MessageReplyHeader</a>;<br>
<a href="/constructor/inputReplyToMessage">inputReplyToMessage</a>#073ec805 flags:<a href="/type/%23">#</a> reply_to_msg_id:<a href="/type/int">int</a> top_msg_id:flags.0?<a href="/type/int">int</a> reply_to_peer_id:flags.1?<a href="/type/InputPeer">InputPeer</a> quote_text:flags.2?<a href="/type/string">string</a> quote_entities:flags.3?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; = <a href="/type/InputReplyTo">InputReplyTo</a>;<br>
<a href="/constructor/messages.webPage">messages.webPage</a>#fd5e12bd webpage:<a href="/type/WebPage">WebPage</a> chats:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Chat">Chat</a>&gt; users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; = <a href="/type/messages.WebPage">messages.WebPage</a>;<br>
<a href="/constructor/inputStorePaymentPremiumGiftCode">inputStorePaymentPremiumGiftCode</a>#a3805f3f flags:<a href="/type/%23">#</a> users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InputUser">InputUser</a>&gt; boost_peer:flags.0?<a href="/type/InputPeer">InputPeer</a> currency:<a href="/type/string">string</a> amount:<a href="/type/long">long</a> = <a href="/type/InputStorePaymentPurpose">InputStorePaymentPurpose</a>;
<a href="/constructor/inputStorePaymentPremiumGiveaway">inputStorePaymentPremiumGiveaway</a>#7c9375e6 flags:<a href="/type/%23">#</a> only_new_subscribers:flags.0?<a href="/constructor/true">true</a> boost_peer:<a href="/type/InputPeer">InputPeer</a> additional_peers:flags.1?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InputPeer">InputPeer</a>&gt; countries_iso2:flags.2?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/string">string</a>&gt; random_id:<a href="/type/long">long</a> until_date:<a href="/type/int">int</a> currency:<a href="/type/string">string</a> amount:<a href="/type/long">long</a> = <a href="/type/InputStorePaymentPurpose">InputStorePaymentPurpose</a>;
<a href="/constructor/inputInvoicePremiumGiftCode">inputInvoicePremiumGiftCode</a>#98986c0d purpose:<a href="/type/InputStorePaymentPurpose">InputStorePaymentPurpose</a> option:<a href="/type/PremiumGiftCodeOption">PremiumGiftCodeOption</a> = <a href="/type/InputInvoice">InputInvoice</a>;<br>
<a href="/constructor/premiumGiftCodeOption">premiumGiftCodeOption</a>#257e962b flags:<a href="/type/%23">#</a> users:<a href="/type/int">int</a> months:<a href="/type/int">int</a> store_product:flags.0?<a href="/type/string">string</a> store_quantity:flags.1?<a href="/type/int">int</a> currency:<a href="/type/string">string</a> amount:<a href="/type/long">long</a> = <a href="/type/PremiumGiftCodeOption">PremiumGiftCodeOption</a>;
<a href="/constructor/payments.checkedGiftCode">payments.checkedGiftCode</a>#b722f158 flags:<a href="/type/%23">#</a> via_giveaway:flags.2?<a href="/constructor/true">true</a> from_id:<a href="/type/Peer">Peer</a> giveaway_msg_id:flags.3?<a href="/type/int">int</a> to_id:flags.0?<a href="/type/long">long</a> date:<a href="/type/int">int</a> months:<a href="/type/int">int</a> used_date:flags.1?<a href="/type/int">int</a> chats:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Chat">Chat</a>&gt; users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; = <a href="/type/payments.CheckedGiftCode">payments.CheckedGiftCode</a>;<br>
<a href="/constructor/messageMediaGiveaway">messageMediaGiveaway</a>#58260664 flags:<a href="/type/%23">#</a> only_new_subscribers:flags.0?<a href="/constructor/true">true</a> channels:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/long">long</a>&gt; countries_iso2:flags.1?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/string">string</a>&gt; quantity:<a href="/type/int">int</a> months:<a href="/type/int">int</a> until_date:<a href="/type/int">int</a> = <a href="/type/MessageMedia">MessageMedia</a>;
<a href="/constructor/messageActionGiftCode">messageActionGiftCode</a>#d2cfdb0e flags:<a href="/type/%23">#</a> via_giveaway:flags.0?<a href="/constructor/true">true</a> unclaimed:flags.2?<a href="/constructor/true">true</a> boost_peer:flags.1?<a href="/type/Peer">Peer</a> months:<a href="/type/int">int</a> slug:<a href="/type/string">string</a> = <a href="/type/MessageAction">MessageAction</a>;
<a href="/constructor/messageActionGiveawayLaunch">messageActionGiveawayLaunch</a>#332ba9ed = <a href="/type/MessageAction">MessageAction</a>;<br>
<a href="/constructor/payments.giveawayInfo">payments.giveawayInfo</a>#4367daa0 flags:<a href="/type/%23">#</a> participating:flags.0?<a href="/constructor/true">true</a> preparing_results:flags.3?<a href="/constructor/true">true</a> start_date:<a href="/type/int">int</a> joined_too_early_date:flags.1?<a href="/type/int">int</a> admin_disallowed_chat_id:flags.2?<a href="/type/long">long</a> disallowed_country:flags.4?<a href="/type/string">string</a> = <a href="/type/payments.GiveawayInfo">payments.GiveawayInfo</a>;
<a href="/constructor/payments.giveawayInfoResults">payments.giveawayInfoResults</a>#00cd5570 flags:<a href="/type/%23">#</a> winner:flags.0?<a href="/constructor/true">true</a> refunded:flags.1?<a href="/constructor/true">true</a> start_date:<a href="/type/int">int</a> gift_code_slug:flags.0?<a href="/type/string">string</a> finish_date:<a href="/type/int">int</a> winners_count:<a href="/type/int">int</a> activated_count:<a href="/type/int">int</a> = <a href="/type/payments.GiveawayInfo">payments.GiveawayInfo</a>;<br>
<a href="/constructor/messageEntityBlockquote">messageEntityBlockquote</a>#020df5d0 offset:<a href="/type/int">int</a> length:<a href="/type/int">int</a> = <a href="/type/MessageEntity">MessageEntity</a>;<br>
<a href="/constructor/prepaidGiveaway">prepaidGiveaway</a>#b2539d54 id:<a href="/type/long">long</a> months:<a href="/type/int">int</a> quantity:<a href="/type/int">int</a> date:<a href="/type/int">int</a> = <a href="/type/PrepaidGiveaway">PrepaidGiveaway</a>;<br>
<a href="/constructor/inputMediaWebPage">inputMediaWebPage</a>#c21b8849 flags:<a href="/type/%23">#</a> force_large_media:flags.0?<a href="/constructor/true">true</a> force_small_media:flags.1?<a href="/constructor/true">true</a> optional:flags.2?<a href="/constructor/true">true</a> url:<a href="/type/string">string</a> = <a href="/type/InputMedia">InputMedia</a>;
<a href="/constructor/inputBotInlineMessageMediaWebPage">inputBotInlineMessageMediaWebPage</a>#bddcc510 flags:<a href="/type/%23">#</a> invert_media:flags.3?<a href="/constructor/true">true</a> force_large_media:flags.4?<a href="/constructor/true">true</a> force_small_media:flags.5?<a href="/constructor/true">true</a> optional:flags.6?<a href="/constructor/true">true</a> message:<a href="/type/string">string</a> entities:flags.1?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; url:<a href="/type/string">string</a> reply_markup:flags.2?<a href="/type/ReplyMarkup">ReplyMarkup</a> = <a href="/type/InputBotInlineMessage">InputBotInlineMessage</a>;<br>
<a href="/constructor/botInlineMessageMediaWebPage">botInlineMessageMediaWebPage</a>#809ad9a6 flags:<a href="/type/%23">#</a> invert_media:flags.3?<a href="/constructor/true">true</a> force_large_media:flags.4?<a href="/constructor/true">true</a> force_small_media:flags.5?<a href="/constructor/true">true</a> manual:flags.7?<a href="/constructor/true">true</a> safe:flags.8?<a href="/constructor/true">true</a> message:<a href="/type/string">string</a> entities:flags.1?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; url:<a href="/type/string">string</a> reply_markup:flags.2?<a href="/type/ReplyMarkup">ReplyMarkup</a> = <a href="/type/BotInlineMessage">BotInlineMessage</a>;<br>
<a href="/constructor/channelAdminLogEventActionChangeColor">channelAdminLogEventActionChangeColor</a>#3c2b247b prev_value:<a href="/type/int">int</a> new_value:<a href="/type/int">int</a> = <a href="/type/ChannelAdminLogEventAction">ChannelAdminLogEventAction</a>;
<a href="/constructor/channelAdminLogEventActionChangeBackgroundEmoji">channelAdminLogEventActionChangeBackgroundEmoji</a>#445fc434 prev_value:<a href="/type/long">long</a> new_value:<a href="/type/long">long</a> = <a href="/type/ChannelAdminLogEventAction">ChannelAdminLogEventAction</a>;<br>
<a href="/constructor/boost">boost</a>#2a1c8c71 flags:<a href="/type/%23">#</a> gift:flags.1?<a href="/constructor/true">true</a> giveaway:flags.2?<a href="/constructor/true">true</a> unclaimed:flags.3?<a href="/constructor/true">true</a> id:<a href="/type/string">string</a> user_id:flags.0?<a href="/type/long">long</a> giveaway_msg_id:flags.2?<a href="/type/int">int</a> date:<a href="/type/int">int</a> expires:<a href="/type/int">int</a> used_gift_slug:flags.4?<a href="/type/string">string</a> multiplier:flags.5?<a href="/type/int">int</a> = <a href="/type/Boost">Boost</a>;<br>
<a href="/constructor/premium.boostsList">premium.boostsList</a>#86f8613c flags:<a href="/type/%23">#</a> count:<a href="/type/int">int</a> boosts:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Boost">Boost</a>&gt; next_offset:flags.0?<a href="/type/string">string</a> users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; = <a href="/type/premium.BoostsList">premium.BoostsList</a>;<br>
<a href="/constructor/myBoost">myBoost</a>#c448415c flags:<a href="/type/%23">#</a> slot:<a href="/type/int">int</a> peer:flags.0?<a href="/type/Peer">Peer</a> date:<a href="/type/int">int</a> expires:<a href="/type/int">int</a> cooldown_until_date:flags.1?<a href="/type/int">int</a> = <a href="/type/MyBoost">MyBoost</a>;<br>
<a href="/constructor/premium.myBoosts">premium.myBoosts</a>#9ae228e2 my_boosts:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MyBoost">MyBoost</a>&gt; chats:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Chat">Chat</a>&gt; users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; = <a href="/type/premium.MyBoosts">premium.MyBoosts</a>;
<a href="/constructor/premium.boostsStatus">premium.boostsStatus</a>#4959427a flags:<a href="/type/%23">#</a> my_boost:flags.2?<a href="/constructor/true">true</a> level:<a href="/type/int">int</a> current_level_boosts:<a href="/type/int">int</a> boosts:<a href="/type/int">int</a> gift_boosts:flags.4?<a href="/type/int">int</a> next_level_boosts:flags.0?<a href="/type/int">int</a> premium_audience:flags.1?<a href="/type/StatsPercentValue">StatsPercentValue</a> boost_url:<a href="/type/string">string</a> prepaid_giveaways:flags.3?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/PrepaidGiveaway">PrepaidGiveaway</a>&gt; my_boost_slots:flags.2?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; = <a href="/type/premium.BoostsStatus">premium.BoostsStatus</a>;<br>
<a href="/constructor/updateBotChatBoost">updateBotChatBoost</a>#904dd49c peer:<a href="/type/Peer">Peer</a> boost:<a href="/type/Boost">Boost</a> qts:<a href="/type/int">int</a> = <a href="/type/Update">Update</a>;<br>
---functions---<br>
<a href="/method/messages.sendMessage">messages.sendMessage</a>#280d096f flags:<a href="/type/%23">#</a> no_webpage:flags.1?<a href="/constructor/true">true</a> silent:flags.5?<a href="/constructor/true">true</a> background:flags.6?<a href="/constructor/true">true</a> clear_draft:flags.7?<a href="/constructor/true">true</a> noforwards:flags.14?<a href="/constructor/true">true</a> update_stickersets_order:flags.15?<a href="/constructor/true">true</a> invert_media:flags.16?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> reply_to:flags.0?<a href="/type/InputReplyTo">InputReplyTo</a> message:<a href="/type/string">string</a> random_id:<a href="/type/long">long</a> reply_markup:flags.2?<a href="/type/ReplyMarkup">ReplyMarkup</a> entities:flags.3?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; schedule_date:flags.10?<a href="/type/int">int</a> send_as:flags.13?<a href="/type/InputPeer">InputPeer</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/messages.sendMedia">messages.sendMedia</a>#72ccc23d flags:<a href="/type/%23">#</a> silent:flags.5?<a href="/constructor/true">true</a> background:flags.6?<a href="/constructor/true">true</a> clear_draft:flags.7?<a href="/constructor/true">true</a> noforwards:flags.14?<a href="/constructor/true">true</a> update_stickersets_order:flags.15?<a href="/constructor/true">true</a> invert_media:flags.16?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> reply_to:flags.0?<a href="/type/InputReplyTo">InputReplyTo</a> media:<a href="/type/InputMedia">InputMedia</a> message:<a href="/type/string">string</a> random_id:<a href="/type/long">long</a> reply_markup:flags.2?<a href="/type/ReplyMarkup">ReplyMarkup</a> entities:flags.3?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; schedule_date:flags.10?<a href="/type/int">int</a> send_as:flags.13?<a href="/type/InputPeer">InputPeer</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/messages.editMessage">messages.editMessage</a>#48f71778 flags:<a href="/type/%23">#</a> no_webpage:flags.1?<a href="/constructor/true">true</a> invert_media:flags.16?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> id:<a href="/type/int">int</a> message:flags.11?<a href="/type/string">string</a> media:flags.14?<a href="/type/InputMedia">InputMedia</a> reply_markup:flags.2?<a href="/type/ReplyMarkup">ReplyMarkup</a> entities:flags.3?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; schedule_date:flags.15?<a href="/type/int">int</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/messages.editInlineBotMessage">messages.editInlineBotMessage</a>#83557dba flags:<a href="/type/%23">#</a> no_webpage:flags.1?<a href="/constructor/true">true</a> invert_media:flags.16?<a href="/constructor/true">true</a> id:<a href="/type/InputBotInlineMessageID">InputBotInlineMessageID</a> message:flags.11?<a href="/type/string">string</a> media:flags.14?<a href="/type/InputMedia">InputMedia</a> reply_markup:flags.2?<a href="/type/ReplyMarkup">ReplyMarkup</a> entities:flags.3?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; = <a href="/type/Bool">Bool</a>;
<a href="/method/messages.saveDraft">messages.saveDraft</a>#7ff3b806 flags:<a href="/type/%23">#</a> no_webpage:flags.1?<a href="/constructor/true">true</a> invert_media:flags.6?<a href="/constructor/true">true</a> reply_to:flags.4?<a href="/type/InputReplyTo">InputReplyTo</a> peer:<a href="/type/InputPeer">InputPeer</a> message:<a href="/type/string">string</a> entities:flags.3?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; media:flags.5?<a href="/type/InputMedia">InputMedia</a> = <a href="/type/Bool">Bool</a>;
<a href="/method/messages.getWebPage">messages.getWebPage</a>#8d9692a3 url:<a href="/type/string">string</a> hash:<a href="/type/int">int</a> = <a href="/type/messages.WebPage">messages.WebPage</a>;
<a href="/method/messages.sendMultiMedia">messages.sendMultiMedia</a>#456e8987 flags:<a href="/type/%23">#</a> silent:flags.5?<a href="/constructor/true">true</a> background:flags.6?<a href="/constructor/true">true</a> clear_draft:flags.7?<a href="/constructor/true">true</a> noforwards:flags.14?<a href="/constructor/true">true</a> update_stickersets_order:flags.15?<a href="/constructor/true">true</a> invert_media:flags.16?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> reply_to:flags.0?<a href="/type/InputReplyTo">InputReplyTo</a> multi_media:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InputSingleMedia">InputSingleMedia</a>&gt; schedule_date:flags.10?<a href="/type/int">int</a> send_as:flags.13?<a href="/type/InputPeer">InputPeer</a> = <a href="/type/Updates">Updates</a>;<br>
<a href="/method/payments.getPremiumGiftCodeOptions">payments.getPremiumGiftCodeOptions</a>#2757ba54 flags:<a href="/type/%23">#</a> boost_peer:flags.0?<a href="/type/InputPeer">InputPeer</a> = <a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/PremiumGiftCodeOption">PremiumGiftCodeOption</a>&gt;;
<a href="/method/payments.checkGiftCode">payments.checkGiftCode</a>#8e51b4c1 slug:<a href="/type/string">string</a> = <a href="/type/payments.CheckedGiftCode">payments.CheckedGiftCode</a>;
<a href="/method/payments.applyGiftCode">payments.applyGiftCode</a>#f6e26854 slug:<a href="/type/string">string</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/payments.getGiveawayInfo">payments.getGiveawayInfo</a>#f4239425 peer:<a href="/type/InputPeer">InputPeer</a> msg_id:<a href="/type/int">int</a> = <a href="/type/payments.GiveawayInfo">payments.GiveawayInfo</a>;
<a href="/method/payments.launchPrepaidGiveaway">payments.launchPrepaidGiveaway</a>#5ff58f20 peer:<a href="/type/InputPeer">InputPeer</a> giveaway_id:<a href="/type/long">long</a> purpose:<a href="/type/InputStorePaymentPurpose">InputStorePaymentPurpose</a> = <a href="/type/Updates">Updates</a>;<br>
<a href="/method/account.updateColor">account.updateColor</a>#a001cc43 flags:<a href="/type/%23">#</a> color:<a href="/type/int">int</a> background_emoji_id:flags.0?<a href="/type/long">long</a> = <a href="/type/Bool">Bool</a>;<br>
<a href="/method/channels.updateColor">channels.updateColor</a>#621a201f flags:<a href="/type/%23">#</a> channel:<a href="/type/InputChannel">InputChannel</a> color:<a href="/type/int">int</a> background_emoji_id:flags.0?<a href="/type/long">long</a> = <a href="/type/Updates">Updates</a>;<br>
<a href="/method/account.getDefaultBackgroundEmojis">account.getDefaultBackgroundEmojis</a>#a60ab9ce hash:<a href="/type/long">long</a> = <a href="/type/EmojiList">EmojiList</a>;<br>
<a href="/method/premium.getBoostsList">premium.getBoostsList</a>#60f67660 flags:<a href="/type/%23">#</a> gifts:flags.0?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> offset:<a href="/type/string">string</a> limit:<a href="/type/int">int</a> = <a href="/type/premium.BoostsList">premium.BoostsList</a>;
<a href="/method/premium.getMyBoosts">premium.getMyBoosts</a>#0be77b4a = <a href="/type/premium.MyBoosts">premium.MyBoosts</a>;
<a href="/method/premium.applyBoost">premium.applyBoost</a>#6b7da746 flags:<a href="/type/%23">#</a> slots:flags.0?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; peer:<a href="/type/InputPeer">InputPeer</a> = <a href="/type/premium.MyBoosts">premium.MyBoosts</a>;
<a href="/method/premium.getBoostsStatus">premium.getBoostsStatus</a>#042f1f61 peer:<a href="/type/InputPeer">InputPeer</a> = <a href="/type/premium.BoostsStatus">premium.BoostsStatus</a>;
<a href="/method/premium.getUserBoosts">premium.getUserBoosts</a>#39854d1f peer:<a href="/type/InputPeer">InputPeer</a> user_id:<a href="/type/InputUser">InputUser</a> = <a href="/type/premium.BoostsList">premium.BoostsList</a>;<br></code></pre></div>
<h3><a class="anchor" href="#layer-164" id="layer-164" name="layer-164"><i class="anchor-icon"></i></a><a href="/schema?layer=164">Layer 164</a></h3>
<p>Introducing <a href="/api/stories">Telegram Stories</a>, <a href="/api/boost">channel boosts</a>, <a href="/api/auth#confirming-login">session confirmation</a>, <a href="/api/bots/webapps#side-menu-mini-apps">side menu Mini Apps</a>, <a href="/api/bots/webapps#direct-link-mini-apps">direct link Mini Apps</a>, custom methods and multiple new events for <a href="/api/bots/webapps">Mini Apps</a> and a <a href="/api/privacy">close friends list</a>.</p>
<p>A new <code>story</code> <a href="/api/premium">premium feature identifier</a> was added.</p>
<p>The following new <a href="/api/web-events">web events</a> were also added to provide more functionality to <a href="/api/bots/webapps">mini apps</a>:</p>
<ul>
<li><a href="/api/web-events#web-app-request-write-access">web_app_request_write_access »</a></li>
<li><a href="/api/web-events#web-app-request-phone">web_app_request_phone »</a></li>
<li><a href="/api/web-events#web-app-invoke-custom-method">web_app_invoke_custom_method »</a></li>
<li><a href="/api/web-events#web-app-read-text-from-clipboard">web_app_read_text_from_clipboard »</a></li>
<li><a href="/api/web-events#web-app-open-scan-qr-popup">web_app_open_scan_qr_popup »</a></li>
<li><a href="/api/web-events#web-app-close-scan-qr-popup">web_app_close_scan_qr_popup »</a></li>
<li><a href="/api/web-events#web-app-setup-settings-button">web_app_setup_settings_button »</a></li>
</ul>
<p>Also, the following changes were made to existing <a href="/api/web-events">web events</a>:</p>
<ul>
<li><a href="/api/web-events#web-app-open-link">web_app_open_link »</a> events have now a 1-second inactivity TTL instead of 10 seconds, see <a href="/api/web-events#web-app-open-link">here »</a> for more info.</li>
<li><a href="/api/web-events#web-app-open-link">web_app_open_link »</a> now has an optional <code>try_instant_view</code> field that if set, equal to <code>true</code> and if the scheme of the passed <code>url</code> is either <code>http</code> or <code>https</code>, indicates the link should be opened in <a href="/methods#working-with-instant-view-pages">Instant View mode</a> if possible.</li>
</ul>
<h4><a class="anchor" href="#schema-changes" id="schema-changes" name="schema-changes"><i class="anchor-icon"></i></a>Schema changes</h4>
<h5><a class="anchor" href="#new-methods" id="new-methods" name="new-methods"><i class="anchor-icon"></i></a>New Methods</h5>
<ul>
<li>Added <a href="/method/stories.activateStealthMode">stories.activateStealthMode</a> - Activates <a href="/api/stories#stealth-mode">stories stealth mode</a>, see <a href="/api/stories#stealth-mode">here »</a> for more info.</li>
<li>Added <a href="/method/contacts.setBlocked">contacts.setBlocked</a> - Replace the contents of an entire <a href="/api/block">blocklist, see here for more info »</a>.</li>
<li>Added <a href="/method/stories.sendReaction">stories.sendReaction</a> - React to a story.</li>
<li>Added <a href="/method/bots.canSendMessage">bots.canSendMessage</a> - Check whether the specified bot can send us messages</li>
<li>Added <a href="/method/bots.allowSendMessage">bots.allowSendMessage</a> - Allow the specified bot to send us messages</li>
<li>Added <a href="/method/bots.invokeWebViewCustomMethod">bots.invokeWebViewCustomMethod</a> - Send a custom request from a <a href="/api/bots/webapps">mini bot app</a>, triggered by a <a href="/api/web-events#web-app-invoke-custom-method">web_app_invoke_custom_method event »</a>.</li>
<li>Added <a href="/method/stories.getPeerStories">stories.getPeerStories</a> - Fetch the full active <a href="/api/stories#watching-stories">story list</a> of a specific peer.</li>
<li>Added <a href="/method/stories.getAllReadPeerStories">stories.getAllReadPeerStories</a> - Obtain the latest read story ID for all peers when first logging in, returned as a list of <a href="/constructor/updateReadStories">updateReadStories</a> updates, see <a href="/api/stories#watching-stories">here »</a> for more info.</li>
<li>Added <a href="/method/stories.getPeerMaxIDs">stories.getPeerMaxIDs</a> - Get the IDs of the maximum read stories for a set of peers.</li>
<li>Added <a href="/method/stories.getChatsToSend">stories.getChatsToSend</a> - Obtain a list of channels where the user can post <a href="/api/stories">stories</a></li>
<li>Added <a href="/method/stories.togglePeerStoriesHidden">stories.togglePeerStoriesHidden</a> - Hide the active stories of a user, preventing them from being displayed on the action bar on the homescreen, see <a href="/api/stories#hiding-stories-of-other-users">here »</a> for more info.</li>
<li>Added <a href="/method/stories.getBoostsStatus">stories.getBoostsStatus</a> - Get the current <a href="/api/boost">boost status</a> of a channel, see <a href="/api/boost">here »</a> for more info on boosts.</li>
<li>Added <a href="/method/stories.getBoostersList">stories.getBoostersList</a> - Obtain info about the users currently <a href="/api/boost">boosting</a> a channel, see <a href="/api/boost">here »</a> for more info about boosts.</li>
<li>Added <a href="/method/stories.canApplyBoost">stories.canApplyBoost</a> - Check whether a channel can be <a href="/api/boost">boosted, see here for more info »</a>.</li>
<li>Added <a href="/method/stories.applyBoost">stories.applyBoost</a> - <a href="/api/boost">Boost »</a> a <a href="/api/channel">channel</a>, leveling it up and granting it permission to post <a href="/api/stories">stories »</a>.</li>
</ul>
<h5><a class="anchor" href="#changed-methods" id="changed-methods" name="changed-methods"><i class="anchor-icon"></i></a>Changed Methods</h5>
<ul>
<li>Added <strong>flags</strong>, <strong>my_stories_from</strong> parameters in <a href="/method/contacts.block">contacts.block</a></li>
<li>Added <strong>flags</strong>, <strong>my_stories_from</strong> parameters in <a href="/method/contacts.unblock">contacts.unblock</a></li>
<li>Added <strong>flags</strong>, <strong>my_stories_from</strong> parameters in <a href="/method/contacts.getBlocked">contacts.getBlocked</a></li>
<li>Added <strong>confirmed</strong> parameter in <a href="/method/account.changeAuthorizationSettings">account.changeAuthorizationSettings</a></li>
<li>Added <strong>from_side_menu</strong>, <strong>start_param</strong> parameters, changed type of <strong>url</strong> from <strong>string</strong> to <strong>flags.3?string</strong> in <a href="/method/messages.requestSimpleWebView">messages.requestSimpleWebView</a></li>
<li>Added <strong>peer</strong> parameter in <a href="/method/stories.canSendStory">stories.canSendStory</a></li>
<li>Added <strong>peer</strong>, <strong>media_areas</strong> parameters in <a href="/method/stories.sendStory">stories.sendStory</a></li>
<li>Added <strong>peer</strong>, <strong>media_areas</strong> parameters in <a href="/method/stories.editStory">stories.editStory</a></li>
<li>Added <strong>peer</strong> parameter in <a href="/method/stories.deleteStories">stories.deleteStories</a></li>
<li>Added <strong>peer</strong> parameter in <a href="/method/stories.togglePinned">stories.togglePinned</a></li>
<li>Added <strong>peer</strong> parameter, removed <strong>user_id</strong> parameter in <a href="/method/stories.getPinnedStories">stories.getPinnedStories</a></li>
<li>Added <strong>peer</strong> parameter in <a href="/method/stories.getStoriesArchive">stories.getStoriesArchive</a></li>
<li>Added <strong>peer</strong> parameter, removed <strong>user_id</strong> parameter in <a href="/method/stories.getStoriesByID">stories.getStoriesByID</a></li>
<li>Added <strong>peer</strong> parameter, removed <strong>user_id</strong> parameter in <a href="/method/stories.readStories">stories.readStories</a></li>
<li>Added <strong>peer</strong> parameter, removed <strong>user_id</strong> parameter in <a href="/method/stories.incrementStoryViews">stories.incrementStoryViews</a></li>
<li>Added <strong>flags</strong>, <strong>just_contacts</strong>, <strong>reactions_first</strong>, <strong>peer</strong>, <strong>q</strong>, <strong>offset</strong> parameters, removed <strong>offset_date</strong>, <strong>offset_id</strong> parameters in <a href="/method/stories.getStoryViewsList">stories.getStoryViewsList</a></li>
<li>Added <strong>peer</strong> parameter in <a href="/method/stories.getStoriesViews">stories.getStoriesViews</a></li>
<li>Added <strong>peer</strong> parameter, removed <strong>user_id</strong> parameter in <a href="/method/stories.exportStoryLink">stories.exportStoryLink</a></li>
<li>Added <strong>peer</strong> parameter, removed <strong>user_id</strong> parameter in <a href="/method/stories.report">stories.report</a></li>
</ul>
<h5><a class="anchor" href="#deleted-methods" id="deleted-methods" name="deleted-methods"><i class="anchor-icon"></i></a>Deleted Methods</h5>
<ul>
<li>Removed contacts.toggleStoriesHidden</li>
<li>Removed stories.getUserStories</li>
<li>Removed stories.getAllReadUserStories</li>
<li>Removed users.getStoriesMaxIDs</li>
</ul>
<h5><a class="anchor" href="#new-constructors" id="new-constructors" name="new-constructors"><i class="anchor-icon"></i></a>New Constructors</h5>
<ul>
<li>Added <a href="/constructor/updateNewAuthorization">updateNewAuthorization</a> - A new session logged into the current user's account through an unknown device.</li>
<li>Added <a href="/constructor/storiesStealthMode">storiesStealthMode</a> - Information about the current <a href="/api/stories#stealth-mode">stealth mode</a> session.</li>
<li>Added <a href="/constructor/updateStoriesStealthMode">updateStoriesStealthMode</a> - Indicates that <a href="/api/stories#stealth-mode">stories stealth mode</a> was activated.</li>
<li>Added <a href="/constructor/mediaAreaCoordinates">mediaAreaCoordinates</a> - Coordinates and size of a clicable rectangular area on top of a story.</li>
<li>Added <a href="/constructor/mediaAreaVenue">mediaAreaVenue</a> - Represents a location tag attached to a <a href="/api/stories">story</a>, with additional venue information.</li>
<li>Added <a href="/constructor/inputMediaAreaVenue">inputMediaAreaVenue</a> - Represents a <a href="/api/stories#media-areas">location tag</a> attached to a <a href="/api/stories">story</a>, with additional venue information.</li>
<li>Added <a href="/constructor/mediaAreaGeoPoint">mediaAreaGeoPoint</a> - Represents a geolocation tag attached to a <a href="/api/stories">story</a>.</li>
<li>Added <a href="/constructor/updateSentStoryReaction">updateSentStoryReaction</a> - Indicates we <a href="/api/stories#reactions">reacted to a story »</a>.</li>
<li>Added <a href="/constructor/mediaAreaSuggestedReaction">mediaAreaSuggestedReaction</a> - Represents a reaction bubble.</li>
<li>Added <a href="/constructor/peerStories">peerStories</a> - <a href="/api/stories">Stories</a> associated to a peer</li>
<li>Added <a href="/constructor/stories.peerStories">stories.peerStories</a> - <a href="/api/stories#watching-stories">Active story list</a> of a specific peer.</li>
<li>Added <a href="/constructor/stories.boostsStatus">stories.boostsStatus</a> - The current <a href="/api/boost">boost status »</a> of a channel.</li>
<li>Added <a href="/constructor/stories.canApplyBoostOk">stories.canApplyBoostOk</a> - We're not boosting any channel, and we can freely boost the specified channel.</li>
<li>Added <a href="/constructor/stories.canApplyBoostReplace">stories.canApplyBoostReplace</a> - We're boosting another channel, but we can freely boost the specified channel.</li>
<li>Added <a href="/constructor/booster">booster</a> - Info about a <a href="/api/boost">boost</a> made by a specific user.</li>
<li>Added <a href="/constructor/stories.boostersList">stories.boostersList</a> - Info about the users currently <a href="/api/boost">boosting</a> the channel.</li>
</ul>
<h5><a class="anchor" href="#changed-constructors" id="changed-constructors" name="changed-constructors"><i class="anchor-icon"></i></a>Changed Constructors</h5>
<ul>
<li>Removed <strong>view_forum_as_messages</strong> parameter in <a href="/constructor/dialog">dialog</a></li>
<li>Added <strong>blocked_my_stories_from</strong> parameter, changed type of <strong>stories</strong> from <strong>flags.25?UserStories</strong> to <strong>flags.25?PeerStories</strong> in <a href="/constructor/userFull">userFull</a></li>
<li>Removed <strong>video</strong>, <strong>round</strong>, <strong>voice</strong> parameters in <a href="/constructor/messageMediaDocument">messageMediaDocument</a></li>
<li>Added <strong>unconfirmed</strong> parameter in <a href="/constructor/authorization">authorization</a></li>
<li>Added <strong>flags</strong>, <strong>date</strong> parameters in <a href="/constructor/updateReadMessagesContents">updateReadMessagesContents</a></li>
<li>Added <strong>stories_hidden</strong>, <strong>stories_hidden_min</strong>, <strong>stories_unavailable</strong>, <strong>stories_max_id</strong> parameters in <a href="/constructor/channel">channel</a></li>
<li>Added <strong>stories_pinned_available</strong>, <strong>stories</strong> parameters in <a href="/constructor/channelFull">channelFull</a></li>
<li>Added <strong>terms_url</strong> parameter, removed <strong>recurring_terms_url</strong> parameter in <a href="/constructor/invoice">invoice</a></li>
<li>Added <strong>from_request</strong> parameter in <a href="/constructor/messageActionBotAllowed">messageActionBotAllowed</a></li>
<li>Added <strong>post_stories</strong>, <strong>edit_stories</strong>, <strong>delete_stories</strong> parameters in <a href="/constructor/chatAdminRights">chatAdminRights</a></li>
<li>Added <strong>flags</strong>, <strong>blocked_my_stories_from</strong> parameters, changed type of <strong>blocked</strong> from <strong>Bool</strong> to <strong>flags.0?true</strong> in <a href="/constructor/updatePeerBlocked">updatePeerBlocked</a></li>
<li>Added <strong>show_in_attach_menu</strong>, <strong>show_in_side_menu</strong>, <strong>side_menu_disclaimer_needed</strong> parameters, changed type of <strong>peer_types</strong> from <strong>Vector&lt;AttachMenuPeerType&gt;</strong> to <strong>flags.3?Vector&lt;AttachMenuPeerType&gt;</strong> in <a href="/constructor/attachMenuBot">attachMenuBot</a></li>
<li>Added <strong>has_settings</strong> parameter in <a href="/constructor/messages.botApp">messages.botApp</a></li>
<li>Added <strong>has_viewers</strong>, <strong>forwards_count</strong>, <strong>reactions</strong>, <strong>reactions_count</strong> parameters in <a href="/constructor/storyViews">storyViews</a></li>
<li>Added <strong>out</strong>, <strong>media_areas</strong>, <strong>sent_reaction</strong> parameters in <a href="/constructor/storyItem">storyItem</a></li>
<li>Added <strong>peer</strong> parameter, removed <strong>user_id</strong> parameter in <a href="/constructor/updateStory">updateStory</a></li>
<li>Added <strong>peer</strong> parameter, removed <strong>user_id</strong> parameter in <a href="/constructor/updateReadStories">updateReadStories</a></li>
<li>Added <strong>flags</strong>, <strong>stealth_mode</strong> parameters in <a href="/constructor/stories.allStoriesNotModified">stories.allStoriesNotModified</a></li>
<li>Added <strong>peer_stories</strong>, <strong>chats</strong>, <strong>stealth_mode</strong> parameters, removed <strong>user_stories</strong> parameter in <a href="/constructor/stories.allStories">stories.allStories</a></li>
<li>Added <strong>chats</strong> parameter in <a href="/constructor/stories.stories">stories.stories</a></li>
<li>Added <strong>flags</strong>, <strong>blocked</strong>, <strong>blocked_my_stories_from</strong>, <strong>reaction</strong> parameters in <a href="/constructor/storyView">storyView</a></li>
<li>Added <strong>flags</strong>, <strong>reactions_count</strong>, <strong>next_offset</strong> parameters in <a href="/constructor/stories.storyViewsList">stories.storyViewsList</a></li>
<li>Added <strong>peer</strong> parameter, removed <strong>user_id</strong> parameter in <a href="/constructor/inputMediaStory">inputMediaStory</a></li>
<li>Added <strong>peer</strong> parameter, removed <strong>user_id</strong> parameter in <a href="/constructor/messageMediaStory">messageMediaStory</a></li>
<li>Added <strong>peer</strong> parameter, removed <strong>user_id</strong> parameter in <a href="/constructor/webPageAttributeStory">webPageAttributeStory</a></li>
</ul>
<h5><a class="anchor" href="#deleted-constructors" id="deleted-constructors" name="deleted-constructors"><i class="anchor-icon"></i></a>Deleted Constructors</h5>
<ul>
<li>Removed userStories</li>
<li>Removed stories.userStories</li>
</ul>
<h4><a class="anchor" href="#push-notification-changes" id="push-notification-changes" name="push-notification-changes"><i class="anchor-icon"></i></a>PUSH notification changes</h4>
<h5><a class="anchor" href="#new-push-notifications" id="new-push-notifications" name="new-push-notifications"><i class="anchor-icon"></i></a>New PUSH notifications</h5>
<ul>
<li>Added <a href="/api/push-updates#possible-notifications">CHANNEL_MESSAGE_STORY</a> - <code>{1} shared a story</code></li>
<li>Added <a href="/api/push-updates#possible-notifications">CHAT_MESSAGE_STORY</a> - <code>{1} shared a story to the group</code></li>
<li>Added <a href="/api/push-updates#possible-notifications">MESSAGE_STORY</a> - <code>{1} shared a story with you</code></li>
<li>Added <a href="/api/push-updates#possible-notifications">MESSAGE_STORY_MENTION</a> - <code>{1} mentioned you in a story</code></li>
<li>Added <a href="/api/push-updates#possible-notifications">STORY_HIDDEN_AUTHOR</a> - <code>A new story was posted (comment: emitted when previews are hidden for this peer)</code></li>
<li>Added <a href="/api/push-updates#possible-notifications">STORY_NOTEXT</a> - <code>{1} posted a story</code></li>
</ul>
<h4><a class="anchor" href="#schema" id="schema" name="schema"><i class="anchor-icon"></i></a>Schema</h4>
<div><pre><code><a href="/constructor/dialog">dialog</a>#d58a08c6 flags:<a href="/type/%23">#</a> pinned:flags.2?<a href="/constructor/true">true</a> unread_mark:flags.3?<a href="/constructor/true">true</a> peer:<a href="/type/Peer">Peer</a> top_message:<a href="/type/int">int</a> read_inbox_max_id:<a href="/type/int">int</a> read_outbox_max_id:<a href="/type/int">int</a> unread_count:<a href="/type/int">int</a> unread_mentions_count:<a href="/type/int">int</a> unread_reactions_count:<a href="/type/int">int</a> notify_settings:<a href="/type/PeerNotifySettings">PeerNotifySettings</a> pts:flags.0?<a href="/type/int">int</a> draft:flags.1?<a href="/type/DraftMessage">DraftMessage</a> folder_id:flags.4?<a href="/type/int">int</a> ttl_period:flags.5?<a href="/type/int">int</a> = <a href="/type/Dialog">Dialog</a>;<br>
<a href="/constructor/userFull">userFull</a>#b9b12c6c flags:<a href="/type/%23">#</a> blocked:flags.0?<a href="/constructor/true">true</a> phone_calls_available:flags.4?<a href="/constructor/true">true</a> phone_calls_private:flags.5?<a href="/constructor/true">true</a> can_pin_message:flags.7?<a href="/constructor/true">true</a> has_scheduled:flags.12?<a href="/constructor/true">true</a> video_calls_available:flags.13?<a href="/constructor/true">true</a> voice_messages_forbidden:flags.20?<a href="/constructor/true">true</a> translations_disabled:flags.23?<a href="/constructor/true">true</a> stories_pinned_available:flags.26?<a href="/constructor/true">true</a> blocked_my_stories_from:flags.27?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> about:flags.1?<a href="/type/string">string</a> settings:<a href="/type/PeerSettings">PeerSettings</a> personal_photo:flags.21?<a href="/type/Photo">Photo</a> profile_photo:flags.2?<a href="/type/Photo">Photo</a> fallback_photo:flags.22?<a href="/type/Photo">Photo</a> notify_settings:<a href="/type/PeerNotifySettings">PeerNotifySettings</a> bot_info:flags.3?<a href="/type/BotInfo">BotInfo</a> pinned_msg_id:flags.6?<a href="/type/int">int</a> common_chats_count:<a href="/type/int">int</a> folder_id:flags.11?<a href="/type/int">int</a> ttl_period:flags.14?<a href="/type/int">int</a> theme_emoticon:flags.15?<a href="/type/string">string</a> private_forward_name:flags.16?<a href="/type/string">string</a> bot_group_admin_rights:flags.17?<a href="/type/ChatAdminRights">ChatAdminRights</a> bot_broadcast_admin_rights:flags.18?<a href="/type/ChatAdminRights">ChatAdminRights</a> premium_gifts:flags.19?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/PremiumGiftOption">PremiumGiftOption</a>&gt; wallpaper:flags.24?<a href="/type/WallPaper">WallPaper</a> stories:flags.25?<a href="/type/PeerStories">PeerStories</a> = <a href="/type/UserFull">UserFull</a>;
<a href="/constructor/updateNewAuthorization">updateNewAuthorization</a>#8951abef flags:<a href="/type/%23">#</a> unconfirmed:flags.0?<a href="/constructor/true">true</a> hash:<a href="/type/long">long</a> date:flags.0?<a href="/type/int">int</a> device:flags.0?<a href="/type/string">string</a> location:flags.0?<a href="/type/string">string</a> = <a href="/type/Update">Update</a>;<br>
<a href="/constructor/messageMediaDocument">messageMediaDocument</a>#4cf4d72d flags:<a href="/type/%23">#</a> nopremium:flags.3?<a href="/constructor/true">true</a> spoiler:flags.4?<a href="/constructor/true">true</a> document:flags.0?<a href="/type/Document">Document</a> alt_document:flags.5?<a href="/type/Document">Document</a> ttl_seconds:flags.2?<a href="/type/int">int</a> = <a href="/type/MessageMedia">MessageMedia</a>;<br>
<a href="/constructor/authorization">authorization</a>#ad01d61d flags:<a href="/type/%23">#</a> current:flags.0?<a href="/constructor/true">true</a> official_app:flags.1?<a href="/constructor/true">true</a> password_pending:flags.2?<a href="/constructor/true">true</a> encrypted_requests_disabled:flags.3?<a href="/constructor/true">true</a> call_requests_disabled:flags.4?<a href="/constructor/true">true</a> unconfirmed:flags.5?<a href="/constructor/true">true</a> hash:<a href="/type/long">long</a> device_model:<a href="/type/string">string</a> platform:<a href="/type/string">string</a> system_version:<a href="/type/string">string</a> api_id:<a href="/type/int">int</a> app_name:<a href="/type/string">string</a> app_version:<a href="/type/string">string</a> date_created:<a href="/type/int">int</a> date_active:<a href="/type/int">int</a> ip:<a href="/type/string">string</a> country:<a href="/type/string">string</a> region:<a href="/type/string">string</a> = <a href="/type/Authorization">Authorization</a>;<br>
<a href="/constructor/updateReadMessagesContents">updateReadMessagesContents</a>#f8227181 flags:<a href="/type/%23">#</a> messages:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; pts:<a href="/type/int">int</a> pts_count:<a href="/type/int">int</a> date:flags.0?<a href="/type/int">int</a> = <a href="/type/Update">Update</a>;<br>
<a href="/constructor/channel">channel</a>#94f592db flags:<a href="/type/%23">#</a> creator:flags.0?<a href="/constructor/true">true</a> left:flags.2?<a href="/constructor/true">true</a> broadcast:flags.5?<a href="/constructor/true">true</a> verified:flags.7?<a href="/constructor/true">true</a> megagroup:flags.8?<a href="/constructor/true">true</a> restricted:flags.9?<a href="/constructor/true">true</a> signatures:flags.11?<a href="/constructor/true">true</a> min:flags.12?<a href="/constructor/true">true</a> scam:flags.19?<a href="/constructor/true">true</a> has_link:flags.20?<a href="/constructor/true">true</a> has_geo:flags.21?<a href="/constructor/true">true</a> slowmode_enabled:flags.22?<a href="/constructor/true">true</a> call_active:flags.23?<a href="/constructor/true">true</a> call_not_empty:flags.24?<a href="/constructor/true">true</a> fake:flags.25?<a href="/constructor/true">true</a> gigagroup:flags.26?<a href="/constructor/true">true</a> noforwards:flags.27?<a href="/constructor/true">true</a> join_to_send:flags.28?<a href="/constructor/true">true</a> join_request:flags.29?<a href="/constructor/true">true</a> forum:flags.30?<a href="/constructor/true">true</a> flags2:<a href="/type/%23">#</a> stories_hidden:flags2.1?<a href="/constructor/true">true</a> stories_hidden_min:flags2.2?<a href="/constructor/true">true</a> stories_unavailable:flags2.3?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> access_hash:flags.13?<a href="/type/long">long</a> title:<a href="/type/string">string</a> username:flags.6?<a href="/type/string">string</a> photo:<a href="/type/ChatPhoto">ChatPhoto</a> date:<a href="/type/int">int</a> restriction_reason:flags.9?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/RestrictionReason">RestrictionReason</a>&gt; admin_rights:flags.14?<a href="/type/ChatAdminRights">ChatAdminRights</a> banned_rights:flags.15?<a href="/type/ChatBannedRights">ChatBannedRights</a> default_banned_rights:flags.18?<a href="/type/ChatBannedRights">ChatBannedRights</a> participants_count:flags.17?<a href="/type/int">int</a> usernames:flags2.0?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Username">Username</a>&gt; stories_max_id:flags2.4?<a href="/type/int">int</a> = <a href="/type/Chat">Chat</a>;
<a href="/constructor/channelFull">channelFull</a>#723027bd flags:<a href="/type/%23">#</a> can_view_participants:flags.3?<a href="/constructor/true">true</a> can_set_username:flags.6?<a href="/constructor/true">true</a> can_set_stickers:flags.7?<a href="/constructor/true">true</a> hidden_prehistory:flags.10?<a href="/constructor/true">true</a> can_set_location:flags.16?<a href="/constructor/true">true</a> has_scheduled:flags.19?<a href="/constructor/true">true</a> can_view_stats:flags.20?<a href="/constructor/true">true</a> blocked:flags.22?<a href="/constructor/true">true</a> flags2:<a href="/type/%23">#</a> can_delete_channel:flags2.0?<a href="/constructor/true">true</a> antispam:flags2.1?<a href="/constructor/true">true</a> participants_hidden:flags2.2?<a href="/constructor/true">true</a> translations_disabled:flags2.3?<a href="/constructor/true">true</a> stories_pinned_available:flags2.5?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> about:<a href="/type/string">string</a> participants_count:flags.0?<a href="/type/int">int</a> admins_count:flags.1?<a href="/type/int">int</a> kicked_count:flags.2?<a href="/type/int">int</a> banned_count:flags.2?<a href="/type/int">int</a> online_count:flags.13?<a href="/type/int">int</a> read_inbox_max_id:<a href="/type/int">int</a> read_outbox_max_id:<a href="/type/int">int</a> unread_count:<a href="/type/int">int</a> chat_photo:<a href="/type/Photo">Photo</a> notify_settings:<a href="/type/PeerNotifySettings">PeerNotifySettings</a> exported_invite:flags.23?<a href="/type/ExportedChatInvite">ExportedChatInvite</a> bot_info:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/BotInfo">BotInfo</a>&gt; migrated_from_chat_id:flags.4?<a href="/type/long">long</a> migrated_from_max_id:flags.4?<a href="/type/int">int</a> pinned_msg_id:flags.5?<a href="/type/int">int</a> stickerset:flags.8?<a href="/type/StickerSet">StickerSet</a> available_min_id:flags.9?<a href="/type/int">int</a> folder_id:flags.11?<a href="/type/int">int</a> linked_chat_id:flags.14?<a href="/type/long">long</a> location:flags.15?<a href="/type/ChannelLocation">ChannelLocation</a> slowmode_seconds:flags.17?<a href="/type/int">int</a> slowmode_next_send_date:flags.18?<a href="/type/int">int</a> stats_dc:flags.12?<a href="/type/int">int</a> pts:<a href="/type/int">int</a> call:flags.21?<a href="/type/InputGroupCall">InputGroupCall</a> ttl_period:flags.24?<a href="/type/int">int</a> pending_suggestions:flags.25?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/string">string</a>&gt; groupcall_default_join_as:flags.26?<a href="/type/Peer">Peer</a> theme_emoticon:flags.27?<a href="/type/string">string</a> requests_pending:flags.28?<a href="/type/int">int</a> recent_requesters:flags.28?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/long">long</a>&gt; default_send_as:flags.29?<a href="/type/Peer">Peer</a> available_reactions:flags.30?<a href="/type/ChatReactions">ChatReactions</a> stories:flags2.4?<a href="/type/PeerStories">PeerStories</a> = <a href="/type/ChatFull">ChatFull</a>;<br>
<a href="/constructor/invoice">invoice</a>#5db95a15 flags:<a href="/type/%23">#</a> test:flags.0?<a href="/constructor/true">true</a> name_requested:flags.1?<a href="/constructor/true">true</a> phone_requested:flags.2?<a href="/constructor/true">true</a> email_requested:flags.3?<a href="/constructor/true">true</a> shipping_address_requested:flags.4?<a href="/constructor/true">true</a> flexible:flags.5?<a href="/constructor/true">true</a> phone_to_provider:flags.6?<a href="/constructor/true">true</a> email_to_provider:flags.7?<a href="/constructor/true">true</a> recurring:flags.9?<a href="/constructor/true">true</a> currency:<a href="/type/string">string</a> prices:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/LabeledPrice">LabeledPrice</a>&gt; max_tip_amount:flags.8?<a href="/type/long">long</a> suggested_tip_amounts:flags.8?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/long">long</a>&gt; terms_url:flags.10?<a href="/type/string">string</a> = <a href="/type/Invoice">Invoice</a>;<br>
<a href="/constructor/messageActionBotAllowed">messageActionBotAllowed</a>#c516d679 flags:<a href="/type/%23">#</a> attach_menu:flags.1?<a href="/constructor/true">true</a> from_request:flags.3?<a href="/constructor/true">true</a> domain:flags.0?<a href="/type/string">string</a> app:flags.2?<a href="/type/BotApp">BotApp</a> = <a href="/type/MessageAction">MessageAction</a>;<br>
<a href="/constructor/chatAdminRights">chatAdminRights</a>#5fb224d5 flags:<a href="/type/%23">#</a> change_info:flags.0?<a href="/constructor/true">true</a> post_messages:flags.1?<a href="/constructor/true">true</a> edit_messages:flags.2?<a href="/constructor/true">true</a> delete_messages:flags.3?<a href="/constructor/true">true</a> ban_users:flags.4?<a href="/constructor/true">true</a> invite_users:flags.5?<a href="/constructor/true">true</a> pin_messages:flags.7?<a href="/constructor/true">true</a> add_admins:flags.9?<a href="/constructor/true">true</a> anonymous:flags.10?<a href="/constructor/true">true</a> manage_call:flags.11?<a href="/constructor/true">true</a> other:flags.12?<a href="/constructor/true">true</a> manage_topics:flags.13?<a href="/constructor/true">true</a> post_stories:flags.14?<a href="/constructor/true">true</a> edit_stories:flags.15?<a href="/constructor/true">true</a> delete_stories:flags.16?<a href="/constructor/true">true</a> = <a href="/type/ChatAdminRights">ChatAdminRights</a>;<br>
<a href="/constructor/updatePeerBlocked">updatePeerBlocked</a>#ebe07752 flags:<a href="/type/%23">#</a> blocked:flags.0?<a href="/constructor/true">true</a> blocked_my_stories_from:flags.1?<a href="/constructor/true">true</a> peer_id:<a href="/type/Peer">Peer</a> = <a href="/type/Update">Update</a>;<br>
<a href="/constructor/attachMenuBot">attachMenuBot</a>#d90d8dfe flags:<a href="/type/%23">#</a> inactive:flags.0?<a href="/constructor/true">true</a> has_settings:flags.1?<a href="/constructor/true">true</a> request_write_access:flags.2?<a href="/constructor/true">true</a> show_in_attach_menu:flags.3?<a href="/constructor/true">true</a> show_in_side_menu:flags.4?<a href="/constructor/true">true</a> side_menu_disclaimer_needed:flags.5?<a href="/constructor/true">true</a> bot_id:<a href="/type/long">long</a> short_name:<a href="/type/string">string</a> peer_types:flags.3?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/AttachMenuPeerType">AttachMenuPeerType</a>&gt; icons:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/AttachMenuBotIcon">AttachMenuBotIcon</a>&gt; = <a href="/type/AttachMenuBot">AttachMenuBot</a>;<br>
<a href="/constructor/messages.botApp">messages.botApp</a>#eb50adf5 flags:<a href="/type/%23">#</a> inactive:flags.0?<a href="/constructor/true">true</a> request_write_access:flags.1?<a href="/constructor/true">true</a> has_settings:flags.2?<a href="/constructor/true">true</a> app:<a href="/type/BotApp">BotApp</a> = <a href="/type/messages.BotApp">messages.BotApp</a>;<br>
<a href="/constructor/storyViews">storyViews</a>#8d595cd6 flags:<a href="/type/%23">#</a> has_viewers:flags.1?<a href="/constructor/true">true</a> views_count:<a href="/type/int">int</a> forwards_count:flags.2?<a href="/type/int">int</a> reactions:flags.3?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/ReactionCount">ReactionCount</a>&gt; reactions_count:flags.4?<a href="/type/int">int</a> recent_viewers:flags.0?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/long">long</a>&gt; = <a href="/type/StoryViews">StoryViews</a>;
<a href="/constructor/storyItem">storyItem</a>#44c457ce flags:<a href="/type/%23">#</a> pinned:flags.5?<a href="/constructor/true">true</a> public:flags.7?<a href="/constructor/true">true</a> close_friends:flags.8?<a href="/constructor/true">true</a> min:flags.9?<a href="/constructor/true">true</a> noforwards:flags.10?<a href="/constructor/true">true</a> edited:flags.11?<a href="/constructor/true">true</a> contacts:flags.12?<a href="/constructor/true">true</a> selected_contacts:flags.13?<a href="/constructor/true">true</a> out:flags.16?<a href="/constructor/true">true</a> id:<a href="/type/int">int</a> date:<a href="/type/int">int</a> expire_date:<a href="/type/int">int</a> caption:flags.0?<a href="/type/string">string</a> entities:flags.1?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; media:<a href="/type/MessageMedia">MessageMedia</a> media_areas:flags.14?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MediaArea">MediaArea</a>&gt; privacy:flags.2?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/PrivacyRule">PrivacyRule</a>&gt; views:flags.3?<a href="/type/StoryViews">StoryViews</a> sent_reaction:flags.15?<a href="/type/Reaction">Reaction</a> = <a href="/type/StoryItem">StoryItem</a>;<br>
<a href="/constructor/updateStory">updateStory</a>#75b3b798 peer:<a href="/type/Peer">Peer</a> story:<a href="/type/StoryItem">StoryItem</a> = <a href="/type/Update">Update</a>;
<a href="/constructor/updateReadStories">updateReadStories</a>#f74e932b peer:<a href="/type/Peer">Peer</a> max_id:<a href="/type/int">int</a> = <a href="/type/Update">Update</a>;<br>
<a href="/constructor/stories.allStoriesNotModified">stories.allStoriesNotModified</a>#1158fe3e flags:<a href="/type/%23">#</a> state:<a href="/type/string">string</a> stealth_mode:<a href="/type/StoriesStealthMode">StoriesStealthMode</a> = <a href="/type/stories.AllStories">stories.AllStories</a>;
<a href="/constructor/stories.allStories">stories.allStories</a>#6efc5e81 flags:<a href="/type/%23">#</a> has_more:flags.0?<a href="/constructor/true">true</a> count:<a href="/type/int">int</a> state:<a href="/type/string">string</a> peer_stories:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/PeerStories">PeerStories</a>&gt; chats:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Chat">Chat</a>&gt; users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; stealth_mode:<a href="/type/StoriesStealthMode">StoriesStealthMode</a> = <a href="/type/stories.AllStories">stories.AllStories</a>;
<a href="/constructor/stories.stories">stories.stories</a>#5dd8c3c8 count:<a href="/type/int">int</a> stories:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/StoryItem">StoryItem</a>&gt; chats:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Chat">Chat</a>&gt; users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; = <a href="/type/stories.Stories">stories.Stories</a>;
<a href="/constructor/storyView">storyView</a>#b0bdeac5 flags:<a href="/type/%23">#</a> blocked:flags.0?<a href="/constructor/true">true</a> blocked_my_stories_from:flags.1?<a href="/constructor/true">true</a> user_id:<a href="/type/long">long</a> date:<a href="/type/int">int</a> reaction:flags.2?<a href="/type/Reaction">Reaction</a> = <a href="/type/StoryView">StoryView</a>;
<a href="/constructor/stories.storyViewsList">stories.storyViewsList</a>#46e9b9ec flags:<a href="/type/%23">#</a> count:<a href="/type/int">int</a> reactions_count:<a href="/type/int">int</a> views:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/StoryView">StoryView</a>&gt; users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; next_offset:flags.0?<a href="/type/string">string</a> = <a href="/type/stories.StoryViewsList">stories.StoryViewsList</a>;<br>
<a href="/constructor/inputMediaStory">inputMediaStory</a>#89fdd778 peer:<a href="/type/InputPeer">InputPeer</a> id:<a href="/type/int">int</a> = <a href="/type/InputMedia">InputMedia</a>;<br>
<a href="/constructor/messageMediaStory">messageMediaStory</a>#68cb6283 flags:<a href="/type/%23">#</a> via_mention:flags.1?<a href="/constructor/true">true</a> peer:<a href="/type/Peer">Peer</a> id:<a href="/type/int">int</a> story:flags.0?<a href="/type/StoryItem">StoryItem</a> = <a href="/type/MessageMedia">MessageMedia</a>;<br>
<a href="/constructor/webPageAttributeStory">webPageAttributeStory</a>#2e94c3e7 flags:<a href="/type/%23">#</a> peer:<a href="/type/Peer">Peer</a> id:<a href="/type/int">int</a> story:flags.0?<a href="/type/StoryItem">StoryItem</a> = <a href="/type/WebPageAttribute">WebPageAttribute</a>;<br>
<a href="/constructor/storiesStealthMode">storiesStealthMode</a>#712e27fd flags:<a href="/type/%23">#</a> active_until_date:flags.0?<a href="/type/int">int</a> cooldown_until_date:flags.1?<a href="/type/int">int</a> = <a href="/type/StoriesStealthMode">StoriesStealthMode</a>;<br>
<a href="/constructor/updateStoriesStealthMode">updateStoriesStealthMode</a>#2c084dc1 stealth_mode:<a href="/type/StoriesStealthMode">StoriesStealthMode</a> = <a href="/type/Update">Update</a>;<br>
<a href="/constructor/mediaAreaCoordinates">mediaAreaCoordinates</a>#03d1ea4e x:<a href="/type/double">double</a> y:<a href="/type/double">double</a> w:<a href="/type/double">double</a> h:<a href="/type/double">double</a> rotation:<a href="/type/double">double</a> = <a href="/type/MediaAreaCoordinates">MediaAreaCoordinates</a>;
<a href="/constructor/mediaAreaVenue">mediaAreaVenue</a>#be82db9c coordinates:<a href="/type/MediaAreaCoordinates">MediaAreaCoordinates</a> geo:<a href="/type/GeoPoint">GeoPoint</a> title:<a href="/type/string">string</a> address:<a href="/type/string">string</a> provider:<a href="/type/string">string</a> venue_id:<a href="/type/string">string</a> venue_type:<a href="/type/string">string</a> = <a href="/type/MediaArea">MediaArea</a>;<br>
<a href="/constructor/inputMediaAreaVenue">inputMediaAreaVenue</a>#b282217f coordinates:<a href="/type/MediaAreaCoordinates">MediaAreaCoordinates</a> query_id:<a href="/type/long">long</a> result_id:<a href="/type/string">string</a> = <a href="/type/MediaArea">MediaArea</a>;<br>
<a href="/constructor/mediaAreaGeoPoint">mediaAreaGeoPoint</a>#df8b3b22 coordinates:<a href="/type/MediaAreaCoordinates">MediaAreaCoordinates</a> geo:<a href="/type/GeoPoint">GeoPoint</a> = <a href="/type/MediaArea">MediaArea</a>;<br>
<a href="/constructor/updateSentStoryReaction">updateSentStoryReaction</a>#7d627683 peer:<a href="/type/Peer">Peer</a> story_id:<a href="/type/int">int</a> reaction:<a href="/type/Reaction">Reaction</a> = <a href="/type/Update">Update</a>;<br>
<a href="/constructor/mediaAreaSuggestedReaction">mediaAreaSuggestedReaction</a>#14455871 flags:<a href="/type/%23">#</a> dark:flags.0?<a href="/constructor/true">true</a> flipped:flags.1?<a href="/constructor/true">true</a> coordinates:<a href="/type/MediaAreaCoordinates">MediaAreaCoordinates</a> reaction:<a href="/type/Reaction">Reaction</a> = <a href="/type/MediaArea">MediaArea</a>;<br>
<a href="/constructor/peerStories">peerStories</a>#9a35e999 flags:<a href="/type/%23">#</a> peer:<a href="/type/Peer">Peer</a> max_read_id:flags.0?<a href="/type/int">int</a> stories:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/StoryItem">StoryItem</a>&gt; = <a href="/type/PeerStories">PeerStories</a>;<br>
<a href="/constructor/stories.peerStories">stories.peerStories</a>#cae68768 stories:<a href="/type/PeerStories">PeerStories</a> chats:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Chat">Chat</a>&gt; users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; = <a href="/type/stories.PeerStories">stories.PeerStories</a>;
<a href="/constructor/stories.boostsStatus">stories.boostsStatus</a>#66ea1fef flags:<a href="/type/%23">#</a> my_boost:flags.2?<a href="/constructor/true">true</a> level:<a href="/type/int">int</a> current_level_boosts:<a href="/type/int">int</a> boosts:<a href="/type/int">int</a> next_level_boosts:flags.0?<a href="/type/int">int</a> premium_audience:flags.1?<a href="/type/StatsPercentValue">StatsPercentValue</a> = <a href="/type/stories.BoostsStatus">stories.BoostsStatus</a>;
<a href="/constructor/stories.canApplyBoostOk">stories.canApplyBoostOk</a>#c3173587 = <a href="/type/stories.CanApplyBoostResult">stories.CanApplyBoostResult</a>;
<a href="/constructor/stories.canApplyBoostReplace">stories.canApplyBoostReplace</a>#712c4655 current_boost:<a href="/type/Peer">Peer</a> chats:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Chat">Chat</a>&gt; = <a href="/type/stories.CanApplyBoostResult">stories.CanApplyBoostResult</a>;<br>
<a href="/constructor/booster">booster</a>#0e9e6380 user_id:<a href="/type/long">long</a> expires:<a href="/type/int">int</a> = <a href="/type/Booster">Booster</a>;<br>
<a href="/constructor/stories.boostersList">stories.boostersList</a>#f3dd3d1d flags:<a href="/type/%23">#</a> count:<a href="/type/int">int</a> boosters:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Booster">Booster</a>&gt; next_offset:flags.0?<a href="/type/string">string</a> users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; = <a href="/type/stories.BoostersList">stories.BoostersList</a>;<br>
---functions---<br>
<a href="/method/contacts.block">contacts.block</a>#2e2e8734 flags:<a href="/type/%23">#</a> my_stories_from:flags.0?<a href="/constructor/true">true</a> id:<a href="/type/InputPeer">InputPeer</a> = <a href="/type/Bool">Bool</a>;
<a href="/method/contacts.unblock">contacts.unblock</a>#b550d328 flags:<a href="/type/%23">#</a> my_stories_from:flags.0?<a href="/constructor/true">true</a> id:<a href="/type/InputPeer">InputPeer</a> = <a href="/type/Bool">Bool</a>;
<a href="/method/contacts.getBlocked">contacts.getBlocked</a>#9a868f80 flags:<a href="/type/%23">#</a> my_stories_from:flags.0?<a href="/constructor/true">true</a> offset:<a href="/type/int">int</a> limit:<a href="/type/int">int</a> = <a href="/type/contacts.Blocked">contacts.Blocked</a>;<br>
<a href="/method/account.changeAuthorizationSettings">account.changeAuthorizationSettings</a>#40f48462 flags:<a href="/type/%23">#</a> confirmed:flags.3?<a href="/constructor/true">true</a> hash:<a href="/type/long">long</a> encrypted_requests_disabled:flags.0?<a href="/type/Bool">Bool</a> call_requests_disabled:flags.1?<a href="/type/Bool">Bool</a> = <a href="/type/Bool">Bool</a>;<br>
<a href="/method/messages.requestSimpleWebView">messages.requestSimpleWebView</a>#1a46500a flags:<a href="/type/%23">#</a> from_switch_webview:flags.1?<a href="/constructor/true">true</a> from_side_menu:flags.2?<a href="/constructor/true">true</a> bot:<a href="/type/InputUser">InputUser</a> url:flags.3?<a href="/type/string">string</a> start_param:flags.4?<a href="/type/string">string</a> theme_params:flags.0?<a href="/type/DataJSON">DataJSON</a> platform:<a href="/type/string">string</a> = <a href="/type/SimpleWebViewResult">SimpleWebViewResult</a>;<br>
<a href="/method/stories.canSendStory">stories.canSendStory</a>#c7dfdfdd peer:<a href="/type/InputPeer">InputPeer</a> = <a href="/type/Bool">Bool</a>;
<a href="/method/stories.sendStory">stories.sendStory</a>#bcb73644 flags:<a href="/type/%23">#</a> pinned:flags.2?<a href="/constructor/true">true</a> noforwards:flags.4?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> media:<a href="/type/InputMedia">InputMedia</a> media_areas:flags.5?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MediaArea">MediaArea</a>&gt; caption:flags.0?<a href="/type/string">string</a> entities:flags.1?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; privacy_rules:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InputPrivacyRule">InputPrivacyRule</a>&gt; random_id:<a href="/type/long">long</a> period:flags.3?<a href="/type/int">int</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/stories.editStory">stories.editStory</a>#b583ba46 flags:<a href="/type/%23">#</a> peer:<a href="/type/InputPeer">InputPeer</a> id:<a href="/type/int">int</a> media:flags.0?<a href="/type/InputMedia">InputMedia</a> media_areas:flags.3?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MediaArea">MediaArea</a>&gt; caption:flags.1?<a href="/type/string">string</a> entities:flags.1?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; privacy_rules:flags.2?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InputPrivacyRule">InputPrivacyRule</a>&gt; = <a href="/type/Updates">Updates</a>;
<a href="/method/stories.deleteStories">stories.deleteStories</a>#ae59db5f peer:<a href="/type/InputPeer">InputPeer</a> id:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; = <a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt;;
<a href="/method/stories.togglePinned">stories.togglePinned</a>#9a75a1ef peer:<a href="/type/InputPeer">InputPeer</a> id:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; pinned:<a href="/type/Bool">Bool</a> = <a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt;;
<a href="/method/stories.getPinnedStories">stories.getPinnedStories</a>#5821a5dc peer:<a href="/type/InputPeer">InputPeer</a> offset_id:<a href="/type/int">int</a> limit:<a href="/type/int">int</a> = <a href="/type/stories.Stories">stories.Stories</a>;
<a href="/method/stories.getStoriesArchive">stories.getStoriesArchive</a>#b4352016 peer:<a href="/type/InputPeer">InputPeer</a> offset_id:<a href="/type/int">int</a> limit:<a href="/type/int">int</a> = <a href="/type/stories.Stories">stories.Stories</a>;
<a href="/method/stories.getStoriesByID">stories.getStoriesByID</a>#5774ca74 peer:<a href="/type/InputPeer">InputPeer</a> id:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; = <a href="/type/stories.Stories">stories.Stories</a>;
<a href="/method/stories.readStories">stories.readStories</a>#a556dac8 peer:<a href="/type/InputPeer">InputPeer</a> max_id:<a href="/type/int">int</a> = <a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt;;
<a href="/method/stories.incrementStoryViews">stories.incrementStoryViews</a>#b2028afb peer:<a href="/type/InputPeer">InputPeer</a> id:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; = <a href="/type/Bool">Bool</a>;
<a href="/method/stories.getStoryViewsList">stories.getStoryViewsList</a>#7ed23c57 flags:<a href="/type/%23">#</a> just_contacts:flags.0?<a href="/constructor/true">true</a> reactions_first:flags.2?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> q:flags.1?<a href="/type/string">string</a> id:<a href="/type/int">int</a> offset:<a href="/type/string">string</a> limit:<a href="/type/int">int</a> = <a href="/type/stories.StoryViewsList">stories.StoryViewsList</a>;
<a href="/method/stories.getStoriesViews">stories.getStoriesViews</a>#28e16cc8 peer:<a href="/type/InputPeer">InputPeer</a> id:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; = <a href="/type/stories.StoryViews">stories.StoryViews</a>;
<a href="/method/stories.exportStoryLink">stories.exportStoryLink</a>#7b8def20 peer:<a href="/type/InputPeer">InputPeer</a> id:<a href="/type/int">int</a> = <a href="/type/ExportedStoryLink">ExportedStoryLink</a>;
<a href="/method/stories.report">stories.report</a>#1923fa8c peer:<a href="/type/InputPeer">InputPeer</a> id:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; reason:<a href="/type/ReportReason">ReportReason</a> message:<a href="/type/string">string</a> = <a href="/type/Bool">Bool</a>;
<a href="/method/stories.activateStealthMode">stories.activateStealthMode</a>#57bbd166 flags:<a href="/type/%23">#</a> past:flags.0?<a href="/constructor/true">true</a> future:flags.1?<a href="/constructor/true">true</a> = <a href="/type/Updates">Updates</a>;<br>
<a href="/method/contacts.setBlocked">contacts.setBlocked</a>#94c65c76 flags:<a href="/type/%23">#</a> my_stories_from:flags.0?<a href="/constructor/true">true</a> id:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InputPeer">InputPeer</a>&gt; limit:<a href="/type/int">int</a> = <a href="/type/Bool">Bool</a>;<br>
<a href="/method/stories.sendReaction">stories.sendReaction</a>#7fd736b2 flags:<a href="/type/%23">#</a> add_to_recent:flags.0?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> story_id:<a href="/type/int">int</a> reaction:<a href="/type/Reaction">Reaction</a> = <a href="/type/Updates">Updates</a>;<br>
<a href="/method/bots.canSendMessage">bots.canSendMessage</a>#1359f4e6 bot:<a href="/type/InputUser">InputUser</a> = <a href="/type/Bool">Bool</a>;
<a href="/method/bots.allowSendMessage">bots.allowSendMessage</a>#f132e3ef bot:<a href="/type/InputUser">InputUser</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/bots.invokeWebViewCustomMethod">bots.invokeWebViewCustomMethod</a>#087fc5e7 bot:<a href="/type/InputUser">InputUser</a> custom_method:<a href="/type/string">string</a> params:<a href="/type/DataJSON">DataJSON</a> = <a href="/type/DataJSON">DataJSON</a>;<br>
<a href="/method/stories.getPeerStories">stories.getPeerStories</a>#2c4ada50 peer:<a href="/type/InputPeer">InputPeer</a> = <a href="/type/stories.PeerStories">stories.PeerStories</a>;
<a href="/method/stories.getAllReadPeerStories">stories.getAllReadPeerStories</a>#9b5ae7f9 = <a href="/type/Updates">Updates</a>;
<a href="/method/stories.getPeerMaxIDs">stories.getPeerMaxIDs</a>#535983c3 id:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InputPeer">InputPeer</a>&gt; = <a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt;;
<a href="/method/stories.getChatsToSend">stories.getChatsToSend</a>#a56a8b60 = <a href="/type/messages.Chats">messages.Chats</a>;
<a href="/method/stories.togglePeerStoriesHidden">stories.togglePeerStoriesHidden</a>#bd0415c4 peer:<a href="/type/InputPeer">InputPeer</a> hidden:<a href="/type/Bool">Bool</a> = <a href="/type/Bool">Bool</a>;
<a href="/method/stories.getBoostsStatus">stories.getBoostsStatus</a>#4c449472 peer:<a href="/type/InputPeer">InputPeer</a> = <a href="/type/stories.BoostsStatus">stories.BoostsStatus</a>;
<a href="/method/stories.getBoostersList">stories.getBoostersList</a>#337ef980 peer:<a href="/type/InputPeer">InputPeer</a> offset:<a href="/type/string">string</a> limit:<a href="/type/int">int</a> = <a href="/type/stories.BoostersList">stories.BoostersList</a>;
<a href="/method/stories.canApplyBoost">stories.canApplyBoost</a>#db05c1bd peer:<a href="/type/InputPeer">InputPeer</a> = <a href="/type/stories.CanApplyBoostResult">stories.CanApplyBoostResult</a>;
<a href="/method/stories.applyBoost">stories.applyBoost</a>#f29d7c2b peer:<a href="/type/InputPeer">InputPeer</a> = <a href="/type/Bool">Bool</a>;<br></code></pre></div>
<h3><a class="anchor" href="#layer-160" id="layer-160" name="layer-160"><i class="anchor-icon"></i></a><a href="/schema?layer=160">Layer 160</a></h3>
<h4><a class="anchor" href="#schema-changes" id="schema-changes" name="schema-changes"><i class="anchor-icon"></i></a>Schema changes</h4>
<h5><a class="anchor" href="#new-methods" id="new-methods" name="new-methods"><i class="anchor-icon"></i></a>New Methods</h5>
<ul>
<li>Added <a href="/method/contacts.editCloseFriends">contacts.editCloseFriends</a> - Edit the <a href="/api/privacy">close friends list, see here »</a> for more info.</li>
<li>Added <a href="/method/contacts.toggleStoriesHidden">contacts.toggleStoriesHidden</a></li>
<li>Added <a href="/method/stories.canSendStory">stories.canSendStory</a> - Check whether we can post stories as the specified peer.</li>
<li>Added <a href="/method/stories.sendStory">stories.sendStory</a> - Uploads a <a href="/api/stories">Telegram Story</a>.</li>
<li>Added <a href="/method/stories.editStory">stories.editStory</a> - Edit an uploaded <a href="/api/stories">story</a></li>
<li>Added <a href="/method/stories.deleteStories">stories.deleteStories</a> - Deletes some posted <a href="/api/stories">stories</a>.</li>
<li>Added <a href="/method/stories.togglePinned">stories.togglePinned</a> - Pin or unpin one or more stories</li>
<li>Added <a href="/method/stories.getAllStories">stories.getAllStories</a> - Fetch the List of active (or active and hidden) stories, see <a href="/api/stories#watching-stories">here »</a> for more info on watching stories.</li>
<li>Added <a href="/method/stories.getUserStories">stories.getUserStories</a></li>
<li>Added <a href="/method/stories.getPinnedStories">stories.getPinnedStories</a> - Fetch the <a href="/api/stories#pinned-or-archived-stories">stories</a> pinned on a peer's profile.</li>
<li>Added <a href="/method/stories.getStoriesArchive">stories.getStoriesArchive</a> - Fetch the <a href="/api/stories#pinned-or-archived-stories">story archive »</a> of a peer we control.</li>
<li>Added <a href="/method/stories.getStoriesByID">stories.getStoriesByID</a> - Obtain full info about a set of <a href="/api/stories">stories</a> by their IDs.</li>
<li>Added <a href="/method/stories.toggleAllStoriesHidden">stories.toggleAllStoriesHidden</a> - Hide the active stories of a specific peer, preventing them from being displayed on the action bar on the homescreen.</li>
<li>Added <a href="/method/stories.getAllReadUserStories">stories.getAllReadUserStories</a></li>
<li>Added <a href="/method/stories.readStories">stories.readStories</a> - Mark all stories up to a certain ID as read, for a given peer; will emit an <a href="/constructor/updateReadStories">updateReadStories</a> update to all logged-in sessions.</li>
<li>Added <a href="/method/stories.incrementStoryViews">stories.incrementStoryViews</a> - Increment the view counter of one or more stories.</li>
<li>Added <a href="/method/stories.getStoryViewsList">stories.getStoryViewsList</a> - Obtain the list of users that have viewed a specific <a href="/api/stories">story we posted</a></li>
<li>Added <a href="/method/stories.getStoriesViews">stories.getStoriesViews</a> - Obtain info about the view count, forward count, reactions and recent viewers of one or more <a href="/api/stories">stories</a>.</li>
<li>Added <a href="/method/stories.exportStoryLink">stories.exportStoryLink</a> - Generate a <a href="/api/links#story-links">story deep link</a> for a specific story</li>
<li>Added <a href="/method/stories.report">stories.report</a> - Report a story.</li>
<li>Added <a href="/method/users.getStoriesMaxIDs">users.getStoriesMaxIDs</a></li>
</ul>
<h5><a class="anchor" href="#changed-methods" id="changed-methods" name="changed-methods"><i class="anchor-icon"></i></a>Changed Methods</h5>
<ul>
<li>Added <strong>reply_to</strong> parameter, removed <strong>reply_to_msg_id</strong>, <strong>top_msg_id</strong> parameters in <a href="/method/messages.sendMessage">messages.sendMessage</a></li>
<li>Added <strong>reply_to</strong> parameter, removed <strong>reply_to_msg_id</strong>, <strong>top_msg_id</strong> parameters in <a href="/method/messages.sendMedia">messages.sendMedia</a></li>
<li>Added <strong>reply_to</strong> parameter, removed <strong>reply_to_msg_id</strong>, <strong>top_msg_id</strong> parameters in <a href="/method/messages.sendInlineBotResult">messages.sendInlineBotResult</a></li>
<li>Added <strong>reply_to</strong> parameter, removed <strong>reply_to_msg_id</strong> parameter in <a href="/method/messages.sendScreenshotNotification">messages.sendScreenshotNotification</a></li>
<li>Added <strong>reply_to</strong> parameter, removed <strong>reply_to_msg_id</strong>, <strong>top_msg_id</strong> parameters in <a href="/method/messages.sendMultiMedia">messages.sendMultiMedia</a></li>
<li>Added <strong>compare_stories</strong> parameter in <a href="/method/account.getNotifyExceptions">account.getNotifyExceptions</a></li>
<li>Added <strong>reply_to</strong> parameter, removed <strong>reply_to_msg_id</strong>, <strong>top_msg_id</strong> parameters in <a href="/method/messages.requestWebView">messages.requestWebView</a></li>
<li>Added <strong>reply_to</strong> parameter, removed <strong>reply_to_msg_id</strong>, <strong>top_msg_id</strong> parameters in <a href="/method/messages.prolongWebView">messages.prolongWebView</a></li>
</ul>
<h5><a class="anchor" href="#new-constructors" id="new-constructors" name="new-constructors"><i class="anchor-icon"></i></a>New Constructors</h5>
<ul>
<li>Added <a href="/constructor/storyViews">storyViews</a> - Aggregated view and reaction information of a <a href="/api/stories">story</a>.</li>
<li>Added <a href="/constructor/storyItemDeleted">storyItemDeleted</a> - Represents a previously active story, that was deleted</li>
<li>Added <a href="/constructor/storyItemSkipped">storyItemSkipped</a> - Represents an active story, whose full information was omitted for space and performance reasons; use <a href="/method/stories.getStoriesByID">stories.getStoriesByID</a> to fetch full info about the skipped story when and if needed.</li>
<li>Added <a href="/constructor/storyItem">storyItem</a> - Represents a <a href="/api/stories">story</a>.</li>
<li>Added <a href="/constructor/userStories">userStories</a></li>
<li>Added <a href="/constructor/updateStory">updateStory</a> - A new story was posted.</li>
<li>Added <a href="/constructor/updateReadStories">updateReadStories</a> - Stories of a specific peer were marked as read.</li>
<li>Added <a href="/constructor/stories.allStoriesNotModified">stories.allStoriesNotModified</a> - The list of active (or active and hidden) <a href="/api/stories#watching-stories">stories</a> has not changed.</li>
<li>Added <a href="/constructor/stories.allStories">stories.allStories</a> - Full list of active (or active and hidden) <a href="/api/stories#watching-stories">stories</a>.</li>
<li>Added <a href="/constructor/stories.stories">stories.stories</a> - List of <a href="/api/stories#pinned-or-archived-stories">stories</a></li>
<li>Added <a href="/constructor/stories.userStories">stories.userStories</a></li>
<li>Added <a href="/constructor/inputPrivacyValueAllowCloseFriends">inputPrivacyValueAllowCloseFriends</a> - Allow only <a href="/api/privacy">close friends »</a></li>
<li>Added <a href="/constructor/privacyValueAllowCloseFriends">privacyValueAllowCloseFriends</a> - Allow only <a href="/api/privacy">close friends »</a></li>
<li>Added <a href="/constructor/storyView">storyView</a> - <a href="/api/stories">Story</a> view date and reaction information</li>
<li>Added <a href="/constructor/stories.storyViewsList">stories.storyViewsList</a> - Reaction and view counters for a <a href="/api/stories">story</a></li>
<li>Added <a href="/constructor/stories.storyViews">stories.storyViews</a> - Reaction and view counters for a list of <a href="/api/stories">stories</a></li>
<li>Added <a href="/constructor/inputReplyToMessage">inputReplyToMessage</a> - Reply to a message.</li>
<li>Added <a href="/constructor/inputReplyToStory">inputReplyToStory</a> - Reply to a story.</li>
<li>Added <a href="/constructor/messageReplyStoryHeader">messageReplyStoryHeader</a> - Represents a reply to a <a href="/api/stories">story</a></li>
<li>Added <a href="/constructor/updateStoryID">updateStoryID</a> - A story was successfully uploaded.</li>
<li>Added <a href="/constructor/exportedStoryLink">exportedStoryLink</a> - Represents a <a href="/api/stories#story-links">story deep link</a>.</li>
<li>Added <a href="/constructor/inputMediaStory">inputMediaStory</a> - Forwarded story</li>
<li>Added <a href="/constructor/messageMediaStory">messageMediaStory</a> - Represents a forwarded <a href="/api/stories">story</a> or a story mention.</li>
<li>Added <a href="/constructor/webPageAttributeStory">webPageAttributeStory</a> - Webpage preview of a Telegram story</li>
</ul>
<h5><a class="anchor" href="#changed-constructors" id="changed-constructors" name="changed-constructors"><i class="anchor-icon"></i></a>Changed Constructors</h5>
<ul>
<li>Added <strong>view_forum_as_messages</strong> parameter in <a href="/constructor/dialog">dialog</a></li>
<li>Added <strong>stories_muted</strong>, <strong>stories_hide_sender</strong>, <strong>stories_sound</strong> parameters in <a href="/constructor/inputPeerNotifySettings">inputPeerNotifySettings</a></li>
<li>Added <strong>stories_muted</strong>, <strong>stories_hide_sender</strong>, <strong>stories_ios_sound</strong>, <strong>stories_android_sound</strong>, <strong>stories_other_sound</strong> parameters in <a href="/constructor/peerNotifySettings">peerNotifySettings</a></li>
<li>Added <strong>stories_pinned_available</strong>, <strong>stories</strong> parameters in <a href="/constructor/userFull">userFull</a></li>
<li>Added <strong>video</strong>, <strong>round</strong>, <strong>voice</strong>, <strong>alt_document</strong> parameters in <a href="/constructor/messageMediaDocument">messageMediaDocument</a></li>
<li>Added <strong>nosound</strong>, <strong>preload_prefix_size</strong> parameters, changed type of <strong>duration</strong> from <strong>int</strong> to <strong>double</strong> in <a href="/constructor/documentAttributeVideo">documentAttributeVideo</a></li>
<li>Added <strong>close_friend</strong>, <strong>stories_hidden</strong>, <strong>stories_unavailable</strong>, <strong>stories_max_id</strong> parameters in <a href="/constructor/user">user</a></li>
<li>Added <strong>stories_preload</strong> parameter in <a href="/constructor/autoDownloadSettings">autoDownloadSettings</a></li>
<li>Added <strong>keep_archived_unmuted</strong>, <strong>keep_archived_folders</strong> parameters, changed type of <strong>archive_and_mute_new_noncontact_peers</strong> from <strong>flags.0?Bool</strong> to <strong>flags.0?true</strong> in <a href="/constructor/globalPrivacySettings">globalPrivacySettings</a></li>
</ul>
<h5><a class="anchor" href="#deleted-constructors" id="deleted-constructors" name="deleted-constructors"><i class="anchor-icon"></i></a>Deleted Constructors</h5>
<ul>
<li>Removed messageEntityBlockquote</li>
</ul>
<h4><a class="anchor" href="#schema" id="schema" name="schema"><i class="anchor-icon"></i></a>Schema</h4>
<div><pre><code><a href="/constructor/dialog">dialog</a>#d58a08c6 flags:<a href="/type/%23">#</a> pinned:flags.2?<a href="/constructor/true">true</a> unread_mark:flags.3?<a href="/constructor/true">true</a> view_forum_as_messages:flags.6?<a href="/constructor/true">true</a> peer:<a href="/type/Peer">Peer</a> top_message:<a href="/type/int">int</a> read_inbox_max_id:<a href="/type/int">int</a> read_outbox_max_id:<a href="/type/int">int</a> unread_count:<a href="/type/int">int</a> unread_mentions_count:<a href="/type/int">int</a> unread_reactions_count:<a href="/type/int">int</a> notify_settings:<a href="/type/PeerNotifySettings">PeerNotifySettings</a> pts:flags.0?<a href="/type/int">int</a> draft:flags.1?<a href="/type/DraftMessage">DraftMessage</a> folder_id:flags.4?<a href="/type/int">int</a> ttl_period:flags.5?<a href="/type/int">int</a> = <a href="/type/Dialog">Dialog</a>;<br>
<a href="/constructor/inputPeerNotifySettings">inputPeerNotifySettings</a>#cacb6ae2 flags:<a href="/type/%23">#</a> show_previews:flags.0?<a href="/type/Bool">Bool</a> silent:flags.1?<a href="/type/Bool">Bool</a> mute_until:flags.2?<a href="/type/int">int</a> sound:flags.3?<a href="/type/NotificationSound">NotificationSound</a> stories_muted:flags.6?<a href="/type/Bool">Bool</a> stories_hide_sender:flags.7?<a href="/type/Bool">Bool</a> stories_sound:flags.8?<a href="/type/NotificationSound">NotificationSound</a> = <a href="/type/InputPeerNotifySettings">InputPeerNotifySettings</a>;<br>
<a href="/constructor/peerNotifySettings">peerNotifySettings</a>#99622c0c flags:<a href="/type/%23">#</a> show_previews:flags.0?<a href="/type/Bool">Bool</a> silent:flags.1?<a href="/type/Bool">Bool</a> mute_until:flags.2?<a href="/type/int">int</a> ios_sound:flags.3?<a href="/type/NotificationSound">NotificationSound</a> android_sound:flags.4?<a href="/type/NotificationSound">NotificationSound</a> other_sound:flags.5?<a href="/type/NotificationSound">NotificationSound</a> stories_muted:flags.6?<a href="/type/Bool">Bool</a> stories_hide_sender:flags.7?<a href="/type/Bool">Bool</a> stories_ios_sound:flags.8?<a href="/type/NotificationSound">NotificationSound</a> stories_android_sound:flags.9?<a href="/type/NotificationSound">NotificationSound</a> stories_other_sound:flags.10?<a href="/type/NotificationSound">NotificationSound</a> = <a href="/type/PeerNotifySettings">PeerNotifySettings</a>;<br>
<a href="/constructor/userFull">userFull</a>#4fe1cc86 flags:<a href="/type/%23">#</a> blocked:flags.0?<a href="/constructor/true">true</a> phone_calls_available:flags.4?<a href="/constructor/true">true</a> phone_calls_private:flags.5?<a href="/constructor/true">true</a> can_pin_message:flags.7?<a href="/constructor/true">true</a> has_scheduled:flags.12?<a href="/constructor/true">true</a> video_calls_available:flags.13?<a href="/constructor/true">true</a> voice_messages_forbidden:flags.20?<a href="/constructor/true">true</a> translations_disabled:flags.23?<a href="/constructor/true">true</a> stories_pinned_available:flags.26?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> about:flags.1?<a href="/type/string">string</a> settings:<a href="/type/PeerSettings">PeerSettings</a> personal_photo:flags.21?<a href="/type/Photo">Photo</a> profile_photo:flags.2?<a href="/type/Photo">Photo</a> fallback_photo:flags.22?<a href="/type/Photo">Photo</a> notify_settings:<a href="/type/PeerNotifySettings">PeerNotifySettings</a> bot_info:flags.3?<a href="/type/BotInfo">BotInfo</a> pinned_msg_id:flags.6?<a href="/type/int">int</a> common_chats_count:<a href="/type/int">int</a> folder_id:flags.11?<a href="/type/int">int</a> ttl_period:flags.14?<a href="/type/int">int</a> theme_emoticon:flags.15?<a href="/type/string">string</a> private_forward_name:flags.16?<a href="/type/string">string</a> bot_group_admin_rights:flags.17?<a href="/type/ChatAdminRights">ChatAdminRights</a> bot_broadcast_admin_rights:flags.18?<a href="/type/ChatAdminRights">ChatAdminRights</a> premium_gifts:flags.19?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/PremiumGiftOption">PremiumGiftOption</a>&gt; wallpaper:flags.24?<a href="/type/WallPaper">WallPaper</a> stories:flags.25?<a href="/type/UserStories">UserStories</a> = <a href="/type/UserFull">UserFull</a>;<br>
<a href="/constructor/messageMediaDocument">messageMediaDocument</a>#4cf4d72d flags:<a href="/type/%23">#</a> nopremium:flags.3?<a href="/constructor/true">true</a> spoiler:flags.4?<a href="/constructor/true">true</a> video:flags.6?<a href="/constructor/true">true</a> round:flags.7?<a href="/constructor/true">true</a> voice:flags.8?<a href="/constructor/true">true</a> document:flags.0?<a href="/type/Document">Document</a> alt_document:flags.5?<a href="/type/Document">Document</a> ttl_seconds:flags.2?<a href="/type/int">int</a> = <a href="/type/MessageMedia">MessageMedia</a>;<br>
<a href="/constructor/documentAttributeVideo">documentAttributeVideo</a>#d38ff1c2 flags:<a href="/type/%23">#</a> round_message:flags.0?<a href="/constructor/true">true</a> supports_streaming:flags.1?<a href="/constructor/true">true</a> nosound:flags.3?<a href="/constructor/true">true</a> duration:<a href="/type/double">double</a> w:<a href="/type/int">int</a> h:<a href="/type/int">int</a> preload_prefix_size:flags.2?<a href="/type/int">int</a> = <a href="/type/DocumentAttribute">DocumentAttribute</a>;<br>
<a href="/constructor/user">user</a>#abb5f120 flags:<a href="/type/%23">#</a> self:flags.10?<a href="/constructor/true">true</a> contact:flags.11?<a href="/constructor/true">true</a> mutual_contact:flags.12?<a href="/constructor/true">true</a> deleted:flags.13?<a href="/constructor/true">true</a> bot:flags.14?<a href="/constructor/true">true</a> bot_chat_history:flags.15?<a href="/constructor/true">true</a> bot_nochats:flags.16?<a href="/constructor/true">true</a> verified:flags.17?<a href="/constructor/true">true</a> restricted:flags.18?<a href="/constructor/true">true</a> min:flags.20?<a href="/constructor/true">true</a> bot_inline_geo:flags.21?<a href="/constructor/true">true</a> support:flags.23?<a href="/constructor/true">true</a> scam:flags.24?<a href="/constructor/true">true</a> apply_min_photo:flags.25?<a href="/constructor/true">true</a> fake:flags.26?<a href="/constructor/true">true</a> bot_attach_menu:flags.27?<a href="/constructor/true">true</a> premium:flags.28?<a href="/constructor/true">true</a> attach_menu_enabled:flags.29?<a href="/constructor/true">true</a> flags2:<a href="/type/%23">#</a> bot_can_edit:flags2.1?<a href="/constructor/true">true</a> close_friend:flags2.2?<a href="/constructor/true">true</a> stories_hidden:flags2.3?<a href="/constructor/true">true</a> stories_unavailable:flags2.4?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> access_hash:flags.0?<a href="/type/long">long</a> first_name:flags.1?<a href="/type/string">string</a> last_name:flags.2?<a href="/type/string">string</a> username:flags.3?<a href="/type/string">string</a> phone:flags.4?<a href="/type/string">string</a> photo:flags.5?<a href="/type/UserProfilePhoto">UserProfilePhoto</a> status:flags.6?<a href="/type/UserStatus">UserStatus</a> bot_info_version:flags.14?<a href="/type/int">int</a> restriction_reason:flags.18?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/RestrictionReason">RestrictionReason</a>&gt; bot_inline_placeholder:flags.19?<a href="/type/string">string</a> lang_code:flags.22?<a href="/type/string">string</a> emoji_status:flags.30?<a href="/type/EmojiStatus">EmojiStatus</a> usernames:flags2.0?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Username">Username</a>&gt; stories_max_id:flags2.5?<a href="/type/int">int</a> = <a href="/type/User">User</a>;<br>
<a href="/constructor/autoDownloadSettings">autoDownloadSettings</a>#baa57628 flags:<a href="/type/%23">#</a> disabled:flags.0?<a href="/constructor/true">true</a> video_preload_large:flags.1?<a href="/constructor/true">true</a> audio_preload_next:flags.2?<a href="/constructor/true">true</a> phonecalls_less_data:flags.3?<a href="/constructor/true">true</a> stories_preload:flags.4?<a href="/constructor/true">true</a> photo_size_max:<a href="/type/int">int</a> video_size_max:<a href="/type/long">long</a> file_size_max:<a href="/type/long">long</a> video_upload_maxbitrate:<a href="/type/int">int</a> small_queue_active_operations_max:<a href="/type/int">int</a> large_queue_active_operations_max:<a href="/type/int">int</a> = <a href="/type/AutoDownloadSettings">AutoDownloadSettings</a>;<br>
<a href="/constructor/globalPrivacySettings">globalPrivacySettings</a>#734c4ccb flags:<a href="/type/%23">#</a> archive_and_mute_new_noncontact_peers:flags.0?<a href="/constructor/true">true</a> keep_archived_unmuted:flags.1?<a href="/constructor/true">true</a> keep_archived_folders:flags.2?<a href="/constructor/true">true</a> = <a href="/type/GlobalPrivacySettings">GlobalPrivacySettings</a>;<br>
<a href="/constructor/storyViews">storyViews</a>#d36760cf flags:<a href="/type/%23">#</a> views_count:<a href="/type/int">int</a> recent_viewers:flags.0?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/long">long</a>&gt; = <a href="/type/StoryViews">StoryViews</a>;
<a href="/constructor/storyItemDeleted">storyItemDeleted</a>#51e6ee4f id:<a href="/type/int">int</a> = <a href="/type/StoryItem">StoryItem</a>;
<a href="/constructor/storyItemSkipped">storyItemSkipped</a>#ffadc913 flags:<a href="/type/%23">#</a> close_friends:flags.8?<a href="/constructor/true">true</a> id:<a href="/type/int">int</a> date:<a href="/type/int">int</a> expire_date:<a href="/type/int">int</a> = <a href="/type/StoryItem">StoryItem</a>;
<a href="/constructor/storyItem">storyItem</a>#562aa637 flags:<a href="/type/%23">#</a> pinned:flags.5?<a href="/constructor/true">true</a> public:flags.7?<a href="/constructor/true">true</a> close_friends:flags.8?<a href="/constructor/true">true</a> min:flags.9?<a href="/constructor/true">true</a> noforwards:flags.10?<a href="/constructor/true">true</a> edited:flags.11?<a href="/constructor/true">true</a> contacts:flags.12?<a href="/constructor/true">true</a> selected_contacts:flags.13?<a href="/constructor/true">true</a> id:<a href="/type/int">int</a> date:<a href="/type/int">int</a> expire_date:<a href="/type/int">int</a> caption:flags.0?<a href="/type/string">string</a> entities:flags.1?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; media:<a href="/type/MessageMedia">MessageMedia</a> privacy:flags.2?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/PrivacyRule">PrivacyRule</a>&gt; views:flags.3?<a href="/type/StoryViews">StoryViews</a> = <a href="/type/StoryItem">StoryItem</a>;<br>
<a href="/constructor/userStories">userStories</a>#8611a200 flags:<a href="/type/%23">#</a> user_id:<a href="/type/long">long</a> max_read_id:flags.0?<a href="/type/int">int</a> stories:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/StoryItem">StoryItem</a>&gt; = <a href="/type/UserStories">UserStories</a>;
<a href="/constructor/updateStory">updateStory</a>#205a4133 user_id:<a href="/type/long">long</a> story:<a href="/type/StoryItem">StoryItem</a> = <a href="/type/Update">Update</a>;
<a href="/constructor/updateReadStories">updateReadStories</a>#feb5345a user_id:<a href="/type/long">long</a> max_id:<a href="/type/int">int</a> = <a href="/type/Update">Update</a>;<br>
<a href="/constructor/stories.allStoriesNotModified">stories.allStoriesNotModified</a>#47e0a07e state:<a href="/type/string">string</a> = <a href="/type/stories.AllStories">stories.AllStories</a>;
<a href="/constructor/stories.allStories">stories.allStories</a>#839e0428 flags:<a href="/type/%23">#</a> has_more:flags.0?<a href="/constructor/true">true</a> count:<a href="/type/int">int</a> state:<a href="/type/string">string</a> user_stories:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/UserStories">UserStories</a>&gt; users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; = <a href="/type/stories.AllStories">stories.AllStories</a>;
<a href="/constructor/stories.stories">stories.stories</a>#4fe57df1 count:<a href="/type/int">int</a> stories:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/StoryItem">StoryItem</a>&gt; users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; = <a href="/type/stories.Stories">stories.Stories</a>;
<a href="/constructor/stories.userStories">stories.userStories</a>#37a6ff5f stories:<a href="/type/UserStories">UserStories</a> users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; = <a href="/type/stories.UserStories">stories.UserStories</a>;<br>
<a href="/constructor/inputPrivacyValueAllowCloseFriends">inputPrivacyValueAllowCloseFriends</a>#2f453e49 = <a href="/type/InputPrivacyRule">InputPrivacyRule</a>;<br>
<a href="/constructor/privacyValueAllowCloseFriends">privacyValueAllowCloseFriends</a>#f7e8d89b = <a href="/type/PrivacyRule">PrivacyRule</a>;<br>
<a href="/constructor/storyView">storyView</a>#a71aacc2 user_id:<a href="/type/long">long</a> date:<a href="/type/int">int</a> = <a href="/type/StoryView">StoryView</a>;
<a href="/constructor/stories.storyViewsList">stories.storyViewsList</a>#fb3f77ac count:<a href="/type/int">int</a> views:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/StoryView">StoryView</a>&gt; users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; = <a href="/type/stories.StoryViewsList">stories.StoryViewsList</a>;
<a href="/constructor/stories.storyViews">stories.storyViews</a>#de9eed1d views:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/StoryViews">StoryViews</a>&gt; users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; = <a href="/type/stories.StoryViews">stories.StoryViews</a>;<br>
<a href="/constructor/inputReplyToMessage">inputReplyToMessage</a>#9c5386e4 flags:<a href="/type/%23">#</a> reply_to_msg_id:<a href="/type/int">int</a> top_msg_id:flags.0?<a href="/type/int">int</a> = <a href="/type/InputReplyTo">InputReplyTo</a>;
<a href="/constructor/inputReplyToStory">inputReplyToStory</a>#15b0f283 user_id:<a href="/type/InputUser">InputUser</a> story_id:<a href="/type/int">int</a> = <a href="/type/InputReplyTo">InputReplyTo</a>;<br>
<a href="/constructor/messageReplyStoryHeader">messageReplyStoryHeader</a>#9c98bfc1 user_id:<a href="/type/long">long</a> story_id:<a href="/type/int">int</a> = <a href="/type/MessageReplyHeader">MessageReplyHeader</a>;<br>
<a href="/constructor/updateStoryID">updateStoryID</a>#1bf335b9 id:<a href="/type/int">int</a> random_id:<a href="/type/long">long</a> = <a href="/type/Update">Update</a>;<br>
<a href="/constructor/exportedStoryLink">exportedStoryLink</a>#3fc9053b link:<a href="/type/string">string</a> = <a href="/type/ExportedStoryLink">ExportedStoryLink</a>;<br>
<a href="/constructor/inputMediaStory">inputMediaStory</a>#9a86b58f user_id:<a href="/type/InputUser">InputUser</a> id:<a href="/type/int">int</a> = <a href="/type/InputMedia">InputMedia</a>;<br>
<a href="/constructor/messageMediaStory">messageMediaStory</a>#cbb20d88 flags:<a href="/type/%23">#</a> via_mention:flags.1?<a href="/constructor/true">true</a> user_id:<a href="/type/long">long</a> id:<a href="/type/int">int</a> story:flags.0?<a href="/type/StoryItem">StoryItem</a> = <a href="/type/MessageMedia">MessageMedia</a>;<br>
<a href="/constructor/webPageAttributeStory">webPageAttributeStory</a>#939a4671 flags:<a href="/type/%23">#</a> user_id:<a href="/type/long">long</a> id:<a href="/type/int">int</a> story:flags.0?<a href="/type/StoryItem">StoryItem</a> = <a href="/type/WebPageAttribute">WebPageAttribute</a>;<br>
---functions---<br>
<a href="/method/messages.sendMessage">messages.sendMessage</a>#280d096f flags:<a href="/type/%23">#</a> no_webpage:flags.1?<a href="/constructor/true">true</a> silent:flags.5?<a href="/constructor/true">true</a> background:flags.6?<a href="/constructor/true">true</a> clear_draft:flags.7?<a href="/constructor/true">true</a> noforwards:flags.14?<a href="/constructor/true">true</a> update_stickersets_order:flags.15?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> reply_to:flags.0?<a href="/type/InputReplyTo">InputReplyTo</a> message:<a href="/type/string">string</a> random_id:<a href="/type/long">long</a> reply_markup:flags.2?<a href="/type/ReplyMarkup">ReplyMarkup</a> entities:flags.3?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; schedule_date:flags.10?<a href="/type/int">int</a> send_as:flags.13?<a href="/type/InputPeer">InputPeer</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/messages.sendMedia">messages.sendMedia</a>#72ccc23d flags:<a href="/type/%23">#</a> silent:flags.5?<a href="/constructor/true">true</a> background:flags.6?<a href="/constructor/true">true</a> clear_draft:flags.7?<a href="/constructor/true">true</a> noforwards:flags.14?<a href="/constructor/true">true</a> update_stickersets_order:flags.15?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> reply_to:flags.0?<a href="/type/InputReplyTo">InputReplyTo</a> media:<a href="/type/InputMedia">InputMedia</a> message:<a href="/type/string">string</a> random_id:<a href="/type/long">long</a> reply_markup:flags.2?<a href="/type/ReplyMarkup">ReplyMarkup</a> entities:flags.3?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; schedule_date:flags.10?<a href="/type/int">int</a> send_as:flags.13?<a href="/type/InputPeer">InputPeer</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/messages.sendInlineBotResult">messages.sendInlineBotResult</a>#f7bc68ba flags:<a href="/type/%23">#</a> silent:flags.5?<a href="/constructor/true">true</a> background:flags.6?<a href="/constructor/true">true</a> clear_draft:flags.7?<a href="/constructor/true">true</a> hide_via:flags.11?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> reply_to:flags.0?<a href="/type/InputReplyTo">InputReplyTo</a> random_id:<a href="/type/long">long</a> query_id:<a href="/type/long">long</a> id:<a href="/type/string">string</a> schedule_date:flags.10?<a href="/type/int">int</a> send_as:flags.13?<a href="/type/InputPeer">InputPeer</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/messages.sendScreenshotNotification">messages.sendScreenshotNotification</a>#a1405817 peer:<a href="/type/InputPeer">InputPeer</a> reply_to:<a href="/type/InputReplyTo">InputReplyTo</a> random_id:<a href="/type/long">long</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/messages.sendMultiMedia">messages.sendMultiMedia</a>#456e8987 flags:<a href="/type/%23">#</a> silent:flags.5?<a href="/constructor/true">true</a> background:flags.6?<a href="/constructor/true">true</a> clear_draft:flags.7?<a href="/constructor/true">true</a> noforwards:flags.14?<a href="/constructor/true">true</a> update_stickersets_order:flags.15?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> reply_to:flags.0?<a href="/type/InputReplyTo">InputReplyTo</a> multi_media:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InputSingleMedia">InputSingleMedia</a>&gt; schedule_date:flags.10?<a href="/type/int">int</a> send_as:flags.13?<a href="/type/InputPeer">InputPeer</a> = <a href="/type/Updates">Updates</a>;<br>
<a href="/method/account.getNotifyExceptions">account.getNotifyExceptions</a>#53577479 flags:<a href="/type/%23">#</a> compare_sound:flags.1?<a href="/constructor/true">true</a> compare_stories:flags.2?<a href="/constructor/true">true</a> peer:flags.0?<a href="/type/InputNotifyPeer">InputNotifyPeer</a> = <a href="/type/Updates">Updates</a>;<br>
<a href="/method/messages.requestWebView">messages.requestWebView</a>#269dc2c1 flags:<a href="/type/%23">#</a> from_bot_menu:flags.4?<a href="/constructor/true">true</a> silent:flags.5?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> bot:<a href="/type/InputUser">InputUser</a> url:flags.1?<a href="/type/string">string</a> start_param:flags.3?<a href="/type/string">string</a> theme_params:flags.2?<a href="/type/DataJSON">DataJSON</a> platform:<a href="/type/string">string</a> reply_to:flags.0?<a href="/type/InputReplyTo">InputReplyTo</a> send_as:flags.13?<a href="/type/InputPeer">InputPeer</a> = <a href="/type/WebViewResult">WebViewResult</a>;
<a href="/method/messages.prolongWebView">messages.prolongWebView</a>#b0d81a83 flags:<a href="/type/%23">#</a> silent:flags.5?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> bot:<a href="/type/InputUser">InputUser</a> query_id:<a href="/type/long">long</a> reply_to:flags.0?<a href="/type/InputReplyTo">InputReplyTo</a> send_as:flags.13?<a href="/type/InputPeer">InputPeer</a> = <a href="/type/Bool">Bool</a>;<br>
<a href="/method/contacts.editCloseFriends">contacts.editCloseFriends</a>#ba6705f0 id:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/long">long</a>&gt; = <a href="/type/Bool">Bool</a>;
<a href="/method/contacts.toggleStoriesHidden">contacts.toggleStoriesHidden</a>#753fb865 id:<a href="/type/InputUser">InputUser</a> hidden:<a href="/type/Bool">Bool</a> = <a href="/type/Bool">Bool</a>;<br>
<a href="/method/stories.canSendStory">stories.canSendStory</a>#b100d45d = <a href="/type/Bool">Bool</a>;
<a href="/method/stories.sendStory">stories.sendStory</a>#424cd47a flags:<a href="/type/%23">#</a> pinned:flags.2?<a href="/constructor/true">true</a> noforwards:flags.4?<a href="/constructor/true">true</a> media:<a href="/type/InputMedia">InputMedia</a> caption:flags.0?<a href="/type/string">string</a> entities:flags.1?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; privacy_rules:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InputPrivacyRule">InputPrivacyRule</a>&gt; random_id:<a href="/type/long">long</a> period:flags.3?<a href="/type/int">int</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/stories.editStory">stories.editStory</a>#2aae7a41 flags:<a href="/type/%23">#</a> id:<a href="/type/int">int</a> media:flags.0?<a href="/type/InputMedia">InputMedia</a> caption:flags.1?<a href="/type/string">string</a> entities:flags.1?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; privacy_rules:flags.2?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InputPrivacyRule">InputPrivacyRule</a>&gt; = <a href="/type/Updates">Updates</a>;
<a href="/method/stories.deleteStories">stories.deleteStories</a>#b5d501d7 id:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; = <a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt;;
<a href="/method/stories.togglePinned">stories.togglePinned</a>#51602944 id:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; pinned:<a href="/type/Bool">Bool</a> = <a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt;;
<a href="/method/stories.getAllStories">stories.getAllStories</a>#eeb0d625 flags:<a href="/type/%23">#</a> next:flags.1?<a href="/constructor/true">true</a> hidden:flags.2?<a href="/constructor/true">true</a> state:flags.0?<a href="/type/string">string</a> = <a href="/type/stories.AllStories">stories.AllStories</a>;
<a href="/method/stories.getUserStories">stories.getUserStories</a>#96d528e0 user_id:<a href="/type/InputUser">InputUser</a> = <a href="/type/stories.UserStories">stories.UserStories</a>;
<a href="/method/stories.getPinnedStories">stories.getPinnedStories</a>#0b471137 user_id:<a href="/type/InputUser">InputUser</a> offset_id:<a href="/type/int">int</a> limit:<a href="/type/int">int</a> = <a href="/type/stories.Stories">stories.Stories</a>;
<a href="/method/stories.getStoriesArchive">stories.getStoriesArchive</a>#1f5bc5d2 offset_id:<a href="/type/int">int</a> limit:<a href="/type/int">int</a> = <a href="/type/stories.Stories">stories.Stories</a>;
<a href="/method/stories.getStoriesByID">stories.getStoriesByID</a>#6a15cf46 user_id:<a href="/type/InputUser">InputUser</a> id:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; = <a href="/type/stories.Stories">stories.Stories</a>;
<a href="/method/stories.toggleAllStoriesHidden">stories.toggleAllStoriesHidden</a>#7c2557c4 hidden:<a href="/type/Bool">Bool</a> = <a href="/type/Bool">Bool</a>;
<a href="/method/stories.getAllReadUserStories">stories.getAllReadUserStories</a>#729c562c = <a href="/type/Updates">Updates</a>;
<a href="/method/stories.readStories">stories.readStories</a>#edc5105b user_id:<a href="/type/InputUser">InputUser</a> max_id:<a href="/type/int">int</a> = <a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt;;
<a href="/method/stories.incrementStoryViews">stories.incrementStoryViews</a>#22126127 user_id:<a href="/type/InputUser">InputUser</a> id:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; = <a href="/type/Bool">Bool</a>;
<a href="/method/stories.getStoryViewsList">stories.getStoryViewsList</a>#4b3b5e97 id:<a href="/type/int">int</a> offset_date:<a href="/type/int">int</a> offset_id:<a href="/type/long">long</a> limit:<a href="/type/int">int</a> = <a href="/type/stories.StoryViewsList">stories.StoryViewsList</a>;
<a href="/method/stories.getStoriesViews">stories.getStoriesViews</a>#9a75d6a6 id:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; = <a href="/type/stories.StoryViews">stories.StoryViews</a>;
<a href="/method/stories.exportStoryLink">stories.exportStoryLink</a>#16e443ce user_id:<a href="/type/InputUser">InputUser</a> id:<a href="/type/int">int</a> = <a href="/type/ExportedStoryLink">ExportedStoryLink</a>;
<a href="/method/stories.report">stories.report</a>#c95be06a user_id:<a href="/type/InputUser">InputUser</a> id:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; reason:<a href="/type/ReportReason">ReportReason</a> message:<a href="/type/string">string</a> = <a href="/type/Bool">Bool</a>;<br>
<a href="/method/users.getStoriesMaxIDs">users.getStoriesMaxIDs</a>#ca1cb9ab id:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InputUser">InputUser</a>&gt; = <a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt;;<br></code></pre></div>
<h3><a class="anchor" href="#layer-159" id="layer-159" name="layer-159"><i class="anchor-icon"></i></a><a href="/schema?layer=159">Layer 159</a></h3>
<p>Introducing privacy settings for user bios, <a href="/api/auth#invalidating-login-codes">improved login code invalidation</a>, improved chat invites, improved <a href="/api/updates">update handling</a>, <a href="/api/sponsored-messages">sponsored websites</a> and <a href="/api/sponsored-messages#clicking-on-sponsored-messages">click reporting for sponsored messages</a>.</p>
<p>Also, anonymous channels can now vote in polls: when invoking <a href="/method/messages.sendVote">messages.sendVote</a>, the vote will be sent from the peer specified using <a href="/method/messages.saveDefaultSendAs">messages.saveDefaultSendAs</a>.</p>
<h4><a class="anchor" href="#schema-changes" id="schema-changes" name="schema-changes"><i class="anchor-icon"></i></a>Schema changes</h4>
<h5><a class="anchor" href="#new-methods" id="new-methods" name="new-methods"><i class="anchor-icon"></i></a>New Methods</h5>
<ul>
<li>Added <a href="/method/account.invalidateSignInCodes">account.invalidateSignInCodes</a> - Invalidate the specified login codes, see <a href="/api/auth#invalidating-login-codes">here »</a> for more info.</li>
<li>Added <a href="/method/channels.clickSponsoredMessage">channels.clickSponsoredMessage</a> - Informs the server that the user has either:</li>
</ul>
<h5><a class="anchor" href="#changed-methods" id="changed-methods" name="changed-methods"><i class="anchor-icon"></i></a>Changed Methods</h5>
<ul>
<li>Added <strong>pts_limit</strong>, <strong>qts_limit</strong> parameters in <a href="/method/updates.getDifference">updates.getDifference</a></li>
</ul>
<h5><a class="anchor" href="#new-constructors" id="new-constructors" name="new-constructors"><i class="anchor-icon"></i></a>New Constructors</h5>
<ul>
<li>Added <a href="/constructor/messagePeerVote">messagePeerVote</a> - How a peer voted in a poll</li>
<li>Added <a href="/constructor/messagePeerVoteInputOption">messagePeerVoteInputOption</a> - How a peer voted in a poll (reduced constructor, returned if an <code>option</code> was provided to <a href="/method/messages.getPollVotes">messages.getPollVotes</a>)</li>
<li>Added <a href="/constructor/messagePeerVoteMultiple">messagePeerVoteMultiple</a> - How a peer voted in a multiple-choice poll</li>
<li>Added <a href="/constructor/inputPrivacyKeyAbout">inputPrivacyKeyAbout</a> - Whether people can see your bio</li>
<li>Added <a href="/constructor/privacyKeyAbout">privacyKeyAbout</a> - Whether people can see your bio</li>
<li>Added <a href="/constructor/sponsoredWebPage">sponsoredWebPage</a> - Represents a sponsored website.</li>
</ul>
<h5><a class="anchor" href="#changed-constructors" id="changed-constructors" name="changed-constructors"><i class="anchor-icon"></i></a>Changed Constructors</h5>
<ul>
<li>Added <strong>verified</strong>, <strong>scam</strong>, <strong>fake</strong> parameters in <a href="/constructor/chatInvite">chatInvite</a></li>
<li>Changed type of <strong>recent_voters</strong> from <strong>flags.3?Vector&lt;long&gt;</strong> to <strong>flags.3?Vector&lt;Peer&gt;</strong> in <a href="/constructor/pollResults">pollResults</a></li>
<li>Added <strong>small_queue_active_operations_max</strong>, <strong>large_queue_active_operations_max</strong> parameters in <a href="/constructor/autoDownloadSettings">autoDownloadSettings</a></li>
<li>Added <strong>peer</strong> parameter, removed <strong>user_id</strong> parameter in <a href="/constructor/updateMessagePollVote">updateMessagePollVote</a></li>
<li>Added <strong>chats</strong> parameter, changed type of <strong>votes</strong> from <strong>Vector&lt;MessageUserVote&gt;</strong> to <strong>Vector&lt;MessagePeerVote&gt;</strong> in <a href="/constructor/messages.votesList">messages.votesList</a></li>
<li>Added <strong>webpage</strong> parameter in <a href="/constructor/sponsoredMessage">sponsoredMessage</a></li>
</ul>
<h5><a class="anchor" href="#deleted-constructors" id="deleted-constructors" name="deleted-constructors"><i class="anchor-icon"></i></a>Deleted Constructors</h5>
<ul>
<li>Removed messageUserVote</li>
<li>Removed messageUserVoteInputOption</li>
<li>Removed messageUserVoteMultiple</li>
</ul>
<h4><a class="anchor" href="#schema" id="schema" name="schema"><i class="anchor-icon"></i></a>Schema</h4>
<div><pre><code><a href="/constructor/chatInvite">chatInvite</a>#300c44c1 flags:<a href="/type/%23">#</a> channel:flags.0?<a href="/constructor/true">true</a> broadcast:flags.1?<a href="/constructor/true">true</a> public:flags.2?<a href="/constructor/true">true</a> megagroup:flags.3?<a href="/constructor/true">true</a> request_needed:flags.6?<a href="/constructor/true">true</a> verified:flags.7?<a href="/constructor/true">true</a> scam:flags.8?<a href="/constructor/true">true</a> fake:flags.9?<a href="/constructor/true">true</a> title:<a href="/type/string">string</a> about:flags.5?<a href="/type/string">string</a> photo:<a href="/type/Photo">Photo</a> participants_count:<a href="/type/int">int</a> participants:flags.4?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; = <a href="/type/ChatInvite">ChatInvite</a>;<br>
<a href="/constructor/pollResults">pollResults</a>#7adf2420 flags:<a href="/type/%23">#</a> min:flags.0?<a href="/constructor/true">true</a> results:flags.1?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/PollAnswerVoters">PollAnswerVoters</a>&gt; total_voters:flags.2?<a href="/type/int">int</a> recent_voters:flags.3?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Peer">Peer</a>&gt; solution:flags.4?<a href="/type/string">string</a> solution_entities:flags.4?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; = <a href="/type/PollResults">PollResults</a>;<br>
<a href="/constructor/autoDownloadSettings">autoDownloadSettings</a>#baa57628 flags:<a href="/type/%23">#</a> disabled:flags.0?<a href="/constructor/true">true</a> video_preload_large:flags.1?<a href="/constructor/true">true</a> audio_preload_next:flags.2?<a href="/constructor/true">true</a> phonecalls_less_data:flags.3?<a href="/constructor/true">true</a> photo_size_max:<a href="/type/int">int</a> video_size_max:<a href="/type/long">long</a> file_size_max:<a href="/type/long">long</a> video_upload_maxbitrate:<a href="/type/int">int</a> small_queue_active_operations_max:<a href="/type/int">int</a> large_queue_active_operations_max:<a href="/type/int">int</a> = <a href="/type/AutoDownloadSettings">AutoDownloadSettings</a>;<br>
<a href="/constructor/updateMessagePollVote">updateMessagePollVote</a>#24f40e77 poll_id:<a href="/type/long">long</a> peer:<a href="/type/Peer">Peer</a> options:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/bytes">bytes</a>&gt; qts:<a href="/type/int">int</a> = <a href="/type/Update">Update</a>;<br>
<a href="/constructor/messages.votesList">messages.votesList</a>#4899484e flags:<a href="/type/%23">#</a> count:<a href="/type/int">int</a> votes:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessagePeerVote">MessagePeerVote</a>&gt; chats:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Chat">Chat</a>&gt; users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; next_offset:flags.0?<a href="/type/string">string</a> = <a href="/type/messages.VotesList">messages.VotesList</a>;<br>
<a href="/constructor/sponsoredMessage">sponsoredMessage</a>#daafff6b flags:<a href="/type/%23">#</a> recommended:flags.5?<a href="/constructor/true">true</a> show_peer_photo:flags.6?<a href="/constructor/true">true</a> random_id:<a href="/type/bytes">bytes</a> from_id:flags.3?<a href="/type/Peer">Peer</a> chat_invite:flags.4?<a href="/type/ChatInvite">ChatInvite</a> chat_invite_hash:flags.4?<a href="/type/string">string</a> channel_post:flags.2?<a href="/type/int">int</a> start_param:flags.0?<a href="/type/string">string</a> webpage:flags.9?<a href="/type/SponsoredWebPage">SponsoredWebPage</a> message:<a href="/type/string">string</a> entities:flags.1?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; sponsor_info:flags.7?<a href="/type/string">string</a> additional_info:flags.8?<a href="/type/string">string</a> = <a href="/type/SponsoredMessage">SponsoredMessage</a>;<br>
<a href="/constructor/messagePeerVote">messagePeerVote</a>#b6cc2d5c peer:<a href="/type/Peer">Peer</a> option:<a href="/type/bytes">bytes</a> date:<a href="/type/int">int</a> = <a href="/type/MessagePeerVote">MessagePeerVote</a>;
<a href="/constructor/messagePeerVoteInputOption">messagePeerVoteInputOption</a>#74cda504 peer:<a href="/type/Peer">Peer</a> date:<a href="/type/int">int</a> = <a href="/type/MessagePeerVote">MessagePeerVote</a>;
<a href="/constructor/messagePeerVoteMultiple">messagePeerVoteMultiple</a>#4628f6e6 peer:<a href="/type/Peer">Peer</a> options:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/bytes">bytes</a>&gt; date:<a href="/type/int">int</a> = <a href="/type/MessagePeerVote">MessagePeerVote</a>;<br>
<a href="/constructor/inputPrivacyKeyAbout">inputPrivacyKeyAbout</a>#3823cc40 = <a href="/type/InputPrivacyKey">InputPrivacyKey</a>;<br>
<a href="/constructor/privacyKeyAbout">privacyKeyAbout</a>#a486b761 = <a href="/type/PrivacyKey">PrivacyKey</a>;<br>
<a href="/constructor/sponsoredWebPage">sponsoredWebPage</a>#3db8ec63 flags:<a href="/type/%23">#</a> url:<a href="/type/string">string</a> site_name:<a href="/type/string">string</a> photo:flags.0?<a href="/type/Photo">Photo</a> = <a href="/type/SponsoredWebPage">SponsoredWebPage</a>;<br>
---functions---<br>
<a href="/method/updates.getDifference">updates.getDifference</a>#19c2f763 flags:<a href="/type/%23">#</a> pts:<a href="/type/int">int</a> pts_limit:flags.1?<a href="/type/int">int</a> pts_total_limit:flags.0?<a href="/type/int">int</a> date:<a href="/type/int">int</a> qts:<a href="/type/int">int</a> qts_limit:flags.2?<a href="/type/int">int</a> = <a href="/type/updates.Difference">updates.Difference</a>;<br>
<a href="/method/account.invalidateSignInCodes">account.invalidateSignInCodes</a>#ca8ae8ba codes:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/string">string</a>&gt; = <a href="/type/Bool">Bool</a>;<br>
<a href="/method/channels.clickSponsoredMessage">channels.clickSponsoredMessage</a>#18afbc93 channel:<a href="/type/InputChannel">InputChannel</a> random_id:<a href="/type/bytes">bytes</a> = <a href="/type/Bool">Bool</a>;<br></code></pre></div>
<h3><a class="anchor" href="#layer-158" id="layer-158" name="layer-158"><i class="anchor-icon"></i></a><a href="/schema?layer=158">Layer 158</a></h3>
<p>To view all the changes since the last update, start reading the changelog @ <a href="#layer-146">Layer 146</a>.</p>
<p>Most importantly, <a href="#layer-152">layer 152</a> added support for Firebase SMS authentication, which in some conditions may be required by the server in order to send SMS codes.<br>
Currently, only official apps can make use of Firebase SMS authentication: this means that in some conditions, only the official applications can receive a login/signup code via SMS/call.<br>
Third-party apps may log in using any of the other code delivery methods (Telegram codes, Fragment codes, email codes, <a href="/api/auth#future-auth-tokens">future auth tokens</a>, <a href="/api/qr-login">QR codes</a>).</p>
<p>And now, here are the changes made in this layer:</p>
<p>You can now <a href="/api/folders#shared-folders">share folders »</a>, <a href="/api/fragment">use collectible usernames for bots »</a>, <a href="/method/messages.setChatWallPaper">set custom per-chat wallpapers »</a> and <a href="/method/auth.resetLoginEmail">reset the login email »</a>.<br>
Users may now edit the <a href="/api/bots/info">usernames, name, about text, description and profile picture</a> of bots they own using the API.<br>
Bots can now directly invoke <a href="/method/photos.updateProfilePhoto">photos.updateProfilePhoto</a> and <a href="/method/photos.uploadProfilePhoto">photos.uploadProfilePhoto</a> to edit their own profile picture.<br>
Bots may also now specify a custom peer filter when using <a href="/constructor/keyboardButtonSwitchInline">keyboardButtonSwitchInline</a> buttons.</p>
<p>Added the <a href="/api/config#small-queue-max-active-operations-count"><code>small_queue_max_active_operations_count</code> »</a> and <a href="/api/config#large-queue-max-active-operations-count"><code>large_queue_max_active_operations_count</code> »</a> client configuration parameters, used to limit parallelism when downloading multiple files in parallel from the same DC as described in the <a href="/api/files#downloading-files">docs »</a>.</p>
<p>The <a href="/api/errors#error-database">RPC error database »</a> was also updated, and a small clarification for open-source push notification standards like UnifiedPush was added to the <a href="/api/push-updates">push notifications documentation »</a>.</p>
<h4><a class="anchor" href="#schema-changes" id="schema-changes" name="schema-changes"><i class="anchor-icon"></i></a>Schema changes</h4>
<h5><a class="anchor" href="#new-methods" id="new-methods" name="new-methods"><i class="anchor-icon"></i></a>New Methods</h5>
<ul>
<li>Added <a href="/method/auth.resetLoginEmail">auth.resetLoginEmail</a> - Reset the <a href="https://core.telegram.org/api/auth#email-verification">login email »</a>.</li>
<li>Added <a href="/method/chatlists.exportChatlistInvite">chatlists.exportChatlistInvite</a> - Export a <a href="/api/folders">folder »</a>, creating a <a href="/api/links#chat-folder-links">chat folder deep link »</a>.</li>
<li>Added <a href="/method/chatlists.deleteExportedInvite">chatlists.deleteExportedInvite</a> - Delete a previously created <a href="/api/links#chat-folder-links">chat folder deep link »</a>.</li>
<li>Added <a href="/method/chatlists.editExportedInvite">chatlists.editExportedInvite</a> - Edit a <a href="/api/links#chat-folder-links">chat folder deep link »</a>.</li>
<li>Added <a href="/method/chatlists.getExportedInvites">chatlists.getExportedInvites</a> - List all <a href="/api/links#chat-folder-links">chat folder deep links »</a> associated to a folder</li>
<li>Added <a href="/method/chatlists.checkChatlistInvite">chatlists.checkChatlistInvite</a> - Obtain information about a <a href="/api/links#chat-folder-links">chat folder deep link »</a>.</li>
<li>Added <a href="/method/chatlists.joinChatlistInvite">chatlists.joinChatlistInvite</a> - Import a <a href="/api/links#chat-folder-links">chat folder deep link »</a>, joining some or all the chats in the folder.</li>
<li>Added <a href="/method/chatlists.getChatlistUpdates">chatlists.getChatlistUpdates</a> - Fetch new chats associated with an imported <a href="/api/links#chat-folder-links">chat folder deep link »</a>. Must be invoked at most every <code>chatlist_update_period</code> seconds (as per the related <a href="/api/config#chatlist-update-period">client configuration parameter »</a>).</li>
<li>Added <a href="/method/chatlists.joinChatlistUpdates">chatlists.joinChatlistUpdates</a> - Join channels and supergroups recently added to a <a href="/api/links#chat-folder-links">chat folder deep link »</a>.</li>
<li>Added <a href="/method/chatlists.hideChatlistUpdates">chatlists.hideChatlistUpdates</a> - Dismiss new pending peers recently added to a <a href="/api/links#chat-folder-links">chat folder deep link »</a>.</li>
<li>Added <a href="/method/chatlists.getLeaveChatlistSuggestions">chatlists.getLeaveChatlistSuggestions</a> - Returns identifiers of pinned or always included chats from a chat folder imported using a <a href="/api/links#chat-folder-links">chat folder deep link »</a>, which are suggested to be left when the chat folder is deleted.</li>
<li>Added <a href="/method/chatlists.leaveChatlist">chatlists.leaveChatlist</a> - Delete a folder imported using a <a href="/api/links#chat-folder-links">chat folder deep link »</a></li>
<li>Added <a href="/method/bots.reorderUsernames">bots.reorderUsernames</a> - Reorder usernames associated to a bot we own.</li>
<li>Added <a href="/method/bots.toggleUsername">bots.toggleUsername</a> - Activate or deactivate a purchased <a href="https://fragment.com">fragment.com</a> username associated to a bot we own.</li>
<li>Added <a href="/method/messages.setChatWallPaper">messages.setChatWallPaper</a> - Set a custom <a href="/api/wallpapers">wallpaper »</a> in a specific private chat with another user.</li>
</ul>
<h5><a class="anchor" href="#changed-methods" id="changed-methods" name="changed-methods"><i class="anchor-icon"></i></a>Changed Methods</h5>
<ul>
<li>Added <strong>bot</strong> parameter in <a href="/method/photos.updateProfilePhoto">photos.updateProfilePhoto</a></li>
<li>Added <strong>bot</strong> parameter in <a href="/method/photos.uploadProfilePhoto">photos.uploadProfilePhoto</a></li>
<li>Added <strong>flags</strong>, <strong>for_chat</strong> parameters in <a href="/method/account.uploadWallPaper">account.uploadWallPaper</a></li>
<li>Added <strong>bot</strong>, <strong>name</strong> parameters in <a href="/method/bots.setBotInfo">bots.setBotInfo</a></li>
<li>Changed type of <a href="/method/bots.getBotInfo">bots.getBotInfo</a> from <strong>Vector&lt;string&gt;</strong> to <strong>bots.BotInfo</strong></li>
<li>Added <strong>flags</strong>, <strong>bot</strong> parameters in <a href="/method/bots.getBotInfo">bots.getBotInfo</a></li>
</ul>
<h5><a class="anchor" href="#deleted-methods" id="deleted-methods" name="deleted-methods"><i class="anchor-icon"></i></a>Deleted Methods</h5>
<ul>
<li>Removed messages.getAllChats</li>
<li>Removed folders.deleteFolder</li>
</ul>
<h5><a class="anchor" href="#new-constructors" id="new-constructors" name="new-constructors"><i class="anchor-icon"></i></a>New Constructors</h5>
<ul>
<li>Added <a href="/constructor/dialogFilterChatlist">dialogFilterChatlist</a> - A folder imported using a <a href="/api/links#chat-folder-links">chat folder deep link »</a>.</li>
<li>Added <a href="/constructor/inputChatlistDialogFilter">inputChatlistDialogFilter</a> - Folder ID</li>
<li>Added <a href="/constructor/exportedChatlistInvite">exportedChatlistInvite</a> - Exported <a href="/api/links#chat-folder-links">chat folder deep link »</a>.</li>
<li>Added <a href="/constructor/chatlists.exportedChatlistInvite">chatlists.exportedChatlistInvite</a> - Info about an exported <a href="/api/links#chat-folder-links">chat folder deep link »</a>.</li>
<li>Added <a href="/constructor/chatlists.exportedInvites">chatlists.exportedInvites</a> - Info about multiple <a href="/api/links#chat-folder-links">chat folder deep links »</a>.</li>
<li>Added <a href="/constructor/chatlists.chatlistInviteAlready">chatlists.chatlistInviteAlready</a> - Updated info about a <a href="/api/links#chat-folder-links">chat folder deep link »</a> we already imported.</li>
<li>Added <a href="/constructor/chatlists.chatlistInvite">chatlists.chatlistInvite</a> - Info about a <a href="/api/links#chat-folder-links">chat folder deep link »</a>.</li>
<li>Added <a href="/constructor/chatlists.chatlistUpdates">chatlists.chatlistUpdates</a> - Updated information about a <a href="/api/links#chat-folder-links">chat folder deep link »</a>.</li>
<li>Added <a href="/constructor/messageActionSetChatWallPaper">messageActionSetChatWallPaper</a> - The <a href="/api/wallpapers">wallpaper »</a> of the current chat was changed.</li>
<li>Added <a href="/constructor/messageActionSetSameChatWallPaper">messageActionSetSameChatWallPaper</a> - The user applied a <a href="/api/wallpapers">wallpaper »</a> previously sent by the other user in a <a href="/constructor/messageActionSetChatWallPaper">messageActionSetChatWallPaper</a> message.</li>
<li>Added <a href="/constructor/bots.botInfo">bots.botInfo</a> - Localized information about a bot.</li>
<li>Added <a href="/constructor/inlineQueryPeerTypeBotPM">inlineQueryPeerTypeBotPM</a> - Peer type: private chat with a bot.</li>
</ul>
<h5><a class="anchor" href="#changed-constructors" id="changed-constructors" name="changed-constructors"><i class="anchor-icon"></i></a>Changed Constructors</h5>
<ul>
<li>Added <strong>wallpaper</strong> parameter in <a href="/constructor/userFull">userFull</a></li>
<li>Added <strong>bot_can_edit</strong> parameter in <a href="/constructor/user">user</a></li>
<li>Added <strong>peer_types</strong> parameter in <a href="/constructor/keyboardButtonSwitchInline">keyboardButtonSwitchInline</a></li>
<li>Added <strong>via_chatlist</strong> parameter in <a href="/constructor/updateChannelParticipant">updateChannelParticipant</a></li>
<li>Added <strong>via_chatlist</strong> parameter in <a href="/constructor/chatInviteImporter">chatInviteImporter</a></li>
<li>Added <strong>flags</strong>, <strong>via_chatlist</strong> parameters in <a href="/constructor/channelAdminLogEventActionParticipantJoinByInvite">channelAdminLogEventActionParticipantJoinByInvite</a></li>
<li>Added <strong>my</strong> parameter in <a href="/constructor/messagePeerReaction">messagePeerReaction</a></li>
<li>Added <strong>flags</strong>, <strong>crypto_currency</strong>, <strong>crypto_amount</strong> parameters in <a href="/constructor/messageActionGiftPremium">messageActionGiftPremium</a></li>
<li>Added <strong>reset_available_period</strong>, <strong>reset_pending_date</strong> parameters, removed <strong>next_phone_login_date</strong> parameter in <a href="/constructor/auth.sentCodeTypeEmailCode">auth.sentCodeTypeEmailCode</a></li>
</ul>
<h4><a class="anchor" href="#schema" id="schema" name="schema"><i class="anchor-icon"></i></a>Schema</h4>
<div><pre><code><a href="/constructor/userFull">userFull</a>#93eadb53 flags:<a href="/type/%23">#</a> blocked:flags.0?<a href="/constructor/true">true</a> phone_calls_available:flags.4?<a href="/constructor/true">true</a> phone_calls_private:flags.5?<a href="/constructor/true">true</a> can_pin_message:flags.7?<a href="/constructor/true">true</a> has_scheduled:flags.12?<a href="/constructor/true">true</a> video_calls_available:flags.13?<a href="/constructor/true">true</a> voice_messages_forbidden:flags.20?<a href="/constructor/true">true</a> translations_disabled:flags.23?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> about:flags.1?<a href="/type/string">string</a> settings:<a href="/type/PeerSettings">PeerSettings</a> personal_photo:flags.21?<a href="/type/Photo">Photo</a> profile_photo:flags.2?<a href="/type/Photo">Photo</a> fallback_photo:flags.22?<a href="/type/Photo">Photo</a> notify_settings:<a href="/type/PeerNotifySettings">PeerNotifySettings</a> bot_info:flags.3?<a href="/type/BotInfo">BotInfo</a> pinned_msg_id:flags.6?<a href="/type/int">int</a> common_chats_count:<a href="/type/int">int</a> folder_id:flags.11?<a href="/type/int">int</a> ttl_period:flags.14?<a href="/type/int">int</a> theme_emoticon:flags.15?<a href="/type/string">string</a> private_forward_name:flags.16?<a href="/type/string">string</a> bot_group_admin_rights:flags.17?<a href="/type/ChatAdminRights">ChatAdminRights</a> bot_broadcast_admin_rights:flags.18?<a href="/type/ChatAdminRights">ChatAdminRights</a> premium_gifts:flags.19?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/PremiumGiftOption">PremiumGiftOption</a>&gt; wallpaper:flags.24?<a href="/type/WallPaper">WallPaper</a> = <a href="/type/UserFull">UserFull</a>;
<a href="/constructor/user">user</a>#8f97c628 flags:<a href="/type/%23">#</a> self:flags.10?<a href="/constructor/true">true</a> contact:flags.11?<a href="/constructor/true">true</a> mutual_contact:flags.12?<a href="/constructor/true">true</a> deleted:flags.13?<a href="/constructor/true">true</a> bot:flags.14?<a href="/constructor/true">true</a> bot_chat_history:flags.15?<a href="/constructor/true">true</a> bot_nochats:flags.16?<a href="/constructor/true">true</a> verified:flags.17?<a href="/constructor/true">true</a> restricted:flags.18?<a href="/constructor/true">true</a> min:flags.20?<a href="/constructor/true">true</a> bot_inline_geo:flags.21?<a href="/constructor/true">true</a> support:flags.23?<a href="/constructor/true">true</a> scam:flags.24?<a href="/constructor/true">true</a> apply_min_photo:flags.25?<a href="/constructor/true">true</a> fake:flags.26?<a href="/constructor/true">true</a> bot_attach_menu:flags.27?<a href="/constructor/true">true</a> premium:flags.28?<a href="/constructor/true">true</a> attach_menu_enabled:flags.29?<a href="/constructor/true">true</a> flags2:<a href="/type/%23">#</a> bot_can_edit:flags2.1?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> access_hash:flags.0?<a href="/type/long">long</a> first_name:flags.1?<a href="/type/string">string</a> last_name:flags.2?<a href="/type/string">string</a> username:flags.3?<a href="/type/string">string</a> phone:flags.4?<a href="/type/string">string</a> photo:flags.5?<a href="/type/UserProfilePhoto">UserProfilePhoto</a> status:flags.6?<a href="/type/UserStatus">UserStatus</a> bot_info_version:flags.14?<a href="/type/int">int</a> restriction_reason:flags.18?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/RestrictionReason">RestrictionReason</a>&gt; bot_inline_placeholder:flags.19?<a href="/type/string">string</a> lang_code:flags.22?<a href="/type/string">string</a> emoji_status:flags.30?<a href="/type/EmojiStatus">EmojiStatus</a> usernames:flags2.0?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Username">Username</a>&gt; = <a href="/type/User">User</a>;<br>
<a href="/constructor/keyboardButtonSwitchInline">keyboardButtonSwitchInline</a>#93b9fbb5 flags:<a href="/type/%23">#</a> same_peer:flags.0?<a href="/constructor/true">true</a> text:<a href="/type/string">string</a> query:<a href="/type/string">string</a> peer_types:flags.1?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InlineQueryPeerType">InlineQueryPeerType</a>&gt; = <a href="/type/KeyboardButton">KeyboardButton</a>;<br>
<a href="/constructor/updateChannelParticipant">updateChannelParticipant</a>#985d3abb flags:<a href="/type/%23">#</a> via_chatlist:flags.3?<a href="/constructor/true">true</a> channel_id:<a href="/type/long">long</a> date:<a href="/type/int">int</a> actor_id:<a href="/type/long">long</a> user_id:<a href="/type/long">long</a> prev_participant:flags.0?<a href="/type/ChannelParticipant">ChannelParticipant</a> new_participant:flags.1?<a href="/type/ChannelParticipant">ChannelParticipant</a> invite:flags.2?<a href="/type/ExportedChatInvite">ExportedChatInvite</a> qts:<a href="/type/int">int</a> = <a href="/type/Update">Update</a>;<br>
<a href="/constructor/chatInviteImporter">chatInviteImporter</a>#8c5adfd9 flags:<a href="/type/%23">#</a> requested:flags.0?<a href="/constructor/true">true</a> via_chatlist:flags.3?<a href="/constructor/true">true</a> user_id:<a href="/type/long">long</a> date:<a href="/type/int">int</a> about:flags.2?<a href="/type/string">string</a> approved_by:flags.1?<a href="/type/long">long</a> = <a href="/type/ChatInviteImporter">ChatInviteImporter</a>;
<a href="/constructor/channelAdminLogEventActionParticipantJoinByInvite">channelAdminLogEventActionParticipantJoinByInvite</a>#fe9fc158 flags:<a href="/type/%23">#</a> via_chatlist:flags.0?<a href="/constructor/true">true</a> invite:<a href="/type/ExportedChatInvite">ExportedChatInvite</a> = <a href="/type/ChannelAdminLogEventAction">ChannelAdminLogEventAction</a>;<br>
<a href="/constructor/messagePeerReaction">messagePeerReaction</a>#8c79b63c flags:<a href="/type/%23">#</a> big:flags.0?<a href="/constructor/true">true</a> unread:flags.1?<a href="/constructor/true">true</a> my:flags.2?<a href="/constructor/true">true</a> peer_id:<a href="/type/Peer">Peer</a> date:<a href="/type/int">int</a> reaction:<a href="/type/Reaction">Reaction</a> = <a href="/type/MessagePeerReaction">MessagePeerReaction</a>;
<a href="/constructor/messageActionGiftPremium">messageActionGiftPremium</a>#c83d6aec flags:<a href="/type/%23">#</a> currency:<a href="/type/string">string</a> amount:<a href="/type/long">long</a> months:<a href="/type/int">int</a> crypto_currency:flags.0?<a href="/type/string">string</a> crypto_amount:flags.0?<a href="/type/long">long</a> = <a href="/type/MessageAction">MessageAction</a>;<br>
<a href="/constructor/auth.sentCodeTypeEmailCode">auth.sentCodeTypeEmailCode</a>#f450f59b flags:<a href="/type/%23">#</a> apple_signin_allowed:flags.0?<a href="/constructor/true">true</a> google_signin_allowed:flags.1?<a href="/constructor/true">true</a> email_pattern:<a href="/type/string">string</a> length:<a href="/type/int">int</a> reset_available_period:flags.3?<a href="/type/int">int</a> reset_pending_date:flags.4?<a href="/type/int">int</a> = <a href="/type/auth.SentCodeType">auth.SentCodeType</a>;<br>
<a href="/constructor/dialogFilterChatlist">dialogFilterChatlist</a>#d64a04a8 flags:<a href="/type/%23">#</a> has_my_invites:flags.26?<a href="/constructor/true">true</a> id:<a href="/type/int">int</a> title:<a href="/type/string">string</a> emoticon:flags.25?<a href="/type/string">string</a> pinned_peers:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InputPeer">InputPeer</a>&gt; include_peers:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InputPeer">InputPeer</a>&gt; = <a href="/type/DialogFilter">DialogFilter</a>;<br>
<a href="/constructor/inputChatlistDialogFilter">inputChatlistDialogFilter</a>#f3e0da33 filter_id:<a href="/type/int">int</a> = <a href="/type/InputChatlist">InputChatlist</a>;<br>
<a href="/constructor/exportedChatlistInvite">exportedChatlistInvite</a>#0c5181ac flags:<a href="/type/%23">#</a> title:<a href="/type/string">string</a> url:<a href="/type/string">string</a> peers:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Peer">Peer</a>&gt; = <a href="/type/ExportedChatlistInvite">ExportedChatlistInvite</a>;<br>
<a href="/constructor/chatlists.exportedChatlistInvite">chatlists.exportedChatlistInvite</a>#10e6e3a6 filter:<a href="/type/DialogFilter">DialogFilter</a> invite:<a href="/type/ExportedChatlistInvite">ExportedChatlistInvite</a> = <a href="/type/chatlists.ExportedChatlistInvite">chatlists.ExportedChatlistInvite</a>;
<a href="/constructor/chatlists.exportedInvites">chatlists.exportedInvites</a>#10ab6dc7 invites:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/ExportedChatlistInvite">ExportedChatlistInvite</a>&gt; chats:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Chat">Chat</a>&gt; users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; = <a href="/type/chatlists.ExportedInvites">chatlists.ExportedInvites</a>;
<a href="/constructor/chatlists.chatlistInviteAlready">chatlists.chatlistInviteAlready</a>#fa87f659 filter_id:<a href="/type/int">int</a> missing_peers:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Peer">Peer</a>&gt; already_peers:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Peer">Peer</a>&gt; chats:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Chat">Chat</a>&gt; users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; = <a href="/type/chatlists.ChatlistInvite">chatlists.ChatlistInvite</a>;
<a href="/constructor/chatlists.chatlistInvite">chatlists.chatlistInvite</a>#1dcd839d flags:<a href="/type/%23">#</a> title:<a href="/type/string">string</a> emoticon:flags.0?<a href="/type/string">string</a> peers:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Peer">Peer</a>&gt; chats:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Chat">Chat</a>&gt; users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; = <a href="/type/chatlists.ChatlistInvite">chatlists.ChatlistInvite</a>;
<a href="/constructor/chatlists.chatlistUpdates">chatlists.chatlistUpdates</a>#93bd878d missing_peers:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Peer">Peer</a>&gt; chats:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Chat">Chat</a>&gt; users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; = <a href="/type/chatlists.ChatlistUpdates">chatlists.ChatlistUpdates</a>;<br>
<a href="/constructor/messageActionSetChatWallPaper">messageActionSetChatWallPaper</a>#bc44a927 wallpaper:<a href="/type/WallPaper">WallPaper</a> = <a href="/type/MessageAction">MessageAction</a>;
<a href="/constructor/messageActionSetSameChatWallPaper">messageActionSetSameChatWallPaper</a>#c0787d6d wallpaper:<a href="/type/WallPaper">WallPaper</a> = <a href="/type/MessageAction">MessageAction</a>;<br>
<a href="/constructor/bots.botInfo">bots.botInfo</a>#e8a775b0 name:<a href="/type/string">string</a> about:<a href="/type/string">string</a> description:<a href="/type/string">string</a> = <a href="/type/bots.BotInfo">bots.BotInfo</a>;<br>
<a href="/constructor/inlineQueryPeerTypeBotPM">inlineQueryPeerTypeBotPM</a>#0e3b2d0c = <a href="/type/InlineQueryPeerType">InlineQueryPeerType</a>;<br>
---functions---<br>
<a href="/method/photos.updateProfilePhoto">photos.updateProfilePhoto</a>#09e82039 flags:<a href="/type/%23">#</a> fallback:flags.0?<a href="/constructor/true">true</a> bot:flags.1?<a href="/type/InputUser">InputUser</a> id:<a href="/type/InputPhoto">InputPhoto</a> = <a href="/type/photos.Photo">photos.Photo</a>;
<a href="/method/photos.uploadProfilePhoto">photos.uploadProfilePhoto</a>#0388a3b5 flags:<a href="/type/%23">#</a> fallback:flags.3?<a href="/constructor/true">true</a> bot:flags.5?<a href="/type/InputUser">InputUser</a> file:flags.0?<a href="/type/InputFile">InputFile</a> video:flags.1?<a href="/type/InputFile">InputFile</a> video_start_ts:flags.2?<a href="/type/double">double</a> video_emoji_markup:flags.4?<a href="/type/VideoSize">VideoSize</a> = <a href="/type/photos.Photo">photos.Photo</a>;<br>
<a href="/method/account.uploadWallPaper">account.uploadWallPaper</a>#e39a8f03 flags:<a href="/type/%23">#</a> for_chat:flags.0?<a href="/constructor/true">true</a> file:<a href="/type/InputFile">InputFile</a> mime_type:<a href="/type/string">string</a> settings:<a href="/type/WallPaperSettings">WallPaperSettings</a> = <a href="/type/WallPaper">WallPaper</a>;<br>
<a href="/method/bots.setBotInfo">bots.setBotInfo</a>#10cf3123 flags:<a href="/type/%23">#</a> bot:flags.2?<a href="/type/InputUser">InputUser</a> lang_code:<a href="/type/string">string</a> name:flags.3?<a href="/type/string">string</a> about:flags.0?<a href="/type/string">string</a> description:flags.1?<a href="/type/string">string</a> = <a href="/type/Bool">Bool</a>;
<a href="/method/bots.getBotInfo">bots.getBotInfo</a>#dcd914fd flags:<a href="/type/%23">#</a> bot:flags.0?<a href="/type/InputUser">InputUser</a> lang_code:<a href="/type/string">string</a> = <a href="/type/bots.BotInfo">bots.BotInfo</a>;<br>
<a href="/method/auth.resetLoginEmail">auth.resetLoginEmail</a>#7e960193 phone_number:<a href="/type/string">string</a> phone_code_hash:<a href="/type/string">string</a> = <a href="/type/auth.SentCode">auth.SentCode</a>;<br>
<a href="/method/chatlists.exportChatlistInvite">chatlists.exportChatlistInvite</a>#8472478e chatlist:<a href="/type/InputChatlist">InputChatlist</a> title:<a href="/type/string">string</a> peers:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InputPeer">InputPeer</a>&gt; = <a href="/type/chatlists.ExportedChatlistInvite">chatlists.ExportedChatlistInvite</a>;
<a href="/method/chatlists.deleteExportedInvite">chatlists.deleteExportedInvite</a>#719c5c5e chatlist:<a href="/type/InputChatlist">InputChatlist</a> slug:<a href="/type/string">string</a> = <a href="/type/Bool">Bool</a>;
<a href="/method/chatlists.editExportedInvite">chatlists.editExportedInvite</a>#653db63d flags:<a href="/type/%23">#</a> chatlist:<a href="/type/InputChatlist">InputChatlist</a> slug:<a href="/type/string">string</a> title:flags.1?<a href="/type/string">string</a> peers:flags.2?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InputPeer">InputPeer</a>&gt; = <a href="/type/ExportedChatlistInvite">ExportedChatlistInvite</a>;
<a href="/method/chatlists.getExportedInvites">chatlists.getExportedInvites</a>#ce03da83 chatlist:<a href="/type/InputChatlist">InputChatlist</a> = <a href="/type/chatlists.ExportedInvites">chatlists.ExportedInvites</a>;
<a href="/method/chatlists.checkChatlistInvite">chatlists.checkChatlistInvite</a>#41c10fff slug:<a href="/type/string">string</a> = <a href="/type/chatlists.ChatlistInvite">chatlists.ChatlistInvite</a>;
<a href="/method/chatlists.joinChatlistInvite">chatlists.joinChatlistInvite</a>#a6b1e39a slug:<a href="/type/string">string</a> peers:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InputPeer">InputPeer</a>&gt; = <a href="/type/Updates">Updates</a>;
<a href="/method/chatlists.getChatlistUpdates">chatlists.getChatlistUpdates</a>#89419521 chatlist:<a href="/type/InputChatlist">InputChatlist</a> = <a href="/type/chatlists.ChatlistUpdates">chatlists.ChatlistUpdates</a>;
<a href="/method/chatlists.joinChatlistUpdates">chatlists.joinChatlistUpdates</a>#e089f8f5 chatlist:<a href="/type/InputChatlist">InputChatlist</a> peers:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InputPeer">InputPeer</a>&gt; = <a href="/type/Updates">Updates</a>;
<a href="/method/chatlists.hideChatlistUpdates">chatlists.hideChatlistUpdates</a>#66e486fb chatlist:<a href="/type/InputChatlist">InputChatlist</a> = <a href="/type/Bool">Bool</a>;
<a href="/method/chatlists.getLeaveChatlistSuggestions">chatlists.getLeaveChatlistSuggestions</a>#fdbcd714 chatlist:<a href="/type/InputChatlist">InputChatlist</a> = <a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Peer">Peer</a>&gt;;
<a href="/method/chatlists.leaveChatlist">chatlists.leaveChatlist</a>#74fae13a chatlist:<a href="/type/InputChatlist">InputChatlist</a> peers:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InputPeer">InputPeer</a>&gt; = <a href="/type/Updates">Updates</a>;<br>
<a href="/method/bots.reorderUsernames">bots.reorderUsernames</a>#9709b1c2 bot:<a href="/type/InputUser">InputUser</a> order:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/string">string</a>&gt; = <a href="/type/Bool">Bool</a>;
<a href="/method/bots.toggleUsername">bots.toggleUsername</a>#053ca973 bot:<a href="/type/InputUser">InputUser</a> username:<a href="/type/string">string</a> active:<a href="/type/Bool">Bool</a> = <a href="/type/Bool">Bool</a>;<br>
<a href="/method/messages.setChatWallPaper">messages.setChatWallPaper</a>#8ffacae1 flags:<a href="/type/%23">#</a> peer:<a href="/type/InputPeer">InputPeer</a> wallpaper:flags.0?<a href="/type/InputWallPaper">InputWallPaper</a> settings:flags.2?<a href="/type/WallPaperSettings">WallPaperSettings</a> id:flags.1?<a href="/type/int">int</a> = <a href="/type/Updates">Updates</a>;<br></code></pre></div>
<h3><a class="anchor" href="#layer-155" id="layer-155" name="layer-155"><i class="anchor-icon"></i></a><a href="/schema?layer=155">Layer 155</a></h3>
<p>Reaction dates.</p>
<h4><a class="anchor" href="#schema-changes" id="schema-changes" name="schema-changes"><i class="anchor-icon"></i></a>Schema changes</h4>
<h5><a class="anchor" href="#changed-constructors" id="changed-constructors" name="changed-constructors"><i class="anchor-icon"></i></a>Changed Constructors</h5>
<ul>
<li>Added <strong>date</strong> parameter in <a href="/constructor/messagePeerReaction">messagePeerReaction</a></li>
</ul>
<h4><a class="anchor" href="#schema" id="schema" name="schema"><i class="anchor-icon"></i></a>Schema</h4>
<div><pre><code><a href="/constructor/messagePeerReaction">messagePeerReaction</a>#8c79b63c flags:<a href="/type/%23">#</a> big:flags.0?<a href="/constructor/true">true</a> unread:flags.1?<a href="/constructor/true">true</a> peer_id:<a href="/type/Peer">Peer</a> date:<a href="/type/int">int</a> reaction:<a href="/type/Reaction">Reaction</a> = <a href="/type/MessagePeerReaction">MessagePeerReaction</a>;<br></code></pre></div>
<h3><a class="anchor" href="#layer-154" id="layer-154" name="layer-154"><i class="anchor-icon"></i></a><a href="/schema?layer=154">Layer 154</a></h3>
<p>Added support for <a href="/api/bots/webapps#named-mini-apps">named Mini Apps</a>, which can be opened from a <a href="/api/links#direct-mini-app-links">Direct Mini App link</a>.<br>
<a href="/api/bots/webapps#inline-mode-mini-apps">Web apps</a> can now be opened by clicking on a <code>switch_webview</code> inline result, similar to <code>switch_pm</code> inline results.<br>
Bots can now edit and localize their own about text and description.<br>
The current <a href="/api/auth#future-auth-tokens">future auth token</a> is now directly returned in the <a href="/constructor/config">config</a> constructor, which was also cleaned up to remove redundant information already contained in the <a href="/api/config#client-configuration">appConfig configuration</a>.<br>
<a href="/method/messages.getMessageReadParticipants">messages.getMessageReadParticipants</a> now returns a timestamp for each user, indicating when that user has read the specified message.</p>
<p>When using <a href="/method/messages.addChatUser">messages.addChatUser</a>, <a href="/method/channels.inviteToChannel">channels.inviteToChannel</a> or <a href="/method/messages.createChat">messages.createChat</a>, 0-N updates of type <a href="/constructor/updateGroupInvitePrivacyForbidden">updateGroupInvitePrivacyForbidden</a> may now be returned, indicating that the server couldn't add a user to a chat because of their privacy settings; if required, an <a href="/api/invites">invite link</a> can be shared with the user, instead.</p>
<p>Sponsored messages can now contain detailed info about the sponsor of the message or the message itself.</p>
<h4><a class="anchor" href="#schema-changes" id="schema-changes" name="schema-changes"><i class="anchor-icon"></i></a>Schema changes</h4>
<h5><a class="anchor" href="#new-methods" id="new-methods" name="new-methods"><i class="anchor-icon"></i></a>New Methods</h5>
<ul>
<li>Added <a href="/method/messages.getBotApp">messages.getBotApp</a> - Obtain information about a <a href="/api/bots/webapps#direct-link-mini-apps">direct link Mini App</a></li>
<li>Added <a href="/method/messages.requestAppWebView">messages.requestAppWebView</a> - Open a <a href="/bots/webapps">bot mini app</a> from a <a href="/api/links#direct-mini-app-links">direct Mini App deep link</a>, sending over user information after user confirmation.</li>
<li>Added <a href="/method/bots.setBotInfo">bots.setBotInfo</a> - Set localized name, about text and description of a bot (or of the current account, if called by a bot).</li>
<li>Added <a href="/method/bots.getBotInfo">bots.getBotInfo</a> - Get localized name, about text and description of a bot (or of the current account, if called by a bot).</li>
</ul>
<h5><a class="anchor" href="#changed-methods" id="changed-methods" name="changed-methods"><i class="anchor-icon"></i></a>Changed Methods</h5>
<ul>
<li>Added <strong>switch_webview</strong> parameter in <a href="/method/messages.setInlineBotResults">messages.setInlineBotResults</a></li>
<li>Changed type of <a href="/method/messages.getMessageReadParticipants">messages.getMessageReadParticipants</a> from <strong>Vector&lt;long&gt;</strong> to <strong>Vector&lt;ReadParticipantDate&gt;</strong></li>
<li>Added <strong>from_switch_webview</strong> parameter in <a href="/method/messages.requestSimpleWebView">messages.requestSimpleWebView</a></li>
</ul>
<h5><a class="anchor" href="#new-constructors" id="new-constructors" name="new-constructors"><i class="anchor-icon"></i></a>New Constructors</h5>
<ul>
<li>Added <a href="/constructor/inputBotAppID">inputBotAppID</a> - Used to fetch information about a <a href="/api/bots/webapps#direct-link-mini-apps">direct link Mini App</a> by its ID</li>
<li>Added <a href="/constructor/inputBotAppShortName">inputBotAppShortName</a> - Used to fetch information about a <a href="/api/bots/webapps#direct-link-mini-apps">direct link Mini App</a> by its short name</li>
<li>Added <a href="/constructor/botAppNotModified">botAppNotModified</a> - Bot app info hasn't changed.</li>
<li>Added <a href="/constructor/botApp">botApp</a> - Contains information about a <a href="/api/bots/webapps#direct-link-mini-apps">direct link Mini App</a>.</li>
<li>Added <a href="/constructor/messages.botApp">messages.botApp</a> - Contains information about a <a href="/api/bots/webapps#direct-link-mini-apps">direct link Mini App</a></li>
<li>Added <a href="/constructor/appWebViewResultUrl">appWebViewResultUrl</a> - Contains the link that must be used to open a <a href="/api/bots/webapps#direct-link-mini-apps">direct link Mini App</a>.</li>
<li>Added <a href="/constructor/inlineBotWebView">inlineBotWebView</a> - Specifies an <a href="/api/bots/webapps#inline-mode-mini-apps">inline mode mini app</a> button, shown on top of the inline query results list.</li>
<li>Added <a href="/constructor/readParticipantDate">readParticipantDate</a> - Contains info about when a certain participant has read a message</li>
<li>Added <a href="/constructor/updateGroupInvitePrivacyForbidden">updateGroupInvitePrivacyForbidden</a> - 0-N updates of this type may be returned only when invoking <a href="/method/messages.addChatUser">messages.addChatUser</a>, <a href="/method/channels.inviteToChannel">channels.inviteToChannel</a> or <a href="/method/messages.createChat">messages.createChat</a>: it indicates we couldn't add a user to a chat because of their privacy settings; if required, an <a href="/api/invites">invite link</a> can be shared with the user, instead.</li>
</ul>
<h5><a class="anchor" href="#changed-constructors" id="changed-constructors" name="changed-constructors"><i class="anchor-icon"></i></a>Changed Constructors</h5>
<ul>
<li>Added <strong>autologin_token</strong> parameter, removed <strong>phonecalls_enabled</strong>, <strong>ignore_phone_entities</strong>, <strong>pfs_enabled</strong>, <strong>saved_gifs_limit</strong>, <strong>stickers_faved_limit</strong>, <strong>pinned_dialogs_count_max</strong>, <strong>pinned_infolder_count_max</strong> parameters in <a href="/constructor/config">config</a></li>
<li>Added <strong>switch_webview</strong> parameter in <a href="/constructor/messages.botResults">messages.botResults</a></li>
<li>Added <strong>flags</strong>, <strong>attach_menu</strong>, <strong>app</strong> parameters, changed type of <strong>domain</strong> from <strong>string</strong> to <strong>flags.0?string</strong> in <a href="/constructor/messageActionBotAllowed">messageActionBotAllowed</a></li>
<li>Added <strong>sponsor_info</strong>, <strong>additional_info</strong> parameters in <a href="/constructor/sponsoredMessage">sponsoredMessage</a></li>
</ul>
<h4><a class="anchor" href="#schema" id="schema" name="schema"><i class="anchor-icon"></i></a>Schema</h4>
<div><pre><code><a href="/constructor/config">config</a>#cc1a241e flags:<a href="/type/%23">#</a> default_p2p_contacts:flags.3?<a href="/constructor/true">true</a> preload_featured_stickers:flags.4?<a href="/constructor/true">true</a> revoke_pm_inbox:flags.6?<a href="/constructor/true">true</a> blocked_mode:flags.8?<a href="/constructor/true">true</a> force_try_ipv6:flags.14?<a href="/constructor/true">true</a> date:<a href="/type/int">int</a> expires:<a href="/type/int">int</a> test_mode:<a href="/type/Bool">Bool</a> this_dc:<a href="/type/int">int</a> dc_options:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/DcOption">DcOption</a>&gt; dc_txt_domain_name:<a href="/type/string">string</a> chat_size_max:<a href="/type/int">int</a> megagroup_size_max:<a href="/type/int">int</a> forwarded_count_max:<a href="/type/int">int</a> online_update_period_ms:<a href="/type/int">int</a> offline_blur_timeout_ms:<a href="/type/int">int</a> offline_idle_timeout_ms:<a href="/type/int">int</a> online_cloud_timeout_ms:<a href="/type/int">int</a> notify_cloud_delay_ms:<a href="/type/int">int</a> notify_default_delay_ms:<a href="/type/int">int</a> push_chat_period_ms:<a href="/type/int">int</a> push_chat_limit:<a href="/type/int">int</a> edit_time_limit:<a href="/type/int">int</a> revoke_time_limit:<a href="/type/int">int</a> revoke_pm_time_limit:<a href="/type/int">int</a> rating_e_decay:<a href="/type/int">int</a> stickers_recent_limit:<a href="/type/int">int</a> channels_read_media_period:<a href="/type/int">int</a> tmp_sessions:flags.0?<a href="/type/int">int</a> call_receive_timeout_ms:<a href="/type/int">int</a> call_ring_timeout_ms:<a href="/type/int">int</a> call_connect_timeout_ms:<a href="/type/int">int</a> call_packet_timeout_ms:<a href="/type/int">int</a> me_url_prefix:<a href="/type/string">string</a> autoupdate_url_prefix:flags.7?<a href="/type/string">string</a> gif_search_username:flags.9?<a href="/type/string">string</a> venue_search_username:flags.10?<a href="/type/string">string</a> img_search_username:flags.11?<a href="/type/string">string</a> static_maps_provider:flags.12?<a href="/type/string">string</a> caption_length_max:<a href="/type/int">int</a> message_length_max:<a href="/type/int">int</a> webfile_dc_id:<a href="/type/int">int</a> suggested_lang_code:flags.2?<a href="/type/string">string</a> lang_pack_version:flags.2?<a href="/type/int">int</a> base_lang_pack_version:flags.2?<a href="/type/int">int</a> reactions_default:flags.15?<a href="/type/Reaction">Reaction</a> autologin_token:flags.16?<a href="/type/string">string</a> = <a href="/type/Config">Config</a>;<br>
<a href="/constructor/messages.botResults">messages.botResults</a>#e021f2f6 flags:<a href="/type/%23">#</a> gallery:flags.0?<a href="/constructor/true">true</a> query_id:<a href="/type/long">long</a> next_offset:flags.1?<a href="/type/string">string</a> switch_pm:flags.2?<a href="/type/InlineBotSwitchPM">InlineBotSwitchPM</a> switch_webview:flags.3?<a href="/type/InlineBotWebView">InlineBotWebView</a> results:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/BotInlineResult">BotInlineResult</a>&gt; cache_time:<a href="/type/int">int</a> users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; = <a href="/type/messages.BotResults">messages.BotResults</a>;
<a href="/constructor/messageActionBotAllowed">messageActionBotAllowed</a>#c516d679 flags:<a href="/type/%23">#</a> attach_menu:flags.1?<a href="/constructor/true">true</a> domain:flags.0?<a href="/type/string">string</a> app:flags.2?<a href="/type/BotApp">BotApp</a> = <a href="/type/MessageAction">MessageAction</a>;<br>
<a href="/constructor/sponsoredMessage">sponsoredMessage</a>#fc25b828 flags:<a href="/type/%23">#</a> recommended:flags.5?<a href="/constructor/true">true</a> show_peer_photo:flags.6?<a href="/constructor/true">true</a> random_id:<a href="/type/bytes">bytes</a> from_id:flags.3?<a href="/type/Peer">Peer</a> chat_invite:flags.4?<a href="/type/ChatInvite">ChatInvite</a> chat_invite_hash:flags.4?<a href="/type/string">string</a> channel_post:flags.2?<a href="/type/int">int</a> start_param:flags.0?<a href="/type/string">string</a> message:<a href="/type/string">string</a> entities:flags.1?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; sponsor_info:flags.7?<a href="/type/string">string</a> additional_info:flags.8?<a href="/type/string">string</a> = <a href="/type/SponsoredMessage">SponsoredMessage</a>;<br>
<a href="/constructor/inputBotAppID">inputBotAppID</a>#a920bd7a id:<a href="/type/long">long</a> access_hash:<a href="/type/long">long</a> = <a href="/type/InputBotApp">InputBotApp</a>;
<a href="/constructor/inputBotAppShortName">inputBotAppShortName</a>#908c0407 bot_id:<a href="/type/InputUser">InputUser</a> short_name:<a href="/type/string">string</a> = <a href="/type/InputBotApp">InputBotApp</a>;<br>
<a href="/constructor/botAppNotModified">botAppNotModified</a>#5da674b7 = <a href="/type/BotApp">BotApp</a>;
<a href="/constructor/botApp">botApp</a>#95fcd1d6 flags:<a href="/type/%23">#</a> id:<a href="/type/long">long</a> access_hash:<a href="/type/long">long</a> short_name:<a href="/type/string">string</a> title:<a href="/type/string">string</a> description:<a href="/type/string">string</a> photo:<a href="/type/Photo">Photo</a> document:flags.0?<a href="/type/Document">Document</a> hash:<a href="/type/long">long</a> = <a href="/type/BotApp">BotApp</a>;<br>
<a href="/constructor/messages.botApp">messages.botApp</a>#eb50adf5 flags:<a href="/type/%23">#</a> inactive:flags.0?<a href="/constructor/true">true</a> request_write_access:flags.1?<a href="/constructor/true">true</a> app:<a href="/type/BotApp">BotApp</a> = <a href="/type/messages.BotApp">messages.BotApp</a>;<br>
<a href="/constructor/appWebViewResultUrl">appWebViewResultUrl</a>#3c1b4f0d url:<a href="/type/string">string</a> = <a href="/type/AppWebViewResult">AppWebViewResult</a>;<br>
<a href="/constructor/inlineBotWebView">inlineBotWebView</a>#b57295d5 text:<a href="/type/string">string</a> url:<a href="/type/string">string</a> = <a href="/type/InlineBotWebView">InlineBotWebView</a>;<br>
<a href="/constructor/readParticipantDate">readParticipantDate</a>#4a4ff172 user_id:<a href="/type/long">long</a> date:<a href="/type/int">int</a> = <a href="/type/ReadParticipantDate">ReadParticipantDate</a>;<br>
<a href="/constructor/updateGroupInvitePrivacyForbidden">updateGroupInvitePrivacyForbidden</a>#ccf08ad6 user_id:<a href="/type/long">long</a> = <a href="/type/Update">Update</a>;<br>
---functions---<br>
<a href="/method/messages.setInlineBotResults">messages.setInlineBotResults</a>#bb12a419 flags:<a href="/type/%23">#</a> gallery:flags.0?<a href="/constructor/true">true</a> private:flags.1?<a href="/constructor/true">true</a> query_id:<a href="/type/long">long</a> results:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InputBotInlineResult">InputBotInlineResult</a>&gt; cache_time:<a href="/type/int">int</a> next_offset:flags.2?<a href="/type/string">string</a> switch_pm:flags.3?<a href="/type/InlineBotSwitchPM">InlineBotSwitchPM</a> switch_webview:flags.4?<a href="/type/InlineBotWebView">InlineBotWebView</a> = <a href="/type/Bool">Bool</a>;
<a href="/method/messages.getMessageReadParticipants">messages.getMessageReadParticipants</a>#31c1c44f peer:<a href="/type/InputPeer">InputPeer</a> msg_id:<a href="/type/int">int</a> = <a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/ReadParticipantDate">ReadParticipantDate</a>&gt;;
<a href="/method/messages.requestSimpleWebView">messages.requestSimpleWebView</a>#299bec8e flags:<a href="/type/%23">#</a> from_switch_webview:flags.1?<a href="/constructor/true">true</a> bot:<a href="/type/InputUser">InputUser</a> url:<a href="/type/string">string</a> theme_params:flags.0?<a href="/type/DataJSON">DataJSON</a> platform:<a href="/type/string">string</a> = <a href="/type/SimpleWebViewResult">SimpleWebViewResult</a>;
<a href="/method/messages.getBotApp">messages.getBotApp</a>#34fdc5c3 app:<a href="/type/InputBotApp">InputBotApp</a> hash:<a href="/type/long">long</a> = <a href="/type/messages.BotApp">messages.BotApp</a>;
<a href="/method/messages.requestAppWebView">messages.requestAppWebView</a>#8c5a3b3c flags:<a href="/type/%23">#</a> write_allowed:flags.0?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> app:<a href="/type/InputBotApp">InputBotApp</a> start_param:flags.1?<a href="/type/string">string</a> theme_params:flags.2?<a href="/type/DataJSON">DataJSON</a> platform:<a href="/type/string">string</a> = <a href="/type/AppWebViewResult">AppWebViewResult</a>;<br>
<a href="/method/bots.setBotInfo">bots.setBotInfo</a>#a365df7a flags:<a href="/type/%23">#</a> lang_code:<a href="/type/string">string</a> about:flags.0?<a href="/type/string">string</a> description:flags.1?<a href="/type/string">string</a> = <a href="/type/Bool">Bool</a>;
<a href="/method/bots.getBotInfo">bots.getBotInfo</a>#75ec12e6 lang_code:<a href="/type/string">string</a> = <a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/string">string</a>&gt;;<br></code></pre></div>
<h3><a class="anchor" href="#layer-153" id="layer-153" name="layer-153"><i class="anchor-icon"></i></a><a href="/schema?layer=153">Layer 153</a></h3>
<p>Allow bots to modify stickersets they created, allow changing the thumbnail of <a href="/api/custom-emoji">custom emoji stickersets</a> and improve <a href="/api/config">client configuration caching</a>.</p>
<h4><a class="anchor" href="#schema-changes" id="schema-changes" name="schema-changes"><i class="anchor-icon"></i></a>Schema changes</h4>
<h5><a class="anchor" href="#new-methods" id="new-methods" name="new-methods"><i class="anchor-icon"></i></a>New Methods</h5>
<ul>
<li>Added <a href="/method/stickers.changeSticker">stickers.changeSticker</a> - Update the keywords, emojis or <a href="/api/stickers#mask-stickers">mask coordinates</a> of a sticker, bots only.</li>
<li>Added <a href="/method/stickers.renameStickerSet">stickers.renameStickerSet</a> - Renames a stickerset, bots only.</li>
<li>Added <a href="/method/stickers.deleteStickerSet">stickers.deleteStickerSet</a> - Deletes a stickerset we created, bots only.</li>
</ul>
<h5><a class="anchor" href="#changed-methods" id="changed-methods" name="changed-methods"><i class="anchor-icon"></i></a>Changed Methods</h5>
<ul>
<li>Changed type of <a href="/method/help.getAppConfig">help.getAppConfig</a> from <strong>JSONValue</strong> to <strong>help.AppConfig</strong></li>
<li>Added <strong>hash</strong> parameter in <a href="/method/help.getAppConfig">help.getAppConfig</a></li>
<li>Added <strong>flags</strong>, <strong>thumb_document_id</strong> parameters, changed type of <strong>thumb</strong> from <strong>InputDocument</strong> to <strong>flags.0?InputDocument</strong> in <a href="/method/stickers.setStickerSetThumb">stickers.setStickerSetThumb</a></li>
</ul>
<h5><a class="anchor" href="#new-constructors" id="new-constructors" name="new-constructors"><i class="anchor-icon"></i></a>New Constructors</h5>
<ul>
<li>Added <a href="/constructor/help.appConfigNotModified">help.appConfigNotModified</a> - The client configuration parameters haven't changed</li>
<li>Added <a href="/constructor/help.appConfig">help.appConfig</a> - Contains various <a href="/api/config#client-configuration">client configuration parameters</a></li>
</ul>
<h5><a class="anchor" href="#changed-constructors" id="changed-constructors" name="changed-constructors"><i class="anchor-icon"></i></a>Changed Constructors</h5>
<ul>
<li>Added <strong>keywords</strong> parameter in <a href="/constructor/inputStickerSetItem">inputStickerSetItem</a></li>
</ul>
<h4><a class="anchor" href="#schema" id="schema" name="schema"><i class="anchor-icon"></i></a>Schema</h4>
<div><pre><code><a href="/constructor/inputStickerSetItem">inputStickerSetItem</a>#32da9e9c flags:<a href="/type/%23">#</a> document:<a href="/type/InputDocument">InputDocument</a> emoji:<a href="/type/string">string</a> mask_coords:flags.0?<a href="/type/MaskCoords">MaskCoords</a> keywords:flags.1?<a href="/type/string">string</a> = <a href="/type/InputStickerSetItem">InputStickerSetItem</a>;<br>
<a href="/constructor/help.appConfigNotModified">help.appConfigNotModified</a>#7cde641d = <a href="/type/help.AppConfig">help.AppConfig</a>;
<a href="/constructor/help.appConfig">help.appConfig</a>#dd18782e hash:<a href="/type/int">int</a> config:<a href="/type/JSONValue">JSONValue</a> = <a href="/type/help.AppConfig">help.AppConfig</a>;<br>
---functions---<br>
<a href="/method/help.getAppConfig">help.getAppConfig</a>#61e3f854 hash:<a href="/type/int">int</a> = <a href="/type/help.AppConfig">help.AppConfig</a>;<br>
<a href="/method/stickers.setStickerSetThumb">stickers.setStickerSetThumb</a>#a76a5392 flags:<a href="/type/%23">#</a> stickerset:<a href="/type/InputStickerSet">InputStickerSet</a> thumb:flags.0?<a href="/type/InputDocument">InputDocument</a> thumb_document_id:flags.1?<a href="/type/long">long</a> = <a href="/type/messages.StickerSet">messages.StickerSet</a>;
<a href="/method/stickers.changeSticker">stickers.changeSticker</a>#f5537ebc flags:<a href="/type/%23">#</a> sticker:<a href="/type/InputDocument">InputDocument</a> emoji:flags.0?<a href="/type/string">string</a> mask_coords:flags.1?<a href="/type/MaskCoords">MaskCoords</a> keywords:flags.2?<a href="/type/string">string</a> = <a href="/type/messages.StickerSet">messages.StickerSet</a>;
<a href="/method/stickers.renameStickerSet">stickers.renameStickerSet</a>#124b1c00 stickerset:<a href="/type/InputStickerSet">InputStickerSet</a> title:<a href="/type/string">string</a> = <a href="/type/messages.StickerSet">messages.StickerSet</a>;
<a href="/method/stickers.deleteStickerSet">stickers.deleteStickerSet</a>#87704394 stickerset:<a href="/type/InputStickerSet">InputStickerSet</a> = <a href="/type/Bool">Bool</a>;<br></code></pre></div>
<h3><a class="anchor" href="#layer-152" id="layer-152" name="layer-152"><i class="anchor-icon"></i></a><a href="/schema?layer=152">Layer 152</a></h3>
<p>Users can now set <a href="/api/files#sticker-profile-pictures">stickers or custom emojis as profile or group/channel pictures »</a>, and <a href="/api/premium">Telegram Premium</a> users can enable <a href="/api/translation">real-time chat translation »</a>, which allows seamless translation of chat messages, keeping <a href="/api/entities">style entities</a> intact.<br>
Bots can now prompt the user to select and share a peer with the bot with <a href="/method/messages.sendBotRequestedPeer">messages.sendBotRequestedPeer</a>, by using a <a href="/constructor/keyboardButtonRequestPeer">keyboardButtonRequestPeer</a> bot button.<br>
Added support for <a href="/api/custom-emoji#emoji-categories">categorized custom emojis »</a>, a <a href="/method/messages.searchCustomEmoji">messages.searchCustomEmoji</a> method to look up <a href="/api/custom-emoji">custom emojis</a> by their corresponding UTF8 emoji and added <a href="/api/links#custom-emoji-stickerset-links">custom emoji stickerset deep links</a>.<br>
Also implemented synchronization of media autosave settings.</p>
<p><a href="/api/auth#future-auth-tokens">Future auth token login</a> now works even for accounts without 2FA.</p>
<p>Most importantly, added support for Firebase SMS authentication, which in some conditions may be required by the server in order to send SMS codes.<br>
Currently, only official apps can make use of Firebase SMS authentication: this means that in some conditions, only the official applications can receive a login/signup code via SMS/call.<br>
Third-party apps may log in using any of the other code delivery methods (Telegram codes, Fragment codes, email codes, <a href="/api/auth#future-auth-tokens">future auth tokens</a>, <a href="/api/qr-login">QR codes</a>).</p>
<h4><a class="anchor" href="#schema-changes" id="schema-changes" name="schema-changes"><i class="anchor-icon"></i></a>Schema changes</h4>
<h5><a class="anchor" href="#new-methods" id="new-methods" name="new-methods"><i class="anchor-icon"></i></a>New Methods</h5>
<ul>
<li>Added <a href="/method/messages.sendBotRequestedPeer">messages.sendBotRequestedPeer</a> - Send one or more chosen peers, as requested by a <a href="/constructor/keyboardButtonRequestPeer">keyboardButtonRequestPeer</a> button.</li>
<li>Added <a href="/method/account.getDefaultProfilePhotoEmojis">account.getDefaultProfilePhotoEmojis</a> - Get a set of suggested <a href="/api/custom-emoji">custom emoji stickers</a> that can be <a href="/api/files#sticker-profile-pictures">used as profile picture</a></li>
<li>Added <a href="/method/account.getDefaultGroupPhotoEmojis">account.getDefaultGroupPhotoEmojis</a> - Get a set of suggested <a href="/api/custom-emoji">custom emoji stickers</a> that can be <a href="/api/files#sticker-profile-pictures">used as group picture</a></li>
<li>Added <a href="/method/auth.requestFirebaseSms">auth.requestFirebaseSms</a> - Request an SMS code via Firebase.</li>
<li>Added <a href="/method/messages.getEmojiGroups">messages.getEmojiGroups</a> - Represents a list of <a href="/api/custom-emoji#emoji-categories">emoji categories</a>, to be used when selecting <a href="/api/custom-emoji">custom emojis</a>.</li>
<li>Added <a href="/method/messages.getEmojiStatusGroups">messages.getEmojiStatusGroups</a> - Represents a list of <a href="/api/custom-emoji#emoji-categories">emoji categories</a>, to be used when selecting custom emojis to set as <a href="/api">custom emoji status</a>.</li>
<li>Added <a href="/method/messages.getEmojiProfilePhotoGroups">messages.getEmojiProfilePhotoGroups</a> - Represents a list of <a href="/api/custom-emoji#emoji-categories">emoji categories</a>, to be used when selecting custom emojis to set as <a href="/api/files#sticker-profile-pictures">profile picture</a>.</li>
<li>Added <a href="/method/messages.searchCustomEmoji">messages.searchCustomEmoji</a> - Look for <a href="/api/custom-emoji">custom emojis</a> associated to a UTF8 emoji</li>
<li>Added <a href="/method/messages.togglePeerTranslations">messages.togglePeerTranslations</a> - Show or hide the <a href="/api/translation">real-time chat translation popup</a> for a certain chat</li>
<li>Added <a href="/method/account.getAutoSaveSettings">account.getAutoSaveSettings</a> - Get autosave settings</li>
<li>Added <a href="/method/account.saveAutoSaveSettings">account.saveAutoSaveSettings</a> - Modify autosave settings</li>
<li>Added <a href="/method/account.deleteAutoSaveExceptions">account.deleteAutoSaveExceptions</a> - Clear all peer-specific autosave settings.</li>
</ul>
<h5><a class="anchor" href="#changed-methods" id="changed-methods" name="changed-methods"><i class="anchor-icon"></i></a>Changed Methods</h5>
<ul>
<li>Added <strong>video_emoji_markup</strong> parameter in <a href="/method/photos.uploadProfilePhoto">photos.uploadProfilePhoto</a></li>
<li>Added <strong>id</strong> parameter, removed <strong>msg_id</strong>, <strong>from_lang</strong> parameters, changed type of <strong>text</strong> from <strong>flags.1?string</strong> to <strong>flags.1?Vector&lt;TextWithEntities&gt;</strong> in <a href="/method/messages.translateText">messages.translateText</a></li>
<li>Added <strong>video_emoji_markup</strong> parameter in <a href="/method/photos.uploadContactProfilePhoto">photos.uploadContactProfilePhoto</a></li>
</ul>
<h5><a class="anchor" href="#new-constructors" id="new-constructors" name="new-constructors"><i class="anchor-icon"></i></a>New Constructors</h5>
<ul>
<li>Added <a href="/constructor/auth.sentCodeSuccess">auth.sentCodeSuccess</a> - The user successfully authorized using <a href="/api/auth#future-auth-tokens">future auth tokens</a></li>
<li>Added <a href="/constructor/messageActionRequestedPeer">messageActionRequestedPeer</a> - Contains info about one or more peers that the user shared with the bot after clicking on a <a href="/constructor/keyboardButtonRequestPeer">keyboardButtonRequestPeer</a> button.</li>
<li>Added <a href="/constructor/requestPeerTypeUser">requestPeerTypeUser</a> - Choose a user.</li>
<li>Added <a href="/constructor/requestPeerTypeChat">requestPeerTypeChat</a> - Choose a chat or supergroup</li>
<li>Added <a href="/constructor/requestPeerTypeBroadcast">requestPeerTypeBroadcast</a> - Choose a channel</li>
<li>Added <a href="/constructor/keyboardButtonRequestPeer">keyboardButtonRequestPeer</a> - Prompts the user to select and share one or more peers with the bot using <a href="/method/messages.sendBotRequestedPeer">messages.sendBotRequestedPeer</a></li>
<li>Added <a href="/constructor/emojiListNotModified">emojiListNotModified</a> - The list of <a href="/api/custom-emoji">custom emojis</a> hasn't changed.</li>
<li>Added <a href="/constructor/emojiList">emojiList</a> - Represents a list of <a href="/api/custom-emoji">custom emojis</a>.</li>
<li>Added <a href="/constructor/auth.sentCodeTypeFirebaseSms">auth.sentCodeTypeFirebaseSms</a> - An authentication code should be delivered via SMS after Firebase attestation, as described in the <a href="/api/auth">auth documentation »</a>.</li>
<li>Added <a href="/constructor/emojiGroup">emojiGroup</a> - Represents an <a href="/api/custom-emoji#emoji-categories">emoji category</a>.</li>
<li>Added <a href="/constructor/messages.emojiGroupsNotModified">messages.emojiGroupsNotModified</a> - The list of <a href="/api/custom-emoji#emoji-categories">emoji categories</a> hasn't changed.</li>
<li>Added <a href="/constructor/messages.emojiGroups">messages.emojiGroups</a> - Represents a list of <a href="/api/custom-emoji#emoji-categories">emoji categories</a>.</li>
<li>Added <a href="/constructor/videoSizeEmojiMarkup">videoSizeEmojiMarkup</a> - An <a href="/api/files#animated-profile-pictures">animated profile picture</a> based on a <a href="/api/custom-emoji">custom emoji sticker</a>.</li>
<li>Added <a href="/constructor/videoSizeStickerMarkup">videoSizeStickerMarkup</a> - An <a href="/api/files#animated-profile-pictures">animated profile picture</a> based on a <a href="/api/stickers">sticker</a>.</li>
<li>Added <a href="/constructor/textWithEntities">textWithEntities</a> - Styled text with <a href="/api/entities">message entities</a></li>
<li>Added <a href="/constructor/messages.translateResult">messages.translateResult</a> - Translated text with <a href="/api/entities">entities</a></li>
<li>Added <a href="/constructor/autoSaveSettings">autoSaveSettings</a> - Media autosave settings</li>
<li>Added <a href="/constructor/autoSaveException">autoSaveException</a> - Peer-specific media autosave settings</li>
<li>Added <a href="/constructor/account.autoSaveSettings">account.autoSaveSettings</a> - Contains media autosave settings</li>
<li>Added <a href="/constructor/updateAutoSaveSettings">updateAutoSaveSettings</a> - Media autosave settings have changed and must be refetched using <a href="/method/account.getAutoSaveSettings">account.getAutoSaveSettings</a>.</li>
</ul>
<h5><a class="anchor" href="#changed-constructors" id="changed-constructors" name="changed-constructors"><i class="anchor-icon"></i></a>Changed Constructors</h5>
<ul>
<li>Added <strong>video_emoji_markup</strong> parameter in <a href="/constructor/inputChatUploadedPhoto">inputChatUploadedPhoto</a></li>
<li>Added <strong>translations_disabled</strong> parameter in <a href="/constructor/chatFull">chatFull</a></li>
<li>Added <strong>future_auth_token</strong> parameter in <a href="/constructor/auth.authorization">auth.authorization</a></li>
<li>Added <strong>translations_disabled</strong> parameter in <a href="/constructor/userFull">userFull</a></li>
<li>Added <strong>translations_disabled</strong> parameter in <a href="/constructor/channelFull">channelFull</a></li>
<li>Added <strong>send_photos</strong>, <strong>send_videos</strong>, <strong>send_roundvideos</strong>, <strong>send_audios</strong>, <strong>send_voices</strong>, <strong>send_docs</strong>, <strong>send_plain</strong> parameters in <a href="/constructor/chatBannedRights">chatBannedRights</a></li>
<li>Added <strong>allow_firebase</strong>, <strong>token</strong>, <strong>app_sandbox</strong> parameters in <a href="/constructor/codeSettings">codeSettings</a></li>
<li>Added <strong>transaction</strong> parameter in <a href="/constructor/premiumSubscriptionOption">premiumSubscriptionOption</a></li>
</ul>
<h5><a class="anchor" href="#deleted-constructors" id="deleted-constructors" name="deleted-constructors"><i class="anchor-icon"></i></a>Deleted Constructors</h5>
<ul>
<li>Removed messages.translateNoResult</li>
<li>Removed messages.translateResultText</li>
</ul>
<h4><a class="anchor" href="#schema" id="schema" name="schema"><i class="anchor-icon"></i></a>Schema</h4>
<div><pre><code><a href="/constructor/inputChatUploadedPhoto">inputChatUploadedPhoto</a>#bdcdaec0 flags:<a href="/type/%23">#</a> file:flags.0?<a href="/type/InputFile">InputFile</a> video:flags.1?<a href="/type/InputFile">InputFile</a> video_start_ts:flags.2?<a href="/type/double">double</a> video_emoji_markup:flags.3?<a href="/type/VideoSize">VideoSize</a> = <a href="/type/InputChatPhoto">InputChatPhoto</a>;<br>
<a href="/constructor/chatFull">chatFull</a>#c9d31138 flags:<a href="/type/%23">#</a> can_set_username:flags.7?<a href="/constructor/true">true</a> has_scheduled:flags.8?<a href="/constructor/true">true</a> translations_disabled:flags.19?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> about:<a href="/type/string">string</a> participants:<a href="/type/ChatParticipants">ChatParticipants</a> chat_photo:flags.2?<a href="/type/Photo">Photo</a> notify_settings:<a href="/type/PeerNotifySettings">PeerNotifySettings</a> exported_invite:flags.13?<a href="/type/ExportedChatInvite">ExportedChatInvite</a> bot_info:flags.3?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/BotInfo">BotInfo</a>&gt; pinned_msg_id:flags.6?<a href="/type/int">int</a> folder_id:flags.11?<a href="/type/int">int</a> call:flags.12?<a href="/type/InputGroupCall">InputGroupCall</a> ttl_period:flags.14?<a href="/type/int">int</a> groupcall_default_join_as:flags.15?<a href="/type/Peer">Peer</a> theme_emoticon:flags.16?<a href="/type/string">string</a> requests_pending:flags.17?<a href="/type/int">int</a> recent_requesters:flags.17?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/long">long</a>&gt; available_reactions:flags.18?<a href="/type/ChatReactions">ChatReactions</a> = <a href="/type/ChatFull">ChatFull</a>;<br>
<a href="/constructor/auth.authorization">auth.authorization</a>#2ea2c0d4 flags:<a href="/type/%23">#</a> setup_password_required:flags.1?<a href="/constructor/true">true</a> otherwise_relogin_days:flags.1?<a href="/type/int">int</a> tmp_sessions:flags.0?<a href="/type/int">int</a> future_auth_token:flags.2?<a href="/type/bytes">bytes</a> user:<a href="/type/User">User</a> = <a href="/type/auth.Authorization">auth.Authorization</a>;<br>
<a href="/constructor/userFull">userFull</a>#f8d32aed flags:<a href="/type/%23">#</a> blocked:flags.0?<a href="/constructor/true">true</a> phone_calls_available:flags.4?<a href="/constructor/true">true</a> phone_calls_private:flags.5?<a href="/constructor/true">true</a> can_pin_message:flags.7?<a href="/constructor/true">true</a> has_scheduled:flags.12?<a href="/constructor/true">true</a> video_calls_available:flags.13?<a href="/constructor/true">true</a> voice_messages_forbidden:flags.20?<a href="/constructor/true">true</a> translations_disabled:flags.23?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> about:flags.1?<a href="/type/string">string</a> settings:<a href="/type/PeerSettings">PeerSettings</a> personal_photo:flags.21?<a href="/type/Photo">Photo</a> profile_photo:flags.2?<a href="/type/Photo">Photo</a> fallback_photo:flags.22?<a href="/type/Photo">Photo</a> notify_settings:<a href="/type/PeerNotifySettings">PeerNotifySettings</a> bot_info:flags.3?<a href="/type/BotInfo">BotInfo</a> pinned_msg_id:flags.6?<a href="/type/int">int</a> common_chats_count:<a href="/type/int">int</a> folder_id:flags.11?<a href="/type/int">int</a> ttl_period:flags.14?<a href="/type/int">int</a> theme_emoticon:flags.15?<a href="/type/string">string</a> private_forward_name:flags.16?<a href="/type/string">string</a> bot_group_admin_rights:flags.17?<a href="/type/ChatAdminRights">ChatAdminRights</a> bot_broadcast_admin_rights:flags.18?<a href="/type/ChatAdminRights">ChatAdminRights</a> premium_gifts:flags.19?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/PremiumGiftOption">PremiumGiftOption</a>&gt; = <a href="/type/UserFull">UserFull</a>;<br>
<a href="/constructor/channelFull">channelFull</a>#f2355507 flags:<a href="/type/%23">#</a> can_view_participants:flags.3?<a href="/constructor/true">true</a> can_set_username:flags.6?<a href="/constructor/true">true</a> can_set_stickers:flags.7?<a href="/constructor/true">true</a> hidden_prehistory:flags.10?<a href="/constructor/true">true</a> can_set_location:flags.16?<a href="/constructor/true">true</a> has_scheduled:flags.19?<a href="/constructor/true">true</a> can_view_stats:flags.20?<a href="/constructor/true">true</a> blocked:flags.22?<a href="/constructor/true">true</a> flags2:<a href="/type/%23">#</a> can_delete_channel:flags2.0?<a href="/constructor/true">true</a> antispam:flags2.1?<a href="/constructor/true">true</a> participants_hidden:flags2.2?<a href="/constructor/true">true</a> translations_disabled:flags2.3?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> about:<a href="/type/string">string</a> participants_count:flags.0?<a href="/type/int">int</a> admins_count:flags.1?<a href="/type/int">int</a> kicked_count:flags.2?<a href="/type/int">int</a> banned_count:flags.2?<a href="/type/int">int</a> online_count:flags.13?<a href="/type/int">int</a> read_inbox_max_id:<a href="/type/int">int</a> read_outbox_max_id:<a href="/type/int">int</a> unread_count:<a href="/type/int">int</a> chat_photo:<a href="/type/Photo">Photo</a> notify_settings:<a href="/type/PeerNotifySettings">PeerNotifySettings</a> exported_invite:flags.23?<a href="/type/ExportedChatInvite">ExportedChatInvite</a> bot_info:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/BotInfo">BotInfo</a>&gt; migrated_from_chat_id:flags.4?<a href="/type/long">long</a> migrated_from_max_id:flags.4?<a href="/type/int">int</a> pinned_msg_id:flags.5?<a href="/type/int">int</a> stickerset:flags.8?<a href="/type/StickerSet">StickerSet</a> available_min_id:flags.9?<a href="/type/int">int</a> folder_id:flags.11?<a href="/type/int">int</a> linked_chat_id:flags.14?<a href="/type/long">long</a> location:flags.15?<a href="/type/ChannelLocation">ChannelLocation</a> slowmode_seconds:flags.17?<a href="/type/int">int</a> slowmode_next_send_date:flags.18?<a href="/type/int">int</a> stats_dc:flags.12?<a href="/type/int">int</a> pts:<a href="/type/int">int</a> call:flags.21?<a href="/type/InputGroupCall">InputGroupCall</a> ttl_period:flags.24?<a href="/type/int">int</a> pending_suggestions:flags.25?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/string">string</a>&gt; groupcall_default_join_as:flags.26?<a href="/type/Peer">Peer</a> theme_emoticon:flags.27?<a href="/type/string">string</a> requests_pending:flags.28?<a href="/type/int">int</a> recent_requesters:flags.28?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/long">long</a>&gt; default_send_as:flags.29?<a href="/type/Peer">Peer</a> available_reactions:flags.30?<a href="/type/ChatReactions">ChatReactions</a> = <a href="/type/ChatFull">ChatFull</a>;
<a href="/constructor/chatBannedRights">chatBannedRights</a>#9f120418 flags:<a href="/type/%23">#</a> view_messages:flags.0?<a href="/constructor/true">true</a> send_messages:flags.1?<a href="/constructor/true">true</a> send_media:flags.2?<a href="/constructor/true">true</a> send_stickers:flags.3?<a href="/constructor/true">true</a> send_gifs:flags.4?<a href="/constructor/true">true</a> send_games:flags.5?<a href="/constructor/true">true</a> send_inline:flags.6?<a href="/constructor/true">true</a> embed_links:flags.7?<a href="/constructor/true">true</a> send_polls:flags.8?<a href="/constructor/true">true</a> change_info:flags.10?<a href="/constructor/true">true</a> invite_users:flags.15?<a href="/constructor/true">true</a> pin_messages:flags.17?<a href="/constructor/true">true</a> manage_topics:flags.18?<a href="/constructor/true">true</a> send_photos:flags.19?<a href="/constructor/true">true</a> send_videos:flags.20?<a href="/constructor/true">true</a> send_roundvideos:flags.21?<a href="/constructor/true">true</a> send_audios:flags.22?<a href="/constructor/true">true</a> send_voices:flags.23?<a href="/constructor/true">true</a> send_docs:flags.24?<a href="/constructor/true">true</a> send_plain:flags.25?<a href="/constructor/true">true</a> until_date:<a href="/type/int">int</a> = <a href="/type/ChatBannedRights">ChatBannedRights</a>;
<a href="/constructor/codeSettings">codeSettings</a>#ad253d78 flags:<a href="/type/%23">#</a> allow_flashcall:flags.0?<a href="/constructor/true">true</a> current_number:flags.1?<a href="/constructor/true">true</a> allow_app_hash:flags.4?<a href="/constructor/true">true</a> allow_missed_call:flags.5?<a href="/constructor/true">true</a> allow_firebase:flags.7?<a href="/constructor/true">true</a> logout_tokens:flags.6?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/bytes">bytes</a>&gt; token:flags.8?<a href="/type/string">string</a> app_sandbox:flags.8?<a href="/type/Bool">Bool</a> = <a href="/type/CodeSettings">CodeSettings</a>;<br>
<a href="/constructor/premiumSubscriptionOption">premiumSubscriptionOption</a>#5f2d1df2 flags:<a href="/type/%23">#</a> current:flags.1?<a href="/constructor/true">true</a> can_purchase_upgrade:flags.2?<a href="/constructor/true">true</a> transaction:flags.3?<a href="/type/string">string</a> months:<a href="/type/int">int</a> currency:<a href="/type/string">string</a> amount:<a href="/type/long">long</a> bot_url:<a href="/type/string">string</a> store_product:flags.0?<a href="/type/string">string</a> = <a href="/type/PremiumSubscriptionOption">PremiumSubscriptionOption</a>;<br>
<a href="/constructor/auth.sentCodeSuccess">auth.sentCodeSuccess</a>#2390fe44 authorization:<a href="/type/auth.Authorization">auth.Authorization</a> = <a href="/type/auth.SentCode">auth.SentCode</a>;<br>
<a href="/constructor/messageActionRequestedPeer">messageActionRequestedPeer</a>#fe77345d button_id:<a href="/type/int">int</a> peer:<a href="/type/Peer">Peer</a> = <a href="/type/MessageAction">MessageAction</a>;<br>
<a href="/constructor/requestPeerTypeUser">requestPeerTypeUser</a>#5f3b8a00 flags:<a href="/type/%23">#</a> bot:flags.0?<a href="/type/Bool">Bool</a> premium:flags.1?<a href="/type/Bool">Bool</a> = <a href="/type/RequestPeerType">RequestPeerType</a>;
<a href="/constructor/requestPeerTypeChat">requestPeerTypeChat</a>#c9f06e1b flags:<a href="/type/%23">#</a> creator:flags.0?<a href="/constructor/true">true</a> bot_participant:flags.5?<a href="/constructor/true">true</a> has_username:flags.3?<a href="/type/Bool">Bool</a> forum:flags.4?<a href="/type/Bool">Bool</a> user_admin_rights:flags.1?<a href="/type/ChatAdminRights">ChatAdminRights</a> bot_admin_rights:flags.2?<a href="/type/ChatAdminRights">ChatAdminRights</a> = <a href="/type/RequestPeerType">RequestPeerType</a>;
<a href="/constructor/requestPeerTypeBroadcast">requestPeerTypeBroadcast</a>#339bef6c flags:<a href="/type/%23">#</a> creator:flags.0?<a href="/constructor/true">true</a> has_username:flags.3?<a href="/type/Bool">Bool</a> user_admin_rights:flags.1?<a href="/type/ChatAdminRights">ChatAdminRights</a> bot_admin_rights:flags.2?<a href="/type/ChatAdminRights">ChatAdminRights</a> = <a href="/type/RequestPeerType">RequestPeerType</a>;<br>
<a href="/constructor/keyboardButtonRequestPeer">keyboardButtonRequestPeer</a>#0d0b468c text:<a href="/type/string">string</a> button_id:<a href="/type/int">int</a> peer_type:<a href="/type/RequestPeerType">RequestPeerType</a> = <a href="/type/KeyboardButton">KeyboardButton</a>;<br>
<a href="/constructor/emojiListNotModified">emojiListNotModified</a>#481eadfa = <a href="/type/EmojiList">EmojiList</a>;
<a href="/constructor/emojiList">emojiList</a>#7a1e11d1 hash:<a href="/type/long">long</a> document_id:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/long">long</a>&gt; = <a href="/type/EmojiList">EmojiList</a>;<br>
<a href="/constructor/auth.sentCodeTypeFirebaseSms">auth.sentCodeTypeFirebaseSms</a>#e57b1432 flags:<a href="/type/%23">#</a> nonce:flags.0?<a href="/type/bytes">bytes</a> receipt:flags.1?<a href="/type/string">string</a> push_timeout:flags.1?<a href="/type/int">int</a> length:<a href="/type/int">int</a> = <a href="/type/auth.SentCodeType">auth.SentCodeType</a>;<br>
<a href="/constructor/emojiGroup">emojiGroup</a>#7a9abda9 title:<a href="/type/string">string</a> icon_emoji_id:<a href="/type/long">long</a> emoticons:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/string">string</a>&gt; = <a href="/type/EmojiGroup">EmojiGroup</a>;<br>
<a href="/constructor/messages.emojiGroupsNotModified">messages.emojiGroupsNotModified</a>#6fb4ad87 = <a href="/type/messages.EmojiGroups">messages.EmojiGroups</a>;
<a href="/constructor/messages.emojiGroups">messages.emojiGroups</a>#881fb94b hash:<a href="/type/int">int</a> groups:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/EmojiGroup">EmojiGroup</a>&gt; = <a href="/type/messages.EmojiGroups">messages.EmojiGroups</a>;<br>
<a href="/constructor/videoSizeEmojiMarkup">videoSizeEmojiMarkup</a>#f85c413c emoji_id:<a href="/type/long">long</a> background_colors:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; = <a href="/type/VideoSize">VideoSize</a>;
<a href="/constructor/videoSizeStickerMarkup">videoSizeStickerMarkup</a>#0da082fe stickerset:<a href="/type/InputStickerSet">InputStickerSet</a> sticker_id:<a href="/type/long">long</a> background_colors:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; = <a href="/type/VideoSize">VideoSize</a>;<br>
<a href="/constructor/textWithEntities">textWithEntities</a>#751f3146 text:<a href="/type/string">string</a> entities:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; = <a href="/type/TextWithEntities">TextWithEntities</a>;<br>
<a href="/constructor/messages.translateResult">messages.translateResult</a>#33db32f8 result:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/TextWithEntities">TextWithEntities</a>&gt; = <a href="/type/messages.TranslatedText">messages.TranslatedText</a>;<br>
<a href="/constructor/autoSaveSettings">autoSaveSettings</a>#c84834ce flags:<a href="/type/%23">#</a> photos:flags.0?<a href="/constructor/true">true</a> videos:flags.1?<a href="/constructor/true">true</a> video_max_size:flags.2?<a href="/type/long">long</a> = <a href="/type/AutoSaveSettings">AutoSaveSettings</a>;
<a href="/constructor/autoSaveException">autoSaveException</a>#81602d47 peer:<a href="/type/Peer">Peer</a> settings:<a href="/type/AutoSaveSettings">AutoSaveSettings</a> = <a href="/type/AutoSaveException">AutoSaveException</a>;
<a href="/constructor/account.autoSaveSettings">account.autoSaveSettings</a>#4c3e069d users_settings:<a href="/type/AutoSaveSettings">AutoSaveSettings</a> chats_settings:<a href="/type/AutoSaveSettings">AutoSaveSettings</a> broadcasts_settings:<a href="/type/AutoSaveSettings">AutoSaveSettings</a> exceptions:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/AutoSaveException">AutoSaveException</a>&gt; chats:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Chat">Chat</a>&gt; users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; = <a href="/type/account.AutoSaveSettings">account.AutoSaveSettings</a>;<br>
<a href="/constructor/updateAutoSaveSettings">updateAutoSaveSettings</a>#ec05b097 = <a href="/type/Update">Update</a>;<br>
---functions---<br>
<a href="/method/photos.uploadProfilePhoto">photos.uploadProfilePhoto</a>#093c9a51 flags:<a href="/type/%23">#</a> fallback:flags.3?<a href="/constructor/true">true</a> file:flags.0?<a href="/type/InputFile">InputFile</a> video:flags.1?<a href="/type/InputFile">InputFile</a> video_start_ts:flags.2?<a href="/type/double">double</a> video_emoji_markup:flags.4?<a href="/type/VideoSize">VideoSize</a> = <a href="/type/photos.Photo">photos.Photo</a>;<br>
<a href="/method/messages.translateText">messages.translateText</a>#63183030 flags:<a href="/type/%23">#</a> peer:flags.0?<a href="/type/InputPeer">InputPeer</a> id:flags.0?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; text:flags.1?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/TextWithEntities">TextWithEntities</a>&gt; to_lang:<a href="/type/string">string</a> = <a href="/type/messages.TranslatedText">messages.TranslatedText</a>;<br>
<a href="/method/photos.uploadContactProfilePhoto">photos.uploadContactProfilePhoto</a>#e14c4a71 flags:<a href="/type/%23">#</a> suggest:flags.3?<a href="/constructor/true">true</a> save:flags.4?<a href="/constructor/true">true</a> user_id:<a href="/type/InputUser">InputUser</a> file:flags.0?<a href="/type/InputFile">InputFile</a> video:flags.1?<a href="/type/InputFile">InputFile</a> video_start_ts:flags.2?<a href="/type/double">double</a> video_emoji_markup:flags.5?<a href="/type/VideoSize">VideoSize</a> = <a href="/type/photos.Photo">photos.Photo</a>;<br>
<a href="/method/messages.sendBotRequestedPeer">messages.sendBotRequestedPeer</a>#fe38d01b peer:<a href="/type/InputPeer">InputPeer</a> msg_id:<a href="/type/int">int</a> button_id:<a href="/type/int">int</a> requested_peer:<a href="/type/InputPeer">InputPeer</a> = <a href="/type/Updates">Updates</a>;<br>
<a href="/method/account.getDefaultProfilePhotoEmojis">account.getDefaultProfilePhotoEmojis</a>#e2750328 hash:<a href="/type/long">long</a> = <a href="/type/EmojiList">EmojiList</a>;
<a href="/method/account.getDefaultGroupPhotoEmojis">account.getDefaultGroupPhotoEmojis</a>#915860ae hash:<a href="/type/long">long</a> = <a href="/type/EmojiList">EmojiList</a>;
<a href="/method/auth.requestFirebaseSms">auth.requestFirebaseSms</a>#89464b50 flags:<a href="/type/%23">#</a> phone_number:<a href="/type/string">string</a> phone_code_hash:<a href="/type/string">string</a> safety_net_token:flags.0?<a href="/type/string">string</a> ios_push_secret:flags.1?<a href="/type/string">string</a> = <a href="/type/Bool">Bool</a>;<br>
<a href="/method/messages.getEmojiGroups">messages.getEmojiGroups</a>#7488ce5b hash:<a href="/type/int">int</a> = <a href="/type/messages.EmojiGroups">messages.EmojiGroups</a>;
<a href="/method/messages.getEmojiStatusGroups">messages.getEmojiStatusGroups</a>#2ecd56cd hash:<a href="/type/int">int</a> = <a href="/type/messages.EmojiGroups">messages.EmojiGroups</a>;
<a href="/method/messages.getEmojiProfilePhotoGroups">messages.getEmojiProfilePhotoGroups</a>#21a548f3 hash:<a href="/type/int">int</a> = <a href="/type/messages.EmojiGroups">messages.EmojiGroups</a>;
<a href="/method/messages.searchCustomEmoji">messages.searchCustomEmoji</a>#2c11c0d7 emoticon:<a href="/type/string">string</a> hash:<a href="/type/long">long</a> = <a href="/type/EmojiList">EmojiList</a>;
<a href="/method/messages.togglePeerTranslations">messages.togglePeerTranslations</a>#e47cb579 flags:<a href="/type/%23">#</a> disabled:flags.0?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> = <a href="/type/Bool">Bool</a>;<br>
<a href="/method/account.getAutoSaveSettings">account.getAutoSaveSettings</a>#adcbbcda = <a href="/type/account.AutoSaveSettings">account.AutoSaveSettings</a>;
<a href="/method/account.saveAutoSaveSettings">account.saveAutoSaveSettings</a>#d69b8361 flags:<a href="/type/%23">#</a> users:flags.0?<a href="/constructor/true">true</a> chats:flags.1?<a href="/constructor/true">true</a> broadcasts:flags.2?<a href="/constructor/true">true</a> peer:flags.3?<a href="/type/InputPeer">InputPeer</a> settings:<a href="/type/AutoSaveSettings">AutoSaveSettings</a> = <a href="/type/Bool">Bool</a>;
<a href="/method/account.deleteAutoSaveExceptions">account.deleteAutoSaveExceptions</a>#53bc0020 = <a href="/type/Bool">Bool</a>;<br></code></pre></div>
<h3><a class="anchor" href="#layer-151" id="layer-151" name="layer-151"><i class="anchor-icon"></i></a><a href="/schema?layer=151">Layer 151</a></h3>
<p>Introducing spoiler media, custom contact profile pictures, hidden supergroup participants and persistent bot keyboards.<br>
<a href="/api/bots/attach">Attachment menu bot mini apps</a> may now ask permission to write direct messages to the users that install them.</p>
<h4><a class="anchor" href="#schema-changes" id="schema-changes" name="schema-changes"><i class="anchor-icon"></i></a>Schema changes</h4>
<h5><a class="anchor" href="#new-methods" id="new-methods" name="new-methods"><i class="anchor-icon"></i></a>New Methods</h5>
<ul>
<li>Added <a href="/method/photos.uploadContactProfilePhoto">photos.uploadContactProfilePhoto</a> - Upload a custom profile picture for a contact, or suggest a new profile picture to a contact.</li>
<li>Added <a href="/method/channels.toggleParticipantsHidden">channels.toggleParticipantsHidden</a> - Hide or display the participants list in a <a href="/api/channel">supergroup</a>.</li>
</ul>
<h5><a class="anchor" href="#changed-methods" id="changed-methods" name="changed-methods"><i class="anchor-icon"></i></a>Changed Methods</h5>
<ul>
<li>Added <strong>flags</strong>, <strong>fallback</strong> parameters in <a href="/method/photos.updateProfilePhoto">photos.updateProfilePhoto</a></li>
<li>Added <strong>fallback</strong> parameter in <a href="/method/photos.uploadProfilePhoto">photos.uploadProfilePhoto</a></li>
<li>Added <strong>flags</strong>, <strong>write_allowed</strong> parameters in <a href="/method/messages.toggleBotInAttachMenu">messages.toggleBotInAttachMenu</a></li>
</ul>
<h5><a class="anchor" href="#new-constructors" id="new-constructors" name="new-constructors"><i class="anchor-icon"></i></a>New Constructors</h5>
<ul>
<li>Added <a href="/constructor/messageActionSuggestProfilePhoto">messageActionSuggestProfilePhoto</a> - A new profile picture was suggested using <a href="/method/photos.uploadContactProfilePhoto">photos.uploadContactProfilePhoto</a>.</li>
<li>Added <a href="/constructor/stickerSetNoCovered">stickerSetNoCovered</a> - Just the stickerset information, with no previews.</li>
<li>Added <a href="/constructor/updateUser">updateUser</a> - User information was updated, it must be refetched using <a href="/method/users.getFullUser">users.getFullUser</a>.</li>
</ul>
<h5><a class="anchor" href="#changed-constructors" id="changed-constructors" name="changed-constructors"><i class="anchor-icon"></i></a>Changed Constructors</h5>
<ul>
<li>Added <strong>spoiler</strong> parameter in <a href="/constructor/inputMediaUploadedPhoto">inputMediaUploadedPhoto</a></li>
<li>Added <strong>spoiler</strong> parameter in <a href="/constructor/inputMediaPhoto">inputMediaPhoto</a></li>
<li>Added <strong>personal</strong> parameter in <a href="/constructor/userProfilePhoto">userProfilePhoto</a></li>
<li>Added <strong>spoiler</strong> parameter in <a href="/constructor/messageMediaPhoto">messageMediaPhoto</a></li>
<li>Added <strong>personal_photo</strong>, <strong>fallback_photo</strong> parameters in <a href="/constructor/userFull">userFull</a></li>
<li>Added <strong>spoiler</strong> parameter in <a href="/constructor/inputMediaUploadedDocument">inputMediaUploadedDocument</a></li>
<li>Added <strong>spoiler</strong> parameter in <a href="/constructor/inputMediaDocument">inputMediaDocument</a></li>
<li>Added <strong>spoiler</strong> parameter in <a href="/constructor/messageMediaDocument">messageMediaDocument</a></li>
<li>Added <strong>persistent</strong> parameter in <a href="/constructor/replyKeyboardMarkup">replyKeyboardMarkup</a></li>
<li>Added <strong>participants_hidden</strong> parameter in <a href="/constructor/channelFull">channelFull</a></li>
<li>Added <strong>spoiler</strong> parameter in <a href="/constructor/inputMediaPhotoExternal">inputMediaPhotoExternal</a></li>
<li>Added <strong>spoiler</strong> parameter in <a href="/constructor/inputMediaDocumentExternal">inputMediaDocumentExternal</a></li>
<li>Added <strong>request_write_access</strong> parameter in <a href="/constructor/attachMenuBot">attachMenuBot</a></li>
</ul>
<h5><a class="anchor" href="#deleted-constructors" id="deleted-constructors" name="deleted-constructors"><i class="anchor-icon"></i></a>Deleted Constructors</h5>
<ul>
<li>Removed updateUserPhoto</li>
</ul>
<h4><a class="anchor" href="#schema" id="schema" name="schema"><i class="anchor-icon"></i></a>Schema</h4>
<div><pre><code><a href="/constructor/inputMediaUploadedPhoto">inputMediaUploadedPhoto</a>#1e287d04 flags:<a href="/type/%23">#</a> spoiler:flags.2?<a href="/constructor/true">true</a> file:<a href="/type/InputFile">InputFile</a> stickers:flags.0?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InputDocument">InputDocument</a>&gt; ttl_seconds:flags.1?<a href="/type/int">int</a> = <a href="/type/InputMedia">InputMedia</a>;
<a href="/constructor/inputMediaPhoto">inputMediaPhoto</a>#b3ba0635 flags:<a href="/type/%23">#</a> spoiler:flags.1?<a href="/constructor/true">true</a> id:<a href="/type/InputPhoto">InputPhoto</a> ttl_seconds:flags.0?<a href="/type/int">int</a> = <a href="/type/InputMedia">InputMedia</a>;<br>
<a href="/constructor/userProfilePhoto">userProfilePhoto</a>#82d1f706 flags:<a href="/type/%23">#</a> has_video:flags.0?<a href="/constructor/true">true</a> personal:flags.2?<a href="/constructor/true">true</a> photo_id:<a href="/type/long">long</a> stripped_thumb:flags.1?<a href="/type/bytes">bytes</a> dc_id:<a href="/type/int">int</a> = <a href="/type/UserProfilePhoto">UserProfilePhoto</a>;<br>
<a href="/constructor/messageMediaPhoto">messageMediaPhoto</a>#695150d7 flags:<a href="/type/%23">#</a> spoiler:flags.3?<a href="/constructor/true">true</a> photo:flags.0?<a href="/type/Photo">Photo</a> ttl_seconds:flags.2?<a href="/type/int">int</a> = <a href="/type/MessageMedia">MessageMedia</a>;<br>
<a href="/constructor/userFull">userFull</a>#f8d32aed flags:<a href="/type/%23">#</a> blocked:flags.0?<a href="/constructor/true">true</a> phone_calls_available:flags.4?<a href="/constructor/true">true</a> phone_calls_private:flags.5?<a href="/constructor/true">true</a> can_pin_message:flags.7?<a href="/constructor/true">true</a> has_scheduled:flags.12?<a href="/constructor/true">true</a> video_calls_available:flags.13?<a href="/constructor/true">true</a> voice_messages_forbidden:flags.20?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> about:flags.1?<a href="/type/string">string</a> settings:<a href="/type/PeerSettings">PeerSettings</a> personal_photo:flags.21?<a href="/type/Photo">Photo</a> profile_photo:flags.2?<a href="/type/Photo">Photo</a> fallback_photo:flags.22?<a href="/type/Photo">Photo</a> notify_settings:<a href="/type/PeerNotifySettings">PeerNotifySettings</a> bot_info:flags.3?<a href="/type/BotInfo">BotInfo</a> pinned_msg_id:flags.6?<a href="/type/int">int</a> common_chats_count:<a href="/type/int">int</a> folder_id:flags.11?<a href="/type/int">int</a> ttl_period:flags.14?<a href="/type/int">int</a> theme_emoticon:flags.15?<a href="/type/string">string</a> private_forward_name:flags.16?<a href="/type/string">string</a> bot_group_admin_rights:flags.17?<a href="/type/ChatAdminRights">ChatAdminRights</a> bot_broadcast_admin_rights:flags.18?<a href="/type/ChatAdminRights">ChatAdminRights</a> premium_gifts:flags.19?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/PremiumGiftOption">PremiumGiftOption</a>&gt; = <a href="/type/UserFull">UserFull</a>;<br>
<a href="/constructor/inputMediaUploadedDocument">inputMediaUploadedDocument</a>#5b38c6c1 flags:<a href="/type/%23">#</a> nosound_video:flags.3?<a href="/constructor/true">true</a> force_file:flags.4?<a href="/constructor/true">true</a> spoiler:flags.5?<a href="/constructor/true">true</a> file:<a href="/type/InputFile">InputFile</a> thumb:flags.2?<a href="/type/InputFile">InputFile</a> mime_type:<a href="/type/string">string</a> attributes:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/DocumentAttribute">DocumentAttribute</a>&gt; stickers:flags.0?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InputDocument">InputDocument</a>&gt; ttl_seconds:flags.1?<a href="/type/int">int</a> = <a href="/type/InputMedia">InputMedia</a>;
<a href="/constructor/inputMediaDocument">inputMediaDocument</a>#33473058 flags:<a href="/type/%23">#</a> spoiler:flags.2?<a href="/constructor/true">true</a> id:<a href="/type/InputDocument">InputDocument</a> ttl_seconds:flags.0?<a href="/type/int">int</a> query:flags.1?<a href="/type/string">string</a> = <a href="/type/InputMedia">InputMedia</a>;<br>
<a href="/constructor/messageMediaDocument">messageMediaDocument</a>#9cb070d7 flags:<a href="/type/%23">#</a> nopremium:flags.3?<a href="/constructor/true">true</a> spoiler:flags.4?<a href="/constructor/true">true</a> document:flags.0?<a href="/type/Document">Document</a> ttl_seconds:flags.2?<a href="/type/int">int</a> = <a href="/type/MessageMedia">MessageMedia</a>;<br>
<a href="/constructor/replyKeyboardMarkup">replyKeyboardMarkup</a>#85dd99d1 flags:<a href="/type/%23">#</a> resize:flags.0?<a href="/constructor/true">true</a> single_use:flags.1?<a href="/constructor/true">true</a> selective:flags.2?<a href="/constructor/true">true</a> persistent:flags.4?<a href="/constructor/true">true</a> rows:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/KeyboardButtonRow">KeyboardButtonRow</a>&gt; placeholder:flags.3?<a href="/type/string">string</a> = <a href="/type/ReplyMarkup">ReplyMarkup</a>;<br>
<a href="/constructor/channelFull">channelFull</a>#f2355507 flags:<a href="/type/%23">#</a> can_view_participants:flags.3?<a href="/constructor/true">true</a> can_set_username:flags.6?<a href="/constructor/true">true</a> can_set_stickers:flags.7?<a href="/constructor/true">true</a> hidden_prehistory:flags.10?<a href="/constructor/true">true</a> can_set_location:flags.16?<a href="/constructor/true">true</a> has_scheduled:flags.19?<a href="/constructor/true">true</a> can_view_stats:flags.20?<a href="/constructor/true">true</a> blocked:flags.22?<a href="/constructor/true">true</a> flags2:<a href="/type/%23">#</a> can_delete_channel:flags2.0?<a href="/constructor/true">true</a> antispam:flags2.1?<a href="/constructor/true">true</a> participants_hidden:flags2.2?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> about:<a href="/type/string">string</a> participants_count:flags.0?<a href="/type/int">int</a> admins_count:flags.1?<a href="/type/int">int</a> kicked_count:flags.2?<a href="/type/int">int</a> banned_count:flags.2?<a href="/type/int">int</a> online_count:flags.13?<a href="/type/int">int</a> read_inbox_max_id:<a href="/type/int">int</a> read_outbox_max_id:<a href="/type/int">int</a> unread_count:<a href="/type/int">int</a> chat_photo:<a href="/type/Photo">Photo</a> notify_settings:<a href="/type/PeerNotifySettings">PeerNotifySettings</a> exported_invite:flags.23?<a href="/type/ExportedChatInvite">ExportedChatInvite</a> bot_info:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/BotInfo">BotInfo</a>&gt; migrated_from_chat_id:flags.4?<a href="/type/long">long</a> migrated_from_max_id:flags.4?<a href="/type/int">int</a> pinned_msg_id:flags.5?<a href="/type/int">int</a> stickerset:flags.8?<a href="/type/StickerSet">StickerSet</a> available_min_id:flags.9?<a href="/type/int">int</a> folder_id:flags.11?<a href="/type/int">int</a> linked_chat_id:flags.14?<a href="/type/long">long</a> location:flags.15?<a href="/type/ChannelLocation">ChannelLocation</a> slowmode_seconds:flags.17?<a href="/type/int">int</a> slowmode_next_send_date:flags.18?<a href="/type/int">int</a> stats_dc:flags.12?<a href="/type/int">int</a> pts:<a href="/type/int">int</a> call:flags.21?<a href="/type/InputGroupCall">InputGroupCall</a> ttl_period:flags.24?<a href="/type/int">int</a> pending_suggestions:flags.25?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/string">string</a>&gt; groupcall_default_join_as:flags.26?<a href="/type/Peer">Peer</a> theme_emoticon:flags.27?<a href="/type/string">string</a> requests_pending:flags.28?<a href="/type/int">int</a> recent_requesters:flags.28?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/long">long</a>&gt; default_send_as:flags.29?<a href="/type/Peer">Peer</a> available_reactions:flags.30?<a href="/type/ChatReactions">ChatReactions</a> = <a href="/type/ChatFull">ChatFull</a>;<br>
<a href="/constructor/inputMediaPhotoExternal">inputMediaPhotoExternal</a>#e5bbfe1a flags:<a href="/type/%23">#</a> spoiler:flags.1?<a href="/constructor/true">true</a> url:<a href="/type/string">string</a> ttl_seconds:flags.0?<a href="/type/int">int</a> = <a href="/type/InputMedia">InputMedia</a>;
<a href="/constructor/inputMediaDocumentExternal">inputMediaDocumentExternal</a>#fb52dc99 flags:<a href="/type/%23">#</a> spoiler:flags.1?<a href="/constructor/true">true</a> url:<a href="/type/string">string</a> ttl_seconds:flags.0?<a href="/type/int">int</a> = <a href="/type/InputMedia">InputMedia</a>;<br>
<a href="/constructor/attachMenuBot">attachMenuBot</a>#c8aa2cd2 flags:<a href="/type/%23">#</a> inactive:flags.0?<a href="/constructor/true">true</a> has_settings:flags.1?<a href="/constructor/true">true</a> request_write_access:flags.2?<a href="/constructor/true">true</a> bot_id:<a href="/type/long">long</a> short_name:<a href="/type/string">string</a> peer_types:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/AttachMenuPeerType">AttachMenuPeerType</a>&gt; icons:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/AttachMenuBotIcon">AttachMenuBotIcon</a>&gt; = <a href="/type/AttachMenuBot">AttachMenuBot</a>;<br>
<a href="/constructor/messageActionSuggestProfilePhoto">messageActionSuggestProfilePhoto</a>#57de635e photo:<a href="/type/Photo">Photo</a> = <a href="/type/MessageAction">MessageAction</a>;<br>
<a href="/constructor/stickerSetNoCovered">stickerSetNoCovered</a>#77b15d1c set:<a href="/type/StickerSet">StickerSet</a> = <a href="/type/StickerSetCovered">StickerSetCovered</a>;<br>
<a href="/constructor/updateUser">updateUser</a>#20529438 user_id:<a href="/type/long">long</a> = <a href="/type/Update">Update</a>;<br>
---functions---<br>
<a href="/method/photos.updateProfilePhoto">photos.updateProfilePhoto</a>#1c3d5956 flags:<a href="/type/%23">#</a> fallback:flags.0?<a href="/constructor/true">true</a> id:<a href="/type/InputPhoto">InputPhoto</a> = <a href="/type/photos.Photo">photos.Photo</a>;
<a href="/method/photos.uploadProfilePhoto">photos.uploadProfilePhoto</a>#89f30f69 flags:<a href="/type/%23">#</a> fallback:flags.3?<a href="/constructor/true">true</a> file:flags.0?<a href="/type/InputFile">InputFile</a> video:flags.1?<a href="/type/InputFile">InputFile</a> video_start_ts:flags.2?<a href="/type/double">double</a> = <a href="/type/photos.Photo">photos.Photo</a>;<br>
<a href="/method/messages.toggleBotInAttachMenu">messages.toggleBotInAttachMenu</a>#69f59d69 flags:<a href="/type/%23">#</a> write_allowed:flags.0?<a href="/constructor/true">true</a> bot:<a href="/type/InputUser">InputUser</a> enabled:<a href="/type/Bool">Bool</a> = <a href="/type/Bool">Bool</a>;<br>
<a href="/method/photos.uploadContactProfilePhoto">photos.uploadContactProfilePhoto</a>#b91a83bf flags:<a href="/type/%23">#</a> suggest:flags.3?<a href="/constructor/true">true</a> save:flags.4?<a href="/constructor/true">true</a> user_id:<a href="/type/InputUser">InputUser</a> file:flags.0?<a href="/type/InputFile">InputFile</a> video:flags.1?<a href="/type/InputFile">InputFile</a> video_start_ts:flags.2?<a href="/type/double">double</a> = <a href="/type/photos.Photo">photos.Photo</a>;<br>
<a href="/method/channels.toggleParticipantsHidden">channels.toggleParticipantsHidden</a>#6a6e7854 channel:<a href="/type/InputChannel">InputChannel</a> enabled:<a href="/type/Bool">Bool</a> = <a href="/type/Updates">Updates</a>;<br></code></pre></div>
<h3><a class="anchor" href="#layer-150" id="layer-150" name="layer-150"><i class="anchor-icon"></i></a><a href="/schema?layer=150">Layer 150</a></h3>
<p><a href="https://fragment.com">Fragment »</a> phone numbers, <a href="/api/links#temporary-profile-links">temporary profile links »</a>, <a href="/api/antispam">native group antispam »</a>, message autodeletion in groups, allow hiding the "General" <a href="/api/forum#forum-topics">forum topic</a>.</p>
<p>Also added a new <a href="/api/links#autodelete-settings-link">autodelete settings deep link »</a> and a <a href="/api/links#profile-settings-link">profile settings deep link »</a>.</p>
<h4><a class="anchor" href="#schema-changes" id="schema-changes" name="schema-changes"><i class="anchor-icon"></i></a>Schema changes</h4>
<h5><a class="anchor" href="#new-methods" id="new-methods" name="new-methods"><i class="anchor-icon"></i></a>New Methods</h5>
<ul>
<li>Added <a href="/method/channels.toggleAntiSpam">channels.toggleAntiSpam</a> - Enable or disable the <a href="/api/antispam">native antispam system</a>.</li>
<li>Added <a href="/method/channels.reportAntiSpamFalsePositive">channels.reportAntiSpamFalsePositive</a> - Report a <a href="/api/antispam">native antispam</a> false positive</li>
<li>Added <a href="/method/messages.setDefaultHistoryTTL">messages.setDefaultHistoryTTL</a> - Changes the default value of the Time-To-Live setting, applied to all new chats.</li>
<li>Added <a href="/method/messages.getDefaultHistoryTTL">messages.getDefaultHistoryTTL</a> - Gets the default value of the Time-To-Live setting, applied to all new chats.</li>
<li>Added <a href="/method/contacts.exportContactToken">contacts.exportContactToken</a> - Generates a <a href="/api/links#temporary-profile-links">temporary profile link</a> for the currently logged-in user.</li>
<li>Added <a href="/method/contacts.importContactToken">contacts.importContactToken</a> - Obtain user info from a <a href="/api/links#temporary-profile-links">temporary profile link</a>.</li>
</ul>
<h5><a class="anchor" href="#changed-methods" id="changed-methods" name="changed-methods"><i class="anchor-icon"></i></a>Changed Methods</h5>
<ul>
<li>Added <strong>flags</strong>, <strong>ttl_period</strong> parameters in <a href="/method/messages.createChat">messages.createChat</a></li>
<li>Added <strong>forum</strong>, <strong>ttl_period</strong> parameters in <a href="/method/channels.createChannel">channels.createChannel</a></li>
<li>Added <strong>hidden</strong> parameter in <a href="/method/channels.editForumTopic">channels.editForumTopic</a></li>
</ul>
<h5><a class="anchor" href="#new-constructors" id="new-constructors" name="new-constructors"><i class="anchor-icon"></i></a>New Constructors</h5>
<ul>
<li>Added <a href="/constructor/defaultHistoryTTL">defaultHistoryTTL</a> - Contains info about the default value of the Time-To-Live setting, applied to all new chats.</li>
<li>Added <a href="/constructor/auth.codeTypeFragmentSms">auth.codeTypeFragmentSms</a> - The next time, the authentication code will be delivered via <a href="https://fragment.com">fragment.com</a></li>
<li>Added <a href="/constructor/auth.sentCodeTypeFragmentSms">auth.sentCodeTypeFragmentSms</a> - The code was delivered via <a href="https://fragment.com">fragment.com</a>.</li>
<li>Added <a href="/constructor/exportedContactToken">exportedContactToken</a> - Describes a <a href="/api/links#temporary-profile-links">temporary profile link</a>.</li>
<li>Added <a href="/constructor/channelAdminLogEventActionToggleAntiSpam">channelAdminLogEventActionToggleAntiSpam</a> - <a href="/api/antispam">Native antispam</a> functionality was enabled or disabled.</li>
</ul>
<h5><a class="anchor" href="#changed-constructors" id="changed-constructors" name="changed-constructors"><i class="anchor-icon"></i></a>Changed Constructors</h5>
<ul>
<li>Added <strong>ttl_period</strong> parameter in <a href="/constructor/dialog">dialog</a></li>
<li>Added <strong>antispam</strong> parameter in <a href="/constructor/channelFull">channelFull</a></li>
<li>Added <strong>flags</strong>, <strong>auto_setting_from</strong> parameters in <a href="/constructor/messageActionSetMessagesTTL">messageActionSetMessagesTTL</a></li>
<li>Added <strong>hidden</strong> parameter in <a href="/constructor/messageActionTopicEdit">messageActionTopicEdit</a></li>
</ul>
<h4><a class="anchor" href="#schema" id="schema" name="schema"><i class="anchor-icon"></i></a>Schema</h4>
<div><pre><code><a href="/constructor/dialog">dialog</a>#d58a08c6 flags:<a href="/type/%23">#</a> pinned:flags.2?<a href="/constructor/true">true</a> unread_mark:flags.3?<a href="/constructor/true">true</a> peer:<a href="/type/Peer">Peer</a> top_message:<a href="/type/int">int</a> read_inbox_max_id:<a href="/type/int">int</a> read_outbox_max_id:<a href="/type/int">int</a> unread_count:<a href="/type/int">int</a> unread_mentions_count:<a href="/type/int">int</a> unread_reactions_count:<a href="/type/int">int</a> notify_settings:<a href="/type/PeerNotifySettings">PeerNotifySettings</a> pts:flags.0?<a href="/type/int">int</a> draft:flags.1?<a href="/type/DraftMessage">DraftMessage</a> folder_id:flags.4?<a href="/type/int">int</a> ttl_period:flags.5?<a href="/type/int">int</a> = <a href="/type/Dialog">Dialog</a>;<br>
<a href="/constructor/channelFull">channelFull</a>#f2355507 flags:<a href="/type/%23">#</a> can_view_participants:flags.3?<a href="/constructor/true">true</a> can_set_username:flags.6?<a href="/constructor/true">true</a> can_set_stickers:flags.7?<a href="/constructor/true">true</a> hidden_prehistory:flags.10?<a href="/constructor/true">true</a> can_set_location:flags.16?<a href="/constructor/true">true</a> has_scheduled:flags.19?<a href="/constructor/true">true</a> can_view_stats:flags.20?<a href="/constructor/true">true</a> blocked:flags.22?<a href="/constructor/true">true</a> flags2:<a href="/type/%23">#</a> can_delete_channel:flags2.0?<a href="/constructor/true">true</a> antispam:flags2.1?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> about:<a href="/type/string">string</a> participants_count:flags.0?<a href="/type/int">int</a> admins_count:flags.1?<a href="/type/int">int</a> kicked_count:flags.2?<a href="/type/int">int</a> banned_count:flags.2?<a href="/type/int">int</a> online_count:flags.13?<a href="/type/int">int</a> read_inbox_max_id:<a href="/type/int">int</a> read_outbox_max_id:<a href="/type/int">int</a> unread_count:<a href="/type/int">int</a> chat_photo:<a href="/type/Photo">Photo</a> notify_settings:<a href="/type/PeerNotifySettings">PeerNotifySettings</a> exported_invite:flags.23?<a href="/type/ExportedChatInvite">ExportedChatInvite</a> bot_info:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/BotInfo">BotInfo</a>&gt; migrated_from_chat_id:flags.4?<a href="/type/long">long</a> migrated_from_max_id:flags.4?<a href="/type/int">int</a> pinned_msg_id:flags.5?<a href="/type/int">int</a> stickerset:flags.8?<a href="/type/StickerSet">StickerSet</a> available_min_id:flags.9?<a href="/type/int">int</a> folder_id:flags.11?<a href="/type/int">int</a> linked_chat_id:flags.14?<a href="/type/long">long</a> location:flags.15?<a href="/type/ChannelLocation">ChannelLocation</a> slowmode_seconds:flags.17?<a href="/type/int">int</a> slowmode_next_send_date:flags.18?<a href="/type/int">int</a> stats_dc:flags.12?<a href="/type/int">int</a> pts:<a href="/type/int">int</a> call:flags.21?<a href="/type/InputGroupCall">InputGroupCall</a> ttl_period:flags.24?<a href="/type/int">int</a> pending_suggestions:flags.25?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/string">string</a>&gt; groupcall_default_join_as:flags.26?<a href="/type/Peer">Peer</a> theme_emoticon:flags.27?<a href="/type/string">string</a> requests_pending:flags.28?<a href="/type/int">int</a> recent_requesters:flags.28?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/long">long</a>&gt; default_send_as:flags.29?<a href="/type/Peer">Peer</a> available_reactions:flags.30?<a href="/type/ChatReactions">ChatReactions</a> = <a href="/type/ChatFull">ChatFull</a>;<br>
<a href="/constructor/messageActionSetMessagesTTL">messageActionSetMessagesTTL</a>#3c134d7b flags:<a href="/type/%23">#</a> period:<a href="/type/int">int</a> auto_setting_from:flags.0?<a href="/type/long">long</a> = <a href="/type/MessageAction">MessageAction</a>;
<a href="/constructor/messageActionTopicEdit">messageActionTopicEdit</a>#c0944820 flags:<a href="/type/%23">#</a> title:flags.0?<a href="/type/string">string</a> icon_emoji_id:flags.1?<a href="/type/long">long</a> closed:flags.2?<a href="/type/Bool">Bool</a> hidden:flags.3?<a href="/type/Bool">Bool</a> = <a href="/type/MessageAction">MessageAction</a>;<br>
<a href="/constructor/defaultHistoryTTL">defaultHistoryTTL</a>#43b46b20 period:<a href="/type/int">int</a> = <a href="/type/DefaultHistoryTTL">DefaultHistoryTTL</a>;<br>
<a href="/constructor/auth.codeTypeFragmentSms">auth.codeTypeFragmentSms</a>#06ed998c = <a href="/type/auth.CodeType">auth.CodeType</a>;
<a href="/constructor/auth.sentCodeTypeFragmentSms">auth.sentCodeTypeFragmentSms</a>#d9565c39 url:<a href="/type/string">string</a> length:<a href="/type/int">int</a> = <a href="/type/auth.SentCodeType">auth.SentCodeType</a>;<br>
<a href="/constructor/exportedContactToken">exportedContactToken</a>#41bf109b url:<a href="/type/string">string</a> expires:<a href="/type/int">int</a> = <a href="/type/ExportedContactToken">ExportedContactToken</a>;<br>
<a href="/constructor/channelAdminLogEventActionToggleAntiSpam">channelAdminLogEventActionToggleAntiSpam</a>#64f36dfc new_value:<a href="/type/Bool">Bool</a> = <a href="/type/ChannelAdminLogEventAction">ChannelAdminLogEventAction</a>;<br>
---functions---<br>
<a href="/method/messages.createChat">messages.createChat</a>#0034a818 flags:<a href="/type/%23">#</a> users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InputUser">InputUser</a>&gt; title:<a href="/type/string">string</a> ttl_period:flags.0?<a href="/type/int">int</a> = <a href="/type/Updates">Updates</a>;<br>
<a href="/method/channels.createChannel">channels.createChannel</a>#91006707 flags:<a href="/type/%23">#</a> broadcast:flags.0?<a href="/constructor/true">true</a> megagroup:flags.1?<a href="/constructor/true">true</a> for_import:flags.3?<a href="/constructor/true">true</a> forum:flags.5?<a href="/constructor/true">true</a> title:<a href="/type/string">string</a> about:<a href="/type/string">string</a> geo_point:flags.2?<a href="/type/InputGeoPoint">InputGeoPoint</a> address:flags.2?<a href="/type/string">string</a> ttl_period:flags.4?<a href="/type/int">int</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/channels.editForumTopic">channels.editForumTopic</a>#f4dfa185 flags:<a href="/type/%23">#</a> channel:<a href="/type/InputChannel">InputChannel</a> topic_id:<a href="/type/int">int</a> title:flags.0?<a href="/type/string">string</a> icon_emoji_id:flags.1?<a href="/type/long">long</a> closed:flags.2?<a href="/type/Bool">Bool</a> hidden:flags.3?<a href="/type/Bool">Bool</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/channels.toggleAntiSpam">channels.toggleAntiSpam</a>#68f3e4eb channel:<a href="/type/InputChannel">InputChannel</a> enabled:<a href="/type/Bool">Bool</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/channels.reportAntiSpamFalsePositive">channels.reportAntiSpamFalsePositive</a>#a850a693 channel:<a href="/type/InputChannel">InputChannel</a> msg_id:<a href="/type/int">int</a> = <a href="/type/Bool">Bool</a>;<br>
<a href="/method/messages.setDefaultHistoryTTL">messages.setDefaultHistoryTTL</a>#9eb51445 period:<a href="/type/int">int</a> = <a href="/type/Bool">Bool</a>;
<a href="/method/messages.getDefaultHistoryTTL">messages.getDefaultHistoryTTL</a>#658b7188 = <a href="/type/DefaultHistoryTTL">DefaultHistoryTTL</a>;<br>
<a href="/method/contacts.exportContactToken">contacts.exportContactToken</a>#f8654027 = <a href="/type/ExportedContactToken">ExportedContactToken</a>;
<a href="/method/contacts.importContactToken">contacts.importContactToken</a>#13005788 token:<a href="/type/string">string</a> = <a href="/type/User">User</a>;<br></code></pre></div>
<h3><a class="anchor" href="#layer-149" id="layer-149" name="layer-149"><i class="anchor-icon"></i></a><a href="/schema?layer=149">Layer 149</a></h3>
<p>Pinned <a href="/api/forum#forum-topics">forum topics</a>.</p>
<h4><a class="anchor" href="#schema-changes" id="schema-changes" name="schema-changes"><i class="anchor-icon"></i></a>Schema changes</h4>
<h5><a class="anchor" href="#new-methods" id="new-methods" name="new-methods"><i class="anchor-icon"></i></a>New Methods</h5>
<ul>
<li>Added <a href="/method/channels.reorderPinnedForumTopics">channels.reorderPinnedForumTopics</a> - Reorder pinned forum topics</li>
</ul>
<h5><a class="anchor" href="#new-constructors" id="new-constructors" name="new-constructors"><i class="anchor-icon"></i></a>New Constructors</h5>
<ul>
<li>Added <a href="/constructor/updateChannelPinnedTopics">updateChannelPinnedTopics</a> - The <a href="/api/forum#forum-topics">pinned topics</a> of a forum have changed.</li>
</ul>
<h5><a class="anchor" href="#changed-constructors" id="changed-constructors" name="changed-constructors"><i class="anchor-icon"></i></a>Changed Constructors</h5>
<ul>
<li>Added <strong>topics</strong> parameter in <a href="/constructor/messages.channelMessages">messages.channelMessages</a></li>
<li>Added <strong>pinned</strong> parameter, changed type of <strong>topic_id</strong> from <strong>flags.0?int</strong> to <strong>int</strong> in <a href="/constructor/updateChannelPinnedTopic">updateChannelPinnedTopic</a></li>
</ul>
<h4><a class="anchor" href="#schema" id="schema" name="schema"><i class="anchor-icon"></i></a>Schema</h4>
<div><pre><code><a href="/constructor/messages.channelMessages">messages.channelMessages</a>#c776ba4e flags:<a href="/type/%23">#</a> inexact:flags.1?<a href="/constructor/true">true</a> pts:<a href="/type/int">int</a> count:<a href="/type/int">int</a> offset_id_offset:flags.2?<a href="/type/int">int</a> messages:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Message">Message</a>&gt; topics:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/ForumTopic">ForumTopic</a>&gt; chats:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Chat">Chat</a>&gt; users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; = <a href="/type/messages.Messages">messages.Messages</a>;<br>
<a href="/constructor/updateChannelPinnedTopic">updateChannelPinnedTopic</a>#192efbe3 flags:<a href="/type/%23">#</a> pinned:flags.0?<a href="/constructor/true">true</a> channel_id:<a href="/type/long">long</a> topic_id:<a href="/type/int">int</a> = <a href="/type/Update">Update</a>;
<a href="/constructor/updateChannelPinnedTopics">updateChannelPinnedTopics</a>#fe198602 flags:<a href="/type/%23">#</a> channel_id:<a href="/type/long">long</a> order:flags.0?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; = <a href="/type/Update">Update</a>;<br>
---functions---<br>
<a href="/method/channels.reorderPinnedForumTopics">channels.reorderPinnedForumTopics</a>#2950a18f flags:<a href="/type/%23">#</a> force:flags.0?<a href="/constructor/true">true</a> channel:<a href="/type/InputChannel">InputChannel</a> order:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; = <a href="/type/Updates">Updates</a>;<br></code></pre></div>
<h3><a class="anchor" href="#layer-148" id="layer-148" name="layer-148"><i class="anchor-icon"></i></a><a href="/schema?layer=148">Layer 148</a></h3>
<p><a href="/api/fragment">Collectible usernames »</a>, groups with topics (aka <a href="/api/forum">forums »</a>), sponsored message improvements.<br>
Added support for thread IDs in <a href="/api/links#message-links">message deep links »</a>, which now double as <a href="/api/links#forum-topic-links">forum topic deep links »</a>, and added a new <code>manage_topics</code> parameter to <a href="/api/links#group-channel-bot-links">group/channel bot deep links</a>.</p>
<h4><a class="anchor" href="#schema-changes" id="schema-changes" name="schema-changes"><i class="anchor-icon"></i></a>Schema changes</h4>
<h5><a class="anchor" href="#new-methods" id="new-methods" name="new-methods"><i class="anchor-icon"></i></a>New Methods</h5>
<ul>
<li>Added <a href="/method/account.reorderUsernames">account.reorderUsernames</a> - Reorder usernames associated with the currently logged-in user.</li>
<li>Added <a href="/method/account.toggleUsername">account.toggleUsername</a> - Activate or deactivate a purchased <a href="https://fragment.com">fragment.com</a> username associated to the currently logged-in user.</li>
<li>Added <a href="/method/channels.reorderUsernames">channels.reorderUsernames</a> - Reorder active usernames</li>
<li>Added <a href="/method/channels.toggleUsername">channels.toggleUsername</a> - Activate or deactivate a purchased <a href="https://fragment.com">fragment.com</a> username associated to a <a href="/api/channel">supergroup or channel</a> we own.</li>
<li>Added <a href="/method/channels.deactivateAllUsernames">channels.deactivateAllUsernames</a> - Disable all purchased usernames of a supergroup or channel</li>
<li>Added <a href="/method/channels.toggleForum">channels.toggleForum</a> - Enable or disable <a href="/api/forum">forum functionality</a> in a supergroup.</li>
<li>Added <a href="/method/channels.createForumTopic">channels.createForumTopic</a> - Create a <a href="/api/forum">forum topic</a>; requires <a href="/api/rights"><code>manage_topics</code> rights</a>.</li>
<li>Added <a href="/method/channels.getForumTopics">channels.getForumTopics</a> - Get <a href="/api/forum">topics of a forum</a></li>
<li>Added <a href="/method/channels.getForumTopicsByID">channels.getForumTopicsByID</a> - Get forum topics by their ID</li>
<li>Added <a href="/method/channels.editForumTopic">channels.editForumTopic</a> - Edit <a href="/api/forum">forum topic</a>; requires <a href="/api/rights"><code>manage_topics</code> rights</a>.</li>
<li>Added <a href="/method/channels.updatePinnedForumTopic">channels.updatePinnedForumTopic</a> - Pin or unpin <a href="/api/forum">forum topics</a></li>
<li>Added <a href="/method/channels.deleteTopicHistory">channels.deleteTopicHistory</a> - Delete message history of a <a href="/api/forum">forum topic</a></li>
</ul>
<h5><a class="anchor" href="#changed-methods" id="changed-methods" name="changed-methods"><i class="anchor-icon"></i></a>Changed Methods</h5>
<ul>
<li>Added <strong>top_msg_id</strong> parameter in <a href="/method/messages.sendMessage">messages.sendMessage</a></li>
<li>Added <strong>top_msg_id</strong> parameter in <a href="/method/messages.sendMedia">messages.sendMedia</a></li>
<li>Added <strong>top_msg_id</strong> parameter in <a href="/method/messages.forwardMessages">messages.forwardMessages</a></li>
<li>Added <strong>top_msg_id</strong> parameter in <a href="/method/messages.sendInlineBotResult">messages.sendInlineBotResult</a></li>
<li>Added <strong>top_msg_id</strong> parameter in <a href="/method/messages.saveDraft">messages.saveDraft</a></li>
<li>Added <strong>flags</strong>, <strong>top_msg_id</strong> parameters in <a href="/method/messages.getUnreadMentions">messages.getUnreadMentions</a></li>
<li>Added <strong>flags</strong>, <strong>top_msg_id</strong> parameters in <a href="/method/messages.readMentions">messages.readMentions</a></li>
<li>Added <strong>top_msg_id</strong> parameter in <a href="/method/messages.sendMultiMedia">messages.sendMultiMedia</a></li>
<li>Added <strong>flags</strong>, <strong>top_msg_id</strong> parameters in <a href="/method/messages.getSearchCounters">messages.getSearchCounters</a></li>
<li>Removed <strong>document_id</strong> parameter in <a href="/method/account.getTheme">account.getTheme</a></li>
<li>Added <strong>flags</strong>, <strong>top_msg_id</strong> parameters in <a href="/method/messages.unpinAllMessages">messages.unpinAllMessages</a></li>
<li>Added <strong>flags</strong>, <strong>top_msg_id</strong> parameters in <a href="/method/messages.getUnreadReactions">messages.getUnreadReactions</a></li>
<li>Added <strong>flags</strong>, <strong>top_msg_id</strong> parameters in <a href="/method/messages.readReactions">messages.readReactions</a></li>
<li>Added <strong>top_msg_id</strong> parameter in <a href="/method/messages.requestWebView">messages.requestWebView</a></li>
<li>Added <strong>top_msg_id</strong> parameter in <a href="/method/messages.prolongWebView">messages.prolongWebView</a></li>
</ul>
<h5><a class="anchor" href="#new-constructors" id="new-constructors" name="new-constructors"><i class="anchor-icon"></i></a>New Constructors</h5>
<ul>
<li>Added <a href="/constructor/username">username</a> - Contains information about a username.</li>
<li>Added <a href="/constructor/channelAdminLogEventActionChangeUsernames">channelAdminLogEventActionChangeUsernames</a> - The list of usernames associated with the channel was changed</li>
<li>Added <a href="/constructor/channelAdminLogEventActionToggleForum">channelAdminLogEventActionToggleForum</a> - <a href="/api/forum">Forum</a> functionality was enabled or disabled.</li>
<li>Added <a href="/constructor/channelAdminLogEventActionCreateTopic">channelAdminLogEventActionCreateTopic</a> - A <a href="/api/forum#forum-topics">forum topic</a> was created</li>
<li>Added <a href="/constructor/channelAdminLogEventActionEditTopic">channelAdminLogEventActionEditTopic</a> - A <a href="/api/forum#forum-topics">forum topic</a> was edited</li>
<li>Added <a href="/constructor/channelAdminLogEventActionDeleteTopic">channelAdminLogEventActionDeleteTopic</a> - A <a href="/api/forum#forum-topics">forum topic</a> was deleted</li>
<li>Added <a href="/constructor/channelAdminLogEventActionPinTopic">channelAdminLogEventActionPinTopic</a> - A <a href="/api/forum#forum-topics">forum topic</a> was pinned or unpinned</li>
<li>Added <a href="/constructor/forumTopicDeleted">forumTopicDeleted</a> - Represents a deleted forum topic.</li>
<li>Added <a href="/constructor/forumTopic">forumTopic</a> - Represents a <a href="/api/forum#forum-topics">forum topic</a>.</li>
<li>Added <a href="/constructor/messages.forumTopics">messages.forumTopics</a> - Contains information about multiple <a href="/api/forum#forum-topics">forum topics</a></li>
<li>Added <a href="/constructor/messageActionTopicCreate">messageActionTopicCreate</a> - A <a href="/api/forum#forum-topics">forum topic</a> was created.</li>
<li>Added <a href="/constructor/messageActionTopicEdit">messageActionTopicEdit</a> - <a href="/api/forum#forum-topics">Forum topic</a> information was edited.</li>
<li>Added <a href="/constructor/updateChannelPinnedTopic">updateChannelPinnedTopic</a> - A <a href="/api/forum#forum-topics">forum topic »</a> was pinned or unpinned.</li>
<li>Added <a href="/constructor/inputNotifyForumTopic">inputNotifyForumTopic</a> - Notifications generated by a <a href="/api/forum#forum-topics">topic</a> in a <a href="/api/forum">forum</a>.</li>
<li>Added <a href="/constructor/notifyForumTopic">notifyForumTopic</a> - Notifications generated by a <a href="/api/forum#forum-topics">topic</a> in a <a href="/api/forum">forum</a>.</li>
<li>Added <a href="/constructor/inputStickerSetEmojiDefaultTopicIcons">inputStickerSetEmojiDefaultTopicIcons</a> - Default <a href="/api/custom-emoji">custom emoji</a> stickerset for <a href="/api/forum#forum-topics">forum topic icons</a></li>
<li>Added <a href="/constructor/messages.sponsoredMessagesEmpty">messages.sponsoredMessagesEmpty</a> - No sponsored messages are available.</li>
</ul>
<h5><a class="anchor" href="#changed-constructors" id="changed-constructors" name="changed-constructors"><i class="anchor-icon"></i></a>Changed Constructors</h5>
<ul>
<li>Added <strong>usernames</strong> parameter, removed <strong>username</strong> parameter in <a href="/constructor/updateUserName">updateUserName</a></li>
<li>Added <strong>flags2</strong>, <strong>usernames</strong> parameters in <a href="/constructor/user">user</a></li>
<li>Added <strong>forum</strong>, <strong>flags2</strong>, <strong>usernames</strong> parameters in <a href="/constructor/channel">channel</a></li>
<li>Added <strong>flags</strong>, <strong>top_msg_id</strong> parameters in <a href="/constructor/updateDraftMessage">updateDraftMessage</a></li>
<li>Added <strong>forums</strong> parameter in <a href="/constructor/channelAdminLogEventsFilter">channelAdminLogEventsFilter</a></li>
<li>Added <strong>flags</strong>, <strong>top_msg_id</strong> parameters in <a href="/constructor/updateChannelReadMessagesContents">updateChannelReadMessagesContents</a></li>
<li>Added <strong>manage_topics</strong> parameter in <a href="/constructor/chatAdminRights">chatAdminRights</a></li>
<li>Added <strong>manage_topics</strong> parameter in <a href="/constructor/chatBannedRights">chatBannedRights</a></li>
<li>Added <strong>forum_topic</strong> parameter in <a href="/constructor/messageReplyHeader">messageReplyHeader</a></li>
<li>Added <strong>show_peer_photo</strong> parameter in <a href="/constructor/sponsoredMessage">sponsoredMessage</a></li>
<li>Added <strong>flags</strong>, <strong>posts_between</strong> parameters in <a href="/constructor/messages.sponsoredMessages">messages.sponsoredMessages</a></li>
<li>Added <strong>flags</strong>, <strong>top_msg_id</strong> parameters in <a href="/constructor/updateMessageReactions">updateMessageReactions</a></li>
</ul>
<h4><a class="anchor" href="#schema" id="schema" name="schema"><i class="anchor-icon"></i></a>Schema</h4>
<div><pre><code><a href="/constructor/updateUserName">updateUserName</a>#a7848924 user_id:<a href="/type/long">long</a> first_name:<a href="/type/string">string</a> last_name:<a href="/type/string">string</a> usernames:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Username">Username</a>&gt; = <a href="/type/Update">Update</a>;
<a href="/constructor/user">user</a>#8f97c628 flags:<a href="/type/%23">#</a> self:flags.10?<a href="/constructor/true">true</a> contact:flags.11?<a href="/constructor/true">true</a> mutual_contact:flags.12?<a href="/constructor/true">true</a> deleted:flags.13?<a href="/constructor/true">true</a> bot:flags.14?<a href="/constructor/true">true</a> bot_chat_history:flags.15?<a href="/constructor/true">true</a> bot_nochats:flags.16?<a href="/constructor/true">true</a> verified:flags.17?<a href="/constructor/true">true</a> restricted:flags.18?<a href="/constructor/true">true</a> min:flags.20?<a href="/constructor/true">true</a> bot_inline_geo:flags.21?<a href="/constructor/true">true</a> support:flags.23?<a href="/constructor/true">true</a> scam:flags.24?<a href="/constructor/true">true</a> apply_min_photo:flags.25?<a href="/constructor/true">true</a> fake:flags.26?<a href="/constructor/true">true</a> bot_attach_menu:flags.27?<a href="/constructor/true">true</a> premium:flags.28?<a href="/constructor/true">true</a> attach_menu_enabled:flags.29?<a href="/constructor/true">true</a> flags2:<a href="/type/%23">#</a> id:<a href="/type/long">long</a> access_hash:flags.0?<a href="/type/long">long</a> first_name:flags.1?<a href="/type/string">string</a> last_name:flags.2?<a href="/type/string">string</a> username:flags.3?<a href="/type/string">string</a> phone:flags.4?<a href="/type/string">string</a> photo:flags.5?<a href="/type/UserProfilePhoto">UserProfilePhoto</a> status:flags.6?<a href="/type/UserStatus">UserStatus</a> bot_info_version:flags.14?<a href="/type/int">int</a> restriction_reason:flags.18?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/RestrictionReason">RestrictionReason</a>&gt; bot_inline_placeholder:flags.19?<a href="/type/string">string</a> lang_code:flags.22?<a href="/type/string">string</a> emoji_status:flags.30?<a href="/type/EmojiStatus">EmojiStatus</a> usernames:flags2.0?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Username">Username</a>&gt; = <a href="/type/User">User</a>;<br>
<a href="/constructor/channel">channel</a>#83259464 flags:<a href="/type/%23">#</a> creator:flags.0?<a href="/constructor/true">true</a> left:flags.2?<a href="/constructor/true">true</a> broadcast:flags.5?<a href="/constructor/true">true</a> verified:flags.7?<a href="/constructor/true">true</a> megagroup:flags.8?<a href="/constructor/true">true</a> restricted:flags.9?<a href="/constructor/true">true</a> signatures:flags.11?<a href="/constructor/true">true</a> min:flags.12?<a href="/constructor/true">true</a> scam:flags.19?<a href="/constructor/true">true</a> has_link:flags.20?<a href="/constructor/true">true</a> has_geo:flags.21?<a href="/constructor/true">true</a> slowmode_enabled:flags.22?<a href="/constructor/true">true</a> call_active:flags.23?<a href="/constructor/true">true</a> call_not_empty:flags.24?<a href="/constructor/true">true</a> fake:flags.25?<a href="/constructor/true">true</a> gigagroup:flags.26?<a href="/constructor/true">true</a> noforwards:flags.27?<a href="/constructor/true">true</a> join_to_send:flags.28?<a href="/constructor/true">true</a> join_request:flags.29?<a href="/constructor/true">true</a> forum:flags.30?<a href="/constructor/true">true</a> flags2:<a href="/type/%23">#</a> id:<a href="/type/long">long</a> access_hash:flags.13?<a href="/type/long">long</a> title:<a href="/type/string">string</a> username:flags.6?<a href="/type/string">string</a> photo:<a href="/type/ChatPhoto">ChatPhoto</a> date:<a href="/type/int">int</a> restriction_reason:flags.9?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/RestrictionReason">RestrictionReason</a>&gt; admin_rights:flags.14?<a href="/type/ChatAdminRights">ChatAdminRights</a> banned_rights:flags.15?<a href="/type/ChatBannedRights">ChatBannedRights</a> default_banned_rights:flags.18?<a href="/type/ChatBannedRights">ChatBannedRights</a> participants_count:flags.17?<a href="/type/int">int</a> usernames:flags2.0?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Username">Username</a>&gt; = <a href="/type/Chat">Chat</a>;<br>
<a href="/constructor/updateDraftMessage">updateDraftMessage</a>#1b49ec6d flags:<a href="/type/%23">#</a> peer:<a href="/type/Peer">Peer</a> top_msg_id:flags.0?<a href="/type/int">int</a> draft:<a href="/type/DraftMessage">DraftMessage</a> = <a href="/type/Update">Update</a>;<br>
<a href="/constructor/channelAdminLogEventsFilter">channelAdminLogEventsFilter</a>#ea107ae4 flags:<a href="/type/%23">#</a> join:flags.0?<a href="/constructor/true">true</a> leave:flags.1?<a href="/constructor/true">true</a> invite:flags.2?<a href="/constructor/true">true</a> ban:flags.3?<a href="/constructor/true">true</a> unban:flags.4?<a href="/constructor/true">true</a> kick:flags.5?<a href="/constructor/true">true</a> unkick:flags.6?<a href="/constructor/true">true</a> promote:flags.7?<a href="/constructor/true">true</a> demote:flags.8?<a href="/constructor/true">true</a> info:flags.9?<a href="/constructor/true">true</a> settings:flags.10?<a href="/constructor/true">true</a> pinned:flags.11?<a href="/constructor/true">true</a> edit:flags.12?<a href="/constructor/true">true</a> delete:flags.13?<a href="/constructor/true">true</a> group_call:flags.14?<a href="/constructor/true">true</a> invites:flags.15?<a href="/constructor/true">true</a> send:flags.16?<a href="/constructor/true">true</a> forums:flags.17?<a href="/constructor/true">true</a> = <a href="/type/ChannelAdminLogEventsFilter">ChannelAdminLogEventsFilter</a>;<br>
<a href="/constructor/updateChannelReadMessagesContents">updateChannelReadMessagesContents</a>#ea29055d flags:<a href="/type/%23">#</a> channel_id:<a href="/type/long">long</a> top_msg_id:flags.0?<a href="/type/int">int</a> messages:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; = <a href="/type/Update">Update</a>;<br>
<a href="/constructor/chatAdminRights">chatAdminRights</a>#5fb224d5 flags:<a href="/type/%23">#</a> change_info:flags.0?<a href="/constructor/true">true</a> post_messages:flags.1?<a href="/constructor/true">true</a> edit_messages:flags.2?<a href="/constructor/true">true</a> delete_messages:flags.3?<a href="/constructor/true">true</a> ban_users:flags.4?<a href="/constructor/true">true</a> invite_users:flags.5?<a href="/constructor/true">true</a> pin_messages:flags.7?<a href="/constructor/true">true</a> add_admins:flags.9?<a href="/constructor/true">true</a> anonymous:flags.10?<a href="/constructor/true">true</a> manage_call:flags.11?<a href="/constructor/true">true</a> other:flags.12?<a href="/constructor/true">true</a> manage_topics:flags.13?<a href="/constructor/true">true</a> = <a href="/type/ChatAdminRights">ChatAdminRights</a>;
<a href="/constructor/chatBannedRights">chatBannedRights</a>#9f120418 flags:<a href="/type/%23">#</a> view_messages:flags.0?<a href="/constructor/true">true</a> send_messages:flags.1?<a href="/constructor/true">true</a> send_media:flags.2?<a href="/constructor/true">true</a> send_stickers:flags.3?<a href="/constructor/true">true</a> send_gifs:flags.4?<a href="/constructor/true">true</a> send_games:flags.5?<a href="/constructor/true">true</a> send_inline:flags.6?<a href="/constructor/true">true</a> embed_links:flags.7?<a href="/constructor/true">true</a> send_polls:flags.8?<a href="/constructor/true">true</a> change_info:flags.10?<a href="/constructor/true">true</a> invite_users:flags.15?<a href="/constructor/true">true</a> pin_messages:flags.17?<a href="/constructor/true">true</a> manage_topics:flags.18?<a href="/constructor/true">true</a> until_date:<a href="/type/int">int</a> = <a href="/type/ChatBannedRights">ChatBannedRights</a>;<br>
<a href="/constructor/messageReplyHeader">messageReplyHeader</a>#a6d57763 flags:<a href="/type/%23">#</a> reply_to_scheduled:flags.2?<a href="/constructor/true">true</a> forum_topic:flags.3?<a href="/constructor/true">true</a> reply_to_msg_id:<a href="/type/int">int</a> reply_to_peer_id:flags.0?<a href="/type/Peer">Peer</a> reply_to_top_id:flags.1?<a href="/type/int">int</a> = <a href="/type/MessageReplyHeader">MessageReplyHeader</a>;<br>
<a href="/constructor/sponsoredMessage">sponsoredMessage</a>#3a836df8 flags:<a href="/type/%23">#</a> recommended:flags.5?<a href="/constructor/true">true</a> show_peer_photo:flags.6?<a href="/constructor/true">true</a> random_id:<a href="/type/bytes">bytes</a> from_id:flags.3?<a href="/type/Peer">Peer</a> chat_invite:flags.4?<a href="/type/ChatInvite">ChatInvite</a> chat_invite_hash:flags.4?<a href="/type/string">string</a> channel_post:flags.2?<a href="/type/int">int</a> start_param:flags.0?<a href="/type/string">string</a> message:<a href="/type/string">string</a> entities:flags.1?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; = <a href="/type/SponsoredMessage">SponsoredMessage</a>;<br>
<a href="/constructor/messages.sponsoredMessages">messages.sponsoredMessages</a>#c9ee1d87 flags:<a href="/type/%23">#</a> posts_between:flags.0?<a href="/type/int">int</a> messages:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/SponsoredMessage">SponsoredMessage</a>&gt; chats:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Chat">Chat</a>&gt; users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; = <a href="/type/messages.SponsoredMessages">messages.SponsoredMessages</a>;<br>
<a href="/constructor/updateMessageReactions">updateMessageReactions</a>#5e1b3cb8 flags:<a href="/type/%23">#</a> peer:<a href="/type/Peer">Peer</a> msg_id:<a href="/type/int">int</a> top_msg_id:flags.0?<a href="/type/int">int</a> reactions:<a href="/type/MessageReactions">MessageReactions</a> = <a href="/type/Update">Update</a>;
<a href="/constructor/username">username</a>#b4073647 flags:<a href="/type/%23">#</a> editable:flags.0?<a href="/constructor/true">true</a> active:flags.1?<a href="/constructor/true">true</a> username:<a href="/type/string">string</a> = <a href="/type/Username">Username</a>;<br>
<a href="/constructor/channelAdminLogEventActionChangeUsernames">channelAdminLogEventActionChangeUsernames</a>#f04fb3a9 prev_value:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/string">string</a>&gt; new_value:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/string">string</a>&gt; = <a href="/type/ChannelAdminLogEventAction">ChannelAdminLogEventAction</a>;
<a href="/constructor/channelAdminLogEventActionToggleForum">channelAdminLogEventActionToggleForum</a>#02cc6383 new_value:<a href="/type/Bool">Bool</a> = <a href="/type/ChannelAdminLogEventAction">ChannelAdminLogEventAction</a>;
<a href="/constructor/channelAdminLogEventActionCreateTopic">channelAdminLogEventActionCreateTopic</a>#58707d28 topic:<a href="/type/ForumTopic">ForumTopic</a> = <a href="/type/ChannelAdminLogEventAction">ChannelAdminLogEventAction</a>;
<a href="/constructor/channelAdminLogEventActionEditTopic">channelAdminLogEventActionEditTopic</a>#f06fe208 prev_topic:<a href="/type/ForumTopic">ForumTopic</a> new_topic:<a href="/type/ForumTopic">ForumTopic</a> = <a href="/type/ChannelAdminLogEventAction">ChannelAdminLogEventAction</a>;
<a href="/constructor/channelAdminLogEventActionDeleteTopic">channelAdminLogEventActionDeleteTopic</a>#ae168909 topic:<a href="/type/ForumTopic">ForumTopic</a> = <a href="/type/ChannelAdminLogEventAction">ChannelAdminLogEventAction</a>;
<a href="/constructor/channelAdminLogEventActionPinTopic">channelAdminLogEventActionPinTopic</a>#5d8d353b flags:<a href="/type/%23">#</a> prev_topic:flags.0?<a href="/type/ForumTopic">ForumTopic</a> new_topic:flags.1?<a href="/type/ForumTopic">ForumTopic</a> = <a href="/type/ChannelAdminLogEventAction">ChannelAdminLogEventAction</a>;<br>
<a href="/constructor/forumTopicDeleted">forumTopicDeleted</a>#023f109b id:<a href="/type/int">int</a> = <a href="/type/ForumTopic">ForumTopic</a>;
<a href="/constructor/forumTopic">forumTopic</a>#71701da9 flags:<a href="/type/%23">#</a> my:flags.1?<a href="/constructor/true">true</a> closed:flags.2?<a href="/constructor/true">true</a> pinned:flags.3?<a href="/constructor/true">true</a> short:flags.5?<a href="/constructor/true">true</a> hidden:flags.6?<a href="/constructor/true">true</a> id:<a href="/type/int">int</a> date:<a href="/type/int">int</a> title:<a href="/type/string">string</a> icon_color:<a href="/type/int">int</a> icon_emoji_id:flags.0?<a href="/type/long">long</a> top_message:<a href="/type/int">int</a> read_inbox_max_id:<a href="/type/int">int</a> read_outbox_max_id:<a href="/type/int">int</a> unread_count:<a href="/type/int">int</a> unread_mentions_count:<a href="/type/int">int</a> unread_reactions_count:<a href="/type/int">int</a> from_id:<a href="/type/Peer">Peer</a> notify_settings:<a href="/type/PeerNotifySettings">PeerNotifySettings</a> draft:flags.4?<a href="/type/DraftMessage">DraftMessage</a> = <a href="/type/ForumTopic">ForumTopic</a>;<br>
<a href="/constructor/messages.forumTopics">messages.forumTopics</a>#367617d3 flags:<a href="/type/%23">#</a> order_by_create_date:flags.0?<a href="/constructor/true">true</a> count:<a href="/type/int">int</a> topics:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/ForumTopic">ForumTopic</a>&gt; messages:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Message">Message</a>&gt; chats:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Chat">Chat</a>&gt; users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; pts:<a href="/type/int">int</a> = <a href="/type/messages.ForumTopics">messages.ForumTopics</a>;
<a href="/constructor/messageActionTopicCreate">messageActionTopicCreate</a>#0d999256 flags:<a href="/type/%23">#</a> title:<a href="/type/string">string</a> icon_color:<a href="/type/int">int</a> icon_emoji_id:flags.0?<a href="/type/long">long</a> = <a href="/type/MessageAction">MessageAction</a>;
<a href="/constructor/messageActionTopicEdit">messageActionTopicEdit</a>#b18a431c flags:<a href="/type/%23">#</a> title:flags.0?<a href="/type/string">string</a> icon_emoji_id:flags.1?<a href="/type/long">long</a> closed:flags.2?<a href="/type/Bool">Bool</a> = <a href="/type/MessageAction">MessageAction</a>;<br>
<a href="/constructor/updateChannelPinnedTopic">updateChannelPinnedTopic</a>#f694b0ae flags:<a href="/type/%23">#</a> channel_id:<a href="/type/long">long</a> topic_id:flags.0?<a href="/type/int">int</a> = <a href="/type/Update">Update</a>;<br>
<a href="/constructor/inputNotifyForumTopic">inputNotifyForumTopic</a>#5c467992 peer:<a href="/type/InputPeer">InputPeer</a> top_msg_id:<a href="/type/int">int</a> = <a href="/type/InputNotifyPeer">InputNotifyPeer</a>;<br>
<a href="/constructor/notifyForumTopic">notifyForumTopic</a>#226e6308 peer:<a href="/type/Peer">Peer</a> top_msg_id:<a href="/type/int">int</a> = <a href="/type/NotifyPeer">NotifyPeer</a>;<br>
<a href="/constructor/inputStickerSetEmojiDefaultTopicIcons">inputStickerSetEmojiDefaultTopicIcons</a>#44c1f8e9 = <a href="/type/InputStickerSet">InputStickerSet</a>;<br>
<a href="/constructor/messages.sponsoredMessagesEmpty">messages.sponsoredMessagesEmpty</a>#1839490f = <a href="/type/messages.SponsoredMessages">messages.SponsoredMessages</a>;<br>
---functions---<br>
<a href="/method/messages.sendMessage">messages.sendMessage</a>#1cc20387 flags:<a href="/type/%23">#</a> no_webpage:flags.1?<a href="/constructor/true">true</a> silent:flags.5?<a href="/constructor/true">true</a> background:flags.6?<a href="/constructor/true">true</a> clear_draft:flags.7?<a href="/constructor/true">true</a> noforwards:flags.14?<a href="/constructor/true">true</a> update_stickersets_order:flags.15?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> reply_to_msg_id:flags.0?<a href="/type/int">int</a> top_msg_id:flags.9?<a href="/type/int">int</a> message:<a href="/type/string">string</a> random_id:<a href="/type/long">long</a> reply_markup:flags.2?<a href="/type/ReplyMarkup">ReplyMarkup</a> entities:flags.3?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; schedule_date:flags.10?<a href="/type/int">int</a> send_as:flags.13?<a href="/type/InputPeer">InputPeer</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/messages.sendMedia">messages.sendMedia</a>#7547c966 flags:<a href="/type/%23">#</a> silent:flags.5?<a href="/constructor/true">true</a> background:flags.6?<a href="/constructor/true">true</a> clear_draft:flags.7?<a href="/constructor/true">true</a> noforwards:flags.14?<a href="/constructor/true">true</a> update_stickersets_order:flags.15?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> reply_to_msg_id:flags.0?<a href="/type/int">int</a> top_msg_id:flags.9?<a href="/type/int">int</a> media:<a href="/type/InputMedia">InputMedia</a> message:<a href="/type/string">string</a> random_id:<a href="/type/long">long</a> reply_markup:flags.2?<a href="/type/ReplyMarkup">ReplyMarkup</a> entities:flags.3?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; schedule_date:flags.10?<a href="/type/int">int</a> send_as:flags.13?<a href="/type/InputPeer">InputPeer</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/messages.forwardMessages">messages.forwardMessages</a>#c661bbc4 flags:<a href="/type/%23">#</a> silent:flags.5?<a href="/constructor/true">true</a> background:flags.6?<a href="/constructor/true">true</a> with_my_score:flags.8?<a href="/constructor/true">true</a> drop_author:flags.11?<a href="/constructor/true">true</a> drop_media_captions:flags.12?<a href="/constructor/true">true</a> noforwards:flags.14?<a href="/constructor/true">true</a> from_peer:<a href="/type/InputPeer">InputPeer</a> id:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; random_id:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/long">long</a>&gt; to_peer:<a href="/type/InputPeer">InputPeer</a> top_msg_id:flags.9?<a href="/type/int">int</a> schedule_date:flags.10?<a href="/type/int">int</a> send_as:flags.13?<a href="/type/InputPeer">InputPeer</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/messages.sendInlineBotResult">messages.sendInlineBotResult</a>#d3fbdccb flags:<a href="/type/%23">#</a> silent:flags.5?<a href="/constructor/true">true</a> background:flags.6?<a href="/constructor/true">true</a> clear_draft:flags.7?<a href="/constructor/true">true</a> hide_via:flags.11?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> reply_to_msg_id:flags.0?<a href="/type/int">int</a> top_msg_id:flags.9?<a href="/type/int">int</a> random_id:<a href="/type/long">long</a> query_id:<a href="/type/long">long</a> id:<a href="/type/string">string</a> schedule_date:flags.10?<a href="/type/int">int</a> send_as:flags.13?<a href="/type/InputPeer">InputPeer</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/messages.saveDraft">messages.saveDraft</a>#b4331e3f flags:<a href="/type/%23">#</a> no_webpage:flags.1?<a href="/constructor/true">true</a> reply_to_msg_id:flags.0?<a href="/type/int">int</a> top_msg_id:flags.2?<a href="/type/int">int</a> peer:<a href="/type/InputPeer">InputPeer</a> message:<a href="/type/string">string</a> entities:flags.3?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; = <a href="/type/Bool">Bool</a>;
<a href="/method/messages.getUnreadMentions">messages.getUnreadMentions</a>#f107e790 flags:<a href="/type/%23">#</a> peer:<a href="/type/InputPeer">InputPeer</a> top_msg_id:flags.0?<a href="/type/int">int</a> offset_id:<a href="/type/int">int</a> add_offset:<a href="/type/int">int</a> limit:<a href="/type/int">int</a> max_id:<a href="/type/int">int</a> min_id:<a href="/type/int">int</a> = <a href="/type/messages.Messages">messages.Messages</a>;
<a href="/method/messages.readMentions">messages.readMentions</a>#36e5bf4d flags:<a href="/type/%23">#</a> peer:<a href="/type/InputPeer">InputPeer</a> top_msg_id:flags.0?<a href="/type/int">int</a> = <a href="/type/messages.AffectedHistory">messages.AffectedHistory</a>;
<a href="/method/messages.sendMultiMedia">messages.sendMultiMedia</a>#b6f11a1c flags:<a href="/type/%23">#</a> silent:flags.5?<a href="/constructor/true">true</a> background:flags.6?<a href="/constructor/true">true</a> clear_draft:flags.7?<a href="/constructor/true">true</a> noforwards:flags.14?<a href="/constructor/true">true</a> update_stickersets_order:flags.15?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> reply_to_msg_id:flags.0?<a href="/type/int">int</a> top_msg_id:flags.9?<a href="/type/int">int</a> multi_media:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InputSingleMedia">InputSingleMedia</a>&gt; schedule_date:flags.10?<a href="/type/int">int</a> send_as:flags.13?<a href="/type/InputPeer">InputPeer</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/messages.getSearchCounters">messages.getSearchCounters</a>#00ae7cc1 flags:<a href="/type/%23">#</a> peer:<a href="/type/InputPeer">InputPeer</a> top_msg_id:flags.0?<a href="/type/int">int</a> filters:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessagesFilter">MessagesFilter</a>&gt; = <a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/messages.SearchCounter">messages.SearchCounter</a>&gt;;<br>
<a href="/method/account.getTheme">account.getTheme</a>#3a5869ec format:<a href="/type/string">string</a> theme:<a href="/type/InputTheme">InputTheme</a> = <a href="/type/Theme">Theme</a>;<br>
<a href="/method/messages.unpinAllMessages">messages.unpinAllMessages</a>#ee22b9a8 flags:<a href="/type/%23">#</a> peer:<a href="/type/InputPeer">InputPeer</a> top_msg_id:flags.0?<a href="/type/int">int</a> = <a href="/type/messages.AffectedHistory">messages.AffectedHistory</a>;
<a href="/method/messages.getUnreadReactions">messages.getUnreadReactions</a>#3223495b flags:<a href="/type/%23">#</a> peer:<a href="/type/InputPeer">InputPeer</a> top_msg_id:flags.0?<a href="/type/int">int</a> offset_id:<a href="/type/int">int</a> add_offset:<a href="/type/int">int</a> limit:<a href="/type/int">int</a> max_id:<a href="/type/int">int</a> min_id:<a href="/type/int">int</a> = <a href="/type/messages.Messages">messages.Messages</a>;
<a href="/method/messages.readReactions">messages.readReactions</a>#54aa7f8e flags:<a href="/type/%23">#</a> peer:<a href="/type/InputPeer">InputPeer</a> top_msg_id:flags.0?<a href="/type/int">int</a> = <a href="/type/messages.AffectedHistory">messages.AffectedHistory</a>;
<a href="/method/messages.requestWebView">messages.requestWebView</a>#178b480b flags:<a href="/type/%23">#</a> from_bot_menu:flags.4?<a href="/constructor/true">true</a> silent:flags.5?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> bot:<a href="/type/InputUser">InputUser</a> url:flags.1?<a href="/type/string">string</a> start_param:flags.3?<a href="/type/string">string</a> theme_params:flags.2?<a href="/type/DataJSON">DataJSON</a> platform:<a href="/type/string">string</a> reply_to_msg_id:flags.0?<a href="/type/int">int</a> top_msg_id:flags.9?<a href="/type/int">int</a> send_as:flags.13?<a href="/type/InputPeer">InputPeer</a> = <a href="/type/WebViewResult">WebViewResult</a>;
<a href="/method/messages.prolongWebView">messages.prolongWebView</a>#7ff34309 flags:<a href="/type/%23">#</a> silent:flags.5?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> bot:<a href="/type/InputUser">InputUser</a> query_id:<a href="/type/long">long</a> reply_to_msg_id:flags.0?<a href="/type/int">int</a> top_msg_id:flags.9?<a href="/type/int">int</a> send_as:flags.13?<a href="/type/InputPeer">InputPeer</a> = <a href="/type/Bool">Bool</a>;<br>
<a href="/method/account.reorderUsernames">account.reorderUsernames</a>#ef500eab order:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/string">string</a>&gt; = <a href="/type/Bool">Bool</a>;
<a href="/method/account.toggleUsername">account.toggleUsername</a>#58d6b376 username:<a href="/type/string">string</a> active:<a href="/type/Bool">Bool</a> = <a href="/type/Bool">Bool</a>;<br>
<a href="/method/channels.reorderUsernames">channels.reorderUsernames</a>#b45ced1d channel:<a href="/type/InputChannel">InputChannel</a> order:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/string">string</a>&gt; = <a href="/type/Bool">Bool</a>;
<a href="/method/channels.toggleUsername">channels.toggleUsername</a>#50f24105 channel:<a href="/type/InputChannel">InputChannel</a> username:<a href="/type/string">string</a> active:<a href="/type/Bool">Bool</a> = <a href="/type/Bool">Bool</a>;
<a href="/method/channels.deactivateAllUsernames">channels.deactivateAllUsernames</a>#0a245dd3 channel:<a href="/type/InputChannel">InputChannel</a> = <a href="/type/Bool">Bool</a>;
<a href="/method/channels.toggleForum">channels.toggleForum</a>#a4298b29 channel:<a href="/type/InputChannel">InputChannel</a> enabled:<a href="/type/Bool">Bool</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/channels.createForumTopic">channels.createForumTopic</a>#f40c0224 flags:<a href="/type/%23">#</a> channel:<a href="/type/InputChannel">InputChannel</a> title:<a href="/type/string">string</a> icon_color:flags.0?<a href="/type/int">int</a> icon_emoji_id:flags.3?<a href="/type/long">long</a> random_id:<a href="/type/long">long</a> send_as:flags.2?<a href="/type/InputPeer">InputPeer</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/channels.getForumTopics">channels.getForumTopics</a>#0de560d1 flags:<a href="/type/%23">#</a> channel:<a href="/type/InputChannel">InputChannel</a> q:flags.0?<a href="/type/string">string</a> offset_date:<a href="/type/int">int</a> offset_id:<a href="/type/int">int</a> offset_topic:<a href="/type/int">int</a> limit:<a href="/type/int">int</a> = <a href="/type/messages.ForumTopics">messages.ForumTopics</a>;
<a href="/method/channels.getForumTopicsByID">channels.getForumTopicsByID</a>#b0831eb9 channel:<a href="/type/InputChannel">InputChannel</a> topics:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; = <a href="/type/messages.ForumTopics">messages.ForumTopics</a>;
<a href="/method/channels.editForumTopic">channels.editForumTopic</a>#6c883e2d flags:<a href="/type/%23">#</a> channel:<a href="/type/InputChannel">InputChannel</a> topic_id:<a href="/type/int">int</a> title:flags.0?<a href="/type/string">string</a> icon_emoji_id:flags.1?<a href="/type/long">long</a> closed:flags.2?<a href="/type/Bool">Bool</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/channels.updatePinnedForumTopic">channels.updatePinnedForumTopic</a>#6c2d9026 channel:<a href="/type/InputChannel">InputChannel</a> topic_id:<a href="/type/int">int</a> pinned:<a href="/type/Bool">Bool</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/channels.deleteTopicHistory">channels.deleteTopicHistory</a>#34435f2d channel:<a href="/type/InputChannel">InputChannel</a> top_msg_id:<a href="/type/int">int</a> = <a href="/type/messages.AffectedHistory">messages.AffectedHistory</a>;<br></code></pre></div>
<h3><a class="anchor" href="#layer-147" id="layer-147" name="layer-147"><i class="anchor-icon"></i></a><a href="/schema?layer=147">Layer 147</a></h3>
<p>Keywords for custom emojis and non-mask stickers, web token authorization.</p>
<h4><a class="anchor" href="#schema-changes" id="schema-changes" name="schema-changes"><i class="anchor-icon"></i></a>Schema changes</h4>
<h5><a class="anchor" href="#new-methods" id="new-methods" name="new-methods"><i class="anchor-icon"></i></a>New Methods</h5>
<ul>
<li>Added <a href="/method/auth.importWebTokenAuthorization">auth.importWebTokenAuthorization</a> - Login by importing an authorization token</li>
</ul>
<h5><a class="anchor" href="#new-constructors" id="new-constructors" name="new-constructors"><i class="anchor-icon"></i></a>New Constructors</h5>
<ul>
<li>Added <a href="/constructor/stickerKeyword">stickerKeyword</a> - Keywords for a certain sticker</li>
</ul>
<h5><a class="anchor" href="#changed-constructors" id="changed-constructors" name="changed-constructors"><i class="anchor-icon"></i></a>Changed Constructors</h5>
<ul>
<li>Added <strong>keywords</strong> parameter in <a href="/constructor/messages.stickerSet">messages.stickerSet</a></li>
<li>Added <strong>keywords</strong> parameter in <a href="/constructor/stickerSetFullCovered">stickerSetFullCovered</a></li>
</ul>
<h4><a class="anchor" href="#schema" id="schema" name="schema"><i class="anchor-icon"></i></a>Schema</h4>
<div><pre><code><a href="/constructor/messages.stickerSet">messages.stickerSet</a>#6e153f16 set:<a href="/type/StickerSet">StickerSet</a> packs:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/StickerPack">StickerPack</a>&gt; keywords:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/StickerKeyword">StickerKeyword</a>&gt; documents:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Document">Document</a>&gt; = <a href="/type/messages.StickerSet">messages.StickerSet</a>;<br>
<a href="/constructor/stickerSetFullCovered">stickerSetFullCovered</a>#40d13c0e set:<a href="/type/StickerSet">StickerSet</a> packs:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/StickerPack">StickerPack</a>&gt; keywords:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/StickerKeyword">StickerKeyword</a>&gt; documents:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Document">Document</a>&gt; = <a href="/type/StickerSetCovered">StickerSetCovered</a>;
<a href="/constructor/stickerKeyword">stickerKeyword</a>#fcfeb29c document_id:<a href="/type/long">long</a> keyword:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/string">string</a>&gt; = <a href="/type/StickerKeyword">StickerKeyword</a>;<br>
---functions---<br>
<a href="/method/auth.importWebTokenAuthorization">auth.importWebTokenAuthorization</a>#2db873a9 api_id:<a href="/type/int">int</a> api_hash:<a href="/type/string">string</a> web_auth_token:<a href="/type/string">string</a> = <a href="/type/auth.Authorization">auth.Authorization</a>;<br></code></pre></div>
<h3><a class="anchor" href="#layer-146" id="layer-146" name="layer-146"><i class="anchor-icon"></i></a><a href="/schema?layer=146">Layer 146</a></h3>
<p>Scheduled replies to <a href="/api/scheduled-messages">scheduled messages</a>, accent colors for custom emojis.</p>
<h4><a class="anchor" href="#schema-changes" id="schema-changes" name="schema-changes"><i class="anchor-icon"></i></a>Schema changes</h4>
<h5><a class="anchor" href="#new-methods" id="new-methods" name="new-methods"><i class="anchor-icon"></i></a>New Methods</h5>
<ul>
<li>Added <a href="/method/messages.getExtendedMedia">messages.getExtendedMedia</a> - Get information about extended media</li>
</ul>
<h5><a class="anchor" href="#changed-methods" id="changed-methods" name="changed-methods"><i class="anchor-icon"></i></a>Changed Methods</h5>
<ul>
<li>Added <strong>emojis</strong>, <strong>text_color</strong> parameters in <a href="/method/stickers.createStickerSet">stickers.createStickerSet</a></li>
</ul>
<h5><a class="anchor" href="#new-constructors" id="new-constructors" name="new-constructors"><i class="anchor-icon"></i></a>New Constructors</h5>
<ul>
<li>Added <a href="/constructor/messageExtendedMediaPreview">messageExtendedMediaPreview</a> - Extended media preview</li>
<li>Added <a href="/constructor/messageExtendedMedia">messageExtendedMedia</a> - Extended media</li>
<li>Added <a href="/constructor/updateMessageExtendedMedia">updateMessageExtendedMedia</a> - Extended media update</li>
</ul>
<h5><a class="anchor" href="#changed-constructors" id="changed-constructors" name="changed-constructors"><i class="anchor-icon"></i></a>Changed Constructors</h5>
<ul>
<li>Added <strong>extended_media</strong> parameter in <a href="/constructor/inputMediaInvoice">inputMediaInvoice</a></li>
<li>Added <strong>extended_media</strong> parameter in <a href="/constructor/messageMediaInvoice">messageMediaInvoice</a></li>
<li>Added <strong>reply_to_scheduled</strong> parameter in <a href="/constructor/messageReplyHeader">messageReplyHeader</a></li>
<li>Added <strong>text_color</strong> parameter in <a href="/constructor/documentAttributeCustomEmoji">documentAttributeCustomEmoji</a></li>
<li>Added <strong>upgrade</strong> parameter in <a href="/constructor/inputStorePaymentPremiumSubscription">inputStorePaymentPremiumSubscription</a></li>
<li>Added <strong>current</strong>, <strong>can_purchase_upgrade</strong> parameters in <a href="/constructor/premiumSubscriptionOption">premiumSubscriptionOption</a></li>
</ul>
<h4><a class="anchor" href="#schema" id="schema" name="schema"><i class="anchor-icon"></i></a>Schema</h4>
<div><pre><code><a href="/constructor/inputMediaInvoice">inputMediaInvoice</a>#8eb5a6d5 flags:<a href="/type/%23">#</a> title:<a href="/type/string">string</a> description:<a href="/type/string">string</a> photo:flags.0?<a href="/type/InputWebDocument">InputWebDocument</a> invoice:<a href="/type/Invoice">Invoice</a> payload:<a href="/type/bytes">bytes</a> provider:<a href="/type/string">string</a> provider_data:<a href="/type/DataJSON">DataJSON</a> start_param:flags.1?<a href="/type/string">string</a> extended_media:flags.2?<a href="/type/InputMedia">InputMedia</a> = <a href="/type/InputMedia">InputMedia</a>;<br>
<a href="/constructor/messageMediaInvoice">messageMediaInvoice</a>#f6a548d3 flags:<a href="/type/%23">#</a> shipping_address_requested:flags.1?<a href="/constructor/true">true</a> test:flags.3?<a href="/constructor/true">true</a> title:<a href="/type/string">string</a> description:<a href="/type/string">string</a> photo:flags.0?<a href="/type/WebDocument">WebDocument</a> receipt_msg_id:flags.2?<a href="/type/int">int</a> currency:<a href="/type/string">string</a> total_amount:<a href="/type/long">long</a> start_param:<a href="/type/string">string</a> extended_media:flags.4?<a href="/type/MessageExtendedMedia">MessageExtendedMedia</a> = <a href="/type/MessageMedia">MessageMedia</a>;
<a href="/constructor/messageReplyHeader">messageReplyHeader</a>#a6d57763 flags:<a href="/type/%23">#</a> reply_to_scheduled:flags.2?<a href="/constructor/true">true</a> reply_to_msg_id:<a href="/type/int">int</a> reply_to_peer_id:flags.0?<a href="/type/Peer">Peer</a> reply_to_top_id:flags.1?<a href="/type/int">int</a> = <a href="/type/MessageReplyHeader">MessageReplyHeader</a>;<br>
<a href="/constructor/documentAttributeCustomEmoji">documentAttributeCustomEmoji</a>#fd149899 flags:<a href="/type/%23">#</a> free:flags.0?<a href="/constructor/true">true</a> text_color:flags.1?<a href="/constructor/true">true</a> alt:<a href="/type/string">string</a> stickerset:<a href="/type/InputStickerSet">InputStickerSet</a> = <a href="/type/DocumentAttribute">DocumentAttribute</a>;<br>
<a href="/constructor/inputStorePaymentPremiumSubscription">inputStorePaymentPremiumSubscription</a>#a6751e66 flags:<a href="/type/%23">#</a> restore:flags.0?<a href="/constructor/true">true</a> upgrade:flags.1?<a href="/constructor/true">true</a> = <a href="/type/InputStorePaymentPurpose">InputStorePaymentPurpose</a>;<br>
<a href="/constructor/premiumSubscriptionOption">premiumSubscriptionOption</a>#b6f11ebe flags:<a href="/type/%23">#</a> current:flags.1?<a href="/constructor/true">true</a> can_purchase_upgrade:flags.2?<a href="/constructor/true">true</a> months:<a href="/type/int">int</a> currency:<a href="/type/string">string</a> amount:<a href="/type/long">long</a> bot_url:<a href="/type/string">string</a> store_product:flags.0?<a href="/type/string">string</a> = <a href="/type/PremiumSubscriptionOption">PremiumSubscriptionOption</a>;<br>
<a href="/constructor/messageExtendedMediaPreview">messageExtendedMediaPreview</a>#ad628cc8 flags:<a href="/type/%23">#</a> w:flags.0?<a href="/type/int">int</a> h:flags.0?<a href="/type/int">int</a> thumb:flags.1?<a href="/type/PhotoSize">PhotoSize</a> video_duration:flags.2?<a href="/type/int">int</a> = <a href="/type/MessageExtendedMedia">MessageExtendedMedia</a>;
<a href="/constructor/messageExtendedMedia">messageExtendedMedia</a>#ee479c64 media:<a href="/type/MessageMedia">MessageMedia</a> = <a href="/type/MessageExtendedMedia">MessageExtendedMedia</a>;<br>
<a href="/constructor/updateMessageExtendedMedia">updateMessageExtendedMedia</a>#5a73a98c peer:<a href="/type/Peer">Peer</a> msg_id:<a href="/type/int">int</a> extended_media:<a href="/type/MessageExtendedMedia">MessageExtendedMedia</a> = <a href="/type/Update">Update</a>;<br>
---functions---<br>
<a href="/method/stickers.createStickerSet">stickers.createStickerSet</a>#9021ab67 flags:<a href="/type/%23">#</a> masks:flags.0?<a href="/constructor/true">true</a> animated:flags.1?<a href="/constructor/true">true</a> videos:flags.4?<a href="/constructor/true">true</a> emojis:flags.5?<a href="/constructor/true">true</a> text_color:flags.6?<a href="/constructor/true">true</a> user_id:<a href="/type/InputUser">InputUser</a> title:<a href="/type/string">string</a> short_name:<a href="/type/string">string</a> thumb:flags.2?<a href="/type/InputDocument">InputDocument</a> stickers:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InputStickerSetItem">InputStickerSetItem</a>&gt; software:flags.3?<a href="/type/string">string</a> = <a href="/type/messages.StickerSet">messages.StickerSet</a>;<br>
<a href="/method/messages.getExtendedMedia">messages.getExtendedMedia</a>#84f80814 peer:<a href="/type/InputPeer">InputPeer</a> id:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; = <a href="/type/Updates">Updates</a>;<br></code></pre></div>
<h3><a class="anchor" href="#layer-145" id="layer-145" name="layer-145"><i class="anchor-icon"></i></a><a href="/schema?layer=145">Layer 145</a></h3>
<p><a href="/api/emoji-status">Custom emoji statuses</a>, <a href="/api/reactions">custom emoji &amp; multiple message reactions</a>, <a href="/api/auth#email-verification">login via email</a>, <a href="/api/stickers#recent-stickersets">recent stickersets</a>, <a href="/api/premium">Telegram Premium</a> and <a href="/api/bots/webapps">bot mini app</a> improvements.</p>
<p>Added the following brand new documentation articles:</p>
<ul>
<li><a href="/api/links">Deep links</a></li>
<li><a href="/api/stickers">Stickers</a></li>
<li><a href="/api/themes">Themes</a></li>
<li><a href="/api/wallpapers">Wallpapers</a></li>
</ul>
<p>Also added more details on <a href="/api/entities#entity-length">entity length calculation</a> and <a href="/api/errors#406-not-acceptable"><code>AUTH_KEY_DUPLICATED</code> errors</a>.</p>
<p>The <a href="/api/errors#error-database">RPC error database »</a> was also updated.</p>
<h4><a class="anchor" href="#schema-changes" id="schema-changes" name="schema-changes"><i class="anchor-icon"></i></a>Schema changes</h4>
<h5><a class="anchor" href="#new-methods" id="new-methods" name="new-methods"><i class="anchor-icon"></i></a>New Methods</h5>
<ul>
<li>Added <a href="/method/account.updateEmojiStatus">account.updateEmojiStatus</a> - Set an <a href="/api/emoji-status">emoji status</a></li>
<li>Added <a href="/method/account.getDefaultEmojiStatuses">account.getDefaultEmojiStatuses</a> - Get a list of default suggested <a href="/api/emoji-status">emoji statuses</a></li>
<li>Added <a href="/method/account.getRecentEmojiStatuses">account.getRecentEmojiStatuses</a> - Get recently used <a href="/api/emoji-status">emoji statuses</a></li>
<li>Added <a href="/method/account.clearRecentEmojiStatuses">account.clearRecentEmojiStatuses</a> - Clears list of recently used <a href="/api/emoji-status">emoji statuses</a></li>
<li>Added <a href="/method/messages.reportReaction">messages.reportReaction</a> - Report a <a href="/api/reactions">message reaction</a></li>
<li>Added <a href="/method/messages.getTopReactions">messages.getTopReactions</a> - Got popular <a href="/api/reactions">message reactions</a></li>
<li>Added <a href="/method/messages.getRecentReactions">messages.getRecentReactions</a> - Get recently used <a href="/api/reactions">message reactions</a></li>
<li>Added <a href="/method/messages.clearRecentReactions">messages.clearRecentReactions</a> - Clear recently used <a href="/api/reactions">message reactions</a></li>
</ul>
<h5><a class="anchor" href="#changed-methods" id="changed-methods" name="changed-methods"><i class="anchor-icon"></i></a>Changed Methods</h5>
<ul>
<li>Added <strong>flags</strong>, <strong>email_verification</strong> parameters, changed type of <strong>phone_code</strong> from <strong>string</strong> to <strong>flags.0?string</strong> in <a href="/method/auth.signIn">auth.signIn</a></li>
<li>Added <strong>update_stickersets_order</strong> parameter in <a href="/method/messages.sendMessage">messages.sendMessage</a></li>
<li>Added <strong>update_stickersets_order</strong> parameter in <a href="/method/messages.sendMedia">messages.sendMedia</a></li>
<li>Added <strong>update_stickersets_order</strong> parameter in <a href="/method/messages.sendMultiMedia">messages.sendMultiMedia</a></li>
<li>Added <strong>purpose</strong> parameter in <a href="/method/account.sendVerifyEmailCode">account.sendVerifyEmailCode</a></li>
<li>Changed type of <a href="/method/account.verifyEmail">account.verifyEmail</a> from <strong>Bool</strong> to <strong>account.EmailVerified</strong></li>
<li>Added <strong>purpose</strong>, <strong>verification</strong> parameters, removed <strong>email</strong>, <strong>code</strong> parameters in <a href="/method/account.verifyEmail">account.verifyEmail</a></li>
<li>Added <strong>add_to_recent</strong> parameter, changed type of <strong>reaction</strong> from <strong>flags.0?string</strong> to <strong>flags.0?Vector&lt;Reaction&gt;</strong> in <a href="/method/messages.sendReaction">messages.sendReaction</a></li>
<li>Changed type of <strong>reaction</strong> from <strong>flags.0?string</strong> to <strong>flags.0?Reaction</strong> in <a href="/method/messages.getMessageReactionsList">messages.getMessageReactionsList</a></li>
<li>Changed type of <strong>available_reactions</strong> from <strong>Vector&lt;string&gt;</strong> to <strong>ChatReactions</strong> in <a href="/method/messages.setChatAvailableReactions">messages.setChatAvailableReactions</a></li>
<li>Changed type of <strong>reaction</strong> from <strong>string</strong> to <strong>Reaction</strong> in <a href="/method/messages.setDefaultReaction">messages.setDefaultReaction</a></li>
<li>Added <strong>platform</strong> parameter in <a href="/method/messages.requestWebView">messages.requestWebView</a></li>
<li>Added <strong>platform</strong> parameter in <a href="/method/messages.requestSimpleWebView">messages.requestSimpleWebView</a></li>
</ul>
<h5><a class="anchor" href="#new-constructors" id="new-constructors" name="new-constructors"><i class="anchor-icon"></i></a>New Constructors</h5>
<ul>
<li>Added <a href="/constructor/emojiStatusEmpty">emojiStatusEmpty</a> - No emoji status is set</li>
<li>Added <a href="/constructor/emojiStatus">emojiStatus</a> - An <a href="/api/emoji-status">emoji status</a></li>
<li>Added <a href="/constructor/emojiStatusUntil">emojiStatusUntil</a> - An <a href="/api/emoji-status">emoji status</a> valid until the specified date</li>
<li>Added <a href="/constructor/updateUserEmojiStatus">updateUserEmojiStatus</a> - The <a href="/api/emoji-status">emoji status</a> of a certain user has changed</li>
<li>Added <a href="/constructor/updateRecentEmojiStatuses">updateRecentEmojiStatuses</a> - The list of recent <a href="/api/emoji-status">emoji statuses</a> has changed</li>
<li>Added <a href="/constructor/account.emojiStatusesNotModified">account.emojiStatusesNotModified</a> - The server-side list of <a href="/api/emoji-status">emoji statuses</a> hasn't changed</li>
<li>Added <a href="/constructor/account.emojiStatuses">account.emojiStatuses</a> - A list of <a href="/api/emoji-status">emoji statuses</a></li>
<li>Added <a href="/constructor/reactionEmpty">reactionEmpty</a> - No reaction</li>
<li>Added <a href="/constructor/reactionEmoji">reactionEmoji</a> - Normal emoji message reaction</li>
<li>Added <a href="/constructor/reactionCustomEmoji">reactionCustomEmoji</a> - <a href="/api/custom-emoji">Custom emoji</a> message reaction</li>
<li>Added <a href="/constructor/chatReactionsNone">chatReactionsNone</a> - No reactions are allowed</li>
<li>Added <a href="/constructor/chatReactionsAll">chatReactionsAll</a> - All reactions or all non-custom reactions are allowed</li>
<li>Added <a href="/constructor/chatReactionsSome">chatReactionsSome</a> - Some reactions are allowed</li>
<li>Added <a href="/constructor/messages.reactionsNotModified">messages.reactionsNotModified</a> - The server-side list of <a href="/api/reactions">message reactions</a> hasn't changed</li>
<li>Added <a href="/constructor/messages.reactions">messages.reactions</a> - List of <a href="/api/reactions">message reactions</a></li>
<li>Added <a href="/constructor/updateRecentReactions">updateRecentReactions</a> - The list of recent <a href="/api/reactions">message reactions</a> has changed</li>
<li>Added <a href="/constructor/updateMoveStickerSetToTop">updateMoveStickerSetToTop</a> - A stickerset was just moved to top, <a href="/api/stickers#recent-stickersets">see here for more info »</a></li>
<li>Added <a href="/constructor/auth.sentCodeTypeEmailCode">auth.sentCodeTypeEmailCode</a> - The code was sent via the <a href="/api/auth#email-verification">previously configured login email »</a></li>
<li>Added <a href="/constructor/auth.sentCodeTypeSetUpEmailRequired">auth.sentCodeTypeSetUpEmailRequired</a> - The user should add and verify an email address in order to login as described <a href="/api/auth#email-verification">here »</a>.</li>
<li>Added <a href="/constructor/emailVerifyPurposeLoginSetup">emailVerifyPurposeLoginSetup</a> - Email verification purpose: setup login email</li>
<li>Added <a href="/constructor/emailVerifyPurposeLoginChange">emailVerifyPurposeLoginChange</a> - Email verification purpose: change login email</li>
<li>Added <a href="/constructor/emailVerifyPurposePassport">emailVerifyPurposePassport</a> - Verify an email for use in <a href="/api/passport">telegram passport</a></li>
<li>Added <a href="/constructor/emailVerificationCode">emailVerificationCode</a> - Email verification code</li>
<li>Added <a href="/constructor/emailVerificationGoogle">emailVerificationGoogle</a> - Google ID email verification token</li>
<li>Added <a href="/constructor/emailVerificationApple">emailVerificationApple</a> - Apple ID email verification token</li>
<li>Added <a href="/constructor/account.emailVerified">account.emailVerified</a> - The email was verified correctly.</li>
<li>Added <a href="/constructor/account.emailVerifiedLogin">account.emailVerifiedLogin</a> - The email was verified correctly, and a login code was just sent to it.</li>
<li>Added <a href="/constructor/premiumSubscriptionOption">premiumSubscriptionOption</a> - Describes a Telegram Premium subscription option</li>
<li>Added <a href="/constructor/inputStickerSetEmojiGenericAnimations">inputStickerSetEmojiGenericAnimations</a> - Generic animation stickerset containing animations to play when <a href="/api/reactions">reacting to messages using a normal emoji without a custom animation</a></li>
<li>Added <a href="/constructor/inputStickerSetEmojiDefaultStatuses">inputStickerSetEmojiDefaultStatuses</a> - Default <a href="/api/emoji-status">custom emoji status</a> stickerset</li>
<li>Added <a href="/constructor/sendAsPeer">sendAsPeer</a> - Indicates a peer that can be used to send messages</li>
</ul>
<h5><a class="anchor" href="#changed-constructors" id="changed-constructors" name="changed-constructors"><i class="anchor-icon"></i></a>Changed Constructors</h5>
<ul>
<li>Changed type of <strong>available_reactions</strong> from <strong>flags.18?Vector&lt;string&gt;</strong> to <strong>flags.18?ChatReactions</strong> in <a href="/constructor/chatFull">chatFull</a></li>
<li>Added <strong>reactions_default</strong> parameter in <a href="/constructor/config">config</a></li>
<li>Added <strong>login_email_pattern</strong> parameter in <a href="/constructor/account.password">account.password</a></li>
<li>Added <strong>emoji_status</strong> parameter in <a href="/constructor/user">user</a></li>
<li>Changed type of <strong>available_reactions</strong> from <strong>flags.30?Vector&lt;string&gt;</strong> to <strong>flags.30?ChatReactions</strong> in <a href="/constructor/channelFull">channelFull</a></li>
<li>Added <strong>flags</strong>, <strong>masks</strong>, <strong>emojis</strong> parameters in <a href="/constructor/updateStickerSets">updateStickerSets</a></li>
<li>Changed type of <strong>peers</strong> from <strong>Vector&lt;Peer&gt;</strong> to <strong>Vector&lt;SendAsPeer&gt;</strong> in <a href="/constructor/channels.sendAsPeers">channels.sendAsPeers</a></li>
<li>Added <strong>chosen_order</strong> parameter, removed <strong>chosen</strong> parameter, changed type of <strong>reaction</strong> from <strong>string</strong> to <strong>Reaction</strong> in <a href="/constructor/reactionCount">reactionCount</a></li>
<li>Changed type of <strong>prev_value</strong> from <strong>Vector&lt;string&gt;</strong> to <strong>ChatReactions</strong>, <strong>new_value</strong> from <strong>Vector&lt;string&gt;</strong> to <strong>ChatReactions</strong> in <a href="/constructor/channelAdminLogEventActionChangeAvailableReactions">channelAdminLogEventActionChangeAvailableReactions</a></li>
<li>Changed type of <strong>reaction</strong> from <strong>string</strong> to <strong>Reaction</strong> in <a href="/constructor/messagePeerReaction">messagePeerReaction</a></li>
<li>Added <strong>period_options</strong> parameter, removed <strong>currency</strong>, <strong>monthly_amount</strong> parameters in <a href="/constructor/help.premiumPromo">help.premiumPromo</a></li>
</ul>
<h4><a class="anchor" href="#schema" id="schema" name="schema"><i class="anchor-icon"></i></a>Schema</h4>
<div><pre><code><a href="/constructor/chatFull">chatFull</a>#c9d31138 flags:<a href="/type/%23">#</a> can_set_username:flags.7?<a href="/constructor/true">true</a> has_scheduled:flags.8?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> about:<a href="/type/string">string</a> participants:<a href="/type/ChatParticipants">ChatParticipants</a> chat_photo:flags.2?<a href="/type/Photo">Photo</a> notify_settings:<a href="/type/PeerNotifySettings">PeerNotifySettings</a> exported_invite:flags.13?<a href="/type/ExportedChatInvite">ExportedChatInvite</a> bot_info:flags.3?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/BotInfo">BotInfo</a>&gt; pinned_msg_id:flags.6?<a href="/type/int">int</a> folder_id:flags.11?<a href="/type/int">int</a> call:flags.12?<a href="/type/InputGroupCall">InputGroupCall</a> ttl_period:flags.14?<a href="/type/int">int</a> groupcall_default_join_as:flags.15?<a href="/type/Peer">Peer</a> theme_emoticon:flags.16?<a href="/type/string">string</a> requests_pending:flags.17?<a href="/type/int">int</a> recent_requesters:flags.17?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/long">long</a>&gt; available_reactions:flags.18?<a href="/type/ChatReactions">ChatReactions</a> = <a href="/type/ChatFull">ChatFull</a>;
<a href="/constructor/config">config</a>#232566ac flags:<a href="/type/%23">#</a> phonecalls_enabled:flags.1?<a href="/constructor/true">true</a> default_p2p_contacts:flags.3?<a href="/constructor/true">true</a> preload_featured_stickers:flags.4?<a href="/constructor/true">true</a> ignore_phone_entities:flags.5?<a href="/constructor/true">true</a> revoke_pm_inbox:flags.6?<a href="/constructor/true">true</a> blocked_mode:flags.8?<a href="/constructor/true">true</a> pfs_enabled:flags.13?<a href="/constructor/true">true</a> force_try_ipv6:flags.14?<a href="/constructor/true">true</a> date:<a href="/type/int">int</a> expires:<a href="/type/int">int</a> test_mode:<a href="/type/Bool">Bool</a> this_dc:<a href="/type/int">int</a> dc_options:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/DcOption">DcOption</a>&gt; dc_txt_domain_name:<a href="/type/string">string</a> chat_size_max:<a href="/type/int">int</a> megagroup_size_max:<a href="/type/int">int</a> forwarded_count_max:<a href="/type/int">int</a> online_update_period_ms:<a href="/type/int">int</a> offline_blur_timeout_ms:<a href="/type/int">int</a> offline_idle_timeout_ms:<a href="/type/int">int</a> online_cloud_timeout_ms:<a href="/type/int">int</a> notify_cloud_delay_ms:<a href="/type/int">int</a> notify_default_delay_ms:<a href="/type/int">int</a> push_chat_period_ms:<a href="/type/int">int</a> push_chat_limit:<a href="/type/int">int</a> saved_gifs_limit:<a href="/type/int">int</a> edit_time_limit:<a href="/type/int">int</a> revoke_time_limit:<a href="/type/int">int</a> revoke_pm_time_limit:<a href="/type/int">int</a> rating_e_decay:<a href="/type/int">int</a> stickers_recent_limit:<a href="/type/int">int</a> stickers_faved_limit:<a href="/type/int">int</a> channels_read_media_period:<a href="/type/int">int</a> tmp_sessions:flags.0?<a href="/type/int">int</a> pinned_dialogs_count_max:<a href="/type/int">int</a> pinned_infolder_count_max:<a href="/type/int">int</a> call_receive_timeout_ms:<a href="/type/int">int</a> call_ring_timeout_ms:<a href="/type/int">int</a> call_connect_timeout_ms:<a href="/type/int">int</a> call_packet_timeout_ms:<a href="/type/int">int</a> me_url_prefix:<a href="/type/string">string</a> autoupdate_url_prefix:flags.7?<a href="/type/string">string</a> gif_search_username:flags.9?<a href="/type/string">string</a> venue_search_username:flags.10?<a href="/type/string">string</a> img_search_username:flags.11?<a href="/type/string">string</a> static_maps_provider:flags.12?<a href="/type/string">string</a> caption_length_max:<a href="/type/int">int</a> message_length_max:<a href="/type/int">int</a> webfile_dc_id:<a href="/type/int">int</a> suggested_lang_code:flags.2?<a href="/type/string">string</a> lang_pack_version:flags.2?<a href="/type/int">int</a> base_lang_pack_version:flags.2?<a href="/type/int">int</a> reactions_default:flags.15?<a href="/type/Reaction">Reaction</a> = <a href="/type/Config">Config</a>;<br>
<a href="/constructor/account.password">account.password</a>#957b50fb flags:<a href="/type/%23">#</a> has_recovery:flags.0?<a href="/constructor/true">true</a> has_secure_values:flags.1?<a href="/constructor/true">true</a> has_password:flags.2?<a href="/constructor/true">true</a> current_algo:flags.2?<a href="/type/PasswordKdfAlgo">PasswordKdfAlgo</a> srp_B:flags.2?<a href="/type/bytes">bytes</a> srp_id:flags.2?<a href="/type/long">long</a> hint:flags.3?<a href="/type/string">string</a> email_unconfirmed_pattern:flags.4?<a href="/type/string">string</a> new_algo:<a href="/type/PasswordKdfAlgo">PasswordKdfAlgo</a> new_secure_algo:<a href="/type/SecurePasswordKdfAlgo">SecurePasswordKdfAlgo</a> secure_random:<a href="/type/bytes">bytes</a> pending_reset_date:flags.5?<a href="/type/int">int</a> login_email_pattern:flags.6?<a href="/type/string">string</a> = <a href="/type/account.Password">account.Password</a>;<br>
<a href="/constructor/user">user</a>#5d99adee flags:<a href="/type/%23">#</a> self:flags.10?<a href="/constructor/true">true</a> contact:flags.11?<a href="/constructor/true">true</a> mutual_contact:flags.12?<a href="/constructor/true">true</a> deleted:flags.13?<a href="/constructor/true">true</a> bot:flags.14?<a href="/constructor/true">true</a> bot_chat_history:flags.15?<a href="/constructor/true">true</a> bot_nochats:flags.16?<a href="/constructor/true">true</a> verified:flags.17?<a href="/constructor/true">true</a> restricted:flags.18?<a href="/constructor/true">true</a> min:flags.20?<a href="/constructor/true">true</a> bot_inline_geo:flags.21?<a href="/constructor/true">true</a> support:flags.23?<a href="/constructor/true">true</a> scam:flags.24?<a href="/constructor/true">true</a> apply_min_photo:flags.25?<a href="/constructor/true">true</a> fake:flags.26?<a href="/constructor/true">true</a> bot_attach_menu:flags.27?<a href="/constructor/true">true</a> premium:flags.28?<a href="/constructor/true">true</a> attach_menu_enabled:flags.29?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> access_hash:flags.0?<a href="/type/long">long</a> first_name:flags.1?<a href="/type/string">string</a> last_name:flags.2?<a href="/type/string">string</a> username:flags.3?<a href="/type/string">string</a> phone:flags.4?<a href="/type/string">string</a> photo:flags.5?<a href="/type/UserProfilePhoto">UserProfilePhoto</a> status:flags.6?<a href="/type/UserStatus">UserStatus</a> bot_info_version:flags.14?<a href="/type/int">int</a> restriction_reason:flags.18?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/RestrictionReason">RestrictionReason</a>&gt; bot_inline_placeholder:flags.19?<a href="/type/string">string</a> lang_code:flags.22?<a href="/type/string">string</a> emoji_status:flags.30?<a href="/type/EmojiStatus">EmojiStatus</a> = <a href="/type/User">User</a>;<br>
<a href="/constructor/channelFull">channelFull</a>#f2355507 flags:<a href="/type/%23">#</a> can_view_participants:flags.3?<a href="/constructor/true">true</a> can_set_username:flags.6?<a href="/constructor/true">true</a> can_set_stickers:flags.7?<a href="/constructor/true">true</a> hidden_prehistory:flags.10?<a href="/constructor/true">true</a> can_set_location:flags.16?<a href="/constructor/true">true</a> has_scheduled:flags.19?<a href="/constructor/true">true</a> can_view_stats:flags.20?<a href="/constructor/true">true</a> blocked:flags.22?<a href="/constructor/true">true</a> flags2:<a href="/type/%23">#</a> can_delete_channel:flags2.0?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> about:<a href="/type/string">string</a> participants_count:flags.0?<a href="/type/int">int</a> admins_count:flags.1?<a href="/type/int">int</a> kicked_count:flags.2?<a href="/type/int">int</a> banned_count:flags.2?<a href="/type/int">int</a> online_count:flags.13?<a href="/type/int">int</a> read_inbox_max_id:<a href="/type/int">int</a> read_outbox_max_id:<a href="/type/int">int</a> unread_count:<a href="/type/int">int</a> chat_photo:<a href="/type/Photo">Photo</a> notify_settings:<a href="/type/PeerNotifySettings">PeerNotifySettings</a> exported_invite:flags.23?<a href="/type/ExportedChatInvite">ExportedChatInvite</a> bot_info:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/BotInfo">BotInfo</a>&gt; migrated_from_chat_id:flags.4?<a href="/type/long">long</a> migrated_from_max_id:flags.4?<a href="/type/int">int</a> pinned_msg_id:flags.5?<a href="/type/int">int</a> stickerset:flags.8?<a href="/type/StickerSet">StickerSet</a> available_min_id:flags.9?<a href="/type/int">int</a> folder_id:flags.11?<a href="/type/int">int</a> linked_chat_id:flags.14?<a href="/type/long">long</a> location:flags.15?<a href="/type/ChannelLocation">ChannelLocation</a> slowmode_seconds:flags.17?<a href="/type/int">int</a> slowmode_next_send_date:flags.18?<a href="/type/int">int</a> stats_dc:flags.12?<a href="/type/int">int</a> pts:<a href="/type/int">int</a> call:flags.21?<a href="/type/InputGroupCall">InputGroupCall</a> ttl_period:flags.24?<a href="/type/int">int</a> pending_suggestions:flags.25?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/string">string</a>&gt; groupcall_default_join_as:flags.26?<a href="/type/Peer">Peer</a> theme_emoticon:flags.27?<a href="/type/string">string</a> requests_pending:flags.28?<a href="/type/int">int</a> recent_requesters:flags.28?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/long">long</a>&gt; default_send_as:flags.29?<a href="/type/Peer">Peer</a> available_reactions:flags.30?<a href="/type/ChatReactions">ChatReactions</a> = <a href="/type/ChatFull">ChatFull</a>;<br>
<a href="/constructor/updateStickerSets">updateStickerSets</a>#31c24808 flags:<a href="/type/%23">#</a> masks:flags.0?<a href="/constructor/true">true</a> emojis:flags.1?<a href="/constructor/true">true</a> = <a href="/type/Update">Update</a>;<br>
<a href="/constructor/channels.sendAsPeers">channels.sendAsPeers</a>#f496b0c6 peers:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/SendAsPeer">SendAsPeer</a>&gt; chats:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Chat">Chat</a>&gt; users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; = <a href="/type/channels.SendAsPeers">channels.SendAsPeers</a>;<br>
<a href="/constructor/reactionCount">reactionCount</a>#a3d1cb80 flags:<a href="/type/%23">#</a> chosen_order:flags.0?<a href="/type/int">int</a> reaction:<a href="/type/Reaction">Reaction</a> count:<a href="/type/int">int</a> = <a href="/type/ReactionCount">ReactionCount</a>;<br>
<a href="/constructor/channelAdminLogEventActionChangeAvailableReactions">channelAdminLogEventActionChangeAvailableReactions</a>#be4e0ef8 prev_value:<a href="/type/ChatReactions">ChatReactions</a> new_value:<a href="/type/ChatReactions">ChatReactions</a> = <a href="/type/ChannelAdminLogEventAction">ChannelAdminLogEventAction</a>;<br>
<a href="/constructor/messagePeerReaction">messagePeerReaction</a>#b156fe9c flags:<a href="/type/%23">#</a> big:flags.0?<a href="/constructor/true">true</a> unread:flags.1?<a href="/constructor/true">true</a> peer_id:<a href="/type/Peer">Peer</a> reaction:<a href="/type/Reaction">Reaction</a> = <a href="/type/MessagePeerReaction">MessagePeerReaction</a>;<br>
<a href="/constructor/help.premiumPromo">help.premiumPromo</a>#5334759c status_text:<a href="/type/string">string</a> status_entities:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; video_sections:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/string">string</a>&gt; videos:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Document">Document</a>&gt; period_options:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/PremiumSubscriptionOption">PremiumSubscriptionOption</a>&gt; users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; = <a href="/type/help.PremiumPromo">help.PremiumPromo</a>;<br>
<a href="/constructor/emojiStatusEmpty">emojiStatusEmpty</a>#2de11aae = <a href="/type/EmojiStatus">EmojiStatus</a>;
<a href="/constructor/emojiStatus">emojiStatus</a>#929b619d document_id:<a href="/type/long">long</a> = <a href="/type/EmojiStatus">EmojiStatus</a>;
<a href="/constructor/emojiStatusUntil">emojiStatusUntil</a>#fa30a8c7 document_id:<a href="/type/long">long</a> until:<a href="/type/int">int</a> = <a href="/type/EmojiStatus">EmojiStatus</a>;<br>
<a href="/constructor/updateUserEmojiStatus">updateUserEmojiStatus</a>#28373599 user_id:<a href="/type/long">long</a> emoji_status:<a href="/type/EmojiStatus">EmojiStatus</a> = <a href="/type/Update">Update</a>;
<a href="/constructor/updateRecentEmojiStatuses">updateRecentEmojiStatuses</a>#30f443db = <a href="/type/Update">Update</a>;<br>
<a href="/constructor/account.emojiStatusesNotModified">account.emojiStatusesNotModified</a>#d08ce645 = <a href="/type/account.EmojiStatuses">account.EmojiStatuses</a>;
<a href="/constructor/account.emojiStatuses">account.emojiStatuses</a>#90c467d1 hash:<a href="/type/long">long</a> statuses:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/EmojiStatus">EmojiStatus</a>&gt; = <a href="/type/account.EmojiStatuses">account.EmojiStatuses</a>;<br>
<a href="/constructor/reactionEmpty">reactionEmpty</a>#79f5d419 = <a href="/type/Reaction">Reaction</a>;
<a href="/constructor/reactionEmoji">reactionEmoji</a>#1b2286b8 emoticon:<a href="/type/string">string</a> = <a href="/type/Reaction">Reaction</a>;
<a href="/constructor/reactionCustomEmoji">reactionCustomEmoji</a>#8935fc73 document_id:<a href="/type/long">long</a> = <a href="/type/Reaction">Reaction</a>;<br>
<a href="/constructor/chatReactionsNone">chatReactionsNone</a>#eafc32bc = <a href="/type/ChatReactions">ChatReactions</a>;
<a href="/constructor/chatReactionsAll">chatReactionsAll</a>#52928bca flags:<a href="/type/%23">#</a> allow_custom:flags.0?<a href="/constructor/true">true</a> = <a href="/type/ChatReactions">ChatReactions</a>;
<a href="/constructor/chatReactionsSome">chatReactionsSome</a>#661d4037 reactions:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Reaction">Reaction</a>&gt; = <a href="/type/ChatReactions">ChatReactions</a>;<br>
<a href="/constructor/messages.reactionsNotModified">messages.reactionsNotModified</a>#b06fdbdf = <a href="/type/messages.Reactions">messages.Reactions</a>;
<a href="/constructor/messages.reactions">messages.reactions</a>#eafdf716 hash:<a href="/type/long">long</a> reactions:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Reaction">Reaction</a>&gt; = <a href="/type/messages.Reactions">messages.Reactions</a>;<br>
<a href="/constructor/updateRecentReactions">updateRecentReactions</a>#6f7863f4 = <a href="/type/Update">Update</a>;
<a href="/constructor/updateMoveStickerSetToTop">updateMoveStickerSetToTop</a>#86fccf85 flags:<a href="/type/%23">#</a> masks:flags.0?<a href="/constructor/true">true</a> emojis:flags.1?<a href="/constructor/true">true</a> stickerset:<a href="/type/long">long</a> = <a href="/type/Update">Update</a>;<br>
<a href="/constructor/auth.sentCodeTypeEmailCode">auth.sentCodeTypeEmailCode</a>#5a159841 flags:<a href="/type/%23">#</a> apple_signin_allowed:flags.0?<a href="/constructor/true">true</a> google_signin_allowed:flags.1?<a href="/constructor/true">true</a> email_pattern:<a href="/type/string">string</a> length:<a href="/type/int">int</a> next_phone_login_date:flags.2?<a href="/type/int">int</a> = <a href="/type/auth.SentCodeType">auth.SentCodeType</a>;
<a href="/constructor/auth.sentCodeTypeSetUpEmailRequired">auth.sentCodeTypeSetUpEmailRequired</a>#a5491dea flags:<a href="/type/%23">#</a> apple_signin_allowed:flags.0?<a href="/constructor/true">true</a> google_signin_allowed:flags.1?<a href="/constructor/true">true</a> = <a href="/type/auth.SentCodeType">auth.SentCodeType</a>;<br>
<a href="/constructor/emailVerifyPurposeLoginSetup">emailVerifyPurposeLoginSetup</a>#4345be73 phone_number:<a href="/type/string">string</a> phone_code_hash:<a href="/type/string">string</a> = <a href="/type/EmailVerifyPurpose">EmailVerifyPurpose</a>;
<a href="/constructor/emailVerifyPurposeLoginChange">emailVerifyPurposeLoginChange</a>#527d22eb = <a href="/type/EmailVerifyPurpose">EmailVerifyPurpose</a>;
<a href="/constructor/emailVerifyPurposePassport">emailVerifyPurposePassport</a>#bbf51685 = <a href="/type/EmailVerifyPurpose">EmailVerifyPurpose</a>;
<a href="/constructor/emailVerificationCode">emailVerificationCode</a>#922e55a9 code:<a href="/type/string">string</a> = <a href="/type/EmailVerification">EmailVerification</a>;
<a href="/constructor/emailVerificationGoogle">emailVerificationGoogle</a>#db909ec2 token:<a href="/type/string">string</a> = <a href="/type/EmailVerification">EmailVerification</a>;
<a href="/constructor/emailVerificationApple">emailVerificationApple</a>#96d074fd token:<a href="/type/string">string</a> = <a href="/type/EmailVerification">EmailVerification</a>;<br>
<a href="/constructor/account.emailVerified">account.emailVerified</a>#2b96cd1b email:<a href="/type/string">string</a> = <a href="/type/account.EmailVerified">account.EmailVerified</a>;
<a href="/constructor/account.emailVerifiedLogin">account.emailVerifiedLogin</a>#e1bb0d61 email:<a href="/type/string">string</a> sent_code:<a href="/type/auth.SentCode">auth.SentCode</a> = <a href="/type/account.EmailVerified">account.EmailVerified</a>;<br>
<a href="/constructor/premiumSubscriptionOption">premiumSubscriptionOption</a>#b6f11ebe flags:<a href="/type/%23">#</a> months:<a href="/type/int">int</a> currency:<a href="/type/string">string</a> amount:<a href="/type/long">long</a> bot_url:<a href="/type/string">string</a> store_product:flags.0?<a href="/type/string">string</a> = <a href="/type/PremiumSubscriptionOption">PremiumSubscriptionOption</a>;<br>
<a href="/constructor/inputStickerSetEmojiGenericAnimations">inputStickerSetEmojiGenericAnimations</a>#04c4d4ce = <a href="/type/InputStickerSet">InputStickerSet</a>;
<a href="/constructor/inputStickerSetEmojiDefaultStatuses">inputStickerSetEmojiDefaultStatuses</a>#29d0f5ee = <a href="/type/InputStickerSet">InputStickerSet</a>;<br>
<a href="/constructor/sendAsPeer">sendAsPeer</a>#b81c7034 flags:<a href="/type/%23">#</a> premium_required:flags.0?<a href="/constructor/true">true</a> peer:<a href="/type/Peer">Peer</a> = <a href="/type/SendAsPeer">SendAsPeer</a>;<br>
---functions---<br>
<a href="/method/auth.signIn">auth.signIn</a>#8d52a951 flags:<a href="/type/%23">#</a> phone_number:<a href="/type/string">string</a> phone_code_hash:<a href="/type/string">string</a> phone_code:flags.0?<a href="/type/string">string</a> email_verification:flags.1?<a href="/type/EmailVerification">EmailVerification</a> = <a href="/type/auth.Authorization">auth.Authorization</a>;<br>
<a href="/method/messages.sendMessage">messages.sendMessage</a>#0d9d75a4 flags:<a href="/type/%23">#</a> no_webpage:flags.1?<a href="/constructor/true">true</a> silent:flags.5?<a href="/constructor/true">true</a> background:flags.6?<a href="/constructor/true">true</a> clear_draft:flags.7?<a href="/constructor/true">true</a> noforwards:flags.14?<a href="/constructor/true">true</a> update_stickersets_order:flags.15?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> reply_to_msg_id:flags.0?<a href="/type/int">int</a> message:<a href="/type/string">string</a> random_id:<a href="/type/long">long</a> reply_markup:flags.2?<a href="/type/ReplyMarkup">ReplyMarkup</a> entities:flags.3?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; schedule_date:flags.10?<a href="/type/int">int</a> send_as:flags.13?<a href="/type/InputPeer">InputPeer</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/messages.sendMedia">messages.sendMedia</a>#e25ff8e0 flags:<a href="/type/%23">#</a> silent:flags.5?<a href="/constructor/true">true</a> background:flags.6?<a href="/constructor/true">true</a> clear_draft:flags.7?<a href="/constructor/true">true</a> noforwards:flags.14?<a href="/constructor/true">true</a> update_stickersets_order:flags.15?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> reply_to_msg_id:flags.0?<a href="/type/int">int</a> media:<a href="/type/InputMedia">InputMedia</a> message:<a href="/type/string">string</a> random_id:<a href="/type/long">long</a> reply_markup:flags.2?<a href="/type/ReplyMarkup">ReplyMarkup</a> entities:flags.3?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; schedule_date:flags.10?<a href="/type/int">int</a> send_as:flags.13?<a href="/type/InputPeer">InputPeer</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/messages.sendMultiMedia">messages.sendMultiMedia</a>#f803138f flags:<a href="/type/%23">#</a> silent:flags.5?<a href="/constructor/true">true</a> background:flags.6?<a href="/constructor/true">true</a> clear_draft:flags.7?<a href="/constructor/true">true</a> noforwards:flags.14?<a href="/constructor/true">true</a> update_stickersets_order:flags.15?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> reply_to_msg_id:flags.0?<a href="/type/int">int</a> multi_media:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InputSingleMedia">InputSingleMedia</a>&gt; schedule_date:flags.10?<a href="/type/int">int</a> send_as:flags.13?<a href="/type/InputPeer">InputPeer</a> = <a href="/type/Updates">Updates</a>;<br>
<a href="/method/account.sendVerifyEmailCode">account.sendVerifyEmailCode</a>#98e037bb purpose:<a href="/type/EmailVerifyPurpose">EmailVerifyPurpose</a> email:<a href="/type/string">string</a> = <a href="/type/account.SentEmailCode">account.SentEmailCode</a>;
<a href="/method/account.verifyEmail">account.verifyEmail</a>#032da4cf purpose:<a href="/type/EmailVerifyPurpose">EmailVerifyPurpose</a> verification:<a href="/type/EmailVerification">EmailVerification</a> = <a href="/type/account.EmailVerified">account.EmailVerified</a>;<br>
<a href="/method/messages.sendReaction">messages.sendReaction</a>#d30d78d4 flags:<a href="/type/%23">#</a> big:flags.1?<a href="/constructor/true">true</a> add_to_recent:flags.2?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> msg_id:<a href="/type/int">int</a> reaction:flags.0?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Reaction">Reaction</a>&gt; = <a href="/type/Updates">Updates</a>;
<a href="/method/messages.getMessageReactionsList">messages.getMessageReactionsList</a>#461b3f48 flags:<a href="/type/%23">#</a> peer:<a href="/type/InputPeer">InputPeer</a> id:<a href="/type/int">int</a> reaction:flags.0?<a href="/type/Reaction">Reaction</a> offset:flags.1?<a href="/type/string">string</a> limit:<a href="/type/int">int</a> = <a href="/type/messages.MessageReactionsList">messages.MessageReactionsList</a>;
<a href="/method/messages.setChatAvailableReactions">messages.setChatAvailableReactions</a>#feb16771 peer:<a href="/type/InputPeer">InputPeer</a> available_reactions:<a href="/type/ChatReactions">ChatReactions</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/messages.setDefaultReaction">messages.setDefaultReaction</a>#4f47a016 reaction:<a href="/type/Reaction">Reaction</a> = <a href="/type/Bool">Bool</a>;
<a href="/method/messages.requestWebView">messages.requestWebView</a>#fc87a53c flags:<a href="/type/%23">#</a> from_bot_menu:flags.4?<a href="/constructor/true">true</a> silent:flags.5?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> bot:<a href="/type/InputUser">InputUser</a> url:flags.1?<a href="/type/string">string</a> start_param:flags.3?<a href="/type/string">string</a> theme_params:flags.2?<a href="/type/DataJSON">DataJSON</a> platform:<a href="/type/string">string</a> reply_to_msg_id:flags.0?<a href="/type/int">int</a> send_as:flags.13?<a href="/type/InputPeer">InputPeer</a> = <a href="/type/WebViewResult">WebViewResult</a>;
<a href="/method/messages.requestSimpleWebView">messages.requestSimpleWebView</a>#299bec8e flags:<a href="/type/%23">#</a> bot:<a href="/type/InputUser">InputUser</a> url:<a href="/type/string">string</a> theme_params:flags.0?<a href="/type/DataJSON">DataJSON</a> platform:<a href="/type/string">string</a> = <a href="/type/SimpleWebViewResult">SimpleWebViewResult</a>;<br>
<a href="/method/account.updateEmojiStatus">account.updateEmojiStatus</a>#fbd3de6b emoji_status:<a href="/type/EmojiStatus">EmojiStatus</a> = <a href="/type/Bool">Bool</a>;
<a href="/method/account.getDefaultEmojiStatuses">account.getDefaultEmojiStatuses</a>#d6753386 hash:<a href="/type/long">long</a> = <a href="/type/account.EmojiStatuses">account.EmojiStatuses</a>;
<a href="/method/account.getRecentEmojiStatuses">account.getRecentEmojiStatuses</a>#0f578105 hash:<a href="/type/long">long</a> = <a href="/type/account.EmojiStatuses">account.EmojiStatuses</a>;
<a href="/method/account.clearRecentEmojiStatuses">account.clearRecentEmojiStatuses</a>#18201aae = <a href="/type/Bool">Bool</a>;<br>
<a href="/method/messages.reportReaction">messages.reportReaction</a>#3f64c076 peer:<a href="/type/InputPeer">InputPeer</a> id:<a href="/type/int">int</a> reaction_peer:<a href="/type/InputPeer">InputPeer</a> = <a href="/type/Bool">Bool</a>;
<a href="/method/messages.getTopReactions">messages.getTopReactions</a>#bb8125ba limit:<a href="/type/int">int</a> hash:<a href="/type/long">long</a> = <a href="/type/messages.Reactions">messages.Reactions</a>;
<a href="/method/messages.getRecentReactions">messages.getRecentReactions</a>#39461db2 limit:<a href="/type/int">int</a> hash:<a href="/type/long">long</a> = <a href="/type/messages.Reactions">messages.Reactions</a>;
<a href="/method/messages.clearRecentReactions">messages.clearRecentReactions</a>#9dfeefb4 = <a href="/type/Bool">Bool</a>;<br></code></pre></div>
<h3><a class="anchor" href="#layer-144" id="layer-144" name="layer-144"><i class="anchor-icon"></i></a><a href="/schema?layer=144">Layer 144</a></h3>
<p>Users can now send <a href="/api/custom-emoji">custom emojis</a>, <a href="/api/premium#gifting-telegram-premium">gift Telegram Premium</a> to other users, and <a href="/constructor/inputWebFileAudioAlbumThumbLocation">download album covers for any music file</a>.<br>
Also introducing new <a href="https://telegram.org/blog/custom-emoji#privacy-settings-for-voice-messages">voice message privacy settings</a> and support for additional <a href="/api/payments">payment methods</a>.</p>
<p>The <a href="/schema/end-to-end">E2E schema</a> was updated to account for previous changes in the main schema (<a href="/api/custom-emoji">custom emojis</a>+<a href="/api/entities">spoiler entities</a>).</p>
<h4><a class="anchor" href="#schema-changes" id="schema-changes" name="schema-changes"><i class="anchor-icon"></i></a>Schema changes</h4>
<h5><a class="anchor" href="#new-methods" id="new-methods" name="new-methods"><i class="anchor-icon"></i></a>New Methods</h5>
<ul>
<li>Added <a href="/method/messages.getCustomEmojiDocuments">messages.getCustomEmojiDocuments</a> - Fetch <a href="/api/custom-emoji">custom emoji stickers »</a>.</li>
<li>Added <a href="/method/messages.getEmojiStickers">messages.getEmojiStickers</a> - Gets the list of currently installed <a href="/api/custom-emoji">custom emoji stickersets</a>.</li>
<li>Added <a href="/method/messages.getFeaturedEmojiStickers">messages.getFeaturedEmojiStickers</a> - Gets featured custom emoji stickersets.</li>
</ul>
<h5><a class="anchor" href="#changed-methods" id="changed-methods" name="changed-methods"><i class="anchor-icon"></i></a>Changed Methods</h5>
<ul>
<li>Added <strong>emojis</strong> parameter in <a href="/method/messages.reorderStickerSets">messages.reorderStickerSets</a></li>
<li>Added <strong>emojis</strong> parameter in <a href="/method/messages.getArchivedStickers">messages.getArchivedStickers</a></li>
<li>Added <strong>purpose</strong> parameter, removed <strong>flags</strong>, <strong>restore</strong> parameters in <a href="/method/payments.assignAppStoreTransaction">payments.assignAppStoreTransaction</a></li>
<li>Added <strong>receipt</strong>, <strong>purpose</strong> parameters, removed <strong>purchase_token</strong> parameter in <a href="/method/payments.assignPlayMarketTransaction">payments.assignPlayMarketTransaction</a></li>
<li>Added <strong>purpose</strong> parameter in <a href="/method/payments.canPurchasePremium">payments.canPurchasePremium</a></li>
</ul>
<h5><a class="anchor" href="#new-constructors" id="new-constructors" name="new-constructors"><i class="anchor-icon"></i></a>New Constructors</h5>
<ul>
<li>Added <a href="/constructor/messageEntityCustomEmoji">messageEntityCustomEmoji</a> - Represents a custom emoji. </li>
<li>Added <a href="/constructor/documentAttributeCustomEmoji">documentAttributeCustomEmoji</a> - Info about a custom emoji</li>
<li>Added <a href="/constructor/stickerSetFullCovered">stickerSetFullCovered</a> - Stickerset preview with all stickers of the stickerset included. </li>
<li>Added <a href="/constructor/inputStorePaymentPremiumSubscription">inputStorePaymentPremiumSubscription</a> - Info about a Telegram Premium purchase</li>
<li>Added <a href="/constructor/inputStorePaymentGiftPremium">inputStorePaymentGiftPremium</a> - Info about a gifted Telegram Premium purchase</li>
<li>Added <a href="/constructor/messageActionGiftPremium">messageActionGiftPremium</a> - Info about a gifted Telegram Premium subscription</li>
<li>Added <a href="/constructor/premiumGiftOption">premiumGiftOption</a> - Telegram Premium gift option</li>
<li>Added <a href="/constructor/inputStickerSetPremiumGifts">inputStickerSetPremiumGifts</a> - Stickers to show when receiving a gifted Telegram Premium subscription</li>
<li>Added <a href="/constructor/updateReadFeaturedEmojiStickers">updateReadFeaturedEmojiStickers</a> - Some featured <a href="/api/custom-emoji">custom emoji stickers</a> were marked as read</li>
<li>Added <a href="/constructor/inputPrivacyKeyVoiceMessages">inputPrivacyKeyVoiceMessages</a> - Whether people can send you voice messages</li>
<li>Added <a href="/constructor/privacyKeyVoiceMessages">privacyKeyVoiceMessages</a> - Whether the user accepts voice messages</li>
<li>Added <a href="/constructor/paymentFormMethod">paymentFormMethod</a> - Represents an additional payment method</li>
<li>Added <a href="/constructor/inputWebFileAudioAlbumThumbLocation">inputWebFileAudioAlbumThumbLocation</a> - Used to download an album cover for any music file using <a href="/method/upload.getWebFile">upload.getWebFile</a>, see the <a href="/api/files#downloading-webfiles">webfile docs for more info »</a>.</li>
</ul>
<h5><a class="anchor" href="#changed-constructors" id="changed-constructors" name="changed-constructors"><i class="anchor-icon"></i></a>Changed Constructors</h5>
<ul>
<li>Added <strong>voice_messages_forbidden</strong>, <strong>premium_gifts</strong> parameters in <a href="/constructor/userFull">userFull</a></li>
<li>Added <strong>emojis</strong>, <strong>thumb_document_id</strong> parameters in <a href="/constructor/stickerSet">stickerSet</a></li>
<li>Added <strong>emojis</strong> parameter in <a href="/constructor/updateStickerSetsOrder">updateStickerSetsOrder</a></li>
<li>Added <strong>additional_methods</strong> parameter, changed type of <strong>saved_credentials</strong> from <strong>flags.1?PaymentSavedCredentials</strong> to <strong>flags.1?Vector&lt;PaymentSavedCredentials&gt;</strong> in <a href="/constructor/payments.paymentForm">payments.paymentForm</a></li>
</ul>
<h4><a class="anchor" href="#schema" id="schema" name="schema"><i class="anchor-icon"></i></a>Schema</h4>
<div><pre><code><a href="/constructor/userFull">userFull</a>#c4b1fc3f flags:<a href="/type/%23">#</a> blocked:flags.0?<a href="/constructor/true">true</a> phone_calls_available:flags.4?<a href="/constructor/true">true</a> phone_calls_private:flags.5?<a href="/constructor/true">true</a> can_pin_message:flags.7?<a href="/constructor/true">true</a> has_scheduled:flags.12?<a href="/constructor/true">true</a> video_calls_available:flags.13?<a href="/constructor/true">true</a> voice_messages_forbidden:flags.20?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> about:flags.1?<a href="/type/string">string</a> settings:<a href="/type/PeerSettings">PeerSettings</a> profile_photo:flags.2?<a href="/type/Photo">Photo</a> notify_settings:<a href="/type/PeerNotifySettings">PeerNotifySettings</a> bot_info:flags.3?<a href="/type/BotInfo">BotInfo</a> pinned_msg_id:flags.6?<a href="/type/int">int</a> common_chats_count:<a href="/type/int">int</a> folder_id:flags.11?<a href="/type/int">int</a> ttl_period:flags.14?<a href="/type/int">int</a> theme_emoticon:flags.15?<a href="/type/string">string</a> private_forward_name:flags.16?<a href="/type/string">string</a> bot_group_admin_rights:flags.17?<a href="/type/ChatAdminRights">ChatAdminRights</a> bot_broadcast_admin_rights:flags.18?<a href="/type/ChatAdminRights">ChatAdminRights</a> premium_gifts:flags.19?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/PremiumGiftOption">PremiumGiftOption</a>&gt; = <a href="/type/UserFull">UserFull</a>;<br>
<a href="/constructor/stickerSet">stickerSet</a>#2dd14edc flags:<a href="/type/%23">#</a> archived:flags.1?<a href="/constructor/true">true</a> official:flags.2?<a href="/constructor/true">true</a> masks:flags.3?<a href="/constructor/true">true</a> animated:flags.5?<a href="/constructor/true">true</a> videos:flags.6?<a href="/constructor/true">true</a> emojis:flags.7?<a href="/constructor/true">true</a> installed_date:flags.0?<a href="/type/int">int</a> id:<a href="/type/long">long</a> access_hash:<a href="/type/long">long</a> title:<a href="/type/string">string</a> short_name:<a href="/type/string">string</a> thumbs:flags.4?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/PhotoSize">PhotoSize</a>&gt; thumb_dc_id:flags.4?<a href="/type/int">int</a> thumb_version:flags.4?<a href="/type/int">int</a> thumb_document_id:flags.8?<a href="/type/long">long</a> count:<a href="/type/int">int</a> hash:<a href="/type/int">int</a> = <a href="/type/StickerSet">StickerSet</a>;<br>
<a href="/constructor/updateStickerSetsOrder">updateStickerSetsOrder</a>#0bb2d201 flags:<a href="/type/%23">#</a> masks:flags.0?<a href="/constructor/true">true</a> emojis:flags.1?<a href="/constructor/true">true</a> order:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/long">long</a>&gt; = <a href="/type/Update">Update</a>;<br>
<a href="/constructor/payments.paymentForm">payments.paymentForm</a>#a0058751 flags:<a href="/type/%23">#</a> can_save_credentials:flags.2?<a href="/constructor/true">true</a> password_missing:flags.3?<a href="/constructor/true">true</a> form_id:<a href="/type/long">long</a> bot_id:<a href="/type/long">long</a> title:<a href="/type/string">string</a> description:<a href="/type/string">string</a> photo:flags.5?<a href="/type/WebDocument">WebDocument</a> invoice:<a href="/type/Invoice">Invoice</a> provider_id:<a href="/type/long">long</a> url:<a href="/type/string">string</a> native_provider:flags.4?<a href="/type/string">string</a> native_params:flags.4?<a href="/type/DataJSON">DataJSON</a> additional_methods:flags.6?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/PaymentFormMethod">PaymentFormMethod</a>&gt; saved_info:flags.0?<a href="/type/PaymentRequestedInfo">PaymentRequestedInfo</a> saved_credentials:flags.1?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/PaymentSavedCredentials">PaymentSavedCredentials</a>&gt; users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; = <a href="/type/payments.PaymentForm">payments.PaymentForm</a>;<br>
<a href="/constructor/messageEntityCustomEmoji">messageEntityCustomEmoji</a>#c8cf05f8 offset:<a href="/type/int">int</a> length:<a href="/type/int">int</a> document_id:<a href="/type/long">long</a> = <a href="/type/MessageEntity">MessageEntity</a>;<br>
<a href="/constructor/documentAttributeCustomEmoji">documentAttributeCustomEmoji</a>#fd149899 flags:<a href="/type/%23">#</a> free:flags.0?<a href="/constructor/true">true</a> alt:<a href="/type/string">string</a> stickerset:<a href="/type/InputStickerSet">InputStickerSet</a> = <a href="/type/DocumentAttribute">DocumentAttribute</a>;<br>
<a href="/constructor/stickerSetFullCovered">stickerSetFullCovered</a>#1aed5ee5 set:<a href="/type/StickerSet">StickerSet</a> packs:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/StickerPack">StickerPack</a>&gt; documents:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Document">Document</a>&gt; = <a href="/type/StickerSetCovered">StickerSetCovered</a>;<br>
<a href="/constructor/inputStorePaymentPremiumSubscription">inputStorePaymentPremiumSubscription</a>#a6751e66 flags:<a href="/type/%23">#</a> restore:flags.0?<a href="/constructor/true">true</a> = <a href="/type/InputStorePaymentPurpose">InputStorePaymentPurpose</a>;
<a href="/constructor/inputStorePaymentGiftPremium">inputStorePaymentGiftPremium</a>#616f7fe8 user_id:<a href="/type/InputUser">InputUser</a> currency:<a href="/type/string">string</a> amount:<a href="/type/long">long</a> = <a href="/type/InputStorePaymentPurpose">InputStorePaymentPurpose</a>;<br>
<a href="/constructor/messageActionGiftPremium">messageActionGiftPremium</a>#aba0f5c6 currency:<a href="/type/string">string</a> amount:<a href="/type/long">long</a> months:<a href="/type/int">int</a> = <a href="/type/MessageAction">MessageAction</a>;<br>
<a href="/constructor/premiumGiftOption">premiumGiftOption</a>#74c34319 flags:<a href="/type/%23">#</a> months:<a href="/type/int">int</a> currency:<a href="/type/string">string</a> amount:<a href="/type/long">long</a> bot_url:<a href="/type/string">string</a> store_product:flags.0?<a href="/type/string">string</a> = <a href="/type/PremiumGiftOption">PremiumGiftOption</a>;<br>
<a href="/constructor/inputStickerSetPremiumGifts">inputStickerSetPremiumGifts</a>#c88b3b02 = <a href="/type/InputStickerSet">InputStickerSet</a>;<br>
<a href="/constructor/updateReadFeaturedEmojiStickers">updateReadFeaturedEmojiStickers</a>#fb4c496c = <a href="/type/Update">Update</a>;<br>
<a href="/constructor/inputPrivacyKeyVoiceMessages">inputPrivacyKeyVoiceMessages</a>#aee69d68 = <a href="/type/InputPrivacyKey">InputPrivacyKey</a>;<br>
<a href="/constructor/privacyKeyVoiceMessages">privacyKeyVoiceMessages</a>#0697f414 = <a href="/type/PrivacyKey">PrivacyKey</a>;
<a href="/constructor/paymentFormMethod">paymentFormMethod</a>#88f8f21b url:<a href="/type/string">string</a> title:<a href="/type/string">string</a> = <a href="/type/PaymentFormMethod">PaymentFormMethod</a>;<br>
<a href="/constructor/inputWebFileAudioAlbumThumbLocation">inputWebFileAudioAlbumThumbLocation</a>#f46fe924 flags:<a href="/type/%23">#</a> small:flags.2?<a href="/constructor/true">true</a> document:flags.0?<a href="/type/InputDocument">InputDocument</a> title:flags.1?<a href="/type/string">string</a> performer:flags.1?<a href="/type/string">string</a> = <a href="/type/InputWebFileLocation">InputWebFileLocation</a>;<br>
---functions---<br>
<a href="/method/messages.reorderStickerSets">messages.reorderStickerSets</a>#78337739 flags:<a href="/type/%23">#</a> masks:flags.0?<a href="/constructor/true">true</a> emojis:flags.1?<a href="/constructor/true">true</a> order:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/long">long</a>&gt; = <a href="/type/Bool">Bool</a>;
<a href="/method/messages.getArchivedStickers">messages.getArchivedStickers</a>#57f17692 flags:<a href="/type/%23">#</a> masks:flags.0?<a href="/constructor/true">true</a> emojis:flags.1?<a href="/constructor/true">true</a> offset_id:<a href="/type/long">long</a> limit:<a href="/type/int">int</a> = <a href="/type/messages.ArchivedStickers">messages.ArchivedStickers</a>;<br>
<a href="/method/payments.assignAppStoreTransaction">payments.assignAppStoreTransaction</a>#80ed747d receipt:<a href="/type/bytes">bytes</a> purpose:<a href="/type/InputStorePaymentPurpose">InputStorePaymentPurpose</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/payments.assignPlayMarketTransaction">payments.assignPlayMarketTransaction</a>#dffd50d3 receipt:<a href="/type/DataJSON">DataJSON</a> purpose:<a href="/type/InputStorePaymentPurpose">InputStorePaymentPurpose</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/payments.canPurchasePremium">payments.canPurchasePremium</a>#9fc19eb6 purpose:<a href="/type/InputStorePaymentPurpose">InputStorePaymentPurpose</a> = <a href="/type/Bool">Bool</a>;<br>
<a href="/method/messages.getCustomEmojiDocuments">messages.getCustomEmojiDocuments</a>#d9ab0f54 document_id:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/long">long</a>&gt; = <a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Document">Document</a>&gt;;
<a href="/method/messages.getEmojiStickers">messages.getEmojiStickers</a>#fbfca18f hash:<a href="/type/long">long</a> = <a href="/type/messages.AllStickers">messages.AllStickers</a>;
<a href="/method/messages.getFeaturedEmojiStickers">messages.getFeaturedEmojiStickers</a>#0ecf6736 hash:<a href="/type/long">long</a> = <a href="/type/messages.FeaturedStickers">messages.FeaturedStickers</a>;<br></code></pre></div>
<h4><a class="anchor" href="#end-to-end-schema-changes" id="end-to-end-schema-changes" name="end-to-end-schema-changes"><i class="anchor-icon"></i></a>End-to-end schema changes</h4>
<h5><a class="anchor" href="#new-constructors" id="new-constructors" name="new-constructors"><i class="anchor-icon"></i></a>New Constructors</h5>
<ul>
<li>Added <a href="/constructor/messageEntitySpoiler">messageEntitySpoiler</a> - Message entity representing a spoiler</li>
<li>Added <a href="/constructor/messageEntityCustomEmoji">messageEntityCustomEmoji</a> - Represents a custom emoji.</li>
</ul>
<h4><a class="anchor" href="#end-to-end-schema" id="end-to-end-schema" name="end-to-end-schema"><i class="anchor-icon"></i></a>End-to-end schema</h4>
<div><pre><code>===144===<br>
<a href="/constructor/messageEntitySpoiler">messageEntitySpoiler</a>#32ca960f offset:<a href="/type/int">int</a> length:<a href="/type/int">int</a> = <a href="/type/MessageEntity">MessageEntity</a>;
<a href="/constructor/messageEntityCustomEmoji">messageEntityCustomEmoji</a>#c8cf05f8 offset:<a href="/type/int">int</a> length:<a href="/type/int">int</a> document_id:<a href="/type/long">long</a> = <a href="/type/MessageEntity">MessageEntity</a>;<br></code></pre></div>
<h3><a class="anchor" href="#layer-143" id="layer-143" name="layer-143"><i class="anchor-icon"></i></a><a href="/schema?layer=143">Layer 143</a></h3>
<p><a href="/api/premium">Telegram Premium</a>, <a href="/api/transcribe">voice message transcription</a>, <a href="/api/links#invoice-links">invoices</a>, bot description photos/animations, immediate <a href="/api/account-deletion">account deletion</a>, recurring <a href="/api/payments">payments</a> and <a href="/api/bots/attach">attachment menu</a> improvements.<br>
Also, discussion group admins can now <a href="/api/discussion#requiring-users-to-join-the-group">require users to join</a> before commenting.</p>
<p>The main and E2E schemes were also modified to eventually support uploading and downloading files bigger than 4GB: the current supported maximum filesize is dynamically specified, and can be fetched from the new <a href="/api/config#upload-max-fileparts-default">upload_max_fileparts_default »</a> and <a href="/api/config#upload-max-fileparts-premium">upload_max_fileparts_premium »</a> app configuration fields.</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/privacy">Privacy</a></li>
<li><a href="//telegram.org/press">Press</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/android">Android</a></li>
<li><a href="//telegram.org/dl/web">Mobile Web</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="//telegram.org/press">Press</a></h5>
</div>
</div>
</div>
</div>
<script src="/js/main.js?47"></script>
<script src="/js/jquery.min.js?1"></script>
<script src="/js/bootstrap.min.js?1"></script>
<script>window.initDevPageNav&&initDevPageNav();
backToTopInit("Go up");
removePreloadInit();
</script>
</body>
</html>