telegram-crawler/data/web/blogfork.telegram.org/api/layers.html
2023-10-22 15:31:15 +00:00

1698 lines
374 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-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-bot-web-apps">named bot web apps</a>, which can be opened from a <a href="/api/links#named-bot-web-app-links">named bot web app deep link</a>.<br>
<a href="/api/bots/webapps#simple-web-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#named-bot-web-apps">named bot web app</a></li>
<li>Added <a href="/method/messages.requestAppWebView">messages.requestAppWebView</a> - Open a <a href="/bots/webapps">bot web app</a> from a <a href="/api/links#named-bot-web-app-links">named bot web 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#named-bot-web-apps">named bot web 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#named-bot-web-apps">named bot web 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#named-bot-web-apps">named bot web app</a>.</li>
<li>Added <a href="/constructor/messages.botApp">messages.botApp</a> - Contains information about a <a href="/api/bots/webapps#named-bot-web-apps">named bot web 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#named-bot-web-apps">named bot web app</a>.</li>
<li>Added <a href="/constructor/inlineBotWebView">inlineBotWebView</a> - Specifies a <a href="/api/bots/webapps#simple-web-apps">bot web 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 a chosen peer, 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 a peer 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 a peer 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 web 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#groupchannel-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 web 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>
<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.toggleJoinToSend">channels.toggleJoinToSend</a> - Set whether all users <a href="/api/discussion#requiring-users-to-join-the-group">should join a discussion group in order to comment on a post »</a></li>
<li>Added <a href="/method/channels.toggleJoinRequest">channels.toggleJoinRequest</a> - Set whether all users should <a href="/api/invites#join-requests">request admin approval to join the group »</a>.</li>
<li>Added <a href="/method/payments.exportInvoice">payments.exportInvoice</a> - Generate an <a href="/api/links#invoice-links">invoice deep link</a></li>
<li>Added <a href="/method/messages.transcribeAudio">messages.transcribeAudio</a> - <a href="/api/transcribe">Transcribe voice message</a></li>
<li>Added <a href="/method/messages.rateTranscribedAudio">messages.rateTranscribedAudio</a> - Rate <a href="/api/transcribe">transcribed voice message</a></li>
<li>Added <a href="/method/payments.assignAppStoreTransaction">payments.assignAppStoreTransaction</a> - Informs server about a purchase made through the App Store: for official applications only.</li>
<li>Added <a href="/method/payments.assignPlayMarketTransaction">payments.assignPlayMarketTransaction</a> - Informs server about a purchase made through the Play Store: for official applications only.</li>
<li>Added <a href="/method/payments.canPurchasePremium">payments.canPurchasePremium</a> - Checks whether Telegram Premium purchase is possible. Must be called before in-store Premium purchase, official apps only.</li>
<li>Added <a href="/method/help.getPremiumPromo">help.getPremiumPromo</a> - Get Telegram Premium promotion information</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 <strong>offset</strong> from <strong>int</strong> to <strong>long</strong> in <a href="/method/upload.getFile">upload.getFile</a></li>
<li>Added <strong>flags</strong>, <strong>password</strong> parameters in <a href="/method/account.deleteAccount">account.deleteAccount</a></li>
<li>Changed type of <strong>size</strong> from <strong>int</strong> to <strong>long</strong> in <a href="/method/messages.getDocumentByHash">messages.getDocumentByHash</a></li>
<li>Added <strong>invoice</strong> parameter, removed <strong>peer</strong>, <strong>msg_id</strong> parameters in <a href="/method/payments.getPaymentForm">payments.getPaymentForm</a></li>
<li>Added <strong>invoice</strong> parameter, removed <strong>peer</strong>, <strong>msg_id</strong> parameters in <a href="/method/payments.validateRequestedInfo">payments.validateRequestedInfo</a></li>
<li>Added <strong>invoice</strong> parameter, removed <strong>peer</strong>, <strong>msg_id</strong> parameters in <a href="/method/payments.sendPaymentForm">payments.sendPaymentForm</a></li>
<li>Changed type of <strong>offset</strong> from <strong>int</strong> to <strong>long</strong> in <a href="/method/upload.getCdnFile">upload.getCdnFile</a></li>
<li>Changed type of <strong>offset</strong> from <strong>int</strong> to <strong>long</strong> in <a href="/method/upload.getCdnFileHashes">upload.getCdnFileHashes</a></li>
<li>Changed type of <strong>offset</strong> from <strong>int</strong> to <strong>long</strong> in <a href="/method/upload.getFileHashes">upload.getFileHashes</a></li>
<li>Changed type of <strong>file_max_size</strong> from <strong>flags.5?int</strong> to <strong>flags.5?long</strong> in <a href="/method/account.initTakeoutSession">account.initTakeoutSession</a></li>
<li>Added <strong>send_as</strong> parameter in <a href="/method/messages.requestWebView">messages.requestWebView</a></li>
<li>Added <strong>send_as</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/attachMenuPeerTypeSameBotPM">attachMenuPeerTypeSameBotPM</a> - The bot attachment menu entry is available in the chat with the bot that offers it</li>
<li>Added <a href="/constructor/attachMenuPeerTypeBotPM">attachMenuPeerTypeBotPM</a> - The bot attachment menu entry is available in private chats with other bots (excluding the bot that offers the current attachment menu)</li>
<li>Added <a href="/constructor/attachMenuPeerTypePM">attachMenuPeerTypePM</a> - The bot attachment menu entry is available in private chats with other users (not bots)</li>
<li>Added <a href="/constructor/attachMenuPeerTypeChat">attachMenuPeerTypeChat</a> - The bot attachment menu entry is available in <a href="/api/channel">groups and supergroups</a></li>
<li>Added <a href="/constructor/attachMenuPeerTypeBroadcast">attachMenuPeerTypeBroadcast</a> - The bot attachment menu entry is available in channels</li>
<li>Added <a href="/constructor/chatInvitePublicJoinRequests">chatInvitePublicJoinRequests</a> - Used in updates and in the channel log to indicate when a user is requesting to join or has joined a <a href="/api/discussion#requiring-users-to-join-the-group">discussion group</a></li>
<li>Added <a href="/constructor/inputInvoiceMessage">inputInvoiceMessage</a> - An invoice contained in a <a href="/constructor/messageMediaInvoice">messageMediaInvoice</a> message.</li>
<li>Added <a href="/constructor/inputInvoiceSlug">inputInvoiceSlug</a> - An invoice slug taken from an <a href="/api/links#invoice-links">invoice deep link</a> or from the <a href="/api/config#premium-invoice-slug"><code>premium_invoice_slug</code> app config parameter »</a></li>
<li>Added <a href="/constructor/payments.exportedInvoice">payments.exportedInvoice</a> - Exported <a href="/api/links#invoice-links">invoice deep link</a></li>
<li>Added <a href="/constructor/updateTranscribedAudio">updateTranscribedAudio</a> - A pending <a href="/api/transcribe">voice message transcription »</a> initiated with <a href="/method/messages.transcribeAudio">messages.transcribeAudio</a> was updated.</li>
<li>Added <a href="/constructor/messages.transcribedAudio">messages.transcribedAudio</a> - <a href="/api/transcribe">Transcribed text from a voice message »</a></li>
<li>Added <a href="/constructor/dialogFilterDefault">dialogFilterDefault</a> - Used only when reordering folders to indicate the default (all chats) folder.</li>
<li>Added <a href="/constructor/help.premiumPromo">help.premiumPromo</a> - Telegram Premium promotion information</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>size</strong> from <strong>int</strong> to <strong>long</strong> in <a href="/constructor/encryptedFile">encryptedFile</a></li>
<li>Added <strong>nopremium</strong> parameter in <a href="/constructor/messageMediaDocument">messageMediaDocument</a></li>
<li>Changed type of <strong>size</strong> from <strong>int</strong> to <strong>long</strong> in <a href="/constructor/document">document</a></li>
<li>Added <strong>premium</strong>, <strong>attach_menu_enabled</strong> parameters in <a href="/constructor/user">user</a></li>
<li>Added <strong>flags</strong>, <strong>description_photo</strong>, <strong>description_document</strong> parameters, changed type of <strong>user_id</strong> from <strong>long</strong> to <strong>flags.0?long</strong>, <strong>description</strong> from <strong>string</strong> to <strong>flags.1?string</strong>, <strong>commands</strong> from <strong>Vector&lt;BotCommand&gt;</strong> to <strong>flags.2?Vector&lt;BotCommand&gt;</strong>, <strong>menu_button</strong> from <strong>BotMenuButton</strong> to <strong>flags.3?BotMenuButton</strong> in <a href="/constructor/botInfo">botInfo</a></li>
<li>Added <strong>join_to_send</strong>, <strong>join_request</strong> parameters in <a href="/constructor/channel">channel</a></li>
<li>Added <strong>flags</strong>, <strong>premium</strong> parameters in <a href="/constructor/messages.featuredStickers">messages.featuredStickers</a></li>
<li>Added <strong>recurring</strong>, <strong>recurring_terms_url</strong> parameters in <a href="/constructor/invoice">invoice</a></li>
<li>Added <strong>recurring_init</strong>, <strong>recurring_used</strong> parameters in <a href="/constructor/messageActionPaymentSentMe">messageActionPaymentSentMe</a></li>
<li>Added <strong>flags</strong>, <strong>recurring_init</strong>, <strong>recurring_used</strong>, <strong>invoice_slug</strong> parameters in <a href="/constructor/messageActionPaymentSent">messageActionPaymentSent</a></li>
<li>Added <strong>title</strong>, <strong>description</strong>, <strong>photo</strong> parameters in <a href="/constructor/payments.paymentForm">payments.paymentForm</a></li>
<li>Changed type of <strong>offset</strong> from <strong>int</strong> to <strong>long</strong> in <a href="/constructor/fileHash">fileHash</a></li>
<li>Changed type of <strong>size</strong> from <strong>int</strong> to <strong>long</strong> in <a href="/constructor/secureFile">secureFile</a></li>
<li>Changed type of <strong>video_size_max</strong> from <strong>int</strong> to <strong>long</strong>, <strong>file_size_max</strong> from <strong>int</strong> to <strong>long</strong> in <a href="/constructor/autoDownloadSettings">autoDownloadSettings</a></li>
<li>Added <strong>premium</strong> parameter in <a href="/constructor/availableReaction">availableReaction</a></li>
<li>Added <strong>has_settings</strong>, <strong>peer_types</strong> parameters in <a href="/constructor/attachMenuBot">attachMenuBot</a></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">MESSAGE_RECURRING_PAY</a> - <code>You were charged {2} by {1}</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/encryptedFile">encryptedFile</a>#a8008cd8 id:<a href="/type/long">long</a> access_hash:<a href="/type/long">long</a> size:<a href="/type/long">long</a> dc_id:<a href="/type/int">int</a> key_fingerprint:<a href="/type/int">int</a> = <a href="/type/EncryptedFile">EncryptedFile</a>;<br>
<a href="/constructor/messageMediaDocument">messageMediaDocument</a>#9cb070d7 flags:<a href="/type/%23">#</a> nopremium:flags.3?<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/document">document</a>#8fd4c4d8 flags:<a href="/type/%23">#</a> id:<a href="/type/long">long</a> access_hash:<a href="/type/long">long</a> file_reference:<a href="/type/bytes">bytes</a> date:<a href="/type/int">int</a> mime_type:<a href="/type/string">string</a> size:<a href="/type/long">long</a> thumbs:flags.0?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/PhotoSize">PhotoSize</a>&gt; video_thumbs:flags.1?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/VideoSize">VideoSize</a>&gt; dc_id:<a href="/type/int">int</a> attributes:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/DocumentAttribute">DocumentAttribute</a>&gt; = <a href="/type/Document">Document</a>;<br>
<a href="/constructor/user">user</a>#3ff6ecb0 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> = <a href="/type/User">User</a>;<br>
<a href="/constructor/botInfo">botInfo</a>#8f300b57 flags:<a href="/type/%23">#</a> user_id:flags.0?<a href="/type/long">long</a> description:flags.1?<a href="/type/string">string</a> description_photo:flags.4?<a href="/type/Photo">Photo</a> description_document:flags.5?<a href="/type/Document">Document</a> commands:flags.2?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/BotCommand">BotCommand</a>&gt; menu_button:flags.3?<a href="/type/BotMenuButton">BotMenuButton</a> = <a href="/type/BotInfo">BotInfo</a>;<br>
<a href="/constructor/channel">channel</a>#8261ac61 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> 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> = <a href="/type/Chat">Chat</a>;<br>
<a href="/constructor/messages.featuredStickers">messages.featuredStickers</a>#be382906 flags:<a href="/type/%23">#</a> premium:flags.0?<a href="/constructor/true">true</a> hash:<a href="/type/long">long</a> count:<a href="/type/int">int</a> sets:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/StickerSetCovered">StickerSetCovered</a>&gt; unread:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/long">long</a>&gt; = <a href="/type/messages.FeaturedStickers">messages.FeaturedStickers</a>;<br>
<a href="/constructor/invoice">invoice</a>#3e85a91b 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; recurring_terms_url:flags.9?<a href="/type/string">string</a> = <a href="/type/Invoice">Invoice</a>;<br>
<a href="/constructor/messageActionPaymentSentMe">messageActionPaymentSentMe</a>#8f31b327 flags:<a href="/type/%23">#</a> recurring_init:flags.2?<a href="/constructor/true">true</a> recurring_used:flags.3?<a href="/constructor/true">true</a> currency:<a href="/type/string">string</a> total_amount:<a href="/type/long">long</a> payload:<a href="/type/bytes">bytes</a> info:flags.0?<a href="/type/PaymentRequestedInfo">PaymentRequestedInfo</a> shipping_option_id:flags.1?<a href="/type/string">string</a> charge:<a href="/type/PaymentCharge">PaymentCharge</a> = <a href="/type/MessageAction">MessageAction</a>;
<a href="/constructor/messageActionPaymentSent">messageActionPaymentSent</a>#96163f56 flags:<a href="/type/%23">#</a> recurring_init:flags.2?<a href="/constructor/true">true</a> recurring_used:flags.3?<a href="/constructor/true">true</a> currency:<a href="/type/string">string</a> total_amount:<a href="/type/long">long</a> invoice_slug:flags.0?<a href="/type/string">string</a> = <a href="/type/MessageAction">MessageAction</a>;<br>
<a href="/constructor/payments.paymentForm">payments.paymentForm</a>#b0133b37 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> saved_info:flags.0?<a href="/type/PaymentRequestedInfo">PaymentRequestedInfo</a> saved_credentials:flags.1?<a href="/type/PaymentSavedCredentials">PaymentSavedCredentials</a> 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/fileHash">fileHash</a>#f39b035c offset:<a href="/type/long">long</a> limit:<a href="/type/int">int</a> hash:<a href="/type/bytes">bytes</a> = <a href="/type/FileHash">FileHash</a>;<br>
<a href="/constructor/secureFile">secureFile</a>#7d09c27e id:<a href="/type/long">long</a> access_hash:<a href="/type/long">long</a> size:<a href="/type/long">long</a> dc_id:<a href="/type/int">int</a> date:<a href="/type/int">int</a> file_hash:<a href="/type/bytes">bytes</a> secret:<a href="/type/bytes">bytes</a> = <a href="/type/SecureFile">SecureFile</a>;<br>
<a href="/constructor/autoDownloadSettings">autoDownloadSettings</a>#8efab953 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> = <a href="/type/AutoDownloadSettings">AutoDownloadSettings</a>;
<a href="/constructor/availableReaction">availableReaction</a>#c077ec01 flags:<a href="/type/%23">#</a> inactive:flags.0?<a href="/constructor/true">true</a> premium:flags.2?<a href="/constructor/true">true</a> reaction:<a href="/type/string">string</a> title:<a href="/type/string">string</a> static_icon:<a href="/type/Document">Document</a> appear_animation:<a href="/type/Document">Document</a> select_animation:<a href="/type/Document">Document</a> activate_animation:<a href="/type/Document">Document</a> effect_animation:<a href="/type/Document">Document</a> around_animation:flags.1?<a href="/type/Document">Document</a> center_icon:flags.1?<a href="/type/Document">Document</a> = <a href="/type/AvailableReaction">AvailableReaction</a>;
<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> 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>;
<a href="/constructor/attachMenuPeerTypeSameBotPM">attachMenuPeerTypeSameBotPM</a>#7d6be90e = <a href="/type/AttachMenuPeerType">AttachMenuPeerType</a>;
<a href="/constructor/attachMenuPeerTypeBotPM">attachMenuPeerTypeBotPM</a>#c32bfa1a = <a href="/type/AttachMenuPeerType">AttachMenuPeerType</a>;
<a href="/constructor/attachMenuPeerTypePM">attachMenuPeerTypePM</a>#f146d31f = <a href="/type/AttachMenuPeerType">AttachMenuPeerType</a>;
<a href="/constructor/attachMenuPeerTypeChat">attachMenuPeerTypeChat</a>#0509113f = <a href="/type/AttachMenuPeerType">AttachMenuPeerType</a>;
<a href="/constructor/attachMenuPeerTypeBroadcast">attachMenuPeerTypeBroadcast</a>#7bfbdefc = <a href="/type/AttachMenuPeerType">AttachMenuPeerType</a>;<br>
<a href="/constructor/chatInvitePublicJoinRequests">chatInvitePublicJoinRequests</a>#ed107ab7 = <a href="/type/ExportedChatInvite">ExportedChatInvite</a>;<br>
<a href="/constructor/inputInvoiceMessage">inputInvoiceMessage</a>#c5b56859 peer:<a href="/type/InputPeer">InputPeer</a> msg_id:<a href="/type/int">int</a> = <a href="/type/InputInvoice">InputInvoice</a>;
<a href="/constructor/inputInvoiceSlug">inputInvoiceSlug</a>#c326caef slug:<a href="/type/string">string</a> = <a href="/type/InputInvoice">InputInvoice</a>;<br>
<a href="/constructor/payments.exportedInvoice">payments.exportedInvoice</a>#aed0cbd9 url:<a href="/type/string">string</a> = <a href="/type/payments.ExportedInvoice">payments.ExportedInvoice</a>;<br>
<a href="/constructor/updateTranscribedAudio">updateTranscribedAudio</a>#0084cd5a flags:<a href="/type/%23">#</a> pending:flags.0?<a href="/constructor/true">true</a> peer:<a href="/type/Peer">Peer</a> msg_id:<a href="/type/int">int</a> transcription_id:<a href="/type/long">long</a> text:<a href="/type/string">string</a> = <a href="/type/Update">Update</a>;<br>
<a href="/constructor/messages.transcribedAudio">messages.transcribedAudio</a>#93752c52 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> = <a href="/type/messages.TranscribedAudio">messages.TranscribedAudio</a>;<br>
<a href="/constructor/dialogFilterDefault">dialogFilterDefault</a>#363293ae = <a href="/type/DialogFilter">DialogFilter</a>;<br>
<a href="/constructor/help.premiumPromo">help.premiumPromo</a>#8a4f3c29 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; currency:<a href="/type/string">string</a> monthly_amount:<a href="/type/long">long</a> 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>
---functions---<br>
<a href="/method/upload.getFile">upload.getFile</a>#be5335be flags:<a href="/type/%23">#</a> precise:flags.0?<a href="/constructor/true">true</a> cdn_supported:flags.1?<a href="/constructor/true">true</a> location:<a href="/type/InputFileLocation">InputFileLocation</a> offset:<a href="/type/long">long</a> limit:<a href="/type/int">int</a> = <a href="/type/upload.File">upload.File</a>;<br>
<a href="/method/account.deleteAccount">account.deleteAccount</a>#a2c0cf74 flags:<a href="/type/%23">#</a> reason:<a href="/type/string">string</a> password:flags.0?<a href="/type/InputCheckPasswordSRP">InputCheckPasswordSRP</a> = <a href="/type/Bool">Bool</a>;<br>
<a href="/method/messages.getDocumentByHash">messages.getDocumentByHash</a>#b1f2061f sha256:<a href="/type/bytes">bytes</a> size:<a href="/type/long">long</a> mime_type:<a href="/type/string">string</a> = <a href="/type/Document">Document</a>;<br>
<a href="/method/payments.getPaymentForm">payments.getPaymentForm</a>#37148dbb flags:<a href="/type/%23">#</a> invoice:<a href="/type/InputInvoice">InputInvoice</a> theme_params:flags.0?<a href="/type/DataJSON">DataJSON</a> = <a href="/type/payments.PaymentForm">payments.PaymentForm</a>;
<a href="/method/payments.validateRequestedInfo">payments.validateRequestedInfo</a>#b6c8f12b flags:<a href="/type/%23">#</a> save:flags.0?<a href="/constructor/true">true</a> invoice:<a href="/type/InputInvoice">InputInvoice</a> info:<a href="/type/PaymentRequestedInfo">PaymentRequestedInfo</a> = <a href="/type/payments.ValidatedRequestedInfo">payments.ValidatedRequestedInfo</a>;
<a href="/method/payments.sendPaymentForm">payments.sendPaymentForm</a>#2d03522f flags:<a href="/type/%23">#</a> form_id:<a href="/type/long">long</a> invoice:<a href="/type/InputInvoice">InputInvoice</a> requested_info_id:flags.0?<a href="/type/string">string</a> shipping_option_id:flags.1?<a href="/type/string">string</a> credentials:<a href="/type/InputPaymentCredentials">InputPaymentCredentials</a> tip_amount:flags.2?<a href="/type/long">long</a> = <a href="/type/payments.PaymentResult">payments.PaymentResult</a>;<br>
<a href="/method/upload.getCdnFile">upload.getCdnFile</a>#395f69da file_token:<a href="/type/bytes">bytes</a> offset:<a href="/type/long">long</a> limit:<a href="/type/int">int</a> = <a href="/type/upload.CdnFile">upload.CdnFile</a>;
<a href="/method/upload.getCdnFileHashes">upload.getCdnFileHashes</a>#91dc3f31 file_token:<a href="/type/bytes">bytes</a> offset:<a href="/type/long">long</a> = <a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/FileHash">FileHash</a>&gt;;
<a href="/method/upload.getFileHashes">upload.getFileHashes</a>#9156982a location:<a href="/type/InputFileLocation">InputFileLocation</a> offset:<a href="/type/long">long</a> = <a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/FileHash">FileHash</a>&gt;;<br>
<a href="/method/account.initTakeoutSession">account.initTakeoutSession</a>#8ef3eab0 flags:<a href="/type/%23">#</a> contacts:flags.0?<a href="/constructor/true">true</a> message_users:flags.1?<a href="/constructor/true">true</a> message_chats:flags.2?<a href="/constructor/true">true</a> message_megagroups:flags.3?<a href="/constructor/true">true</a> message_channels:flags.4?<a href="/constructor/true">true</a> files:flags.5?<a href="/constructor/true">true</a> file_max_size:flags.5?<a href="/type/long">long</a> = <a href="/type/account.Takeout">account.Takeout</a>;<br>
<a href="/method/messages.requestWebView">messages.requestWebView</a>#91b15831 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> 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.prolongWebView">messages.prolongWebView</a>#ea5fbcce 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> send_as:flags.13?<a href="/type/InputPeer">InputPeer</a> = <a href="/type/Bool">Bool</a>;<br>
<a href="/method/channels.toggleJoinToSend">channels.toggleJoinToSend</a>#e4cb9580 channel:<a href="/type/InputChannel">InputChannel</a> enabled:<a href="/type/Bool">Bool</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/channels.toggleJoinRequest">channels.toggleJoinRequest</a>#4c2985b6 channel:<a href="/type/InputChannel">InputChannel</a> enabled:<a href="/type/Bool">Bool</a> = <a href="/type/Updates">Updates</a>;<br>
<a href="/method/payments.exportInvoice">payments.exportInvoice</a>#0f91b065 invoice_media:<a href="/type/InputMedia">InputMedia</a> = <a href="/type/payments.ExportedInvoice">payments.ExportedInvoice</a>;<br>
<a href="/method/messages.transcribeAudio">messages.transcribeAudio</a>#269e9a49 peer:<a href="/type/InputPeer">InputPeer</a> msg_id:<a href="/type/int">int</a> = <a href="/type/messages.TranscribedAudio">messages.TranscribedAudio</a>;
<a href="/method/messages.rateTranscribedAudio">messages.rateTranscribedAudio</a>#7f1d072f peer:<a href="/type/InputPeer">InputPeer</a> msg_id:<a href="/type/int">int</a> transcription_id:<a href="/type/long">long</a> good:<a href="/type/Bool">Bool</a> = <a href="/type/Bool">Bool</a>;<br>
<a href="/method/payments.assignAppStoreTransaction">payments.assignAppStoreTransaction</a>#0d5ccfd0 flags:<a href="/type/%23">#</a> restore:flags.0?<a href="/constructor/true">true</a> receipt:<a href="/type/bytes">bytes</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/payments.assignPlayMarketTransaction">payments.assignPlayMarketTransaction</a>#4faa4aed purchase_token:<a href="/type/string">string</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/payments.canPurchasePremium">payments.canPurchasePremium</a>#aa6a90c8 = <a href="/type/Bool">Bool</a>;<br>
<a href="/method/help.getPremiumPromo">help.getPremiumPromo</a>#b81b93d4 = <a href="/type/help.PremiumPromo">help.PremiumPromo</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/decryptedMessageMediaDocument">decryptedMessageMediaDocument</a> - Document attached to a message in a secret chat.</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>===143===<br>
<a href="/constructor/decryptedMessageMediaDocument">decryptedMessageMediaDocument</a>#6abd9782 thumb:<a href="/type/bytes">bytes</a> thumb_w:<a href="/type/int">int</a> thumb_h:<a href="/type/int">int</a> mime_type:<a href="/type/string">string</a> size:<a href="/type/long">long</a> key:<a href="/type/bytes">bytes</a> iv:<a href="/type/bytes">bytes</a> attributes:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/DocumentAttribute">DocumentAttribute</a>&gt; caption:<a href="/type/string">string</a> = <a href="/type/DecryptedMessageMedia">DecryptedMessageMedia</a>;<br></code></pre></div>
<h3><a class="anchor" href="#layer-142" id="layer-142" name="layer-142"><i class="anchor-icon"></i></a><a href="/schema?layer=142">Layer 142</a></h3>
<p>Allow TCP WebRTC connections.</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>flags</strong>, <strong>tcp</strong> parameters in <a href="/constructor/phoneConnection">phoneConnection</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/phoneConnection">phoneConnection</a>#9cc123c7 flags:<a href="/type/%23">#</a> tcp:flags.0?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> ip:<a href="/type/string">string</a> ipv6:<a href="/type/string">string</a> port:<a href="/type/int">int</a> peer_tag:<a href="/type/bytes">bytes</a> = <a href="/type/PhoneConnection">PhoneConnection</a>;<br></code></pre></div>
<h3><a class="anchor" href="#layer-140" id="layer-140" name="layer-140"><i class="anchor-icon"></i></a><a href="/schema?layer=140">Layer 140</a></h3>
<p>Introducing:</p>
<ul>
<li><a href="/api/bots/attach">Attachment menus</a></li>
<li><a href="/api/bots/webapps">Bot web apps</a></li>
<li><a href="/api/bots/menu">Custom bot menu buttons</a></li>
<li><a href="/api/rights#suggested-bot-rights">Suggested bot admin rights</a></li>
<li><a href="/api/ringtones">Ringtones</a></li>
<li><a href="/method/channels.deleteHistory">Deletion of all our supergroup messages for everyone</a></li>
<li><a href="/constructor/sponsoredMessage">Recommended sponsored messages</a></li>
<li>A <a href="/constructor/config"><code>force_try_ipv6</code> config flag</a> indicating that clients must prioritize IPv6 over IPv4 for all MTProto transports, even if an IPv4 connection is available.</li>
<li>A <a href="/constructor/dcOption"><code>this_port_only</code> DC port flag</a> indicating that clients must use only the specified port, without trying any other port as specified in the <a href="/mtproto/transports#tcp">transport docs</a>.</li>
<li>A <a href="/constructor/channelFull"><code>can_delete_channel</code> channelFull flag</a> indicating whether the current user can delete a channel or supergroup.</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/messages.getAttachMenuBots">messages.getAttachMenuBots</a> - Returns installed attachment menu <a href="/api/bots/attach">bot web apps »</a></li>
<li>Added <a href="/method/messages.getAttachMenuBot">messages.getAttachMenuBot</a> - Returns attachment menu entry for a <a href="/api/bots/attach">bot web app that can be launched from the attachment menu »</a></li>
<li>Added <a href="/method/messages.toggleBotInAttachMenu">messages.toggleBotInAttachMenu</a> - Enable or disable <a href="/api/bots/attach">web bot attachment menu »</a></li>
<li>Added <a href="/method/messages.requestWebView">messages.requestWebView</a> - Open a <a href="/bots/webapps">bot web app</a>, sending over user information after user confirmation.</li>
<li>Added <a href="/method/messages.prolongWebView">messages.prolongWebView</a> - Indicate to the server (from the user side) that the user is still using a web app.</li>
<li>Added <a href="/method/messages.requestSimpleWebView">messages.requestSimpleWebView</a> - Open a <a href="/api/bots/webapps">bot web app</a>.</li>
<li>Added <a href="/method/messages.sendWebViewResultMessage">messages.sendWebViewResultMessage</a> - Terminate webview interaction started with <a href="/method/messages.requestWebView">messages.requestWebView</a>, sending the specified message to the chat on behalf of the user.</li>
<li>Added <a href="/method/messages.sendWebViewData">messages.sendWebViewData</a> - Used by the user to relay data from an opened <a href="/api/bots/webapps">reply keyboard bot web app</a> to the bot that owns it.</li>
<li>Added <a href="/method/bots.setBotMenuButton">bots.setBotMenuButton</a> - Sets the <a href="/api/bots/menu">menu button action »</a> for a given user or for all users</li>
<li>Added <a href="/method/bots.getBotMenuButton">bots.getBotMenuButton</a> - Gets the menu button action for a given user or for all users, previously set using <a href="/method/bots.setBotMenuButton">bots.setBotMenuButton</a>; users can see this information in the <a href="/constructor/botInfo">botInfo</a> constructor.</li>
<li>Added <a href="/method/account.getSavedRingtones">account.getSavedRingtones</a> - Fetch saved notification sounds</li>
<li>Added <a href="/method/account.saveRingtone">account.saveRingtone</a> - Save or remove saved notification sound.</li>
<li>Added <a href="/method/account.uploadRingtone">account.uploadRingtone</a> - Upload notification sound, use <a href="/method/account.saveRingtone">account.saveRingtone</a> to convert it and add it to the list of saved notification sounds.</li>
<li>Added <a href="/method/bots.setBotBroadcastDefaultAdminRights">bots.setBotBroadcastDefaultAdminRights</a> - Set the default <a href="/api/rights#suggested-bot-rights">suggested admin rights</a> for bots being added as admins to channels, see <a href="/api/rights#suggested-bot-rights">here for more info on how to handle them »</a>.</li>
<li>Added <a href="/method/bots.setBotGroupDefaultAdminRights">bots.setBotGroupDefaultAdminRights</a> - Set the default <a href="/api/rights#suggested-bot-rights">suggested admin rights</a> for bots being added as admins to groups, see <a href="/api/rights#suggested-bot-rights">here for more info on how to handle them »</a>.</li>
<li>Added <a href="/method/phone.saveCallLog">phone.saveCallLog</a> - Save phone call debug information</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/channels.deleteHistory">channels.deleteHistory</a> from <strong>Bool</strong> to <strong>Updates</strong></li>
<li>Added <strong>flags</strong>, <strong>for_everyone</strong> parameters in <a href="/method/channels.deleteHistory">channels.deleteHistory</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/attachMenuBotIconColor">attachMenuBotIconColor</a> - Represents an attachment menu icon color for <a href="/api/bots/attach">bot web apps »</a></li>
<li>Added <a href="/constructor/attachMenuBotIcon">attachMenuBotIcon</a> - Represents an attachment menu icon for <a href="/api/bots/attach">bot web apps »</a></li>
<li>Added <a href="/constructor/attachMenuBot">attachMenuBot</a> - Represents a <a href="/api/bots/attach">bot web app that can be launched from the attachment menu »</a></li>
<li>Added <a href="/constructor/attachMenuBotsNotModified">attachMenuBotsNotModified</a> - The list of bot web apps hasn't changed</li>
<li>Added <a href="/constructor/attachMenuBots">attachMenuBots</a> - Represents a list of <a href="/api/bots/attach">bot web apps that can be launched from the attachment menu »</a></li>
<li>Added <a href="/constructor/attachMenuBotsBot">attachMenuBotsBot</a> - Represents a <a href="/api/bots/attach">bot web app that can be launched from the attachment menu »</a></li>
<li>Added <a href="/constructor/updateAttachMenuBots">updateAttachMenuBots</a> - The list of installed <a href="/api/bots/attach">attachment menu entries »</a> has changed, use <a href="/method/messages.getAttachMenuBots">messages.getAttachMenuBots</a> to fetch the updated list.</li>
<li>Added <a href="/constructor/webViewResultUrl">webViewResultUrl</a> - Contains the webview URL with appropriate theme and user info parameters added</li>
<li>Added <a href="/constructor/simpleWebViewResultUrl">simpleWebViewResultUrl</a> - Contains the webview URL with appropriate theme parameters added</li>
<li>Added <a href="/constructor/webViewMessageSent">webViewMessageSent</a> - Info about a sent inline webview message</li>
<li>Added <a href="/constructor/updateWebViewResultSent">updateWebViewResultSent</a> - Indicates to a bot that a webview was closed and an inline message was sent on behalf of the user using <a href="/method/messages.sendWebViewResultMessage">messages.sendWebViewResultMessage</a></li>
<li>Added <a href="/constructor/keyboardButtonWebView">keyboardButtonWebView</a> - Button to open a <a href="/api/bots/webapps">bot web app</a> using <a href="/method/messages.requestWebView">messages.requestWebView</a>, sending over user information after user confirmation.</li>
<li>Added <a href="/constructor/keyboardButtonSimpleWebView">keyboardButtonSimpleWebView</a> - Button to open a <a href="/api/bots/webapps">bot web app</a> using <a href="/method/messages.requestSimpleWebView">messages.requestSimpleWebView</a>, without sending user information to the web app.</li>
<li>Added <a href="/constructor/messageActionWebViewDataSentMe">messageActionWebViewDataSentMe</a> - Data from an opened <a href="/api/bots/webapps">reply keyboard bot web app</a> was relayed to the bot that owns it (bot side service message).</li>
<li>Added <a href="/constructor/messageActionWebViewDataSent">messageActionWebViewDataSent</a> - Data from an opened <a href="/api/bots/webapps">reply keyboard bot web app</a> was relayed to the bot that owns it (user side service message).</li>
<li>Added <a href="/constructor/updateBotMenuButton">updateBotMenuButton</a> - The menu button behavior for the specified bot has changed</li>
<li>Added <a href="/constructor/botMenuButtonDefault">botMenuButtonDefault</a> - Placeholder <a href="/api/bots/menu">bot menu button</a> never returned to users: see <a href="/api/bots/menu">the docs for more info</a>.</li>
<li>Added <a href="/constructor/botMenuButtonCommands">botMenuButtonCommands</a> - <a href="/api/bots/menu">Bot menu button</a> that opens the bot command list when clicked.</li>
<li>Added <a href="/constructor/botMenuButton">botMenuButton</a> - <a href="/api/bots/menu">Bot menu button</a> that opens a <a href="/api/bots/webapps">web app</a> when clicked.</li>
<li>Added <a href="/constructor/account.savedRingtonesNotModified">account.savedRingtonesNotModified</a> - The notification sound list hasn't changed.</li>
<li>Added <a href="/constructor/account.savedRingtones">account.savedRingtones</a> - A list of saved notification sounds</li>
<li>Added <a href="/constructor/updateSavedRingtones">updateSavedRingtones</a> - The list of saved notification sounds has changed, use <a href="/method/account.getSavedRingtones">account.getSavedRingtones</a> to fetch the new list.</li>
<li>Added <a href="/constructor/notificationSoundDefault">notificationSoundDefault</a> - Indicates the default notification sound should be used</li>
<li>Added <a href="/constructor/notificationSoundNone">notificationSoundNone</a> - No notification sound should be used</li>
<li>Added <a href="/constructor/notificationSoundLocal">notificationSoundLocal</a> - Indicates a specific local notification sound should be used</li>
<li>Added <a href="/constructor/notificationSoundRingtone">notificationSoundRingtone</a> - A specific previously uploaded notification sound should be used</li>
<li>Added <a href="/constructor/account.savedRingtone">account.savedRingtone</a> - The notification sound was already in MP3 format and was saved without any modification</li>
<li>Added <a href="/constructor/account.savedRingtoneConverted">account.savedRingtoneConverted</a> - The notification sound was not in MP3 format and was successfully converted and saved, use the returned <a href="/type/Document">Document</a> to refer to the notification sound from now on</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>kicked</strong> parameter in <a href="/constructor/chat">chat</a></li>
<li>Changed type of <strong>sound</strong> from <strong>flags.3?string</strong> to <strong>flags.3?NotificationSound</strong> in <a href="/constructor/inputPeerNotifySettings">inputPeerNotifySettings</a></li>
<li>Added <strong>ios_sound</strong>, <strong>android_sound</strong>, <strong>other_sound</strong> parameters, removed <strong>sound</strong> parameter in <a href="/constructor/peerNotifySettings">peerNotifySettings</a></li>
<li>Added <strong>bot_group_admin_rights</strong>, <strong>bot_broadcast_admin_rights</strong> parameters in <a href="/constructor/userFull">userFull</a></li>
<li>Added <strong>this_port_only</strong> parameter in <a href="/constructor/dcOption">dcOption</a></li>
<li>Added <strong>force_try_ipv6</strong> parameter in <a href="/constructor/config">config</a></li>
<li>Added <strong>bot_attach_menu</strong> parameter in <a href="/constructor/user">user</a></li>
<li>Added <strong>menu_button</strong> parameter in <a href="/constructor/botInfo">botInfo</a></li>
<li>Added <strong>flags2</strong>, <strong>can_delete_channel</strong> parameters in <a href="/constructor/channelFull">channelFull</a></li>
<li>Added <strong>recommended</strong> parameter 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/chat">chat</a>#41cbf256 flags:<a href="/type/%23">#</a> creator:flags.0?<a href="/constructor/true">true</a> left:flags.2?<a href="/constructor/true">true</a> deactivated:flags.5?<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> noforwards:flags.25?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> title:<a href="/type/string">string</a> photo:<a href="/type/ChatPhoto">ChatPhoto</a> participants_count:<a href="/type/int">int</a> date:<a href="/type/int">int</a> version:<a href="/type/int">int</a> migrated_to:flags.6?<a href="/type/InputChannel">InputChannel</a> admin_rights:flags.14?<a href="/type/ChatAdminRights">ChatAdminRights</a> default_banned_rights:flags.18?<a href="/type/ChatBannedRights">ChatBannedRights</a> = <a href="/type/Chat">Chat</a>;<br>
<a href="/constructor/inputPeerNotifySettings">inputPeerNotifySettings</a>#df1f002b 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> = <a href="/type/InputPeerNotifySettings">InputPeerNotifySettings</a>;<br>
<a href="/constructor/peerNotifySettings">peerNotifySettings</a>#a83b0426 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> = <a href="/type/PeerNotifySettings">PeerNotifySettings</a>;<br>
<a href="/constructor/userFull">userFull</a>#8c72ea81 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> 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> = <a href="/type/UserFull">UserFull</a>;<br>
<a href="/constructor/dcOption">dcOption</a>#18b7a10d flags:<a href="/type/%23">#</a> ipv6:flags.0?<a href="/constructor/true">true</a> media_only:flags.1?<a href="/constructor/true">true</a> tcpo_only:flags.2?<a href="/constructor/true">true</a> cdn:flags.3?<a href="/constructor/true">true</a> static:flags.4?<a href="/constructor/true">true</a> this_port_only:flags.5?<a href="/constructor/true">true</a> id:<a href="/type/int">int</a> ip_address:<a href="/type/string">string</a> port:<a href="/type/int">int</a> secret:flags.10?<a href="/type/bytes">bytes</a> = <a href="/type/DcOption">DcOption</a>;<br>
<a href="/constructor/config">config</a>#330b4067 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> = <a href="/type/Config">Config</a>;<br>
<a href="/constructor/user">user</a>#3ff6ecb0 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> 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> = <a href="/type/User">User</a>;<br>
<a href="/constructor/botInfo">botInfo</a>#e4169b5d user_id:<a href="/type/long">long</a> description:<a href="/type/string">string</a> commands:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/BotCommand">BotCommand</a>&gt; menu_button:<a href="/type/BotMenuButton">BotMenuButton</a> = <a href="/type/BotInfo">BotInfo</a>;<br>
<a href="/constructor/channelFull">channelFull</a>#ea68a619 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/Vector%20t">Vector</a>&lt;<a href="/type/string">string</a>&gt; = <a href="/type/ChatFull">ChatFull</a>;<br>
<a href="/constructor/sponsoredMessage">sponsoredMessage</a>#3a836df8 flags:<a href="/type/%23">#</a> recommended:flags.5?<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/attachMenuBotIconColor">attachMenuBotIconColor</a>#4576f3f0 name:<a href="/type/string">string</a> color:<a href="/type/int">int</a> = <a href="/type/AttachMenuBotIconColor">AttachMenuBotIconColor</a>;
<a href="/constructor/attachMenuBotIcon">attachMenuBotIcon</a>#b2a7386b flags:<a href="/type/%23">#</a> name:<a href="/type/string">string</a> icon:<a href="/type/Document">Document</a> colors:flags.0?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/AttachMenuBotIconColor">AttachMenuBotIconColor</a>&gt; = <a href="/type/AttachMenuBotIcon">AttachMenuBotIcon</a>;
<a href="/constructor/attachMenuBot">attachMenuBot</a>#e93cb772 flags:<a href="/type/%23">#</a> inactive:flags.0?<a href="/constructor/true">true</a> bot_id:<a href="/type/long">long</a> short_name:<a href="/type/string">string</a> icons:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/AttachMenuBotIcon">AttachMenuBotIcon</a>&gt; = <a href="/type/AttachMenuBot">AttachMenuBot</a>;
<a href="/constructor/attachMenuBotsNotModified">attachMenuBotsNotModified</a>#f1d88a5c = <a href="/type/AttachMenuBots">AttachMenuBots</a>;
<a href="/constructor/attachMenuBots">attachMenuBots</a>#3c4301c0 hash:<a href="/type/long">long</a> bots:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/AttachMenuBot">AttachMenuBot</a>&gt; users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; = <a href="/type/AttachMenuBots">AttachMenuBots</a>;
<a href="/constructor/attachMenuBotsBot">attachMenuBotsBot</a>#93bf667f bot:<a href="/type/AttachMenuBot">AttachMenuBot</a> users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; = <a href="/type/AttachMenuBotsBot">AttachMenuBotsBot</a>;<br>
<a href="/constructor/updateAttachMenuBots">updateAttachMenuBots</a>#17b7a20b = <a href="/type/Update">Update</a>;<br>
<a href="/constructor/webViewResultUrl">webViewResultUrl</a>#0c14557c query_id:<a href="/type/long">long</a> url:<a href="/type/string">string</a> = <a href="/type/WebViewResult">WebViewResult</a>;<br>
<a href="/constructor/simpleWebViewResultUrl">simpleWebViewResultUrl</a>#882f76bb url:<a href="/type/string">string</a> = <a href="/type/SimpleWebViewResult">SimpleWebViewResult</a>;<br>
<a href="/constructor/webViewMessageSent">webViewMessageSent</a>#0c94511c flags:<a href="/type/%23">#</a> msg_id:flags.0?<a href="/type/InputBotInlineMessageID">InputBotInlineMessageID</a> = <a href="/type/WebViewMessageSent">WebViewMessageSent</a>;<br>
<a href="/constructor/updateWebViewResultSent">updateWebViewResultSent</a>#1592b79d query_id:<a href="/type/long">long</a> = <a href="/type/Update">Update</a>;<br>
<a href="/constructor/keyboardButtonWebView">keyboardButtonWebView</a>#13767230 text:<a href="/type/string">string</a> url:<a href="/type/string">string</a> = <a href="/type/KeyboardButton">KeyboardButton</a>;
<a href="/constructor/keyboardButtonSimpleWebView">keyboardButtonSimpleWebView</a>#a0c0505c text:<a href="/type/string">string</a> url:<a href="/type/string">string</a> = <a href="/type/KeyboardButton">KeyboardButton</a>;<br>
<a href="/constructor/messageActionWebViewDataSentMe">messageActionWebViewDataSentMe</a>#47dd8079 text:<a href="/type/string">string</a> data:<a href="/type/string">string</a> = <a href="/type/MessageAction">MessageAction</a>;
<a href="/constructor/messageActionWebViewDataSent">messageActionWebViewDataSent</a>#b4c38cb5 text:<a href="/type/string">string</a> = <a href="/type/MessageAction">MessageAction</a>;<br>
<a href="/constructor/updateBotMenuButton">updateBotMenuButton</a>#14b85813 bot_id:<a href="/type/long">long</a> button:<a href="/type/BotMenuButton">BotMenuButton</a> = <a href="/type/Update">Update</a>;<br>
<a href="/constructor/botMenuButtonDefault">botMenuButtonDefault</a>#7533a588 = <a href="/type/BotMenuButton">BotMenuButton</a>;
<a href="/constructor/botMenuButtonCommands">botMenuButtonCommands</a>#4258c205 = <a href="/type/BotMenuButton">BotMenuButton</a>;
<a href="/constructor/botMenuButton">botMenuButton</a>#c7b57ce6 text:<a href="/type/string">string</a> url:<a href="/type/string">string</a> = <a href="/type/BotMenuButton">BotMenuButton</a>;<br>
<a href="/constructor/account.savedRingtonesNotModified">account.savedRingtonesNotModified</a>#fbf6e8b1 = <a href="/type/account.SavedRingtones">account.SavedRingtones</a>;
<a href="/constructor/account.savedRingtones">account.savedRingtones</a>#c1e92cc5 hash:<a href="/type/long">long</a> ringtones:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Document">Document</a>&gt; = <a href="/type/account.SavedRingtones">account.SavedRingtones</a>;<br>
<a href="/constructor/updateSavedRingtones">updateSavedRingtones</a>#74d8be99 = <a href="/type/Update">Update</a>;<br>
<a href="/constructor/notificationSoundDefault">notificationSoundDefault</a>#97e8bebe = <a href="/type/NotificationSound">NotificationSound</a>;
<a href="/constructor/notificationSoundNone">notificationSoundNone</a>#6f0c34df = <a href="/type/NotificationSound">NotificationSound</a>;
<a href="/constructor/notificationSoundLocal">notificationSoundLocal</a>#830b9ae4 title:<a href="/type/string">string</a> data:<a href="/type/string">string</a> = <a href="/type/NotificationSound">NotificationSound</a>;
<a href="/constructor/notificationSoundRingtone">notificationSoundRingtone</a>#ff6c8049 id:<a href="/type/long">long</a> = <a href="/type/NotificationSound">NotificationSound</a>;<br>
<a href="/constructor/account.savedRingtone">account.savedRingtone</a>#b7263f6d = <a href="/type/account.SavedRingtone">account.SavedRingtone</a>;
<a href="/constructor/account.savedRingtoneConverted">account.savedRingtoneConverted</a>#1f307eb7 document:<a href="/type/Document">Document</a> = <a href="/type/account.SavedRingtone">account.SavedRingtone</a>;<br>
---functions---<br>
<a href="/method/channels.deleteHistory">channels.deleteHistory</a>#9baa9647 flags:<a href="/type/%23">#</a> for_everyone:flags.0?<a href="/constructor/true">true</a> channel:<a href="/type/InputChannel">InputChannel</a> max_id:<a href="/type/int">int</a> = <a href="/type/Updates">Updates</a>;<br>
<a href="/method/messages.getAttachMenuBots">messages.getAttachMenuBots</a>#16fcc2cb hash:<a href="/type/long">long</a> = <a href="/type/AttachMenuBots">AttachMenuBots</a>;
<a href="/method/messages.getAttachMenuBot">messages.getAttachMenuBot</a>#77216192 bot:<a href="/type/InputUser">InputUser</a> = <a href="/type/AttachMenuBotsBot">AttachMenuBotsBot</a>;
<a href="/method/messages.toggleBotInAttachMenu">messages.toggleBotInAttachMenu</a>#1aee33af bot:<a href="/type/InputUser">InputUser</a> enabled:<a href="/type/Bool">Bool</a> = <a href="/type/Bool">Bool</a>;
<a href="/method/messages.requestWebView">messages.requestWebView</a>#0fa04dff 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> reply_to_msg_id:flags.0?<a href="/type/int">int</a> = <a href="/type/WebViewResult">WebViewResult</a>;
<a href="/method/messages.prolongWebView">messages.prolongWebView</a>#d22ad148 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> = <a href="/type/Bool">Bool</a>;
<a href="/method/messages.requestSimpleWebView">messages.requestSimpleWebView</a>#6abb2f73 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> = <a href="/type/SimpleWebViewResult">SimpleWebViewResult</a>;
<a href="/method/messages.sendWebViewResultMessage">messages.sendWebViewResultMessage</a>#0a4314f5 bot_query_id:<a href="/type/string">string</a> result:<a href="/type/InputBotInlineResult">InputBotInlineResult</a> = <a href="/type/WebViewMessageSent">WebViewMessageSent</a>;
<a href="/method/messages.sendWebViewData">messages.sendWebViewData</a>#dc0242c8 bot:<a href="/type/InputUser">InputUser</a> random_id:<a href="/type/long">long</a> button_text:<a href="/type/string">string</a> data:<a href="/type/string">string</a> = <a href="/type/Updates">Updates</a>;<br>
<a href="/method/bots.setBotMenuButton">bots.setBotMenuButton</a>#4504d54f user_id:<a href="/type/InputUser">InputUser</a> button:<a href="/type/BotMenuButton">BotMenuButton</a> = <a href="/type/Bool">Bool</a>;
<a href="/method/bots.getBotMenuButton">bots.getBotMenuButton</a>#9c60eb28 user_id:<a href="/type/InputUser">InputUser</a> = <a href="/type/BotMenuButton">BotMenuButton</a>;<br>
<a href="/method/account.getSavedRingtones">account.getSavedRingtones</a>#e1902288 hash:<a href="/type/long">long</a> = <a href="/type/account.SavedRingtones">account.SavedRingtones</a>;
<a href="/method/account.saveRingtone">account.saveRingtone</a>#3dea5b03 id:<a href="/type/InputDocument">InputDocument</a> unsave:<a href="/type/Bool">Bool</a> = <a href="/type/account.SavedRingtone">account.SavedRingtone</a>;
<a href="/method/account.uploadRingtone">account.uploadRingtone</a>#831a83a2 file:<a href="/type/InputFile">InputFile</a> file_name:<a href="/type/string">string</a> mime_type:<a href="/type/string">string</a> = <a href="/type/Document">Document</a>;<br>
<a href="/method/bots.setBotBroadcastDefaultAdminRights">bots.setBotBroadcastDefaultAdminRights</a>#788464e1 admin_rights:<a href="/type/ChatAdminRights">ChatAdminRights</a> = <a href="/type/Bool">Bool</a>;
<a href="/method/bots.setBotGroupDefaultAdminRights">bots.setBotGroupDefaultAdminRights</a>#925ec9ea admin_rights:<a href="/type/ChatAdminRights">ChatAdminRights</a> = <a href="/type/Bool">Bool</a>;<br>
<a href="/method/phone.saveCallLog">phone.saveCallLog</a>#41248786 peer:<a href="/type/InputPhoneCall">InputPhoneCall</a> file:<a href="/type/InputFile">InputFile</a> = <a href="/type/Bool">Bool</a>;<br></code></pre></div>
<h3><a class="anchor" href="#layer-139" id="layer-139" name="layer-139"><i class="anchor-icon"></i></a><a href="/schema?layer=139">Layer 139</a></h3>
<p><a href="https://telegram.org/blog/downloads-attachments-streaming#live-streaming-with-other-apps">RTMP streams in group calls and livestreams</a>, <a href="https://telegram.org/blog/downloads-attachments-streaming#phone-number-links">link to users by their phone number</a>, <a href="https://telegram.org/blog/downloads-attachments-streaming#new-attachment-menu">browse recently sent media</a> and new report options for illegal drugs and personal details.</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/contacts.resolvePhone">contacts.resolvePhone</a> - Resolve a phone number to get user info, if their privacy settings allow it.</li>
<li>Added <a href="/method/phone.getGroupCallStreamChannels">phone.getGroupCallStreamChannels</a> - Get info about RTMP streams in a group call or livestream. </li>
<li>Added <a href="/method/phone.getGroupCallStreamRtmpUrl">phone.getGroupCallStreamRtmpUrl</a> - Get RTMP URL and stream key for RTMP livestreams. Can be used even before creating the actual RTMP livestream with <a href="/method/phone.createGroupCall">phone.createGroupCall</a> (the <code>rtmp_stream</code> flag must be set).</li>
<li>Added <a href="/method/messages.searchSentMedia">messages.searchSentMedia</a> - View and search recently sent 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>rtmp_stream</strong> parameter in <a href="/method/phone.createGroupCall">phone.createGroupCall</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/groupCallStreamChannel">groupCallStreamChannel</a> - Info about an RTMP stream in a group call or livestream</li>
<li>Added <a href="/constructor/phone.groupCallStreamChannels">phone.groupCallStreamChannels</a> - Info about RTMP streams in a group call or livestream</li>
<li>Added <a href="/constructor/inputReportReasonIllegalDrugs">inputReportReasonIllegalDrugs</a> - Report for illegal drugs</li>
<li>Added <a href="/constructor/inputReportReasonPersonalDetails">inputReportReasonPersonalDetails</a> - Report for divulgation of personal details</li>
<li>Added <a href="/constructor/phone.groupCallStreamRtmpUrl">phone.groupCallStreamRtmpUrl</a> - RTMP URL and stream key to be used in streaming software</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>rtmp_stream</strong>, <strong>listeners_hidden</strong> parameters in <a href="/constructor/groupCall">groupCall</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/groupCall">groupCall</a>#d597650c flags:<a href="/type/%23">#</a> join_muted:flags.1?<a href="/constructor/true">true</a> can_change_join_muted:flags.2?<a href="/constructor/true">true</a> join_date_asc:flags.6?<a href="/constructor/true">true</a> schedule_start_subscribed:flags.8?<a href="/constructor/true">true</a> can_start_video:flags.9?<a href="/constructor/true">true</a> record_video_active:flags.11?<a href="/constructor/true">true</a> rtmp_stream:flags.12?<a href="/constructor/true">true</a> listeners_hidden:flags.13?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> access_hash:<a href="/type/long">long</a> participants_count:<a href="/type/int">int</a> title:flags.3?<a href="/type/string">string</a> stream_dc_id:flags.4?<a href="/type/int">int</a> record_start_date:flags.5?<a href="/type/int">int</a> schedule_date:flags.7?<a href="/type/int">int</a> unmuted_video_count:flags.10?<a href="/type/int">int</a> unmuted_video_limit:<a href="/type/int">int</a> version:<a href="/type/int">int</a> = <a href="/type/GroupCall">GroupCall</a>;
<a href="/constructor/groupCallStreamChannel">groupCallStreamChannel</a>#80eb48af channel:<a href="/type/int">int</a> scale:<a href="/type/int">int</a> last_timestamp_ms:<a href="/type/long">long</a> = <a href="/type/GroupCallStreamChannel">GroupCallStreamChannel</a>;<br>
<a href="/constructor/phone.groupCallStreamChannels">phone.groupCallStreamChannels</a>#d0e482b2 channels:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/GroupCallStreamChannel">GroupCallStreamChannel</a>&gt; = <a href="/type/phone.GroupCallStreamChannels">phone.GroupCallStreamChannels</a>;<br>
<a href="/constructor/inputReportReasonIllegalDrugs">inputReportReasonIllegalDrugs</a>#0a8eb2be = <a href="/type/ReportReason">ReportReason</a>;
<a href="/constructor/inputReportReasonPersonalDetails">inputReportReasonPersonalDetails</a>#9ec7863d = <a href="/type/ReportReason">ReportReason</a>;<br>
<a href="/constructor/phone.groupCallStreamRtmpUrl">phone.groupCallStreamRtmpUrl</a>#2dbf3432 url:<a href="/type/string">string</a> key:<a href="/type/string">string</a> = <a href="/type/phone.GroupCallStreamRtmpUrl">phone.GroupCallStreamRtmpUrl</a>;<br>
---functions---<br>
<a href="/method/phone.createGroupCall">phone.createGroupCall</a>#48cdc6d8 flags:<a href="/type/%23">#</a> rtmp_stream:flags.2?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> random_id:<a href="/type/int">int</a> title:flags.0?<a href="/type/string">string</a> schedule_date:flags.1?<a href="/type/int">int</a> = <a href="/type/Updates">Updates</a>;<br>
<a href="/method/contacts.resolvePhone">contacts.resolvePhone</a>#8af94344 phone:<a href="/type/string">string</a> = <a href="/type/contacts.ResolvedPeer">contacts.ResolvedPeer</a>;<br>
<a href="/method/phone.getGroupCallStreamChannels">phone.getGroupCallStreamChannels</a>#1ab21940 call:<a href="/type/InputGroupCall">InputGroupCall</a> = <a href="/type/phone.GroupCallStreamChannels">phone.GroupCallStreamChannels</a>;
<a href="/method/phone.getGroupCallStreamRtmpUrl">phone.getGroupCallStreamRtmpUrl</a>#deb3abbf peer:<a href="/type/InputPeer">InputPeer</a> revoke:<a href="/type/Bool">Bool</a> = <a href="/type/phone.GroupCallStreamRtmpUrl">phone.GroupCallStreamRtmpUrl</a>;<br>
<a href="/method/messages.searchSentMedia">messages.searchSentMedia</a>#107e31a0 q:<a href="/type/string">string</a> filter:<a href="/type/MessagesFilter">MessagesFilter</a> limit:<a href="/type/int">int</a> = <a href="/type/messages.Messages">messages.Messages</a>;<br></code></pre></div>
<h3><a class="anchor" href="#layer-138" id="layer-138" name="layer-138"><i class="anchor-icon"></i></a><a href="/schema?layer=138">Layer 138</a></h3>
<p><a href="https://telegram.org/blog/video-stickers-better-reactions#video-stickers">Video stickers</a>, <a href="https://telegram.org/blog/video-stickers-better-reactions#better-reactions">better 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/messages.getUnreadReactions">messages.getUnreadReactions</a> - Get unread reactions to messages you sent</li>
<li>Added <a href="/method/messages.readReactions">messages.readReactions</a> - Mark <a href="/api/reactions">message reactions »</a> as read</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>videos</strong> parameter 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/messagePeerReaction">messagePeerReaction</a> - How a certain peer reacted to the message</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>unread_reactions_count</strong> parameter in <a href="/constructor/dialog">dialog</a></li>
<li>Added <strong>videos</strong> parameter in <a href="/constructor/stickerSet">stickerSet</a></li>
<li>Added <strong>recent_reactions</strong> parameter, removed <strong>recent_reactons</strong> parameter in <a href="/constructor/messageReactions">messageReactions</a></li>
<li>Added <strong>chats</strong> parameter, changed type of <strong>reactions</strong> from <strong>Vector&lt;MessageUserReaction&gt;</strong> to <strong>Vector&lt;MessagePeerReaction&gt;</strong> in <a href="/constructor/messages.messageReactionsList">messages.messageReactionsList</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 messageUserReaction</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>#a8edd0f5 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> = <a href="/type/Dialog">Dialog</a>;<br>
<a href="/constructor/stickerSet">stickerSet</a>#d7df217a 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> 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> count:<a href="/type/int">int</a> hash:<a href="/type/int">int</a> = <a href="/type/StickerSet">StickerSet</a>;<br>
<a href="/constructor/messageReactions">messageReactions</a>#4f2b9479 flags:<a href="/type/%23">#</a> min:flags.0?<a href="/constructor/true">true</a> can_see_list:flags.2?<a href="/constructor/true">true</a> results:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/ReactionCount">ReactionCount</a>&gt; recent_reactions:flags.1?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessagePeerReaction">MessagePeerReaction</a>&gt; = <a href="/type/MessageReactions">MessageReactions</a>;
<a href="/constructor/messages.messageReactionsList">messages.messageReactionsList</a>#31bd492d 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/MessagePeerReaction">MessagePeerReaction</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.MessageReactionsList">messages.MessageReactionsList</a>;
<a href="/constructor/messagePeerReaction">messagePeerReaction</a>#51b67eff 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/string">string</a> = <a href="/type/MessagePeerReaction">MessagePeerReaction</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> 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.getUnreadReactions">messages.getUnreadReactions</a>#e85bae1a peer:<a href="/type/InputPeer">InputPeer</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>#82e251d7 peer:<a href="/type/InputPeer">InputPeer</a> = <a href="/type/messages.AffectedHistory">messages.AffectedHistory</a>;<br></code></pre></div>
<h3><a class="anchor" href="#layer-137" id="layer-137" name="layer-137"><i class="anchor-icon"></i></a><a href="/schema?layer=137">Layer 137</a></h3>
<p><a href="https://telegram.org/blog/reactions-spoilers-translations#spoilers">Message translation</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.translateText">messages.translateText</a> - Translate a given text.</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.translateNoResult">messages.translateNoResult</a> - No translation is available</li>
<li>Added <a href="/constructor/messages.translateResultText">messages.translateResultText</a> - Translated text</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>around_animation</strong>, <strong>center_icon</strong> parameters in <a href="/constructor/availableReaction">availableReaction</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/availableReaction">availableReaction</a>#c077ec01 flags:<a href="/type/%23">#</a> inactive:flags.0?<a href="/constructor/true">true</a> reaction:<a href="/type/string">string</a> title:<a href="/type/string">string</a> static_icon:<a href="/type/Document">Document</a> appear_animation:<a href="/type/Document">Document</a> select_animation:<a href="/type/Document">Document</a> activate_animation:<a href="/type/Document">Document</a> effect_animation:<a href="/type/Document">Document</a> around_animation:flags.1?<a href="/type/Document">Document</a> center_icon:flags.1?<a href="/type/Document">Document</a> = <a href="/type/AvailableReaction">AvailableReaction</a>;<br>
<a href="/constructor/messages.translateNoResult">messages.translateNoResult</a>#67ca4737 = <a href="/type/messages.TranslatedText">messages.TranslatedText</a>;
<a href="/constructor/messages.translateResultText">messages.translateResultText</a>#a214f7d0 text:<a href="/type/string">string</a> = <a href="/type/messages.TranslatedText">messages.TranslatedText</a>;<br>
---functions---<br>
<a href="/method/messages.translateText">messages.translateText</a>#24ce6dee flags:<a href="/type/%23">#</a> peer:flags.0?<a href="/type/InputPeer">InputPeer</a> msg_id:flags.0?<a href="/type/int">int</a> text:flags.1?<a href="/type/string">string</a> from_lang:flags.2?<a href="/type/string">string</a> to_lang:<a href="/type/string">string</a> = <a href="/type/messages.TranslatedText">messages.TranslatedText</a>;<br></code></pre></div>
<h3><a class="anchor" href="#layer-136" id="layer-136" name="layer-136"><i class="anchor-icon"></i></a><a href="/schema?layer=136">Layer 136</a></h3>
<p><a href="https://telegram.org/blog/reactions-spoilers-translations#reactions">Reactions</a>, <a href="https://telegram.org/blog/reactions-spoilers-translations#spoilers">spoilers</a> and sponsored message improvements.</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.sendReaction">messages.sendReaction</a> - React to message.</li>
<li>Added <a href="/method/messages.getMessagesReactions">messages.getMessagesReactions</a> - Get <a href="/api/reactions">message reactions »</a></li>
<li>Added <a href="/method/messages.getMessageReactionsList">messages.getMessageReactionsList</a> - Get <a href="/api/reactions">message reaction</a> list, along with the sender of each reaction.</li>
<li>Added <a href="/method/messages.setChatAvailableReactions">messages.setChatAvailableReactions</a> - Change the set of <a href="/api/reactions">message reactions »</a> that can be used in a certain group, supergroup or channel</li>
<li>Added <a href="/method/messages.getAvailableReactions">messages.getAvailableReactions</a> - Obtain available <a href="/api/reactions">message reactions »</a></li>
<li>Added <a href="/method/messages.setDefaultReaction">messages.setDefaultReaction</a> - Change default emoji reaction to use in the quick reaction menu: the value is synced across devices and can be fetched using <a href="/method/help.getConfig">help.getConfig, <code>reactions_default</code> field</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/updateMessageReactions">updateMessageReactions</a> - New <a href="/api/reactions">message reactions »</a> are available</li>
<li>Added <a href="/constructor/reactionCount">reactionCount</a> - Reactions</li>
<li>Added <a href="/constructor/messageReactions">messageReactions</a> - <a href="/api/reactions">Message reactions »</a></li>
<li>Added <a href="/constructor/messageUserReaction">messageUserReaction</a> - Message reaction</li>
<li>Added <a href="/constructor/messages.messageReactionsList">messages.messageReactionsList</a> - List of peers that reacted to a specific message</li>
<li>Added <a href="/constructor/availableReaction">availableReaction</a> - Animations associated with a message reaction</li>
<li>Added <a href="/constructor/messages.availableReactionsNotModified">messages.availableReactionsNotModified</a> - No new reactions are available</li>
<li>Added <a href="/constructor/messages.availableReactions">messages.availableReactions</a> - Animations and metadata associated with <a href="/api/reactions">message reactions »</a></li>
<li>Added <a href="/constructor/messageEntitySpoiler">messageEntitySpoiler</a> - Message entity representing a spoiler</li>
<li>Added <a href="/constructor/channelAdminLogEventActionChangeAvailableReactions">channelAdminLogEventActionChangeAvailableReactions</a> - The set of allowed <a href="/api/reactions">message reactions »</a> for this channel 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>available_reactions</strong> parameter in <a href="/constructor/chatFull">chatFull</a></li>
<li>Added <strong>reactions</strong> parameter in <a href="/constructor/message">message</a></li>
<li>Added <strong>available_reactions</strong> parameter in <a href="/constructor/channelFull">channelFull</a></li>
<li>Added <strong>chat_invite</strong>, <strong>chat_invite_hash</strong> parameters, changed type of <strong>from_id</strong> from <strong>Peer</strong> to <strong>flags.3?Peer</strong> in <a href="/constructor/sponsoredMessage">sponsoredMessage</a></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">CHAT_REACT_AUDIO</a> - <code>{1}: {3} to your voice message in {2}</code></li>
<li>Added <a href="/api/push-updates#possible-notifications">CHAT_REACT_CONTACT</a> - <code>{1}: {3} to your contact {4} in {2}</code></li>
<li>Added <a href="/api/push-updates#possible-notifications">CHAT_REACT_DOC</a> - <code>{1}: {3} to your file in {2}</code></li>
<li>Added <a href="/api/push-updates#possible-notifications">CHAT_REACT_GAME</a> - <code>{1}: {3} to your game in {2}</code></li>
<li>Added <a href="/api/push-updates#possible-notifications">CHAT_REACT_GEO</a> - <code>{1}: {3} to your map in {2}</code></li>
<li>Added <a href="/api/push-updates#possible-notifications">CHAT_REACT_GEOLIVE</a> - <code>{1}: {3} to your live location in {2}</code></li>
<li>Added <a href="/api/push-updates#possible-notifications">CHAT_REACT_GIF</a> - <code>{1}: {3} to your GIF in {2}</code></li>
<li>Added <a href="/api/push-updates#possible-notifications">CHAT_REACT_INVOICE</a> - <code>{1}: {3} to your invoice in {2}</code></li>
<li>Added <a href="/api/push-updates#possible-notifications">CHAT_REACT_NOTEXT</a> - <code>{1}: {3} to your message in {2}</code></li>
<li>Added <a href="/api/push-updates#possible-notifications">CHAT_REACT_PHOTO</a> - <code>{1}: {3} to your photo in {2}</code></li>
<li>Added <a href="/api/push-updates#possible-notifications">CHAT_REACT_POLL</a> - <code>{1}: {3} to your poll {4} in {2}</code></li>
<li>Added <a href="/api/push-updates#possible-notifications">CHAT_REACT_QUIZ</a> - <code>{1}: {3} to your quiz {4} in {2}</code></li>
<li>Added <a href="/api/push-updates#possible-notifications">CHAT_REACT_ROUND</a> - <code>{1}: {3} to your video message in {2}</code></li>
<li>Added <a href="/api/push-updates#possible-notifications">CHAT_REACT_STICKER</a> - <code>{1}: {3} to your {4} sticker in {2}</code></li>
<li>Added <a href="/api/push-updates#possible-notifications">CHAT_REACT_TEXT</a> - <code>{1}: {3} in {2} to your "{4}"</code></li>
<li>Added <a href="/api/push-updates#possible-notifications">CHAT_REACT_VIDEO</a> - <code>{1}: {3} to your video in {2}</code></li>
<li>Added <a href="/api/push-updates#possible-notifications">REACT_AUDIO</a> - <code>{1}: {2} to your voice message</code></li>
<li>Added <a href="/api/push-updates#possible-notifications">REACT_CONTACT</a> - <code>{1}: {2} to your contact {3}</code></li>
<li>Added <a href="/api/push-updates#possible-notifications">REACT_DOC</a> - <code>{1}: {2} to your file</code></li>
<li>Added <a href="/api/push-updates#possible-notifications">REACT_GAME</a> - <code>{1}: {2} to your game</code></li>
<li>Added <a href="/api/push-updates#possible-notifications">REACT_GEO</a> - <code>{1}: {2} to your map</code></li>
<li>Added <a href="/api/push-updates#possible-notifications">REACT_GEOLIVE</a> - <code>{1}: {2} to your live location</code></li>
<li>Added <a href="/api/push-updates#possible-notifications">REACT_GIF</a> - <code>{1}: {2} to your GIF</code></li>
<li>Added <a href="/api/push-updates#possible-notifications">REACT_INVOICE</a> - <code>{1}: {2} to your invoice</code></li>
<li>Added <a href="/api/push-updates#possible-notifications">REACT_NOTEXT</a> - <code>{1}: {2} to your message</code></li>
<li>Added <a href="/api/push-updates#possible-notifications">REACT_PHOTO</a> - <code>{1}: {2} to your photo</code></li>
<li>Added <a href="/api/push-updates#possible-notifications">REACT_POLL</a> - <code>{1}: {2} to your poll {3}</code></li>
<li>Added <a href="/api/push-updates#possible-notifications">REACT_QUIZ</a> - <code>{1}: {2} to your quiz {3}</code></li>
<li>Added <a href="/api/push-updates#possible-notifications">REACT_ROUND</a> - <code>{1}: {2} to your video message</code></li>
<li>Added <a href="/api/push-updates#possible-notifications">REACT_STICKER</a> - <code>{1}: {2} to your {3} sticker</code></li>
<li>Added <a href="/api/push-updates#possible-notifications">REACT_TEXT</a> - <code>{1}: {2} to your "{3}"</code></li>
<li>Added <a href="/api/push-updates#possible-notifications">REACT_VIDEO</a> - <code>{1}: {2} to your video</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/chatFull">chatFull</a>#d18ee226 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/Vector%20t">Vector</a>&lt;<a href="/type/string">string</a>&gt; = <a href="/type/ChatFull">ChatFull</a>;<br>
<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> 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/channelFull">channelFull</a>#e13c3d20 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> 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/Vector%20t">Vector</a>&lt;<a href="/type/string">string</a>&gt; = <a href="/type/ChatFull">ChatFull</a>;<br>
<a href="/constructor/sponsoredMessage">sponsoredMessage</a>#3a836df8 flags:<a href="/type/%23">#</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/updateMessageReactions">updateMessageReactions</a>#154798c3 peer:<a href="/type/Peer">Peer</a> msg_id:<a href="/type/int">int</a> reactions:<a href="/type/MessageReactions">MessageReactions</a> = <a href="/type/Update">Update</a>;<br>
<a href="/constructor/reactionCount">reactionCount</a>#6fb250d1 flags:<a href="/type/%23">#</a> chosen:flags.0?<a href="/constructor/true">true</a> reaction:<a href="/type/string">string</a> count:<a href="/type/int">int</a> = <a href="/type/ReactionCount">ReactionCount</a>;<br>
<a href="/constructor/messageReactions">messageReactions</a>#087b6e36 flags:<a href="/type/%23">#</a> min:flags.0?<a href="/constructor/true">true</a> can_see_list:flags.2?<a href="/constructor/true">true</a> results:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/ReactionCount">ReactionCount</a>&gt; recent_reactons:flags.1?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageUserReaction">MessageUserReaction</a>&gt; = <a href="/type/MessageReactions">MessageReactions</a>;
<a href="/constructor/messageUserReaction">messageUserReaction</a>#932844fa user_id:<a href="/type/long">long</a> reaction:<a href="/type/string">string</a> = <a href="/type/MessageUserReaction">MessageUserReaction</a>;
<a href="/constructor/messages.messageReactionsList">messages.messageReactionsList</a>#a366923c 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/MessageUserReaction">MessageUserReaction</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.MessageReactionsList">messages.MessageReactionsList</a>;<br>
<a href="/constructor/availableReaction">availableReaction</a>#021d7c4b flags:<a href="/type/%23">#</a> inactive:flags.0?<a href="/constructor/true">true</a> reaction:<a href="/type/string">string</a> title:<a href="/type/string">string</a> static_icon:<a href="/type/Document">Document</a> appear_animation:<a href="/type/Document">Document</a> select_animation:<a href="/type/Document">Document</a> activate_animation:<a href="/type/Document">Document</a> effect_animation:<a href="/type/Document">Document</a> = <a href="/type/AvailableReaction">AvailableReaction</a>;<br>
<a href="/constructor/messages.availableReactionsNotModified">messages.availableReactionsNotModified</a>#9f071957 = <a href="/type/messages.AvailableReactions">messages.AvailableReactions</a>;
<a href="/constructor/messages.availableReactions">messages.availableReactions</a>#768e3aad hash:<a href="/type/int">int</a> reactions:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/AvailableReaction">AvailableReaction</a>&gt; = <a href="/type/messages.AvailableReactions">messages.AvailableReactions</a>;
<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>;<br>
<a href="/constructor/channelAdminLogEventActionChangeAvailableReactions">channelAdminLogEventActionChangeAvailableReactions</a>#9cf7f76a 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>;<br>
---functions---<br>
<a href="/method/messages.sendReaction">messages.sendReaction</a>#25690ce4 flags:<a href="/type/%23">#</a> big:flags.1?<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/string">string</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/messages.getMessagesReactions">messages.getMessagesReactions</a>#8bba90e6 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>;
<a href="/method/messages.getMessageReactionsList">messages.getMessageReactionsList</a>#e0ee6b77 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/string">string</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>#14050ea6 peer:<a href="/type/InputPeer">InputPeer</a> available_reactions:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/string">string</a>&gt; = <a href="/type/Updates">Updates</a>;
<a href="/method/messages.getAvailableReactions">messages.getAvailableReactions</a>#18dea0ac hash:<a href="/type/int">int</a> = <a href="/type/messages.AvailableReactions">messages.AvailableReactions</a>;
<a href="/method/messages.setDefaultReaction">messages.setDefaultReaction</a>#d960c4d4 reaction:<a href="/type/string">string</a> = <a href="/type/Bool">Bool</a>;<br></code></pre></div>
<h3><a class="anchor" href="#layer-135" id="layer-135" name="layer-135"><i class="anchor-icon"></i></a><a href="/schema?layer=135">Layer 135</a></h3>
<p><a href="https://telegram.org/blog/protected-content-delete-by-date-and-more#anonymous-posting-in-public-groups">Anonymous posting in public groups</a>, <a href="https://telegram.org/blog/protected-content-delete-by-date-and-more#protected-content-in-groups-and-channels">protected content</a>, <a href="https://telegram.org/blog/protected-content-delete-by-date-and-more#manage-connected-devices">device management</a>, <a href="https://telegram.org/blog/protected-content-delete-by-date-and-more#new-ways-to-log-in-via-call">login via missed call</a>, <a href="/constructor/inputKeyboardButtonUserProfile">mention users in inline buttons even if they don't have a username</a>, <a href="/api/auth#future-auth-tokens">future auth tokens</a>, improvements to join requests and stickers.</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.hideAllChatJoinRequests">messages.hideAllChatJoinRequests</a> - Dismiss or approve all <a href="/api/invites#join-requests">join requests</a> related to a specific chat or channel.</li>
<li>Added <a href="/method/messages.toggleNoForwards">messages.toggleNoForwards</a> - Enable or disable <a href="https://telegram.org/blog/protected-content-delete-by-date-and-more">content protection</a> on a channel or chat</li>
<li>Added <a href="/method/messages.saveDefaultSendAs">messages.saveDefaultSendAs</a> - Change the default peer that should be used when sending messages to a specific group</li>
<li>Added <a href="/method/channels.getSendAs">channels.getSendAs</a> - Obtains a list of peers that can be used to send messages in a specific group</li>
<li>Added <a href="/method/account.setAuthorizationTTL">account.setAuthorizationTTL</a> - Set time-to-live of current session</li>
<li>Added <a href="/method/account.changeAuthorizationSettings">account.changeAuthorizationSettings</a> - Change authorization settings</li>
<li>Added <a href="/method/channels.deleteParticipantHistory">channels.deleteParticipantHistory</a> - Delete all messages sent by a specific participant of a given supergroup</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/auth.logOut">auth.logOut</a> from <strong>Bool</strong> to <strong>auth.LoggedOut</strong></li>
<li>Changed type of <a href="/method/users.getFullUser">users.getFullUser</a> from <strong>UserFull</strong> to <strong>users.UserFull</strong></li>
<li>Added <strong>noforwards</strong>, <strong>send_as</strong> parameters in <a href="/method/messages.sendMessage">messages.sendMessage</a></li>
<li>Added <strong>noforwards</strong>, <strong>send_as</strong> parameters in <a href="/method/messages.sendMedia">messages.sendMedia</a></li>
<li>Added <strong>noforwards</strong>, <strong>send_as</strong> parameters in <a href="/method/messages.forwardMessages">messages.forwardMessages</a></li>
<li>Changed type of <a href="/method/messages.getPeerSettings">messages.getPeerSettings</a> from <strong>PeerSettings</strong> to <strong>messages.PeerSettings</strong></li>
<li>Added <strong>hash</strong> parameter in <a href="/method/messages.getStickerSet">messages.getStickerSet</a></li>
<li>Added <strong>participant</strong> parameter, removed <strong>user_id</strong> parameter in <a href="/method/channels.reportSpam">channels.reportSpam</a></li>
<li>Added <strong>send_as</strong> parameter in <a href="/method/messages.sendInlineBotResult">messages.sendInlineBotResult</a></li>
<li>Added <strong>noforwards</strong>, <strong>send_as</strong> parameters 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 channels.deleteUserHistory</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/inputKeyboardButtonUserProfile">inputKeyboardButtonUserProfile</a> - Button that links directly to a user profile</li>
<li>Added <a href="/constructor/keyboardButtonUserProfile">keyboardButtonUserProfile</a> - Button that links directly to a user profile</li>
<li>Added <a href="/constructor/channels.sendAsPeers">channels.sendAsPeers</a> - A list of peers that can be used to send messages in a specific group</li>
<li>Added <a href="/constructor/channelAdminLogEventActionToggleNoForwards">channelAdminLogEventActionToggleNoForwards</a> - Forwards were enabled or disabled</li>
<li>Added <a href="/constructor/messages.stickerSetNotModified">messages.stickerSetNotModified</a> - The stickerset hasn't changed</li>
<li>Added <a href="/constructor/users.userFull">users.userFull</a> - Full user information</li>
<li>Added <a href="/constructor/messages.peerSettings">messages.peerSettings</a> - Peer settings</li>
<li>Added <a href="/constructor/channelAdminLogEventActionSendMessage">channelAdminLogEventActionSendMessage</a> - A message was posted in a channel</li>
<li>Added <a href="/constructor/auth.codeTypeMissedCall">auth.codeTypeMissedCall</a> - The next time, the authentication code will be delivered via an immediately canceled incoming call, handled manually by the user.</li>
<li>Added <a href="/constructor/auth.sentCodeTypeMissedCall">auth.sentCodeTypeMissedCall</a> - The code will be sent via a flash phone call, that will be closed immediately. The last digits of the phone number that calls are the code that must be entered manually by the user.</li>
<li>Added <a href="/constructor/auth.loggedOut">auth.loggedOut</a> - <a href="/api/auth#future-auth-tokens">Future auth token »</a> to be used on subsequent authorizations</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>noforwards</strong> parameter in <a href="/constructor/chat">chat</a></li>
<li>Added <strong>noforwards</strong> parameter in <a href="/constructor/message">message</a></li>
<li>Added <strong>setup_password_required</strong>, <strong>otherwise_relogin_days</strong> parameters in <a href="/constructor/auth.authorization">auth.authorization</a></li>
<li>Added <strong>request_chat_broadcast</strong>, <strong>request_chat_title</strong>, <strong>request_chat_date</strong> parameters in <a href="/constructor/peerSettings">peerSettings</a></li>
<li>Added <strong>id</strong>, <strong>private_forward_name</strong> parameters, removed <strong>user</strong> parameter in <a href="/constructor/userFull">userFull</a></li>
<li>Added <strong>encrypted_requests_disabled</strong>, <strong>call_requests_disabled</strong> parameters in <a href="/constructor/authorization">authorization</a></li>
<li>Added <strong>authorization_ttl_days</strong> parameter in <a href="/constructor/account.authorizations">account.authorizations</a></li>
<li>Added <strong>noforwards</strong> parameter in <a href="/constructor/channel">channel</a></li>
<li>Added <strong>default_send_as</strong> parameter in <a href="/constructor/channelFull">channelFull</a></li>
<li>Added <strong>allow_missed_call</strong>, <strong>logout_tokens</strong> parameters in <a href="/constructor/codeSettings">codeSettings</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/chat">chat</a>#41cbf256 flags:<a href="/type/%23">#</a> creator:flags.0?<a href="/constructor/true">true</a> kicked:flags.1?<a href="/constructor/true">true</a> left:flags.2?<a href="/constructor/true">true</a> deactivated:flags.5?<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> noforwards:flags.25?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> title:<a href="/type/string">string</a> photo:<a href="/type/ChatPhoto">ChatPhoto</a> participants_count:<a href="/type/int">int</a> date:<a href="/type/int">int</a> version:<a href="/type/int">int</a> migrated_to:flags.6?<a href="/type/InputChannel">InputChannel</a> admin_rights:flags.14?<a href="/type/ChatAdminRights">ChatAdminRights</a> default_banned_rights:flags.18?<a href="/type/ChatBannedRights">ChatBannedRights</a> = <a href="/type/Chat">Chat</a>;<br>
<a href="/constructor/message">message</a>#85d6cbe2 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> 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> 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/auth.authorization">auth.authorization</a>#33fb7bb8 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> user:<a href="/type/User">User</a> = <a href="/type/auth.Authorization">auth.Authorization</a>;<br>
<a href="/constructor/peerSettings">peerSettings</a>#a518110d flags:<a href="/type/%23">#</a> report_spam:flags.0?<a href="/constructor/true">true</a> add_contact:flags.1?<a href="/constructor/true">true</a> block_contact:flags.2?<a href="/constructor/true">true</a> share_contact:flags.3?<a href="/constructor/true">true</a> need_contacts_exception:flags.4?<a href="/constructor/true">true</a> report_geo:flags.5?<a href="/constructor/true">true</a> autoarchived:flags.7?<a href="/constructor/true">true</a> invite_members:flags.8?<a href="/constructor/true">true</a> request_chat_broadcast:flags.10?<a href="/constructor/true">true</a> geo_distance:flags.6?<a href="/type/int">int</a> request_chat_title:flags.9?<a href="/type/string">string</a> request_chat_date:flags.9?<a href="/type/int">int</a> = <a href="/type/PeerSettings">PeerSettings</a>;<br>
<a href="/constructor/userFull">userFull</a>#cf366521 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> 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> = <a href="/type/UserFull">UserFull</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> 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>;
<a href="/constructor/account.authorizations">account.authorizations</a>#4bff8ea0 authorization_ttl_days:<a href="/type/int">int</a> authorizations:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Authorization">Authorization</a>&gt; = <a href="/type/account.Authorizations">account.Authorizations</a>;<br>
<a href="/constructor/channel">channel</a>#8261ac61 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> 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> = <a href="/type/Chat">Chat</a>;
<a href="/constructor/channelFull">channelFull</a>#56662e2e 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> 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> = <a href="/type/ChatFull">ChatFull</a>;
<a href="/constructor/codeSettings">codeSettings</a>#8a6469c2 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> logout_tokens:flags.6?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/bytes">bytes</a>&gt; = <a href="/type/CodeSettings">CodeSettings</a>;<br>
<a href="/constructor/inputKeyboardButtonUserProfile">inputKeyboardButtonUserProfile</a>#e988037b text:<a href="/type/string">string</a> user_id:<a href="/type/InputUser">InputUser</a> = <a href="/type/KeyboardButton">KeyboardButton</a>;<br>
<a href="/constructor/keyboardButtonUserProfile">keyboardButtonUserProfile</a>#308660c1 text:<a href="/type/string">string</a> user_id:<a href="/type/long">long</a> = <a href="/type/KeyboardButton">KeyboardButton</a>;<br>
<a href="/constructor/channels.sendAsPeers">channels.sendAsPeers</a>#8356cda9 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/channels.SendAsPeers">channels.SendAsPeers</a>;
<a href="/constructor/channelAdminLogEventActionToggleNoForwards">channelAdminLogEventActionToggleNoForwards</a>#cb2ac766 new_value:<a href="/type/Bool">Bool</a> = <a href="/type/ChannelAdminLogEventAction">ChannelAdminLogEventAction</a>;<br>
<a href="/constructor/messages.stickerSetNotModified">messages.stickerSetNotModified</a>#d3f924eb = <a href="/type/messages.StickerSet">messages.StickerSet</a>;<br>
<a href="/constructor/users.userFull">users.userFull</a>#3b6d152e full_user:<a href="/type/UserFull">UserFull</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/users.UserFull">users.UserFull</a>;<br>
<a href="/constructor/messages.peerSettings">messages.peerSettings</a>#6880b94d settings:<a href="/type/PeerSettings">PeerSettings</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.PeerSettings">messages.PeerSettings</a>;<br>
<a href="/constructor/channelAdminLogEventActionSendMessage">channelAdminLogEventActionSendMessage</a>#278f2868 message:<a href="/type/Message">Message</a> = <a href="/type/ChannelAdminLogEventAction">ChannelAdminLogEventAction</a>;<br>
<a href="/constructor/auth.codeTypeMissedCall">auth.codeTypeMissedCall</a>#d61ad6ee = <a href="/type/auth.CodeType">auth.CodeType</a>;
<a href="/constructor/auth.sentCodeTypeMissedCall">auth.sentCodeTypeMissedCall</a>#82006484 prefix:<a href="/type/string">string</a> length:<a href="/type/int">int</a> = <a href="/type/auth.SentCodeType">auth.SentCodeType</a>;
<a href="/constructor/auth.loggedOut">auth.loggedOut</a>#c3a2835f flags:<a href="/type/%23">#</a> future_auth_token:flags.0?<a href="/type/bytes">bytes</a> = <a href="/type/auth.LoggedOut">auth.LoggedOut</a>;<br>
---functions---<br>
<a href="/method/auth.logOut">auth.logOut</a>#3e72ba19 = <a href="/type/auth.LoggedOut">auth.LoggedOut</a>;<br>
<a href="/method/users.getFullUser">users.getFullUser</a>#b60f5918 id:<a href="/type/InputUser">InputUser</a> = <a href="/type/users.UserFull">users.UserFull</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> 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> 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.forwardMessages">messages.forwardMessages</a>#cc30290b 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> 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.getPeerSettings">messages.getPeerSettings</a>#efd9a6a2 peer:<a href="/type/InputPeer">InputPeer</a> = <a href="/type/messages.PeerSettings">messages.PeerSettings</a>;
<a href="/method/messages.getStickerSet">messages.getStickerSet</a>#c8a0ec74 stickerset:<a href="/type/InputStickerSet">InputStickerSet</a> hash:<a href="/type/int">int</a> = <a href="/type/messages.StickerSet">messages.StickerSet</a>;<br>
<a href="/method/channels.reportSpam">channels.reportSpam</a>#f44a8315 channel:<a href="/type/InputChannel">InputChannel</a> participant:<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>;<br>
<a href="/method/messages.sendInlineBotResult">messages.sendInlineBotResult</a>#7aa11297 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> 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.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> 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>;
<a href="/method/messages.hideAllChatJoinRequests">messages.hideAllChatJoinRequests</a>#e085f4ea flags:<a href="/type/%23">#</a> approved:flags.0?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> link:flags.1?<a href="/type/string">string</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/messages.toggleNoForwards">messages.toggleNoForwards</a>#b11eafa2 peer:<a href="/type/InputPeer">InputPeer</a> enabled:<a href="/type/Bool">Bool</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/messages.saveDefaultSendAs">messages.saveDefaultSendAs</a>#ccfddf96 peer:<a href="/type/InputPeer">InputPeer</a> send_as:<a href="/type/InputPeer">InputPeer</a> = <a href="/type/Bool">Bool</a>;<br>
<a href="/method/channels.getSendAs">channels.getSendAs</a>#0dc770ee peer:<a href="/type/InputPeer">InputPeer</a> = <a href="/type/channels.SendAsPeers">channels.SendAsPeers</a>;<br>
<a href="/method/account.setAuthorizationTTL">account.setAuthorizationTTL</a>#bf899aa0 authorization_ttl_days:<a href="/type/int">int</a> = <a href="/type/Bool">Bool</a>;
<a href="/method/account.changeAuthorizationSettings">account.changeAuthorizationSettings</a>#40f48462 flags:<a href="/type/%23">#</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/channels.deleteParticipantHistory">channels.deleteParticipantHistory</a>#367544db channel:<a href="/type/InputChannel">InputChannel</a> participant:<a href="/type/InputPeer">InputPeer</a> = <a href="/type/messages.AffectedHistory">messages.AffectedHistory</a>;<br></code></pre></div>
<h3><a class="anchor" href="#layer-134" id="layer-134" name="layer-134"><i class="anchor-icon"></i></a><a href="/schema?layer=134">Layer 134</a></h3>
<p><a href="/api/invites#join-requests">Join requests</a>, <a href="https://telegram.org/blog/protected-content-delete-by-date-and-more#delete-messages-by-date">delete by date</a>, <a href="https://telegram.org/blog/shared-media-scrolling-calendar-join-requests-and-more#global-chat-themes-on-ios">global chat themes</a>, <a href="https://telegram.org/blog/shared-media-scrolling-calendar-join-requests-and-more">hyper-speed scrolling and calendar view for shared media</a>, sponsored channel posts.</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.getSearchResultsCalendar">messages.getSearchResultsCalendar</a> - Returns information about the next messages of the specified type in the chat split by days.</li>
<li>Added <a href="/method/messages.getSearchResultsPositions">messages.getSearchResultsPositions</a> - Returns sparse positions of messages of the specified type in the chat to be used for shared media scroll implementation.</li>
<li>Added <a href="/method/messages.hideChatJoinRequest">messages.hideChatJoinRequest</a> - Dismiss or approve a chat <a href="/api/invites#join-requests">join request</a> related to a specific chat or channel.</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>min_date</strong>, <strong>max_date</strong> parameters in <a href="/method/messages.deleteHistory">messages.deleteHistory</a></li>
<li>Added <strong>request_needed</strong>, <strong>title</strong> parameters in <a href="/method/messages.exportChatInvite">messages.exportChatInvite</a></li>
<li>Changed type of <strong>settings</strong> from <strong>flags.3?InputThemeSettings</strong> to <strong>flags.3?Vector&lt;InputThemeSettings&gt;</strong> in <a href="/method/account.createTheme">account.createTheme</a></li>
<li>Changed type of <strong>settings</strong> from <strong>flags.3?InputThemeSettings</strong> to <strong>flags.3?Vector&lt;InputThemeSettings&gt;</strong> in <a href="/method/account.updateTheme">account.updateTheme</a></li>
<li>Added <strong>base_theme</strong> parameter, changed type of <strong>format</strong> from <strong>flags.1?string</strong> to <strong>flags.2?string</strong> in <a href="/method/account.installTheme">account.installTheme</a></li>
<li>Added <strong>request_needed</strong>, <strong>title</strong> parameters in <a href="/method/messages.editExportedChatInvite">messages.editExportedChatInvite</a></li>
<li>Added <strong>flags</strong>, <strong>requested</strong>, <strong>q</strong> parameters, changed type of <strong>link</strong> from <strong>string</strong> to <strong>flags.1?string</strong> in <a href="/method/messages.getChatInviteImporters">messages.getChatInviteImporters</a></li>
<li>Changed type of <a href="/method/account.getChatThemes">account.getChatThemes</a> from <strong>account.ChatThemes</strong> to <strong>account.Themes</strong></li>
<li>Changed type of <strong>hash</strong> from <strong>int</strong> to <strong>long</strong> in <a href="/method/account.getChatThemes">account.getChatThemes</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/searchResultsCalendarPeriod">searchResultsCalendarPeriod</a> - Information about found messages sent on a specific day, used to split the <code>messages</code> in <a href="/constructor/messages.searchResultsCalendar">messages.searchResultsCalendar</a> constructors by days.</li>
<li>Added <a href="/constructor/messages.searchResultsCalendar">messages.searchResultsCalendar</a> - Information about found messages sent on a specific day</li>
<li>Added <a href="/constructor/searchResultPosition">searchResultPosition</a> - Information about a message in a specific position</li>
<li>Added <a href="/constructor/messages.searchResultsPositions">messages.searchResultsPositions</a> - Information about sparse positions of messages</li>
<li>Added <a href="/constructor/messageActionChatJoinedByRequest">messageActionChatJoinedByRequest</a> - A user was accepted into the group by an admin</li>
<li>Added <a href="/constructor/updatePendingJoinRequests">updatePendingJoinRequests</a> - Someone has requested to join a chat or channel</li>
<li>Added <a href="/constructor/updateBotChatInviteRequester">updateBotChatInviteRequester</a> - Someone has requested to join a chat or channel (bots only, users will receive an <a href="/constructor/updatePendingJoinRequests">updatePendingJoinRequests</a>, instead)</li>
<li>Added <a href="/constructor/channelAdminLogEventActionParticipantJoinByRequest">channelAdminLogEventActionParticipantJoinByRequest</a> - A new member was accepted to the chat by an admin</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>requests_pending</strong>, <strong>recent_requesters</strong> parameters in <a href="/constructor/chatFull">chatFull</a></li>
<li>Added <strong>request_needed</strong>, <strong>requested</strong>, <strong>title</strong> parameters in <a href="/constructor/chatInviteExported">chatInviteExported</a></li>
<li>Added <strong>request_needed</strong>, <strong>about</strong> parameters in <a href="/constructor/chatInvite">chatInvite</a></li>
<li>Added <strong>requests_pending</strong>, <strong>recent_requesters</strong> parameters in <a href="/constructor/channelFull">channelFull</a></li>
<li>Added <strong>flags</strong>, <strong>via_request</strong> parameters in <a href="/constructor/channelParticipantSelf">channelParticipantSelf</a></li>
<li>Added <strong>send</strong> parameter in <a href="/constructor/channelAdminLogEventsFilter">channelAdminLogEventsFilter</a></li>
<li>Added <strong>emoticon</strong> parameter, changed type of <strong>settings</strong> from <strong>flags.3?ThemeSettings</strong> to <strong>flags.3?Vector&lt;ThemeSettings&gt;</strong> in <a href="/constructor/theme">theme</a></li>
<li>Added <strong>flags</strong>, <strong>requested</strong>, <strong>about</strong>, <strong>approved_by</strong> parameters in <a href="/constructor/chatInviteImporter">chatInviteImporter</a></li>
<li>Added <strong>channel_post</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 chatTheme</li>
<li>Removed account.chatThemesNotModified</li>
<li>Removed account.chatThemes</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">CHAT_REQ_JOINED</a> - <code>{2}|{1} was accepted into the group</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/chatFull">chatFull</a>#46a6ffb4 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; = <a href="/type/ChatFull">ChatFull</a>;
<a href="/constructor/chatInviteExported">chatInviteExported</a>#0ab4a819 flags:<a href="/type/%23">#</a> revoked:flags.0?<a href="/constructor/true">true</a> permanent:flags.5?<a href="/constructor/true">true</a> request_needed:flags.6?<a href="/constructor/true">true</a> link:<a href="/type/string">string</a> admin_id:<a href="/type/long">long</a> date:<a href="/type/int">int</a> start_date:flags.4?<a href="/type/int">int</a> expire_date:flags.1?<a href="/type/int">int</a> usage_limit:flags.2?<a href="/type/int">int</a> usage:flags.3?<a href="/type/int">int</a> requested:flags.7?<a href="/type/int">int</a> title:flags.8?<a href="/type/string">string</a> = <a href="/type/ExportedChatInvite">ExportedChatInvite</a>;
<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> 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>;
<a href="/constructor/channelFull">channelFull</a>#59cff963 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> 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; = <a href="/type/ChatFull">ChatFull</a>;
<a href="/constructor/channelParticipantSelf">channelParticipantSelf</a>#35a8bfa7 flags:<a href="/type/%23">#</a> via_request:flags.0?<a href="/constructor/true">true</a> user_id:<a href="/type/long">long</a> inviter_id:<a href="/type/long">long</a> date:<a href="/type/int">int</a> = <a href="/type/ChannelParticipant">ChannelParticipant</a>;
<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> = <a href="/type/ChannelAdminLogEventsFilter">ChannelAdminLogEventsFilter</a>;<br>
<a href="/constructor/theme">theme</a>#a00e67d6 flags:<a href="/type/%23">#</a> creator:flags.0?<a href="/constructor/true">true</a> default:flags.1?<a href="/constructor/true">true</a> for_chat:flags.5?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> access_hash:<a href="/type/long">long</a> slug:<a href="/type/string">string</a> title:<a href="/type/string">string</a> document:flags.2?<a href="/type/Document">Document</a> settings:flags.3?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/ThemeSettings">ThemeSettings</a>&gt; emoticon:flags.6?<a href="/type/string">string</a> installs_count:flags.4?<a href="/type/int">int</a> = <a href="/type/Theme">Theme</a>;<br>
<a href="/constructor/chatInviteImporter">chatInviteImporter</a>#8c5adfd9 flags:<a href="/type/%23">#</a> requested:flags.0?<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>;<br>
<a href="/constructor/sponsoredMessage">sponsoredMessage</a>#d151e19a flags:<a href="/type/%23">#</a> random_id:<a href="/type/bytes">bytes</a> from_id:<a href="/type/Peer">Peer</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>;
<a href="/constructor/searchResultsCalendarPeriod">searchResultsCalendarPeriod</a>#c9b0539f date:<a href="/type/int">int</a> min_msg_id:<a href="/type/int">int</a> max_msg_id:<a href="/type/int">int</a> count:<a href="/type/int">int</a> = <a href="/type/SearchResultsCalendarPeriod">SearchResultsCalendarPeriod</a>;<br>
<a href="/constructor/messages.searchResultsCalendar">messages.searchResultsCalendar</a>#147ee23c flags:<a href="/type/%23">#</a> inexact:flags.0?<a href="/constructor/true">true</a> count:<a href="/type/int">int</a> min_date:<a href="/type/int">int</a> min_msg_id:<a href="/type/int">int</a> offset_id_offset:flags.1?<a href="/type/int">int</a> periods:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/SearchResultsCalendarPeriod">SearchResultsCalendarPeriod</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.SearchResultsCalendar">messages.SearchResultsCalendar</a>;<br>
<a href="/constructor/searchResultPosition">searchResultPosition</a>#7f648b67 msg_id:<a href="/type/int">int</a> date:<a href="/type/int">int</a> offset:<a href="/type/int">int</a> = <a href="/type/SearchResultsPosition">SearchResultsPosition</a>;<br>
<a href="/constructor/messages.searchResultsPositions">messages.searchResultsPositions</a>#53b22baf count:<a href="/type/int">int</a> positions:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/SearchResultsPosition">SearchResultsPosition</a>&gt; = <a href="/type/messages.SearchResultsPositions">messages.SearchResultsPositions</a>;
<a href="/constructor/messageActionChatJoinedByRequest">messageActionChatJoinedByRequest</a>#ebbca3cb = <a href="/type/MessageAction">MessageAction</a>;<br>
<a href="/constructor/updatePendingJoinRequests">updatePendingJoinRequests</a>#7063c3db peer:<a href="/type/Peer">Peer</a> requests_pending:<a href="/type/int">int</a> recent_requesters:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/long">long</a>&gt; = <a href="/type/Update">Update</a>;
<a href="/constructor/updateBotChatInviteRequester">updateBotChatInviteRequester</a>#11dfa986 peer:<a href="/type/Peer">Peer</a> date:<a href="/type/int">int</a> user_id:<a href="/type/long">long</a> about:<a href="/type/string">string</a> invite:<a href="/type/ExportedChatInvite">ExportedChatInvite</a> qts:<a href="/type/int">int</a> = <a href="/type/Update">Update</a>;<br>
<a href="/constructor/channelAdminLogEventActionParticipantJoinByRequest">channelAdminLogEventActionParticipantJoinByRequest</a>#afb6144a invite:<a href="/type/ExportedChatInvite">ExportedChatInvite</a> approved_by:<a href="/type/long">long</a> = <a href="/type/ChannelAdminLogEventAction">ChannelAdminLogEventAction</a>;<br>
---functions---<br>
<a href="/method/messages.deleteHistory">messages.deleteHistory</a>#b08f922a flags:<a href="/type/%23">#</a> just_clear:flags.0?<a href="/constructor/true">true</a> revoke:flags.1?<a href="/constructor/true">true</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.exportChatInvite">messages.exportChatInvite</a>#a02ce5d5 flags:<a href="/type/%23">#</a> legacy_revoke_permanent:flags.2?<a href="/constructor/true">true</a> request_needed:flags.3?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> expire_date:flags.0?<a href="/type/int">int</a> usage_limit:flags.1?<a href="/type/int">int</a> title:flags.4?<a href="/type/string">string</a> = <a href="/type/ExportedChatInvite">ExportedChatInvite</a>;<br>
<a href="/method/account.createTheme">account.createTheme</a>#652e4400 flags:<a href="/type/%23">#</a> slug:<a href="/type/string">string</a> title:<a href="/type/string">string</a> document:flags.2?<a href="/type/InputDocument">InputDocument</a> settings:flags.3?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InputThemeSettings">InputThemeSettings</a>&gt; = <a href="/type/Theme">Theme</a>;
<a href="/method/account.updateTheme">account.updateTheme</a>#2bf40ccc flags:<a href="/type/%23">#</a> format:<a href="/type/string">string</a> theme:<a href="/type/InputTheme">InputTheme</a> slug:flags.0?<a href="/type/string">string</a> title:flags.1?<a href="/type/string">string</a> document:flags.2?<a href="/type/InputDocument">InputDocument</a> settings:flags.3?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InputThemeSettings">InputThemeSettings</a>&gt; = <a href="/type/Theme">Theme</a>;
<a href="/method/account.installTheme">account.installTheme</a>#c727bb3b flags:<a href="/type/%23">#</a> dark:flags.0?<a href="/constructor/true">true</a> theme:flags.1?<a href="/type/InputTheme">InputTheme</a> format:flags.2?<a href="/type/string">string</a> base_theme:flags.3?<a href="/type/BaseTheme">BaseTheme</a> = <a href="/type/Bool">Bool</a>;<br>
<a href="/method/messages.editExportedChatInvite">messages.editExportedChatInvite</a>#bdca2f75 flags:<a href="/type/%23">#</a> revoked:flags.2?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> link:<a href="/type/string">string</a> expire_date:flags.0?<a href="/type/int">int</a> usage_limit:flags.1?<a href="/type/int">int</a> request_needed:flags.3?<a href="/type/Bool">Bool</a> title:flags.4?<a href="/type/string">string</a> = <a href="/type/messages.ExportedChatInvite">messages.ExportedChatInvite</a>;
<a href="/method/messages.getChatInviteImporters">messages.getChatInviteImporters</a>#df04dd4e flags:<a href="/type/%23">#</a> requested:flags.0?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> link:flags.1?<a href="/type/string">string</a> q:flags.2?<a href="/type/string">string</a> offset_date:<a href="/type/int">int</a> offset_user:<a href="/type/InputUser">InputUser</a> limit:<a href="/type/int">int</a> = <a href="/type/messages.ChatInviteImporters">messages.ChatInviteImporters</a>;<br>
<a href="/method/account.getChatThemes">account.getChatThemes</a>#d638de89 hash:<a href="/type/long">long</a> = <a href="/type/account.Themes">account.Themes</a>;<br>
<a href="/method/messages.getSearchResultsCalendar">messages.getSearchResultsCalendar</a>#49f0bde9 peer:<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>#6e9583a3 peer:<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.hideChatJoinRequest">messages.hideChatJoinRequest</a>#7fe7e815 flags:<a href="/type/%23">#</a> approved:flags.0?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> user_id:<a href="/type/InputUser">InputUser</a> = <a href="/type/Updates">Updates</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/messageEntityUnderline">messageEntityUnderline</a> - Message entity representing underlined text.</li>
<li>Added <a href="/constructor/messageEntityStrike">messageEntityStrike</a> - Message entity representing <del>strikethrough</del> text.</li>
<li>Added <a href="/constructor/messageEntityBlockquote">messageEntityBlockquote</a> - Message entity representing a block quote.</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>===101===<br>
<a href="/constructor/messageEntityUnderline">messageEntityUnderline</a>#9c4e7e8b offset:<a href="/type/int">int</a> length:<a href="/type/int">int</a> = <a href="/type/MessageEntity">MessageEntity</a>;
<a href="/constructor/messageEntityStrike">messageEntityStrike</a>#bf0693d4 offset:<a href="/type/int">int</a> length:<a href="/type/int">int</a> = <a href="/type/MessageEntity">MessageEntity</a>;
<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></code></pre></div>
<h3><a class="anchor" href="#layer-133" id="layer-133" name="layer-133"><i class="anchor-icon"></i></a><a href="/schema?layer=133">Layer 133</a></h3>
<p>Group message receipts, <a href="/api/animated-emojis#emoji-reactions">animated emoji reactions »</a> and switch to 64-bit identifiers for users, groups, supergroups and channels.</p>
<p>Over 160 constructors and methods were changed, changing parameter types from <a href="/type/int">int</a> to <a href="/type/long">long</a>, including <a href="/constructor/user">user</a>, <a href="/constructor/chat">chat</a> and <a href="/constructor/channel">channel</a>: the full changelog is elided for space reasons.<br>
You can visit <a href="/schema">the schema</a> for an updated list of constructors.</p>
<p>Also note that the <a href="/api/offsets#hash-generation">hashing algorithm for pagination</a> was also changed to account for 64-bit IDs.</p>
<p>All layers 1-132 are deprecated due to impossible backwards compatibility between 32-bit and 64-bit IDs.</p>
<h4><a class="anchor" href="#changes" id="changes" name="changes"><i class="anchor-icon"></i></a>Changes</h4>
<ul>
<li>Added <a href="/method/messages.getMessageReadParticipants">messages.getMessageReadParticipants</a> - Get which users read a specific message</li>
<li>Added <a href="/constructor/inputStickerSetAnimatedEmojiAnimations">inputStickerSetAnimatedEmojiAnimations</a> - Animated emoji reaction stickerset (contains animations to play when a user clicks on a given animated emoji)</li>
<li>Added <a href="/constructor/sendMessageEmojiInteraction">sendMessageEmojiInteraction</a> - User has clicked on an animated emoji triggering a <a href="/api/animated-emojis#emoji-reactions">reaction, click here for more info »</a>.</li>
<li>Added <a href="/constructor/sendMessageEmojiInteractionSeen">sendMessageEmojiInteractionSeen</a> - User is watching an animated emoji reaction triggered by another user, <a href="/api/animated-emojis#emoji-reactions">click here for more info »</a>.</li>
<li>Added <a href="/constructor/inputBotInlineMessageID64">inputBotInlineMessageID64</a> - Represents a sent inline message from the perspective of a bot</li>
</ul></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>