Update content of files

This commit is contained in:
GitHub Action 2023-11-23 19:45:41 +00:00
parent 11b84b0364
commit 2bd34a295e
10 changed files with 292 additions and 1360 deletions

View file

@ -49,6 +49,23 @@
<h4><a class="anchor" href="#schema-changes" id="schema-changes" name="schema-changes"><i class="anchor-icon"></i></a>Schema changes</h4>
<h5><a class="anchor" href="#new-methods" id="new-methods" name="new-methods"><i class="anchor-icon"></i></a>New Methods</h5>
<ul>
<li>Added <a href="/method/contacts.editCloseFriends">contacts.editCloseFriends</a> - Edit the <a href="/api/privacy">close friends list, see here »</a> for more info.</li>
<li>Added <a href="/method/stories.canSendStory">stories.canSendStory</a> - Check whether we can post stories as the specified peer.</li>
<li>Added <a href="/method/stories.sendStory">stories.sendStory</a> - Uploads a <a href="/api/stories">Telegram Story</a>.</li>
<li>Added <a href="/method/stories.editStory">stories.editStory</a> - Edit an uploaded <a href="/api/stories">story</a></li>
<li>Added <a href="/method/stories.deleteStories">stories.deleteStories</a> - Deletes some posted <a href="/api/stories">stories</a>.</li>
<li>Added <a href="/method/stories.togglePinned">stories.togglePinned</a> - Pin or unpin one or more stories</li>
<li>Added <a href="/method/stories.getAllStories">stories.getAllStories</a> - Fetch the List of active (or active and hidden) stories, see <a href="/api/stories#watching-stories">here »</a> for more info on watching stories.</li>
<li>Added <a href="/method/stories.getPinnedStories">stories.getPinnedStories</a> - Fetch the <a href="/api/stories#pinned-or-archived-stories">stories</a> pinned on a peer's profile.</li>
<li>Added <a href="/method/stories.getStoriesArchive">stories.getStoriesArchive</a> - Fetch the <a href="/api/stories#pinned-or-archived-stories">story archive »</a> of a peer we control.</li>
<li>Added <a href="/method/stories.getStoriesByID">stories.getStoriesByID</a> - Obtain full info about a set of <a href="/api/stories">stories</a> by their IDs.</li>
<li>Added <a href="/method/stories.toggleAllStoriesHidden">stories.toggleAllStoriesHidden</a> - Hide the active stories of a specific peer, preventing them from being displayed on the action bar on the homescreen.</li>
<li>Added <a href="/method/stories.readStories">stories.readStories</a> - Mark all stories up to a certain ID as read, for a given peer; will emit an <a href="/constructor/updateReadStories">updateReadStories</a> update to all logged-in sessions.</li>
<li>Added <a href="/method/stories.incrementStoryViews">stories.incrementStoryViews</a> - Increment the view counter of one or more stories.</li>
<li>Added <a href="/method/stories.getStoryViewsList">stories.getStoryViewsList</a> - Obtain the list of users that have viewed a specific <a href="/api/stories">story we posted</a></li>
<li>Added <a href="/method/stories.getStoriesViews">stories.getStoriesViews</a> - Obtain info about the view count, forward count, reactions and recent viewers of one or more <a href="/api/stories">stories</a>.</li>
<li>Added <a href="/method/stories.exportStoryLink">stories.exportStoryLink</a> - Generate a <a href="/api/links#story-links">story deep link</a> for a specific story</li>
<li>Added <a href="/method/stories.report">stories.report</a> - Report a story.</li>
<li>Added <a href="/method/stories.activateStealthMode">stories.activateStealthMode</a> - Activates <a href="/api/stories#stealth-mode">stories stealth mode</a>, see <a href="/api/stories#stealth-mode">here »</a> for more info.</li>
<li>Added <a href="/method/contacts.setBlocked">contacts.setBlocked</a> - Replace the contents of an entire <a href="/api/block">blocklist, see here for more info »</a>.</li>
<li>Added <a href="/method/stories.sendReaction">stories.sendReaction</a> - React to a story.</li>
@ -70,33 +87,42 @@
<li>Added <strong>flags</strong>, <strong>my_stories_from</strong> parameters in <a href="/method/contacts.block">contacts.block</a></li>
<li>Added <strong>flags</strong>, <strong>my_stories_from</strong> parameters in <a href="/method/contacts.unblock">contacts.unblock</a></li>
<li>Added <strong>flags</strong>, <strong>my_stories_from</strong> parameters in <a href="/method/contacts.getBlocked">contacts.getBlocked</a></li>
<li>Added <strong>reply_to</strong> parameter, removed <strong>reply_to_msg_id</strong>, <strong>top_msg_id</strong> parameters in <a href="/method/messages.sendMessage">messages.sendMessage</a></li>
<li>Added <strong>reply_to</strong> parameter, removed <strong>reply_to_msg_id</strong>, <strong>top_msg_id</strong> parameters in <a href="/method/messages.sendMedia">messages.sendMedia</a></li>
<li>Added <strong>reply_to</strong> parameter, removed <strong>reply_to_msg_id</strong>, <strong>top_msg_id</strong> parameters in <a href="/method/messages.sendInlineBotResult">messages.sendInlineBotResult</a></li>
<li>Added <strong>reply_to</strong> parameter, removed <strong>reply_to_msg_id</strong> parameter in <a href="/method/messages.sendScreenshotNotification">messages.sendScreenshotNotification</a></li>
<li>Added <strong>reply_to</strong> parameter, removed <strong>reply_to_msg_id</strong>, <strong>top_msg_id</strong> parameters in <a href="/method/messages.sendMultiMedia">messages.sendMultiMedia</a></li>
<li>Added <strong>compare_stories</strong> parameter in <a href="/method/account.getNotifyExceptions">account.getNotifyExceptions</a></li>
<li>Added <strong>confirmed</strong> parameter in <a href="/method/account.changeAuthorizationSettings">account.changeAuthorizationSettings</a></li>
<li>Added <strong>reply_to</strong> parameter, removed <strong>reply_to_msg_id</strong>, <strong>top_msg_id</strong> parameters in <a href="/method/messages.requestWebView">messages.requestWebView</a></li>
<li>Added <strong>reply_to</strong> parameter, removed <strong>reply_to_msg_id</strong>, <strong>top_msg_id</strong> parameters in <a href="/method/messages.prolongWebView">messages.prolongWebView</a></li>
<li>Added <strong>from_side_menu</strong>, <strong>start_param</strong> parameters, changed type of <strong>url</strong> from <strong>string</strong> to <strong>flags.3?string</strong> in <a href="/method/messages.requestSimpleWebView">messages.requestSimpleWebView</a></li>
<li>Added <strong>peer</strong> parameter in <a href="/method/stories.canSendStory">stories.canSendStory</a></li>
<li>Added <strong>peer</strong>, <strong>media_areas</strong> parameters in <a href="/method/stories.sendStory">stories.sendStory</a></li>
<li>Added <strong>peer</strong>, <strong>media_areas</strong> parameters in <a href="/method/stories.editStory">stories.editStory</a></li>
<li>Added <strong>peer</strong> parameter in <a href="/method/stories.deleteStories">stories.deleteStories</a></li>
<li>Added <strong>peer</strong> parameter in <a href="/method/stories.togglePinned">stories.togglePinned</a></li>
<li>Added <strong>peer</strong> parameter, removed <strong>user_id</strong> parameter in <a href="/method/stories.getPinnedStories">stories.getPinnedStories</a></li>
<li>Added <strong>peer</strong> parameter in <a href="/method/stories.getStoriesArchive">stories.getStoriesArchive</a></li>
<li>Added <strong>peer</strong> parameter, removed <strong>user_id</strong> parameter in <a href="/method/stories.getStoriesByID">stories.getStoriesByID</a></li>
<li>Added <strong>peer</strong> parameter, removed <strong>user_id</strong> parameter in <a href="/method/stories.readStories">stories.readStories</a></li>
<li>Added <strong>peer</strong> parameter, removed <strong>user_id</strong> parameter in <a href="/method/stories.incrementStoryViews">stories.incrementStoryViews</a></li>
<li>Added <strong>flags</strong>, <strong>just_contacts</strong>, <strong>reactions_first</strong>, <strong>peer</strong>, <strong>q</strong>, <strong>offset</strong> parameters, removed <strong>offset_date</strong>, <strong>offset_id</strong> parameters in <a href="/method/stories.getStoryViewsList">stories.getStoryViewsList</a></li>
<li>Added <strong>peer</strong> parameter in <a href="/method/stories.getStoriesViews">stories.getStoriesViews</a></li>
<li>Added <strong>peer</strong> parameter, removed <strong>user_id</strong> parameter in <a href="/method/stories.exportStoryLink">stories.exportStoryLink</a></li>
<li>Added <strong>peer</strong> parameter, removed <strong>user_id</strong> parameter in <a href="/method/stories.report">stories.report</a></li>
</ul>
<h5><a class="anchor" href="#deleted-methods" id="deleted-methods" name="deleted-methods"><i class="anchor-icon"></i></a>Deleted Methods</h5>
<ul>
<li>Removed contacts.toggleStoriesHidden</li>
<li>Removed stories.getUserStories</li>
<li>Removed stories.getAllReadUserStories</li>
<li>Removed users.getStoriesMaxIDs</li>
</ul>
<h5><a class="anchor" href="#new-constructors" id="new-constructors" name="new-constructors"><i class="anchor-icon"></i></a>New Constructors</h5>
<ul>
<li>Added <a href="/constructor/updateNewAuthorization">updateNewAuthorization</a> - A new session logged into the current user's account through an unknown device.</li>
<li>Added <a href="/constructor/storyViews">storyViews</a> - Aggregated view and reaction information of a <a href="/api/stories">story</a>.</li>
<li>Added <a href="/constructor/storyItemDeleted">storyItemDeleted</a> - Represents a previously active story, that was deleted</li>
<li>Added <a href="/constructor/storyItemSkipped">storyItemSkipped</a> - Represents an active story, whose full information was omitted for space and performance reasons; use <a href="/method/stories.getStoriesByID">stories.getStoriesByID</a> to fetch full info about the skipped story when and if needed.</li>
<li>Added <a href="/constructor/storyItem">storyItem</a> - Represents a <a href="/api/stories">story</a>.</li>
<li>Added <a href="/constructor/updateStory">updateStory</a> - A new story was posted.</li>
<li>Added <a href="/constructor/updateReadStories">updateReadStories</a> - Stories of a specific peer were marked as read.</li>
<li>Added <a href="/constructor/stories.allStoriesNotModified">stories.allStoriesNotModified</a> - The list of active (or active and hidden) <a href="/api/stories#watching-stories">stories</a> has not changed.</li>
<li>Added <a href="/constructor/stories.allStories">stories.allStories</a> - Full list of active (or active and hidden) <a href="/api/stories#watching-stories">stories</a>.</li>
<li>Added <a href="/constructor/stories.stories">stories.stories</a> - List of <a href="/api/stories#pinned-or-archived-stories">stories</a></li>
<li>Added <a href="/constructor/inputPrivacyValueAllowCloseFriends">inputPrivacyValueAllowCloseFriends</a> - Allow only <a href="/api/privacy">close friends »</a></li>
<li>Added <a href="/constructor/privacyValueAllowCloseFriends">privacyValueAllowCloseFriends</a> - Allow only <a href="/api/privacy">close friends »</a></li>
<li>Added <a href="/constructor/storyView">storyView</a> - <a href="/api/stories">Story</a> view date and reaction information</li>
<li>Added <a href="/constructor/stories.storyViewsList">stories.storyViewsList</a> - Reaction and view counters for a <a href="/api/stories">story</a></li>
<li>Added <a href="/constructor/stories.storyViews">stories.storyViews</a> - Reaction and view counters for a list of <a href="/api/stories">stories</a></li>
<li>Added <a href="/constructor/inputReplyToMessage">inputReplyToMessage</a> - Reply to a message.</li>
<li>Added <a href="/constructor/inputReplyToStory">inputReplyToStory</a> - Reply to a story.</li>
<li>Added <a href="/constructor/messageReplyStoryHeader">messageReplyStoryHeader</a> - Represents a reply to a <a href="/api/stories">story</a></li>
<li>Added <a href="/constructor/updateStoryID">updateStoryID</a> - A story was successfully uploaded.</li>
<li>Added <a href="/constructor/exportedStoryLink">exportedStoryLink</a> - Represents a <a href="/api/stories#story-links">story deep link</a>.</li>
<li>Added <a href="/constructor/inputMediaStory">inputMediaStory</a> - Forwarded story</li>
<li>Added <a href="/constructor/messageMediaStory">messageMediaStory</a> - </li>
<li>Added <a href="/constructor/webPageAttributeStory">webPageAttributeStory</a> - </li>
<li>Added <a href="/constructor/storiesStealthMode">storiesStealthMode</a> - Information about the current <a href="/api/stories#stealth-mode">stealth mode</a> session.</li>
<li>Added <a href="/constructor/updateStoriesStealthMode">updateStoriesStealthMode</a> - Indicates that <a href="/api/stories#stealth-mode">stories stealth mode</a> was activated.</li>
<li>Added <a href="/constructor/mediaAreaCoordinates">mediaAreaCoordinates</a> - Coordinates and size of a clicable rectangular area on top of a story.</li>
@ -116,59 +142,69 @@
<h5><a class="anchor" href="#changed-constructors" id="changed-constructors" name="changed-constructors"><i class="anchor-icon"></i></a>Changed Constructors</h5>
<ul>
<li>Added <strong>view_forum_as_messages</strong> parameter in <a href="/constructor/dialog">dialog</a></li>
<li>Added <strong>blocked_my_stories_from</strong> parameter, changed type of <strong>stories</strong> from <strong>flags.25?UserStories</strong> to <strong>flags.25?PeerStories</strong> in <a href="/constructor/userFull">userFull</a></li>
<li>Added <strong>stories_muted</strong>, <strong>stories_hide_sender</strong>, <strong>stories_sound</strong> parameters in <a href="/constructor/inputPeerNotifySettings">inputPeerNotifySettings</a></li>
<li>Added <strong>stories_muted</strong>, <strong>stories_hide_sender</strong>, <strong>stories_ios_sound</strong>, <strong>stories_android_sound</strong>, <strong>stories_other_sound</strong> parameters in <a href="/constructor/peerNotifySettings">peerNotifySettings</a></li>
<li>Added <strong>stories_pinned_available</strong>, <strong>blocked_my_stories_from</strong>, <strong>stories</strong> parameters in <a href="/constructor/userFull">userFull</a></li>
<li>Added <strong>alt_document</strong> parameter in <a href="/constructor/messageMediaDocument">messageMediaDocument</a></li>
<li>Added <strong>nosound</strong>, <strong>preload_prefix_size</strong> parameters, changed type of <strong>duration</strong> from <strong>int</strong> to <strong>double</strong> in <a href="/constructor/documentAttributeVideo">documentAttributeVideo</a></li>
<li>Added <strong>unconfirmed</strong> parameter in <a href="/constructor/authorization">authorization</a></li>
<li>Added <strong>flags</strong>, <strong>date</strong> parameters in <a href="/constructor/updateReadMessagesContents">updateReadMessagesContents</a></li>
<li>Added <strong>close_friend</strong>, <strong>stories_hidden</strong>, <strong>stories_unavailable</strong>, <strong>stories_max_id</strong> parameters in <a href="/constructor/user">user</a></li>
<li>Added <strong>stories_hidden</strong>, <strong>stories_hidden_min</strong>, <strong>stories_unavailable</strong>, <strong>stories_max_id</strong> parameters in <a href="/constructor/channel">channel</a></li>
<li>Added <strong>stories_pinned_available</strong>, <strong>view_forum_as_messages</strong>, <strong>stories</strong> parameters in <a href="/constructor/channelFull">channelFull</a></li>
<li>Added <strong>terms_url</strong> parameter, removed <strong>recurring_terms_url</strong> parameter in <a href="/constructor/invoice">invoice</a></li>
<li>Added <strong>from_request</strong> parameter in <a href="/constructor/messageActionBotAllowed">messageActionBotAllowed</a></li>
<li>Added <strong>post_stories</strong>, <strong>edit_stories</strong>, <strong>delete_stories</strong> parameters in <a href="/constructor/chatAdminRights">chatAdminRights</a></li>
<li>Added <strong>stories_preload</strong> parameter in <a href="/constructor/autoDownloadSettings">autoDownloadSettings</a></li>
<li>Added <strong>keep_archived_unmuted</strong>, <strong>keep_archived_folders</strong> parameters, changed type of <strong>archive_and_mute_new_noncontact_peers</strong> from <strong>flags.0?Bool</strong> to <strong>flags.0?true</strong> in <a href="/constructor/globalPrivacySettings">globalPrivacySettings</a></li>
<li>Added <strong>flags</strong>, <strong>blocked_my_stories_from</strong> parameters, changed type of <strong>blocked</strong> from <strong>Bool</strong> to <strong>flags.0?true</strong> in <a href="/constructor/updatePeerBlocked">updatePeerBlocked</a></li>
<li>Added <strong>show_in_attach_menu</strong>, <strong>show_in_side_menu</strong>, <strong>side_menu_disclaimer_needed</strong> parameters, changed type of <strong>peer_types</strong> from <strong>Vector&lt;AttachMenuPeerType&gt;</strong> to <strong>flags.3?Vector&lt;AttachMenuPeerType&gt;</strong> in <a href="/constructor/attachMenuBot">attachMenuBot</a></li>
<li>Added <strong>has_settings</strong> parameter in <a href="/constructor/messages.botApp">messages.botApp</a></li>
<li>Added <strong>has_viewers</strong>, <strong>forwards_count</strong>, <strong>reactions</strong>, <strong>reactions_count</strong> parameters in <a href="/constructor/storyViews">storyViews</a></li>
<li>Added <strong>out</strong>, <strong>media_areas</strong>, <strong>sent_reaction</strong> parameters in <a href="/constructor/storyItem">storyItem</a></li>
<li>Added <strong>peer</strong> parameter, removed <strong>user_id</strong> parameter in <a href="/constructor/updateStory">updateStory</a></li>
<li>Added <strong>peer</strong> parameter, removed <strong>user_id</strong> parameter in <a href="/constructor/updateReadStories">updateReadStories</a></li>
<li>Added <strong>flags</strong>, <strong>stealth_mode</strong> parameters in <a href="/constructor/stories.allStoriesNotModified">stories.allStoriesNotModified</a></li>
<li>Added <strong>peer_stories</strong>, <strong>chats</strong>, <strong>stealth_mode</strong> parameters, removed <strong>user_stories</strong> parameter in <a href="/constructor/stories.allStories">stories.allStories</a></li>
<li>Added <strong>chats</strong> parameter in <a href="/constructor/stories.stories">stories.stories</a></li>
<li>Added <strong>flags</strong>, <strong>blocked</strong>, <strong>blocked_my_stories_from</strong>, <strong>reaction</strong> parameters in <a href="/constructor/storyView">storyView</a></li>
<li>Added <strong>flags</strong>, <strong>reactions_count</strong>, <strong>next_offset</strong> parameters in <a href="/constructor/stories.storyViewsList">stories.storyViewsList</a></li>
<li>Added <strong>peer</strong> parameter, removed <strong>user_id</strong> parameter in <a href="/constructor/inputMediaStory">inputMediaStory</a></li>
<li>Added <strong>peer</strong> parameter, removed <strong>user_id</strong> parameter in <a href="/constructor/messageMediaStory">messageMediaStory</a></li>
<li>Added <strong>peer</strong> parameter, removed <strong>user_id</strong> parameter in <a href="/constructor/webPageAttributeStory">webPageAttributeStory</a></li>
</ul>
<h5><a class="anchor" href="#deleted-constructors" id="deleted-constructors" name="deleted-constructors"><i class="anchor-icon"></i></a>Deleted Constructors</h5>
<ul>
<li>Removed messageEntityBlockquote</li>
<li>Removed userStories</li>
<li>Removed stories.userStories</li>
</ul>
<h4><a class="anchor" href="#schema" id="schema" name="schema"><i class="anchor-icon"></i></a>Schema</h4>
<div><pre><code><a href="/constructor/dialog">dialog</a>#d58a08c6 flags:<a href="/type/%23">#</a> pinned:flags.2?<a href="/constructor/true">true</a> unread_mark:flags.3?<a href="/constructor/true">true</a> view_forum_as_messages:flags.6?<a href="/constructor/true">true</a> peer:<a href="/type/Peer">Peer</a> top_message:<a href="/type/int">int</a> read_inbox_max_id:<a href="/type/int">int</a> read_outbox_max_id:<a href="/type/int">int</a> unread_count:<a href="/type/int">int</a> unread_mentions_count:<a href="/type/int">int</a> unread_reactions_count:<a href="/type/int">int</a> notify_settings:<a href="/type/PeerNotifySettings">PeerNotifySettings</a> pts:flags.0?<a href="/type/int">int</a> draft:flags.1?<a href="/type/DraftMessage">DraftMessage</a> folder_id:flags.4?<a href="/type/int">int</a> ttl_period:flags.5?<a href="/type/int">int</a> = <a href="/type/Dialog">Dialog</a>;<br>
<a href="/constructor/inputPeerNotifySettings">inputPeerNotifySettings</a>#cacb6ae2 flags:<a href="/type/%23">#</a> show_previews:flags.0?<a href="/type/Bool">Bool</a> silent:flags.1?<a href="/type/Bool">Bool</a> mute_until:flags.2?<a href="/type/int">int</a> sound:flags.3?<a href="/type/NotificationSound">NotificationSound</a> stories_muted:flags.6?<a href="/type/Bool">Bool</a> stories_hide_sender:flags.7?<a href="/type/Bool">Bool</a> stories_sound:flags.8?<a href="/type/NotificationSound">NotificationSound</a> = <a href="/type/InputPeerNotifySettings">InputPeerNotifySettings</a>;<br>
<a href="/constructor/peerNotifySettings">peerNotifySettings</a>#99622c0c flags:<a href="/type/%23">#</a> show_previews:flags.0?<a href="/type/Bool">Bool</a> silent:flags.1?<a href="/type/Bool">Bool</a> mute_until:flags.2?<a href="/type/int">int</a> ios_sound:flags.3?<a href="/type/NotificationSound">NotificationSound</a> android_sound:flags.4?<a href="/type/NotificationSound">NotificationSound</a> other_sound:flags.5?<a href="/type/NotificationSound">NotificationSound</a> stories_muted:flags.6?<a href="/type/Bool">Bool</a> stories_hide_sender:flags.7?<a href="/type/Bool">Bool</a> stories_ios_sound:flags.8?<a href="/type/NotificationSound">NotificationSound</a> stories_android_sound:flags.9?<a href="/type/NotificationSound">NotificationSound</a> stories_other_sound:flags.10?<a href="/type/NotificationSound">NotificationSound</a> = <a href="/type/PeerNotifySettings">PeerNotifySettings</a>;<br>
<a href="/constructor/userFull">userFull</a>#b9b12c6c flags:<a href="/type/%23">#</a> blocked:flags.0?<a href="/constructor/true">true</a> phone_calls_available:flags.4?<a href="/constructor/true">true</a> phone_calls_private:flags.5?<a href="/constructor/true">true</a> can_pin_message:flags.7?<a href="/constructor/true">true</a> has_scheduled:flags.12?<a href="/constructor/true">true</a> video_calls_available:flags.13?<a href="/constructor/true">true</a> voice_messages_forbidden:flags.20?<a href="/constructor/true">true</a> translations_disabled:flags.23?<a href="/constructor/true">true</a> stories_pinned_available:flags.26?<a href="/constructor/true">true</a> blocked_my_stories_from:flags.27?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> about:flags.1?<a href="/type/string">string</a> settings:<a href="/type/PeerSettings">PeerSettings</a> personal_photo:flags.21?<a href="/type/Photo">Photo</a> profile_photo:flags.2?<a href="/type/Photo">Photo</a> fallback_photo:flags.22?<a href="/type/Photo">Photo</a> notify_settings:<a href="/type/PeerNotifySettings">PeerNotifySettings</a> bot_info:flags.3?<a href="/type/BotInfo">BotInfo</a> pinned_msg_id:flags.6?<a href="/type/int">int</a> common_chats_count:<a href="/type/int">int</a> folder_id:flags.11?<a href="/type/int">int</a> ttl_period:flags.14?<a href="/type/int">int</a> theme_emoticon:flags.15?<a href="/type/string">string</a> private_forward_name:flags.16?<a href="/type/string">string</a> bot_group_admin_rights:flags.17?<a href="/type/ChatAdminRights">ChatAdminRights</a> bot_broadcast_admin_rights:flags.18?<a href="/type/ChatAdminRights">ChatAdminRights</a> premium_gifts:flags.19?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/PremiumGiftOption">PremiumGiftOption</a>&gt; wallpaper:flags.24?<a href="/type/WallPaper">WallPaper</a> stories:flags.25?<a href="/type/PeerStories">PeerStories</a> = <a href="/type/UserFull">UserFull</a>;
<a href="/constructor/updateNewAuthorization">updateNewAuthorization</a>#8951abef flags:<a href="/type/%23">#</a> unconfirmed:flags.0?<a href="/constructor/true">true</a> hash:<a href="/type/long">long</a> date:flags.0?<a href="/type/int">int</a> device:flags.0?<a href="/type/string">string</a> location:flags.0?<a href="/type/string">string</a> = <a href="/type/Update">Update</a>;<br>
<a href="/constructor/messageMediaDocument">messageMediaDocument</a>#4cf4d72d flags:<a href="/type/%23">#</a> nopremium:flags.3?<a href="/constructor/true">true</a> spoiler:flags.4?<a href="/constructor/true">true</a> document:flags.0?<a href="/type/Document">Document</a> alt_document:flags.5?<a href="/type/Document">Document</a> ttl_seconds:flags.2?<a href="/type/int">int</a> = <a href="/type/MessageMedia">MessageMedia</a>;<br>
<a href="/constructor/documentAttributeVideo">documentAttributeVideo</a>#d38ff1c2 flags:<a href="/type/%23">#</a> round_message:flags.0?<a href="/constructor/true">true</a> supports_streaming:flags.1?<a href="/constructor/true">true</a> nosound:flags.3?<a href="/constructor/true">true</a> duration:<a href="/type/double">double</a> w:<a href="/type/int">int</a> h:<a href="/type/int">int</a> preload_prefix_size:flags.2?<a href="/type/int">int</a> = <a href="/type/DocumentAttribute">DocumentAttribute</a>;<br>
<a href="/constructor/authorization">authorization</a>#ad01d61d flags:<a href="/type/%23">#</a> current:flags.0?<a href="/constructor/true">true</a> official_app:flags.1?<a href="/constructor/true">true</a> password_pending:flags.2?<a href="/constructor/true">true</a> encrypted_requests_disabled:flags.3?<a href="/constructor/true">true</a> call_requests_disabled:flags.4?<a href="/constructor/true">true</a> unconfirmed:flags.5?<a href="/constructor/true">true</a> hash:<a href="/type/long">long</a> device_model:<a href="/type/string">string</a> platform:<a href="/type/string">string</a> system_version:<a href="/type/string">string</a> api_id:<a href="/type/int">int</a> app_name:<a href="/type/string">string</a> app_version:<a href="/type/string">string</a> date_created:<a href="/type/int">int</a> date_active:<a href="/type/int">int</a> ip:<a href="/type/string">string</a> country:<a href="/type/string">string</a> region:<a href="/type/string">string</a> = <a href="/type/Authorization">Authorization</a>;<br>
<a href="/constructor/updateReadMessagesContents">updateReadMessagesContents</a>#f8227181 flags:<a href="/type/%23">#</a> messages:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; pts:<a href="/type/int">int</a> pts_count:<a href="/type/int">int</a> date:flags.0?<a href="/type/int">int</a> = <a href="/type/Update">Update</a>;<br>
<a href="/constructor/updateReadMessagesContents">updateReadMessagesContents</a>#f8227181 flags:<a href="/type/%23">#</a> messages:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; pts:<a href="/type/int">int</a> pts_count:<a href="/type/int">int</a> date:flags.0?<a href="/type/int">int</a> = <a href="/type/Update">Update</a>;
<a href="/constructor/user">user</a>#abb5f120 flags:<a href="/type/%23">#</a> self:flags.10?<a href="/constructor/true">true</a> contact:flags.11?<a href="/constructor/true">true</a> mutual_contact:flags.12?<a href="/constructor/true">true</a> deleted:flags.13?<a href="/constructor/true">true</a> bot:flags.14?<a href="/constructor/true">true</a> bot_chat_history:flags.15?<a href="/constructor/true">true</a> bot_nochats:flags.16?<a href="/constructor/true">true</a> verified:flags.17?<a href="/constructor/true">true</a> restricted:flags.18?<a href="/constructor/true">true</a> min:flags.20?<a href="/constructor/true">true</a> bot_inline_geo:flags.21?<a href="/constructor/true">true</a> support:flags.23?<a href="/constructor/true">true</a> scam:flags.24?<a href="/constructor/true">true</a> apply_min_photo:flags.25?<a href="/constructor/true">true</a> fake:flags.26?<a href="/constructor/true">true</a> bot_attach_menu:flags.27?<a href="/constructor/true">true</a> premium:flags.28?<a href="/constructor/true">true</a> attach_menu_enabled:flags.29?<a href="/constructor/true">true</a> flags2:<a href="/type/%23">#</a> bot_can_edit:flags2.1?<a href="/constructor/true">true</a> close_friend:flags2.2?<a href="/constructor/true">true</a> stories_hidden:flags2.3?<a href="/constructor/true">true</a> stories_unavailable:flags2.4?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> access_hash:flags.0?<a href="/type/long">long</a> first_name:flags.1?<a href="/type/string">string</a> last_name:flags.2?<a href="/type/string">string</a> username:flags.3?<a href="/type/string">string</a> phone:flags.4?<a href="/type/string">string</a> photo:flags.5?<a href="/type/UserProfilePhoto">UserProfilePhoto</a> status:flags.6?<a href="/type/UserStatus">UserStatus</a> bot_info_version:flags.14?<a href="/type/int">int</a> restriction_reason:flags.18?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/RestrictionReason">RestrictionReason</a>&gt; bot_inline_placeholder:flags.19?<a href="/type/string">string</a> lang_code:flags.22?<a href="/type/string">string</a> emoji_status:flags.30?<a href="/type/EmojiStatus">EmojiStatus</a> usernames:flags2.0?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Username">Username</a>&gt; stories_max_id:flags2.5?<a href="/type/int">int</a> = <a href="/type/User">User</a>;<br>
<a href="/constructor/channel">channel</a>#94f592db flags:<a href="/type/%23">#</a> creator:flags.0?<a href="/constructor/true">true</a> left:flags.2?<a href="/constructor/true">true</a> broadcast:flags.5?<a href="/constructor/true">true</a> verified:flags.7?<a href="/constructor/true">true</a> megagroup:flags.8?<a href="/constructor/true">true</a> restricted:flags.9?<a href="/constructor/true">true</a> signatures:flags.11?<a href="/constructor/true">true</a> min:flags.12?<a href="/constructor/true">true</a> scam:flags.19?<a href="/constructor/true">true</a> has_link:flags.20?<a href="/constructor/true">true</a> has_geo:flags.21?<a href="/constructor/true">true</a> slowmode_enabled:flags.22?<a href="/constructor/true">true</a> call_active:flags.23?<a href="/constructor/true">true</a> call_not_empty:flags.24?<a href="/constructor/true">true</a> fake:flags.25?<a href="/constructor/true">true</a> gigagroup:flags.26?<a href="/constructor/true">true</a> noforwards:flags.27?<a href="/constructor/true">true</a> join_to_send:flags.28?<a href="/constructor/true">true</a> join_request:flags.29?<a href="/constructor/true">true</a> forum:flags.30?<a href="/constructor/true">true</a> flags2:<a href="/type/%23">#</a> stories_hidden:flags2.1?<a href="/constructor/true">true</a> stories_hidden_min:flags2.2?<a href="/constructor/true">true</a> stories_unavailable:flags2.3?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> access_hash:flags.13?<a href="/type/long">long</a> title:<a href="/type/string">string</a> username:flags.6?<a href="/type/string">string</a> photo:<a href="/type/ChatPhoto">ChatPhoto</a> date:<a href="/type/int">int</a> restriction_reason:flags.9?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/RestrictionReason">RestrictionReason</a>&gt; admin_rights:flags.14?<a href="/type/ChatAdminRights">ChatAdminRights</a> banned_rights:flags.15?<a href="/type/ChatBannedRights">ChatBannedRights</a> default_banned_rights:flags.18?<a href="/type/ChatBannedRights">ChatBannedRights</a> participants_count:flags.17?<a href="/type/int">int</a> usernames:flags2.0?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Username">Username</a>&gt; stories_max_id:flags2.4?<a href="/type/int">int</a> = <a href="/type/Chat">Chat</a>;
<a href="/constructor/channelFull">channelFull</a>#723027bd flags:<a href="/type/%23">#</a> can_view_participants:flags.3?<a href="/constructor/true">true</a> can_set_username:flags.6?<a href="/constructor/true">true</a> can_set_stickers:flags.7?<a href="/constructor/true">true</a> hidden_prehistory:flags.10?<a href="/constructor/true">true</a> can_set_location:flags.16?<a href="/constructor/true">true</a> has_scheduled:flags.19?<a href="/constructor/true">true</a> can_view_stats:flags.20?<a href="/constructor/true">true</a> blocked:flags.22?<a href="/constructor/true">true</a> flags2:<a href="/type/%23">#</a> can_delete_channel:flags2.0?<a href="/constructor/true">true</a> antispam:flags2.1?<a href="/constructor/true">true</a> participants_hidden:flags2.2?<a href="/constructor/true">true</a> translations_disabled:flags2.3?<a href="/constructor/true">true</a> stories_pinned_available:flags2.5?<a href="/constructor/true">true</a> view_forum_as_messages:flags2.6?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> about:<a href="/type/string">string</a> participants_count:flags.0?<a href="/type/int">int</a> admins_count:flags.1?<a href="/type/int">int</a> kicked_count:flags.2?<a href="/type/int">int</a> banned_count:flags.2?<a href="/type/int">int</a> online_count:flags.13?<a href="/type/int">int</a> read_inbox_max_id:<a href="/type/int">int</a> read_outbox_max_id:<a href="/type/int">int</a> unread_count:<a href="/type/int">int</a> chat_photo:<a href="/type/Photo">Photo</a> notify_settings:<a href="/type/PeerNotifySettings">PeerNotifySettings</a> exported_invite:flags.23?<a href="/type/ExportedChatInvite">ExportedChatInvite</a> bot_info:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/BotInfo">BotInfo</a>&gt; migrated_from_chat_id:flags.4?<a href="/type/long">long</a> migrated_from_max_id:flags.4?<a href="/type/int">int</a> pinned_msg_id:flags.5?<a href="/type/int">int</a> stickerset:flags.8?<a href="/type/StickerSet">StickerSet</a> available_min_id:flags.9?<a href="/type/int">int</a> folder_id:flags.11?<a href="/type/int">int</a> linked_chat_id:flags.14?<a href="/type/long">long</a> location:flags.15?<a href="/type/ChannelLocation">ChannelLocation</a> slowmode_seconds:flags.17?<a href="/type/int">int</a> slowmode_next_send_date:flags.18?<a href="/type/int">int</a> stats_dc:flags.12?<a href="/type/int">int</a> pts:<a href="/type/int">int</a> call:flags.21?<a href="/type/InputGroupCall">InputGroupCall</a> ttl_period:flags.24?<a href="/type/int">int</a> pending_suggestions:flags.25?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/string">string</a>&gt; groupcall_default_join_as:flags.26?<a href="/type/Peer">Peer</a> theme_emoticon:flags.27?<a href="/type/string">string</a> requests_pending:flags.28?<a href="/type/int">int</a> recent_requesters:flags.28?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/long">long</a>&gt; default_send_as:flags.29?<a href="/type/Peer">Peer</a> available_reactions:flags.30?<a href="/type/ChatReactions">ChatReactions</a> stories:flags2.4?<a href="/type/PeerStories">PeerStories</a> = <a href="/type/ChatFull">ChatFull</a>;<br>
<a href="/constructor/invoice">invoice</a>#5db95a15 flags:<a href="/type/%23">#</a> test:flags.0?<a href="/constructor/true">true</a> name_requested:flags.1?<a href="/constructor/true">true</a> phone_requested:flags.2?<a href="/constructor/true">true</a> email_requested:flags.3?<a href="/constructor/true">true</a> shipping_address_requested:flags.4?<a href="/constructor/true">true</a> flexible:flags.5?<a href="/constructor/true">true</a> phone_to_provider:flags.6?<a href="/constructor/true">true</a> email_to_provider:flags.7?<a href="/constructor/true">true</a> recurring:flags.9?<a href="/constructor/true">true</a> currency:<a href="/type/string">string</a> prices:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/LabeledPrice">LabeledPrice</a>&gt; max_tip_amount:flags.8?<a href="/type/long">long</a> suggested_tip_amounts:flags.8?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/long">long</a>&gt; terms_url:flags.10?<a href="/type/string">string</a> = <a href="/type/Invoice">Invoice</a>;<br>
<a href="/constructor/messageActionBotAllowed">messageActionBotAllowed</a>#c516d679 flags:<a href="/type/%23">#</a> attach_menu:flags.1?<a href="/constructor/true">true</a> from_request:flags.3?<a href="/constructor/true">true</a> domain:flags.0?<a href="/type/string">string</a> app:flags.2?<a href="/type/BotApp">BotApp</a> = <a href="/type/MessageAction">MessageAction</a>;<br>
<a href="/constructor/chatAdminRights">chatAdminRights</a>#5fb224d5 flags:<a href="/type/%23">#</a> change_info:flags.0?<a href="/constructor/true">true</a> post_messages:flags.1?<a href="/constructor/true">true</a> edit_messages:flags.2?<a href="/constructor/true">true</a> delete_messages:flags.3?<a href="/constructor/true">true</a> ban_users:flags.4?<a href="/constructor/true">true</a> invite_users:flags.5?<a href="/constructor/true">true</a> pin_messages:flags.7?<a href="/constructor/true">true</a> add_admins:flags.9?<a href="/constructor/true">true</a> anonymous:flags.10?<a href="/constructor/true">true</a> manage_call:flags.11?<a href="/constructor/true">true</a> other:flags.12?<a href="/constructor/true">true</a> manage_topics:flags.13?<a href="/constructor/true">true</a> post_stories:flags.14?<a href="/constructor/true">true</a> edit_stories:flags.15?<a href="/constructor/true">true</a> delete_stories:flags.16?<a href="/constructor/true">true</a> = <a href="/type/ChatAdminRights">ChatAdminRights</a>;<br>
<a href="/constructor/autoDownloadSettings">autoDownloadSettings</a>#baa57628 flags:<a href="/type/%23">#</a> disabled:flags.0?<a href="/constructor/true">true</a> video_preload_large:flags.1?<a href="/constructor/true">true</a> audio_preload_next:flags.2?<a href="/constructor/true">true</a> phonecalls_less_data:flags.3?<a href="/constructor/true">true</a> stories_preload:flags.4?<a href="/constructor/true">true</a> photo_size_max:<a href="/type/int">int</a> video_size_max:<a href="/type/long">long</a> file_size_max:<a href="/type/long">long</a> video_upload_maxbitrate:<a href="/type/int">int</a> small_queue_active_operations_max:<a href="/type/int">int</a> large_queue_active_operations_max:<a href="/type/int">int</a> = <a href="/type/AutoDownloadSettings">AutoDownloadSettings</a>;<br>
<a href="/constructor/globalPrivacySettings">globalPrivacySettings</a>#734c4ccb flags:<a href="/type/%23">#</a> archive_and_mute_new_noncontact_peers:flags.0?<a href="/constructor/true">true</a> keep_archived_unmuted:flags.1?<a href="/constructor/true">true</a> keep_archived_folders:flags.2?<a href="/constructor/true">true</a> = <a href="/type/GlobalPrivacySettings">GlobalPrivacySettings</a>;<br>
<a href="/constructor/updatePeerBlocked">updatePeerBlocked</a>#ebe07752 flags:<a href="/type/%23">#</a> blocked:flags.0?<a href="/constructor/true">true</a> blocked_my_stories_from:flags.1?<a href="/constructor/true">true</a> peer_id:<a href="/type/Peer">Peer</a> = <a href="/type/Update">Update</a>;<br>
<a href="/constructor/attachMenuBot">attachMenuBot</a>#d90d8dfe flags:<a href="/type/%23">#</a> inactive:flags.0?<a href="/constructor/true">true</a> has_settings:flags.1?<a href="/constructor/true">true</a> request_write_access:flags.2?<a href="/constructor/true">true</a> show_in_attach_menu:flags.3?<a href="/constructor/true">true</a> show_in_side_menu:flags.4?<a href="/constructor/true">true</a> side_menu_disclaimer_needed:flags.5?<a href="/constructor/true">true</a> bot_id:<a href="/type/long">long</a> short_name:<a href="/type/string">string</a> peer_types:flags.3?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/AttachMenuPeerType">AttachMenuPeerType</a>&gt; icons:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/AttachMenuBotIcon">AttachMenuBotIcon</a>&gt; = <a href="/type/AttachMenuBot">AttachMenuBot</a>;<br>
<a href="/constructor/messages.botApp">messages.botApp</a>#eb50adf5 flags:<a href="/type/%23">#</a> inactive:flags.0?<a href="/constructor/true">true</a> request_write_access:flags.1?<a href="/constructor/true">true</a> has_settings:flags.2?<a href="/constructor/true">true</a> app:<a href="/type/BotApp">BotApp</a> = <a href="/type/messages.BotApp">messages.BotApp</a>;<br>
<a href="/constructor/storyViews">storyViews</a>#8d595cd6 flags:<a href="/type/%23">#</a> has_viewers:flags.1?<a href="/constructor/true">true</a> views_count:<a href="/type/int">int</a> forwards_count:flags.2?<a href="/type/int">int</a> reactions:flags.3?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/ReactionCount">ReactionCount</a>&gt; reactions_count:flags.4?<a href="/type/int">int</a> recent_viewers:flags.0?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/long">long</a>&gt; = <a href="/type/StoryViews">StoryViews</a>;
<a href="/constructor/storyItemDeleted">storyItemDeleted</a>#51e6ee4f id:<a href="/type/int">int</a> = <a href="/type/StoryItem">StoryItem</a>;
<a href="/constructor/storyItemSkipped">storyItemSkipped</a>#ffadc913 flags:<a href="/type/%23">#</a> close_friends:flags.8?<a href="/constructor/true">true</a> id:<a href="/type/int">int</a> date:<a href="/type/int">int</a> expire_date:<a href="/type/int">int</a> = <a href="/type/StoryItem">StoryItem</a>;
<a href="/constructor/storyItem">storyItem</a>#44c457ce flags:<a href="/type/%23">#</a> pinned:flags.5?<a href="/constructor/true">true</a> public:flags.7?<a href="/constructor/true">true</a> close_friends:flags.8?<a href="/constructor/true">true</a> min:flags.9?<a href="/constructor/true">true</a> noforwards:flags.10?<a href="/constructor/true">true</a> edited:flags.11?<a href="/constructor/true">true</a> contacts:flags.12?<a href="/constructor/true">true</a> selected_contacts:flags.13?<a href="/constructor/true">true</a> out:flags.16?<a href="/constructor/true">true</a> id:<a href="/type/int">int</a> date:<a href="/type/int">int</a> expire_date:<a href="/type/int">int</a> caption:flags.0?<a href="/type/string">string</a> entities:flags.1?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; media:<a href="/type/MessageMedia">MessageMedia</a> media_areas:flags.14?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MediaArea">MediaArea</a>&gt; privacy:flags.2?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/PrivacyRule">PrivacyRule</a>&gt; views:flags.3?<a href="/type/StoryViews">StoryViews</a> sent_reaction:flags.15?<a href="/type/Reaction">Reaction</a> = <a href="/type/StoryItem">StoryItem</a>;<br>
<a href="/constructor/updateStory">updateStory</a>#75b3b798 peer:<a href="/type/Peer">Peer</a> story:<a href="/type/StoryItem">StoryItem</a> = <a href="/type/Update">Update</a>;
<a href="/constructor/updateReadStories">updateReadStories</a>#f74e932b peer:<a href="/type/Peer">Peer</a> max_id:<a href="/type/int">int</a> = <a href="/type/Update">Update</a>;<br>
<a href="/constructor/stories.allStoriesNotModified">stories.allStoriesNotModified</a>#1158fe3e flags:<a href="/type/%23">#</a> state:<a href="/type/string">string</a> stealth_mode:<a href="/type/StoriesStealthMode">StoriesStealthMode</a> = <a href="/type/stories.AllStories">stories.AllStories</a>;
<a href="/constructor/stories.allStories">stories.allStories</a>#6efc5e81 flags:<a href="/type/%23">#</a> has_more:flags.0?<a href="/constructor/true">true</a> count:<a href="/type/int">int</a> state:<a href="/type/string">string</a> peer_stories:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/PeerStories">PeerStories</a>&gt; chats:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Chat">Chat</a>&gt; users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; stealth_mode:<a href="/type/StoriesStealthMode">StoriesStealthMode</a> = <a href="/type/stories.AllStories">stories.AllStories</a>;
<a href="/constructor/stories.stories">stories.stories</a>#5dd8c3c8 count:<a href="/type/int">int</a> stories:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/StoryItem">StoryItem</a>&gt; chats:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Chat">Chat</a>&gt; users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; = <a href="/type/stories.Stories">stories.Stories</a>;
<a href="/constructor/stories.stories">stories.stories</a>#5dd8c3c8 count:<a href="/type/int">int</a> stories:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/StoryItem">StoryItem</a>&gt; chats:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Chat">Chat</a>&gt; users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; = <a href="/type/stories.Stories">stories.Stories</a>;<br>
<a href="/constructor/inputPrivacyValueAllowCloseFriends">inputPrivacyValueAllowCloseFriends</a>#2f453e49 = <a href="/type/InputPrivacyRule">InputPrivacyRule</a>;<br>
<a href="/constructor/privacyValueAllowCloseFriends">privacyValueAllowCloseFriends</a>#f7e8d89b = <a href="/type/PrivacyRule">PrivacyRule</a>;<br>
<a href="/constructor/storyView">storyView</a>#b0bdeac5 flags:<a href="/type/%23">#</a> blocked:flags.0?<a href="/constructor/true">true</a> blocked_my_stories_from:flags.1?<a href="/constructor/true">true</a> user_id:<a href="/type/long">long</a> date:<a href="/type/int">int</a> reaction:flags.2?<a href="/type/Reaction">Reaction</a> = <a href="/type/StoryView">StoryView</a>;
<a href="/constructor/stories.storyViewsList">stories.storyViewsList</a>#46e9b9ec flags:<a href="/type/%23">#</a> count:<a href="/type/int">int</a> reactions_count:<a href="/type/int">int</a> views:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/StoryView">StoryView</a>&gt; users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; next_offset:flags.0?<a href="/type/string">string</a> = <a href="/type/stories.StoryViewsList">stories.StoryViewsList</a>;<br>
<a href="/constructor/stories.storyViewsList">stories.storyViewsList</a>#46e9b9ec flags:<a href="/type/%23">#</a> count:<a href="/type/int">int</a> reactions_count:<a href="/type/int">int</a> views:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/StoryView">StoryView</a>&gt; users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; next_offset:flags.0?<a href="/type/string">string</a> = <a href="/type/stories.StoryViewsList">stories.StoryViewsList</a>;
<a href="/constructor/stories.storyViews">stories.storyViews</a>#de9eed1d views:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/StoryViews">StoryViews</a>&gt; users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; = <a href="/type/stories.StoryViews">stories.StoryViews</a>;<br>
<a href="/constructor/inputReplyToMessage">inputReplyToMessage</a>#9c5386e4 flags:<a href="/type/%23">#</a> reply_to_msg_id:<a href="/type/int">int</a> top_msg_id:flags.0?<a href="/type/int">int</a> = <a href="/type/InputReplyTo">InputReplyTo</a>;
<a href="/constructor/inputReplyToStory">inputReplyToStory</a>#15b0f283 user_id:<a href="/type/InputUser">InputUser</a> story_id:<a href="/type/int">int</a> = <a href="/type/InputReplyTo">InputReplyTo</a>;<br>
<a href="/constructor/messageReplyStoryHeader">messageReplyStoryHeader</a>#9c98bfc1 user_id:<a href="/type/long">long</a> story_id:<a href="/type/int">int</a> = <a href="/type/MessageReplyHeader">MessageReplyHeader</a>;<br>
<a href="/constructor/updateStoryID">updateStoryID</a>#1bf335b9 id:<a href="/type/int">int</a> random_id:<a href="/type/long">long</a> = <a href="/type/Update">Update</a>;<br>
<a href="/constructor/exportedStoryLink">exportedStoryLink</a>#3fc9053b link:<a href="/type/string">string</a> = <a href="/type/ExportedStoryLink">ExportedStoryLink</a>;<br>
<a href="/constructor/inputMediaStory">inputMediaStory</a>#89fdd778 peer:<a href="/type/InputPeer">InputPeer</a> id:<a href="/type/int">int</a> = <a href="/type/InputMedia">InputMedia</a>;<br>
<a href="/constructor/messageMediaStory">messageMediaStory</a>#68cb6283 flags:<a href="/type/%23">#</a> via_mention:flags.1?<a href="/constructor/true">true</a> peer:<a href="/type/Peer">Peer</a> id:<a href="/type/int">int</a> story:flags.0?<a href="/type/StoryItem">StoryItem</a> = <a href="/type/MessageMedia">MessageMedia</a>;<br>
<a href="/constructor/webPageAttributeStory">webPageAttributeStory</a>#2e94c3e7 flags:<a href="/type/%23">#</a> peer:<a href="/type/Peer">Peer</a> id:<a href="/type/int">int</a> story:flags.0?<a href="/type/StoryItem">StoryItem</a> = <a href="/type/WebPageAttribute">WebPageAttribute</a>;<br>
@ -191,16 +227,27 @@
<a href="/method/contacts.block">contacts.block</a>#2e2e8734 flags:<a href="/type/%23">#</a> my_stories_from:flags.0?<a href="/constructor/true">true</a> id:<a href="/type/InputPeer">InputPeer</a> = <a href="/type/Bool">Bool</a>;
<a href="/method/contacts.unblock">contacts.unblock</a>#b550d328 flags:<a href="/type/%23">#</a> my_stories_from:flags.0?<a href="/constructor/true">true</a> id:<a href="/type/InputPeer">InputPeer</a> = <a href="/type/Bool">Bool</a>;
<a href="/method/contacts.getBlocked">contacts.getBlocked</a>#9a868f80 flags:<a href="/type/%23">#</a> my_stories_from:flags.0?<a href="/constructor/true">true</a> offset:<a href="/type/int">int</a> limit:<a href="/type/int">int</a> = <a href="/type/contacts.Blocked">contacts.Blocked</a>;<br>
<a href="/method/messages.sendMessage">messages.sendMessage</a>#280d096f flags:<a href="/type/%23">#</a> no_webpage:flags.1?<a href="/constructor/true">true</a> silent:flags.5?<a href="/constructor/true">true</a> background:flags.6?<a href="/constructor/true">true</a> clear_draft:flags.7?<a href="/constructor/true">true</a> noforwards:flags.14?<a href="/constructor/true">true</a> update_stickersets_order:flags.15?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> reply_to:flags.0?<a href="/type/InputReplyTo">InputReplyTo</a> message:<a href="/type/string">string</a> random_id:<a href="/type/long">long</a> reply_markup:flags.2?<a href="/type/ReplyMarkup">ReplyMarkup</a> entities:flags.3?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; schedule_date:flags.10?<a href="/type/int">int</a> send_as:flags.13?<a href="/type/InputPeer">InputPeer</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/messages.sendMedia">messages.sendMedia</a>#72ccc23d flags:<a href="/type/%23">#</a> silent:flags.5?<a href="/constructor/true">true</a> background:flags.6?<a href="/constructor/true">true</a> clear_draft:flags.7?<a href="/constructor/true">true</a> noforwards:flags.14?<a href="/constructor/true">true</a> update_stickersets_order:flags.15?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> reply_to:flags.0?<a href="/type/InputReplyTo">InputReplyTo</a> media:<a href="/type/InputMedia">InputMedia</a> message:<a href="/type/string">string</a> random_id:<a href="/type/long">long</a> reply_markup:flags.2?<a href="/type/ReplyMarkup">ReplyMarkup</a> entities:flags.3?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; schedule_date:flags.10?<a href="/type/int">int</a> send_as:flags.13?<a href="/type/InputPeer">InputPeer</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/messages.sendInlineBotResult">messages.sendInlineBotResult</a>#f7bc68ba flags:<a href="/type/%23">#</a> silent:flags.5?<a href="/constructor/true">true</a> background:flags.6?<a href="/constructor/true">true</a> clear_draft:flags.7?<a href="/constructor/true">true</a> hide_via:flags.11?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> reply_to:flags.0?<a href="/type/InputReplyTo">InputReplyTo</a> random_id:<a href="/type/long">long</a> query_id:<a href="/type/long">long</a> id:<a href="/type/string">string</a> schedule_date:flags.10?<a href="/type/int">int</a> send_as:flags.13?<a href="/type/InputPeer">InputPeer</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/messages.sendScreenshotNotification">messages.sendScreenshotNotification</a>#a1405817 peer:<a href="/type/InputPeer">InputPeer</a> reply_to:<a href="/type/InputReplyTo">InputReplyTo</a> random_id:<a href="/type/long">long</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/messages.sendMultiMedia">messages.sendMultiMedia</a>#456e8987 flags:<a href="/type/%23">#</a> silent:flags.5?<a href="/constructor/true">true</a> background:flags.6?<a href="/constructor/true">true</a> clear_draft:flags.7?<a href="/constructor/true">true</a> noforwards:flags.14?<a href="/constructor/true">true</a> update_stickersets_order:flags.15?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> reply_to:flags.0?<a href="/type/InputReplyTo">InputReplyTo</a> multi_media:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InputSingleMedia">InputSingleMedia</a>&gt; schedule_date:flags.10?<a href="/type/int">int</a> send_as:flags.13?<a href="/type/InputPeer">InputPeer</a> = <a href="/type/Updates">Updates</a>;<br>
<a href="/method/account.getNotifyExceptions">account.getNotifyExceptions</a>#53577479 flags:<a href="/type/%23">#</a> compare_sound:flags.1?<a href="/constructor/true">true</a> compare_stories:flags.2?<a href="/constructor/true">true</a> peer:flags.0?<a href="/type/InputNotifyPeer">InputNotifyPeer</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/account.changeAuthorizationSettings">account.changeAuthorizationSettings</a>#40f48462 flags:<a href="/type/%23">#</a> confirmed:flags.3?<a href="/constructor/true">true</a> hash:<a href="/type/long">long</a> encrypted_requests_disabled:flags.0?<a href="/type/Bool">Bool</a> call_requests_disabled:flags.1?<a href="/type/Bool">Bool</a> = <a href="/type/Bool">Bool</a>;<br>
<a href="/method/messages.requestWebView">messages.requestWebView</a>#269dc2c1 flags:<a href="/type/%23">#</a> from_bot_menu:flags.4?<a href="/constructor/true">true</a> silent:flags.5?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> bot:<a href="/type/InputUser">InputUser</a> url:flags.1?<a href="/type/string">string</a> start_param:flags.3?<a href="/type/string">string</a> theme_params:flags.2?<a href="/type/DataJSON">DataJSON</a> platform:<a href="/type/string">string</a> reply_to:flags.0?<a href="/type/InputReplyTo">InputReplyTo</a> send_as:flags.13?<a href="/type/InputPeer">InputPeer</a> = <a href="/type/WebViewResult">WebViewResult</a>;
<a href="/method/messages.prolongWebView">messages.prolongWebView</a>#b0d81a83 flags:<a href="/type/%23">#</a> silent:flags.5?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> bot:<a href="/type/InputUser">InputUser</a> query_id:<a href="/type/long">long</a> reply_to:flags.0?<a href="/type/InputReplyTo">InputReplyTo</a> send_as:flags.13?<a href="/type/InputPeer">InputPeer</a> = <a href="/type/Bool">Bool</a>;
<a href="/method/messages.requestSimpleWebView">messages.requestSimpleWebView</a>#1a46500a flags:<a href="/type/%23">#</a> from_switch_webview:flags.1?<a href="/constructor/true">true</a> from_side_menu:flags.2?<a href="/constructor/true">true</a> bot:<a href="/type/InputUser">InputUser</a> url:flags.3?<a href="/type/string">string</a> start_param:flags.4?<a href="/type/string">string</a> theme_params:flags.0?<a href="/type/DataJSON">DataJSON</a> platform:<a href="/type/string">string</a> = <a href="/type/SimpleWebViewResult">SimpleWebViewResult</a>;<br>
<a href="/method/contacts.editCloseFriends">contacts.editCloseFriends</a>#ba6705f0 id:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/long">long</a>&gt; = <a href="/type/Bool">Bool</a>;<br>
<a href="/method/stories.canSendStory">stories.canSendStory</a>#c7dfdfdd peer:<a href="/type/InputPeer">InputPeer</a> = <a href="/type/Bool">Bool</a>;
<a href="/method/stories.sendStory">stories.sendStory</a>#bcb73644 flags:<a href="/type/%23">#</a> pinned:flags.2?<a href="/constructor/true">true</a> noforwards:flags.4?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> media:<a href="/type/InputMedia">InputMedia</a> media_areas:flags.5?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MediaArea">MediaArea</a>&gt; caption:flags.0?<a href="/type/string">string</a> entities:flags.1?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; privacy_rules:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InputPrivacyRule">InputPrivacyRule</a>&gt; random_id:<a href="/type/long">long</a> period:flags.3?<a href="/type/int">int</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/stories.editStory">stories.editStory</a>#b583ba46 flags:<a href="/type/%23">#</a> peer:<a href="/type/InputPeer">InputPeer</a> id:<a href="/type/int">int</a> media:flags.0?<a href="/type/InputMedia">InputMedia</a> media_areas:flags.3?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MediaArea">MediaArea</a>&gt; caption:flags.1?<a href="/type/string">string</a> entities:flags.1?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; privacy_rules:flags.2?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InputPrivacyRule">InputPrivacyRule</a>&gt; = <a href="/type/Updates">Updates</a>;
<a href="/method/stories.deleteStories">stories.deleteStories</a>#ae59db5f peer:<a href="/type/InputPeer">InputPeer</a> id:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; = <a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt;;
<a href="/method/stories.togglePinned">stories.togglePinned</a>#9a75a1ef peer:<a href="/type/InputPeer">InputPeer</a> id:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; pinned:<a href="/type/Bool">Bool</a> = <a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt;;
<a href="/method/stories.getAllStories">stories.getAllStories</a>#eeb0d625 flags:<a href="/type/%23">#</a> next:flags.1?<a href="/constructor/true">true</a> hidden:flags.2?<a href="/constructor/true">true</a> state:flags.0?<a href="/type/string">string</a> = <a href="/type/stories.AllStories">stories.AllStories</a>;
<a href="/method/stories.getPinnedStories">stories.getPinnedStories</a>#5821a5dc peer:<a href="/type/InputPeer">InputPeer</a> offset_id:<a href="/type/int">int</a> limit:<a href="/type/int">int</a> = <a href="/type/stories.Stories">stories.Stories</a>;
<a href="/method/stories.getStoriesArchive">stories.getStoriesArchive</a>#b4352016 peer:<a href="/type/InputPeer">InputPeer</a> offset_id:<a href="/type/int">int</a> limit:<a href="/type/int">int</a> = <a href="/type/stories.Stories">stories.Stories</a>;
<a href="/method/stories.getStoriesByID">stories.getStoriesByID</a>#5774ca74 peer:<a href="/type/InputPeer">InputPeer</a> id:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; = <a href="/type/stories.Stories">stories.Stories</a>;
<a href="/method/stories.toggleAllStoriesHidden">stories.toggleAllStoriesHidden</a>#7c2557c4 hidden:<a href="/type/Bool">Bool</a> = <a href="/type/Bool">Bool</a>;
<a href="/method/stories.readStories">stories.readStories</a>#a556dac8 peer:<a href="/type/InputPeer">InputPeer</a> max_id:<a href="/type/int">int</a> = <a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt;;
<a href="/method/stories.incrementStoryViews">stories.incrementStoryViews</a>#b2028afb peer:<a href="/type/InputPeer">InputPeer</a> id:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; = <a href="/type/Bool">Bool</a>;
<a href="/method/stories.getStoryViewsList">stories.getStoryViewsList</a>#7ed23c57 flags:<a href="/type/%23">#</a> just_contacts:flags.0?<a href="/constructor/true">true</a> reactions_first:flags.2?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> q:flags.1?<a href="/type/string">string</a> id:<a href="/type/int">int</a> offset:<a href="/type/string">string</a> limit:<a href="/type/int">int</a> = <a href="/type/stories.StoryViewsList">stories.StoryViewsList</a>;
@ -222,145 +269,6 @@
<a href="/method/stories.getBoostersList">stories.getBoostersList</a>#337ef980 peer:<a href="/type/InputPeer">InputPeer</a> offset:<a href="/type/string">string</a> limit:<a href="/type/int">int</a> = <a href="/type/stories.BoostersList">stories.BoostersList</a>;
<a href="/method/stories.canApplyBoost">stories.canApplyBoost</a>#db05c1bd peer:<a href="/type/InputPeer">InputPeer</a> = <a href="/type/stories.CanApplyBoostResult">stories.CanApplyBoostResult</a>;
<a href="/method/stories.applyBoost">stories.applyBoost</a>#f29d7c2b peer:<a href="/type/InputPeer">InputPeer</a> = <a href="/type/Bool">Bool</a>;<br></code></pre></div>
<h3><a class="anchor" href="#layer-160" id="layer-160" name="layer-160"><i class="anchor-icon"></i></a><a href="/schema?layer=160">Layer 160</a></h3>
<p>Introducing <a href="/api/stories">Telegram Stories</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/contacts.editCloseFriends">contacts.editCloseFriends</a> - Edit the <a href="/api/privacy">close friends list, see here »</a> for more info.</li>
<li>Added <a href="/method/contacts.toggleStoriesHidden">contacts.toggleStoriesHidden</a></li>
<li>Added <a href="/method/stories.canSendStory">stories.canSendStory</a> - Check whether we can post stories as the specified peer.</li>
<li>Added <a href="/method/stories.sendStory">stories.sendStory</a> - Uploads a <a href="/api/stories">Telegram Story</a>.</li>
<li>Added <a href="/method/stories.editStory">stories.editStory</a> - Edit an uploaded <a href="/api/stories">story</a></li>
<li>Added <a href="/method/stories.deleteStories">stories.deleteStories</a> - Deletes some posted <a href="/api/stories">stories</a>.</li>
<li>Added <a href="/method/stories.togglePinned">stories.togglePinned</a> - Pin or unpin one or more stories</li>
<li>Added <a href="/method/stories.getAllStories">stories.getAllStories</a> - Fetch the List of active (or active and hidden) stories, see <a href="/api/stories#watching-stories">here »</a> for more info on watching stories.</li>
<li>Added <a href="/method/stories.getUserStories">stories.getUserStories</a></li>
<li>Added <a href="/method/stories.getPinnedStories">stories.getPinnedStories</a> - Fetch the <a href="/api/stories#pinned-or-archived-stories">stories</a> pinned on a peer's profile.</li>
<li>Added <a href="/method/stories.getStoriesArchive">stories.getStoriesArchive</a> - Fetch the <a href="/api/stories#pinned-or-archived-stories">story archive »</a> of a peer we control.</li>
<li>Added <a href="/method/stories.getStoriesByID">stories.getStoriesByID</a> - Obtain full info about a set of <a href="/api/stories">stories</a> by their IDs.</li>
<li>Added <a href="/method/stories.toggleAllStoriesHidden">stories.toggleAllStoriesHidden</a> - Hide the active stories of a specific peer, preventing them from being displayed on the action bar on the homescreen.</li>
<li>Added <a href="/method/stories.getAllReadUserStories">stories.getAllReadUserStories</a></li>
<li>Added <a href="/method/stories.readStories">stories.readStories</a> - Mark all stories up to a certain ID as read, for a given peer; will emit an <a href="/constructor/updateReadStories">updateReadStories</a> update to all logged-in sessions.</li>
<li>Added <a href="/method/stories.incrementStoryViews">stories.incrementStoryViews</a> - Increment the view counter of one or more stories.</li>
<li>Added <a href="/method/stories.getStoryViewsList">stories.getStoryViewsList</a> - Obtain the list of users that have viewed a specific <a href="/api/stories">story we posted</a></li>
<li>Added <a href="/method/stories.getStoriesViews">stories.getStoriesViews</a> - Obtain info about the view count, forward count, reactions and recent viewers of one or more <a href="/api/stories">stories</a>.</li>
<li>Added <a href="/method/stories.exportStoryLink">stories.exportStoryLink</a> - Generate a <a href="/api/links#story-links">story deep link</a> for a specific story</li>
<li>Added <a href="/method/stories.report">stories.report</a> - Report a story.</li>
<li>Added <a href="/method/users.getStoriesMaxIDs">users.getStoriesMaxIDs</a></li>
</ul>
<h5><a class="anchor" href="#changed-methods" id="changed-methods" name="changed-methods"><i class="anchor-icon"></i></a>Changed Methods</h5>
<ul>
<li>Added <strong>reply_to</strong> parameter, removed <strong>reply_to_msg_id</strong>, <strong>top_msg_id</strong> parameters in <a href="/method/messages.sendMessage">messages.sendMessage</a></li>
<li>Added <strong>reply_to</strong> parameter, removed <strong>reply_to_msg_id</strong>, <strong>top_msg_id</strong> parameters in <a href="/method/messages.sendMedia">messages.sendMedia</a></li>
<li>Added <strong>reply_to</strong> parameter, removed <strong>reply_to_msg_id</strong>, <strong>top_msg_id</strong> parameters in <a href="/method/messages.sendInlineBotResult">messages.sendInlineBotResult</a></li>
<li>Added <strong>reply_to</strong> parameter, removed <strong>reply_to_msg_id</strong> parameter in <a href="/method/messages.sendScreenshotNotification">messages.sendScreenshotNotification</a></li>
<li>Added <strong>reply_to</strong> parameter, removed <strong>reply_to_msg_id</strong>, <strong>top_msg_id</strong> parameters in <a href="/method/messages.sendMultiMedia">messages.sendMultiMedia</a></li>
<li>Added <strong>compare_stories</strong> parameter in <a href="/method/account.getNotifyExceptions">account.getNotifyExceptions</a></li>
<li>Added <strong>reply_to</strong> parameter, removed <strong>reply_to_msg_id</strong>, <strong>top_msg_id</strong> parameters in <a href="/method/messages.requestWebView">messages.requestWebView</a></li>
<li>Added <strong>reply_to</strong> parameter, removed <strong>reply_to_msg_id</strong>, <strong>top_msg_id</strong> parameters in <a href="/method/messages.prolongWebView">messages.prolongWebView</a></li>
</ul>
<h5><a class="anchor" href="#new-constructors" id="new-constructors" name="new-constructors"><i class="anchor-icon"></i></a>New Constructors</h5>
<ul>
<li>Added <a href="/constructor/storyViews">storyViews</a> - Aggregated view and reaction information of a <a href="/api/stories">story</a>.</li>
<li>Added <a href="/constructor/storyItemDeleted">storyItemDeleted</a> - Represents a previously active story, that was deleted</li>
<li>Added <a href="/constructor/storyItemSkipped">storyItemSkipped</a> - Represents an active story, whose full information was omitted for space and performance reasons; use <a href="/method/stories.getStoriesByID">stories.getStoriesByID</a> to fetch full info about the skipped story when and if needed.</li>
<li>Added <a href="/constructor/storyItem">storyItem</a> - Represents a <a href="/api/stories">story</a>.</li>
<li>Added <a href="/constructor/userStories">userStories</a></li>
<li>Added <a href="/constructor/updateStory">updateStory</a> - A new story was posted.</li>
<li>Added <a href="/constructor/updateReadStories">updateReadStories</a> - Stories of a specific peer were marked as read.</li>
<li>Added <a href="/constructor/stories.allStoriesNotModified">stories.allStoriesNotModified</a> - The list of active (or active and hidden) <a href="/api/stories#watching-stories">stories</a> has not changed.</li>
<li>Added <a href="/constructor/stories.allStories">stories.allStories</a> - Full list of active (or active and hidden) <a href="/api/stories#watching-stories">stories</a>.</li>
<li>Added <a href="/constructor/stories.stories">stories.stories</a> - List of <a href="/api/stories#pinned-or-archived-stories">stories</a></li>
<li>Added <a href="/constructor/stories.userStories">stories.userStories</a></li>
<li>Added <a href="/constructor/inputPrivacyValueAllowCloseFriends">inputPrivacyValueAllowCloseFriends</a> - Allow only <a href="/api/privacy">close friends »</a></li>
<li>Added <a href="/constructor/privacyValueAllowCloseFriends">privacyValueAllowCloseFriends</a> - Allow only <a href="/api/privacy">close friends »</a></li>
<li>Added <a href="/constructor/storyView">storyView</a> - <a href="/api/stories">Story</a> view date and reaction information</li>
<li>Added <a href="/constructor/stories.storyViewsList">stories.storyViewsList</a> - Reaction and view counters for a <a href="/api/stories">story</a></li>
<li>Added <a href="/constructor/stories.storyViews">stories.storyViews</a> - Reaction and view counters for a list of <a href="/api/stories">stories</a></li>
<li>Added <a href="/constructor/inputReplyToMessage">inputReplyToMessage</a> - Reply to a message.</li>
<li>Added <a href="/constructor/inputReplyToStory">inputReplyToStory</a> - Reply to a story.</li>
<li>Added <a href="/constructor/messageReplyStoryHeader">messageReplyStoryHeader</a> - Represents a reply to a <a href="/api/stories">story</a></li>
<li>Added <a href="/constructor/updateStoryID">updateStoryID</a> - A story was successfully uploaded.</li>
<li>Added <a href="/constructor/exportedStoryLink">exportedStoryLink</a> - Represents a <a href="/api/stories#story-links">story deep link</a>.</li>
<li>Added <a href="/constructor/inputMediaStory">inputMediaStory</a> - Forwarded story</li>
<li>Added <a href="/constructor/messageMediaStory">messageMediaStory</a> - </li>
<li>Added <a href="/constructor/webPageAttributeStory">webPageAttributeStory</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>stories_muted</strong>, <strong>stories_hide_sender</strong>, <strong>stories_sound</strong> parameters in <a href="/constructor/inputPeerNotifySettings">inputPeerNotifySettings</a></li>
<li>Added <strong>stories_muted</strong>, <strong>stories_hide_sender</strong>, <strong>stories_ios_sound</strong>, <strong>stories_android_sound</strong>, <strong>stories_other_sound</strong> parameters in <a href="/constructor/peerNotifySettings">peerNotifySettings</a></li>
<li>Added <strong>stories_pinned_available</strong>, <strong>stories</strong> parameters in <a href="/constructor/userFull">userFull</a></li>
<li>Added <strong>alt_document</strong> parameter in <a href="/constructor/messageMediaDocument">messageMediaDocument</a></li>
<li>Added <strong>nosound</strong>, <strong>preload_prefix_size</strong> parameters, changed type of <strong>duration</strong> from <strong>int</strong> to <strong>double</strong> in <a href="/constructor/documentAttributeVideo">documentAttributeVideo</a></li>
<li>Added <strong>close_friend</strong>, <strong>stories_hidden</strong>, <strong>stories_unavailable</strong>, <strong>stories_max_id</strong> parameters in <a href="/constructor/user">user</a></li>
<li>Added <strong>stories_preload</strong> parameter in <a href="/constructor/autoDownloadSettings">autoDownloadSettings</a></li>
<li>Added <strong>keep_archived_unmuted</strong>, <strong>keep_archived_folders</strong> parameters, changed type of <strong>archive_and_mute_new_noncontact_peers</strong> from <strong>flags.0?Bool</strong> to <strong>flags.0?true</strong> in <a href="/constructor/globalPrivacySettings">globalPrivacySettings</a></li>
</ul>
<h4><a class="anchor" href="#schema" id="schema" name="schema"><i class="anchor-icon"></i></a>Schema</h4>
<div><pre><code><a href="/constructor/inputPeerNotifySettings">inputPeerNotifySettings</a>#cacb6ae2 flags:<a href="/type/%23">#</a> show_previews:flags.0?<a href="/type/Bool">Bool</a> silent:flags.1?<a href="/type/Bool">Bool</a> mute_until:flags.2?<a href="/type/int">int</a> sound:flags.3?<a href="/type/NotificationSound">NotificationSound</a> stories_muted:flags.6?<a href="/type/Bool">Bool</a> stories_hide_sender:flags.7?<a href="/type/Bool">Bool</a> stories_sound:flags.8?<a href="/type/NotificationSound">NotificationSound</a> = <a href="/type/InputPeerNotifySettings">InputPeerNotifySettings</a>;<br>
<a href="/constructor/peerNotifySettings">peerNotifySettings</a>#99622c0c flags:<a href="/type/%23">#</a> show_previews:flags.0?<a href="/type/Bool">Bool</a> silent:flags.1?<a href="/type/Bool">Bool</a> mute_until:flags.2?<a href="/type/int">int</a> ios_sound:flags.3?<a href="/type/NotificationSound">NotificationSound</a> android_sound:flags.4?<a href="/type/NotificationSound">NotificationSound</a> other_sound:flags.5?<a href="/type/NotificationSound">NotificationSound</a> stories_muted:flags.6?<a href="/type/Bool">Bool</a> stories_hide_sender:flags.7?<a href="/type/Bool">Bool</a> stories_ios_sound:flags.8?<a href="/type/NotificationSound">NotificationSound</a> stories_android_sound:flags.9?<a href="/type/NotificationSound">NotificationSound</a> stories_other_sound:flags.10?<a href="/type/NotificationSound">NotificationSound</a> = <a href="/type/PeerNotifySettings">PeerNotifySettings</a>;<br>
<a href="/constructor/userFull">userFull</a>#4fe1cc86 flags:<a href="/type/%23">#</a> blocked:flags.0?<a href="/constructor/true">true</a> phone_calls_available:flags.4?<a href="/constructor/true">true</a> phone_calls_private:flags.5?<a href="/constructor/true">true</a> can_pin_message:flags.7?<a href="/constructor/true">true</a> has_scheduled:flags.12?<a href="/constructor/true">true</a> video_calls_available:flags.13?<a href="/constructor/true">true</a> voice_messages_forbidden:flags.20?<a href="/constructor/true">true</a> translations_disabled:flags.23?<a href="/constructor/true">true</a> stories_pinned_available:flags.26?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> about:flags.1?<a href="/type/string">string</a> settings:<a href="/type/PeerSettings">PeerSettings</a> personal_photo:flags.21?<a href="/type/Photo">Photo</a> profile_photo:flags.2?<a href="/type/Photo">Photo</a> fallback_photo:flags.22?<a href="/type/Photo">Photo</a> notify_settings:<a href="/type/PeerNotifySettings">PeerNotifySettings</a> bot_info:flags.3?<a href="/type/BotInfo">BotInfo</a> pinned_msg_id:flags.6?<a href="/type/int">int</a> common_chats_count:<a href="/type/int">int</a> folder_id:flags.11?<a href="/type/int">int</a> ttl_period:flags.14?<a href="/type/int">int</a> theme_emoticon:flags.15?<a href="/type/string">string</a> private_forward_name:flags.16?<a href="/type/string">string</a> bot_group_admin_rights:flags.17?<a href="/type/ChatAdminRights">ChatAdminRights</a> bot_broadcast_admin_rights:flags.18?<a href="/type/ChatAdminRights">ChatAdminRights</a> premium_gifts:flags.19?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/PremiumGiftOption">PremiumGiftOption</a>&gt; wallpaper:flags.24?<a href="/type/WallPaper">WallPaper</a> stories:flags.25?<a href="/type/UserStories">UserStories</a> = <a href="/type/UserFull">UserFull</a>;<br>
<a href="/constructor/messageMediaDocument">messageMediaDocument</a>#4cf4d72d flags:<a href="/type/%23">#</a> nopremium:flags.3?<a href="/constructor/true">true</a> spoiler:flags.4?<a href="/constructor/true">true</a> document:flags.0?<a href="/type/Document">Document</a> alt_document:flags.5?<a href="/type/Document">Document</a> ttl_seconds:flags.2?<a href="/type/int">int</a> = <a href="/type/MessageMedia">MessageMedia</a>;<br>
<a href="/constructor/documentAttributeVideo">documentAttributeVideo</a>#d38ff1c2 flags:<a href="/type/%23">#</a> round_message:flags.0?<a href="/constructor/true">true</a> supports_streaming:flags.1?<a href="/constructor/true">true</a> nosound:flags.3?<a href="/constructor/true">true</a> duration:<a href="/type/double">double</a> w:<a href="/type/int">int</a> h:<a href="/type/int">int</a> preload_prefix_size:flags.2?<a href="/type/int">int</a> = <a href="/type/DocumentAttribute">DocumentAttribute</a>;<br>
<a href="/constructor/user">user</a>#abb5f120 flags:<a href="/type/%23">#</a> self:flags.10?<a href="/constructor/true">true</a> contact:flags.11?<a href="/constructor/true">true</a> mutual_contact:flags.12?<a href="/constructor/true">true</a> deleted:flags.13?<a href="/constructor/true">true</a> bot:flags.14?<a href="/constructor/true">true</a> bot_chat_history:flags.15?<a href="/constructor/true">true</a> bot_nochats:flags.16?<a href="/constructor/true">true</a> verified:flags.17?<a href="/constructor/true">true</a> restricted:flags.18?<a href="/constructor/true">true</a> min:flags.20?<a href="/constructor/true">true</a> bot_inline_geo:flags.21?<a href="/constructor/true">true</a> support:flags.23?<a href="/constructor/true">true</a> scam:flags.24?<a href="/constructor/true">true</a> apply_min_photo:flags.25?<a href="/constructor/true">true</a> fake:flags.26?<a href="/constructor/true">true</a> bot_attach_menu:flags.27?<a href="/constructor/true">true</a> premium:flags.28?<a href="/constructor/true">true</a> attach_menu_enabled:flags.29?<a href="/constructor/true">true</a> flags2:<a href="/type/%23">#</a> bot_can_edit:flags2.1?<a href="/constructor/true">true</a> close_friend:flags2.2?<a href="/constructor/true">true</a> stories_hidden:flags2.3?<a href="/constructor/true">true</a> stories_unavailable:flags2.4?<a href="/constructor/true">true</a> id:<a href="/type/long">long</a> access_hash:flags.0?<a href="/type/long">long</a> first_name:flags.1?<a href="/type/string">string</a> last_name:flags.2?<a href="/type/string">string</a> username:flags.3?<a href="/type/string">string</a> phone:flags.4?<a href="/type/string">string</a> photo:flags.5?<a href="/type/UserProfilePhoto">UserProfilePhoto</a> status:flags.6?<a href="/type/UserStatus">UserStatus</a> bot_info_version:flags.14?<a href="/type/int">int</a> restriction_reason:flags.18?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/RestrictionReason">RestrictionReason</a>&gt; bot_inline_placeholder:flags.19?<a href="/type/string">string</a> lang_code:flags.22?<a href="/type/string">string</a> emoji_status:flags.30?<a href="/type/EmojiStatus">EmojiStatus</a> usernames:flags2.0?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Username">Username</a>&gt; stories_max_id:flags2.5?<a href="/type/int">int</a> = <a href="/type/User">User</a>;<br>
<a href="/constructor/autoDownloadSettings">autoDownloadSettings</a>#baa57628 flags:<a href="/type/%23">#</a> disabled:flags.0?<a href="/constructor/true">true</a> video_preload_large:flags.1?<a href="/constructor/true">true</a> audio_preload_next:flags.2?<a href="/constructor/true">true</a> phonecalls_less_data:flags.3?<a href="/constructor/true">true</a> stories_preload:flags.4?<a href="/constructor/true">true</a> photo_size_max:<a href="/type/int">int</a> video_size_max:<a href="/type/long">long</a> file_size_max:<a href="/type/long">long</a> video_upload_maxbitrate:<a href="/type/int">int</a> small_queue_active_operations_max:<a href="/type/int">int</a> large_queue_active_operations_max:<a href="/type/int">int</a> = <a href="/type/AutoDownloadSettings">AutoDownloadSettings</a>;<br>
<a href="/constructor/globalPrivacySettings">globalPrivacySettings</a>#734c4ccb flags:<a href="/type/%23">#</a> archive_and_mute_new_noncontact_peers:flags.0?<a href="/constructor/true">true</a> keep_archived_unmuted:flags.1?<a href="/constructor/true">true</a> keep_archived_folders:flags.2?<a href="/constructor/true">true</a> = <a href="/type/GlobalPrivacySettings">GlobalPrivacySettings</a>;<br>
<a href="/constructor/storyViews">storyViews</a>#d36760cf flags:<a href="/type/%23">#</a> views_count:<a href="/type/int">int</a> recent_viewers:flags.0?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/long">long</a>&gt; = <a href="/type/StoryViews">StoryViews</a>;
<a href="/constructor/storyItemDeleted">storyItemDeleted</a>#51e6ee4f id:<a href="/type/int">int</a> = <a href="/type/StoryItem">StoryItem</a>;
<a href="/constructor/storyItemSkipped">storyItemSkipped</a>#ffadc913 flags:<a href="/type/%23">#</a> close_friends:flags.8?<a href="/constructor/true">true</a> id:<a href="/type/int">int</a> date:<a href="/type/int">int</a> expire_date:<a href="/type/int">int</a> = <a href="/type/StoryItem">StoryItem</a>;
<a href="/constructor/storyItem">storyItem</a>#562aa637 flags:<a href="/type/%23">#</a> pinned:flags.5?<a href="/constructor/true">true</a> public:flags.7?<a href="/constructor/true">true</a> close_friends:flags.8?<a href="/constructor/true">true</a> min:flags.9?<a href="/constructor/true">true</a> noforwards:flags.10?<a href="/constructor/true">true</a> edited:flags.11?<a href="/constructor/true">true</a> contacts:flags.12?<a href="/constructor/true">true</a> selected_contacts:flags.13?<a href="/constructor/true">true</a> id:<a href="/type/int">int</a> date:<a href="/type/int">int</a> expire_date:<a href="/type/int">int</a> caption:flags.0?<a href="/type/string">string</a> entities:flags.1?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; media:<a href="/type/MessageMedia">MessageMedia</a> privacy:flags.2?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/PrivacyRule">PrivacyRule</a>&gt; views:flags.3?<a href="/type/StoryViews">StoryViews</a> = <a href="/type/StoryItem">StoryItem</a>;<br>
<a href="/constructor/userStories">userStories</a>#8611a200 flags:<a href="/type/%23">#</a> user_id:<a href="/type/long">long</a> max_read_id:flags.0?<a href="/type/int">int</a> stories:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/StoryItem">StoryItem</a>&gt; = <a href="/type/UserStories">UserStories</a>;
<a href="/constructor/updateStory">updateStory</a>#205a4133 user_id:<a href="/type/long">long</a> story:<a href="/type/StoryItem">StoryItem</a> = <a href="/type/Update">Update</a>;
<a href="/constructor/updateReadStories">updateReadStories</a>#feb5345a user_id:<a href="/type/long">long</a> max_id:<a href="/type/int">int</a> = <a href="/type/Update">Update</a>;<br>
<a href="/constructor/stories.allStoriesNotModified">stories.allStoriesNotModified</a>#47e0a07e state:<a href="/type/string">string</a> = <a href="/type/stories.AllStories">stories.AllStories</a>;
<a href="/constructor/stories.allStories">stories.allStories</a>#839e0428 flags:<a href="/type/%23">#</a> has_more:flags.0?<a href="/constructor/true">true</a> count:<a href="/type/int">int</a> state:<a href="/type/string">string</a> user_stories:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/UserStories">UserStories</a>&gt; users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; = <a href="/type/stories.AllStories">stories.AllStories</a>;
<a href="/constructor/stories.stories">stories.stories</a>#4fe57df1 count:<a href="/type/int">int</a> stories:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/StoryItem">StoryItem</a>&gt; users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; = <a href="/type/stories.Stories">stories.Stories</a>;
<a href="/constructor/stories.userStories">stories.userStories</a>#37a6ff5f stories:<a href="/type/UserStories">UserStories</a> users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; = <a href="/type/stories.UserStories">stories.UserStories</a>;<br>
<a href="/constructor/inputPrivacyValueAllowCloseFriends">inputPrivacyValueAllowCloseFriends</a>#2f453e49 = <a href="/type/InputPrivacyRule">InputPrivacyRule</a>;<br>
<a href="/constructor/privacyValueAllowCloseFriends">privacyValueAllowCloseFriends</a>#f7e8d89b = <a href="/type/PrivacyRule">PrivacyRule</a>;<br>
<a href="/constructor/storyView">storyView</a>#a71aacc2 user_id:<a href="/type/long">long</a> date:<a href="/type/int">int</a> = <a href="/type/StoryView">StoryView</a>;
<a href="/constructor/stories.storyViewsList">stories.storyViewsList</a>#fb3f77ac count:<a href="/type/int">int</a> views:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/StoryView">StoryView</a>&gt; users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; = <a href="/type/stories.StoryViewsList">stories.StoryViewsList</a>;
<a href="/constructor/stories.storyViews">stories.storyViews</a>#de9eed1d views:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/StoryViews">StoryViews</a>&gt; users:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt; = <a href="/type/stories.StoryViews">stories.StoryViews</a>;<br>
<a href="/constructor/inputReplyToMessage">inputReplyToMessage</a>#9c5386e4 flags:<a href="/type/%23">#</a> reply_to_msg_id:<a href="/type/int">int</a> top_msg_id:flags.0?<a href="/type/int">int</a> = <a href="/type/InputReplyTo">InputReplyTo</a>;
<a href="/constructor/inputReplyToStory">inputReplyToStory</a>#15b0f283 user_id:<a href="/type/InputUser">InputUser</a> story_id:<a href="/type/int">int</a> = <a href="/type/InputReplyTo">InputReplyTo</a>;<br>
<a href="/constructor/messageReplyStoryHeader">messageReplyStoryHeader</a>#9c98bfc1 user_id:<a href="/type/long">long</a> story_id:<a href="/type/int">int</a> = <a href="/type/MessageReplyHeader">MessageReplyHeader</a>;<br>
<a href="/constructor/updateStoryID">updateStoryID</a>#1bf335b9 id:<a href="/type/int">int</a> random_id:<a href="/type/long">long</a> = <a href="/type/Update">Update</a>;<br>
<a href="/constructor/exportedStoryLink">exportedStoryLink</a>#3fc9053b link:<a href="/type/string">string</a> = <a href="/type/ExportedStoryLink">ExportedStoryLink</a>;<br>
<a href="/constructor/inputMediaStory">inputMediaStory</a>#9a86b58f user_id:<a href="/type/InputUser">InputUser</a> id:<a href="/type/int">int</a> = <a href="/type/InputMedia">InputMedia</a>;<br>
<a href="/constructor/messageMediaStory">messageMediaStory</a>#cbb20d88 flags:<a href="/type/%23">#</a> via_mention:flags.1?<a href="/constructor/true">true</a> user_id:<a href="/type/long">long</a> id:<a href="/type/int">int</a> story:flags.0?<a href="/type/StoryItem">StoryItem</a> = <a href="/type/MessageMedia">MessageMedia</a>;<br>
<a href="/constructor/webPageAttributeStory">webPageAttributeStory</a>#939a4671 flags:<a href="/type/%23">#</a> user_id:<a href="/type/long">long</a> id:<a href="/type/int">int</a> story:flags.0?<a href="/type/StoryItem">StoryItem</a> = <a href="/type/WebPageAttribute">WebPageAttribute</a>;<br>
---functions---<br>
<a href="/method/messages.sendMessage">messages.sendMessage</a>#280d096f flags:<a href="/type/%23">#</a> no_webpage:flags.1?<a href="/constructor/true">true</a> silent:flags.5?<a href="/constructor/true">true</a> background:flags.6?<a href="/constructor/true">true</a> clear_draft:flags.7?<a href="/constructor/true">true</a> noforwards:flags.14?<a href="/constructor/true">true</a> update_stickersets_order:flags.15?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> reply_to:flags.0?<a href="/type/InputReplyTo">InputReplyTo</a> message:<a href="/type/string">string</a> random_id:<a href="/type/long">long</a> reply_markup:flags.2?<a href="/type/ReplyMarkup">ReplyMarkup</a> entities:flags.3?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; schedule_date:flags.10?<a href="/type/int">int</a> send_as:flags.13?<a href="/type/InputPeer">InputPeer</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/messages.sendMedia">messages.sendMedia</a>#72ccc23d flags:<a href="/type/%23">#</a> silent:flags.5?<a href="/constructor/true">true</a> background:flags.6?<a href="/constructor/true">true</a> clear_draft:flags.7?<a href="/constructor/true">true</a> noforwards:flags.14?<a href="/constructor/true">true</a> update_stickersets_order:flags.15?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> reply_to:flags.0?<a href="/type/InputReplyTo">InputReplyTo</a> media:<a href="/type/InputMedia">InputMedia</a> message:<a href="/type/string">string</a> random_id:<a href="/type/long">long</a> reply_markup:flags.2?<a href="/type/ReplyMarkup">ReplyMarkup</a> entities:flags.3?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; schedule_date:flags.10?<a href="/type/int">int</a> send_as:flags.13?<a href="/type/InputPeer">InputPeer</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/messages.sendInlineBotResult">messages.sendInlineBotResult</a>#f7bc68ba flags:<a href="/type/%23">#</a> silent:flags.5?<a href="/constructor/true">true</a> background:flags.6?<a href="/constructor/true">true</a> clear_draft:flags.7?<a href="/constructor/true">true</a> hide_via:flags.11?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> reply_to:flags.0?<a href="/type/InputReplyTo">InputReplyTo</a> random_id:<a href="/type/long">long</a> query_id:<a href="/type/long">long</a> id:<a href="/type/string">string</a> schedule_date:flags.10?<a href="/type/int">int</a> send_as:flags.13?<a href="/type/InputPeer">InputPeer</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/messages.sendScreenshotNotification">messages.sendScreenshotNotification</a>#a1405817 peer:<a href="/type/InputPeer">InputPeer</a> reply_to:<a href="/type/InputReplyTo">InputReplyTo</a> random_id:<a href="/type/long">long</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/messages.sendMultiMedia">messages.sendMultiMedia</a>#456e8987 flags:<a href="/type/%23">#</a> silent:flags.5?<a href="/constructor/true">true</a> background:flags.6?<a href="/constructor/true">true</a> clear_draft:flags.7?<a href="/constructor/true">true</a> noforwards:flags.14?<a href="/constructor/true">true</a> update_stickersets_order:flags.15?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> reply_to:flags.0?<a href="/type/InputReplyTo">InputReplyTo</a> multi_media:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InputSingleMedia">InputSingleMedia</a>&gt; schedule_date:flags.10?<a href="/type/int">int</a> send_as:flags.13?<a href="/type/InputPeer">InputPeer</a> = <a href="/type/Updates">Updates</a>;<br>
<a href="/method/account.getNotifyExceptions">account.getNotifyExceptions</a>#53577479 flags:<a href="/type/%23">#</a> compare_sound:flags.1?<a href="/constructor/true">true</a> compare_stories:flags.2?<a href="/constructor/true">true</a> peer:flags.0?<a href="/type/InputNotifyPeer">InputNotifyPeer</a> = <a href="/type/Updates">Updates</a>;<br>
<a href="/method/messages.requestWebView">messages.requestWebView</a>#269dc2c1 flags:<a href="/type/%23">#</a> from_bot_menu:flags.4?<a href="/constructor/true">true</a> silent:flags.5?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> bot:<a href="/type/InputUser">InputUser</a> url:flags.1?<a href="/type/string">string</a> start_param:flags.3?<a href="/type/string">string</a> theme_params:flags.2?<a href="/type/DataJSON">DataJSON</a> platform:<a href="/type/string">string</a> reply_to:flags.0?<a href="/type/InputReplyTo">InputReplyTo</a> send_as:flags.13?<a href="/type/InputPeer">InputPeer</a> = <a href="/type/WebViewResult">WebViewResult</a>;
<a href="/method/messages.prolongWebView">messages.prolongWebView</a>#b0d81a83 flags:<a href="/type/%23">#</a> silent:flags.5?<a href="/constructor/true">true</a> peer:<a href="/type/InputPeer">InputPeer</a> bot:<a href="/type/InputUser">InputUser</a> query_id:<a href="/type/long">long</a> reply_to:flags.0?<a href="/type/InputReplyTo">InputReplyTo</a> send_as:flags.13?<a href="/type/InputPeer">InputPeer</a> = <a href="/type/Bool">Bool</a>;<br>
<a href="/method/contacts.editCloseFriends">contacts.editCloseFriends</a>#ba6705f0 id:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/long">long</a>&gt; = <a href="/type/Bool">Bool</a>;
<a href="/method/contacts.toggleStoriesHidden">contacts.toggleStoriesHidden</a>#753fb865 id:<a href="/type/InputUser">InputUser</a> hidden:<a href="/type/Bool">Bool</a> = <a href="/type/Bool">Bool</a>;<br>
<a href="/method/stories.canSendStory">stories.canSendStory</a>#b100d45d = <a href="/type/Bool">Bool</a>;
<a href="/method/stories.sendStory">stories.sendStory</a>#424cd47a flags:<a href="/type/%23">#</a> pinned:flags.2?<a href="/constructor/true">true</a> noforwards:flags.4?<a href="/constructor/true">true</a> media:<a href="/type/InputMedia">InputMedia</a> caption:flags.0?<a href="/type/string">string</a> entities:flags.1?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; privacy_rules:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InputPrivacyRule">InputPrivacyRule</a>&gt; random_id:<a href="/type/long">long</a> period:flags.3?<a href="/type/int">int</a> = <a href="/type/Updates">Updates</a>;
<a href="/method/stories.editStory">stories.editStory</a>#2aae7a41 flags:<a href="/type/%23">#</a> id:<a href="/type/int">int</a> media:flags.0?<a href="/type/InputMedia">InputMedia</a> caption:flags.1?<a href="/type/string">string</a> entities:flags.1?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/MessageEntity">MessageEntity</a>&gt; privacy_rules:flags.2?<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InputPrivacyRule">InputPrivacyRule</a>&gt; = <a href="/type/Updates">Updates</a>;
<a href="/method/stories.deleteStories">stories.deleteStories</a>#b5d501d7 id:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; = <a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt;;
<a href="/method/stories.togglePinned">stories.togglePinned</a>#51602944 id:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; pinned:<a href="/type/Bool">Bool</a> = <a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt;;
<a href="/method/stories.getAllStories">stories.getAllStories</a>#eeb0d625 flags:<a href="/type/%23">#</a> next:flags.1?<a href="/constructor/true">true</a> hidden:flags.2?<a href="/constructor/true">true</a> state:flags.0?<a href="/type/string">string</a> = <a href="/type/stories.AllStories">stories.AllStories</a>;
<a href="/method/stories.getUserStories">stories.getUserStories</a>#96d528e0 user_id:<a href="/type/InputUser">InputUser</a> = <a href="/type/stories.UserStories">stories.UserStories</a>;
<a href="/method/stories.getPinnedStories">stories.getPinnedStories</a>#0b471137 user_id:<a href="/type/InputUser">InputUser</a> offset_id:<a href="/type/int">int</a> limit:<a href="/type/int">int</a> = <a href="/type/stories.Stories">stories.Stories</a>;
<a href="/method/stories.getStoriesArchive">stories.getStoriesArchive</a>#1f5bc5d2 offset_id:<a href="/type/int">int</a> limit:<a href="/type/int">int</a> = <a href="/type/stories.Stories">stories.Stories</a>;
<a href="/method/stories.getStoriesByID">stories.getStoriesByID</a>#6a15cf46 user_id:<a href="/type/InputUser">InputUser</a> id:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; = <a href="/type/stories.Stories">stories.Stories</a>;
<a href="/method/stories.toggleAllStoriesHidden">stories.toggleAllStoriesHidden</a>#7c2557c4 hidden:<a href="/type/Bool">Bool</a> = <a href="/type/Bool">Bool</a>;
<a href="/method/stories.getAllReadUserStories">stories.getAllReadUserStories</a>#729c562c = <a href="/type/Updates">Updates</a>;
<a href="/method/stories.readStories">stories.readStories</a>#edc5105b user_id:<a href="/type/InputUser">InputUser</a> max_id:<a href="/type/int">int</a> = <a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt;;
<a href="/method/stories.incrementStoryViews">stories.incrementStoryViews</a>#22126127 user_id:<a href="/type/InputUser">InputUser</a> id:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; = <a href="/type/Bool">Bool</a>;
<a href="/method/stories.getStoryViewsList">stories.getStoryViewsList</a>#4b3b5e97 id:<a href="/type/int">int</a> offset_date:<a href="/type/int">int</a> offset_id:<a href="/type/long">long</a> limit:<a href="/type/int">int</a> = <a href="/type/stories.StoryViewsList">stories.StoryViewsList</a>;
<a href="/method/stories.getStoriesViews">stories.getStoriesViews</a>#9a75d6a6 id:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; = <a href="/type/stories.StoryViews">stories.StoryViews</a>;
<a href="/method/stories.exportStoryLink">stories.exportStoryLink</a>#16e443ce user_id:<a href="/type/InputUser">InputUser</a> id:<a href="/type/int">int</a> = <a href="/type/ExportedStoryLink">ExportedStoryLink</a>;
<a href="/method/stories.report">stories.report</a>#c95be06a user_id:<a href="/type/InputUser">InputUser</a> id:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt; reason:<a href="/type/ReportReason">ReportReason</a> message:<a href="/type/string">string</a> = <a href="/type/Bool">Bool</a>;<br>
<a href="/method/users.getStoriesMaxIDs">users.getStoriesMaxIDs</a>#ca1cb9ab id:<a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/InputUser">InputUser</a>&gt; = <a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/int">int</a>&gt;;<br></code></pre></div>
<h3><a class="anchor" href="#layer-159" id="layer-159" name="layer-159"><i class="anchor-icon"></i></a><a href="/schema?layer=159">Layer 159</a></h3>
<p>Introducing privacy settings for user bios, <a href="/api/auth#invalidating-login-codes">improved login code invalidation</a>, improved chat invites, improved <a href="/api/updates">update handling</a> and <a href="/api/sponsored-messages">sponsored websites</a>.</p>
<p>Also, anonymous channel admins can now vote in polls.</p>

View file

@ -1,118 +0,0 @@
<!DOCTYPE html>
<html class="">
<head>
<meta charset="utf-8">
<title>Page not found</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta property="description" content="">
<meta property="og:title" content="Page not found">
<meta property="og:image" content="">
<meta property="og:description" content="">
<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=""><a href="/api">API</a></li>
<li class=""><a href="/mtproto">Protocol</a></li>
<li class="active"><a href="/schema">Schema</a></li>
</ul>
</div>
</div>
</div>
<div class="container clearfix">
<div class="dev_page">
<div id="dev_page_content_wrap" class=" ">
<div class="dev_page_bread_crumbs"><ul class="breadcrumb clearfix"><li><a href="/api" >API</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/schema" >TL-schema</a></li><i class="icon icon-breadcrumb-divider"></i><li></li></ul></div>
<h1 id="dev_page_title">Page not found</h1>
<div id="dev_page_content">The page has not been saved</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="//core.telegram.org/">Platform</a></h5>
<ul>
<li><a href="//core.telegram.org/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="//core.telegram.org/">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>backToTopInit("Go up");
removePreloadInit();
</script>
</body>
</html>

View file

@ -1,118 +0,0 @@
<!DOCTYPE html>
<html class="">
<head>
<meta charset="utf-8">
<title>Page not found</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta property="description" content="">
<meta property="og:title" content="Page not found">
<meta property="og:image" content="">
<meta property="og:description" content="">
<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=""><a href="/api">API</a></li>
<li class=""><a href="/mtproto">Protocol</a></li>
<li class="active"><a href="/schema">Schema</a></li>
</ul>
</div>
</div>
</div>
<div class="container clearfix">
<div class="dev_page">
<div id="dev_page_content_wrap" class=" ">
<div class="dev_page_bread_crumbs"><ul class="breadcrumb clearfix"><li><a href="/api" >API</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/schema" >TL-schema</a></li><i class="icon icon-breadcrumb-divider"></i><li></li></ul></div>
<h1 id="dev_page_title">Page not found</h1>
<div id="dev_page_content">The page has not been saved</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="//core.telegram.org/">Platform</a></h5>
<ul>
<li><a href="//core.telegram.org/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="//core.telegram.org/">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>backToTopInit("Go up");
removePreloadInit();
</script>
</body>
</html>

View file

@ -1,118 +0,0 @@
<!DOCTYPE html>
<html class="">
<head>
<meta charset="utf-8">
<title>Page not found</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta property="description" content="">
<meta property="og:title" content="Page not found">
<meta property="og:image" content="">
<meta property="og:description" content="">
<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="/methods" >All Methods</a></li><i class="icon icon-breadcrumb-divider"></i><li></li></ul></div>
<h1 id="dev_page_title">Page not found</h1>
<div id="dev_page_content">The page has not been saved</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="//core.telegram.org/">Platform</a></h5>
<ul>
<li><a href="//core.telegram.org/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="//core.telegram.org/">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>backToTopInit("Go up");
removePreloadInit();
</script>
</body>
</html>

View file

@ -1,118 +0,0 @@
<!DOCTYPE html>
<html class="">
<head>
<meta charset="utf-8">
<title>Page not found</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta property="description" content="">
<meta property="og:title" content="Page not found">
<meta property="og:image" content="">
<meta property="og:description" content="">
<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="/methods" >All Methods</a></li><i class="icon icon-breadcrumb-divider"></i><li></li></ul></div>
<h1 id="dev_page_title">Page not found</h1>
<div id="dev_page_content">The page has not been saved</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="//core.telegram.org/">Platform</a></h5>
<ul>
<li><a href="//core.telegram.org/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="//core.telegram.org/">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>backToTopInit("Go up");
removePreloadInit();
</script>
</body>
</html>

View file

@ -1,118 +0,0 @@
<!DOCTYPE html>
<html class="">
<head>
<meta charset="utf-8">
<title>Page not found</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta property="description" content="">
<meta property="og:title" content="Page not found">
<meta property="og:image" content="">
<meta property="og:description" content="">
<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="/methods" >All Methods</a></li><i class="icon icon-breadcrumb-divider"></i><li></li></ul></div>
<h1 id="dev_page_title">Page not found</h1>
<div id="dev_page_content">The page has not been saved</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="//core.telegram.org/">Platform</a></h5>
<ul>
<li><a href="//core.telegram.org/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="//core.telegram.org/">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>backToTopInit("Go up");
removePreloadInit();
</script>
</body>
</html>

View file

@ -1,118 +0,0 @@
<!DOCTYPE html>
<html class="">
<head>
<meta charset="utf-8">
<title>Page not found</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta property="description" content="">
<meta property="og:title" content="Page not found">
<meta property="og:image" content="">
<meta property="og:description" content="">
<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="/methods" >All Methods</a></li><i class="icon icon-breadcrumb-divider"></i><li></li></ul></div>
<h1 id="dev_page_title">Page not found</h1>
<div id="dev_page_content">The page has not been saved</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="//core.telegram.org/">Platform</a></h5>
<ul>
<li><a href="//core.telegram.org/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="//core.telegram.org/">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>backToTopInit("Go up");
removePreloadInit();
</script>
</body>
</html>

View file

@ -53,9 +53,9 @@
<h5><a class="anchor" href="#1-client-sends-query-to-server" id="1-client-sends-query-to-server" name="1-client-sends-query-to-server"><i class="anchor-icon"></i></a>1) Client sends query to server</h5>
<!-- start req_pq_multi -->
<p>Sent payload (excluding transport headers/trailers):</p>
<pre><code>0000 | 00 00 00 00 00 00 00 00 94 DC 0A 00 8D A3 5F 65
0010 | 14 00 00 00 F1 8E 7E BE E4 69 51 99 0E 2C FC CA
0020 | C9 32 4D 1B 8C 8F 04 C9</code></pre>
<pre><code>0000 | 00 00 00 00 00 00 00 00 50 CF 0A 00 AA A9 5F 65
0010 | 14 00 00 00 F1 8E 7E BE 7A 44 83 F4 E1 2D 9C 01
0020 | 2A 39 CC C1 09 20 BD C3</code></pre>
<p>Payload (de)serialization:</p>
<pre><code>req_pq_multi#be7e8ef1 nonce:int128 = ResPQ;</code></pre>
<table class="table">
@ -77,7 +77,7 @@
<tr>
<td>message_id</td>
<td>8, 8</td>
<td><code>94DC0A008DA35F65</code></td>
<td><code>50CF0A00AAA95F65</code></td>
<td>Message ID generated as specified <a href="/mtproto/description#message-identifier-msg-id">here »</a> (unixtime() &lt;&lt; 32) + (N*4)</td>
</tr>
<tr>
@ -95,7 +95,7 @@
<tr>
<td>nonce</td>
<td>24, 16</td>
<td><code>E46951990E2CFCCAC9324D1B8C8F04C9</code></td>
<td><code>7A4483F4E12D9C012A39CCC10920BDC3</code></td>
<td>Random number</td>
</tr>
</tbody>
@ -104,11 +104,11 @@
<h5><a class="anchor" href="#2-server-sends-response-of-the-form" id="2-server-sends-response-of-the-form" name="2-server-sends-response-of-the-form"><i class="anchor-icon"></i></a>2) Server sends response of the form</h5>
<!-- start resPQ -->
<p>Received payload (excluding transport headers/trailers):</p>
<pre><code>0000 | 00 00 00 00 00 00 00 00 01 C0 FA A4 8D A3 5F 65
0010 | A4 00 00 00 63 24 16 05 E4 69 51 99 0E 2C FC CA
0020 | C9 32 4D 1B 8C 8F 04 C9 A6 4C FF DC C6 39 1B 39
0030 | 96 EF 16 29 1A 89 8C 9F 08 13 0C 3C 35 9C 72 33
0040 | E5 00 00 00 15 C4 B5 1C 03 00 00 00 A5 B7 F7 09
<pre><code>0000 | 00 00 00 00 00 00 00 00 01 34 C2 5E AA A9 5F 65
0010 | 7C 00 00 00 63 24 16 05 7A 44 83 F4 E1 2D 9C 01
0020 | 2A 39 CC C1 09 20 BD C3 94 D9 D0 DA D2 40 80 02
0030 | 4B 00 1A 91 59 09 1D E9 08 19 0E BA FD 22 12 34
0040 | 19 00 00 00 15 C4 B5 1C 03 00 00 00 A5 B7 F7 09
0050 | 35 5F C3 0B 21 6B E8 6C 02 2B B4 C3 85 FD 64 DE
0060 | 85 1D 9D D0</code></pre>
<p>Payload (de)serialization:</p>
@ -132,13 +132,13 @@
<tr>
<td>message_id</td>
<td>8, 8</td>
<td><code>01C0FAA48DA35F65</code></td>
<td><code>0134C25EAAA95F65</code></td>
<td>Message ID generated as specified <a href="/mtproto/description#message-identifier-msg-id">here »</a> (unixtime() &lt;&lt; 32) + (N*4)</td>
</tr>
<tr>
<td>message_length</td>
<td>16, 4</td>
<td><code>A4000000</code> (164 in decimal)</td>
<td><code>7C000000</code> (124 in decimal)</td>
<td>Message body length</td>
</tr>
<tr>
@ -150,19 +150,19 @@
<tr>
<td>nonce</td>
<td>24, 16</td>
<td><code>E46951990E2CFCCAC9324D1B8C8F04C9</code></td>
<td><code>7A4483F4E12D9C012A39CCC10920BDC3</code></td>
<td>Value generated by client in Step 1</td>
</tr>
<tr>
<td>server_nonce</td>
<td>40, 16</td>
<td><code>A64CFFDCC6391B3996EF16291A898C9F</code></td>
<td><code>94D9D0DAD24080024B001A9159091DE9</code></td>
<td>Server-generated random number</td>
</tr>
<tr>
<td>pq</td>
<td>56, 12</td>
<td><code>08130C3C359C7233E5000000</code><br>TL byte deserialization <br>=&gt; bigendian conversion to decimal<br>=&gt; 1372538187396821989</td>
<td><code>08190EBAFD22123419000000</code><br>TL byte deserialization <br>=&gt; bigendian conversion to decimal<br>=&gt; 1805586096983258137</td>
<td>Single-byte prefix denoting length, an 8-byte string, and three bytes of padding</td>
</tr>
<tr>
@ -208,22 +208,22 @@
<h4><a class="anchor" href="#proof-of-work" id="proof-of-work" name="proof-of-work"><i class="anchor-icon"></i></a>Proof of work</h4>
<h5><a class="anchor" href="#3-client-decomposes-pq-into-prime-factors-such-that-p-lt-q" id="3-client-decomposes-pq-into-prime-factors-such-that-p-lt-q" name="3-client-decomposes-pq-into-prime-factors-such-that-p-lt-q"><i class="anchor-icon"></i></a>3) Client decomposes pq into prime factors such that p &lt; q.</h5>
<!-- start pq -->
<pre><code>pq = 1372538187396821989</code></pre>
<p>Decompose into 2 prime cofactors <code>p &lt; q</code>: <code>1372538187396821989 = 1161614081 * 1181578469</code></p>
<pre><code>p = 1161614081
q = 1181578469</code></pre>
<pre><code>pq = 1805586096983258137</code></pre>
<p>Decompose into 2 prime cofactors <code>p &lt; q</code>: <code>1805586096983258137 = 1335192181 * 1352304277</code></p>
<pre><code>p = 1335192181
q = 1352304277</code></pre>
<!-- end pq -->
<h4><a class="anchor" href="#presenting-proof-of-work-server-authentication" id="presenting-proof-of-work-server-authentication" name="presenting-proof-of-work-server-authentication"><i class="anchor-icon"></i></a>Presenting proof of work; Server authentication</h4>
<h5><a class="anchor" href="#4-encrypted-data-payload-generation" id="4-encrypted-data-payload-generation" name="4-encrypted-data-payload-generation"><i class="anchor-icon"></i></a>4) <code>encrypted_data</code> payload generation</h5>
<p>First of all, generate an <code>encrypted_data</code> payload as follows:</p>
<!-- start p_q_inner_data_dc -->
<p>Generated payload (excluding transport headers/trailers):</p>
<pre><code>0000 | 95 5F F5 A9 08 13 0C 3C 35 9C 72 33 E5 00 00 00
0010 | 04 45 3C D3 01 00 00 00 04 46 6D 74 E5 00 00 00
0020 | E4 69 51 99 0E 2C FC CA C9 32 4D 1B 8C 8F 04 C9
0030 | A6 4C FF DC C6 39 1B 39 96 EF 16 29 1A 89 8C 9F
0040 | 9C 7B 11 8F 21 6F E2 D6 2A AB 8B 5A 3A 25 B9 D4
0050 | A6 D6 A8 DB 83 B1 D0 91 15 DB 5E 34 77 FC 43 88
<pre><code>0000 | 95 5F F5 A9 08 19 0E BA FD 22 12 34 19 00 00 00
0010 | 04 4F 95 6A 75 00 00 00 04 50 9A 86 95 00 00 00
0020 | 7A 44 83 F4 E1 2D 9C 01 2A 39 CC C1 09 20 BD C3
0030 | 94 D9 D0 DA D2 40 80 02 4B 00 1A 91 59 09 1D E9
0040 | A1 5B FB 1E 08 C5 1E 20 42 B9 86 9F 23 CE 17 B8
0050 | 20 E0 9B 84 D4 26 1C 41 89 F2 A9 91 D3 C7 77 AB
0060 | 02 00 00 00</code></pre>
<p>Payload (de)serialization:</p>
<pre><code>p_q_inner_data_dc#a9f55f95 pq:string p:string q:string nonce:int128 server_nonce:int128 new_nonce:int256 dc:int = P_Q_inner_data;</code></pre>
@ -246,37 +246,37 @@ q = 1181578469</code></pre>
<tr>
<td>pq</td>
<td>4, 12</td>
<td><code>08130C3C359C7233E5000000</code><br>TL byte deserialization <br>=&gt; bigendian conversion to decimal<br>=&gt; 1372538187396821989</td>
<td><code>08190EBAFD22123419000000</code><br>TL byte deserialization <br>=&gt; bigendian conversion to decimal<br>=&gt; 1805586096983258137</td>
<td>Single-byte prefix denoting length, 8-byte string, and three bytes of padding</td>
</tr>
<tr>
<td>p</td>
<td>16, 8</td>
<td><code>04453CD301000000</code><br>TL byte deserialization <br>=&gt; bigendian conversion to decimal<br>=&gt; 1161614081</td>
<td><code>044F956A75000000</code><br>TL byte deserialization <br>=&gt; bigendian conversion to decimal<br>=&gt; 1335192181</td>
<td>First prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding</td>
</tr>
<tr>
<td>q</td>
<td>24, 8</td>
<td><code>04466D74E5000000</code><br>TL byte deserialization <br>=&gt; bigendian conversion to decimal<br>=&gt; 1181578469</td>
<td><code>04509A8695000000</code><br>TL byte deserialization <br>=&gt; bigendian conversion to decimal<br>=&gt; 1352304277</td>
<td>Second prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding</td>
</tr>
<tr>
<td>nonce</td>
<td>32, 16</td>
<td><code>E46951990E2CFCCAC9324D1B8C8F04C9</code></td>
<td><code>7A4483F4E12D9C012A39CCC10920BDC3</code></td>
<td>Value generated by client in Step 1</td>
</tr>
<tr>
<td>server_nonce</td>
<td>48, 16</td>
<td><code>A64CFFDCC6391B3996EF16291A898C9F</code></td>
<td><code>94D9D0DAD24080024B001A9159091DE9</code></td>
<td>Value received from server in Step 2</td>
</tr>
<tr>
<td>new_nonce</td>
<td>64, 32</td>
<td><code>9C7B118F216FE2D62AAB8B5A3A25B9D4</code> <code>A6D6A8DB83B1D09115DB5E3477FC4388</code></td>
<td><code>A15BFB1E08C51E2042B9869F23CE17B8</code> <code>20E09B84D4261C4189F2A991D3C777AB</code></td>
<td>Client-generated random number</td>
</tr>
<tr>
@ -291,39 +291,39 @@ q = 1181578469</code></pre>
<p>The serialization of <em>P_Q_inner_data</em> produces <strong>data</strong>, which is used to generate <strong>encrypted_data</strong> as specified in <a href="/mtproto/auth_key">step 4.1</a>.<br>
These are the inputs to the algorithm specified in <a href="/mtproto/auth_key">step 4.1</a>:</p>
<!-- start p_q_inner_data_input -->
<pre><code>data = 955FF5A908130C3C359C7233E500000004453CD30100000004466D74E5000000E46951990E2CFCCAC9324D1B8C8F04C9A64CFFDCC6391B3996EF16291A898C9F9C7B118F216FE2D62AAB8B5A3A25B9D4A6D6A8DB83B1D09115DB5E3477FC438802000000
random_padding_bytes = 5BAC11024D7BD6C8E2BAC6129BD8650247D600A27B1A7FEEC5D0D283F17426E457FC4FAF0E801037AA30EAA15F1B5B86022FF814AE225554801BB0893538E84CFD99CC60D54259B8CFA6DD97836347F2D3A86E741646B715BBB08482</code></pre>
<pre><code>data = 955FF5A908190EBAFD22123419000000044F956A7500000004509A86950000007A4483F4E12D9C012A39CCC10920BDC394D9D0DAD24080024B001A9159091DE9A15BFB1E08C51E2042B9869F23CE17B820E09B84D4261C4189F2A991D3C777AB02000000
random_padding_bytes = 14ABE224D91B4219DF309EEAD010344A1DF5B86DB379750530408D6712A5505A98A290362161A8342A389CAF7E0D3BFDF49D37A95E7B0F65C31A8DE9437948D64EAED939814469DE85F039E61F6E09BAFB429643C8AC8999DF1C58FE</code></pre>
<!-- end p_q_inner_data_input -->
<p>And this is the output:</p>
<!-- start p_q_inner_data_output -->
<pre><code>encrypted_data = 91604243D2B0170B2D8334762A3A93F47F4D5700BEB8D469631710E52216A8A79A73AD4DA242BD652A816CE141F43FC3A0AE5837086A555F3EE9B8327F6EF37039786CF939F6007B17CC8BC8F3CA60FBE2B1BF85CD7961B51747125F6B173DD70214CAAF597363B3885290CDCF5F13DC231C9F45036ECDFFC7397CCD7906FDB5F9DC32F3DB0A187B65493E6E61C3586071D17FF6A0416217BDC3469D766FBB8DD8144BD1DA4AFBE359AC0DDB1FCE47F2E2F5C91E90BB403F53851F82C7B08200EBB5F3A9E0182A879E6B24651F835C668BC39512245FADE4D2BBC26C9346815BFC6CAEE8A99DF85280440071558F9659E37597C6DEEF67FBFA374756864C59FC</code></pre>
<pre><code>encrypted_data = 4C82E1FEED63DA610FE2BCAC65776CFCF60AA179AE04CD39B58115AB9B7D65C8D764559A5CE95D770FDB3F59BED8F998FE5A8F73AC9EB337F998CCA260E0B0CBE3410A013720307CEE38D9CADAD1C2E134F1AF7BBE3F97E049CD4F32E9A86597F71913236A5FD9F379AFEBFBB515CDD96206BE2B6EC9392F3F7CF7AAE09CAF82FFBF24A80F76C59C17D37428032233ECC54A5C3BE9009A44FC4BE484CD976DE235B488232FD570DAAF5363A134DA52CFE869D6D8F1730F148B3AFDC3649515002027B4A6AF07FC7F0A31BD01B1D115AC2DD25E9F8009449DE0401C0DF1BB9FE8DB545B42B035F5999021FF4AED3B0718762FE9CC577134FBF548AA162AC2B042</code></pre>
<!-- end p_q_inner_data_output -->
<p>The length of the final string is 256 bytes.</p>
<h5><a class="anchor" href="#5-send-req-dh-params-query-with-generated-encrypted-data" id="5-send-req-dh-params-query-with-generated-encrypted-data" name="5-send-req-dh-params-query-with-generated-encrypted-data"><i class="anchor-icon"></i></a>5) Send req_DH_params query with generated <code>encrypted_data</code></h5>
<!-- start req_DH_params -->
<p>Sent payload (excluding transport headers/trailers):</p>
<pre><code>0000 | 00 00 00 00 00 00 00 00 98 DC 0A 00 8D A3 5F 65
0010 | 40 01 00 00 BE E4 12 D7 E4 69 51 99 0E 2C FC CA
0020 | C9 32 4D 1B 8C 8F 04 C9 A6 4C FF DC C6 39 1B 39
0030 | 96 EF 16 29 1A 89 8C 9F 04 45 3C D3 01 00 00 00
0040 | 04 46 6D 74 E5 00 00 00 85 FD 64 DE 85 1D 9D D0
0050 | FE 00 01 00 91 60 42 43 D2 B0 17 0B 2D 83 34 76
0060 | 2A 3A 93 F4 7F 4D 57 00 BE B8 D4 69 63 17 10 E5
0070 | 22 16 A8 A7 9A 73 AD 4D A2 42 BD 65 2A 81 6C E1
0080 | 41 F4 3F C3 A0 AE 58 37 08 6A 55 5F 3E E9 B8 32
0090 | 7F 6E F3 70 39 78 6C F9 39 F6 00 7B 17 CC 8B C8
00A0 | F3 CA 60 FB E2 B1 BF 85 CD 79 61 B5 17 47 12 5F
00B0 | 6B 17 3D D7 02 14 CA AF 59 73 63 B3 88 52 90 CD
00C0 | CF 5F 13 DC 23 1C 9F 45 03 6E CD FF C7 39 7C CD
00D0 | 79 06 FD B5 F9 DC 32 F3 DB 0A 18 7B 65 49 3E 6E
00E0 | 61 C3 58 60 71 D1 7F F6 A0 41 62 17 BD C3 46 9D
00F0 | 76 6F BB 8D D8 14 4B D1 DA 4A FB E3 59 AC 0D DB
0100 | 1F CE 47 F2 E2 F5 C9 1E 90 BB 40 3F 53 85 1F 82
0110 | C7 B0 82 00 EB B5 F3 A9 E0 18 2A 87 9E 6B 24 65
0120 | 1F 83 5C 66 8B C3 95 12 24 5F AD E4 D2 BB C2 6C
0130 | 93 46 81 5B FC 6C AE E8 A9 9D F8 52 80 44 00 71
0140 | 55 8F 96 59 E3 75 97 C6 DE EF 67 FB FA 37 47 56
0150 | 86 4C 59 FC</code></pre>
<pre><code>0000 | 00 00 00 00 00 00 00 00 54 CF 0A 00 AA A9 5F 65
0010 | 40 01 00 00 BE E4 12 D7 7A 44 83 F4 E1 2D 9C 01
0020 | 2A 39 CC C1 09 20 BD C3 94 D9 D0 DA D2 40 80 02
0030 | 4B 00 1A 91 59 09 1D E9 04 4F 95 6A 75 00 00 00
0040 | 04 50 9A 86 95 00 00 00 85 FD 64 DE 85 1D 9D D0
0050 | FE 00 01 00 4C 82 E1 FE ED 63 DA 61 0F E2 BC AC
0060 | 65 77 6C FC F6 0A A1 79 AE 04 CD 39 B5 81 15 AB
0070 | 9B 7D 65 C8 D7 64 55 9A 5C E9 5D 77 0F DB 3F 59
0080 | BE D8 F9 98 FE 5A 8F 73 AC 9E B3 37 F9 98 CC A2
0090 | 60 E0 B0 CB E3 41 0A 01 37 20 30 7C EE 38 D9 CA
00A0 | DA D1 C2 E1 34 F1 AF 7B BE 3F 97 E0 49 CD 4F 32
00B0 | E9 A8 65 97 F7 19 13 23 6A 5F D9 F3 79 AF EB FB
00C0 | B5 15 CD D9 62 06 BE 2B 6E C9 39 2F 3F 7C F7 AA
00D0 | E0 9C AF 82 FF BF 24 A8 0F 76 C5 9C 17 D3 74 28
00E0 | 03 22 33 EC C5 4A 5C 3B E9 00 9A 44 FC 4B E4 84
00F0 | CD 97 6D E2 35 B4 88 23 2F D5 70 DA AF 53 63 A1
0100 | 34 DA 52 CF E8 69 D6 D8 F1 73 0F 14 8B 3A FD C3
0110 | 64 95 15 00 20 27 B4 A6 AF 07 FC 7F 0A 31 BD 01
0120 | B1 D1 15 AC 2D D2 5E 9F 80 09 44 9D E0 40 1C 0D
0130 | F1 BB 9F E8 DB 54 5B 42 B0 35 F5 99 90 21 FF 4A
0140 | ED 3B 07 18 76 2F E9 CC 57 71 34 FB F5 48 AA 16
0150 | 2A C2 B0 42</code></pre>
<p>Payload (de)serialization:</p>
<pre><code>req_DH_params#d712e4be nonce:int128 server_nonce:int128 p:string q:string public_key_fingerprint:long encrypted_data:string = Server_DH_Params;</code></pre>
<table class="table">
@ -345,7 +345,7 @@ random_padding_bytes = 5BAC11024D7BD6C8E2BAC6129BD8650247D600A27B1A7FEEC5D0D283F
<tr>
<td>message_id</td>
<td>8, 8</td>
<td><code>98DC0A008DA35F65</code></td>
<td><code>54CF0A00AAA95F65</code></td>
<td>Message ID generated as specified <a href="/mtproto/description#message-identifier-msg-id">here »</a> (unixtime() &lt;&lt; 32) + (N*4)</td>
</tr>
<tr>
@ -363,25 +363,25 @@ random_padding_bytes = 5BAC11024D7BD6C8E2BAC6129BD8650247D600A27B1A7FEEC5D0D283F
<tr>
<td>nonce</td>
<td>24, 16</td>
<td><code>E46951990E2CFCCAC9324D1B8C8F04C9</code></td>
<td><code>7A4483F4E12D9C012A39CCC10920BDC3</code></td>
<td>Value generated by client in Step 1</td>
</tr>
<tr>
<td>server_nonce</td>
<td>40, 16</td>
<td><code>A64CFFDCC6391B3996EF16291A898C9F</code></td>
<td><code>94D9D0DAD24080024B001A9159091DE9</code></td>
<td>Value received from server in Step 2</td>
</tr>
<tr>
<td>p</td>
<td>56, 8</td>
<td><code>04453CD301000000</code><br>TL byte deserialization <br>=&gt; bigendian conversion to decimal<br>=&gt; 1161614081</td>
<td><code>044F956A75000000</code><br>TL byte deserialization <br>=&gt; bigendian conversion to decimal<br>=&gt; 1335192181</td>
<td>First prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding</td>
</tr>
<tr>
<td>q</td>
<td>64, 8</td>
<td><code>04466D74E5000000</code><br>TL byte deserialization <br>=&gt; bigendian conversion to decimal<br>=&gt; 1181578469</td>
<td><code>04509A8695000000</code><br>TL byte deserialization <br>=&gt; bigendian conversion to decimal<br>=&gt; 1352304277</td>
<td>Second prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding</td>
</tr>
<tr>
@ -393,7 +393,7 @@ random_padding_bytes = 5BAC11024D7BD6C8E2BAC6129BD8650247D600A27B1A7FEEC5D0D283F
<tr>
<td>encrypted_data</td>
<td>80, 260</td>
<td><code>FE00010091604243D2B0170B2D833476</code> <code>2A3A93F47F4D5700BEB8D469631710E5</code> <code>2216A8A79A73AD4DA242BD652A816CE1</code> <code>41F43FC3A0AE5837086A555F3EE9B832</code> <code>7F6EF37039786CF939F6007B17CC8BC8</code> <code>F3CA60FBE2B1BF85CD7961B51747125F</code> <code>6B173DD70214CAAF597363B3885290CD</code> <code>CF5F13DC231C9F45036ECDFFC7397CCD</code> <code>7906FDB5F9DC32F3DB0A187B65493E6E</code> <code>61C3586071D17FF6A0416217BDC3469D</code> <code>766FBB8DD8144BD1DA4AFBE359AC0DDB</code> <code>1FCE47F2E2F5C91E90BB403F53851F82</code> <code>C7B08200EBB5F3A9E0182A879E6B2465</code> <code>1F835C668BC39512245FADE4D2BBC26C</code> <code>9346815BFC6CAEE8A99DF85280440071</code> <code>558F9659E37597C6DEEF67FBFA374756</code><br> <code>864C59FC</code></td>
<td><code>FE0001004C82E1FEED63DA610FE2BCAC</code> <code>65776CFCF60AA179AE04CD39B58115AB</code> <code>9B7D65C8D764559A5CE95D770FDB3F59</code> <code>BED8F998FE5A8F73AC9EB337F998CCA2</code> <code>60E0B0CBE3410A013720307CEE38D9CA</code> <code>DAD1C2E134F1AF7BBE3F97E049CD4F32</code> <code>E9A86597F71913236A5FD9F379AFEBFB</code> <code>B515CDD96206BE2B6EC9392F3F7CF7AA</code> <code>E09CAF82FFBF24A80F76C59C17D37428</code> <code>032233ECC54A5C3BE9009A44FC4BE484</code> <code>CD976DE235B488232FD570DAAF5363A1</code> <code>34DA52CFE869D6D8F1730F148B3AFDC3</code> <code>649515002027B4A6AF07FC7F0A31BD01</code> <code>B1D115AC2DD25E9F8009449DE0401C0D</code> <code>F1BB9FE8DB545B42B035F5999021FF4A</code> <code>ED3B0718762FE9CC577134FBF548AA16</code><br> <code>2AC2B042</code></td>
<td>Value generated above</td>
</tr>
</tbody>
@ -402,47 +402,47 @@ random_padding_bytes = 5BAC11024D7BD6C8E2BAC6129BD8650247D600A27B1A7FEEC5D0D283F
<h5><a class="anchor" href="#6-server-responds-with" id="6-server-responds-with" name="6-server-responds-with"><i class="anchor-icon"></i></a>6) Server responds with:</h5>
<!-- start server_DH_params_ok -->
<p>Received payload (excluding transport headers/trailers):</p>
<pre><code>0000 | 00 00 00 00 00 00 00 00 01 58 ED 48 8E A3 5F 65
0010 | 94 02 00 00 5C 07 E8 D0 E4 69 51 99 0E 2C FC CA
0020 | C9 32 4D 1B 8C 8F 04 C9 A6 4C FF DC C6 39 1B 39
0030 | 96 EF 16 29 1A 89 8C 9F FE 50 02 00 17 51 7F 20
0040 | 90 40 EC F4 1C 08 C7 29 23 A8 F5 1B 5E 52 41 16
0050 | BD 50 26 33 30 DC 9C 85 8C 73 D3 D6 68 20 2E A8
0060 | 5B F1 1A 87 57 96 6B 3E C0 9C C6 5F B6 AE 01 9B
0070 | 6F F8 3A 5B 1C DC A3 B2 04 11 7C 77 03 22 E3 EF
0080 | B7 8F 34 FC B3 25 0C BD BC 21 C9 19 3C 67 1B E6
0090 | 0D 6A 66 70 02 B2 DE D6 DE A4 78 6B 8C E3 A9 B6
00A0 | 0A F6 43 E5 A8 EF 04 0E 9B C8 28 94 43 DF EC AC
00B0 | 11 3B ED 85 B6 D3 2E 85 76 E4 55 17 96 53 DD 1F
00C0 | E0 44 DE D1 A9 D1 43 9B 1C E0 82 1F 95 A5 E7 1D
00D0 | 01 DF 56 70 9E C6 E5 D2 86 AC 63 22 8D 14 1A 4C
00E0 | 69 FF D4 C0 83 77 D6 5E 41 39 B2 38 88 28 DA 79
00F0 | 45 FE 56 55 38 B3 1F 04 B3 A7 A0 61 E8 B0 D2 D8
0100 | 67 AA 3A 48 E4 79 EE 00 1D F8 1D 8B B5 8C 62 7D
0110 | 6D 9D 42 A0 70 31 BB AA C5 EB 02 8B CA B1 10 D2
0120 | 2C 53 13 BD 44 B6 34 20 CC 55 51 72 26 57 F5 08
0130 | DD 44 55 C0 90 CE FA 06 B5 28 69 99 6A E8 E4 67
0140 | F4 9A A3 48 7F 31 7F 97 EE B9 16 A8 C8 74 6F 94
0150 | BD 6E 96 81 B6 30 13 C8 67 50 6A 12 56 AD EA 9C
0160 | 6F DB 88 2D E1 D7 D0 AB 36 AA B4 13 F0 58 19 A5
0170 | A6 E5 E2 9E CB 07 DF F6 DB C0 C2 19 77 37 5E 07
0180 | 2E 73 14 6B A1 09 34 4A 17 F2 ED 08 4F 5F AA CE
0190 | 7B AA B5 45 67 2B 13 41 7F 37 FC 43 C8 D8 CE 14
01A0 | D7 C6 08 70 33 2C 99 C7 8D 17 75 34 5A BC 1D 2D
01B0 | B8 38 AB 13 05 7C 7D 0D 2D 94 42 90 B3 EA E0 D2
01C0 | 03 20 36 CE 92 DE 06 69 89 2F 7E B1 D0 9E D6 C5
01D0 | E7 B5 97 1E 65 CB DD 4C 01 7C 2C 7C 57 44 0C 41
01E0 | 67 F6 A3 54 42 CA 09 B9 F1 09 76 FE 80 37 CE F0
01F0 | E3 09 E2 16 F0 A7 2E FC 47 9A 27 D5 8B AB 39 F9
0200 | 07 9B 27 9D A3 FE 74 84 86 D8 47 07 38 7B E7 9B
0210 | 9F CE 62 E6 BF 8D 9F 86 F6 0A 0A 59 39 B2 50 91
0220 | 80 CC 21 C9 49 0A 2C D9 F0 D0 86 D9 EB A0 78 08
0230 | 54 07 37 4D 30 72 A2 4C 1D 81 5F 7E EE EB FB E8
0240 | E1 9B 3E 3B 21 B7 40 10 B6 4E E6 EE E7 BB 71 34
0250 | 15 A6 5C 6A 29 86 47 2C 2A EC DB E5 94 78 43 55
0260 | AD 86 A7 7F FB 27 B6 86 15 A0 F9 BF 02 F8 66 35
0270 | 1D 4D 0F A7 35 6B 93 4E 13 42 7C 39 89 15 04 93
0280 | 2C 1C 9E BC 00 0C 59 3E 1C 69 E3 11</code></pre>
<pre><code>0000 | 00 00 00 00 00 00 00 00 01 7C 90 1C AB A9 5F 65
0010 | A8 02 00 00 5C 07 E8 D0 7A 44 83 F4 E1 2D 9C 01
0020 | 2A 39 CC C1 09 20 BD C3 94 D9 D0 DA D2 40 80 02
0030 | 4B 00 1A 91 59 09 1D E9 FE 50 02 00 73 6A 8A 7D
0040 | 7A 91 D4 88 08 57 CF 9D AC 61 8A DC 53 BD CA 2B
0050 | 7D 74 76 45 97 01 1B 98 2E D8 F1 F8 44 31 9D E0
0060 | E9 F6 3C 47 27 D1 2E FE F6 C6 EA 5A 12 4B 47 4B
0070 | 4C 78 44 E4 68 17 EF BE 1E 11 46 1D E1 92 A3 DC
0080 | 03 DC 9A 71 D8 25 3A 7D 44 DF 20 B1 1C 12 3E 3D
0090 | B8 CB 43 76 91 5F C5 47 93 94 28 45 67 71 AF A5
00A0 | DE 7E E4 46 00 54 7E 58 BD A4 FE F5 90 F3 4C 33
00B0 | C6 98 CD 81 E4 82 22 E8 E4 23 35 FE 16 BF C9 76
00C0 | F3 A6 FB 2B D0 1E F6 DC 6E E3 14 66 F4 38 EE BB
00D0 | 5E C1 15 F9 65 D8 19 AF AD 11 E4 14 A1 D4 4A 14
00E0 | 34 46 36 B2 3E 7E 97 25 F2 75 48 34 AE 13 51 B7
00F0 | 30 AD 67 47 5A 7C 52 39 0E 7B 8E 95 9B D7 8D 75
0100 | E3 4D A3 DA C1 0F D4 F2 66 1B AA FF CF 9D DD 04
0110 | 53 EF 6A E9 F9 79 EE B8 49 CF 92 CB 39 A5 0D 6B
0120 | 3A 30 EB 93 3C 4A 5E D2 11 AE 6D 43 D9 FC EC 63
0130 | 4B 7B 9F 20 D3 60 E1 FE 4F B5 3E 76 68 6C 69 3F
0140 | 27 AA 9C 46 51 74 B5 EA 92 D2 FB BC 47 8D 5A C3
0150 | D4 B8 63 9B 71 62 D2 43 C9 91 11 7C 66 E3 C9 AB
0160 | 3C 08 C2 72 88 DE 0C CF E2 F4 D9 B1 2E F1 C7 64
0170 | 14 85 76 D3 5F D3 CE A8 54 56 DD A0 B3 68 83 01
0180 | CB C3 65 95 BC 5E 43 42 B6 AB 96 91 5C 3B 5C E1
0190 | 0D 9A E3 A8 32 16 D1 3A A6 FB 0D DC 98 BE 0D FB
01A0 | 99 7D 7D AC 0A 1C E7 58 07 9B 81 46 C7 32 6A 64
01B0 | 67 96 37 3A C8 17 A5 8D 4F 6A 23 F7 C0 5F 63 0D
01C0 | 36 EF 87 0D 61 6F 23 A0 A4 29 F1 C3 A5 59 C6 E0
01D0 | 8F 34 77 FB 4B 63 C7 38 48 A2 BE F1 ED 2F 52 CE
01E0 | AF 9C 55 08 B1 07 12 EE 04 D9 04 88 EE 36 3B 2B
01F0 | 7F 53 E0 77 95 B4 E9 58 E6 AA 72 F6 2F 39 0A 68
0200 | 8A A0 CF 0E 04 12 D4 6A B7 E7 EB 83 CA 01 D6 03
0210 | 8B 19 38 22 1C 4C B2 86 9F 58 7C 36 E7 5F D4 F9
0220 | DB B1 16 80 AB 83 FB 4A FB 70 90 B1 A6 5F 5A AA
0230 | 13 7C 60 7F 47 8E 26 A0 F9 78 F1 07 99 CC FC 0C
0240 | 5E BA 8C 44 91 50 6D 64 72 D2 4F 9E 27 F9 1C 01
0250 | C8 7C AF 90 24 69 15 9C 7C ED 71 B4 B8 AE 6C 8B
0260 | 62 EC 53 B7 60 93 DA F1 FC 8A C8 8E A7 E9 79 A2
0270 | E2 0C 1F C2 19 DD 0C B5 A5 B6 1A 39 0B F1 36 E4
0280 | 1B 00 15 FC E3 C0 CB 24 E8 65 9F 55</code></pre>
<p>Payload (de)serialization:</p>
<pre><code>server_DH_params_ok#d0e8075c nonce:int128 server_nonce:int128 encrypted_answer:string = Server_DH_Params;</code></pre>
<table class="table">
@ -464,13 +464,13 @@ random_padding_bytes = 5BAC11024D7BD6C8E2BAC6129BD8650247D600A27B1A7FEEC5D0D283F
<tr>
<td>message_id</td>
<td>8, 8</td>
<td><code>0158ED488EA35F65</code></td>
<td><code>017C901CABA95F65</code></td>
<td>Message ID generated as specified <a href="/mtproto/description#message-identifier-msg-id">here »</a> (unixtime() &lt;&lt; 32) + (N*4)</td>
</tr>
<tr>
<td>message_length</td>
<td>16, 4</td>
<td><code>94020000</code> (660 in decimal)</td>
<td><code>A8020000</code> (680 in decimal)</td>
<td>Message body length</td>
</tr>
<tr>
@ -482,19 +482,19 @@ random_padding_bytes = 5BAC11024D7BD6C8E2BAC6129BD8650247D600A27B1A7FEEC5D0D283F
<tr>
<td>nonce</td>
<td>24, 16</td>
<td><code>E46951990E2CFCCAC9324D1B8C8F04C9</code></td>
<td><code>7A4483F4E12D9C012A39CCC10920BDC3</code></td>
<td>Value generated by client in Step 1</td>
</tr>
<tr>
<td>server_nonce</td>
<td>40, 16</td>
<td><code>A64CFFDCC6391B3996EF16291A898C9F</code></td>
<td><code>94D9D0DAD24080024B001A9159091DE9</code></td>
<td>Value received from server in Step 2</td>
</tr>
<tr>
<td>encrypted_answer</td>
<td>56, 596</td>
<td><code>FE50020017517F209040ECF41C08C729</code> <code>23A8F51B5E524116BD50263330DC9C85</code> <code>8C73D3D668202EA85BF11A8757966B3E</code> <code>C09CC65FB6AE019B6FF83A5B1CDCA3B2</code> <code>04117C770322E3EFB78F34FCB3250CBD</code> <code>BC21C9193C671BE60D6A667002B2DED6</code> <code>DEA4786B8CE3A9B60AF643E5A8EF040E</code> <code>9BC8289443DFECAC113BED85B6D32E85</code> <code>76E455179653DD1FE044DED1A9D1439B</code> <code>1CE0821F95A5E71D01DF56709EC6E5D2</code> <code>86AC63228D141A4C69FFD4C08377D65E</code> <code>4139B2388828DA7945FE565538B31F04</code> <code>B3A7A061E8B0D2D867AA3A48E479EE00</code> <code>1DF81D8BB58C627D6D9D42A07031BBAA</code> <code>C5EB028BCAB110D22C5313BD44B63420</code> <code>CC5551722657F508DD4455C090CEFA06</code> <code>B52869996AE8E467F49AA3487F317F97</code> <code>EEB916A8C8746F94BD6E9681B63013C8</code> <code>67506A1256ADEA9C6FDB882DE1D7D0AB</code> <code>36AAB413F05819A5A6E5E29ECB07DFF6</code> <code>DBC0C21977375E072E73146BA109344A</code> <code>17F2ED084F5FAACE7BAAB545672B1341</code> <code>7F37FC43C8D8CE14D7C60870332C99C7</code> <code>8D1775345ABC1D2DB838AB13057C7D0D</code> <code>2D944290B3EAE0D2032036CE92DE0669</code> <code>892F7EB1D09ED6C5E7B5971E65CBDD4C</code> <code>017C2C7C57440C4167F6A35442CA09B9</code> <code>F10976FE8037CEF0E309E216F0A72EFC</code> <code>479A27D58BAB39F9079B279DA3FE7484</code> <code>86D84707387BE79B9FCE62E6BF8D9F86</code> <code>F60A0A5939B2509180CC21C9490A2CD9</code> <code>F0D086D9EBA078085407374D3072A24C</code> <code>1D815F7EEEEBFBE8E19B3E3B21B74010</code> <code>B64EE6EEE7BB713415A65C6A2986472C</code> <code>2AECDBE594784355AD86A77FFB27B686</code> <code>15A0F9BF02F866351D4D0FA7356B934E</code> <code>13427C39891504932C1C9EBC000C593E</code><br> <code>1C69E311</code></td>
<td><code>FE500200736A8A7D7A91D4880857CF9D</code> <code>AC618ADC53BDCA2B7D74764597011B98</code> <code>2ED8F1F844319DE0E9F63C4727D12EFE</code> <code>F6C6EA5A124B474B4C7844E46817EFBE</code> <code>1E11461DE192A3DC03DC9A71D8253A7D</code> <code>44DF20B11C123E3DB8CB4376915FC547</code> <code>939428456771AFA5DE7EE44600547E58</code> <code>BDA4FEF590F34C33C698CD81E48222E8</code> <code>E42335FE16BFC976F3A6FB2BD01EF6DC</code> <code>6EE31466F438EEBB5EC115F965D819AF</code> <code>AD11E414A1D44A14344636B23E7E9725</code> <code>F2754834AE1351B730AD67475A7C5239</code> <code>0E7B8E959BD78D75E34DA3DAC10FD4F2</code> <code>661BAAFFCF9DDD0453EF6AE9F979EEB8</code> <code>49CF92CB39A50D6B3A30EB933C4A5ED2</code> <code>11AE6D43D9FCEC634B7B9F20D360E1FE</code> <code>4FB53E76686C693F27AA9C465174B5EA</code> <code>92D2FBBC478D5AC3D4B8639B7162D243</code> <code>C991117C66E3C9AB3C08C27288DE0CCF</code> <code>E2F4D9B12EF1C764148576D35FD3CEA8</code> <code>5456DDA0B3688301CBC36595BC5E4342</code> <code>B6AB96915C3B5CE10D9AE3A83216D13A</code> <code>A6FB0DDC98BE0DFB997D7DAC0A1CE758</code> <code>079B8146C7326A646796373AC817A58D</code> <code>4F6A23F7C05F630D36EF870D616F23A0</code> <code>A429F1C3A559C6E08F3477FB4B63C738</code> <code>48A2BEF1ED2F52CEAF9C5508B10712EE</code> <code>04D90488EE363B2B7F53E07795B4E958</code> <code>E6AA72F62F390A688AA0CF0E0412D46A</code> <code>B7E7EB83CA01D6038B1938221C4CB286</code> <code>9F587C36E75FD4F9DBB11680AB83FB4A</code> <code>FB7090B1A65F5AAA137C607F478E26A0</code> <code>F978F10799CCFC0C5EBA8C4491506D64</code> <code>72D24F9E27F91C01C87CAF902469159C</code> <code>7CED71B4B8AE6C8B62EC53B76093DAF1</code> <code>FC8AC88EA7E979A2E20C1FC219DD0CB5</code> <code>A5B61A390BF136E41B0015FCE3C0CB24</code><br> <code>E8659F55</code></td>
<td>See below</td>
</tr>
</tbody>
@ -502,20 +502,20 @@ random_padding_bytes = 5BAC11024D7BD6C8E2BAC6129BD8650247D600A27B1A7FEEC5D0D283F
<!-- end server_DH_params_ok -->
<p>Decrypt <code>encrypted_answer</code> using the reverse of the process specified in <a href="/mtproto/auth_key#6-server-responds-with">step 6</a>:</p>
<!-- start server_DH_inner_data_input -->
<pre><code>encrypted_answer = 17517F209040ECF41C08C72923A8F51B5E524116BD50263330DC9C858C73D3D668202EA85BF11A8757966B3EC09CC65FB6AE019B6FF83A5B1CDCA3B204117C770322E3EFB78F34FCB3250CBDBC21C9193C671BE60D6A667002B2DED6DEA4786B8CE3A9B60AF643E5A8EF040E9BC8289443DFECAC113BED85B6D32E8576E455179653DD1FE044DED1A9D1439B1CE0821F95A5E71D01DF56709EC6E5D286AC63228D141A4C69FFD4C08377D65E4139B2388828DA7945FE565538B31F04B3A7A061E8B0D2D867AA3A48E479EE001DF81D8BB58C627D6D9D42A07031BBAAC5EB028BCAB110D22C5313BD44B63420CC5551722657F508DD4455C090CEFA06B52869996AE8E467F49AA3487F317F97EEB916A8C8746F94BD6E9681B63013C867506A1256ADEA9C6FDB882DE1D7D0AB36AAB413F05819A5A6E5E29ECB07DFF6DBC0C21977375E072E73146BA109344A17F2ED084F5FAACE7BAAB545672B13417F37FC43C8D8CE14D7C60870332C99C78D1775345ABC1D2DB838AB13057C7D0D2D944290B3EAE0D2032036CE92DE0669892F7EB1D09ED6C5E7B5971E65CBDD4C017C2C7C57440C4167F6A35442CA09B9F10976FE8037CEF0E309E216F0A72EFC479A27D58BAB39F9079B279DA3FE748486D84707387BE79B9FCE62E6BF8D9F86F60A0A5939B2509180CC21C9490A2CD9F0D086D9EBA078085407374D3072A24C1D815F7EEEEBFBE8E19B3E3B21B74010B64EE6EEE7BB713415A65C6A2986472C2AECDBE594784355AD86A77FFB27B68615A0F9BF02F866351D4D0FA7356B934E13427C39891504932C1C9EBC000C593E1C69E311
tmp_aes_key = 36AF1C65434A521AC270F3D8F15F783B83916E3D5B318253377518B1879B0FA0
tmp_aes_iv = BA8DF136F86FF86F2894AD855701045215AB156F6D7B7CD8810B810E9C7B118F</code></pre>
<pre><code>encrypted_answer = 736A8A7D7A91D4880857CF9DAC618ADC53BDCA2B7D74764597011B982ED8F1F844319DE0E9F63C4727D12EFEF6C6EA5A124B474B4C7844E46817EFBE1E11461DE192A3DC03DC9A71D8253A7D44DF20B11C123E3DB8CB4376915FC547939428456771AFA5DE7EE44600547E58BDA4FEF590F34C33C698CD81E48222E8E42335FE16BFC976F3A6FB2BD01EF6DC6EE31466F438EEBB5EC115F965D819AFAD11E414A1D44A14344636B23E7E9725F2754834AE1351B730AD67475A7C52390E7B8E959BD78D75E34DA3DAC10FD4F2661BAAFFCF9DDD0453EF6AE9F979EEB849CF92CB39A50D6B3A30EB933C4A5ED211AE6D43D9FCEC634B7B9F20D360E1FE4FB53E76686C693F27AA9C465174B5EA92D2FBBC478D5AC3D4B8639B7162D243C991117C66E3C9AB3C08C27288DE0CCFE2F4D9B12EF1C764148576D35FD3CEA85456DDA0B3688301CBC36595BC5E4342B6AB96915C3B5CE10D9AE3A83216D13AA6FB0DDC98BE0DFB997D7DAC0A1CE758079B8146C7326A646796373AC817A58D4F6A23F7C05F630D36EF870D616F23A0A429F1C3A559C6E08F3477FB4B63C73848A2BEF1ED2F52CEAF9C5508B10712EE04D90488EE363B2B7F53E07795B4E958E6AA72F62F390A688AA0CF0E0412D46AB7E7EB83CA01D6038B1938221C4CB2869F587C36E75FD4F9DBB11680AB83FB4AFB7090B1A65F5AAA137C607F478E26A0F978F10799CCFC0C5EBA8C4491506D6472D24F9E27F91C01C87CAF902469159C7CED71B4B8AE6C8B62EC53B76093DAF1FC8AC88EA7E979A2E20C1FC219DD0CB5A5B61A390BF136E41B0015FCE3C0CB24E8659F55
tmp_aes_key = 675641CF483005F1A58B6741C0D8550A8336A7072783138A41AD9980FC09FDE7
tmp_aes_iv = 13465E12C0B0DC4CDA3685C09D2FDB128B40AAEA53CBDF1356F420FCA15BFB1E</code></pre>
<!-- end server_DH_inner_data_input -->
<p>Yielding:</p>
<!-- start server_DH_inner_data_output -->
<pre><code>answer_with_hash = 1E8D385DFEC613497A71D39AE30E07D2AECF13BABA0D89B5E46951990E2CFCCAC9324D1B8C8F04C9A64CFFDCC6391B3996EF16291A898C9F03000000FE000100C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5BFE00010031BD08268C2DDB0B1C87439402F2B753FB694FE149EE4E00917ACD38B3BF9D44D99AD346EB2DC6CDFC07824DBFD44369814FE10BE378977EC56978889A7EB5D0AA6C03B5611EA6445D4C152229B21E78213136FB9A822B3413DD546FC86E8E273322FDAEBA3A24E0B5DCE76DD67A427BAD16A483AA327252E3B0796040233DCFEB0752D77812112EAE83678AB98FA9371D6CD987426D62F761ADFB706351D7FBAFD6E4F2E201B3AEA82A13EA55BEA815DA7E552ACE782D75772AB9BA7AA2E394C34F3BB769089F465C4B64FA94AFCEE238CB885ABDFEA28508905FE6806B8AAA55F8A52ADB6FB908B58B6B054EA896CFE2F4FC03E1DD416CA8602E4F93EB3F8D8EA35F6560C569E896AEB16B
answer = BA0D89B5E46951990E2CFCCAC9324D1B8C8F04C9A64CFFDCC6391B3996EF16291A898C9F03000000FE000100C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5BFE00010031BD08268C2DDB0B1C87439402F2B753FB694FE149EE4E00917ACD38B3BF9D44D99AD346EB2DC6CDFC07824DBFD44369814FE10BE378977EC56978889A7EB5D0AA6C03B5611EA6445D4C152229B21E78213136FB9A822B3413DD546FC86E8E273322FDAEBA3A24E0B5DCE76DD67A427BAD16A483AA327252E3B0796040233DCFEB0752D77812112EAE83678AB98FA9371D6CD987426D62F761ADFB706351D7FBAFD6E4F2E201B3AEA82A13EA55BEA815DA7E552ACE782D75772AB9BA7AA2E394C34F3BB769089F465C4B64FA94AFCEE238CB885ABDFEA28508905FE6806B8AAA55F8A52ADB6FB908B58B6B054EA896CFE2F4FC03E1DD416CA8602E4F93EB3F8D8EA35F6560C569E896AEB16B</code></pre>
<pre><code>answer_with_hash = F16156B11DBD6B8DD84A429E1BDCA04013B42CCEBA0D89B57A4483F4E12D9C012A39CCC10920BDC394D9D0DAD24080024B001A9159091DE903000000FE000100C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5BFE0001008C5C61AEBFFEBCFC1B46DA700574D4F9A46DD6A948E371C33FF555957C74FC04CCF78D94D962FF95E5A122DCAA060C03090E396460F608563CCE93A5C7CEB4AF9ED27C765084FDFD6881DE65C2EED350A0FEBEC40FE6F393EA3F912C5F61583436DF7C04CEBAC6C1BE5987596FCE1B1C8D68DA1F127E7D1CD713EE7D85B398540B571DD911C9830A33F6EDF8FD43200A87E661EA203279997485FAFE07520D6F4F40DFA7F9A0A619E0547E7548A3FD887BF49C485921F19276A18B08A9DB16B2B68B040331391BC5C64C58304EFEECCE8386E39CED5F97948D1CC3D7F53C2E65EC7F763FDD3718925B33BAE6BCE00583F234FAB7BBBC4C3FE660108B5A42730CABA95F65A9D4078A53F16A8D
answer = BA0D89B57A4483F4E12D9C012A39CCC10920BDC394D9D0DAD24080024B001A9159091DE903000000FE000100C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5BFE0001008C5C61AEBFFEBCFC1B46DA700574D4F9A46DD6A948E371C33FF555957C74FC04CCF78D94D962FF95E5A122DCAA060C03090E396460F608563CCE93A5C7CEB4AF9ED27C765084FDFD6881DE65C2EED350A0FEBEC40FE6F393EA3F912C5F61583436DF7C04CEBAC6C1BE5987596FCE1B1C8D68DA1F127E7D1CD713EE7D85B398540B571DD911C9830A33F6EDF8FD43200A87E661EA203279997485FAFE07520D6F4F40DFA7F9A0A619E0547E7548A3FD887BF49C485921F19276A18B08A9DB16B2B68B040331391BC5C64C58304EFEECCE8386E39CED5F97948D1CC3D7F53C2E65EC7F763FDD3718925B33BAE6BCE00583F234FAB7BBBC4C3FE660108B5A42730CABA95F65A9D4078A53F16A8D</code></pre>
<!-- end server_DH_inner_data_output -->
<!-- start server_DH_inner_data -->
<p>Generated payload (excluding transport headers/trailers):</p>
<pre><code>0000 | BA 0D 89 B5 E4 69 51 99 0E 2C FC CA C9 32 4D 1B
0010 | 8C 8F 04 C9 A6 4C FF DC C6 39 1B 39 96 EF 16 29
0020 | 1A 89 8C 9F 03 00 00 00 FE 00 01 00 C7 1C AE B9
<pre><code>0000 | BA 0D 89 B5 7A 44 83 F4 E1 2D 9C 01 2A 39 CC C1
0010 | 09 20 BD C3 94 D9 D0 DA D2 40 80 02 4B 00 1A 91
0020 | 59 09 1D E9 03 00 00 00 FE 00 01 00 C7 1C AE B9
0030 | C6 B1 C9 04 8E 6C 52 2F 70 F1 3F 73 98 0D 40 23
0040 | 8E 3E 21 C1 49 34 D0 37 56 3D 93 0F 48 19 8A 0A
0050 | A7 C1 40 58 22 94 93 D2 25 30 F4 DB FA 33 6F 6E
@ -532,23 +532,23 @@ answer = BA0D89B5E46951990E2CFCCAC9324D1B8C8F04C9A64CFFDCC6391B3996EF16291A898C9
0100 | F4 7B F9 59 D9 56 85 0C E9 29 85 1F 0D 81 15 F6
0110 | 35 B1 05 EE 2E 4E 15 D0 4B 24 54 BF 6F 4F AD F0
0120 | 34 B1 04 03 11 9C D8 E3 B9 2F CC 5B FE 00 01 00
0130 | 31 BD 08 26 8C 2D DB 0B 1C 87 43 94 02 F2 B7 53
0140 | FB 69 4F E1 49 EE 4E 00 91 7A CD 38 B3 BF 9D 44
0150 | D9 9A D3 46 EB 2D C6 CD FC 07 82 4D BF D4 43 69
0160 | 81 4F E1 0B E3 78 97 7E C5 69 78 88 9A 7E B5 D0
0170 | AA 6C 03 B5 61 1E A6 44 5D 4C 15 22 29 B2 1E 78
0180 | 21 31 36 FB 9A 82 2B 34 13 DD 54 6F C8 6E 8E 27
0190 | 33 22 FD AE BA 3A 24 E0 B5 DC E7 6D D6 7A 42 7B
01A0 | AD 16 A4 83 AA 32 72 52 E3 B0 79 60 40 23 3D CF
01B0 | EB 07 52 D7 78 12 11 2E AE 83 67 8A B9 8F A9 37
01C0 | 1D 6C D9 87 42 6D 62 F7 61 AD FB 70 63 51 D7 FB
01D0 | AF D6 E4 F2 E2 01 B3 AE A8 2A 13 EA 55 BE A8 15
01E0 | DA 7E 55 2A CE 78 2D 75 77 2A B9 BA 7A A2 E3 94
01F0 | C3 4F 3B B7 69 08 9F 46 5C 4B 64 FA 94 AF CE E2
0200 | 38 CB 88 5A BD FE A2 85 08 90 5F E6 80 6B 8A AA
0210 | 55 F8 A5 2A DB 6F B9 08 B5 8B 6B 05 4E A8 96 CF
0220 | E2 F4 FC 03 E1 DD 41 6C A8 60 2E 4F 93 EB 3F 8D
0230 | 8E A3 5F 65</code></pre>
0130 | 8C 5C 61 AE BF FE BC FC 1B 46 DA 70 05 74 D4 F9
0140 | A4 6D D6 A9 48 E3 71 C3 3F F5 55 95 7C 74 FC 04
0150 | CC F7 8D 94 D9 62 FF 95 E5 A1 22 DC AA 06 0C 03
0160 | 09 0E 39 64 60 F6 08 56 3C CE 93 A5 C7 CE B4 AF
0170 | 9E D2 7C 76 50 84 FD FD 68 81 DE 65 C2 EE D3 50
0180 | A0 FE BE C4 0F E6 F3 93 EA 3F 91 2C 5F 61 58 34
0190 | 36 DF 7C 04 CE BA C6 C1 BE 59 87 59 6F CE 1B 1C
01A0 | 8D 68 DA 1F 12 7E 7D 1C D7 13 EE 7D 85 B3 98 54
01B0 | 0B 57 1D D9 11 C9 83 0A 33 F6 ED F8 FD 43 20 0A
01C0 | 87 E6 61 EA 20 32 79 99 74 85 FA FE 07 52 0D 6F
01D0 | 4F 40 DF A7 F9 A0 A6 19 E0 54 7E 75 48 A3 FD 88
01E0 | 7B F4 9C 48 59 21 F1 92 76 A1 8B 08 A9 DB 16 B2
01F0 | B6 8B 04 03 31 39 1B C5 C6 4C 58 30 4E FE EC CE
0200 | 83 86 E3 9C ED 5F 97 94 8D 1C C3 D7 F5 3C 2E 65
0210 | EC 7F 76 3F DD 37 18 92 5B 33 BA E6 BC E0 05 83
0220 | F2 34 FA B7 BB BC 4C 3F E6 60 10 8B 5A 42 73 0C
0230 | AB A9 5F 65</code></pre>
<p>Payload (de)serialization:</p>
<pre><code>server_DH_inner_data#b5890dba nonce:int128 server_nonce:int128 g:int dh_prime:string g_a:string server_time:int = Server_DH_inner_data;</code></pre>
<table class="table">
@ -570,13 +570,13 @@ answer = BA0D89B5E46951990E2CFCCAC9324D1B8C8F04C9A64CFFDCC6391B3996EF16291A898C9
<tr>
<td>nonce</td>
<td>4, 16</td>
<td><code>E46951990E2CFCCAC9324D1B8C8F04C9</code></td>
<td><code>7A4483F4E12D9C012A39CCC10920BDC3</code></td>
<td>Value generated by client in Step 1</td>
</tr>
<tr>
<td>server_nonce</td>
<td>20, 16</td>
<td><code>A64CFFDCC6391B3996EF16291A898C9F</code></td>
<td><code>94D9D0DAD24080024B001A9159091DE9</code></td>
<td>Value received from server in Step 2</td>
</tr>
<tr>
@ -594,13 +594,13 @@ answer = BA0D89B5E46951990E2CFCCAC9324D1B8C8F04C9A64CFFDCC6391B3996EF16291A898C9
<tr>
<td>g_a</td>
<td>300, 260</td>
<td><code>FE00010031BD08268C2DDB0B1C874394</code> <code>02F2B753FB694FE149EE4E00917ACD38</code> <code>B3BF9D44D99AD346EB2DC6CDFC07824D</code> <code>BFD44369814FE10BE378977EC5697888</code> <code>9A7EB5D0AA6C03B5611EA6445D4C1522</code> <code>29B21E78213136FB9A822B3413DD546F</code> <code>C86E8E273322FDAEBA3A24E0B5DCE76D</code> <code>D67A427BAD16A483AA327252E3B07960</code> <code>40233DCFEB0752D77812112EAE83678A</code> <code>B98FA9371D6CD987426D62F761ADFB70</code> <code>6351D7FBAFD6E4F2E201B3AEA82A13EA</code> <code>55BEA815DA7E552ACE782D75772AB9BA</code> <code>7AA2E394C34F3BB769089F465C4B64FA</code> <code>94AFCEE238CB885ABDFEA28508905FE6</code> <code>806B8AAA55F8A52ADB6FB908B58B6B05</code> <code>4EA896CFE2F4FC03E1DD416CA8602E4F</code><br> <code>93EB3F8D</code></td>
<td><code>FE0001008C5C61AEBFFEBCFC1B46DA70</code> <code>0574D4F9A46DD6A948E371C33FF55595</code> <code>7C74FC04CCF78D94D962FF95E5A122DC</code> <code>AA060C03090E396460F608563CCE93A5</code> <code>C7CEB4AF9ED27C765084FDFD6881DE65</code> <code>C2EED350A0FEBEC40FE6F393EA3F912C</code> <code>5F61583436DF7C04CEBAC6C1BE598759</code> <code>6FCE1B1C8D68DA1F127E7D1CD713EE7D</code> <code>85B398540B571DD911C9830A33F6EDF8</code> <code>FD43200A87E661EA203279997485FAFE</code> <code>07520D6F4F40DFA7F9A0A619E0547E75</code> <code>48A3FD887BF49C485921F19276A18B08</code> <code>A9DB16B2B68B040331391BC5C64C5830</code> <code>4EFEECCE8386E39CED5F97948D1CC3D7</code> <code>F53C2E65EC7F763FDD3718925B33BAE6</code> <code>BCE00583F234FAB7BBBC4C3FE660108B</code><br> <code>5A42730C</code></td>
<td><code>g_a</code> diffie-hellman parameter</td>
</tr>
<tr>
<td>server_time</td>
<td>560, 4</td>
<td><code>8EA35F65</code> (1700766606 in decimal)</td>
<td><code>ABA95F65</code> (1700768171 in decimal)</td>
<td>Server time</td>
</tr>
</tbody>
@ -609,34 +609,34 @@ answer = BA0D89B5E46951990E2CFCCAC9324D1B8C8F04C9A64CFFDCC6391B3996EF16291A898C9
<h5><a class="anchor" href="#7-client-computes-random-2048-bit-number-b-using-a-sufficient-amount-of-entropy-and-sends-the-server-a-message" id="7-client-computes-random-2048-bit-number-b-using-a-sufficient-amount-of-entropy-and-sends-the-server-a-message" name="7-client-computes-random-2048-bit-number-b-using-a-sufficient-amount-of-entropy-and-sends-the-server-a-message"><i class="anchor-icon"></i></a>7) Client computes random 2048-bit number <em>b</em> (using a sufficient amount of entropy) and sends the server a message</h5>
<p>First, generate a secure random 2048-bit number b:</p>
<!-- start b -->
<pre><code>b = 2A3F22645B45D055BADC3890F8907F23847497B8D6373ADE8310ACBB6D7A262FFE8AF3B6E1A0E87102B24DDFB8F3530D408ECE349363E67B07B03F3CA277FD009CBBF9A2A3B48EBB11910F6C8FF2B1BBDAAEC209DF32F27A64E77A42BE16531788C66EBED1CD1C3F15CAC3F63B563F8340CF9B0C9D112712A00F0DE746A8A1DBC9B0477AF018234AB4E99F8BD4DAD26FB3B95DED07F8F2AEB1ECFE3F569C48A80FC147B5658CF1FEB56F2FF26AF4DFA152729694A592DA77A6BB7ED2A547FC3755014F086B6D53E664A898BE275334A23BB4A82172014B8A4EA5160209894FF32D33F765DC5FC66DE4B3E810D12F64A9820DFBBD0350630FB671F9A759313875</code></pre>
<pre><code>b = 13B66234DA363C82F3B76128DC878D77E8CBECFA1B39540E5C6028CBEF140B5280EEFCB0F1EBD195D4491F70324334DE50A0F2D27CF72A4BB3EFDC3D5C9404B0E90BBC7BA95905D344A7CECD3F621AB97B63F05E20685137FF83D4521E507B78B04F8D1C6DDADB563CA99B7CBF6980701D5570578B7E96B0A754C8FCBD60DE79CEF53CD8E9C5FE70AA0C55BC0384E9CE982AABF5F1896F599483EB701088A8E6A702B85DBE785C5A2860BC27579AE0CA009D1093A8E7FFF9269E724A208C213347B68D11EE65FDCE8B262F601BFCAB8D7162DDFEBFD5F43B6738E222D5CADB4A51E444506A16087A6DBE9DE1F06A55976F3B63FB4E75E494E94724B6628DF86D</code></pre>
<!-- end b -->
<p>Then compute <code>g_b = pow(g, b) mod dh_prime</code></p>
<!-- start g_b -->
<pre><code>g_b = 28C6539480C002AFFBEB2FA8C7060A89EF38361C7B8999C1C5D5FD6E7E46100673F76C8E78B82EBEFDDC975FAB0D79AB26280DC346886578A177982EA686736F6C44D505F4CF9D7FA097AA2F07B775DCD0345BA1D12C6BB440A711E9BE663FBB9F1A14CF8676C64A220B259B21377E10CA8B68B05180849D2A29CC96283053D1CF4A4E6105835A6BD97FAB25A15B3F62BF9931BF19072B4D0BCC7CB24E5007D6B9A77EB4A63BB62993097710AC85803A5A4E0FC792D7101A09F1E52ED12273083FDC9D85F465CD1FEDCE4F6E387DC1CE08D02D3E26561B2E5395565BE507209498AF1F4EC2A08BFBBF7799A70D2CFA538F92CBC4A61C50575D4934D5263B4932</code></pre>
<pre><code>g_b = 76E7C32846DD187CA7917E86BBC3D83D61B1764BF6E1FF101420D41B17E64EFF529060E59F81BD13B39EA3F9A809F8AA091F209D8A056FD9D787FD9A1064E9FC646F327E77F40E3B27B589CAA0301E4B7C845AE17D77FE5B4ECD691B9B8D7AA74D9B83EEEC566146E58AF109623ED90F41EE7932F72FF5846BDBA9F56C798EA68AD987208A5140B3B29F550C88779C987EF9CCEE70E13772039844E312AB17D3CA3362080C49C16FC0D21DB2D450CE674E108075005E85EFD631072966E0929EFDAEFBFDEC54C4ECC2F02F83FDBF206B3169D3A26BA4D556DD320B5DFCB799D2F4360ADC7943B0FE8DB6781D447CAC4D31AD4F08288B18D5FDE78CAE43E6A62D</code></pre>
<!-- end g_b -->
<h6>7.1) generation of encrypted_data</h6>
<!-- start client_DH_inner_data -->
<p>Generated payload (excluding transport headers/trailers):</p>
<pre><code>0000 | 54 B6 43 66 E4 69 51 99 0E 2C FC CA C9 32 4D 1B
0010 | 8C 8F 04 C9 A6 4C FF DC C6 39 1B 39 96 EF 16 29
0020 | 1A 89 8C 9F 00 00 00 00 00 00 00 00 FE 00 01 00
0030 | 28 C6 53 94 80 C0 02 AF FB EB 2F A8 C7 06 0A 89
0040 | EF 38 36 1C 7B 89 99 C1 C5 D5 FD 6E 7E 46 10 06
0050 | 73 F7 6C 8E 78 B8 2E BE FD DC 97 5F AB 0D 79 AB
0060 | 26 28 0D C3 46 88 65 78 A1 77 98 2E A6 86 73 6F
0070 | 6C 44 D5 05 F4 CF 9D 7F A0 97 AA 2F 07 B7 75 DC
0080 | D0 34 5B A1 D1 2C 6B B4 40 A7 11 E9 BE 66 3F BB
0090 | 9F 1A 14 CF 86 76 C6 4A 22 0B 25 9B 21 37 7E 10
00A0 | CA 8B 68 B0 51 80 84 9D 2A 29 CC 96 28 30 53 D1
00B0 | CF 4A 4E 61 05 83 5A 6B D9 7F AB 25 A1 5B 3F 62
00C0 | BF 99 31 BF 19 07 2B 4D 0B CC 7C B2 4E 50 07 D6
00D0 | B9 A7 7E B4 A6 3B B6 29 93 09 77 10 AC 85 80 3A
00E0 | 5A 4E 0F C7 92 D7 10 1A 09 F1 E5 2E D1 22 73 08
00F0 | 3F DC 9D 85 F4 65 CD 1F ED CE 4F 6E 38 7D C1 CE
0100 | 08 D0 2D 3E 26 56 1B 2E 53 95 56 5B E5 07 20 94
0110 | 98 AF 1F 4E C2 A0 8B FB BF 77 99 A7 0D 2C FA 53
0120 | 8F 92 CB C4 A6 1C 50 57 5D 49 34 D5 26 3B 49 32</code></pre>
<pre><code>0000 | 54 B6 43 66 7A 44 83 F4 E1 2D 9C 01 2A 39 CC C1
0010 | 09 20 BD C3 94 D9 D0 DA D2 40 80 02 4B 00 1A 91
0020 | 59 09 1D E9 00 00 00 00 00 00 00 00 FE 00 01 00
0030 | 76 E7 C3 28 46 DD 18 7C A7 91 7E 86 BB C3 D8 3D
0040 | 61 B1 76 4B F6 E1 FF 10 14 20 D4 1B 17 E6 4E FF
0050 | 52 90 60 E5 9F 81 BD 13 B3 9E A3 F9 A8 09 F8 AA
0060 | 09 1F 20 9D 8A 05 6F D9 D7 87 FD 9A 10 64 E9 FC
0070 | 64 6F 32 7E 77 F4 0E 3B 27 B5 89 CA A0 30 1E 4B
0080 | 7C 84 5A E1 7D 77 FE 5B 4E CD 69 1B 9B 8D 7A A7
0090 | 4D 9B 83 EE EC 56 61 46 E5 8A F1 09 62 3E D9 0F
00A0 | 41 EE 79 32 F7 2F F5 84 6B DB A9 F5 6C 79 8E A6
00B0 | 8A D9 87 20 8A 51 40 B3 B2 9F 55 0C 88 77 9C 98
00C0 | 7E F9 CC EE 70 E1 37 72 03 98 44 E3 12 AB 17 D3
00D0 | CA 33 62 08 0C 49 C1 6F C0 D2 1D B2 D4 50 CE 67
00E0 | 4E 10 80 75 00 5E 85 EF D6 31 07 29 66 E0 92 9E
00F0 | FD AE FB FD EC 54 C4 EC C2 F0 2F 83 FD BF 20 6B
0100 | 31 69 D3 A2 6B A4 D5 56 DD 32 0B 5D FC B7 99 D2
0110 | F4 36 0A DC 79 43 B0 FE 8D B6 78 1D 44 7C AC 4D
0120 | 31 AD 4F 08 28 8B 18 D5 FD E7 8C AE 43 E6 A6 2D</code></pre>
<p>Payload (de)serialization:</p>
<pre><code>client_DH_inner_data#6643b654 nonce:int128 server_nonce:int128 retry_id:long g_b:string = Client_DH_Inner_Data;</code></pre>
<table class="table">
@ -658,19 +658,19 @@ answer = BA0D89B5E46951990E2CFCCAC9324D1B8C8F04C9A64CFFDCC6391B3996EF16291A898C9
<tr>
<td>nonce</td>
<td>4, 16</td>
<td><code>E46951990E2CFCCAC9324D1B8C8F04C9</code></td>
<td><code>7A4483F4E12D9C012A39CCC10920BDC3</code></td>
<td>Value generated by client in Step 1</td>
</tr>
<tr>
<td>server_nonce</td>
<td>20, 16</td>
<td><code>A64CFFDCC6391B3996EF16291A898C9F</code></td>
<td><code>94D9D0DAD24080024B001A9159091DE9</code></td>
<td>Value received from server in Step 2</td>
</tr>
<tr>
<td>g_b</td>
<td>36, 260</td>
<td><code>FE00010028C6539480C002AFFBEB2FA8</code> <code>C7060A89EF38361C7B8999C1C5D5FD6E</code> <code>7E46100673F76C8E78B82EBEFDDC975F</code> <code>AB0D79AB26280DC346886578A177982E</code> <code>A686736F6C44D505F4CF9D7FA097AA2F</code> <code>07B775DCD0345BA1D12C6BB440A711E9</code> <code>BE663FBB9F1A14CF8676C64A220B259B</code> <code>21377E10CA8B68B05180849D2A29CC96</code> <code>283053D1CF4A4E6105835A6BD97FAB25</code> <code>A15B3F62BF9931BF19072B4D0BCC7CB2</code> <code>4E5007D6B9A77EB4A63BB62993097710</code> <code>AC85803A5A4E0FC792D7101A09F1E52E</code> <code>D12273083FDC9D85F465CD1FEDCE4F6E</code> <code>387DC1CE08D02D3E26561B2E5395565B</code> <code>E507209498AF1F4EC2A08BFBBF7799A7</code> <code>0D2CFA538F92CBC4A61C50575D4934D5</code><br> <code>263B4932</code></td>
<td><code>FE00010076E7C32846DD187CA7917E86</code> <code>BBC3D83D61B1764BF6E1FF101420D41B</code> <code>17E64EFF529060E59F81BD13B39EA3F9</code> <code>A809F8AA091F209D8A056FD9D787FD9A</code> <code>1064E9FC646F327E77F40E3B27B589CA</code> <code>A0301E4B7C845AE17D77FE5B4ECD691B</code> <code>9B8D7AA74D9B83EEEC566146E58AF109</code> <code>623ED90F41EE7932F72FF5846BDBA9F5</code> <code>6C798EA68AD987208A5140B3B29F550C</code> <code>88779C987EF9CCEE70E13772039844E3</code> <code>12AB17D3CA3362080C49C16FC0D21DB2</code> <code>D450CE674E108075005E85EFD6310729</code> <code>66E0929EFDAEFBFDEC54C4ECC2F02F83</code> <code>FDBF206B3169D3A26BA4D556DD320B5D</code> <code>FCB799D2F4360ADC7943B0FE8DB6781D</code> <code>447CAC4D31AD4F08288B18D5FDE78CAE</code><br> <code>43E6A62D</code></td>
<td>Single-byte prefix denoting length, a 256-byte (2048-bit) string, and zero bytes of padding</td>
</tr>
<tr>
@ -684,47 +684,47 @@ answer = BA0D89B5E46951990E2CFCCAC9324D1B8C8F04C9A64CFFDCC6391B3996EF16291A898C9
<!-- end client_DH_inner_data -->
<p>The serialization of <em>Client_DH_Inner_Data</em> produces a string <strong>data</strong>. This is used to generate <strong>encrypted_data</strong> as specified in <a href="#7-client-computes-random-2048-bit-number-b-using-a-sufficient-amount-of-entropy-and-sends-the-server-a-message">step 6</a>, using the following inputs:</p>
<!-- start client_DH_inner_data_input -->
<pre><code>data = 54B64366E46951990E2CFCCAC9324D1B8C8F04C9A64CFFDCC6391B3996EF16291A898C9F0000000000000000FE00010028C6539480C002AFFBEB2FA8C7060A89EF38361C7B8999C1C5D5FD6E7E46100673F76C8E78B82EBEFDDC975FAB0D79AB26280DC346886578A177982EA686736F6C44D505F4CF9D7FA097AA2F07B775DCD0345BA1D12C6BB440A711E9BE663FBB9F1A14CF8676C64A220B259B21377E10CA8B68B05180849D2A29CC96283053D1CF4A4E6105835A6BD97FAB25A15B3F62BF9931BF19072B4D0BCC7CB24E5007D6B9A77EB4A63BB62993097710AC85803A5A4E0FC792D7101A09F1E52ED12273083FDC9D85F465CD1FEDCE4F6E387DC1CE08D02D3E26561B2E5395565BE507209498AF1F4EC2A08BFBBF7799A70D2CFA538F92CBC4A61C50575D4934D5263B4932
padding = 33B75874ECD7561FE4873622
tmp_aes_key = 36AF1C65434A521AC270F3D8F15F783B83916E3D5B318253377518B1879B0FA0
tmp_aes_iv = BA8DF136F86FF86F2894AD855701045215AB156F6D7B7CD8810B810E9C7B118F</code></pre>
<pre><code>data = 54B643667A4483F4E12D9C012A39CCC10920BDC394D9D0DAD24080024B001A9159091DE90000000000000000FE00010076E7C32846DD187CA7917E86BBC3D83D61B1764BF6E1FF101420D41B17E64EFF529060E59F81BD13B39EA3F9A809F8AA091F209D8A056FD9D787FD9A1064E9FC646F327E77F40E3B27B589CAA0301E4B7C845AE17D77FE5B4ECD691B9B8D7AA74D9B83EEEC566146E58AF109623ED90F41EE7932F72FF5846BDBA9F56C798EA68AD987208A5140B3B29F550C88779C987EF9CCEE70E13772039844E312AB17D3CA3362080C49C16FC0D21DB2D450CE674E108075005E85EFD631072966E0929EFDAEFBFDEC54C4ECC2F02F83FDBF206B3169D3A26BA4D556DD320B5DFCB799D2F4360ADC7943B0FE8DB6781D447CAC4D31AD4F08288B18D5FDE78CAE43E6A62D
padding = AE24319859262BF27E60384F
tmp_aes_key = 675641CF483005F1A58B6741C0D8550A8336A7072783138A41AD9980FC09FDE7
tmp_aes_iv = 13465E12C0B0DC4CDA3685C09D2FDB128B40AAEA53CBDF1356F420FCA15BFB1E</code></pre>
<!-- end client_DH_inner_data_input -->
<p>Process:</p>
<pre><code>data_with_hash := SHA1(data) + data + padding (0-15 random bytes such that total length is divisible by 16)
encrypted_data := AES256_ige_encrypt (data_with_hash, tmp_aes_key, tmp_aes_iv);</code></pre>
<p>Output:</p>
<!-- start client_DH_inner_data_output -->
<pre><code>encrypted_data = 72480B838758A1231EA90000928DBFE8D3D42FE9667A4910C7C78BBD91D1AF45DA1D172DBE7918DE42039E356DF1B0CBF329954913E1EFD46B940795320CC5EF05FFE501F20BB50F2C8C12CAD92E32CABE86F0FD1AA5C2B9CD8C20654A7F2E96B29AB1C67D78951AE51B2A1E0BD578B786C5F123ECBB80894B24B8DC4D0846EA6A81E5DFEFE3DE9EF61D3E97E2D6AFC0D7593538FF7ACF53021AC57173B8730D2889E97DBE1DDAB450D2AEC4941800D190B468076F96118C96C9D177E557A1453491171263CDFE7831A85AF465221ED5DA4B5053966AB85B1C91D071956A79DA59B6DDEB07116BE464E18ED448EB8A9203D1FAD3956B4057B58DB96E9D76F76A09EBB8D8799E2999AFC5E275185C1879FAABFFFC28AA8330352A6AF473F6C31F4098AFBD1CA1C00DB175350850411187E52126D0DF736FCABC2727ADBE444F1B3EBBAD6D876870A6E81E72BF4A43BDE5</code></pre>
<pre><code>encrypted_data = 9C62CA0C1111B634A8B405F217977B8AB414DBEF6A9C4C0CCAAE191FA11A08298465BE7CDF811B378EED574ED65E41A7C8FC50D1FC80A8AB5EF56E60A586AE048E4939E36D7826A6255D1D5D6B9AB5F6D1A237647DEF04C4A5FE39B948D61F01142087F30C3F08B516BE17A7BD0AA94252A0BDDE0D7DE30CAA4AB58C3BE89E996214D7E48BB30F9472E96B38C4D404B4F742EE74A23682B13B5FDA50D11929D506D208E525B86FD1FA768BDBB223FC5D27BC89F1E04326FD2E9F4DAA2F09E6A9EC91A7F57F5A3FA49311873C887716B8A625764A8671C05115A56EE368F904D36964D362F7B664F8BFA5CC51431AAF5173703555ED6B399E4FF3315FAB42B349073F604BE827B7088284CC347AAEE8A67AE688B7B33C2021899635DE1E6A41E588931A7ADF3FD5C990EA0D38DBCACB0F99F39372C7FB2B08CBDB690D5C6E008B48BD5B2101A92F8DDB32B5976B4BE82B</code></pre>
<!-- end client_DH_inner_data_output -->
<p>The length of the final string is 336 bytes.</p>
<h6>7.2) set_client_DH_params query</h6>
<!-- start set_client_DH_params -->
<p>Sent payload (excluding transport headers/trailers):</p>
<pre><code>0000 | 00 00 00 00 00 00 00 00 84 08 0B 00 8E A3 5F 65
0010 | 78 01 00 00 1F 5F 04 F5 E4 69 51 99 0E 2C FC CA
0020 | C9 32 4D 1B 8C 8F 04 C9 A6 4C FF DC C6 39 1B 39
0030 | 96 EF 16 29 1A 89 8C 9F FE 50 01 00 72 48 0B 83
0040 | 87 58 A1 23 1E A9 00 00 92 8D BF E8 D3 D4 2F E9
0050 | 66 7A 49 10 C7 C7 8B BD 91 D1 AF 45 DA 1D 17 2D
0060 | BE 79 18 DE 42 03 9E 35 6D F1 B0 CB F3 29 95 49
0070 | 13 E1 EF D4 6B 94 07 95 32 0C C5 EF 05 FF E5 01
0080 | F2 0B B5 0F 2C 8C 12 CA D9 2E 32 CA BE 86 F0 FD
0090 | 1A A5 C2 B9 CD 8C 20 65 4A 7F 2E 96 B2 9A B1 C6
00A0 | 7D 78 95 1A E5 1B 2A 1E 0B D5 78 B7 86 C5 F1 23
00B0 | EC BB 80 89 4B 24 B8 DC 4D 08 46 EA 6A 81 E5 DF
00C0 | EF E3 DE 9E F6 1D 3E 97 E2 D6 AF C0 D7 59 35 38
00D0 | FF 7A CF 53 02 1A C5 71 73 B8 73 0D 28 89 E9 7D
00E0 | BE 1D DA B4 50 D2 AE C4 94 18 00 D1 90 B4 68 07
00F0 | 6F 96 11 8C 96 C9 D1 77 E5 57 A1 45 34 91 17 12
0100 | 63 CD FE 78 31 A8 5A F4 65 22 1E D5 DA 4B 50 53
0110 | 96 6A B8 5B 1C 91 D0 71 95 6A 79 DA 59 B6 DD EB
0120 | 07 11 6B E4 64 E1 8E D4 48 EB 8A 92 03 D1 FA D3
0130 | 95 6B 40 57 B5 8D B9 6E 9D 76 F7 6A 09 EB B8 D8
0140 | 79 9E 29 99 AF C5 E2 75 18 5C 18 79 FA AB FF FC
0150 | 28 AA 83 30 35 2A 6A F4 73 F6 C3 1F 40 98 AF BD
0160 | 1C A1 C0 0D B1 75 35 08 50 41 11 87 E5 21 26 D0
0170 | DF 73 6F CA BC 27 27 AD BE 44 4F 1B 3E BB AD 6D
0180 | 87 68 70 A6 E8 1E 72 BF 4A 43 BD E5</code></pre>
<pre><code>0000 | 00 00 00 00 00 00 00 00 F8 78 08 00 AB A9 5F 65
0010 | 78 01 00 00 1F 5F 04 F5 7A 44 83 F4 E1 2D 9C 01
0020 | 2A 39 CC C1 09 20 BD C3 94 D9 D0 DA D2 40 80 02
0030 | 4B 00 1A 91 59 09 1D E9 FE 50 01 00 9C 62 CA 0C
0040 | 11 11 B6 34 A8 B4 05 F2 17 97 7B 8A B4 14 DB EF
0050 | 6A 9C 4C 0C CA AE 19 1F A1 1A 08 29 84 65 BE 7C
0060 | DF 81 1B 37 8E ED 57 4E D6 5E 41 A7 C8 FC 50 D1
0070 | FC 80 A8 AB 5E F5 6E 60 A5 86 AE 04 8E 49 39 E3
0080 | 6D 78 26 A6 25 5D 1D 5D 6B 9A B5 F6 D1 A2 37 64
0090 | 7D EF 04 C4 A5 FE 39 B9 48 D6 1F 01 14 20 87 F3
00A0 | 0C 3F 08 B5 16 BE 17 A7 BD 0A A9 42 52 A0 BD DE
00B0 | 0D 7D E3 0C AA 4A B5 8C 3B E8 9E 99 62 14 D7 E4
00C0 | 8B B3 0F 94 72 E9 6B 38 C4 D4 04 B4 F7 42 EE 74
00D0 | A2 36 82 B1 3B 5F DA 50 D1 19 29 D5 06 D2 08 E5
00E0 | 25 B8 6F D1 FA 76 8B DB B2 23 FC 5D 27 BC 89 F1
00F0 | E0 43 26 FD 2E 9F 4D AA 2F 09 E6 A9 EC 91 A7 F5
0100 | 7F 5A 3F A4 93 11 87 3C 88 77 16 B8 A6 25 76 4A
0110 | 86 71 C0 51 15 A5 6E E3 68 F9 04 D3 69 64 D3 62
0120 | F7 B6 64 F8 BF A5 CC 51 43 1A AF 51 73 70 35 55
0130 | ED 6B 39 9E 4F F3 31 5F AB 42 B3 49 07 3F 60 4B
0140 | E8 27 B7 08 82 84 CC 34 7A AE E8 A6 7A E6 88 B7
0150 | B3 3C 20 21 89 96 35 DE 1E 6A 41 E5 88 93 1A 7A
0160 | DF 3F D5 C9 90 EA 0D 38 DB CA CB 0F 99 F3 93 72
0170 | C7 FB 2B 08 CB DB 69 0D 5C 6E 00 8B 48 BD 5B 21
0180 | 01 A9 2F 8D DB 32 B5 97 6B 4B E8 2B</code></pre>
<p>Payload (de)serialization:</p>
<pre><code>set_client_DH_params#f5045f1f nonce:int128 server_nonce:int128 encrypted_data:string = Set_client_DH_params_answer;</code></pre>
<table class="table">
@ -746,7 +746,7 @@ encrypted_data := AES256_ige_encrypt (data_with_hash, tmp_aes_key, tmp_aes_iv);<
<tr>
<td>message_id</td>
<td>8, 8</td>
<td><code>84080B008EA35F65</code></td>
<td><code>F8780800ABA95F65</code></td>
<td>Message ID generated as specified <a href="/mtproto/description#message-identifier-msg-id">here »</a> (unixtime() &lt;&lt; 32) + (N*4)</td>
</tr>
<tr>
@ -764,19 +764,19 @@ encrypted_data := AES256_ige_encrypt (data_with_hash, tmp_aes_key, tmp_aes_iv);<
<tr>
<td>nonce</td>
<td>24, 16</td>
<td><code>E46951990E2CFCCAC9324D1B8C8F04C9</code></td>
<td><code>7A4483F4E12D9C012A39CCC10920BDC3</code></td>
<td>Value generated by client in Step 1</td>
</tr>
<tr>
<td>server_nonce</td>
<td>40, 16</td>
<td><code>A64CFFDCC6391B3996EF16291A898C9F</code></td>
<td><code>94D9D0DAD24080024B001A9159091DE9</code></td>
<td>Value received from server in Step 2</td>
</tr>
<tr>
<td>encrypted_data</td>
<td>56, 340</td>
<td><code>FE50010072480B838758A1231EA90000</code> <code>928DBFE8D3D42FE9667A4910C7C78BBD</code> <code>91D1AF45DA1D172DBE7918DE42039E35</code> <code>6DF1B0CBF329954913E1EFD46B940795</code> <code>320CC5EF05FFE501F20BB50F2C8C12CA</code> <code>D92E32CABE86F0FD1AA5C2B9CD8C2065</code> <code>4A7F2E96B29AB1C67D78951AE51B2A1E</code> <code>0BD578B786C5F123ECBB80894B24B8DC</code> <code>4D0846EA6A81E5DFEFE3DE9EF61D3E97</code> <code>E2D6AFC0D7593538FF7ACF53021AC571</code> <code>73B8730D2889E97DBE1DDAB450D2AEC4</code> <code>941800D190B468076F96118C96C9D177</code> <code>E557A1453491171263CDFE7831A85AF4</code> <code>65221ED5DA4B5053966AB85B1C91D071</code> <code>956A79DA59B6DDEB07116BE464E18ED4</code> <code>48EB8A9203D1FAD3956B4057B58DB96E</code> <code>9D76F76A09EBB8D8799E2999AFC5E275</code> <code>185C1879FAABFFFC28AA8330352A6AF4</code> <code>73F6C31F4098AFBD1CA1C00DB1753508</code> <code>50411187E52126D0DF736FCABC2727AD</code> <code>BE444F1B3EBBAD6D876870A6E81E72BF</code><br> <code>4A43BDE5</code></td>
<td><code>FE5001009C62CA0C1111B634A8B405F2</code> <code>17977B8AB414DBEF6A9C4C0CCAAE191F</code> <code>A11A08298465BE7CDF811B378EED574E</code> <code>D65E41A7C8FC50D1FC80A8AB5EF56E60</code> <code>A586AE048E4939E36D7826A6255D1D5D</code> <code>6B9AB5F6D1A237647DEF04C4A5FE39B9</code> <code>48D61F01142087F30C3F08B516BE17A7</code> <code>BD0AA94252A0BDDE0D7DE30CAA4AB58C</code> <code>3BE89E996214D7E48BB30F9472E96B38</code> <code>C4D404B4F742EE74A23682B13B5FDA50</code> <code>D11929D506D208E525B86FD1FA768BDB</code> <code>B223FC5D27BC89F1E04326FD2E9F4DAA</code> <code>2F09E6A9EC91A7F57F5A3FA49311873C</code> <code>887716B8A625764A8671C05115A56EE3</code> <code>68F904D36964D362F7B664F8BFA5CC51</code> <code>431AAF5173703555ED6B399E4FF3315F</code> <code>AB42B349073F604BE827B7088284CC34</code> <code>7AAEE8A67AE688B7B33C2021899635DE</code> <code>1E6A41E588931A7ADF3FD5C990EA0D38</code> <code>DBCACB0F99F39372C7FB2B08CBDB690D</code> <code>5C6E008B48BD5B2101A92F8DDB32B597</code><br> <code>6B4BE82B</code></td>
<td>Encrypted client_DH_inner_data generated previously, serialized as a TL byte string</td>
</tr>
</tbody>
@ -785,17 +785,17 @@ encrypted_data := AES256_ige_encrypt (data_with_hash, tmp_aes_key, tmp_aes_iv);<
<h5><a class="anchor" href="#8-auth-key-generation" id="8-auth-key-generation" name="8-auth-key-generation"><i class="anchor-icon"></i></a>8) Auth key generation</h5>
<p>The client computes the auth_key using formula <code>g_a^b mod dh_prime</code>:</p>
<!-- start auth_key -->
<pre><code>auth_key = 592D13011EA9CF4D4C067794B5B53CE4531573E2828E4B3612809790585E36B8F6627E697477BBD9C4104698168C92BF2B7FFBA53D183BC8CA551236FD07BAD96C20C38FFC4BECABD284E65C43CBAEA80640FDE5AC5BF17EC5E13DC0F96B8CC073EED665083971EE76441CADBC506ED559E037DE5AC9BBB85072B283C9FBCD4F22C7DBC3E3C1B4505A4EA99006927291867C39269A824D7C8A11B0128B11BBB7AC98818F00D26E902A1A18A99C5C938AEEF321BA377B66B64F3B1652FC3F21BD96E80AB4E28A7C510E925EF2B69EBE98C359B745BC9F268C6F6E52DE9D263F7C7606A1E7C0827EBDE0FCE1A8D68C6F55C476DADD2A7A59D9E74250F8970384BA</code></pre>
<pre><code>auth_key = 591926B9BE2F2FC2CAEF695B8EB04B6B19942248E324FAB986973ADC8DD156333B7D040871546D408791D4F6B9FB00D246FAC3780418CE8365F636707FE6D55EBC2B54455185F0FF6176CEED54C3CFBCA1F4FD55B247F27D0A393251000D51D9EAFBD47C016F973B79C776AE3A27242DE18C5676FE8B6298ED3D77DCE8FB483E5EA9DD2B1F7987F629B04065E4C47CD3621997D38202AC24430F2F2B90B68866AD10634136D6EA651A4269161D440DF0A2212A7853CB0EBC10258A93F8F4A3BC35805384DD41F44759892B22CB29C6ACE4EC39E331838757C7A4B69076F5745CBECB1F4042366DD8E56F7A6DDA38D482BAB8FF58F817B8274CDDBA493F91E232</code></pre>
<!-- end auth_key -->
<h5><a class="anchor" href="#9-final-server-reply" id="9-final-server-reply" name="9-final-server-reply"><i class="anchor-icon"></i></a>9) Final server reply</h5>
<p>The server verifies and confirms that auth_key_hash is unique: since it's unique, it replies with the following:</p>
<!-- start dh_gen_ok -->
<p>Received payload (excluding transport headers/trailers):</p>
<pre><code>0000 | 00 00 00 00 00 00 00 00 01 A8 EE 93 8E A3 5F 65
0010 | 9C 00 00 00 34 F7 CB 3B E4 69 51 99 0E 2C FC CA
0020 | C9 32 4D 1B 8C 8F 04 C9 A6 4C FF DC C6 39 1B 39
0030 | 96 EF 16 29 1A 89 8C 9F F4 1A A1 86 22 84 BE 73
0040 | F2 45 03 E2 1F 6C 24 BF</code></pre>
<pre><code>0000 | 00 00 00 00 00 00 00 00 01 98 7B 62 AB A9 5F 65
0010 | 44 00 00 00 34 F7 CB 3B 7A 44 83 F4 E1 2D 9C 01
0020 | 2A 39 CC C1 09 20 BD C3 94 D9 D0 DA D2 40 80 02
0030 | 4B 00 1A 91 59 09 1D E9 B3 FD F0 C5 E2 04 74 DE
0040 | 6A 15 7F C8 2E F9 58 9F</code></pre>
<p>Payload (de)serialization:</p>
<pre><code>dh_gen_ok#3bcbf734 nonce:int128 server_nonce:int128 new_nonce_hash1:int128 = Set_client_DH_params_answer;</code></pre>
<table class="table">
@ -817,13 +817,13 @@ encrypted_data := AES256_ige_encrypt (data_with_hash, tmp_aes_key, tmp_aes_iv);<
<tr>
<td>message_id</td>
<td>8, 8</td>
<td><code>01A8EE938EA35F65</code></td>
<td><code>01987B62ABA95F65</code></td>
<td>Message ID generated as specified <a href="/mtproto/description#message-identifier-msg-id">here »</a> (unixtime() &lt;&lt; 32) + (N*4)</td>
</tr>
<tr>
<td>message_length</td>
<td>16, 4</td>
<td><code>9C000000</code> (156 in decimal)</td>
<td><code>44000000</code> (68 in decimal)</td>
<td>Message body length</td>
</tr>
<tr>
@ -835,19 +835,19 @@ encrypted_data := AES256_ige_encrypt (data_with_hash, tmp_aes_key, tmp_aes_iv);<
<tr>
<td>nonce</td>
<td>24, 16</td>
<td><code>E46951990E2CFCCAC9324D1B8C8F04C9</code></td>
<td><code>7A4483F4E12D9C012A39CCC10920BDC3</code></td>
<td>Value generated by client in Step 1</td>
</tr>
<tr>
<td>server_nonce</td>
<td>40, 16</td>
<td><code>A64CFFDCC6391B3996EF16291A898C9F</code></td>
<td><code>94D9D0DAD24080024B001A9159091DE9</code></td>
<td>Value received from server in Step 2</td>
</tr>
<tr>
<td>new_nonce_hash1</td>
<td>56, 16</td>
<td><code>F41AA1862284BE73F24503E21F6C24BF</code></td>
<td><code>B3FDF0C5E20474DE6A157FC82EF9589F</code></td>
<td>The 128 lower-order bits of SHA1 of the byte string derived from the <code>new_nonce</code> string by adding a single byte with the value of 1, 2, or 3, and followed by another 8 bytes with <code>auth_key_aux_hash</code>. Different values are required to prevent an intruder from changing server response dh_gen_ok into dh_gen_retry.</td>
</tr>
</tbody>

View file

@ -1,134 +0,0 @@
<!DOCTYPE html>
<html class="">
<head>
<meta charset="utf-8">
<title>UserStories</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta property="description" content="Stories associated to a peer">
<meta property="og:title" content="UserStories">
<meta property="og:image" content="">
<meta property="og:description" content="Stories associated to a peer">
<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=""><a href="/api">API</a></li>
<li class=""><a href="/mtproto">Protocol</a></li>
<li class="active"><a href="/schema">Schema</a></li>
</ul>
</div>
</div>
</div>
<div class="container clearfix">
<div class="dev_page">
<div id="dev_page_content_wrap" class=" ">
<div class="dev_page_bread_crumbs"><ul class="breadcrumb clearfix"><li><a href="/api" >API</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/schema" >TL-schema</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/type/UserStories" >UserStories</a></li></ul></div>
<h1 id="dev_page_title">UserStories</h1>
<div id="dev_page_content"><p><a href="/api/stories">Stories</a> associated to a peer</p>
<p><div class="clearfix">
<ul class="dev_layer_select slightly-pull-right nav nav-pills">
<li class="dropdown">
<a class="dropdown-toggle" onclick="return dropdownClick(this, event)" href="#">Layer 164 <b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="?layer=1">1 &ndash; Base layer</a></li><li><a href="?layer=2">2 &ndash; New userpic notifications</a></li><li><a href="?layer=3">3 &ndash; Send message can trigger link change</a></li><li><a href="?layer=4">4 &ndash; Check-in chats</a></li><li><a href="?layer=5">5 &ndash; Localized SMS, localized notifications</a></li><li><a href="?layer=6">6 &ndash; Foursquare integration</a></li><li><a href="?layer=7">7 &ndash; Added wallPaperSolid</a></li><li><a href="?layer=8">8 &ndash; Added end-to-end encryption</a></li><li><a href="?layer=9">9 &ndash; Improved big files upload perfomance</a></li><li><a href="?layer=10">10 &ndash; Improved chat participants updates</a></li><li><a href="?layer=11">11 &ndash; Improved secret chats</a></li><li><a href="?layer=12">12 &ndash; New dynamic support</a></li><li><a href="?layer=13">13 &ndash; Audio, video MIME; contacts import retry; new secret actions</a></li><li><a href="?layer=14">14 &ndash; Notify settings sync, blacklist sync</a></li><li><a href="?layer=15">15 &ndash; Modified getHistory offset behaviour</a></li><li><a href="?layer=16">16 &ndash; Split sendCode into 2 parts</a></li><li><a href="?layer=17">17 &ndash; Added custom typing, introduced message flags</a></li><li><a href="?layer=18">18 &ndash; Added usernames</a></li><li><a href="?layer=23">23 &ndash; Stickers for secret chats</a></li><li><a href="?layer=105">105 &ndash; Scheduled messages, Cloud themes</a></li><li><a href="?layer=108">108 &ndash; Login with QR code</a></li><li><a href="?layer=109">109 &ndash; Polls v2</a></li><li><a href="?layer=110">110 &ndash; People Nearby 2.0, Bank card entity</a></li><li><a href="?layer=111">111 &ndash; Folders, Broadcast Stats</a></li><li><a href="?layer=112">112 &ndash; Old featured stickers, generic dice, poll timer, poll solution</a></li><li><a href="?layer=113">113 &ndash; PSA</a></li><li><a href="?layer=114">114 &ndash; Video thumbs for GIFs</a></li><li><a href="?layer=115">115 &ndash; Peek Channel Invite</a></li><li><a href="?layer=116">116 &ndash; Group Stats, Profile Videos</a></li><li><a href="?layer=117">117 &ndash; WebRTC Phone Calls</a></li><li><a href="?layer=118">118 &ndash; Callback with 2FA, Countries list</a></li><li><a href="?layer=119">119 &ndash; Comments in channels, Threads, Anonymous Admins</a></li><li><a href="?layer=120">120 &ndash; Multipins, Message Stats, GeoLive v2</a></li><li><a href="?layer=121">121 &ndash; SVG-based Outlines for Stickers</a></li><li><a href="?layer=122">122 &ndash; Voice Chats</a></li><li><a href="?layer=123">123 &ndash; Voice Chat improvements</a></li><li><a href="?layer=124">124 &ndash; Expiring Invite links</a></li><li><a href="?layer=125">125 &ndash; Voice Chats in Broadcasts</a></li><li><a href="?layer=126">126 &ndash; Ban channels in channels</a></li><li><a href="?layer=127">127 &ndash; Payments in channels</a></li><li><a href="?layer=128">128 &ndash; Microthumbs for User/Chat profile photos</a></li><li><a href="?layer=129">129 &ndash; Video Chats</a></li><li><a href="?layer=130">130 &ndash; Custom placeholder for bot reply keyboards</a></li><li><a href="?layer=131">131 &ndash; Reset 2FA Password after a week</a></li><li><a href="?layer=132">132 &ndash; Chat themes</a></li><li><a href="?layer=133">133 &ndash; 64-bit IDs for User/Chat</a></li><li><a href="?layer=134">134 &ndash; Chat Requests, Shared Media Calendar</a></li><li><a href="?layer=135">135 &ndash; Send Message As a Channel</a></li><li><a href="?layer=136">136 &ndash; Reactions</a></li><li><a href="?layer=137">137 &ndash; Translations</a></li><li><a href="?layer=138">138 &ndash; GIF Sticker Packs</a></li><li><a href="?layer=139">139 &ndash; RTMP streaming</a></li><li><a href="?layer=140">140 &ndash; WebApps, Cloud Ringtones</a></li><li><a href="?layer=142">142 &ndash; TCP Reflectors</a></li><li><a href="?layer=143">143 &ndash; Premium Subscription, Cloud Invoices</a></li><li><a href="?layer=144">144 &ndash; Premium as a Gift, Custom Emoji</a></li><li><a href="?layer=145">145 &ndash; Custom Reactions, Statuses, Sign In with email</a></li><li><a href="?layer=147">147 &ndash; Keywords for stickers and emojis</a></li><li><a href="?layer=148">148 &ndash; Forums, collectible usernames</a></li><li><a href="?layer=150">150 &ndash; Pinned forum topics, general topic</a></li><li><a href="?layer=151">151 &ndash; Media spoilers, suggested profile photos</a></li><li><a href="?layer=152">152 &ndash; Real-time translations, Firebase SMS authentication</a></li><li><a href="?layer=153">153 &ndash; Modify created stickersets</a></li><li><a href="?layer=155">155 &ndash; Dates for reactions</a></li><li><a href="?layer=158">158 &ndash; Shared folders, per-chat wallpapers</a></li><li><a href="?layer=159">159 &ndash; Anonymous votes</a></li><li><a href="?layer=160">160 &ndash; Stories</a></li><li><a href="?layer=164"><strong>164 &ndash; Stories in channels</strong></a></li>
<li class="divider"></li>
<li><a href="/api/layers">More...</a></li>
</ul>
</li>
</ul>
</div>
<pre class="page_scheme"><code></code></pre></p>
<h3><a class="anchor" href="#related-pages" id="related-pages" name="related-pages"><i class="anchor-icon"></i></a>Related pages</h3>
<h4><a class="anchor" href="#stories" id="stories" name="stories"><i class="anchor-icon"></i></a><a href="/api/stories">Stories</a></h4>
<p>Telegram users and channels can easily post and view stories through the API.</p></div>
</div>
</div>
</div>
<div class="footer_wrap">
<div class="footer_columns_wrap footer_desktop">
<div class="footer_column footer_column_telegram">
<h5>Telegram</h5>
<div class="footer_telegram_description"></div>
Telegram is a cloud-based mobile and desktop messaging app with a focus on security and speed.
</div>
<div class="footer_column">
<h5><a href="//telegram.org/faq">About</a></h5>
<ul>
<li><a href="//telegram.org/faq">FAQ</a></li>
<li><a href="//telegram.org/privacy">Privacy</a></li>
<li><a href="//telegram.org/press">Press</a></li>
</ul>
</div>
<div class="footer_column">
<h5><a href="//telegram.org/apps#mobile-apps">Mobile Apps</a></h5>
<ul>
<li><a href="//telegram.org/dl/ios">iPhone/iPad</a></li>
<li><a href="//telegram.org/android">Android</a></li>
<li><a href="//telegram.org/dl/web">Mobile Web</a></li>
</ul>
</div>
<div class="footer_column">
<h5><a href="//telegram.org/apps#desktop-apps">Desktop Apps</a></h5>
<ul>
<li><a href="//desktop.telegram.org/">PC/Mac/Linux</a></li>
<li><a href="//macos.telegram.org/">macOS</a></li>
<li><a href="//telegram.org/dl/web">Web-browser</a></li>
</ul>
</div>
<div class="footer_column footer_column_platform">
<h5><a href="//core.telegram.org/">Platform</a></h5>
<ul>
<li><a href="//core.telegram.org/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="//core.telegram.org/">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>backToTopInit("Go up");
removePreloadInit();
</script>
</body>
</html>

View file

@ -1,134 +0,0 @@
<!DOCTYPE html>
<html class="">
<head>
<meta charset="utf-8">
<title>stories.UserStories</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta property="description" content="Active story list of a specific peer.">
<meta property="og:title" content="stories.UserStories">
<meta property="og:image" content="">
<meta property="og:description" content="Active story list of a specific peer.">
<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=""><a href="/api">API</a></li>
<li class=""><a href="/mtproto">Protocol</a></li>
<li class="active"><a href="/schema">Schema</a></li>
</ul>
</div>
</div>
</div>
<div class="container clearfix">
<div class="dev_page">
<div id="dev_page_content_wrap" class=" ">
<div class="dev_page_bread_crumbs"><ul class="breadcrumb clearfix"><li><a href="/api" >API</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/schema" >TL-schema</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/type/stories.UserStories" >stories.UserStories</a></li></ul></div>
<h1 id="dev_page_title">stories.UserStories</h1>
<div id="dev_page_content"><p><a href="/api/stories#watching-stories">Active story list</a> of a specific peer.</p>
<p><div class="clearfix">
<ul class="dev_layer_select slightly-pull-right nav nav-pills">
<li class="dropdown">
<a class="dropdown-toggle" onclick="return dropdownClick(this, event)" href="#">Layer 164 <b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="?layer=1">1 &ndash; Base layer</a></li><li><a href="?layer=2">2 &ndash; New userpic notifications</a></li><li><a href="?layer=3">3 &ndash; Send message can trigger link change</a></li><li><a href="?layer=4">4 &ndash; Check-in chats</a></li><li><a href="?layer=5">5 &ndash; Localized SMS, localized notifications</a></li><li><a href="?layer=6">6 &ndash; Foursquare integration</a></li><li><a href="?layer=7">7 &ndash; Added wallPaperSolid</a></li><li><a href="?layer=8">8 &ndash; Added end-to-end encryption</a></li><li><a href="?layer=9">9 &ndash; Improved big files upload perfomance</a></li><li><a href="?layer=10">10 &ndash; Improved chat participants updates</a></li><li><a href="?layer=11">11 &ndash; Improved secret chats</a></li><li><a href="?layer=12">12 &ndash; New dynamic support</a></li><li><a href="?layer=13">13 &ndash; Audio, video MIME; contacts import retry; new secret actions</a></li><li><a href="?layer=14">14 &ndash; Notify settings sync, blacklist sync</a></li><li><a href="?layer=15">15 &ndash; Modified getHistory offset behaviour</a></li><li><a href="?layer=16">16 &ndash; Split sendCode into 2 parts</a></li><li><a href="?layer=17">17 &ndash; Added custom typing, introduced message flags</a></li><li><a href="?layer=18">18 &ndash; Added usernames</a></li><li><a href="?layer=23">23 &ndash; Stickers for secret chats</a></li><li><a href="?layer=105">105 &ndash; Scheduled messages, Cloud themes</a></li><li><a href="?layer=108">108 &ndash; Login with QR code</a></li><li><a href="?layer=109">109 &ndash; Polls v2</a></li><li><a href="?layer=110">110 &ndash; People Nearby 2.0, Bank card entity</a></li><li><a href="?layer=111">111 &ndash; Folders, Broadcast Stats</a></li><li><a href="?layer=112">112 &ndash; Old featured stickers, generic dice, poll timer, poll solution</a></li><li><a href="?layer=113">113 &ndash; PSA</a></li><li><a href="?layer=114">114 &ndash; Video thumbs for GIFs</a></li><li><a href="?layer=115">115 &ndash; Peek Channel Invite</a></li><li><a href="?layer=116">116 &ndash; Group Stats, Profile Videos</a></li><li><a href="?layer=117">117 &ndash; WebRTC Phone Calls</a></li><li><a href="?layer=118">118 &ndash; Callback with 2FA, Countries list</a></li><li><a href="?layer=119">119 &ndash; Comments in channels, Threads, Anonymous Admins</a></li><li><a href="?layer=120">120 &ndash; Multipins, Message Stats, GeoLive v2</a></li><li><a href="?layer=121">121 &ndash; SVG-based Outlines for Stickers</a></li><li><a href="?layer=122">122 &ndash; Voice Chats</a></li><li><a href="?layer=123">123 &ndash; Voice Chat improvements</a></li><li><a href="?layer=124">124 &ndash; Expiring Invite links</a></li><li><a href="?layer=125">125 &ndash; Voice Chats in Broadcasts</a></li><li><a href="?layer=126">126 &ndash; Ban channels in channels</a></li><li><a href="?layer=127">127 &ndash; Payments in channels</a></li><li><a href="?layer=128">128 &ndash; Microthumbs for User/Chat profile photos</a></li><li><a href="?layer=129">129 &ndash; Video Chats</a></li><li><a href="?layer=130">130 &ndash; Custom placeholder for bot reply keyboards</a></li><li><a href="?layer=131">131 &ndash; Reset 2FA Password after a week</a></li><li><a href="?layer=132">132 &ndash; Chat themes</a></li><li><a href="?layer=133">133 &ndash; 64-bit IDs for User/Chat</a></li><li><a href="?layer=134">134 &ndash; Chat Requests, Shared Media Calendar</a></li><li><a href="?layer=135">135 &ndash; Send Message As a Channel</a></li><li><a href="?layer=136">136 &ndash; Reactions</a></li><li><a href="?layer=137">137 &ndash; Translations</a></li><li><a href="?layer=138">138 &ndash; GIF Sticker Packs</a></li><li><a href="?layer=139">139 &ndash; RTMP streaming</a></li><li><a href="?layer=140">140 &ndash; WebApps, Cloud Ringtones</a></li><li><a href="?layer=142">142 &ndash; TCP Reflectors</a></li><li><a href="?layer=143">143 &ndash; Premium Subscription, Cloud Invoices</a></li><li><a href="?layer=144">144 &ndash; Premium as a Gift, Custom Emoji</a></li><li><a href="?layer=145">145 &ndash; Custom Reactions, Statuses, Sign In with email</a></li><li><a href="?layer=147">147 &ndash; Keywords for stickers and emojis</a></li><li><a href="?layer=148">148 &ndash; Forums, collectible usernames</a></li><li><a href="?layer=150">150 &ndash; Pinned forum topics, general topic</a></li><li><a href="?layer=151">151 &ndash; Media spoilers, suggested profile photos</a></li><li><a href="?layer=152">152 &ndash; Real-time translations, Firebase SMS authentication</a></li><li><a href="?layer=153">153 &ndash; Modify created stickersets</a></li><li><a href="?layer=155">155 &ndash; Dates for reactions</a></li><li><a href="?layer=158">158 &ndash; Shared folders, per-chat wallpapers</a></li><li><a href="?layer=159">159 &ndash; Anonymous votes</a></li><li><a href="?layer=160">160 &ndash; Stories</a></li><li><a href="?layer=164"><strong>164 &ndash; Stories in channels</strong></a></li>
<li class="divider"></li>
<li><a href="/api/layers">More...</a></li>
</ul>
</li>
</ul>
</div>
<pre class="page_scheme"><code></code></pre></p>
<h3><a class="anchor" href="#related-pages" id="related-pages" name="related-pages"><i class="anchor-icon"></i></a>Related pages</h3>
<h4><a class="anchor" href="#stories" id="stories" name="stories"><i class="anchor-icon"></i></a><a href="/api/stories">Stories</a></h4>
<p>Telegram users and channels can easily post and view stories through the API.</p></div>
</div>
</div>
</div>
<div class="footer_wrap">
<div class="footer_columns_wrap footer_desktop">
<div class="footer_column footer_column_telegram">
<h5>Telegram</h5>
<div class="footer_telegram_description"></div>
Telegram is a cloud-based mobile and desktop messaging app with a focus on security and speed.
</div>
<div class="footer_column">
<h5><a href="//telegram.org/faq">About</a></h5>
<ul>
<li><a href="//telegram.org/faq">FAQ</a></li>
<li><a href="//telegram.org/privacy">Privacy</a></li>
<li><a href="//telegram.org/press">Press</a></li>
</ul>
</div>
<div class="footer_column">
<h5><a href="//telegram.org/apps#mobile-apps">Mobile Apps</a></h5>
<ul>
<li><a href="//telegram.org/dl/ios">iPhone/iPad</a></li>
<li><a href="//telegram.org/android">Android</a></li>
<li><a href="//telegram.org/dl/web">Mobile Web</a></li>
</ul>
</div>
<div class="footer_column">
<h5><a href="//telegram.org/apps#desktop-apps">Desktop Apps</a></h5>
<ul>
<li><a href="//desktop.telegram.org/">PC/Mac/Linux</a></li>
<li><a href="//macos.telegram.org/">macOS</a></li>
<li><a href="//telegram.org/dl/web">Web-browser</a></li>
</ul>
</div>
<div class="footer_column footer_column_platform">
<h5><a href="//core.telegram.org/">Platform</a></h5>
<ul>
<li><a href="//core.telegram.org/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="//core.telegram.org/">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>backToTopInit("Go up");
removePreloadInit();
</script>
</body>
</html>