Update content of files

This commit is contained in:
GitHub Action 2024-07-05 18:36:06 +00:00
parent db5fb1b47d
commit 3aa262d129
24 changed files with 327 additions and 486 deletions

View file

@ -296,8 +296,8 @@
<li>Added <a href="/constructor/fragment.collectibleInfo">fragment.collectibleInfo</a> - </li> <li>Added <a href="/constructor/fragment.collectibleInfo">fragment.collectibleInfo</a> - </li>
<li>Added <a href="/constructor/inputBusinessBotRecipients">inputBusinessBotRecipients</a> - Specifies the private chats that a <a href="/api/business#connected-bots">connected business bot »</a> may interact with.</li> <li>Added <a href="/constructor/inputBusinessBotRecipients">inputBusinessBotRecipients</a> - Specifies the private chats that a <a href="/api/business#connected-bots">connected business bot »</a> may interact with.</li>
<li>Added <a href="/constructor/businessBotRecipients">businessBotRecipients</a> - Specifies the private chats that a <a href="/api/business#connected-bots">connected business bot »</a> may receive messages and interact with.</li> <li>Added <a href="/constructor/businessBotRecipients">businessBotRecipients</a> - Specifies the private chats that a <a href="/api/business#connected-bots">connected business bot »</a> may receive messages and interact with.</li>
<li>Added <a href="/constructor/contactBirthday">contactBirthday</a> - </li> <li>Added <a href="/constructor/contactBirthday">contactBirthday</a> - Birthday information of a contact.</li>
<li>Added <a href="/constructor/contacts.contactBirthdays">contacts.contactBirthdays</a> - </li> <li>Added <a href="/constructor/contacts.contactBirthdays">contacts.contactBirthdays</a> - Birthday information of our contacts.</li>
<li>Added <a href="/constructor/inputPrivacyKeyBirthday">inputPrivacyKeyBirthday</a> - </li> <li>Added <a href="/constructor/inputPrivacyKeyBirthday">inputPrivacyKeyBirthday</a> - </li>
<li>Added <a href="/constructor/privacyKeyBirthday">privacyKeyBirthday</a> - </li> <li>Added <a href="/constructor/privacyKeyBirthday">privacyKeyBirthday</a> - </li>
<li>Added <a href="/constructor/inputPrivacyValueAllowPremium">inputPrivacyValueAllowPremium</a> - </li> <li>Added <a href="/constructor/inputPrivacyValueAllowPremium">inputPrivacyValueAllowPremium</a> - </li>
@ -465,7 +465,7 @@
<li>Added <a href="/constructor/smsJob">smsJob</a> - </li> <li>Added <a href="/constructor/smsJob">smsJob</a> - </li>
<li>Added <a href="/constructor/businessWeeklyOpen">businessWeeklyOpen</a> - A time interval, indicating the opening hours of a business.</li> <li>Added <a href="/constructor/businessWeeklyOpen">businessWeeklyOpen</a> - A time interval, indicating the opening hours of a business.</li>
<li>Added <a href="/constructor/businessWorkHours">businessWorkHours</a> - Specifies a set of <a href="/api/business#opening-hours">Telegram Business opening hours</a>.</li> <li>Added <a href="/constructor/businessWorkHours">businessWorkHours</a> - Specifies a set of <a href="/api/business#opening-hours">Telegram Business opening hours</a>.</li>
<li>Added <a href="/constructor/businessLocation">businessLocation</a> - </li> <li>Added <a href="/constructor/businessLocation">businessLocation</a> - Represents the location of a <a href="/api/business#location">Telegram Business »</a>.</li>
<li>Added <a href="/constructor/inputBusinessRecipients">inputBusinessRecipients</a> - Specifies the chats that <strong>can</strong> receive Telegram Business <a href="/api/business#away-message">away »</a> and <a href="/api/business#greeting-message">greeting »</a> messages.</li> <li>Added <a href="/constructor/inputBusinessRecipients">inputBusinessRecipients</a> - Specifies the chats that <strong>can</strong> receive Telegram Business <a href="/api/business#away-message">away »</a> and <a href="/api/business#greeting-message">greeting »</a> messages.</li>
<li>Added <a href="/constructor/businessRecipients">businessRecipients</a> - Specifies the chats that <strong>can</strong> receive Telegram Business <a href="/api/business#away-message">away »</a> and <a href="/api/business#greeting-message">greeting »</a> messages.</li> <li>Added <a href="/constructor/businessRecipients">businessRecipients</a> - Specifies the chats that <strong>can</strong> receive Telegram Business <a href="/api/business#away-message">away »</a> and <a href="/api/business#greeting-message">greeting »</a> messages.</li>
<li>Added <a href="/constructor/businessAwayMessageScheduleAlways">businessAwayMessageScheduleAlways</a> - Always send <a href="/api/business#away-messages">Telegram Business away messages</a> to users writing to us in private.</li> <li>Added <a href="/constructor/businessAwayMessageScheduleAlways">businessAwayMessageScheduleAlways</a> - Always send <a href="/api/business#away-messages">Telegram Business away messages</a> to users writing to us in private.</li>
@ -476,11 +476,11 @@
<li>Added <a href="/constructor/inputBusinessAwayMessage">inputBusinessAwayMessage</a> - Describes a <a href="/api/business#away-messages">Telegram Business away message</a>, automatically sent to users writing to us when we're offline, during closing hours, while we're on vacation, or in some other custom time period when we cannot immediately answer to the user.</li> <li>Added <a href="/constructor/inputBusinessAwayMessage">inputBusinessAwayMessage</a> - Describes a <a href="/api/business#away-messages">Telegram Business away message</a>, automatically sent to users writing to us when we're offline, during closing hours, while we're on vacation, or in some other custom time period when we cannot immediately answer to the user.</li>
<li>Added <a href="/constructor/businessAwayMessage">businessAwayMessage</a> - Describes a <a href="/api/business#away-messages">Telegram Business away message</a>, automatically sent to users writing to us when we're offline, during closing hours, while we're on vacation, or in some other custom time period when we cannot immediately answer to the user.</li> <li>Added <a href="/constructor/businessAwayMessage">businessAwayMessage</a> - Describes a <a href="/api/business#away-messages">Telegram Business away message</a>, automatically sent to users writing to us when we're offline, during closing hours, while we're on vacation, or in some other custom time period when we cannot immediately answer to the user.</li>
<li>Added <a href="/constructor/timezone">timezone</a> - </li> <li>Added <a href="/constructor/timezone">timezone</a> - </li>
<li>Added <a href="/constructor/help.timezonesListNotModified">help.timezonesListNotModified</a> - </li> <li>Added <a href="/constructor/help.timezonesListNotModified">help.timezonesListNotModified</a> - The timezone list has not changed.</li>
<li>Added <a href="/constructor/help.timezonesList">help.timezonesList</a> - </li> <li>Added <a href="/constructor/help.timezonesList">help.timezonesList</a> - Timezone information that may be used elsewhere in the API, such as to set <a href="/api/business#opening-hours">Telegram Business opening hours »</a>.</li>
<li>Added <a href="/constructor/quickReply">quickReply</a> - </li> <li>Added <a href="/constructor/quickReply">quickReply</a> - </li>
<li>Added <a href="/constructor/inputQuickReplyShortcut">inputQuickReplyShortcut</a> - </li> <li>Added <a href="/constructor/inputQuickReplyShortcut">inputQuickReplyShortcut</a> - Selects a <a href="/api/business#quick-reply-shortcut">quick reply shortcut</a> by name.</li>
<li>Added <a href="/constructor/inputQuickReplyShortcutId">inputQuickReplyShortcutId</a> - </li> <li>Added <a href="/constructor/inputQuickReplyShortcutId">inputQuickReplyShortcutId</a> - Selects a <a href="/api/business#quick-reply-shortcut">quick reply shortcut</a> by its numeric ID.</li>
<li>Added <a href="/constructor/messages.quickReplies">messages.quickReplies</a> - </li> <li>Added <a href="/constructor/messages.quickReplies">messages.quickReplies</a> - </li>
<li>Added <a href="/constructor/messages.quickRepliesNotModified">messages.quickRepliesNotModified</a> - </li> <li>Added <a href="/constructor/messages.quickRepliesNotModified">messages.quickRepliesNotModified</a> - </li>
<li>Added <a href="/constructor/updateQuickReplies">updateQuickReplies</a> - </li> <li>Added <a href="/constructor/updateQuickReplies">updateQuickReplies</a> - </li>
@ -488,7 +488,7 @@
<li>Added <a href="/constructor/updateDeleteQuickReply">updateDeleteQuickReply</a> - </li> <li>Added <a href="/constructor/updateDeleteQuickReply">updateDeleteQuickReply</a> - </li>
<li>Added <a href="/constructor/updateQuickReplyMessage">updateQuickReplyMessage</a> - </li> <li>Added <a href="/constructor/updateQuickReplyMessage">updateQuickReplyMessage</a> - </li>
<li>Added <a href="/constructor/updateDeleteQuickReplyMessages">updateDeleteQuickReplyMessages</a> - </li> <li>Added <a href="/constructor/updateDeleteQuickReplyMessages">updateDeleteQuickReplyMessages</a> - </li>
<li>Added <a href="/constructor/connectedBot">connectedBot</a> - </li> <li>Added <a href="/constructor/connectedBot">connectedBot</a> - Contains info about a <a href="/api/business#connected-bots">connected business bot »</a>.</li>
<li>Added <a href="/constructor/account.connectedBots">account.connectedBots</a> - Info about currently connected <a href="/api/business#connected-bots">business bots</a>.</li> <li>Added <a href="/constructor/account.connectedBots">account.connectedBots</a> - Info about currently connected <a href="/api/business#connected-bots">business bots</a>.</li>
<li>Added <a href="/constructor/messages.dialogFilters">messages.dialogFilters</a> - </li> <li>Added <a href="/constructor/messages.dialogFilters">messages.dialogFilters</a> - </li>
</ul> </ul>
@ -585,7 +585,7 @@
<ul> <ul>
<li>Added <a href="/constructor/outboxReadDate">outboxReadDate</a> - </li> <li>Added <a href="/constructor/outboxReadDate">outboxReadDate</a> - </li>
<li>Added <a href="/constructor/messageActionBoostApply">messageActionBoostApply</a> - </li> <li>Added <a href="/constructor/messageActionBoostApply">messageActionBoostApply</a> - </li>
<li>Added <a href="/constructor/channelAdminLogEventActionChangeEmojiStickerSet">channelAdminLogEventActionChangeEmojiStickerSet</a> - </li> <li>Added <a href="/constructor/channelAdminLogEventActionChangeEmojiStickerSet">channelAdminLogEventActionChangeEmojiStickerSet</a> - The supergroup's <a href="/api/boost#setting-a-custom-emoji-stickerset-for-supergroups">custom emoji stickerset</a> was changed.</li>
</ul> </ul>
<h5><a class="anchor" href="#changed-constructors" id="changed-constructors" name="changed-constructors"><i class="anchor-icon"></i></a>Changed Constructors</h5> <h5><a class="anchor" href="#changed-constructors" id="changed-constructors" name="changed-constructors"><i class="anchor-icon"></i></a>Changed Constructors</h5>
<ul> <ul>

View file

@ -4,34 +4,10 @@
<meta charset="utf-8"> <meta charset="utf-8">
<title>businessLocation</title> <title>businessLocation</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta property="description" content="Parameters <meta property="description" content="Represents the location of a Telegram Business ».">
Name
Type
Description
flags
#
Flags, see TL conditional fields
geo_point
flags.0?GeoPoint
 
address
string
 …">
<meta property="og:title" content="businessLocation"> <meta property="og:title" content="businessLocation">
<meta property="og:image" content=""> <meta property="og:image" content="">
<meta property="og:description" content="Parameters <meta property="og:description" content="Represents the location of a Telegram Business ».">
Name
Type
Description
flags
#
Flags, see TL conditional fields
geo_point
flags.0?GeoPoint
 
address
string
 …">
<link rel="icon" type="image/svg+xml" href="/img/website_icon.svg?4"> <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="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="32x32" href="/img/favicon-32x32.png">
@ -66,7 +42,8 @@ string
<div class="dev_page_bread_crumbs"><ul class="breadcrumb clearfix"><li><a href="/api" >API</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/schema" >TL-schema</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/constructor/businessLocation" >businessLocation</a></li></ul></div> <div class="dev_page_bread_crumbs"><ul class="breadcrumb clearfix"><li><a href="/api" >API</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/schema" >TL-schema</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/constructor/businessLocation" >businessLocation</a></li></ul></div>
<h1 id="dev_page_title">businessLocation</h1> <h1 id="dev_page_title">businessLocation</h1>
<div id="dev_page_content"><p><div class="clearfix"> <div id="dev_page_content"><p>Represents the location of a <a href="/api/business#location">Telegram Business »</a>.</p>
<p><div class="clearfix">
<ul class="dev_layer_select slightly-pull-right nav nav-pills"> <ul class="dev_layer_select slightly-pull-right nav nav-pills">
<li class="dropdown"> <li class="dropdown">
<a class="dropdown-toggle" onclick="return dropdownClick(this, event)" href="#">Layer 181 <b class="caret"></b></a> <a class="dropdown-toggle" onclick="return dropdownClick(this, event)" href="#">Layer 181 <b class="caret"></b></a>
@ -97,17 +74,20 @@ string
<tr> <tr>
<td><strong>geo_point</strong></td> <td><strong>geo_point</strong></td>
<td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/GeoPoint">GeoPoint</a></td> <td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/type/GeoPoint">GeoPoint</a></td>
<td> </td> <td>Geographical coordinates (optional).</td>
</tr> </tr>
<tr> <tr>
<td><strong>address</strong></td> <td><strong>address</strong></td>
<td style="text-align: center;"><a href="/type/string">string</a></td> <td style="text-align: center;"><a href="/type/string">string</a></td>
<td> </td> <td>Textual description of the address (mandatory).</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
<h3><a class="anchor" href="#type" id="type" name="type"><i class="anchor-icon"></i></a>Type</h3> <h3><a class="anchor" href="#type" id="type" name="type"><i class="anchor-icon"></i></a>Type</h3>
<p><a href="/type/BusinessLocation">BusinessLocation</a></p></div> <p><a href="/type/BusinessLocation">BusinessLocation</a></p>
<h3><a class="anchor" href="#related-pages" id="related-pages" name="related-pages"><i class="anchor-icon"></i></a>Related pages</h3>
<h4><a class="anchor" href="#business" id="business" name="business"><i class="anchor-icon"></i></a><a href="/api/business">Business</a></h4>
<p>Users can turn their Telegram account into a business account, gaining access to business features such as opening hours, location, quick replies, automated messages, custom start page, chatbot support, and more.</p></div>
</div> </div>

View file

@ -4,32 +4,10 @@
<meta charset="utf-8"> <meta charset="utf-8">
<title>channelAdminLogEventActionChangeEmojiStickerSet</title> <title>channelAdminLogEventActionChangeEmojiStickerSet</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta property="description" content="Parameters <meta property="description" content="The supergroup&#39;s custom emoji stickerset was changed.">
Name
Type
Description
prev_stickerset
InputStickerSet
 
new_stickerset
InputStickerSet
 
Type
ChannelAdminLogEventAction">
<meta property="og:title" content="channelAdminLogEventActionChangeEmojiStickerSet"> <meta property="og:title" content="channelAdminLogEventActionChangeEmojiStickerSet">
<meta property="og:image" content=""> <meta property="og:image" content="">
<meta property="og:description" content="Parameters <meta property="og:description" content="The supergroup&#39;s custom emoji stickerset was changed.">
Name
Type
Description
prev_stickerset
InputStickerSet
 
new_stickerset
InputStickerSet
 
Type
ChannelAdminLogEventAction">
<link rel="icon" type="image/svg+xml" href="/img/website_icon.svg?4"> <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="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="32x32" href="/img/favicon-32x32.png">
@ -64,7 +42,8 @@ ChannelAdminLogEventAction">
<div class="dev_page_bread_crumbs"><ul class="breadcrumb clearfix"><li><a href="/api" >API</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/schema" >TL-schema</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/constructor/channelAdminLogEventActionChangeEmojiStickerSet" >channelAdminLogEventActionChangeEmojiStickerSet</a></li></ul></div> <div class="dev_page_bread_crumbs"><ul class="breadcrumb clearfix"><li><a href="/api" >API</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/schema" >TL-schema</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/constructor/channelAdminLogEventActionChangeEmojiStickerSet" >channelAdminLogEventActionChangeEmojiStickerSet</a></li></ul></div>
<h1 id="dev_page_title">channelAdminLogEventActionChangeEmojiStickerSet</h1> <h1 id="dev_page_title">channelAdminLogEventActionChangeEmojiStickerSet</h1>
<div id="dev_page_content"><p><div class="clearfix"> <div id="dev_page_content"><p>The supergroup's <a href="/api/boost#setting-a-custom-emoji-stickerset-for-supergroups">custom emoji stickerset</a> was changed.</p>
<p><div class="clearfix">
<ul class="dev_layer_select slightly-pull-right nav nav-pills"> <ul class="dev_layer_select slightly-pull-right nav nav-pills">
<li class="dropdown"> <li class="dropdown">
<a class="dropdown-toggle" onclick="return dropdownClick(this, event)" href="#">Layer 181 <b class="caret"></b></a> <a class="dropdown-toggle" onclick="return dropdownClick(this, event)" href="#">Layer 181 <b class="caret"></b></a>
@ -90,17 +69,20 @@ ChannelAdminLogEventAction">
<tr> <tr>
<td><strong>prev_stickerset</strong></td> <td><strong>prev_stickerset</strong></td>
<td style="text-align: center;"><a href="/type/InputStickerSet">InputStickerSet</a></td> <td style="text-align: center;"><a href="/type/InputStickerSet">InputStickerSet</a></td>
<td> </td> <td>Old value</td>
</tr> </tr>
<tr> <tr>
<td><strong>new_stickerset</strong></td> <td><strong>new_stickerset</strong></td>
<td style="text-align: center;"><a href="/type/InputStickerSet">InputStickerSet</a></td> <td style="text-align: center;"><a href="/type/InputStickerSet">InputStickerSet</a></td>
<td> </td> <td>New value</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
<h3><a class="anchor" href="#type" id="type" name="type"><i class="anchor-icon"></i></a>Type</h3> <h3><a class="anchor" href="#type" id="type" name="type"><i class="anchor-icon"></i></a>Type</h3>
<p><a href="/type/ChannelAdminLogEventAction">ChannelAdminLogEventAction</a></p></div> <p><a href="/type/ChannelAdminLogEventAction">ChannelAdminLogEventAction</a></p>
<h3><a class="anchor" href="#related-pages" id="related-pages" name="related-pages"><i class="anchor-icon"></i></a>Related pages</h3>
<h4><a class="anchor" href="#channel-and-supergroup-boosts" id="channel-and-supergroup-boosts" name="channel-and-supergroup-boosts"><i class="anchor-icon"></i></a><a href="/api/boost">Channel and supergroup boosts</a></h4>
<p>Telegram Premium users can grant their favorite channels and supergroups additional features like the ability to post stories by giving them boosts.</p></div>
</div> </div>

View file

@ -4,36 +4,10 @@
<meta charset="utf-8"> <meta charset="utf-8">
<title>connectedBot</title> <title>connectedBot</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta property="description" content="Parameters <meta property="description" content="Contains info about a connected business bot ».">
Name
Type
Description
flags
#
Flags, see TL conditional fields
can_reply
flags.0?true
 
bot_id
long
 
recipients…">
<meta property="og:title" content="connectedBot"> <meta property="og:title" content="connectedBot">
<meta property="og:image" content=""> <meta property="og:image" content="">
<meta property="og:description" content="Parameters <meta property="og:description" content="Contains info about a connected business bot ».">
Name
Type
Description
flags
#
Flags, see TL conditional fields
can_reply
flags.0?true
 
bot_id
long
 
recipients…">
<link rel="icon" type="image/svg+xml" href="/img/website_icon.svg?4"> <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="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="32x32" href="/img/favicon-32x32.png">
@ -68,7 +42,8 @@ recipients…">
<div class="dev_page_bread_crumbs"><ul class="breadcrumb clearfix"><li><a href="/api" >API</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/schema" >TL-schema</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/constructor/connectedBot" >connectedBot</a></li></ul></div> <div class="dev_page_bread_crumbs"><ul class="breadcrumb clearfix"><li><a href="/api" >API</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/schema" >TL-schema</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/constructor/connectedBot" >connectedBot</a></li></ul></div>
<h1 id="dev_page_title">connectedBot</h1> <h1 id="dev_page_title">connectedBot</h1>
<div id="dev_page_content"><p><div class="clearfix"> <div id="dev_page_content"><p>Contains info about a <a href="/api/business#connected-bots">connected business bot »</a>.</p>
<p><div class="clearfix">
<ul class="dev_layer_select slightly-pull-right nav nav-pills"> <ul class="dev_layer_select slightly-pull-right nav nav-pills">
<li class="dropdown"> <li class="dropdown">
<a class="dropdown-toggle" onclick="return dropdownClick(this, event)" href="#">Layer 181 <b class="caret"></b></a> <a class="dropdown-toggle" onclick="return dropdownClick(this, event)" href="#">Layer 181 <b class="caret"></b></a>
@ -99,22 +74,25 @@ recipients…">
<tr> <tr>
<td><strong>can_reply</strong></td> <td><strong>can_reply</strong></td>
<td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a></td> <td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a></td>
<td> </td> <td>Whether the the bot can reply to messages it receives through the connection</td>
</tr> </tr>
<tr> <tr>
<td><strong>bot_id</strong></td> <td><strong>bot_id</strong></td>
<td style="text-align: center;"><a href="/type/long">long</a></td> <td style="text-align: center;"><a href="/type/long">long</a></td>
<td> </td> <td>ID of the connected bot</td>
</tr> </tr>
<tr> <tr>
<td><strong>recipients</strong></td> <td><strong>recipients</strong></td>
<td style="text-align: center;"><a href="/type/BusinessBotRecipients">BusinessBotRecipients</a></td> <td style="text-align: center;"><a href="/type/BusinessBotRecipients">BusinessBotRecipients</a></td>
<td> </td> <td>Specifies the private chats that a <a href="/api/business#connected-bots">connected business bot »</a> may receive messages and interact with.<br></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
<h3><a class="anchor" href="#type" id="type" name="type"><i class="anchor-icon"></i></a>Type</h3> <h3><a class="anchor" href="#type" id="type" name="type"><i class="anchor-icon"></i></a>Type</h3>
<p><a href="/type/ConnectedBot">ConnectedBot</a></p></div> <p><a href="/type/ConnectedBot">ConnectedBot</a></p>
<h3><a class="anchor" href="#related-pages" id="related-pages" name="related-pages"><i class="anchor-icon"></i></a>Related pages</h3>
<h4><a class="anchor" href="#business" id="business" name="business"><i class="anchor-icon"></i></a><a href="/api/business">Business</a></h4>
<p>Users can turn their Telegram account into a business account, gaining access to business features such as opening hours, location, quick replies, automated messages, custom start page, chatbot support, and more.</p></div>
</div> </div>

View file

@ -4,32 +4,10 @@
<meta charset="utf-8"> <meta charset="utf-8">
<title>contactBirthday</title> <title>contactBirthday</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta property="description" content="Parameters <meta property="description" content="Birthday information of a contact.">
Name
Type
Description
contact_id
long
 
birthday
Birthday
 
Type
ContactBirthday">
<meta property="og:title" content="contactBirthday"> <meta property="og:title" content="contactBirthday">
<meta property="og:image" content=""> <meta property="og:image" content="">
<meta property="og:description" content="Parameters <meta property="og:description" content="Birthday information of a contact.">
Name
Type
Description
contact_id
long
 
birthday
Birthday
 
Type
ContactBirthday">
<link rel="icon" type="image/svg+xml" href="/img/website_icon.svg?4"> <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="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="32x32" href="/img/favicon-32x32.png">
@ -64,7 +42,8 @@ ContactBirthday">
<div class="dev_page_bread_crumbs"><ul class="breadcrumb clearfix"><li><a href="/api" >API</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/schema" >TL-schema</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/constructor/contactBirthday" >contactBirthday</a></li></ul></div> <div class="dev_page_bread_crumbs"><ul class="breadcrumb clearfix"><li><a href="/api" >API</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/schema" >TL-schema</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/constructor/contactBirthday" >contactBirthday</a></li></ul></div>
<h1 id="dev_page_title">contactBirthday</h1> <h1 id="dev_page_title">contactBirthday</h1>
<div id="dev_page_content"><p><div class="clearfix"> <div id="dev_page_content"><p>Birthday information of a contact.</p>
<p><div class="clearfix">
<ul class="dev_layer_select slightly-pull-right nav nav-pills"> <ul class="dev_layer_select slightly-pull-right nav nav-pills">
<li class="dropdown"> <li class="dropdown">
<a class="dropdown-toggle" onclick="return dropdownClick(this, event)" href="#">Layer 181 <b class="caret"></b></a> <a class="dropdown-toggle" onclick="return dropdownClick(this, event)" href="#">Layer 181 <b class="caret"></b></a>
@ -95,7 +74,7 @@ ContactBirthday">
<tr> <tr>
<td><strong>birthday</strong></td> <td><strong>birthday</strong></td>
<td style="text-align: center;"><a href="/type/Birthday">Birthday</a></td> <td style="text-align: center;"><a href="/type/Birthday">Birthday</a></td>
<td> </td> <td>Birthday information.</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>

View file

@ -4,32 +4,10 @@
<meta charset="utf-8"> <meta charset="utf-8">
<title>contacts.contactBirthdays</title> <title>contacts.contactBirthdays</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta property="description" content="Parameters <meta property="description" content="Birthday information of our contacts.">
Name
Type
Description
contacts
Vector&lt;ContactBirthday&gt;
 
users
Vector&lt;User&gt;
 
Type
contacts.ContactBirthdays">
<meta property="og:title" content="contacts.contactBirthdays"> <meta property="og:title" content="contacts.contactBirthdays">
<meta property="og:image" content=""> <meta property="og:image" content="">
<meta property="og:description" content="Parameters <meta property="og:description" content="Birthday information of our contacts.">
Name
Type
Description
contacts
Vector&lt;ContactBirthday&gt;
 
users
Vector&lt;User&gt;
 
Type
contacts.ContactBirthdays">
<link rel="icon" type="image/svg+xml" href="/img/website_icon.svg?4"> <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="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="32x32" href="/img/favicon-32x32.png">
@ -64,7 +42,8 @@ contacts.ContactBirthdays">
<div class="dev_page_bread_crumbs"><ul class="breadcrumb clearfix"><li><a href="/api" >API</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/schema" >TL-schema</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/constructor/contacts.contactBirthdays" >contacts.contactBirthdays</a></li></ul></div> <div class="dev_page_bread_crumbs"><ul class="breadcrumb clearfix"><li><a href="/api" >API</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/schema" >TL-schema</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/constructor/contacts.contactBirthdays" >contacts.contactBirthdays</a></li></ul></div>
<h1 id="dev_page_title">contacts.contactBirthdays</h1> <h1 id="dev_page_title">contacts.contactBirthdays</h1>
<div id="dev_page_content"><p><div class="clearfix"> <div id="dev_page_content"><p>Birthday information of our contacts.</p>
<p><div class="clearfix">
<ul class="dev_layer_select slightly-pull-right nav nav-pills"> <ul class="dev_layer_select slightly-pull-right nav nav-pills">
<li class="dropdown"> <li class="dropdown">
<a class="dropdown-toggle" onclick="return dropdownClick(this, event)" href="#">Layer 181 <b class="caret"></b></a> <a class="dropdown-toggle" onclick="return dropdownClick(this, event)" href="#">Layer 181 <b class="caret"></b></a>
@ -90,12 +69,12 @@ contacts.ContactBirthdays">
<tr> <tr>
<td><strong>contacts</strong></td> <td><strong>contacts</strong></td>
<td style="text-align: center;"><a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/ContactBirthday">ContactBirthday</a>&gt;</td> <td style="text-align: center;"><a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/ContactBirthday">ContactBirthday</a>&gt;</td>
<td> </td> <td>Birthday info</td>
</tr> </tr>
<tr> <tr>
<td><strong>users</strong></td> <td><strong>users</strong></td>
<td style="text-align: center;"><a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt;</td> <td style="text-align: center;"><a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/User">User</a>&gt;</td>
<td> </td> <td>User information</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>

View file

@ -4,30 +4,10 @@
<meta charset="utf-8"> <meta charset="utf-8">
<title>help.timezonesList</title> <title>help.timezonesList</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta property="description" content="Parameters <meta property="description" content="Timezone information that may be used elsewhere in the API, such as to set Telegram Business opening hours ».">
Name
Type
Description
timezones
Vector&lt;Timezone&gt;
 
hash
int
Hash for pagination, for more info click here
Type…">
<meta property="og:title" content="help.timezonesList"> <meta property="og:title" content="help.timezonesList">
<meta property="og:image" content=""> <meta property="og:image" content="">
<meta property="og:description" content="Parameters <meta property="og:description" content="Timezone information that may be used elsewhere in the API, such as to set Telegram Business opening hours ».">
Name
Type
Description
timezones
Vector&lt;Timezone&gt;
 
hash
int
Hash for pagination, for more info click here
Type…">
<link rel="icon" type="image/svg+xml" href="/img/website_icon.svg?4"> <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="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="32x32" href="/img/favicon-32x32.png">
@ -62,7 +42,8 @@ Type…">
<div class="dev_page_bread_crumbs"><ul class="breadcrumb clearfix"><li><a href="/api" >API</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/schema" >TL-schema</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/constructor/help.timezonesList" >help.timezonesList</a></li></ul></div> <div class="dev_page_bread_crumbs"><ul class="breadcrumb clearfix"><li><a href="/api" >API</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/schema" >TL-schema</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/constructor/help.timezonesList" >help.timezonesList</a></li></ul></div>
<h1 id="dev_page_title">help.timezonesList</h1> <h1 id="dev_page_title">help.timezonesList</h1>
<div id="dev_page_content"><p><div class="clearfix"> <div id="dev_page_content"><p>Timezone information that may be used elsewhere in the API, such as to set <a href="/api/business#opening-hours">Telegram Business opening hours »</a>.</p>
<p><div class="clearfix">
<ul class="dev_layer_select slightly-pull-right nav nav-pills"> <ul class="dev_layer_select slightly-pull-right nav nav-pills">
<li class="dropdown"> <li class="dropdown">
<a class="dropdown-toggle" onclick="return dropdownClick(this, event)" href="#">Layer 181 <b class="caret"></b></a> <a class="dropdown-toggle" onclick="return dropdownClick(this, event)" href="#">Layer 181 <b class="caret"></b></a>
@ -88,7 +69,7 @@ Type…">
<tr> <tr>
<td><strong>timezones</strong></td> <td><strong>timezones</strong></td>
<td style="text-align: center;"><a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Timezone">Timezone</a>&gt;</td> <td style="text-align: center;"><a href="/type/Vector%20t">Vector</a>&lt;<a href="/type/Timezone">Timezone</a>&gt;</td>
<td> </td> <td>Timezones</td>
</tr> </tr>
<tr> <tr>
<td><strong>hash</strong></td> <td><strong>hash</strong></td>
@ -101,7 +82,9 @@ Type…">
<p><a href="/type/help.TimezonesList">help.TimezonesList</a></p> <p><a href="/type/help.TimezonesList">help.TimezonesList</a></p>
<h3><a class="anchor" href="#related-pages" id="related-pages" name="related-pages"><i class="anchor-icon"></i></a>Related pages</h3> <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="#pagination-in-the-api" id="pagination-in-the-api" name="pagination-in-the-api"><i class="anchor-icon"></i></a><a href="/api/offsets">Pagination in the API</a></h4> <h4><a class="anchor" href="#pagination-in-the-api" id="pagination-in-the-api" name="pagination-in-the-api"><i class="anchor-icon"></i></a><a href="/api/offsets">Pagination in the API</a></h4>
<p>How to fetch results from large lists of objects.</p></div> <p>How to fetch results from large lists of objects.</p>
<h4><a class="anchor" href="#business" id="business" name="business"><i class="anchor-icon"></i></a><a href="/api/business">Business</a></h4>
<p>Users can turn their Telegram account into a business account, gaining access to business features such as opening hours, location, quick replies, automated messages, custom start page, chatbot support, and more.</p></div>
</div> </div>

View file

@ -4,16 +4,10 @@
<meta charset="utf-8"> <meta charset="utf-8">
<title>help.timezonesListNotModified</title> <title>help.timezonesListNotModified</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta property="description" content="Parameters <meta property="description" content="The timezone list has not changed.">
This constructor does not require any parameters.
Type
help.TimezonesList">
<meta property="og:title" content="help.timezonesListNotModified"> <meta property="og:title" content="help.timezonesListNotModified">
<meta property="og:image" content=""> <meta property="og:image" content="">
<meta property="og:description" content="Parameters <meta property="og:description" content="The timezone list has not changed.">
This constructor does not require any parameters.
Type
help.TimezonesList">
<link rel="icon" type="image/svg+xml" href="/img/website_icon.svg?4"> <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="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="32x32" href="/img/favicon-32x32.png">
@ -48,7 +42,8 @@ help.TimezonesList">
<div class="dev_page_bread_crumbs"><ul class="breadcrumb clearfix"><li><a href="/api" >API</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/schema" >TL-schema</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/constructor/help.timezonesListNotModified" >help.timezonesListNotModified</a></li></ul></div> <div class="dev_page_bread_crumbs"><ul class="breadcrumb clearfix"><li><a href="/api" >API</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/schema" >TL-schema</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/constructor/help.timezonesListNotModified" >help.timezonesListNotModified</a></li></ul></div>
<h1 id="dev_page_title">help.timezonesListNotModified</h1> <h1 id="dev_page_title">help.timezonesListNotModified</h1>
<div id="dev_page_content"><p><div class="clearfix"> <div id="dev_page_content"><p>The timezone list has not changed.</p>
<p><div class="clearfix">
<ul class="dev_layer_select slightly-pull-right nav nav-pills"> <ul class="dev_layer_select slightly-pull-right nav nav-pills">
<li class="dropdown"> <li class="dropdown">
<a class="dropdown-toggle" onclick="return dropdownClick(this, event)" href="#">Layer 181 <b class="caret"></b></a> <a class="dropdown-toggle" onclick="return dropdownClick(this, event)" href="#">Layer 181 <b class="caret"></b></a>

View file

@ -4,26 +4,10 @@
<meta charset="utf-8"> <meta charset="utf-8">
<title>inputQuickReplyShortcut</title> <title>inputQuickReplyShortcut</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta property="description" content="Parameters <meta property="description" content="Selects a quick reply shortcut by name.">
Name
Type
Description
shortcut
string
 
Type
InputQuickReplyShortcut">
<meta property="og:title" content="inputQuickReplyShortcut"> <meta property="og:title" content="inputQuickReplyShortcut">
<meta property="og:image" content=""> <meta property="og:image" content="">
<meta property="og:description" content="Parameters <meta property="og:description" content="Selects a quick reply shortcut by name.">
Name
Type
Description
shortcut
string
 
Type
InputQuickReplyShortcut">
<link rel="icon" type="image/svg+xml" href="/img/website_icon.svg?4"> <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="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="32x32" href="/img/favicon-32x32.png">
@ -58,7 +42,8 @@ InputQuickReplyShortcut">
<div class="dev_page_bread_crumbs"><ul class="breadcrumb clearfix"><li><a href="/api" >API</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/schema" >TL-schema</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/constructor/inputQuickReplyShortcut" >inputQuickReplyShortcut</a></li></ul></div> <div class="dev_page_bread_crumbs"><ul class="breadcrumb clearfix"><li><a href="/api" >API</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/schema" >TL-schema</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/constructor/inputQuickReplyShortcut" >inputQuickReplyShortcut</a></li></ul></div>
<h1 id="dev_page_title">inputQuickReplyShortcut</h1> <h1 id="dev_page_title">inputQuickReplyShortcut</h1>
<div id="dev_page_content"><p><div class="clearfix"> <div id="dev_page_content"><p>Selects a <a href="/api/business#quick-reply-shortcut">quick reply shortcut</a> by name.</p>
<p><div class="clearfix">
<ul class="dev_layer_select slightly-pull-right nav nav-pills"> <ul class="dev_layer_select slightly-pull-right nav nav-pills">
<li class="dropdown"> <li class="dropdown">
<a class="dropdown-toggle" onclick="return dropdownClick(this, event)" href="#">Layer 181 <b class="caret"></b></a> <a class="dropdown-toggle" onclick="return dropdownClick(this, event)" href="#">Layer 181 <b class="caret"></b></a>
@ -84,12 +69,15 @@ InputQuickReplyShortcut">
<tr> <tr>
<td><strong>shortcut</strong></td> <td><strong>shortcut</strong></td>
<td style="text-align: center;"><a href="/type/string">string</a></td> <td style="text-align: center;"><a href="/type/string">string</a></td>
<td> </td> <td>Shortcut name.</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
<h3><a class="anchor" href="#type" id="type" name="type"><i class="anchor-icon"></i></a>Type</h3> <h3><a class="anchor" href="#type" id="type" name="type"><i class="anchor-icon"></i></a>Type</h3>
<p><a href="/type/InputQuickReplyShortcut">InputQuickReplyShortcut</a></p></div> <p><a href="/type/InputQuickReplyShortcut">InputQuickReplyShortcut</a></p>
<h3><a class="anchor" href="#related-pages" id="related-pages" name="related-pages"><i class="anchor-icon"></i></a>Related pages</h3>
<h4><a class="anchor" href="#business" id="business" name="business"><i class="anchor-icon"></i></a><a href="/api/business">Business</a></h4>
<p>Users can turn their Telegram account into a business account, gaining access to business features such as opening hours, location, quick replies, automated messages, custom start page, chatbot support, and more.</p></div>
</div> </div>

View file

@ -4,26 +4,10 @@
<meta charset="utf-8"> <meta charset="utf-8">
<title>inputQuickReplyShortcutId</title> <title>inputQuickReplyShortcutId</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta property="description" content="Parameters <meta property="description" content="Selects a quick reply shortcut by its numeric ID.">
Name
Type
Description
shortcut_id
int
 
Type
InputQuickReplyShortcut">
<meta property="og:title" content="inputQuickReplyShortcutId"> <meta property="og:title" content="inputQuickReplyShortcutId">
<meta property="og:image" content=""> <meta property="og:image" content="">
<meta property="og:description" content="Parameters <meta property="og:description" content="Selects a quick reply shortcut by its numeric ID.">
Name
Type
Description
shortcut_id
int
 
Type
InputQuickReplyShortcut">
<link rel="icon" type="image/svg+xml" href="/img/website_icon.svg?4"> <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="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="32x32" href="/img/favicon-32x32.png">
@ -58,7 +42,8 @@ InputQuickReplyShortcut">
<div class="dev_page_bread_crumbs"><ul class="breadcrumb clearfix"><li><a href="/api" >API</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/schema" >TL-schema</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/constructor/inputQuickReplyShortcutId" >inputQuickReplyShortcutId</a></li></ul></div> <div class="dev_page_bread_crumbs"><ul class="breadcrumb clearfix"><li><a href="/api" >API</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/schema" >TL-schema</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/constructor/inputQuickReplyShortcutId" >inputQuickReplyShortcutId</a></li></ul></div>
<h1 id="dev_page_title">inputQuickReplyShortcutId</h1> <h1 id="dev_page_title">inputQuickReplyShortcutId</h1>
<div id="dev_page_content"><p><div class="clearfix"> <div id="dev_page_content"><p>Selects a <a href="/api/business#quick-reply-shortcut">quick reply shortcut</a> by its numeric ID.</p>
<p><div class="clearfix">
<ul class="dev_layer_select slightly-pull-right nav nav-pills"> <ul class="dev_layer_select slightly-pull-right nav nav-pills">
<li class="dropdown"> <li class="dropdown">
<a class="dropdown-toggle" onclick="return dropdownClick(this, event)" href="#">Layer 181 <b class="caret"></b></a> <a class="dropdown-toggle" onclick="return dropdownClick(this, event)" href="#">Layer 181 <b class="caret"></b></a>
@ -84,12 +69,15 @@ InputQuickReplyShortcut">
<tr> <tr>
<td><strong>shortcut_id</strong></td> <td><strong>shortcut_id</strong></td>
<td style="text-align: center;"><a href="/type/int">int</a></td> <td style="text-align: center;"><a href="/type/int">int</a></td>
<td> </td> <td>Shortcut ID.</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
<h3><a class="anchor" href="#type" id="type" name="type"><i class="anchor-icon"></i></a>Type</h3> <h3><a class="anchor" href="#type" id="type" name="type"><i class="anchor-icon"></i></a>Type</h3>
<p><a href="/type/InputQuickReplyShortcut">InputQuickReplyShortcut</a></p></div> <p><a href="/type/InputQuickReplyShortcut">InputQuickReplyShortcut</a></p>
<h3><a class="anchor" href="#related-pages" id="related-pages" name="related-pages"><i class="anchor-icon"></i></a>Related pages</h3>
<h4><a class="anchor" href="#business" id="business" name="business"><i class="anchor-icon"></i></a><a href="/api/business">Business</a></h4>
<p>Users can turn their Telegram account into a business account, gaining access to business features such as opening hours, location, quick replies, automated messages, custom start page, chatbot support, and more.</p></div>
</div> </div>

View file

@ -69,7 +69,7 @@
<tr> <tr>
<td><strong>peer</strong></td> <td><strong>peer</strong></td>
<td style="text-align: center;"><a href="/type/InputPeer">InputPeer</a></td> <td style="text-align: center;"><a href="/type/InputPeer">InputPeer</a></td>
<td> </td> <td>Sender of the story</td>
</tr> </tr>
<tr> <tr>
<td><strong>story_id</strong></td> <td><strong>story_id</strong></td>

View file

@ -129,7 +129,7 @@
<tr> <tr>
<td><strong>flags2</strong></td> <td><strong>flags2</strong></td>
<td style="text-align: center;"><a href="/type/%23">#</a></td> <td style="text-align: center;"><a href="/type/%23">#</a></td>
<td> </td> <td>Flags, see <a href="/mtproto/TL-combinators#conditional-fields">TL conditional fields</a></td>
</tr> </tr>
<tr> <tr>
<td><strong>offline</strong></td> <td><strong>offline</strong></td>
@ -174,7 +174,7 @@
<tr> <tr>
<td><strong>via_business_bot_id</strong></td> <td><strong>via_business_bot_id</strong></td>
<td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.0?<a href="/type/long">long</a></td> <td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags2</a>.0?<a href="/type/long">long</a></td>
<td> </td> <td>Whether the message was sent by the <a href="/api/business#connected-bots">business bot</a> specified in <code>via_bot_id</code> on behalf of the user.</td>
</tr> </tr>
<tr> <tr>
<td><strong>reply_to</strong></td> <td><strong>reply_to</strong></td>
@ -254,7 +254,7 @@
<tr> <tr>
<td><strong>quick_reply_shortcut_id</strong></td> <td><strong>quick_reply_shortcut_id</strong></td>
<td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags</a>.30?<a href="/type/int">int</a></td> <td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags</a>.30?<a href="/type/int">int</a></td>
<td> </td> <td>If set, this message is a <a href="/api/business#quick-reply-shortcut">quick reply shortcut message »</a> (note that <em>sent</em> quick reply shortcuts will <em>not</em> have this field set).</td>
</tr> </tr>
<tr> <tr>
<td><strong>effect</strong></td> <td><strong>effect</strong></td>
@ -285,6 +285,8 @@
<p>The Saved Messages chat allows users to bookmark messages and media: it's a personal cloud storage for any messages or media you may want to send or forward there.</p> <p>The Saved Messages chat allows users to bookmark messages and media: it's a personal cloud storage for any messages or media you may want to send or forward there.</p>
<h4><a class="anchor" href="#inputpeerself" id="inputpeerself" name="inputpeerself"><i class="anchor-icon"></i></a><a href="/constructor/inputPeerSelf">inputPeerSelf</a></h4> <h4><a class="anchor" href="#inputpeerself" id="inputpeerself" name="inputpeerself"><i class="anchor-icon"></i></a><a href="/constructor/inputPeerSelf">inputPeerSelf</a></h4>
<p>Defines the current user.</p> <p>Defines the current user.</p>
<h4><a class="anchor" href="#business" id="business" name="business"><i class="anchor-icon"></i></a><a href="/api/business">Business</a></h4>
<p>Users can turn their Telegram account into a business account, gaining access to business features such as opening hours, location, quick replies, automated messages, custom start page, chatbot support, and more.</p>
<h4><a class="anchor" href="#styled-text-with-message-entities" id="styled-text-with-message-entities" name="styled-text-with-message-entities"><i class="anchor-icon"></i></a><a href="/api/entities">Styled text with message entities</a></h4> <h4><a class="anchor" href="#styled-text-with-message-entities" id="styled-text-with-message-entities" name="styled-text-with-message-entities"><i class="anchor-icon"></i></a><a href="/api/entities">Styled text with message entities</a></h4>
<p>How to create styled text with message entities</p> <p>How to create styled text with message entities</p>
<h4><a class="anchor" href="#threads" id="threads" name="threads"><i class="anchor-icon"></i></a><a href="/api/threads">Threads</a></h4> <h4><a class="anchor" href="#threads" id="threads" name="threads"><i class="anchor-icon"></i></a><a href="/api/threads">Threads</a></h4>

View file

@ -74,7 +74,7 @@
<tr> <tr>
<td><strong>collapsed</strong></td> <td><strong>collapsed</strong></td>
<td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a></td> <td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags</a>.0?<a href="/constructor/true">true</a></td>
<td> </td> <td>Whether the quote is collapsed by default.</td>
</tr> </tr>
<tr> <tr>
<td><strong>offset</strong></td> <td><strong>offset</strong></td>

View file

@ -84,7 +84,7 @@
<tr> <tr>
<td><strong>reactions_as_tags</strong></td> <td><strong>reactions_as_tags</strong></td>
<td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/constructor/true">true</a></td> <td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags</a>.3?<a href="/constructor/true">true</a></td>
<td> </td> <td>If set or if there are no reactions, all present and future reactions should be treated as <a href="/api/saved-messages#tags">message tags, see here » for more info</a>.</td>
</tr> </tr>
<tr> <tr>
<td><strong>results</strong></td> <td><strong>results</strong></td>
@ -108,7 +108,9 @@
<h4><a class="anchor" href="#messagesgetmessagesreactions" id="messagesgetmessagesreactions" name="messagesgetmessagesreactions"><i class="anchor-icon"></i></a><a href="/method/messages.getMessagesReactions">messages.getMessagesReactions</a></h4> <h4><a class="anchor" href="#messagesgetmessagesreactions" id="messagesgetmessagesreactions" name="messagesgetmessagesreactions"><i class="anchor-icon"></i></a><a href="/method/messages.getMessagesReactions">messages.getMessagesReactions</a></h4>
<p>Get <a href="/api/reactions">message reactions »</a></p> <p>Get <a href="/api/reactions">message reactions »</a></p>
<h4><a class="anchor" href="#messagesgetmessagereactionslist" id="messagesgetmessagereactionslist" name="messagesgetmessagereactionslist"><i class="anchor-icon"></i></a><a href="/method/messages.getMessageReactionsList">messages.getMessageReactionsList</a></h4> <h4><a class="anchor" href="#messagesgetmessagereactionslist" id="messagesgetmessagereactionslist" name="messagesgetmessagereactionslist"><i class="anchor-icon"></i></a><a href="/method/messages.getMessageReactionsList">messages.getMessageReactionsList</a></h4>
<p>Get <a href="/api/reactions">message reaction</a> list, along with the sender of each reaction.</p></div> <p>Get <a href="/api/reactions">message reaction</a> list, along with the sender of each reaction.</p>
<h4><a class="anchor" href="#saved-messages" id="saved-messages" name="saved-messages"><i class="anchor-icon"></i></a><a href="/api/saved-messages">Saved messages</a></h4>
<p>The Saved Messages chat allows users to bookmark messages and media: it's a personal cloud storage for any messages or media you may want to send or forward there.</p></div>
</div> </div>

View file

@ -69,7 +69,7 @@
<tr> <tr>
<td><strong>peer</strong></td> <td><strong>peer</strong></td>
<td style="text-align: center;"><a href="/type/Peer">Peer</a></td> <td style="text-align: center;"><a href="/type/Peer">Peer</a></td>
<td> </td> <td>Sender of the story.</td>
</tr> </tr>
<tr> <tr>
<td><strong>story_id</strong></td> <td><strong>story_id</strong></td>

View file

@ -82,6 +82,7 @@
<h4><a class="anchor" href="#pagination-in-the-api" id="pagination-in-the-api" name="pagination-in-the-api"><i class="anchor-icon"></i></a><a href="/api/offsets">Pagination in the API</a></h4> <h4><a class="anchor" href="#pagination-in-the-api" id="pagination-in-the-api" name="pagination-in-the-api"><i class="anchor-icon"></i></a><a href="/api/offsets">Pagination in the API</a></h4>
<p>How to fetch results from large lists of objects.</p> <p>How to fetch results from large lists of objects.</p>
<h4><a class="anchor" href="#helptimezoneslist" id="helptimezoneslist" name="helptimezoneslist"><i class="anchor-icon"></i></a><a href="/constructor/help.timezonesList">help.timezonesList</a></h4> <h4><a class="anchor" href="#helptimezoneslist" id="helptimezoneslist" name="helptimezoneslist"><i class="anchor-icon"></i></a><a href="/constructor/help.timezonesList">help.timezonesList</a></h4>
<p>Timezone information that may be used elsewhere in the API, such as to set <a href="/api/business#opening-hours">Telegram Business opening hours »</a>.</p>
<h4><a class="anchor" href="#business" id="business" name="business"><i class="anchor-icon"></i></a><a href="/api/business">Business</a></h4> <h4><a class="anchor" href="#business" id="business" name="business"><i class="anchor-icon"></i></a><a href="/api/business">Business</a></h4>
<p>Users can turn their Telegram account into a business account, gaining access to business features such as opening hours, location, quick replies, automated messages, custom start page, chatbot support, and more.</p></div> <p>Users can turn their Telegram account into a business account, gaining access to business features such as opening hours, location, quick replies, automated messages, custom start page, chatbot support, and more.</p></div>

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> <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 --> <!-- start req_pq_multi -->
<p>Sent payload (excluding transport headers/trailers):</p> <p>Sent payload (excluding transport headers/trailers):</p>
<pre><code>0000 | 00 00 00 00 00 00 00 00 7C EF 05 00 54 36 88 66 <pre><code>0000 | 00 00 00 00 00 00 00 00 18 5A 0E 00 DB 3A 88 66
0010 | 14 00 00 00 F1 8E 7E BE F4 1E 05 98 BA BA EF 42 0010 | 14 00 00 00 F1 8E 7E BE A8 F4 80 B7 39 AF 24 DC
0020 | 9A 98 83 ED F3 C9 47 22</code></pre> 0020 | 39 2C 2B 09 BA 14 02 07</code></pre>
<p>Payload (de)serialization:</p> <p>Payload (de)serialization:</p>
<pre><code>req_pq_multi#be7e8ef1 nonce:int128 = ResPQ;</code></pre> <pre><code>req_pq_multi#be7e8ef1 nonce:int128 = ResPQ;</code></pre>
<table class="table"> <table class="table">
@ -77,7 +77,7 @@
<tr> <tr>
<td>message_id</td> <td>message_id</td>
<td>8, 8</td> <td>8, 8</td>
<td><code>7CEF050054368866</code></td> <td><code>185A0E00DB3A8866</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> <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>
<tr> <tr>
@ -95,7 +95,7 @@
<tr> <tr>
<td>nonce</td> <td>nonce</td>
<td>24, 16</td> <td>24, 16</td>
<td><code>F41E0598BABAEF429A9883EDF3C94722</code></td> <td><code>A8F480B739AF24DC392C2B09BA140207</code></td>
<td>Random number</td> <td>Random number</td>
</tr> </tr>
</tbody> </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> <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 --> <!-- start resPQ -->
<p>Received payload (excluding transport headers/trailers):</p> <p>Received payload (excluding transport headers/trailers):</p>
<pre><code>0000 | 00 00 00 00 00 00 00 00 01 7C 5B 47 54 36 88 66 <pre><code>0000 | 00 00 00 00 00 00 00 00 01 58 EA 10 DC 3A 88 66
0010 | 78 00 00 00 63 24 16 05 F4 1E 05 98 BA BA EF 42 0010 | 68 00 00 00 63 24 16 05 A8 F4 80 B7 39 AF 24 DC
0020 | 9A 98 83 ED F3 C9 47 22 F3 62 D2 D6 A6 22 24 04 0020 | 39 2C 2B 09 BA 14 02 07 D2 2B 8C 0A 59 AD 58 90
0030 | 75 83 86 C4 3F CF E9 42 08 18 5C 9D 9E 55 2F C9 0030 | D7 D6 23 C5 FD B3 E2 7E 08 16 A7 E5 88 B3 27 9C
0040 | 93 00 00 00 15 C4 B5 1C 03 00 00 00 A5 B7 F7 09 0040 | 33 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 0050 | 35 5F C3 0B 21 6B E8 6C 02 2B B4 C3 85 FD 64 DE
0060 | 85 1D 9D D0</code></pre> 0060 | 85 1D 9D D0</code></pre>
<p>Payload (de)serialization:</p> <p>Payload (de)serialization:</p>
@ -132,13 +132,13 @@
<tr> <tr>
<td>message_id</td> <td>message_id</td>
<td>8, 8</td> <td>8, 8</td>
<td><code>017C5B4754368866</code></td> <td><code>0158EA10DC3A8866</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> <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>
<tr> <tr>
<td>message_length</td> <td>message_length</td>
<td>16, 4</td> <td>16, 4</td>
<td><code>78000000</code> (120 in decimal)</td> <td><code>68000000</code> (104 in decimal)</td>
<td>Message body length</td> <td>Message body length</td>
</tr> </tr>
<tr> <tr>
@ -150,19 +150,19 @@
<tr> <tr>
<td>nonce</td> <td>nonce</td>
<td>24, 16</td> <td>24, 16</td>
<td><code>F41E0598BABAEF429A9883EDF3C94722</code></td> <td><code>A8F480B739AF24DC392C2B09BA140207</code></td>
<td>Value generated by client in Step 1</td> <td>Value generated by client in Step 1</td>
</tr> </tr>
<tr> <tr>
<td>server_nonce</td> <td>server_nonce</td>
<td>40, 16</td> <td>40, 16</td>
<td><code>F362D2D6A6222404758386C43FCFE942</code></td> <td><code>D22B8C0A59AD5890D7D623C5FDB3E27E</code></td>
<td>Server-generated random number</td> <td>Server-generated random number</td>
</tr> </tr>
<tr> <tr>
<td>pq</td> <td>pq</td>
<td>56, 12</td> <td>56, 12</td>
<td><code>08185C9D9E552FC993000000</code><br>TL byte deserialization <br>=&gt; bigendian conversion to decimal<br>=&gt; 1755451258127239571</td> <td><code>0816A7E588B3279C33000000</code><br>TL byte deserialization <br>=&gt; bigendian conversion to decimal<br>=&gt; 1632525765229124659</td>
<td>Single-byte prefix denoting length, an 8-byte string, and three bytes of padding</td> <td>Single-byte prefix denoting length, an 8-byte string, and three bytes of padding</td>
</tr> </tr>
<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> <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> <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 --> <!-- start pq -->
<pre><code>pq = 1755451258127239571</code></pre> <pre><code>pq = 1632525765229124659</code></pre>
<p>Decompose into 2 prime cofactors <code>p &lt; q</code>: <code>1755451258127239571 = 1027635551 * 1708243021</code></p> <p>Decompose into 2 prime cofactors <code>p &lt; q</code>: <code>1632525765229124659 = 1165991117 * 1400118527</code></p>
<pre><code>p = 1027635551 <pre><code>p = 1165991117
q = 1708243021</code></pre> q = 1400118527</code></pre>
<!-- end pq --> <!-- 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> <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> <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> <p>First of all, generate an <code>encrypted_data</code> payload as follows:</p>
<!-- start p_q_inner_data_dc --> <!-- start p_q_inner_data_dc -->
<p>Generated payload (excluding transport headers/trailers):</p> <p>Generated payload (excluding transport headers/trailers):</p>
<pre><code>0000 | 95 5F F5 A9 08 18 5C 9D 9E 55 2F C9 93 00 00 00 <pre><code>0000 | 95 5F F5 A9 08 16 A7 E5 88 B3 27 9C 33 00 00 00
0010 | 04 3D 40 79 5F 00 00 00 04 65 D1 B8 4D 00 00 00 0010 | 04 45 7F 9C CD 00 00 00 04 53 74 1C FF 00 00 00
0020 | F4 1E 05 98 BA BA EF 42 9A 98 83 ED F3 C9 47 22 0020 | A8 F4 80 B7 39 AF 24 DC 39 2C 2B 09 BA 14 02 07
0030 | F3 62 D2 D6 A6 22 24 04 75 83 86 C4 3F CF E9 42 0030 | D2 2B 8C 0A 59 AD 58 90 D7 D6 23 C5 FD B3 E2 7E
0040 | 09 1A AA 71 29 03 A7 A3 53 93 80 67 93 FB 93 84 0040 | 84 7F 52 3C 2F A2 10 6F 55 AD 16 13 87 B0 CC FF
0050 | DF 07 B0 CC 00 51 CC 62 53 35 80 E0 69 3A 1E E0 0050 | 78 DD 4B 68 E9 3E 47 1B 02 8F 9B 41 EA 4B ED 8D
0060 | 02 00 00 00</code></pre> 0060 | 02 00 00 00</code></pre>
<p>Payload (de)serialization:</p> <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> <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 = 1708243021</code></pre>
<tr> <tr>
<td>pq</td> <td>pq</td>
<td>4, 12</td> <td>4, 12</td>
<td><code>08185C9D9E552FC993000000</code><br>TL byte deserialization <br>=&gt; bigendian conversion to decimal<br>=&gt; 1755451258127239571</td> <td><code>0816A7E588B3279C33000000</code><br>TL byte deserialization <br>=&gt; bigendian conversion to decimal<br>=&gt; 1632525765229124659</td>
<td>Single-byte prefix denoting length, 8-byte string, and three bytes of padding</td> <td>Single-byte prefix denoting length, 8-byte string, and three bytes of padding</td>
</tr> </tr>
<tr> <tr>
<td>p</td> <td>p</td>
<td>16, 8</td> <td>16, 8</td>
<td><code>043D40795F000000</code><br>TL byte deserialization <br>=&gt; bigendian conversion to decimal<br>=&gt; 1027635551</td> <td><code>04457F9CCD000000</code><br>TL byte deserialization <br>=&gt; bigendian conversion to decimal<br>=&gt; 1165991117</td>
<td>First prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding</td> <td>First prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding</td>
</tr> </tr>
<tr> <tr>
<td>q</td> <td>q</td>
<td>24, 8</td> <td>24, 8</td>
<td><code>0465D1B84D000000</code><br>TL byte deserialization <br>=&gt; bigendian conversion to decimal<br>=&gt; 1708243021</td> <td><code>0453741CFF000000</code><br>TL byte deserialization <br>=&gt; bigendian conversion to decimal<br>=&gt; 1400118527</td>
<td>Second prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding</td> <td>Second prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding</td>
</tr> </tr>
<tr> <tr>
<td>nonce</td> <td>nonce</td>
<td>32, 16</td> <td>32, 16</td>
<td><code>F41E0598BABAEF429A9883EDF3C94722</code></td> <td><code>A8F480B739AF24DC392C2B09BA140207</code></td>
<td>Value generated by client in Step 1</td> <td>Value generated by client in Step 1</td>
</tr> </tr>
<tr> <tr>
<td>server_nonce</td> <td>server_nonce</td>
<td>48, 16</td> <td>48, 16</td>
<td><code>F362D2D6A6222404758386C43FCFE942</code></td> <td><code>D22B8C0A59AD5890D7D623C5FDB3E27E</code></td>
<td>Value received from server in Step 2</td> <td>Value received from server in Step 2</td>
</tr> </tr>
<tr> <tr>
<td>new_nonce</td> <td>new_nonce</td>
<td>64, 32</td> <td>64, 32</td>
<td><code>091AAA712903A7A35393806793FB9384</code> <code>DF07B0CC0051CC62533580E0693A1EE0</code></td> <td><code>847F523C2FA2106F55AD161387B0CCFF</code> <code>78DD4B68E93E471B028F9B41EA4BED8D</code></td>
<td>Client-generated random number</td> <td>Client-generated random number</td>
</tr> </tr>
<tr> <tr>
@ -291,39 +291,39 @@ q = 1708243021</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> <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> 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 --> <!-- start p_q_inner_data_input -->
<pre><code>data = 955FF5A908185C9D9E552FC993000000043D40795F0000000465D1B84D000000F41E0598BABAEF429A9883EDF3C94722F362D2D6A6222404758386C43FCFE942091AAA712903A7A35393806793FB9384DF07B0CC0051CC62533580E0693A1EE002000000 <pre><code>data = 955FF5A90816A7E588B3279C3300000004457F9CCD0000000453741CFF000000A8F480B739AF24DC392C2B09BA140207D22B8C0A59AD5890D7D623C5FDB3E27E847F523C2FA2106F55AD161387B0CCFF78DD4B68E93E471B028F9B41EA4BED8D02000000
random_padding_bytes = 9762C3C980F1F993A8E7F526C8E9BB1645F23C3ED26FEB50B52E56910FFC90AA619E1D0AD7D758E2F90CD2CFCC2B0DE4C06FB0D1D80196564D2B81C5D47F97119AD2054B8B0F6896E7279CF4C8A1D759ECF894EECE60ABB9C3E06B57</code></pre> random_padding_bytes = F36C78DAC681938CD0BA0B1F36143DB5F679EE69586414E554EF1A978F6FB34001B20021F4D2AF94C1E2C4C4EA3F0ED7FA1FB1EA6DB2E7902BDA6DCE3C5DECD3F94969E36418B6DE31BCB04C907F8C8B33624B5AB8AE2F4D8D6CDB19</code></pre>
<!-- end p_q_inner_data_input --> <!-- end p_q_inner_data_input -->
<p>And this is the output:</p> <p>And this is the output:</p>
<!-- start p_q_inner_data_output --> <!-- start p_q_inner_data_output -->
<pre><code>encrypted_data = C8A5917FB4D2AB31BA447AC5947B5381B5385930ECD60675CEB94F3D68B53E4707CF8281A19A864E17915DE868A02896DF26D687DE1B76916D13952836D9B9D65811F9CBA39C28A71C1D0A5FD47118D0D4EB02ABBD5BBB447CBCCC16EC543D227AC7D6CA67E250359013FD5741B564D04F5A033D983AC8AD301A2EDE3B3CA0A7F41F8F3B8D8F704FCC941951130800FE6E4C898D99F80CCAD9BE7B3DAB0C266509CE3629EEFAA75D4BC7DDEB56552BF4D173B8E1716B8B638250E7F2F2B64A89E7F0222A521AE23026190514BAE8022571F26C224A9289DFDEFB5499B8B8DCF4875438D06248F967C61CF417C314BC2AC349D674B9BCE4E9D70A5B04479BC303</code></pre> <pre><code>encrypted_data = B935F07BF640CB2C2D112C470A2EECED657FBA19E87DC8A813FB98568A4B07078D78A8C226D4A11E77CA7DE4FC72FCAB88084D2FB13C3D36261E4434213CAC2185208A01BF89ECA4E47965AF550A4B342EA629088E1A6D7575873963B93D54F0C024AC8CD58D260573365E854632261EA61DF26F32C3BE6BFB81D1802F3B6DA575BA39037DFF8688F856ED6FD88B0FDCD47E5B55F8CA694623C0E05C95303974EF692CEE3FF3EF880A05F1B2006BACBDF41836876C04E4DD9C4468AA70EE0952DD6BE0AF40D247BA06C58E75D0BDDDBF609CF9C29C99D82B9B247957EF1F3904E6F5CE0E11E574CD185AD920379CECD6981A1115BB720DAECDB72F8EAE038216</code></pre>
<!-- end p_q_inner_data_output --> <!-- end p_q_inner_data_output -->
<p>The length of the final string is 256 bytes.</p> <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> <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 --> <!-- start req_DH_params -->
<p>Sent payload (excluding transport headers/trailers):</p> <p>Sent payload (excluding transport headers/trailers):</p>
<pre><code>0000 | 00 00 00 00 00 00 00 00 80 EF 05 00 54 36 88 66 <pre><code>0000 | 00 00 00 00 00 00 00 00 1C F5 07 00 DC 3A 88 66
0010 | 40 01 00 00 BE E4 12 D7 F4 1E 05 98 BA BA EF 42 0010 | 40 01 00 00 BE E4 12 D7 A8 F4 80 B7 39 AF 24 DC
0020 | 9A 98 83 ED F3 C9 47 22 F3 62 D2 D6 A6 22 24 04 0020 | 39 2C 2B 09 BA 14 02 07 D2 2B 8C 0A 59 AD 58 90
0030 | 75 83 86 C4 3F CF E9 42 04 3D 40 79 5F 00 00 00 0030 | D7 D6 23 C5 FD B3 E2 7E 04 45 7F 9C CD 00 00 00
0040 | 04 65 D1 B8 4D 00 00 00 85 FD 64 DE 85 1D 9D D0 0040 | 04 53 74 1C FF 00 00 00 85 FD 64 DE 85 1D 9D D0
0050 | FE 00 01 00 C8 A5 91 7F B4 D2 AB 31 BA 44 7A C5 0050 | FE 00 01 00 B9 35 F0 7B F6 40 CB 2C 2D 11 2C 47
0060 | 94 7B 53 81 B5 38 59 30 EC D6 06 75 CE B9 4F 3D 0060 | 0A 2E EC ED 65 7F BA 19 E8 7D C8 A8 13 FB 98 56
0070 | 68 B5 3E 47 07 CF 82 81 A1 9A 86 4E 17 91 5D E8 0070 | 8A 4B 07 07 8D 78 A8 C2 26 D4 A1 1E 77 CA 7D E4
0080 | 68 A0 28 96 DF 26 D6 87 DE 1B 76 91 6D 13 95 28 0080 | FC 72 FC AB 88 08 4D 2F B1 3C 3D 36 26 1E 44 34
0090 | 36 D9 B9 D6 58 11 F9 CB A3 9C 28 A7 1C 1D 0A 5F 0090 | 21 3C AC 21 85 20 8A 01 BF 89 EC A4 E4 79 65 AF
00A0 | D4 71 18 D0 D4 EB 02 AB BD 5B BB 44 7C BC CC 16 00A0 | 55 0A 4B 34 2E A6 29 08 8E 1A 6D 75 75 87 39 63
00B0 | EC 54 3D 22 7A C7 D6 CA 67 E2 50 35 90 13 FD 57 00B0 | B9 3D 54 F0 C0 24 AC 8C D5 8D 26 05 73 36 5E 85
00C0 | 41 B5 64 D0 4F 5A 03 3D 98 3A C8 AD 30 1A 2E DE 00C0 | 46 32 26 1E A6 1D F2 6F 32 C3 BE 6B FB 81 D1 80
00D0 | 3B 3C A0 A7 F4 1F 8F 3B 8D 8F 70 4F CC 94 19 51 00D0 | 2F 3B 6D A5 75 BA 39 03 7D FF 86 88 F8 56 ED 6F
00E0 | 13 08 00 FE 6E 4C 89 8D 99 F8 0C CA D9 BE 7B 3D 00E0 | D8 8B 0F DC D4 7E 5B 55 F8 CA 69 46 23 C0 E0 5C
00F0 | AB 0C 26 65 09 CE 36 29 EE FA A7 5D 4B C7 DD EB 00F0 | 95 30 39 74 EF 69 2C EE 3F F3 EF 88 0A 05 F1 B2
0100 | 56 55 2B F4 D1 73 B8 E1 71 6B 8B 63 82 50 E7 F2 0100 | 00 6B AC BD F4 18 36 87 6C 04 E4 DD 9C 44 68 AA
0110 | F2 B6 4A 89 E7 F0 22 2A 52 1A E2 30 26 19 05 14 0110 | 70 EE 09 52 DD 6B E0 AF 40 D2 47 BA 06 C5 8E 75
0120 | BA E8 02 25 71 F2 6C 22 4A 92 89 DF DE FB 54 99 0120 | D0 BD DD BF 60 9C F9 C2 9C 99 D8 2B 9B 24 79 57
0130 | B8 B8 DC F4 87 54 38 D0 62 48 F9 67 C6 1C F4 17 0130 | EF 1F 39 04 E6 F5 CE 0E 11 E5 74 CD 18 5A D9 20
0140 | C3 14 BC 2A C3 49 D6 74 B9 BC E4 E9 D7 0A 5B 04 0140 | 37 9C EC D6 98 1A 11 15 BB 72 0D AE CD B7 2F 8E
0150 | 47 9B C3 03</code></pre> 0150 | AE 03 82 16</code></pre>
<p>Payload (de)serialization:</p> <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> <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"> <table class="table">
@ -345,7 +345,7 @@ random_padding_bytes = 9762C3C980F1F993A8E7F526C8E9BB1645F23C3ED26FEB50B52E56910
<tr> <tr>
<td>message_id</td> <td>message_id</td>
<td>8, 8</td> <td>8, 8</td>
<td><code>80EF050054368866</code></td> <td><code>1CF50700DC3A8866</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> <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>
<tr> <tr>
@ -363,25 +363,25 @@ random_padding_bytes = 9762C3C980F1F993A8E7F526C8E9BB1645F23C3ED26FEB50B52E56910
<tr> <tr>
<td>nonce</td> <td>nonce</td>
<td>24, 16</td> <td>24, 16</td>
<td><code>F41E0598BABAEF429A9883EDF3C94722</code></td> <td><code>A8F480B739AF24DC392C2B09BA140207</code></td>
<td>Value generated by client in Step 1</td> <td>Value generated by client in Step 1</td>
</tr> </tr>
<tr> <tr>
<td>server_nonce</td> <td>server_nonce</td>
<td>40, 16</td> <td>40, 16</td>
<td><code>F362D2D6A6222404758386C43FCFE942</code></td> <td><code>D22B8C0A59AD5890D7D623C5FDB3E27E</code></td>
<td>Value received from server in Step 2</td> <td>Value received from server in Step 2</td>
</tr> </tr>
<tr> <tr>
<td>p</td> <td>p</td>
<td>56, 8</td> <td>56, 8</td>
<td><code>043D40795F000000</code><br>TL byte deserialization <br>=&gt; bigendian conversion to decimal<br>=&gt; 1027635551</td> <td><code>04457F9CCD000000</code><br>TL byte deserialization <br>=&gt; bigendian conversion to decimal<br>=&gt; 1165991117</td>
<td>First prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding</td> <td>First prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding</td>
</tr> </tr>
<tr> <tr>
<td>q</td> <td>q</td>
<td>64, 8</td> <td>64, 8</td>
<td><code>0465D1B84D000000</code><br>TL byte deserialization <br>=&gt; bigendian conversion to decimal<br>=&gt; 1708243021</td> <td><code>0453741CFF000000</code><br>TL byte deserialization <br>=&gt; bigendian conversion to decimal<br>=&gt; 1400118527</td>
<td>Second prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding</td> <td>Second prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding</td>
</tr> </tr>
<tr> <tr>
@ -393,7 +393,7 @@ random_padding_bytes = 9762C3C980F1F993A8E7F526C8E9BB1645F23C3ED26FEB50B52E56910
<tr> <tr>
<td>encrypted_data</td> <td>encrypted_data</td>
<td>80, 260</td> <td>80, 260</td>
<td><code>FE000100C8A5917FB4D2AB31BA447AC5</code> <code>947B5381B5385930ECD60675CEB94F3D</code> <code>68B53E4707CF8281A19A864E17915DE8</code> <code>68A02896DF26D687DE1B76916D139528</code> <code>36D9B9D65811F9CBA39C28A71C1D0A5F</code> <code>D47118D0D4EB02ABBD5BBB447CBCCC16</code> <code>EC543D227AC7D6CA67E250359013FD57</code> <code>41B564D04F5A033D983AC8AD301A2EDE</code> <code>3B3CA0A7F41F8F3B8D8F704FCC941951</code> <code>130800FE6E4C898D99F80CCAD9BE7B3D</code> <code>AB0C266509CE3629EEFAA75D4BC7DDEB</code> <code>56552BF4D173B8E1716B8B638250E7F2</code> <code>F2B64A89E7F0222A521AE23026190514</code> <code>BAE8022571F26C224A9289DFDEFB5499</code> <code>B8B8DCF4875438D06248F967C61CF417</code> <code>C314BC2AC349D674B9BCE4E9D70A5B04</code><br> <code>479BC303</code></td> <td><code>FE000100B935F07BF640CB2C2D112C47</code> <code>0A2EECED657FBA19E87DC8A813FB9856</code> <code>8A4B07078D78A8C226D4A11E77CA7DE4</code> <code>FC72FCAB88084D2FB13C3D36261E4434</code> <code>213CAC2185208A01BF89ECA4E47965AF</code> <code>550A4B342EA629088E1A6D7575873963</code> <code>B93D54F0C024AC8CD58D260573365E85</code> <code>4632261EA61DF26F32C3BE6BFB81D180</code> <code>2F3B6DA575BA39037DFF8688F856ED6F</code> <code>D88B0FDCD47E5B55F8CA694623C0E05C</code> <code>95303974EF692CEE3FF3EF880A05F1B2</code> <code>006BACBDF41836876C04E4DD9C4468AA</code> <code>70EE0952DD6BE0AF40D247BA06C58E75</code> <code>D0BDDDBF609CF9C29C99D82B9B247957</code> <code>EF1F3904E6F5CE0E11E574CD185AD920</code> <code>379CECD6981A1115BB720DAECDB72F8E</code><br> <code>AE038216</code></td>
<td>Value generated above</td> <td>Value generated above</td>
</tr> </tr>
</tbody> </tbody>
@ -402,47 +402,47 @@ random_padding_bytes = 9762C3C980F1F993A8E7F526C8E9BB1645F23C3ED26FEB50B52E56910
<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> <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 --> <!-- start server_DH_params_ok -->
<p>Received payload (excluding transport headers/trailers):</p> <p>Received payload (excluding transport headers/trailers):</p>
<pre><code>0000 | 00 00 00 00 00 00 00 00 01 08 C8 04 55 36 88 66 <pre><code>0000 | 00 00 00 00 00 00 00 00 01 94 EA E4 DC 3A 88 66
0010 | 90 02 00 00 5C 07 E8 D0 F4 1E 05 98 BA BA EF 42 0010 | B8 02 00 00 5C 07 E8 D0 A8 F4 80 B7 39 AF 24 DC
0020 | 9A 98 83 ED F3 C9 47 22 F3 62 D2 D6 A6 22 24 04 0020 | 39 2C 2B 09 BA 14 02 07 D2 2B 8C 0A 59 AD 58 90
0030 | 75 83 86 C4 3F CF E9 42 FE 50 02 00 13 79 F7 7A 0030 | D7 D6 23 C5 FD B3 E2 7E FE 50 02 00 42 6E 17 8E
0040 | 37 52 4F 55 31 58 60 02 0A A7 C0 A9 3F 22 19 C9 0040 | 22 90 2F B5 61 4A 76 E3 DC 90 5D 42 93 8A 76 60
0050 | BC AF 2D 9D 68 C3 3D 67 DB 3B 92 DB B1 7D 6C 7D 0050 | DC 15 8B AB 4C 87 70 77 1A AD BE 7E 12 9D 92 E7
0060 | 44 5E 59 CB 3D 4C 89 B3 25 5A 50 AB 09 A3 AD 18 0060 | 19 76 6B 59 B1 41 23 A2 54 48 74 AA 6C 35 57 83
0070 | A1 3A EA 8C DD 2F 39 26 81 C3 C7 C5 31 F8 42 8C 0070 | 40 E9 FE A2 9A 1E D1 B6 A4 D1 1B FD 0A 2A 89 30
0080 | DE 71 7E 6D 59 77 3E 4C 2E D7 D1 82 62 68 90 AA 0080 | 9A 66 48 06 00 F5 EF 2B 6A 63 83 00 C0 67 FF 25
0090 | 3F E9 07 80 A6 90 98 6E D2 A6 90 BD C4 B1 CA DB 0090 | 98 18 AE 91 7F 98 C6 7B BE 06 36 46 15 7D 3F 31
00A0 | 0A 94 57 19 3D 5C A2 CD 5C 40 38 A1 ED 5E DC 48 00A0 | A8 22 E5 9B 6B 81 B0 EB 73 76 DC 29 50 D5 83 95
00B0 | 58 2F 02 4B E4 06 83 C6 32 CA 27 9A FD 8F A3 52 00B0 | D1 4B DC 6E 6E 2A 27 CD C6 B9 1B 93 01 4C F8 EA
00C0 | A2 2F ED 98 CB 13 5B FF 45 98 65 46 3A 4B 93 76 00C0 | 22 25 AC C6 5B CA 90 4C DC 2F E4 AA 8A 50 49 F0
00D0 | 0D 0E CF DE ED FB A5 5C F6 EE AB 8E F5 58 C7 5F 00D0 | 83 5F 15 A4 94 11 29 43 71 81 CF DA 22 0E A9 B4
00E0 | 13 E5 1C 36 60 32 9F AE 40 07 8B 98 C8 8E 44 B3 00E0 | E5 C7 12 73 C8 5A 05 DF CD B9 BC 80 F6 75 6F F3
00F0 | 97 04 67 57 30 61 B6 FC 42 63 A4 67 B3 60 F9 BC 00F0 | AD 03 11 6D 4C 74 A2 EF 46 97 25 1E F5 2A DA EE
0100 | FE 5D 53 73 D9 55 88 ED CF C4 8E 77 7C 68 BD 13 0100 | 51 77 A8 6A 8D C1 31 D3 CA 5C 9A A1 6C BF 4B 3A
0110 | AC 42 C3 60 7B AD 93 55 74 1B DC E3 E3 34 21 FA 0110 | 2B E8 D6 55 26 B7 AC 53 4F 24 2D 4C 93 87 E6 1F
0120 | 36 CC 47 11 D3 C0 A2 58 62 80 77 16 8D 3E 6A D3 0120 | 34 63 7B 61 18 A2 2E FD C3 C1 9F 3F D0 CD 14 63
0130 | 9A 8E D4 4D A6 30 1A 8F C2 2D CC 66 5F C6 B7 08 0130 | E3 F2 40 B4 75 08 31 E5 3D 5A B1 9E 42 AE 16 E1
0140 | E2 19 E5 36 A0 D0 41 98 5E 44 5E E2 1C 91 EA 72 0140 | 0E F7 A0 6E C4 15 CB 20 B2 52 21 FB E4 5F 2B D0
0150 | 5C E4 28 C4 88 6F 85 7A DA 51 F2 49 53 99 8D CB 0150 | 63 3E 2D C3 31 65 B9 A6 EE 04 C6 7C F1 32 A6 32
0160 | 09 97 6E 6F 11 DA 27 3A F3 61 FF 72 A9 91 28 51 0160 | 1E E0 22 12 CD 07 DC 57 7F 14 34 FF 0B 57 7D 15
0170 | 57 2C 2E 21 1E 38 D7 10 1A 02 00 8D 2F 5D A9 3F 0170 | 55 B0 46 A5 2F 99 AF 8F AF A7 DF 21 CB E3 BD 6E
0180 | E4 91 60 61 96 4D 10 4C 81 32 81 05 B5 C4 E4 41 0180 | 8C 6E 91 6D DE 2D 2D 02 BC 63 25 26 92 9A B2 59
0190 | 65 09 1A FC A4 38 A3 C1 41 96 B3 55 96 84 46 9A 0190 | 3F 8A 97 F0 97 86 82 86 BB 85 25 BE FE 05 CD A8
01A0 | 8E EF 38 7F 16 97 4A 24 CE 17 D5 FA B7 2C CF 30 01A0 | 46 9D 21 4C 47 8F 53 29 08 D5 3A E0 72 A2 02 84
01B0 | 6F B3 B4 94 AF D4 27 9F B0 09 41 5D 65 F0 3C 5B 01B0 | 6A AB 09 F9 06 DD 38 D5 07 57 2D FF C9 3D 74 18
01C0 | E5 20 01 9E F3 04 D3 94 0F 6A 99 3A A1 B1 86 E0 01C0 | 14 D2 F7 01 F5 05 4E CD 46 84 C3 8A DC 24 95 33
01D0 | 43 59 F1 8B B9 78 5C 06 3A 6D 85 72 66 98 0A 4C 01D0 | CD 33 FC 87 AA 06 BD AD 4C 9C F4 E1 6C 24 F3 C5
01E0 | 53 1B 37 71 2F 3C 44 04 30 2F 21 8D 2C ED 8B A2 01E0 | 43 32 6F BB 15 F5 CC 8A 45 BD 06 55 37 E4 B4 6F
01F0 | D0 59 6A D8 49 77 FF 83 BC 68 C1 7E EB 8B DF 9B 01F0 | FF D0 3A 9C 90 51 6C B7 CB EE DE 43 71 AF 94 5E
0200 | 1B 0D E8 CA 1D 56 B1 59 8F 86 90 C4 A2 0E 43 A0 0200 | BA DF B7 2C E3 8B 4C 87 4B E2 FA A6 80 AA F0 67
0210 | 80 77 99 7E BB 9C 07 37 E7 74 C7 0B D0 43 CE 5F 0210 | DA 3A 5D 06 0A 9C 7F 5A F6 20 93 AD 3D 32 8A 31
0220 | CF BB 6D 4C 75 0D 37 7F 98 6A 5B 4B 97 BA AF D7 0220 | 41 AB 75 83 BA 28 F3 E7 A5 DA 66 09 1C DF 80 0D
0230 | 03 19 4C C0 96 A3 EA 0E BE 9D 31 3A 05 51 1A 99 0230 | 32 43 28 6E EC 08 AE 96 DE 97 94 1C 51 41 2C 3D
0240 | 7F 9B D5 7F CE 77 AE FA 22 83 DE 5A 16 BD CD 0E 0240 | 9A CC 4F 25 E9 23 64 28 C9 98 17 B0 AE CE 80 61
0250 | 6D B7 AF 02 F2 CF 1C 9D 3F F4 C2 81 8B 40 CF D6 0250 | B7 B0 D6 B4 B3 09 6B 8A 65 17 CF C0 17 11 3A 8B
0260 | 42 4C 98 5F 38 ED 61 8D AD 9C 9E 97 85 E7 60 95 0260 | F3 16 95 03 5C 12 39 EE 74 0F B5 DD 35 78 40 95
0270 | 5B FA 1A 11 7E FE 9F 4D FD 5A 7F 52 BA 5E 31 1C 0270 | 54 44 D9 2C 16 72 41 57 09 A4 1F EB E2 78 79 4C
0280 | E8 55 DF B9 F5 8E 8C 93 ED 78 12 A8</code></pre> 0280 | 0D 32 0B 18 80 77 28 08 94 F6 E1 C0</code></pre>
<p>Payload (de)serialization:</p> <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> <pre><code>server_DH_params_ok#d0e8075c nonce:int128 server_nonce:int128 encrypted_answer:string = Server_DH_Params;</code></pre>
<table class="table"> <table class="table">
@ -464,13 +464,13 @@ random_padding_bytes = 9762C3C980F1F993A8E7F526C8E9BB1645F23C3ED26FEB50B52E56910
<tr> <tr>
<td>message_id</td> <td>message_id</td>
<td>8, 8</td> <td>8, 8</td>
<td><code>0108C80455368866</code></td> <td><code>0194EAE4DC3A8866</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> <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>
<tr> <tr>
<td>message_length</td> <td>message_length</td>
<td>16, 4</td> <td>16, 4</td>
<td><code>90020000</code> (656 in decimal)</td> <td><code>B8020000</code> (696 in decimal)</td>
<td>Message body length</td> <td>Message body length</td>
</tr> </tr>
<tr> <tr>
@ -482,19 +482,19 @@ random_padding_bytes = 9762C3C980F1F993A8E7F526C8E9BB1645F23C3ED26FEB50B52E56910
<tr> <tr>
<td>nonce</td> <td>nonce</td>
<td>24, 16</td> <td>24, 16</td>
<td><code>F41E0598BABAEF429A9883EDF3C94722</code></td> <td><code>A8F480B739AF24DC392C2B09BA140207</code></td>
<td>Value generated by client in Step 1</td> <td>Value generated by client in Step 1</td>
</tr> </tr>
<tr> <tr>
<td>server_nonce</td> <td>server_nonce</td>
<td>40, 16</td> <td>40, 16</td>
<td><code>F362D2D6A6222404758386C43FCFE942</code></td> <td><code>D22B8C0A59AD5890D7D623C5FDB3E27E</code></td>
<td>Value received from server in Step 2</td> <td>Value received from server in Step 2</td>
</tr> </tr>
<tr> <tr>
<td>encrypted_answer</td> <td>encrypted_answer</td>
<td>56, 596</td> <td>56, 596</td>
<td><code>FE5002001379F77A37524F5531586002</code> <code>0AA7C0A93F2219C9BCAF2D9D68C33D67</code> <code>DB3B92DBB17D6C7D445E59CB3D4C89B3</code> <code>255A50AB09A3AD18A13AEA8CDD2F3926</code> <code>81C3C7C531F8428CDE717E6D59773E4C</code> <code>2ED7D182626890AA3FE90780A690986E</code> <code>D2A690BDC4B1CADB0A9457193D5CA2CD</code> <code>5C4038A1ED5EDC48582F024BE40683C6</code> <code>32CA279AFD8FA352A22FED98CB135BFF</code> <code>459865463A4B93760D0ECFDEEDFBA55C</code> <code>F6EEAB8EF558C75F13E51C3660329FAE</code> <code>40078B98C88E44B3970467573061B6FC</code> <code>4263A467B360F9BCFE5D5373D95588ED</code> <code>CFC48E777C68BD13AC42C3607BAD9355</code> <code>741BDCE3E33421FA36CC4711D3C0A258</code> <code>628077168D3E6AD39A8ED44DA6301A8F</code> <code>C22DCC665FC6B708E219E536A0D04198</code> <code>5E445EE21C91EA725CE428C4886F857A</code> <code>DA51F24953998DCB09976E6F11DA273A</code> <code>F361FF72A9912851572C2E211E38D710</code> <code>1A02008D2F5DA93FE4916061964D104C</code> <code>81328105B5C4E44165091AFCA438A3C1</code> <code>4196B3559684469A8EEF387F16974A24</code> <code>CE17D5FAB72CCF306FB3B494AFD4279F</code> <code>B009415D65F03C5BE520019EF304D394</code> <code>0F6A993AA1B186E04359F18BB9785C06</code> <code>3A6D857266980A4C531B37712F3C4404</code> <code>302F218D2CED8BA2D0596AD84977FF83</code> <code>BC68C17EEB8BDF9B1B0DE8CA1D56B159</code> <code>8F8690C4A20E43A08077997EBB9C0737</code> <code>E774C70BD043CE5FCFBB6D4C750D377F</code> <code>986A5B4B97BAAFD703194CC096A3EA0E</code> <code>BE9D313A05511A997F9BD57FCE77AEFA</code> <code>2283DE5A16BDCD0E6DB7AF02F2CF1C9D</code> <code>3FF4C2818B40CFD6424C985F38ED618D</code> <code>AD9C9E9785E760955BFA1A117EFE9F4D</code> <code>FD5A7F52BA5E311CE855DFB9F58E8C93</code><br> <code>ED7812A8</code></td> <td><code>FE500200426E178E22902FB5614A76E3</code> <code>DC905D42938A7660DC158BAB4C877077</code> <code>1AADBE7E129D92E719766B59B14123A2</code> <code>544874AA6C35578340E9FEA29A1ED1B6</code> <code>A4D11BFD0A2A89309A66480600F5EF2B</code> <code>6A638300C067FF259818AE917F98C67B</code> <code>BE063646157D3F31A822E59B6B81B0EB</code> <code>7376DC2950D58395D14BDC6E6E2A27CD</code> <code>C6B91B93014CF8EA2225ACC65BCA904C</code> <code>DC2FE4AA8A5049F0835F15A494112943</code> <code>7181CFDA220EA9B4E5C71273C85A05DF</code> <code>CDB9BC80F6756FF3AD03116D4C74A2EF</code> <code>4697251EF52ADAEE5177A86A8DC131D3</code> <code>CA5C9AA16CBF4B3A2BE8D65526B7AC53</code> <code>4F242D4C9387E61F34637B6118A22EFD</code> <code>C3C19F3FD0CD1463E3F240B4750831E5</code> <code>3D5AB19E42AE16E10EF7A06EC415CB20</code> <code>B25221FBE45F2BD0633E2DC33165B9A6</code> <code>EE04C67CF132A6321EE02212CD07DC57</code> <code>7F1434FF0B577D1555B046A52F99AF8F</code> <code>AFA7DF21CBE3BD6E8C6E916DDE2D2D02</code> <code>BC632526929AB2593F8A97F097868286</code> <code>BB8525BEFE05CDA8469D214C478F5329</code> <code>08D53AE072A202846AAB09F906DD38D5</code> <code>07572DFFC93D741814D2F701F5054ECD</code> <code>4684C38ADC249533CD33FC87AA06BDAD</code> <code>4C9CF4E16C24F3C543326FBB15F5CC8A</code> <code>45BD065537E4B46FFFD03A9C90516CB7</code> <code>CBEEDE4371AF945EBADFB72CE38B4C87</code> <code>4BE2FAA680AAF067DA3A5D060A9C7F5A</code> <code>F62093AD3D328A3141AB7583BA28F3E7</code> <code>A5DA66091CDF800D3243286EEC08AE96</code> <code>DE97941C51412C3D9ACC4F25E9236428</code> <code>C99817B0AECE8061B7B0D6B4B3096B8A</code> <code>6517CFC017113A8BF31695035C1239EE</code> <code>740FB5DD357840955444D92C16724157</code> <code>09A41FEBE278794C0D320B1880772808</code><br> <code>94F6E1C0</code></td>
<td>See below</td> <td>See below</td>
</tr> </tr>
</tbody> </tbody>
@ -502,20 +502,20 @@ random_padding_bytes = 9762C3C980F1F993A8E7F526C8E9BB1645F23C3ED26FEB50B52E56910
<!-- end server_DH_params_ok --> <!-- 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> <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 --> <!-- start server_DH_inner_data_input -->
<pre><code>encrypted_answer = 1379F77A37524F55315860020AA7C0A93F2219C9BCAF2D9D68C33D67DB3B92DBB17D6C7D445E59CB3D4C89B3255A50AB09A3AD18A13AEA8CDD2F392681C3C7C531F8428CDE717E6D59773E4C2ED7D182626890AA3FE90780A690986ED2A690BDC4B1CADB0A9457193D5CA2CD5C4038A1ED5EDC48582F024BE40683C632CA279AFD8FA352A22FED98CB135BFF459865463A4B93760D0ECFDEEDFBA55CF6EEAB8EF558C75F13E51C3660329FAE40078B98C88E44B3970467573061B6FC4263A467B360F9BCFE5D5373D95588EDCFC48E777C68BD13AC42C3607BAD9355741BDCE3E33421FA36CC4711D3C0A258628077168D3E6AD39A8ED44DA6301A8FC22DCC665FC6B708E219E536A0D041985E445EE21C91EA725CE428C4886F857ADA51F24953998DCB09976E6F11DA273AF361FF72A9912851572C2E211E38D7101A02008D2F5DA93FE4916061964D104C81328105B5C4E44165091AFCA438A3C14196B3559684469A8EEF387F16974A24CE17D5FAB72CCF306FB3B494AFD4279FB009415D65F03C5BE520019EF304D3940F6A993AA1B186E04359F18BB9785C063A6D857266980A4C531B37712F3C4404302F218D2CED8BA2D0596AD84977FF83BC68C17EEB8BDF9B1B0DE8CA1D56B1598F8690C4A20E43A08077997EBB9C0737E774C70BD043CE5FCFBB6D4C750D377F986A5B4B97BAAFD703194CC096A3EA0EBE9D313A05511A997F9BD57FCE77AEFA2283DE5A16BDCD0E6DB7AF02F2CF1C9D3FF4C2818B40CFD6424C985F38ED618DAD9C9E9785E760955BFA1A117EFE9F4DFD5A7F52BA5E311CE855DFB9F58E8C93ED7812A8 <pre><code>encrypted_answer = 426E178E22902FB5614A76E3DC905D42938A7660DC158BAB4C8770771AADBE7E129D92E719766B59B14123A2544874AA6C35578340E9FEA29A1ED1B6A4D11BFD0A2A89309A66480600F5EF2B6A638300C067FF259818AE917F98C67BBE063646157D3F31A822E59B6B81B0EB7376DC2950D58395D14BDC6E6E2A27CDC6B91B93014CF8EA2225ACC65BCA904CDC2FE4AA8A5049F0835F15A4941129437181CFDA220EA9B4E5C71273C85A05DFCDB9BC80F6756FF3AD03116D4C74A2EF4697251EF52ADAEE5177A86A8DC131D3CA5C9AA16CBF4B3A2BE8D65526B7AC534F242D4C9387E61F34637B6118A22EFDC3C19F3FD0CD1463E3F240B4750831E53D5AB19E42AE16E10EF7A06EC415CB20B25221FBE45F2BD0633E2DC33165B9A6EE04C67CF132A6321EE02212CD07DC577F1434FF0B577D1555B046A52F99AF8FAFA7DF21CBE3BD6E8C6E916DDE2D2D02BC632526929AB2593F8A97F097868286BB8525BEFE05CDA8469D214C478F532908D53AE072A202846AAB09F906DD38D507572DFFC93D741814D2F701F5054ECD4684C38ADC249533CD33FC87AA06BDAD4C9CF4E16C24F3C543326FBB15F5CC8A45BD065537E4B46FFFD03A9C90516CB7CBEEDE4371AF945EBADFB72CE38B4C874BE2FAA680AAF067DA3A5D060A9C7F5AF62093AD3D328A3141AB7583BA28F3E7A5DA66091CDF800D3243286EEC08AE96DE97941C51412C3D9ACC4F25E9236428C99817B0AECE8061B7B0D6B4B3096B8A6517CFC017113A8BF31695035C1239EE740FB5DD357840955444D92C1672415709A41FEBE278794C0D320B188077280894F6E1C0
tmp_aes_key = AB9279E6573234EE8C58F5DF0582D96E0C8565AF421956273B4566749973F014 tmp_aes_key = 42399E0DC08B83C9C20217EC98E69268437D8AD8E975FA6AA59A7C471C631840
tmp_aes_iv = CC9DB090E4B756E038674E7D3471F4866629D75BBC2185CE49E75A0B091AAA71</code></pre> tmp_aes_iv = C57F717B633C595F44189FD35CA951249D64FAC426AA6356C020DFFC847F523C</code></pre>
<!-- end server_DH_inner_data_input --> <!-- end server_DH_inner_data_input -->
<p>Yielding:</p> <p>Yielding:</p>
<!-- start server_DH_inner_data_output --> <!-- start server_DH_inner_data_output -->
<pre><code>answer_with_hash = 93B3E6A73ECB761901C306C673AEEB8ADF2E6B74BA0D89B5F41E0598BABAEF429A9883EDF3C94722F362D2D6A6222404758386C43FCFE94203000000FE000100C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5BFE0001000653720F187D514C0C42DEF6B12D9E800A37AAC1438D5B685C04CA62B78FCF209DA40AA99C8D889300F83B33FCAFE4CEF78C852F361ADC220031483E2FA9A1F26B141BC44EA495807A4682943631ADA223371C493D2CFB86D69991CD5F441ECAE69168A701048B8D54B95337BD8967CAF5038656ACF19FEF86FD0A4861D8AC40DA8872034894655C5CC7C3A09A3DEA76FB4CE3688A1D8DD19DD624347E6B50287A375FE36F7F6B3BE825A558C9FC89BACF77426F767B047CD4AC85C325239F4998D78D0D2A7AB48A555DD29616C40142706CE9A78B39AFB3B5F1FC82D76149736181B6D4CFA563A3BCF064ABA151D31CEAB267C6646362679E36F5621DBCDDA755368866BD518A77076B8660 <pre><code>answer_with_hash = 39775B6232D4C2F4382E5803183279EA622540EFBA0D89B5A8F480B739AF24DC392C2B09BA140207D22B8C0A59AD5890D7D623C5FDB3E27E03000000FE000100C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5BFE00010047D812AECDF80839F08C2D76E2D34568296A585B271BE25B2123A0EDD7092A28BA93EF5708E327CA2CA59711F9495FA944393B15B6295314A2427487124FAC422549250C3629AB5463D5344C94ABD3E61EBF102EF7E1C7B9A00C2781B4BD224E126A49268F8E322E89A04E69A1ED964AA2577C7A30D345C828321B360DDCCBC46F14BA6E5A0E5ACC63D0D851725F99D8C99B9EF116E522AF5B277F21B01D06CED3727B9249F3902C595AB19E2AEDCF566317A9215F35B859CA79584B3982EB73FB69A2035668C0BBBD5D1F56CB93A7F625D14C9B955834821031E300EE6520FE79B9194460B17C4706E5558B2BE16E2EEA73C6A237CF8598AF283FCC2564D0B7DC3A88669E0FCAE80AE7D45F
answer = BA0D89B5F41E0598BABAEF429A9883EDF3C94722F362D2D6A6222404758386C43FCFE94203000000FE000100C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5BFE0001000653720F187D514C0C42DEF6B12D9E800A37AAC1438D5B685C04CA62B78FCF209DA40AA99C8D889300F83B33FCAFE4CEF78C852F361ADC220031483E2FA9A1F26B141BC44EA495807A4682943631ADA223371C493D2CFB86D69991CD5F441ECAE69168A701048B8D54B95337BD8967CAF5038656ACF19FEF86FD0A4861D8AC40DA8872034894655C5CC7C3A09A3DEA76FB4CE3688A1D8DD19DD624347E6B50287A375FE36F7F6B3BE825A558C9FC89BACF77426F767B047CD4AC85C325239F4998D78D0D2A7AB48A555DD29616C40142706CE9A78B39AFB3B5F1FC82D76149736181B6D4CFA563A3BCF064ABA151D31CEAB267C6646362679E36F5621DBCDDA755368866BD518A77076B8660</code></pre> answer = BA0D89B5A8F480B739AF24DC392C2B09BA140207D22B8C0A59AD5890D7D623C5FDB3E27E03000000FE000100C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5BFE00010047D812AECDF80839F08C2D76E2D34568296A585B271BE25B2123A0EDD7092A28BA93EF5708E327CA2CA59711F9495FA944393B15B6295314A2427487124FAC422549250C3629AB5463D5344C94ABD3E61EBF102EF7E1C7B9A00C2781B4BD224E126A49268F8E322E89A04E69A1ED964AA2577C7A30D345C828321B360DDCCBC46F14BA6E5A0E5ACC63D0D851725F99D8C99B9EF116E522AF5B277F21B01D06CED3727B9249F3902C595AB19E2AEDCF566317A9215F35B859CA79584B3982EB73FB69A2035668C0BBBD5D1F56CB93A7F625D14C9B955834821031E300EE6520FE79B9194460B17C4706E5558B2BE16E2EEA73C6A237CF8598AF283FCC2564D0B7DC3A88669E0FCAE80AE7D45F</code></pre>
<!-- end server_DH_inner_data_output --> <!-- end server_DH_inner_data_output -->
<!-- start server_DH_inner_data --> <!-- start server_DH_inner_data -->
<p>Generated payload (excluding transport headers/trailers):</p> <p>Generated payload (excluding transport headers/trailers):</p>
<pre><code>0000 | BA 0D 89 B5 F4 1E 05 98 BA BA EF 42 9A 98 83 ED <pre><code>0000 | BA 0D 89 B5 A8 F4 80 B7 39 AF 24 DC 39 2C 2B 09
0010 | F3 C9 47 22 F3 62 D2 D6 A6 22 24 04 75 83 86 C4 0010 | BA 14 02 07 D2 2B 8C 0A 59 AD 58 90 D7 D6 23 C5
0020 | 3F CF E9 42 03 00 00 00 FE 00 01 00 C7 1C AE B9 0020 | FD B3 E2 7E 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 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 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 0050 | A7 C1 40 58 22 94 93 D2 25 30 F4 DB FA 33 6F 6E
@ -532,23 +532,23 @@ answer = BA0D89B5F41E0598BABAEF429A9883EDF3C94722F362D2D6A6222404758386C43FCFE94
0100 | F4 7B F9 59 D9 56 85 0C E9 29 85 1F 0D 81 15 F6 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 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 0120 | 34 B1 04 03 11 9C D8 E3 B9 2F CC 5B FE 00 01 00
0130 | 06 53 72 0F 18 7D 51 4C 0C 42 DE F6 B1 2D 9E 80 0130 | 47 D8 12 AE CD F8 08 39 F0 8C 2D 76 E2 D3 45 68
0140 | 0A 37 AA C1 43 8D 5B 68 5C 04 CA 62 B7 8F CF 20 0140 | 29 6A 58 5B 27 1B E2 5B 21 23 A0 ED D7 09 2A 28
0150 | 9D A4 0A A9 9C 8D 88 93 00 F8 3B 33 FC AF E4 CE 0150 | BA 93 EF 57 08 E3 27 CA 2C A5 97 11 F9 49 5F A9
0160 | F7 8C 85 2F 36 1A DC 22 00 31 48 3E 2F A9 A1 F2 0160 | 44 39 3B 15 B6 29 53 14 A2 42 74 87 12 4F AC 42
0170 | 6B 14 1B C4 4E A4 95 80 7A 46 82 94 36 31 AD A2 0170 | 25 49 25 0C 36 29 AB 54 63 D5 34 4C 94 AB D3 E6
0180 | 23 37 1C 49 3D 2C FB 86 D6 99 91 CD 5F 44 1E CA 0180 | 1E BF 10 2E F7 E1 C7 B9 A0 0C 27 81 B4 BD 22 4E
0190 | E6 91 68 A7 01 04 8B 8D 54 B9 53 37 BD 89 67 CA 0190 | 12 6A 49 26 8F 8E 32 2E 89 A0 4E 69 A1 ED 96 4A
01A0 | F5 03 86 56 AC F1 9F EF 86 FD 0A 48 61 D8 AC 40 01A0 | A2 57 7C 7A 30 D3 45 C8 28 32 1B 36 0D DC CB C4
01B0 | DA 88 72 03 48 94 65 5C 5C C7 C3 A0 9A 3D EA 76 01B0 | 6F 14 BA 6E 5A 0E 5A CC 63 D0 D8 51 72 5F 99 D8
01C0 | FB 4C E3 68 8A 1D 8D D1 9D D6 24 34 7E 6B 50 28 01C0 | C9 9B 9E F1 16 E5 22 AF 5B 27 7F 21 B0 1D 06 CE
01D0 | 7A 37 5F E3 6F 7F 6B 3B E8 25 A5 58 C9 FC 89 BA 01D0 | D3 72 7B 92 49 F3 90 2C 59 5A B1 9E 2A ED CF 56
01E0 | CF 77 42 6F 76 7B 04 7C D4 AC 85 C3 25 23 9F 49 01E0 | 63 17 A9 21 5F 35 B8 59 CA 79 58 4B 39 82 EB 73
01F0 | 98 D7 8D 0D 2A 7A B4 8A 55 5D D2 96 16 C4 01 42 01F0 | FB 69 A2 03 56 68 C0 BB BD 5D 1F 56 CB 93 A7 F6
0200 | 70 6C E9 A7 8B 39 AF B3 B5 F1 FC 82 D7 61 49 73 0200 | 25 D1 4C 9B 95 58 34 82 10 31 E3 00 EE 65 20 FE
0210 | 61 81 B6 D4 CF A5 63 A3 BC F0 64 AB A1 51 D3 1C 0210 | 79 B9 19 44 60 B1 7C 47 06 E5 55 8B 2B E1 6E 2E
0220 | EA B2 67 C6 64 63 62 67 9E 36 F5 62 1D BC DD A7 0220 | EA 73 C6 A2 37 CF 85 98 AF 28 3F CC 25 64 D0 B7
0230 | 55 36 88 66</code></pre> 0230 | DC 3A 88 66</code></pre>
<p>Payload (de)serialization:</p> <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> <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"> <table class="table">
@ -570,13 +570,13 @@ answer = BA0D89B5F41E0598BABAEF429A9883EDF3C94722F362D2D6A6222404758386C43FCFE94
<tr> <tr>
<td>nonce</td> <td>nonce</td>
<td>4, 16</td> <td>4, 16</td>
<td><code>F41E0598BABAEF429A9883EDF3C94722</code></td> <td><code>A8F480B739AF24DC392C2B09BA140207</code></td>
<td>Value generated by client in Step 1</td> <td>Value generated by client in Step 1</td>
</tr> </tr>
<tr> <tr>
<td>server_nonce</td> <td>server_nonce</td>
<td>20, 16</td> <td>20, 16</td>
<td><code>F362D2D6A6222404758386C43FCFE942</code></td> <td><code>D22B8C0A59AD5890D7D623C5FDB3E27E</code></td>
<td>Value received from server in Step 2</td> <td>Value received from server in Step 2</td>
</tr> </tr>
<tr> <tr>
@ -594,13 +594,13 @@ answer = BA0D89B5F41E0598BABAEF429A9883EDF3C94722F362D2D6A6222404758386C43FCFE94
<tr> <tr>
<td>g_a</td> <td>g_a</td>
<td>300, 260</td> <td>300, 260</td>
<td><code>FE0001000653720F187D514C0C42DEF6</code> <code>B12D9E800A37AAC1438D5B685C04CA62</code> <code>B78FCF209DA40AA99C8D889300F83B33</code> <code>FCAFE4CEF78C852F361ADC220031483E</code> <code>2FA9A1F26B141BC44EA495807A468294</code> <code>3631ADA223371C493D2CFB86D69991CD</code> <code>5F441ECAE69168A701048B8D54B95337</code> <code>BD8967CAF5038656ACF19FEF86FD0A48</code> <code>61D8AC40DA8872034894655C5CC7C3A0</code> <code>9A3DEA76FB4CE3688A1D8DD19DD62434</code> <code>7E6B50287A375FE36F7F6B3BE825A558</code> <code>C9FC89BACF77426F767B047CD4AC85C3</code> <code>25239F4998D78D0D2A7AB48A555DD296</code> <code>16C40142706CE9A78B39AFB3B5F1FC82</code> <code>D76149736181B6D4CFA563A3BCF064AB</code> <code>A151D31CEAB267C6646362679E36F562</code><br> <code>1DBCDDA7</code></td> <td><code>FE00010047D812AECDF80839F08C2D76</code> <code>E2D34568296A585B271BE25B2123A0ED</code> <code>D7092A28BA93EF5708E327CA2CA59711</code> <code>F9495FA944393B15B6295314A2427487</code> <code>124FAC422549250C3629AB5463D5344C</code> <code>94ABD3E61EBF102EF7E1C7B9A00C2781</code> <code>B4BD224E126A49268F8E322E89A04E69</code> <code>A1ED964AA2577C7A30D345C828321B36</code> <code>0DDCCBC46F14BA6E5A0E5ACC63D0D851</code> <code>725F99D8C99B9EF116E522AF5B277F21</code> <code>B01D06CED3727B9249F3902C595AB19E</code> <code>2AEDCF566317A9215F35B859CA79584B</code> <code>3982EB73FB69A2035668C0BBBD5D1F56</code> <code>CB93A7F625D14C9B955834821031E300</code> <code>EE6520FE79B9194460B17C4706E5558B</code> <code>2BE16E2EEA73C6A237CF8598AF283FCC</code><br> <code>2564D0B7</code></td>
<td><code>g_a</code> diffie-hellman parameter</td> <td><code>g_a</code> diffie-hellman parameter</td>
</tr> </tr>
<tr> <tr>
<td>server_time</td> <td>server_time</td>
<td>560, 4</td> <td>560, 4</td>
<td><code>55368866</code> (1720202837 in decimal)</td> <td><code>DC3A8866</code> (1720203996 in decimal)</td>
<td>Server time</td> <td>Server time</td>
</tr> </tr>
</tbody> </tbody>
@ -609,34 +609,34 @@ answer = BA0D89B5F41E0598BABAEF429A9883EDF3C94722F362D2D6A6222404758386C43FCFE94
<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> <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> <p>First, generate a secure random 2048-bit number b:</p>
<!-- start b --> <!-- start b -->
<pre><code>b = 214731A5917AFB2E65ACA58FF6B287DBFB066E45FE502742BF04D04EBFAF1825EBF733EAF77C00AFE0C708CA86A17D0617F6ACCF3201FE0459FF3BC4F53064BCA7C86F6950BC2953032C34EC5F4F04238473B7CA741267909C6EDFB44A1A9903E6527051207B945EB9B77C7683B8294B19A31CA56643C583C499CBF634653D40BD0CF68F5CF7638540D69F652CA1F97C68894423717DA93318A9264C5BF9467AC3478B61371A6806169BC99FDCF3556EF7D1F1DA879D8F8AFA20E28A9DDA25BE100ED11B8849FB4ED7789211A8C0E5097A339543CCCC8FEB5036CEEE90A8CD5374C277C7158DD168623EEB1EE3231A40FC6788C6F7F9585DBB7E73504C7CE24F</code></pre> <pre><code>b = 8149841F0753CAE82484A377B7E164F48F7249FAF0626EAA59639BBBFDE8F0BED3C009AFE647DD91F02DF8B9CA4A7CEDC1E3459EE46C84949830EA7C24280DBAFDDFA93318DF4ADDE90B507F5024C5F30DAA31EA30268C35D9D412DA3EC2F0D0AEA7465C78B8B32C88E0503D809AD623B31396F0846412B40065BEE4624D2A97F3351EEE21D82B4BAF6287AEEA4E1E9EC9E4CA41A6F3A514BABBA70656D0047AE8BA125D37D4C56E1ACF6C56C6A699017F00169028B8D67705B8754D7251320298F8F25D71F1D528AD671F5CA6FDF58BCF03D399DFDDFB9A0ED614D1771BB096F5B9AAA565EE9F55B95D012A579BC1502D45FD6185824A0E6F2E278BBC4F12DC</code></pre>
<!-- end b --> <!-- end b -->
<p>Then compute <code>g_b = pow(g, b) mod dh_prime</code></p> <p>Then compute <code>g_b = pow(g, b) mod dh_prime</code></p>
<!-- start g_b --> <!-- start g_b -->
<pre><code>g_b = BDD94C16E30FA21FEFE8666865F0D0FCE25F3EDF1B1D86187D1EAEADB8F695DF826EDD914AE36C379DEAC562EA326A0F90AABA6C54F628957B256769164302441E24A59C59E66A6C890A89F01FEAF2DF39CC3CDA4F7C9F3DFBF251048F13BA6AECC0C5951375388D67842FC4901B89E1BA5E7E83D3AB2635FD4B343D894B27E589F8AE3E8625A8B4DFD00686629F4990CFF85435474DC3191A996322DC222D2C893627CB2CF6930F3339B224FDAF6AEACE4B549B15A1DA1CFE17D6EEBDE770D39ADDCE4E5A130F2D84EB0EDBBE35D832BBC4D410F2D6E72F34B2D394FC1DA9133DA63532BDC39C496E7A21D09A924A8F21AC00445BF5676FDE5C2F336FA819B7</code></pre> <pre><code>g_b = 51CF738CC8C6AAE1989C4AF33919C34F99EDB542CC6B68CD93C9C0D3D91C53A893A56C254F77353DDA42D3BA663D52BEEBE6BD2453498832D3E6DB44A167167E3736C87F730971E11DDDCD4F3B3A5A8E0023282E037D482D8D326D04CC6A104036D7BEBBC8B734059C62B5F3F25B98075030D5438E28494AF706CDAC346AFC9A77DAE40E0BECBBFBF689BEA9E72912F0067D03ADB06A496E5920973D20EEEC5C8B6B0FEEA1D94DCA8E864ABBB7E462FA7A46A085F916BAD17D0B3010D06D722F7016BE4F46657B8E185843C78947E656D4B11BEDAC364B896606E45171FA5CC724A04F94278623632FF811AEB3A285CC9FB660103D2C172766D5DF89F7DC6D3B</code></pre>
<!-- end g_b --> <!-- end g_b -->
<h6>7.1) generation of encrypted_data</h6> <h6>7.1) generation of encrypted_data</h6>
<!-- start client_DH_inner_data --> <!-- start client_DH_inner_data -->
<p>Generated payload (excluding transport headers/trailers):</p> <p>Generated payload (excluding transport headers/trailers):</p>
<pre><code>0000 | 54 B6 43 66 F4 1E 05 98 BA BA EF 42 9A 98 83 ED <pre><code>0000 | 54 B6 43 66 A8 F4 80 B7 39 AF 24 DC 39 2C 2B 09
0010 | F3 C9 47 22 F3 62 D2 D6 A6 22 24 04 75 83 86 C4 0010 | BA 14 02 07 D2 2B 8C 0A 59 AD 58 90 D7 D6 23 C5
0020 | 3F CF E9 42 00 00 00 00 00 00 00 00 FE 00 01 00 0020 | FD B3 E2 7E 00 00 00 00 00 00 00 00 FE 00 01 00
0030 | BD D9 4C 16 E3 0F A2 1F EF E8 66 68 65 F0 D0 FC 0030 | 51 CF 73 8C C8 C6 AA E1 98 9C 4A F3 39 19 C3 4F
0040 | E2 5F 3E DF 1B 1D 86 18 7D 1E AE AD B8 F6 95 DF 0040 | 99 ED B5 42 CC 6B 68 CD 93 C9 C0 D3 D9 1C 53 A8
0050 | 82 6E DD 91 4A E3 6C 37 9D EA C5 62 EA 32 6A 0F 0050 | 93 A5 6C 25 4F 77 35 3D DA 42 D3 BA 66 3D 52 BE
0060 | 90 AA BA 6C 54 F6 28 95 7B 25 67 69 16 43 02 44 0060 | EB E6 BD 24 53 49 88 32 D3 E6 DB 44 A1 67 16 7E
0070 | 1E 24 A5 9C 59 E6 6A 6C 89 0A 89 F0 1F EA F2 DF 0070 | 37 36 C8 7F 73 09 71 E1 1D DD CD 4F 3B 3A 5A 8E
0080 | 39 CC 3C DA 4F 7C 9F 3D FB F2 51 04 8F 13 BA 6A 0080 | 00 23 28 2E 03 7D 48 2D 8D 32 6D 04 CC 6A 10 40
0090 | EC C0 C5 95 13 75 38 8D 67 84 2F C4 90 1B 89 E1 0090 | 36 D7 BE BB C8 B7 34 05 9C 62 B5 F3 F2 5B 98 07
00A0 | BA 5E 7E 83 D3 AB 26 35 FD 4B 34 3D 89 4B 27 E5 00A0 | 50 30 D5 43 8E 28 49 4A F7 06 CD AC 34 6A FC 9A
00B0 | 89 F8 AE 3E 86 25 A8 B4 DF D0 06 86 62 9F 49 90 00B0 | 77 DA E4 0E 0B EC BB FB F6 89 BE A9 E7 29 12 F0
00C0 | CF F8 54 35 47 4D C3 19 1A 99 63 22 DC 22 2D 2C 00C0 | 06 7D 03 AD B0 6A 49 6E 59 20 97 3D 20 EE EC 5C
00D0 | 89 36 27 CB 2C F6 93 0F 33 39 B2 24 FD AF 6A EA 00D0 | 8B 6B 0F EE A1 D9 4D CA 8E 86 4A BB B7 E4 62 FA
00E0 | CE 4B 54 9B 15 A1 DA 1C FE 17 D6 EE BD E7 70 D3 00E0 | 7A 46 A0 85 F9 16 BA D1 7D 0B 30 10 D0 6D 72 2F
00F0 | 9A DD CE 4E 5A 13 0F 2D 84 EB 0E DB BE 35 D8 32 00F0 | 70 16 BE 4F 46 65 7B 8E 18 58 43 C7 89 47 E6 56
0100 | BB C4 D4 10 F2 D6 E7 2F 34 B2 D3 94 FC 1D A9 13 0100 | D4 B1 1B ED AC 36 4B 89 66 06 E4 51 71 FA 5C C7
0110 | 3D A6 35 32 BD C3 9C 49 6E 7A 21 D0 9A 92 4A 8F 0110 | 24 A0 4F 94 27 86 23 63 2F F8 11 AE B3 A2 85 CC
0120 | 21 AC 00 44 5B F5 67 6F DE 5C 2F 33 6F A8 19 B7</code></pre> 0120 | 9F B6 60 10 3D 2C 17 27 66 D5 DF 89 F7 DC 6D 3B</code></pre>
<p>Payload (de)serialization:</p> <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> <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"> <table class="table">
@ -658,19 +658,19 @@ answer = BA0D89B5F41E0598BABAEF429A9883EDF3C94722F362D2D6A6222404758386C43FCFE94
<tr> <tr>
<td>nonce</td> <td>nonce</td>
<td>4, 16</td> <td>4, 16</td>
<td><code>F41E0598BABAEF429A9883EDF3C94722</code></td> <td><code>A8F480B739AF24DC392C2B09BA140207</code></td>
<td>Value generated by client in Step 1</td> <td>Value generated by client in Step 1</td>
</tr> </tr>
<tr> <tr>
<td>server_nonce</td> <td>server_nonce</td>
<td>20, 16</td> <td>20, 16</td>
<td><code>F362D2D6A6222404758386C43FCFE942</code></td> <td><code>D22B8C0A59AD5890D7D623C5FDB3E27E</code></td>
<td>Value received from server in Step 2</td> <td>Value received from server in Step 2</td>
</tr> </tr>
<tr> <tr>
<td>g_b</td> <td>g_b</td>
<td>36, 260</td> <td>36, 260</td>
<td><code>FE000100BDD94C16E30FA21FEFE86668</code> <code>65F0D0FCE25F3EDF1B1D86187D1EAEAD</code> <code>B8F695DF826EDD914AE36C379DEAC562</code> <code>EA326A0F90AABA6C54F628957B256769</code> <code>164302441E24A59C59E66A6C890A89F0</code> <code>1FEAF2DF39CC3CDA4F7C9F3DFBF25104</code> <code>8F13BA6AECC0C5951375388D67842FC4</code> <code>901B89E1BA5E7E83D3AB2635FD4B343D</code> <code>894B27E589F8AE3E8625A8B4DFD00686</code> <code>629F4990CFF85435474DC3191A996322</code> <code>DC222D2C893627CB2CF6930F3339B224</code> <code>FDAF6AEACE4B549B15A1DA1CFE17D6EE</code> <code>BDE770D39ADDCE4E5A130F2D84EB0EDB</code> <code>BE35D832BBC4D410F2D6E72F34B2D394</code> <code>FC1DA9133DA63532BDC39C496E7A21D0</code> <code>9A924A8F21AC00445BF5676FDE5C2F33</code><br> <code>6FA819B7</code></td> <td><code>FE00010051CF738CC8C6AAE1989C4AF3</code> <code>3919C34F99EDB542CC6B68CD93C9C0D3</code> <code>D91C53A893A56C254F77353DDA42D3BA</code> <code>663D52BEEBE6BD2453498832D3E6DB44</code> <code>A167167E3736C87F730971E11DDDCD4F</code> <code>3B3A5A8E0023282E037D482D8D326D04</code> <code>CC6A104036D7BEBBC8B734059C62B5F3</code> <code>F25B98075030D5438E28494AF706CDAC</code> <code>346AFC9A77DAE40E0BECBBFBF689BEA9</code> <code>E72912F0067D03ADB06A496E5920973D</code> <code>20EEEC5C8B6B0FEEA1D94DCA8E864ABB</code> <code>B7E462FA7A46A085F916BAD17D0B3010</code> <code>D06D722F7016BE4F46657B8E185843C7</code> <code>8947E656D4B11BEDAC364B896606E451</code> <code>71FA5CC724A04F94278623632FF811AE</code> <code>B3A285CC9FB660103D2C172766D5DF89</code><br> <code>F7DC6D3B</code></td>
<td>Single-byte prefix denoting length, a 256-byte (2048-bit) string, and zero bytes of padding</td> <td>Single-byte prefix denoting length, a 256-byte (2048-bit) string, and zero bytes of padding</td>
</tr> </tr>
<tr> <tr>
@ -684,47 +684,47 @@ answer = BA0D89B5F41E0598BABAEF429A9883EDF3C94722F362D2D6A6222404758386C43FCFE94
<!-- end client_DH_inner_data --> <!-- 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> <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 --> <!-- start client_DH_inner_data_input -->
<pre><code>data = 54B64366F41E0598BABAEF429A9883EDF3C94722F362D2D6A6222404758386C43FCFE9420000000000000000FE000100BDD94C16E30FA21FEFE8666865F0D0FCE25F3EDF1B1D86187D1EAEADB8F695DF826EDD914AE36C379DEAC562EA326A0F90AABA6C54F628957B256769164302441E24A59C59E66A6C890A89F01FEAF2DF39CC3CDA4F7C9F3DFBF251048F13BA6AECC0C5951375388D67842FC4901B89E1BA5E7E83D3AB2635FD4B343D894B27E589F8AE3E8625A8B4DFD00686629F4990CFF85435474DC3191A996322DC222D2C893627CB2CF6930F3339B224FDAF6AEACE4B549B15A1DA1CFE17D6EEBDE770D39ADDCE4E5A130F2D84EB0EDBBE35D832BBC4D410F2D6E72F34B2D394FC1DA9133DA63532BDC39C496E7A21D09A924A8F21AC00445BF5676FDE5C2F336FA819B7 <pre><code>data = 54B64366A8F480B739AF24DC392C2B09BA140207D22B8C0A59AD5890D7D623C5FDB3E27E0000000000000000FE00010051CF738CC8C6AAE1989C4AF33919C34F99EDB542CC6B68CD93C9C0D3D91C53A893A56C254F77353DDA42D3BA663D52BEEBE6BD2453498832D3E6DB44A167167E3736C87F730971E11DDDCD4F3B3A5A8E0023282E037D482D8D326D04CC6A104036D7BEBBC8B734059C62B5F3F25B98075030D5438E28494AF706CDAC346AFC9A77DAE40E0BECBBFBF689BEA9E72912F0067D03ADB06A496E5920973D20EEEC5C8B6B0FEEA1D94DCA8E864ABBB7E462FA7A46A085F916BAD17D0B3010D06D722F7016BE4F46657B8E185843C78947E656D4B11BEDAC364B896606E45171FA5CC724A04F94278623632FF811AEB3A285CC9FB660103D2C172766D5DF89F7DC6D3B
padding = C887A13A49F62FEEB07A8973 padding = 91BE64FD49CE67D4436F9817
tmp_aes_key = AB9279E6573234EE8C58F5DF0582D96E0C8565AF421956273B4566749973F014 tmp_aes_key = 42399E0DC08B83C9C20217EC98E69268437D8AD8E975FA6AA59A7C471C631840
tmp_aes_iv = CC9DB090E4B756E038674E7D3471F4866629D75BBC2185CE49E75A0B091AAA71</code></pre> tmp_aes_iv = C57F717B633C595F44189FD35CA951249D64FAC426AA6356C020DFFC847F523C</code></pre>
<!-- end client_DH_inner_data_input --> <!-- end client_DH_inner_data_input -->
<p>Process:</p> <p>Process:</p>
<pre><code>data_with_hash := SHA1(data) + data + padding (0-15 random bytes such that total length is divisible by 16) <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> encrypted_data := AES256_ige_encrypt (data_with_hash, tmp_aes_key, tmp_aes_iv);</code></pre>
<p>Output:</p> <p>Output:</p>
<!-- start client_DH_inner_data_output --> <!-- start client_DH_inner_data_output -->
<pre><code>encrypted_data = 24CD7D425A7F375B3DFA0E08B0EF4C7855B682102B639D87849DA3FAA6996A20A5293C7FB4B2548B221D24B128102B324F1418FC6153C71E421DD19DDA18FDF7324F8725873FE1CD490B854E2DB5B07EDA289AC42705C11025B20683B3BE45F21FCC4C130346F5920A381B47DF3AAC3F374471AD273CF35A8A3239EEA383A4B8BA1E73B9ABC299EC1CBE8E33ABCC4AA1E71D2CC2E045B6E1D9FD3B8075497F381F353A85D8112F1AAA6ABA9C273FC4B06E5A947425484C757556D25D9C3952EE45C663DE37D6BD72D9AE7E46F6414BF937F824BEA9481BD4B5B8CD938735F984D2DB48FBEB282C61DF46A603BE2E13D636B5DFA14E7EA8B4D29684DAC5A571B477CD8F7D7635A4414F5B38C4D962747D0D006FEA064BAD3BF88B5E2847F69F128F2AF59CBB5466832A8750EB6D8449A1D01F8D6668BED0E6F33A43825E0E70B9D95CEBCCB19A71F2C28113DD5EE7EB94</code></pre> <pre><code>encrypted_data = D23BCB061637C7033E5195A5820A01C5BE10A765D935A1691F87A8C81B94AC8CFB665383407F5B3EF9F0286454A8A8B647913B0D5672935C8C069287FADA4F5DFC066CA7918EC1CF63D969B7F6C8579E6177986F909D20B5883D897658CE08D16B9793F565ACFA31A937CA636ADABB454856272EC0160C67A703906F495B1E256C0A240F4868272D0A407FD2963FD9D92C3105B3CDE1F048C787FD48D9B1293C6EE5A15CE9DEDD77AADA146F8F3B8F2A3A7DA291D6DE90F0EC5824ECFE8310C51059FA24BB02893933F50CFE9D401F45A8B0B10673F32F0021817DF5612DA0529181C68FC48D37EC94A2B9BE4F4DF4A72747093D79B6CFD6C0A7824BE4973A4AD4D892930EB7A20CB7006114B3CE2EED87042BE0B99CAAD0002B6BEEAE5135602C2B5900809E04053B3CB25811766B72847EAE74463B82C295A3A5464752DB9FE5B910836DE1C823D7A72F5151C2573C</code></pre>
<!-- end client_DH_inner_data_output --> <!-- end client_DH_inner_data_output -->
<p>The length of the final string is 336 bytes.</p> <p>The length of the final string is 336 bytes.</p>
<h6>7.2) set_client_DH_params query</h6> <h6>7.2) set_client_DH_params query</h6>
<!-- start set_client_DH_params --> <!-- start set_client_DH_params -->
<p>Sent payload (excluding transport headers/trailers):</p> <p>Sent payload (excluding transport headers/trailers):</p>
<pre><code>0000 | 00 00 00 00 00 00 00 00 54 D3 0C 00 55 36 88 66 <pre><code>0000 | 00 00 00 00 00 00 00 00 94 76 0A 00 DC 3A 88 66
0010 | 78 01 00 00 1F 5F 04 F5 F4 1E 05 98 BA BA EF 42 0010 | 78 01 00 00 1F 5F 04 F5 A8 F4 80 B7 39 AF 24 DC
0020 | 9A 98 83 ED F3 C9 47 22 F3 62 D2 D6 A6 22 24 04 0020 | 39 2C 2B 09 BA 14 02 07 D2 2B 8C 0A 59 AD 58 90
0030 | 75 83 86 C4 3F CF E9 42 FE 50 01 00 24 CD 7D 42 0030 | D7 D6 23 C5 FD B3 E2 7E FE 50 01 00 D2 3B CB 06
0040 | 5A 7F 37 5B 3D FA 0E 08 B0 EF 4C 78 55 B6 82 10 0040 | 16 37 C7 03 3E 51 95 A5 82 0A 01 C5 BE 10 A7 65
0050 | 2B 63 9D 87 84 9D A3 FA A6 99 6A 20 A5 29 3C 7F 0050 | D9 35 A1 69 1F 87 A8 C8 1B 94 AC 8C FB 66 53 83
0060 | B4 B2 54 8B 22 1D 24 B1 28 10 2B 32 4F 14 18 FC 0060 | 40 7F 5B 3E F9 F0 28 64 54 A8 A8 B6 47 91 3B 0D
0070 | 61 53 C7 1E 42 1D D1 9D DA 18 FD F7 32 4F 87 25 0070 | 56 72 93 5C 8C 06 92 87 FA DA 4F 5D FC 06 6C A7
0080 | 87 3F E1 CD 49 0B 85 4E 2D B5 B0 7E DA 28 9A C4 0080 | 91 8E C1 CF 63 D9 69 B7 F6 C8 57 9E 61 77 98 6F
0090 | 27 05 C1 10 25 B2 06 83 B3 BE 45 F2 1F CC 4C 13 0090 | 90 9D 20 B5 88 3D 89 76 58 CE 08 D1 6B 97 93 F5
00A0 | 03 46 F5 92 0A 38 1B 47 DF 3A AC 3F 37 44 71 AD 00A0 | 65 AC FA 31 A9 37 CA 63 6A DA BB 45 48 56 27 2E
00B0 | 27 3C F3 5A 8A 32 39 EE A3 83 A4 B8 BA 1E 73 B9 00B0 | C0 16 0C 67 A7 03 90 6F 49 5B 1E 25 6C 0A 24 0F
00C0 | AB C2 99 EC 1C BE 8E 33 AB CC 4A A1 E7 1D 2C C2 00C0 | 48 68 27 2D 0A 40 7F D2 96 3F D9 D9 2C 31 05 B3
00D0 | E0 45 B6 E1 D9 FD 3B 80 75 49 7F 38 1F 35 3A 85 00D0 | CD E1 F0 48 C7 87 FD 48 D9 B1 29 3C 6E E5 A1 5C
00E0 | D8 11 2F 1A AA 6A BA 9C 27 3F C4 B0 6E 5A 94 74 00E0 | E9 DE DD 77 AA DA 14 6F 8F 3B 8F 2A 3A 7D A2 91
00F0 | 25 48 4C 75 75 56 D2 5D 9C 39 52 EE 45 C6 63 DE 00F0 | D6 DE 90 F0 EC 58 24 EC FE 83 10 C5 10 59 FA 24
0100 | 37 D6 BD 72 D9 AE 7E 46 F6 41 4B F9 37 F8 24 BE 0100 | BB 02 89 39 33 F5 0C FE 9D 40 1F 45 A8 B0 B1 06
0110 | A9 48 1B D4 B5 B8 CD 93 87 35 F9 84 D2 DB 48 FB 0110 | 73 F3 2F 00 21 81 7D F5 61 2D A0 52 91 81 C6 8F
0120 | EB 28 2C 61 DF 46 A6 03 BE 2E 13 D6 36 B5 DF A1 0120 | C4 8D 37 EC 94 A2 B9 BE 4F 4D F4 A7 27 47 09 3D
0130 | 4E 7E A8 B4 D2 96 84 DA C5 A5 71 B4 77 CD 8F 7D 0130 | 79 B6 CF D6 C0 A7 82 4B E4 97 3A 4A D4 D8 92 93
0140 | 76 35 A4 41 4F 5B 38 C4 D9 62 74 7D 0D 00 6F EA 0140 | 0E B7 A2 0C B7 00 61 14 B3 CE 2E ED 87 04 2B E0
0150 | 06 4B AD 3B F8 8B 5E 28 47 F6 9F 12 8F 2A F5 9C 0150 | B9 9C AA D0 00 2B 6B EE AE 51 35 60 2C 2B 59 00
0160 | BB 54 66 83 2A 87 50 EB 6D 84 49 A1 D0 1F 8D 66 0160 | 80 9E 04 05 3B 3C B2 58 11 76 6B 72 84 7E AE 74
0170 | 68 BE D0 E6 F3 3A 43 82 5E 0E 70 B9 D9 5C EB CC 0170 | 46 3B 82 C2 95 A3 A5 46 47 52 DB 9F E5 B9 10 83
0180 | B1 9A 71 F2 C2 81 13 DD 5E E7 EB 94</code></pre> 0180 | 6D E1 C8 23 D7 A7 2F 51 51 C2 57 3C</code></pre>
<p>Payload (de)serialization:</p> <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> <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"> <table class="table">
@ -746,7 +746,7 @@ encrypted_data := AES256_ige_encrypt (data_with_hash, tmp_aes_key, tmp_aes_iv);<
<tr> <tr>
<td>message_id</td> <td>message_id</td>
<td>8, 8</td> <td>8, 8</td>
<td><code>54D30C0055368866</code></td> <td><code>94760A00DC3A8866</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> <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>
<tr> <tr>
@ -764,19 +764,19 @@ encrypted_data := AES256_ige_encrypt (data_with_hash, tmp_aes_key, tmp_aes_iv);<
<tr> <tr>
<td>nonce</td> <td>nonce</td>
<td>24, 16</td> <td>24, 16</td>
<td><code>F41E0598BABAEF429A9883EDF3C94722</code></td> <td><code>A8F480B739AF24DC392C2B09BA140207</code></td>
<td>Value generated by client in Step 1</td> <td>Value generated by client in Step 1</td>
</tr> </tr>
<tr> <tr>
<td>server_nonce</td> <td>server_nonce</td>
<td>40, 16</td> <td>40, 16</td>
<td><code>F362D2D6A6222404758386C43FCFE942</code></td> <td><code>D22B8C0A59AD5890D7D623C5FDB3E27E</code></td>
<td>Value received from server in Step 2</td> <td>Value received from server in Step 2</td>
</tr> </tr>
<tr> <tr>
<td>encrypted_data</td> <td>encrypted_data</td>
<td>56, 340</td> <td>56, 340</td>
<td><code>FE50010024CD7D425A7F375B3DFA0E08</code> <code>B0EF4C7855B682102B639D87849DA3FA</code> <code>A6996A20A5293C7FB4B2548B221D24B1</code> <code>28102B324F1418FC6153C71E421DD19D</code> <code>DA18FDF7324F8725873FE1CD490B854E</code> <code>2DB5B07EDA289AC42705C11025B20683</code> <code>B3BE45F21FCC4C130346F5920A381B47</code> <code>DF3AAC3F374471AD273CF35A8A3239EE</code> <code>A383A4B8BA1E73B9ABC299EC1CBE8E33</code> <code>ABCC4AA1E71D2CC2E045B6E1D9FD3B80</code> <code>75497F381F353A85D8112F1AAA6ABA9C</code> <code>273FC4B06E5A947425484C757556D25D</code> <code>9C3952EE45C663DE37D6BD72D9AE7E46</code> <code>F6414BF937F824BEA9481BD4B5B8CD93</code> <code>8735F984D2DB48FBEB282C61DF46A603</code> <code>BE2E13D636B5DFA14E7EA8B4D29684DA</code> <code>C5A571B477CD8F7D7635A4414F5B38C4</code> <code>D962747D0D006FEA064BAD3BF88B5E28</code> <code>47F69F128F2AF59CBB5466832A8750EB</code> <code>6D8449A1D01F8D6668BED0E6F33A4382</code> <code>5E0E70B9D95CEBCCB19A71F2C28113DD</code><br> <code>5EE7EB94</code></td> <td><code>FE500100D23BCB061637C7033E5195A5</code> <code>820A01C5BE10A765D935A1691F87A8C8</code> <code>1B94AC8CFB665383407F5B3EF9F02864</code> <code>54A8A8B647913B0D5672935C8C069287</code> <code>FADA4F5DFC066CA7918EC1CF63D969B7</code> <code>F6C8579E6177986F909D20B5883D8976</code> <code>58CE08D16B9793F565ACFA31A937CA63</code> <code>6ADABB454856272EC0160C67A703906F</code> <code>495B1E256C0A240F4868272D0A407FD2</code> <code>963FD9D92C3105B3CDE1F048C787FD48</code> <code>D9B1293C6EE5A15CE9DEDD77AADA146F</code> <code>8F3B8F2A3A7DA291D6DE90F0EC5824EC</code> <code>FE8310C51059FA24BB02893933F50CFE</code> <code>9D401F45A8B0B10673F32F0021817DF5</code> <code>612DA0529181C68FC48D37EC94A2B9BE</code> <code>4F4DF4A72747093D79B6CFD6C0A7824B</code> <code>E4973A4AD4D892930EB7A20CB7006114</code> <code>B3CE2EED87042BE0B99CAAD0002B6BEE</code> <code>AE5135602C2B5900809E04053B3CB258</code> <code>11766B72847EAE74463B82C295A3A546</code> <code>4752DB9FE5B910836DE1C823D7A72F51</code><br> <code>51C2573C</code></td>
<td>Encrypted client_DH_inner_data generated previously, serialized as a TL byte string</td> <td>Encrypted client_DH_inner_data generated previously, serialized as a TL byte string</td>
</tr> </tr>
</tbody> </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> <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> <p>The client computes the auth_key using formula <code>g_a^b mod dh_prime</code>:</p>
<!-- start auth_key --> <!-- start auth_key -->
<pre><code>auth_key = 627331A13A3D9868E456AA9B5CAF6398E5D93EA80E05296A0E8699DB541EF517626F8ADA7ED3E57DEA9AF8CEFEE1D23927F9F352BFCF8DEF851471D69066A3B4D52115946D348304E72F46812E18BAEE33D5FDA6C2E801CDC80FEA0951A8B81E068A1F5BC86C321423546EBBBE71E29017CDE5E0C99FD6BC7F13B878E4DA3DFB9F29AD57B68845DA5575DC25BCD9A77F4B06F13645C6D811CA2E67FC75499A276471F8DCF5B4FED6DFD3C567BB3C4583EBAD9917666D9BBE187913E047D70CBCB631E84C639C72472390DE8DDF5605E47F6F13D1E67CF6EC553AC4A2851A9126E75AAC8422D5F6986751A37D81F79513E5CC676F16B1A5B12577E922CB52F247</code></pre> <pre><code>auth_key = 918B4A3165A42D7A66B543D2BBA2DE1ACA28AB97562AF601939980EE8D14D9E7CFD9646EBD653D99E5B4467A763A95066DA60CFF7D2B19E7AD5AB1B907EA2A84CCF484CB62895222CD0536868E8244E61599CB24D43E8B390AC7ABC64234522340556F723880990A6FB68797052ABFA986B7415BCD5378A7C95708ECA7AA2A92E52CF210193B46E2816A8BF409C4A0E6B2A2B12C1343E82343E8B0B67278616562111CC6F7CADFEC35A929100E0142842F5095DCC7290D7AECA8AA28C5BA46189437226E18A59A39812125CE62F6277B53CAC2EF785074AB0A0D4DE7600695899600B67DB3DE1A51D8FEA3332D7A96D3873748BBF5B1927F9E88D6C031D598BF</code></pre>
<!-- end auth_key --> <!-- 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> <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> <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 --> <!-- start dh_gen_ok -->
<p>Received payload (excluding transport headers/trailers):</p> <p>Received payload (excluding transport headers/trailers):</p>
<pre><code>0000 | 00 00 00 00 00 00 00 00 01 9C FF A1 55 36 88 66 <pre><code>0000 | 00 00 00 00 00 00 00 00 01 0C AF 1F DE 3A 88 66
0010 | 80 00 00 00 34 F7 CB 3B F4 1E 05 98 BA BA EF 42 0010 | 3C 00 00 00 34 F7 CB 3B A8 F4 80 B7 39 AF 24 DC
0020 | 9A 98 83 ED F3 C9 47 22 F3 62 D2 D6 A6 22 24 04 0020 | 39 2C 2B 09 BA 14 02 07 D2 2B 8C 0A 59 AD 58 90
0030 | 75 83 86 C4 3F CF E9 42 F5 81 1E 06 A2 8A BC 60 0030 | D7 D6 23 C5 FD B3 E2 7E A3 4B 78 38 18 EC 5B 3C
0040 | F6 C8 D2 47 3C 4B 34 5D</code></pre> 0040 | 51 E2 80 31 A2 A2 5B F5</code></pre>
<p>Payload (de)serialization:</p> <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> <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"> <table class="table">
@ -817,13 +817,13 @@ encrypted_data := AES256_ige_encrypt (data_with_hash, tmp_aes_key, tmp_aes_iv);<
<tr> <tr>
<td>message_id</td> <td>message_id</td>
<td>8, 8</td> <td>8, 8</td>
<td><code>019CFFA155368866</code></td> <td><code>010CAF1FDE3A8866</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> <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>
<tr> <tr>
<td>message_length</td> <td>message_length</td>
<td>16, 4</td> <td>16, 4</td>
<td><code>80000000</code> (128 in decimal)</td> <td><code>3C000000</code> (60 in decimal)</td>
<td>Message body length</td> <td>Message body length</td>
</tr> </tr>
<tr> <tr>
@ -835,19 +835,19 @@ encrypted_data := AES256_ige_encrypt (data_with_hash, tmp_aes_key, tmp_aes_iv);<
<tr> <tr>
<td>nonce</td> <td>nonce</td>
<td>24, 16</td> <td>24, 16</td>
<td><code>F41E0598BABAEF429A9883EDF3C94722</code></td> <td><code>A8F480B739AF24DC392C2B09BA140207</code></td>
<td>Value generated by client in Step 1</td> <td>Value generated by client in Step 1</td>
</tr> </tr>
<tr> <tr>
<td>server_nonce</td> <td>server_nonce</td>
<td>40, 16</td> <td>40, 16</td>
<td><code>F362D2D6A6222404758386C43FCFE942</code></td> <td><code>D22B8C0A59AD5890D7D623C5FDB3E27E</code></td>
<td>Value received from server in Step 2</td> <td>Value received from server in Step 2</td>
</tr> </tr>
<tr> <tr>
<td>new_nonce_hash1</td> <td>new_nonce_hash1</td>
<td>56, 16</td> <td>56, 16</td>
<td><code>F5811E06A28ABC60F6C8D2473C4B345D</code></td> <td><code>A34B783818EC5B3C51E28031A2A25BF5</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> <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> </tr>
</tbody> </tbody>

View file

@ -8,14 +8,14 @@
Constructor Constructor
Description Description
businessLocation businessLocation
 "> Represents the location of a Telegram Business ».">
<meta property="og:title" content="BusinessLocation"> <meta property="og:title" content="BusinessLocation">
<meta property="og:image" content=""> <meta property="og:image" content="">
<meta property="og:description" content="Constructors <meta property="og:description" content="Constructors
Constructor Constructor
Description Description
businessLocation businessLocation
 "> Represents the location of a Telegram Business ».">
<link rel="icon" type="image/svg+xml" href="/img/website_icon.svg?4"> <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="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="32x32" href="/img/favicon-32x32.png">
@ -74,7 +74,7 @@ businessLocation
<tbody> <tbody>
<tr> <tr>
<td><a href="/constructor/businessLocation">businessLocation</a></td> <td><a href="/constructor/businessLocation">businessLocation</a></td>
<td> </td> <td>Represents the location of a <a href="/api/business#location">Telegram Business »</a>.</td>
</tr> </tr>
</tbody> </tbody>
</table></div> </table></div>

View file

@ -302,7 +302,7 @@
</tr> </tr>
<tr> <tr>
<td><a href="/constructor/channelAdminLogEventActionChangeEmojiStickerSet">channelAdminLogEventActionChangeEmojiStickerSet</a></td> <td><a href="/constructor/channelAdminLogEventActionChangeEmojiStickerSet">channelAdminLogEventActionChangeEmojiStickerSet</a></td>
<td> </td> <td>The supergroup's <a href="/api/boost#setting-a-custom-emoji-stickerset-for-supergroups">custom emoji stickerset</a> was changed.</td>
</tr> </tr>
</tbody> </tbody>
</table></div> </table></div>

View file

@ -8,14 +8,14 @@
Constructor Constructor
Description Description
connectedBot connectedBot
 "> Contains info about a connected business bot ».">
<meta property="og:title" content="ConnectedBot"> <meta property="og:title" content="ConnectedBot">
<meta property="og:image" content=""> <meta property="og:image" content="">
<meta property="og:description" content="Constructors <meta property="og:description" content="Constructors
Constructor Constructor
Description Description
connectedBot connectedBot
 "> Contains info about a connected business bot ».">
<link rel="icon" type="image/svg+xml" href="/img/website_icon.svg?4"> <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="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="32x32" href="/img/favicon-32x32.png">
@ -74,7 +74,7 @@ connectedBot
<tbody> <tbody>
<tr> <tr>
<td><a href="/constructor/connectedBot">connectedBot</a></td> <td><a href="/constructor/connectedBot">connectedBot</a></td>
<td> </td> <td>Contains info about a <a href="/api/business#connected-bots">connected business bot »</a>.</td>
</tr> </tr>
</tbody> </tbody>
</table></div> </table></div>

View file

@ -8,14 +8,14 @@
Constructor Constructor
Description Description
contactBirthday contactBirthday
 "> Birthday information of a contact.">
<meta property="og:title" content="ContactBirthday"> <meta property="og:title" content="ContactBirthday">
<meta property="og:image" content=""> <meta property="og:image" content="">
<meta property="og:description" content="Constructors <meta property="og:description" content="Constructors
Constructor Constructor
Description Description
contactBirthday contactBirthday
 "> Birthday information of a contact.">
<link rel="icon" type="image/svg+xml" href="/img/website_icon.svg?4"> <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="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="32x32" href="/img/favicon-32x32.png">
@ -74,7 +74,7 @@ contactBirthday
<tbody> <tbody>
<tr> <tr>
<td><a href="/constructor/contactBirthday">contactBirthday</a></td> <td><a href="/constructor/contactBirthday">contactBirthday</a></td>
<td> </td> <td>Birthday information of a contact.</td>
</tr> </tr>
</tbody> </tbody>
</table></div> </table></div>

View file

@ -8,18 +8,16 @@
Constructor Constructor
Description Description
inputQuickReplyShortcut inputQuickReplyShortcut
  Selects a quick reply shortcut by name.
inputQuickReplyShortcutId inputQuickReplyShortcutId…">
 ">
<meta property="og:title" content="InputQuickReplyShortcut"> <meta property="og:title" content="InputQuickReplyShortcut">
<meta property="og:image" content=""> <meta property="og:image" content="">
<meta property="og:description" content="Constructors <meta property="og:description" content="Constructors
Constructor Constructor
Description Description
inputQuickReplyShortcut inputQuickReplyShortcut
  Selects a quick reply shortcut by name.
inputQuickReplyShortcutId inputQuickReplyShortcutId…">
 ">
<link rel="icon" type="image/svg+xml" href="/img/website_icon.svg?4"> <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="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="32x32" href="/img/favicon-32x32.png">
@ -79,11 +77,11 @@ inputQuickReplyShortcutId
<tbody> <tbody>
<tr> <tr>
<td><a href="/constructor/inputQuickReplyShortcut">inputQuickReplyShortcut</a></td> <td><a href="/constructor/inputQuickReplyShortcut">inputQuickReplyShortcut</a></td>
<td> </td> <td>Selects a <a href="/api/business#quick-reply-shortcut">quick reply shortcut</a> by name.</td>
</tr> </tr>
<tr> <tr>
<td><a href="/constructor/inputQuickReplyShortcutId">inputQuickReplyShortcutId</a></td> <td><a href="/constructor/inputQuickReplyShortcutId">inputQuickReplyShortcutId</a></td>
<td> </td> <td>Selects a <a href="/api/business#quick-reply-shortcut">quick reply shortcut</a> by its numeric ID.</td>
</tr> </tr>
</tbody> </tbody>
</table></div> </table></div>

View file

@ -8,24 +8,20 @@
Constructor Constructor
Description Description
contacts.contactBirthdays contacts.contactBirthdays
  Birthday information of our contacts.
Methods Methods
Method Method
Description Description…">
contacts.getBirthdays
 ">
<meta property="og:title" content="contacts.ContactBirthdays"> <meta property="og:title" content="contacts.ContactBirthdays">
<meta property="og:image" content=""> <meta property="og:image" content="">
<meta property="og:description" content="Constructors <meta property="og:description" content="Constructors
Constructor Constructor
Description Description
contacts.contactBirthdays contacts.contactBirthdays
  Birthday information of our contacts.
Methods Methods
Method Method
Description Description…">
contacts.getBirthdays
 ">
<link rel="icon" type="image/svg+xml" href="/img/website_icon.svg?4"> <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="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="32x32" href="/img/favicon-32x32.png">
@ -88,7 +84,7 @@ contacts.getBirthdays
<tbody> <tbody>
<tr> <tr>
<td><a href="/constructor/contacts.contactBirthdays">contacts.contactBirthdays</a></td> <td><a href="/constructor/contacts.contactBirthdays">contacts.contactBirthdays</a></td>
<td> </td> <td>Birthday information of our contacts.</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>

View file

@ -8,26 +8,16 @@
Constructor Constructor
Description Description
help.timezonesListNotModified help.timezonesListNotModified
  The timezone list has not changed.
help.timezonesList help.timezonesList…">
 
Methods
Method
Description
h…">
<meta property="og:title" content="help.TimezonesList"> <meta property="og:title" content="help.TimezonesList">
<meta property="og:image" content=""> <meta property="og:image" content="">
<meta property="og:description" content="Constructors <meta property="og:description" content="Constructors
Constructor Constructor
Description Description
help.timezonesListNotModified help.timezonesListNotModified
  The timezone list has not changed.
help.timezonesList help.timezonesList…">
 
Methods
Method
Description
h…">
<link rel="icon" type="image/svg+xml" href="/img/website_icon.svg?4"> <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="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="32x32" href="/img/favicon-32x32.png">
@ -91,11 +81,11 @@ h…">
<tbody> <tbody>
<tr> <tr>
<td><a href="/constructor/help.timezonesListNotModified">help.timezonesListNotModified</a></td> <td><a href="/constructor/help.timezonesListNotModified">help.timezonesListNotModified</a></td>
<td> </td> <td>The timezone list has not changed.</td>
</tr> </tr>
<tr> <tr>
<td><a href="/constructor/help.timezonesList">help.timezonesList</a></td> <td><a href="/constructor/help.timezonesList">help.timezonesList</a></td>
<td> </td> <td>Timezone information that may be used elsewhere in the API, such as to set <a href="/api/business#opening-hours">Telegram Business opening hours »</a>.</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>