mirror of
https://github.com/MarshalX/telegram-crawler.git
synced 2024-12-29 07:52:37 +01:00
Update content of files
This commit is contained in:
parent
456b550d32
commit
5c096a15fb
29 changed files with 68 additions and 204 deletions
|
@ -77,7 +77,7 @@ This article describes the full button flow, using the MTProto API. </p>
|
|||
<li><a href="/constructor/replyKeyboardMarkup">replyKeyboardMarkup</a> - Sends a <a href="/bots#keyboards">custom reply keyboard</a>. <br> User clients receiving such a constructor should display a <a href="/bots#keyboards">special keyboard</a> with custom reply options.</li>
|
||||
<li><a href="/constructor/replyKeyboardHide">replyKeyboardHide</a> - Hides the <a href="/bots#keyboards">custom reply keyboard</a>. <br> User clients receiving this constructor should hide the <a href="/bots#keyboards">custom reply keyboard</a> opened by <a href="/constructor/replyKeyboardMarkup">replyKeyboardMarkup</a></li>
|
||||
<li><a href="/constructor/replyKeyboardForceReply">replyKeyboardForceReply</a> - Sends a <a href="/bots/api#forcereply">force reply</a> constructor <br> User clients receiving a message with this constructor should act as if the user had clicked on the reply button of the message, displaying the reply UI. </li>
|
||||
<li><a href="/constructor/replyInlineMarkup">replyInlineMarkup</a> - Attaches an <a href="/bots#inline-keyboards-and-on-the-fly-updating">inline keyboard</a> to the message, allowing users to send callback data to the bot without sending actual messages to the current chat, see <a href="/bots#pressing-buttons">here for more info »</a>. </li>
|
||||
<li><a href="/constructor/replyInlineMarkup">replyInlineMarkup</a> - Attaches an <a href="/bots#inline-keyboards-and-on-the-fly-updating">inline keyboard</a> to the message, allowing users to send callback data to the bot without sending actual messages to the current chat.</li>
|
||||
</ul>
|
||||
<h3><a class="anchor" href="#pressing-buttons" id="pressing-buttons" name="pressing-buttons"><i class="anchor-icon"></i></a>Pressing buttons</h3>
|
||||
<pre><code><a href='/constructor/keyboardButton'>keyboardButton</a>#a2fa4880 text:<a href='/type/string'>string</a> = <a href='/type/KeyboardButton'>KeyboardButton</a>;
|
||||
|
@ -99,10 +99,10 @@ This article describes the full button flow, using the MTProto API. </p>
|
|||
Each row can have a different number of columns, and user clients should properly handle clicking buttons of every type. </p>
|
||||
<p>Buttons available only in reply keyboards:</p>
|
||||
<ul>
|
||||
<li><a href="/constructor/keyboardButton">keyboardButton</a> - Send a message to the chat, replying to the message that attached the <a href="/bots#keyboard">reply keyboard</a></li>
|
||||
<li><a href="/constructor/keyboardButtonRequestPhone">keyboardButtonRequestPhone</a> - Only in private chats, send the current user's contact to the chat, replying to the message that attached the <a href="/bots#keyboard">reply keyboard</a></li>
|
||||
<li><a href="/constructor/keyboardButtonRequestGeoLocation">keyboardButtonRequestGeoLocation</a> - Only in private chats, send the current user's geolocation to the chat, replying to the message that attached the <a href="/bots#keyboard">reply keyboard</a></li>
|
||||
<li><a href="/constructor/keyboardButtonRequestPoll">keyboardButtonRequestPoll</a> - Only in private chats, prompt the user to create and send a <a href="/api/poll">poll</a> (or a quiz poll, depending on the <code>quiz</code> flag), replying to the message that attached the <a href="/bots#keyboard">reply keyboard</a></li>
|
||||
<li><a href="/constructor/keyboardButton">keyboardButton</a> - Send a message to the chat, replying to the message that attached the <a href="/bots#keyboards">reply keyboard</a></li>
|
||||
<li><a href="/constructor/keyboardButtonRequestPhone">keyboardButtonRequestPhone</a> - Only in private chats, send the current user's contact to the chat, replying to the message that attached the <a href="/bots#keyboards">reply keyboard</a></li>
|
||||
<li><a href="/constructor/keyboardButtonRequestGeoLocation">keyboardButtonRequestGeoLocation</a> - Only in private chats, send the current user's geolocation to the chat, replying to the message that attached the <a href="/bots#keyboards">reply keyboard</a></li>
|
||||
<li><a href="/constructor/keyboardButtonRequestPoll">keyboardButtonRequestPoll</a> - Only in private chats, prompt the user to create and send a <a href="/api/poll">poll</a> (or a quiz poll, depending on the <code>quiz</code> flag), replying to the message that attached the <a href="/bots#keyboards">reply keyboard</a></li>
|
||||
</ul>
|
||||
<p>Buttons available only in inline keyboards:</p>
|
||||
<ul>
|
||||
|
|
|
@ -54,16 +54,16 @@
|
|||
<p>Here's the full list of events that can be <em>received</em> by a web app from the client, by calling the <code>receiveEvent</code> method. </p>
|
||||
<h4><a class="anchor" href="#phone-requested" id="phone-requested" name="phone-requested"><i class="anchor-icon"></i></a><code>phone_requested</code></h4>
|
||||
<p>Params: a JSON object containing an optional string <code>phone_number</code> field.</p>
|
||||
<p>Sent in response to a <a href="/api/web-events#web_app_request_phone">web_app_request_phone</a> outgoing event, see the <a href="/api/web-events#web_app_request_phone">docs for more info »</a>. </p>
|
||||
<p>Sent in response to a <a href="/api/web-events#web-app-request-phone">web_app_request_phone</a> outgoing event, see the <a href="/api/web-events#web-app-request-phone">docs for more info »</a>. </p>
|
||||
<h4><a class="anchor" href="#main-button-pressed" id="main-button-pressed" name="main-button-pressed"><i class="anchor-icon"></i></a><code>main_button_pressed</code></h4>
|
||||
<p>Params: <code>null</code></p>
|
||||
<p>Sent by the client when the user presses the main button, if it was <a href="/api/web-events#web_app_setup_main_button">previously configured by a <code>web_app_setup_main_button</code> event »</a>.</p>
|
||||
<p>Sent by the client when the user presses the main button, if it was <a href="/api/web-events#web-app-setup-main-button">previously configured by a <code>web_app_setup_main_button</code> event »</a>.</p>
|
||||
<h4><a class="anchor" href="#settings-button-pressed" id="settings-button-pressed" name="settings-button-pressed"><i class="anchor-icon"></i></a><code>settings_button_pressed</code></h4>
|
||||
<p>Params: <code>null</code></p>
|
||||
<p>Sent by the client when the user presses the settings button, if it was previously enabled in <a href="https://t.me/BotFather">@BotFather</a>, as specified by the <code>has_settings</code> flag of <a href="/constructor/attachMenuBot">attachMenuBot »</a>. </p>
|
||||
<h4><a class="anchor" href="#back-button-pressed" id="back-button-pressed" name="back-button-pressed"><i class="anchor-icon"></i></a><code>back_button_pressed</code></h4>
|
||||
<p>Params: <code>null</code></p>
|
||||
<p>Sent by the client when the user presses the back button, if it was <a href="/api/web-events#web_app_setup_back_button">previously enabled by a <code>web_app_setup_back_button</code> event »</a>.</p>
|
||||
<p>Sent by the client when the user presses the back button, if it was <a href="/api/web-events#web-app-setup-back-button">previously enabled by a <code>web_app_setup_back_button</code> event »</a>.</p>
|
||||
<h4><a class="anchor" href="#invoice-closed" id="invoice-closed" name="invoice-closed"><i class="anchor-icon"></i></a><code>invoice_closed</code></h4>
|
||||
<p>Params: JSON object with the following fields:</p>
|
||||
<ul>
|
||||
|
@ -76,7 +76,7 @@
|
|||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<p>Sent by the client to report the <a href="/api/payments">payment status</a> of an invoice obtained from a <a href="/api/web-events#web_app_open_invoice"><code>web_app_open_invoice</code> event »</a>. </p>
|
||||
<p>Sent by the client to report the <a href="/api/payments">payment status</a> of an invoice obtained from a <a href="/api/web-events#web-app-open-invoice"><code>web_app_open_invoice</code> event »</a>. </p>
|
||||
<h4><a class="anchor" href="#viewport-changed" id="viewport-changed" name="viewport-changed"><i class="anchor-icon"></i></a><code>viewport_changed</code></h4>
|
||||
<p>Params: a JSON object with the following fields:</p>
|
||||
<ul>
|
||||
|
@ -99,10 +99,10 @@
|
|||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<p>Emitted when requested by the web app using a <a href="/api/web-events#web_app_request_theme"><code>web_app_request_theme</code> event »</a>, or when the app theme changes. </p>
|
||||
<p>Emitted when requested by the web app using a <a href="/api/web-events#web-app-request-theme"><code>web_app_request_theme</code> event »</a>, or when the app theme changes. </p>
|
||||
<h4><a class="anchor" href="#popup-closed" id="popup-closed" name="popup-closed"><i class="anchor-icon"></i></a><code>popup_closed</code></h4>
|
||||
<p>Params: a JSON object with an optional <code>button_id</code> string field.</p>
|
||||
<p>Emitted when the user presses a button or cancels a popup brought up by a previous <a href="/api/web-events#web_app_open_popup"><code>web_app_open_popup</code> event »</a>. </p>
|
||||
<p>Emitted when the user presses a button or cancels a popup brought up by a previous <a href="/api/web-events#web-app-open-popup"><code>web_app_open_popup</code> event »</a>. </p>
|
||||
<h3><a class="anchor" href="#simple-web-apps" id="simple-web-apps" name="simple-web-apps"><i class="anchor-icon"></i></a>Simple web apps</h3>
|
||||
<p>Schema:</p>
|
||||
<pre><code><a href='/constructor/replyKeyboardMarkup'>replyKeyboardMarkup</a>#85dd99d1 flags:<a href='/type/%23'>#</a> resize:flags.0?<a href='/constructor/true'>true</a> single_use:flags.1?<a href='/constructor/true'>true</a> selective:flags.2?<a href='/constructor/true'>true</a> rows:<a href='/type/Vector%20t'>Vector</a><<a href='/type/KeyboardButtonRow'>KeyboardButtonRow</a>> placeholder:flags.3?<a href='/type/string'>string</a> = <a href='/type/ReplyMarkup'>ReplyMarkup</a>;
|
||||
|
@ -122,7 +122,7 @@
|
|||
<p>Simple webapps can only send back data to the bot through the MTProto API via a <a href="/api/web-events#web-app-data-send"><code>web_app_data_send</code> JS event »</a>. </p>
|
||||
<p>Simple webapps can only be opened from a <a href="/constructor/keyboardButtonSimpleWebView">keyboardButtonSimpleWebView</a> button contained in a reply keyboard identified by a <a href="/constructor/replyKeyboardMarkup">replyKeyboardMarkup</a> constructor. </p>
|
||||
<p>To open them, users should call <a href="/method/messages.requestSimpleWebView">messages.requestSimpleWebView</a>, and then open a webview using the <code>url</code> contained in the returned <a href="/constructor/simpleWebViewResultUrl">simpleWebViewResultUrl</a>. </p>
|
||||
<p>Upon receiving a <a href="/api/web-events#web_app_data_send"><code>web_app_data_send</code> JS event »</a> from the web app, clients should invoke <a href="/method/messages.sendWebViewData">messages.sendWebViewData</a>, passing the following arguments:</p>
|
||||
<p>Upon receiving a <a href="/api/web-events#web-app-data-send"><code>web_app_data_send</code> JS event »</a> from the web app, clients should invoke <a href="/method/messages.sendWebViewData">messages.sendWebViewData</a>, passing the following arguments:</p>
|
||||
<ul>
|
||||
<li><code>bot</code> - Bot ID</li>
|
||||
<li><code>random_id</code> - Unique random ID to avoid resending the same event multiple times</li>
|
||||
|
@ -160,7 +160,7 @@
|
|||
<li>An <a href="/api/bots/attach">attachment menu »</a></li>
|
||||
</ul>
|
||||
<p>To open them, clients should call <a href="/method/messages.requestSimpleWebView">messages.requestWebView</a>, and then open a webview using the <code>url</code> contained in the returned <a href="/constructor/webViewResultUrl">webViewResultUrl</a>. </p>
|
||||
<p>After loading the webview, until it is closed by a <a href="/api/web-events#web_app_close">web_app_close event</a>, the user client must invoke <a href="/method/messages.prolongWebView">messages.prolongWebView</a> every 60 seconds. </p>
|
||||
<p>After loading the webview, until it is closed by a <a href="/api/web-events#web-app-close">web_app_close event</a>, the user client must invoke <a href="/method/messages.prolongWebView">messages.prolongWebView</a> every 60 seconds. </p>
|
||||
<p>The opened URL's fragment parameters already contain basic information about the user and a <code>query_id</code> parameter, that is exposed by the <a href="/bots/webapps">bot web apps JS library</a>: this <code>query_id</code> can then be used <strong>by the bot</strong> to invoke <a href="/method/messages.sendWebViewResultMessage">messages.sendWebViewResultMessage</a>, passing an <a href="/type/InputBotInlineResult">InputBotInlineResult</a> constructor that will automatically send a message with optionally attached media, and even inline buttons on behalf of the user. </p></div>
|
||||
|
||||
</div>
|
||||
|
|
|
@ -324,9 +324,9 @@ While <a href="/method/help.getConfig">help.getConfig</a> returns MTProto-specif
|
|||
<h4><a class="anchor" href="#saved-gifs-limit-premium" id="saved-gifs-limit-premium" name="saved-gifs-limit-premium"><i class="anchor-icon"></i></a><code>saved_gifs_limit_premium</code></h4>
|
||||
<p>The maximum number of GIFs a <a href="/api/premium">Premium</a> user may save (integer)</p>
|
||||
<h4><a class="anchor" href="#stickers-faved-limit-default" id="stickers-faved-limit-default" name="stickers-faved-limit-default"><i class="anchor-icon"></i></a><code>stickers_faved_limit_default</code></h4>
|
||||
<p>The maximum number of stickers a non-<a href="/api/premium">Premium</a> user may <a href="/api/stickers#favorite-stickers">add to Favorites »</a> (integer)</p>
|
||||
<p>The maximum number of stickers a non-<a href="/api/premium">Premium</a> user may <a href="/api/stickers#favorite-stickersets">add to Favorites »</a> (integer)</p>
|
||||
<h4><a class="anchor" href="#stickers-faved-limit-premium" id="stickers-faved-limit-premium" name="stickers-faved-limit-premium"><i class="anchor-icon"></i></a><code>stickers_faved_limit_premium</code></h4>
|
||||
<p>The maximum number of stickers a <a href="/api/premium">Premium</a> user may <a href="/api/stickers#favorite-stickers">add to Favorites »</a> (integer)</p>
|
||||
<p>The maximum number of stickers a <a href="/api/premium">Premium</a> user may <a href="/api/stickers#favorite-stickersets">add to Favorites »</a> (integer)</p>
|
||||
<h4><a class="anchor" href="#dialog-filters-limit-default" id="dialog-filters-limit-default" name="dialog-filters-limit-default"><i class="anchor-icon"></i></a><code>dialog_filters_limit_default</code></h4>
|
||||
<p>The maximum number of <a href="/api/folders">folders</a> a non-<a href="/api/premium">Premium</a> user may create (integer)</p>
|
||||
<h4><a class="anchor" href="#dialog-filters-limit-premium" id="dialog-filters-limit-premium" name="dialog-filters-limit-premium"><i class="anchor-icon"></i></a><code>dialog_filters_limit_premium</code></h4>
|
||||
|
|
|
@ -1,118 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html class="">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Page not found</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta property="description" content="">
|
||||
<meta property="og:title" content="Page not found">
|
||||
<meta property="og:image" content="">
|
||||
<meta property="og:description" content="">
|
||||
<link rel="icon" type="image/svg+xml" href="/img/website_icon.svg?4">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/img/apple-touch-icon.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/img/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/img/favicon-16x16.png">
|
||||
<link rel="alternate icon" href="/img/favicon.ico" type="image/x-icon" />
|
||||
<link href="/css/bootstrap.min.css?3" rel="stylesheet">
|
||||
|
||||
<link href="/css/telegram.css?231" rel="stylesheet" media="screen">
|
||||
<style>
|
||||
</style>
|
||||
</head>
|
||||
<body class="preload">
|
||||
<div class="dev_page_wrap">
|
||||
<div class="dev_page_head navbar navbar-static-top navbar-tg">
|
||||
<div class="navbar-inner">
|
||||
<div class="container clearfix">
|
||||
<ul class="nav navbar-nav navbar-right hidden-xs"><li class="navbar-twitter"><a href="https://twitter.com/telegram" target="_blank" data-track="Follow/Twitter" onclick="trackDlClick(this, event)"><i class="icon icon-twitter"></i><span> Twitter</span></a></li></ul>
|
||||
<ul class="nav navbar-nav">
|
||||
<li><a href="//telegram.org/">Home</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/faq">FAQ</a></li>
|
||||
<li class="hidden-xs"><a href="//telegram.org/apps">Apps</a></li>
|
||||
<li class="active"><a href="/api">API</a></li>
|
||||
<li class=""><a href="/mtproto">Protocol</a></li>
|
||||
<li class=""><a href="/schema">Schema</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container clearfix">
|
||||
<div class="dev_page">
|
||||
<div id="dev_page_content_wrap" class=" ">
|
||||
<div class="dev_page_bread_crumbs"><ul class="breadcrumb clearfix"><li><a href="/api" >API</a></li><i class="icon icon-breadcrumb-divider"></i><li></li></ul></div>
|
||||
<h1 id="dev_page_title">Page not found</h1>
|
||||
|
||||
<div id="dev_page_content">The page has not been saved</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_wrap">
|
||||
<div class="footer_columns_wrap footer_desktop">
|
||||
<div class="footer_column footer_column_telegram">
|
||||
<h5>Telegram</h5>
|
||||
<div class="footer_telegram_description"></div>
|
||||
Telegram is a cloud-based mobile and desktop messaging app with a focus on security and speed.
|
||||
</div>
|
||||
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/faq">About</a></h5>
|
||||
<ul>
|
||||
<li><a href="//telegram.org/faq">FAQ</a></li>
|
||||
<li><a href="//telegram.org/privacy">Privacy</a></li>
|
||||
<li><a href="//telegram.org/press">Press</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps#mobile-apps">Mobile Apps</a></h5>
|
||||
<ul>
|
||||
<li><a href="//telegram.org/dl/ios">iPhone/iPad</a></li>
|
||||
<li><a href="//telegram.org/android">Android</a></li>
|
||||
<li><a href="//telegram.org/dl/web">Mobile Web</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps#desktop-apps">Desktop Apps</a></h5>
|
||||
<ul>
|
||||
<li><a href="//desktop.telegram.org/">PC/Mac/Linux</a></li>
|
||||
<li><a href="//macos.telegram.org/">macOS</a></li>
|
||||
<li><a href="//telegram.org/dl/web">Web-browser</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer_column footer_column_platform">
|
||||
<h5><a href="//core.telegram.org/">Platform</a></h5>
|
||||
<ul>
|
||||
<li><a href="//core.telegram.org/api">API</a></li>
|
||||
<li><a href="//translations.telegram.org/">Translations</a></li>
|
||||
<li><a href="//instantview.telegram.org/">Instant View</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer_columns_wrap footer_mobile">
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/faq">About</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/blog">Blog</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//telegram.org/apps">Apps</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="//core.telegram.org/">Platform</a></h5>
|
||||
</div>
|
||||
<div class="footer_column">
|
||||
<h5><a href="https://twitter.com/telegram" target="_blank" data-track="Follow/Twitter" onclick="trackDlClick(this, event)">Twitter</a></h5>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="/js/main.js?46"></script>
|
||||
|
||||
<script>backToTopInit("Go up");
|
||||
removePreloadInit();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -125,7 +125,7 @@ Also introducing new <a href="https://telegram.org/blog/custom-emoji#privacy-set
|
|||
<a href="/constructor/messageEntitySpoiler">messageEntitySpoiler</a>#32ca960f offset:<a href="/type/int">int</a> length:<a href="/type/int">int</a> = <a href="/type/MessageEntity">MessageEntity</a>;
|
||||
<a href="/constructor/messageEntityCustomEmoji">messageEntityCustomEmoji</a>#c8cf05f8 offset:<a href="/type/int">int</a> length:<a href="/type/int">int</a> document_id:<a href="/type/long">long</a> = <a href="/type/MessageEntity">MessageEntity</a>;<br></code></pre></div>
|
||||
<h3><a class="anchor" href="#layer-143" id="layer-143" name="layer-143"><i class="anchor-icon"></i></a><a href="/schema?layer=143">Layer 143</a></h3>
|
||||
<p><a href="/api/premium">Telegram Premium</a>, <a href="/api/transcribe">voice message transcription</a>, <a href="/api/links#invoice-links">invoices</a>, bot description photos/animations, immediate <a href="/api/delete-account">account deletion</a>, recurring <a href="/api/payments">payments</a> and <a href="/api/bots/attach">attachment menu</a> improvements.<br>
|
||||
<p><a href="/api/premium">Telegram Premium</a>, <a href="/api/transcribe">voice message transcription</a>, <a href="/api/links#invoice-links">invoices</a>, bot description photos/animations, immediate <a href="/api/account-deletion">account deletion</a>, recurring <a href="/api/payments">payments</a> and <a href="/api/bots/attach">attachment menu</a> improvements.<br>
|
||||
Also, discussion group admins can now <a href="/api/discussion#requiring-users-to-join-the-group">require users to join</a> before commenting.</p>
|
||||
<p>The main and E2E schemes were also modified to eventually support uploading and downloading files bigger than 4GB: the current supported maximum filesize is dynamically specified, and can be fetched from the new <a href="/api/config#upload-max-fileparts-default">upload_max_fileparts_default »</a> and <a href="/api/config#upload-max-fileparts-premium">upload_max_fileparts_premium »</a> app configuration fields.</p>
|
||||
<h4><a class="anchor" href="#schema-changes" id="schema-changes" name="schema-changes"><i class="anchor-icon"></i></a>Schema changes</h4>
|
||||
|
|
|
@ -58,7 +58,7 @@
|
|||
<li><code>tg:path?query</code></li>
|
||||
<li><code>tg://path?query</code></li>
|
||||
</ul>
|
||||
<p>The <code>#fragment</code> part is always ignored when parsing links. </p>
|
||||
<p>The <code>#fragment</code> part is always ignored. </p>
|
||||
<h3><a class="anchor" href="#public-username-links" id="public-username-links" name="public-username-links"><i class="anchor-icon"></i></a>Public username links</h3>
|
||||
<p>Used to link to public users, groups and channels, see <a href="/api/invites#public-usernames">here for more info on how to handle them »</a>. </p>
|
||||
<p><code>t.me</code> syntax:</p>
|
||||
|
@ -224,7 +224,7 @@ tg://resolve?domain=<username>&livestream=<invite_hash></code></
|
|||
</tbody>
|
||||
</table>
|
||||
<h3><a class="anchor" href="#stickerset-links" id="stickerset-links" name="stickerset-links"><i class="anchor-icon"></i></a>Stickerset links</h3>
|
||||
<p>Used to import stickersets as described <a href="/api/stickers#installing-stickers">here »</a>.</p>
|
||||
<p>Used to import stickersets as described <a href="/api/stickers#installing-stickersets">here »</a>.</p>
|
||||
<p><code>t.me</code> syntax:</p>
|
||||
<pre><code>t.me/addstickers/<slug></code></pre>
|
||||
<p><code>tg:</code> syntax:</p>
|
||||
|
@ -242,12 +242,12 @@ tg://resolve?domain=<username>&livestream=<invite_hash></code></
|
|||
<tr>
|
||||
<td><code>slug</code></td>
|
||||
<td style="text-align: center;">Required</td>
|
||||
<td>Stickerset short name, used when <a href="/api/stickers#installing-stickers">installing stickers</a>.</td>
|
||||
<td>Stickerset short name, used when <a href="/api/stickers#installing-stickersets">installing stickers</a>.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3><a class="anchor" href="#custom-emoji-stickerset-links" id="custom-emoji-stickerset-links" name="custom-emoji-stickerset-links"><i class="anchor-icon"></i></a>Custom emoji stickerset links</h3>
|
||||
<p>Used to import <a href="/api/custom-emoji">custom emoji</a> stickersets as described <a href="/api/stickers#installing-stickers">here »</a>.</p>
|
||||
<p>Used to import <a href="/api/custom-emoji">custom emoji</a> stickersets as described <a href="/api/stickers#installing-stickersets">here »</a>.</p>
|
||||
<p><code>t.me</code> syntax:</p>
|
||||
<pre><code>t.me/addemoji/<slug></code></pre>
|
||||
<p><code>tg:</code> syntax:</p>
|
||||
|
@ -265,7 +265,7 @@ tg://resolve?domain=<username>&livestream=<invite_hash></code></
|
|||
<tr>
|
||||
<td><code>slug</code></td>
|
||||
<td style="text-align: center;">Required</td>
|
||||
<td>Stickerset short name, used when <a href="/api/stickers#installing-stickers">installing stickers</a>.</td>
|
||||
<td>Stickerset short name, used when <a href="/api/stickers#installing-stickersets">installing stickers</a>.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
|
@ -149,9 +149,9 @@ The <code>recurring</code> flag will be set for recurring payments, and <code>re
|
|||
<a href='/method/payments.validateRequestedInfo'>payments.validateRequestedInfo</a>#b6c8f12b flags:<a href='/type/%23'>#</a> save:flags.0?<a href='/constructor/true'>true</a> invoice:<a href='/type/InputInvoice'>InputInvoice</a> info:<a href='/type/PaymentRequestedInfo'>PaymentRequestedInfo</a> = <a href='/type/payments.ValidatedRequestedInfo'>payments.ValidatedRequestedInfo</a>;</code></pre>
|
||||
<p>If any data at all is requested by the <a href="/constructor/invoice"><strong>invoice</strong></a> (<code>name_requested</code>, <code>phone_requested</code>, <code>email_requested</code>, <code>shipping_address_requested</code>), the user must call <a href="/method/payments.validateRequestedInfo">payments.validateRequestedInfo</a>, providing the required data (as usual, <code>msg_id</code> is the ID of the invoice message).
|
||||
The user can choose to save order information for future use by setting the <code>save</code> flag.
|
||||
Data can be autofilled as described in <a href="#2-3-1-autofill">autofill</a>.</p>
|
||||
Data can be autofilled as described in <a href="#231-autofill">autofill</a>.</p>
|
||||
<p>If no errors are found in the submitted info, the <a href="/constructor/payments.ValidatedRequestedInfo">response</a> of the method will contain an <code>id</code> flag, to be used later to complete the payment.</p>
|
||||
<p>If the <code>flexible</code> flag of the invoice is set, calling the <a href="/method/payments.validateRequestedInfo">payments.validateRequestedInfo</a> method will send a <a href="/constructor/updateBotShippingQuery">shipping query update</a> to the bot, to which the bot will reply with the available shipping options for the specified address <a href="#2-4-select-delivery-option">as described here »</a>.
|
||||
<p>If the <code>flexible</code> flag of the invoice is set, calling the <a href="/method/payments.validateRequestedInfo">payments.validateRequestedInfo</a> method will send a <a href="/constructor/updateBotShippingQuery">shipping query update</a> to the bot, to which the bot will reply with the available shipping options for the specified address <a href="#24-select-delivery-option">as described here »</a>.
|
||||
The return value in this case will also contain a <code>shipping_options</code> field with the available shipping options.</p>
|
||||
<p>If any errors are found in the submitted data, a <a href="/constructor/updateServiceNotification">service notification</a> will be sent to the user, with a description of the error from the bot.</p>
|
||||
<h4><a class="anchor" href="#231-autofill" id="231-autofill" name="231-autofill"><i class="anchor-icon"></i></a>2.3.1 Autofill</h4>
|
||||
|
@ -173,9 +173,9 @@ The return value in this case will also contain a <code>shipping_options</code>
|
|||
---functions---
|
||||
|
||||
<a href='/method/messages.setBotShippingResults'>messages.setBotShippingResults</a>#e5f672fa flags:<a href='/type/%23'>#</a> query_id:<a href='/type/long'>long</a> error:flags.0?<a href='/type/string'>string</a> shipping_options:flags.1?<a href='/type/Vector%20t'>Vector</a><<a href='/type/ShippingOption'>ShippingOption</a>> = <a href='/type/Bool'>Bool</a>;</code></pre>
|
||||
<p>If a shipping address was requested and the bot included the parameter <code>flexible</code>, when the user <a href="#2-3-verifying-information">validates order information</a> the Telegram API will send an <a href="/constructor/updateBotShippingQuery">updateBotShippingQuery</a> to the bot.
|
||||
<p>If a shipping address was requested and the bot included the parameter <code>flexible</code>, when the user <a href="#23-verifying-information">validates order information</a> the Telegram API will send an <a href="/constructor/updateBotShippingQuery">updateBotShippingQuery</a> to the bot.
|
||||
The bot must respond using <a href="/method/messages.setBotShippingResults">messages.setBotShippingResults</a> either with a list of possible delivery options and the relevant delivery prices, or with an error (for example, if delivery to the specified address is not possible).</p>
|
||||
<p>The returned shipping options or the shipping error will be returned to the user while <a href="#2-3-verifying-information">validating order information</a>.</p>
|
||||
<p>The returned shipping options or the shipping error will be returned to the user while <a href="#23-verifying-information">validating order information</a>.</p>
|
||||
<h3><a class="anchor" href="#3-payment" id="3-payment" name="3-payment"><i class="anchor-icon"></i></a>3. Payment</h3>
|
||||
<pre><code><a href='/constructor/inputPaymentCredentialsSaved'>inputPaymentCredentialsSaved</a>#c10eb2cf id:<a href='/type/string'>string</a> tmp_password:<a href='/type/bytes'>bytes</a> = <a href='/type/InputPaymentCredentials'>InputPaymentCredentials</a>;
|
||||
<a href='/constructor/inputPaymentCredentials'>inputPaymentCredentials</a>#3417d728 flags:<a href='/type/%23'>#</a> save:flags.0?<a href='/constructor/true'>true</a> data:<a href='/type/DataJSON'>DataJSON</a> = <a href='/type/InputPaymentCredentials'>InputPaymentCredentials</a>;
|
||||
|
@ -267,16 +267,16 @@ Full credit card info <strong>is not</strong> saved on Telegram Servers, and can
|
|||
---functions---
|
||||
|
||||
<a href='/method/payments.sendPaymentForm'>payments.sendPaymentForm</a>#2d03522f flags:<a href='/type/%23'>#</a> form_id:<a href='/type/long'>long</a> invoice:<a href='/type/InputInvoice'>InputInvoice</a> requested_info_id:flags.0?<a href='/type/string'>string</a> shipping_option_id:flags.1?<a href='/type/string'>string</a> credentials:<a href='/type/InputPaymentCredentials'>InputPaymentCredentials</a> tip_amount:flags.2?<a href='/type/long'>long</a> = <a href='/type/payments.PaymentResult'>payments.PaymentResult</a>;</code></pre>
|
||||
<p>After <a href="#2-3-verifying-information">verifying order information</a>, the final step for the client is to call <a href="/method/payments.sendPaymentForm">payments.sendPaymentForm</a>, with the following parameters:</p>
|
||||
<p>After <a href="#23-verifying-information">verifying order information</a>, the final step for the client is to call <a href="/method/payments.sendPaymentForm">payments.sendPaymentForm</a>, with the following parameters:</p>
|
||||
<ul>
|
||||
<li>The <code>msg_id</code> is set to the ID of the invoice message</li>
|
||||
<li><code>requested_info_id</code> is set to the <code>id</code> of the <a href="#2-3-verifying-information">verified order information</a>, if it was requested</li>
|
||||
<li><code>shipping_option_id</code> is set to the <a href="#2-5-select-delivery-option">selected delivery option</a>, if shipping was requested.</li>
|
||||
<li><code>requested_info_id</code> is set to the <code>id</code> of the <a href="#23-verifying-information">verified order information</a>, if it was requested</li>
|
||||
<li><code>shipping_option_id</code> is set to the <a href="#24-select-delivery-option">selected delivery option</a>, if shipping was requested.</li>
|
||||
<li><code>credentials</code> are the payment credentials generated by the payment provider, required to complete the order.</li>
|
||||
</ul>
|
||||
<p>Payment method info can also be saved to the Telegram Servers and reused, by setting the <code>save</code> flag of <a href="/constructor/inputPaymentCredentials">inputPaymentCredentials</a> when sending the form.
|
||||
This is only possible on accounts with <a href="/api/srp">2FA</a> enabled.</p>
|
||||
<p>The bot then <a href="#4-1-receiving-pre-checkout-query">replies to the received precheckout query</a>, finally the user <a href="#5-checkout">proceeds to checkout</a>.</p>
|
||||
<p>The bot then <a href="#41-receiving-pre-checkout-query">replies to the received precheckout query</a>, finally the user <a href="#5-checkout">proceeds to checkout</a>.</p>
|
||||
<p>Please note that if the result of the method is a <a href="/constructor/payments.paymentVerificationNeeded">payments.paymentVerificationNeeded</a>, before <a href="#5-checkout">proceeding to checkout</a> the payment provider requires the user to verify their identity by opening the provided <code>url</code> and following instructions.
|
||||
Once the user finishes working with the webpage, the client can <a href="#5-checkout">proceed to checkout</a>.</p>
|
||||
<p>Eventual errors are returned in the form of RPC errors, with the description of the error by the bot contained in <a href="/constructor/updateServiceNotification">service updates</a>.</p>
|
||||
|
|
|
@ -105,7 +105,7 @@ The keys in <code>video_sections</code> correspond to a specific feature identif
|
|||
<ul>
|
||||
<li><code>channels_limit_*</code> - The maximum number of <a href="/api/channel">channels and supergroups</a> a user may join.</li>
|
||||
<li><code>saved_gifs_limit_*</code> - The maximum number of GIFs a user may save.</li>
|
||||
<li><code>stickers_faved_limit_*</code> - The maximum number of stickers a user may <a href="/api/stickers#favorite-stickers">add to favorites</a>.</li>
|
||||
<li><code>stickers_faved_limit_*</code> - The maximum number of stickers a user may <a href="/api/stickers#favorite-stickersets">add to favorites</a>.</li>
|
||||
<li><code>dialog_filters_limit_*</code> - The maximum number of <a href="/api/folders">folders</a> a user may create.</li>
|
||||
<li><code>dialog_filters_chats_*</code> - The maximum number of chats a user may add to a <a href="/api/folders">folder</a>.</li>
|
||||
<li><code>dialogs_pinned_limit_*</code> - The maximum number of chats a user may pin.</li>
|
||||
|
|
|
@ -162,7 +162,7 @@ The returned <a href="/constructor/stats.messageStats">stats.messageStats</a> co
|
|||
</tr>
|
||||
<tr>
|
||||
<td>types</td>
|
||||
<td><a href="#graphs">Graphs types</a> for each of the column arrays (object, <code>"label": "type"</code>): <br>- <code>line</code> - <a href="#line-graph">line graph</a> <br>- <code>area</code> - <a href="#area-graph">area graph</a> <br>- <code>step</code> - <a href="#step-graph">step graph</a> <br>- <code>bar</code> - <a href="#bar-graph">bar graph</a> <br>- <code>x</code> - x axis values for each of the charts at the corresponding positions, UNIX timestamps in milliseconds.</td>
|
||||
<td><a href="#graph-visualization">Graphs types</a> for each of the column arrays (object, <code>"label": "type"</code>): <br>- <code>line</code> - <a href="#line-graph">line graph</a> <br>- <code>area</code> - <a href="#area-graph">area graph</a> <br>- <code>step</code> - <a href="#step-graph">step graph</a> <br>- <code>bar</code> - <a href="#bar-graph">bar graph</a> <br>- <code>x</code> - x axis values for each of the charts at the corresponding positions, UNIX timestamps in milliseconds.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>colors</td>
|
||||
|
|
|
@ -323,7 +323,7 @@ This update should trigger a call to <a href="/method/messages.getRecentStickers
|
|||
|
||||
<a href='/method/messages.getStickers'>messages.getStickers</a>#d5a5d3a1 emoticon:<a href='/type/string'>string</a> hash:<a href='/type/long'>long</a> = <a href='/type/messages.Stickers'>messages.Stickers</a>;</code></pre>
|
||||
<p>Clients should show a popup with a list of suggested stickers and <a href="/api/custom-emoji">custom emojis</a> when the user enters an emoji in the text bar. </p>
|
||||
<p>If the <a href="/api/config#stickers-emojis-suggest-only-api"><code>stickers_emoji_suggest_only_api</code> app configuration parameter</a> is set to true, clients must invoke <a href="/method/messages.getStickers">messages.getStickers</a> to fetch a list of suggested stickers for the emoji.<br>
|
||||
<p>If the <a href="/api/config#stickers-emoji-suggest-only-api"><code>stickers_emoji_suggest_only_api</code> app configuration parameter</a> is set to true, clients must invoke <a href="/method/messages.getStickers">messages.getStickers</a> to fetch a list of suggested stickers for the emoji.<br>
|
||||
The <a href="/api/config#stickers-emoji-cache-time">stickers_emoji_cache_time appConfig parameter</a> specifies the validity period of the local cache of <a href="/method/messages.getStickers">messages.getStickers</a>, also relevant when generating the pagination hash when invoking the method. </p>
|
||||
<p>Otherwise, the following local logic should be used. </p>
|
||||
<ul>
|
||||
|
|
|
@ -64,7 +64,7 @@ Replies to messages in a thread are part of the same thread, and do not spawn ne
|
|||
<h3><a class="anchor" href="#channel-comments" id="channel-comments" name="channel-comments"><i class="anchor-icon"></i></a>Channel comments</h3>
|
||||
<pre><code><a href='/constructor/messageReplies'>messageReplies</a>#83d60fc2 flags:<a href='/type/%23'>#</a> comments:flags.0?<a href='/constructor/true'>true</a> replies:<a href='/type/int'>int</a> replies_pts:<a href='/type/int'>int</a> recent_repliers:flags.1?<a href='/type/Vector%20t'>Vector</a><<a href='/type/Peer'>Peer</a>> channel_id:flags.0?<a href='/type/long'>long</a> max_id:flags.2?<a href='/type/int'>int</a> read_max_id:flags.3?<a href='/type/int'>int</a> = <a href='/type/MessageReplies'>MessageReplies</a>;</code></pre>
|
||||
<p>The same <a href="/constructor/messageReplies">messageReplies</a> constructor seen above will also be contained in channel posts, this time containing information about the comment section of a specific channel post.<br>
|
||||
The comment section of a channel post is simply the <a href="#message-thread">message thread</a> of the automatically forwarded channel message in the <a href="/api/discussion">linked discussion supergroup</a>; the ID of the linked discussion supergroup will be contained in the <code>messageReplies.channel_id</code> field. </p>
|
||||
The comment section of a channel post is simply the <a href="#message-threads">message thread</a> of the automatically forwarded channel message in the <a href="/api/discussion">linked discussion supergroup</a>; the ID of the linked discussion supergroup will be contained in the <code>messageReplies.channel_id</code> field. </p>
|
||||
<p>For channel posts, the <code>recent_repliers</code> field will also contain information about the last few comment posters for a specific thread, to show a small list of commenter profile pictures in client previews.</p>
|
||||
<h4><a class="anchor" href="#replies" id="replies" name="replies"><i class="anchor-icon"></i></a>@replies</h4>
|
||||
<pre><code><a href='/constructor/messageFwdHeader'>messageFwdHeader</a>#5f777dce flags:<a href='/type/%23'>#</a> imported:flags.7?<a href='/constructor/true'>true</a> from_id:flags.0?<a href='/type/Peer'>Peer</a> from_name:flags.5?<a href='/type/string'>string</a> date:<a href='/type/int'>int</a> channel_post:flags.2?<a href='/type/int'>int</a> post_author:flags.3?<a href='/type/string'>string</a> saved_from_peer:flags.4?<a href='/type/Peer'>Peer</a> saved_from_msg_id:flags.4?<a href='/type/int'>int</a> psa_type:flags.6?<a href='/type/string'>string</a> = <a href='/type/MessageFwdHeader'>MessageFwdHeader</a>;
|
||||
|
|
|
@ -88,7 +88,7 @@ The <code>settings</code> field describes the transforms that should be applied
|
|||
<ul>
|
||||
<li><a href="#solid-fill">Solid fill</a></li>
|
||||
<li><a href="#gradient-fill">Gradient fill</a></li>
|
||||
<li><a href="#freefrom-gradient-fill">Freeform gradient fill</a></li>
|
||||
<li><a href="#freeform-gradient-fill">Freeform gradient fill</a></li>
|
||||
</ul>
|
||||
<h4><a class="anchor" href="#solid-fill" id="solid-fill" name="solid-fill"><i class="anchor-icon"></i></a>Solid fill</h4>
|
||||
<pre><code><a href='/constructor/wallPaperSettings'>wallPaperSettings</a>#1dc1bca4 flags:<a href='/type/%23'>#</a> blur:flags.1?<a href='/constructor/true'>true</a> motion:flags.2?<a href='/constructor/true'>true</a> background_color:flags.0?<a href='/type/int'>int</a> second_background_color:flags.4?<a href='/type/int'>int</a> third_background_color:flags.5?<a href='/type/int'>int</a> fourth_background_color:flags.6?<a href='/type/int'>int</a> intensity:flags.3?<a href='/type/int'>int</a> rotation:flags.4?<a href='/type/int'>int</a> = <a href='/type/WallPaperSettings'>WallPaperSettings</a>;</code></pre>
|
||||
|
|
|
@ -79,7 +79,7 @@
|
|||
<tr>
|
||||
<td><strong>has_settings</strong></td>
|
||||
<td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/constructor/true">true</a></td>
|
||||
<td>True, if the bot supports the <a href="/api/bots/webapps#settings_button_pressed">"settings_button_pressed" event »</a></td>
|
||||
<td>True, if the bot supports the <a href="/api/bots/webapps#settings-button-pressed">"settings_button_pressed" event »</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>bot_id</strong></td>
|
||||
|
|
|
@ -99,7 +99,7 @@
|
|||
<tr>
|
||||
<td><strong>ttl</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/int">int</a></td>
|
||||
<td>Message lifetime. Has higher priority than <a href="/constructor/decryptedMessageActionSetMessageTTL">decryptedMessageActionSetMessageTTL</a>.<br>Parameter added in <a href="/api/layers#layer-17">Layer 17</a>.</td>
|
||||
<td>Message lifetime. Has higher priority than <a href="/constructor/decryptedMessageActionSetMessageTTL">decryptedMessageActionSetMessageTTL</a>.<br>Parameter added in Layer 17.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>message</strong></td>
|
||||
|
@ -139,8 +139,6 @@
|
|||
<h4><a class="anchor" href="#decryptedmessageactionsetmessagettl" id="decryptedmessageactionsetmessagettl" name="decryptedmessageactionsetmessagettl"><i class="anchor-icon"></i></a><a href="/constructor/decryptedMessageActionSetMessageTTL">decryptedMessageActionSetMessageTTL</a></h4>
|
||||
<p>Setting of a message lifetime after reading.</p>
|
||||
<p>Upon receiving such message the client shall start deleting of all messages of an encrypted chat <strong>ttl_seconds</strong> seconds after the messages were read by user.</p>
|
||||
<h4><a class="anchor" href="#layers" id="layers" name="layers"><i class="anchor-icon"></i></a><a href="/api/layers">Layers</a></h4>
|
||||
<p>Below you will find information on schema changes. For more details on the use of layers, see <a href="/api/invoking#layers">Invoking API methods</a>.</p>
|
||||
<h4><a class="anchor" href="#styled-text-with-message-entities" id="styled-text-with-message-entities" name="styled-text-with-message-entities"><i class="anchor-icon"></i></a><a href="/api/entities">Styled text with message entities</a></h4>
|
||||
<p>How to create styled text with message entities</p>
|
||||
<h4><a class="anchor" href="#uploading-and-downloading-files" id="uploading-and-downloading-files" name="uploading-and-downloading-files"><i class="anchor-icon"></i></a><a href="/api/files">Uploading and Downloading Files</a></h4>
|
||||
|
|
|
@ -70,15 +70,12 @@
|
|||
<tr>
|
||||
<td><strong>layer</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/int">int</a></td>
|
||||
<td>Layer number, must be <strong>17</strong> or higher (this constructor was introduced in <a href="/api/layers#layer-17">Layer 17</a>).</td>
|
||||
<td>Layer number, must be <strong>17</strong> or higher (this constructor was introduced in Layer 17.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3><a class="anchor" href="#type" id="type" name="type"><i class="anchor-icon"></i></a>Type</h3>
|
||||
<p><a href="/type/DecryptedMessageAction">DecryptedMessageAction</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="#layers" id="layers" name="layers"><i class="anchor-icon"></i></a><a href="/api/layers">Layers</a></h4>
|
||||
<p>Below you will find information on schema changes. For more details on the use of layers, see <a href="/api/invoking#layers">Invoking API methods</a>.</p></div>
|
||||
<p><a href="/type/DecryptedMessageAction">DecryptedMessageAction</a></p></div>
|
||||
|
||||
</div>
|
||||
|
||||
|
|
|
@ -70,7 +70,7 @@
|
|||
<tr>
|
||||
<td><strong>random_bytes</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/bytes">bytes</a></td>
|
||||
<td>Set of random bytes to prevent content recognition in short encrypted messages.<br>Clients are required to check that there are at least 15 random bytes included in each message. Messages with less than 15 random bytes must be ignored.<br>Parameter moved here from <a href="/constructor/decryptedMessage">decryptedMessage</a> in <a href="/api/layers#layer-17">Layer 17</a>.</td>
|
||||
<td>Set of random bytes to prevent content recognition in short encrypted messages.<br>Clients are required to check that there are at least 15 random bytes included in each message. Messages with less than 15 random bytes must be ignored.<br>Parameter moved here from <a href="/constructor/decryptedMessage">decryptedMessage</a> in Layer 17.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>layer</strong></td>
|
||||
|
@ -80,12 +80,12 @@
|
|||
<tr>
|
||||
<td><strong>in_seq_no</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/int">int</a></td>
|
||||
<td>2x the number of messages in the sender's inbox (including deleted and service messages), incremented by 1 if current user was not the chat creator<br>Parameter added in <a href="/api/layers#layer-17">Layer 17</a>.</td>
|
||||
<td>2x the number of messages in the sender's inbox (including deleted and service messages), incremented by 1 if current user was not the chat creator<br>Parameter added in Layer 17.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>out_seq_no</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/int">int</a></td>
|
||||
<td>2x the number of messages in the recipient's inbox (including deleted and service messages), incremented by 1 if current user was the chat creator<br>Parameter added in <a href="/api/layers#layer-17">Layer 17</a>.</td>
|
||||
<td>2x the number of messages in the recipient's inbox (including deleted and service messages), incremented by 1 if current user was the chat creator<br>Parameter added in Layer 17.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>message</strong></td>
|
||||
|
@ -98,9 +98,7 @@
|
|||
<p><a href="/type/DecryptedMessageLayer">DecryptedMessageLayer</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="#decryptedmessage" id="decryptedmessage" name="decryptedmessage"><i class="anchor-icon"></i></a><a href="/constructor/decryptedMessage">decryptedMessage</a></h4>
|
||||
<p>Contents of an encrypted message.</p>
|
||||
<h4><a class="anchor" href="#layers" id="layers" name="layers"><i class="anchor-icon"></i></a><a href="/api/layers">Layers</a></h4>
|
||||
<p>Below you will find information on schema changes. For more details on the use of layers, see <a href="/api/invoking#layers">Invoking API methods</a>.</p></div>
|
||||
<p>Contents of an encrypted message.</p></div>
|
||||
|
||||
</div>
|
||||
|
||||
|
|
|
@ -78,7 +78,7 @@
|
|||
<tr>
|
||||
<td><strong>mime_type</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/string">string</a></td>
|
||||
<td>MIME-type of the audio file<br>Parameter added in <a href="/api/layers#layer-13">Layer 13</a>.</td>
|
||||
<td>MIME-type of the audio file<br>Parameter added in Layer 13.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>size</strong></td>
|
||||
|
@ -98,10 +98,7 @@
|
|||
</tbody>
|
||||
</table>
|
||||
<h3><a class="anchor" href="#type" id="type" name="type"><i class="anchor-icon"></i></a>Type</h3>
|
||||
<p><a href="/type/DecryptedMessageMedia">DecryptedMessageMedia</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="#layers" id="layers" name="layers"><i class="anchor-icon"></i></a><a href="/api/layers">Layers</a></h4>
|
||||
<p>Below you will find information on schema changes. For more details on the use of layers, see <a href="/api/invoking#layers">Invoking API methods</a>.</p></div>
|
||||
<p><a href="/type/DecryptedMessageMedia">DecryptedMessageMedia</a></p></div>
|
||||
|
||||
</div>
|
||||
|
||||
|
|
|
@ -96,7 +96,7 @@
|
|||
<tr>
|
||||
<td><strong>mime_type</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/string">string</a></td>
|
||||
<td>MIME-type of the video file<br>Parameter added in <a href="/api/layers#layer-17">Layer 17</a>.</td>
|
||||
<td>MIME-type of the video file<br>Parameter added in Layer 17.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>w</strong></td>
|
||||
|
@ -131,10 +131,7 @@
|
|||
</tbody>
|
||||
</table>
|
||||
<h3><a class="anchor" href="#type" id="type" name="type"><i class="anchor-icon"></i></a>Type</h3>
|
||||
<p><a href="/type/DecryptedMessageMedia">DecryptedMessageMedia</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="#layers" id="layers" name="layers"><i class="anchor-icon"></i></a><a href="/api/layers">Layers</a></h4>
|
||||
<p>Below you will find information on schema changes. For more details on the use of layers, see <a href="/api/invoking#layers">Invoking API methods</a>.</p></div>
|
||||
<p><a href="/type/DecryptedMessageMedia">DecryptedMessageMedia</a></p></div>
|
||||
|
||||
</div>
|
||||
|
||||
|
|
|
@ -109,7 +109,7 @@
|
|||
<tr>
|
||||
<td><strong>start_param</strong></td>
|
||||
<td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/string">string</a></td>
|
||||
<td>Unique <a href="/api/links#not-invoice">bot deep links start parameter</a>. If present, forwarded copies of the sent message will have a URL button with a <a href="/api/links#bot-links">deep link</a> to the bot (instead of a Pay button), with the value used as the start parameter. If absent, forwarded copies of the sent message will have a Pay button, allowing multiple users to pay directly from the forwarded message, using the same invoice.</td>
|
||||
<td>Unique <a href="/api/links#bot-links">bot deep links start parameter</a>. If present, forwarded copies of the sent message will have a URL button with a <a href="/api/links#bot-links">deep link</a> to the bot (instead of a Pay button), with the value used as the start parameter. If absent, forwarded copies of the sent message will have a Pay button, allowing multiple users to pay directly from the forwarded message, using the same invoice.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
|
@ -69,7 +69,7 @@
|
|||
<tr>
|
||||
<td><strong>url</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/string">string</a></td>
|
||||
<td>Exported <a href="/api/links#invoice-link">invoice deep link</a></td>
|
||||
<td>Exported <a href="/api/links#invoice-links">invoice deep link</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
|
@ -42,7 +42,7 @@
|
|||
<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/updateBotCommands" >updateBotCommands</a></li></ul></div>
|
||||
<h1 id="dev_page_title">updateBotCommands</h1>
|
||||
|
||||
<div id="dev_page_content"><p>The <a href="/bots/api#june-25-2021">command set</a> of a certain bot in a certain chat has changed.</p>
|
||||
<div id="dev_page_content"><p>The command set of a certain bot in a certain chat has changed.</p>
|
||||
<p><div class="clearfix">
|
||||
<ul class="dev_layer_select slightly-pull-right nav nav-pills">
|
||||
<li class="dropdown">
|
||||
|
@ -84,9 +84,7 @@
|
|||
</tbody>
|
||||
</table>
|
||||
<h3><a class="anchor" href="#type" id="type" name="type"><i class="anchor-icon"></i></a>Type</h3>
|
||||
<p><a href="/type/Update">Update</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="#telegram-bot-api" id="telegram-bot-api" name="telegram-bot-api"><i class="anchor-icon"></i></a><a href="/bots/api">Telegram Bot API</a></h4></div>
|
||||
<p><a href="/type/Update">Update</a></p></div>
|
||||
|
||||
</div>
|
||||
|
||||
|
|
|
@ -4,10 +4,10 @@
|
|||
<meta charset="utf-8">
|
||||
<title>updateUserTyping</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta property="description" content="The user is preparing a message; typing, recording, uploading, etc. This update is valid for 6 seconds. This update is valid for 6 seconds. If no further updates of this kind are received after 6 seconds, it should be considered that the user stopped doing whatever they were doing">
|
||||
<meta property="description" content="The user is preparing a message; typing, recording, uploading, etc. This update is valid for 6 seconds. If no further updates of this kind are received after 6 seconds, it should be considered that the user stopped doing whatever they were doing">
|
||||
<meta property="og:title" content="updateUserTyping">
|
||||
<meta property="og:image" content="">
|
||||
<meta property="og:description" content="The user is preparing a message; typing, recording, uploading, etc. This update is valid for 6 seconds. This update is valid for 6 seconds. If no further updates of this kind are received after 6 seconds, it should be considered that the user stopped doing whatever they were doing">
|
||||
<meta property="og:description" content="The user is preparing a message; typing, recording, uploading, etc. This update is valid for 6 seconds. If no further updates of this kind are received after 6 seconds, it should be considered that the user stopped doing whatever they were doing">
|
||||
<link rel="icon" type="image/svg+xml" href="/img/website_icon.svg?4">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/img/apple-touch-icon.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/img/favicon-32x32.png">
|
||||
|
@ -74,15 +74,12 @@
|
|||
<tr>
|
||||
<td><strong>action</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/SendMessageAction">SendMessageAction</a></td>
|
||||
<td>Action type<br>Param added in <a href="/api/layers#layer-17">Layer 17</a>.</td>
|
||||
<td>Action type</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3><a class="anchor" href="#type" id="type" name="type"><i class="anchor-icon"></i></a>Type</h3>
|
||||
<p><a href="/type/Update">Update</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="#layers" id="layers" name="layers"><i class="anchor-icon"></i></a><a href="/api/layers">Layers</a></h4>
|
||||
<p>Below you will find information on schema changes. For more details on the use of layers, see <a href="/api/invoking#layers">Invoking API methods</a>.</p></div>
|
||||
<p><a href="/type/Update">Update</a></p></div>
|
||||
|
||||
</div>
|
||||
|
||||
|
|
|
@ -89,7 +89,7 @@
|
|||
<tr>
|
||||
<td><strong>pattern</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>Whether this is a <a href="/api/wallpapers#pattern-wallpaper">pattern wallpaper »</a></td>
|
||||
<td>Whether this is a <a href="/api/wallpapers#pattern-wallpapers">pattern wallpaper »</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>dark</strong></td>
|
||||
|
|
|
@ -92,7 +92,7 @@
|
|||
<tr>
|
||||
<td><strong>data</strong></td>
|
||||
<td style="text-align: center;"><a href="/type/string">string</a></td>
|
||||
<td>Data to relay to the bot, obtained from a <a href="/api/web-events#web_app_data_send"><code>web_app_data_send</code> JS event</a>.</td>
|
||||
<td>Data to relay to the bot, obtained from a <a href="/api/web-events#web-app-data-send"><code>web_app_data_send</code> JS event</a>.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
|
@ -42,7 +42,7 @@
|
|||
<div class="dev_page_bread_crumbs"><ul class="breadcrumb clearfix"><li><a href="/api" >API</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/methods" >All Methods</a></li><i class="icon icon-breadcrumb-divider"></i><li><a href="/method/phone.exportGroupCallInvite" >phone.exportGroupCallInvite</a></li></ul></div>
|
||||
<h1 id="dev_page_title">phone.exportGroupCallInvite</h1>
|
||||
|
||||
<div id="dev_page_content"><p>Get an <a href="/api/links#voice-chat-video-chat-livestream-links">invite link</a> for a group call or livestream</p>
|
||||
<div id="dev_page_content"><p>Get an <a href="/api/links#voice-chatvideo-chatlivestream-links">invite link</a> for a group call or livestream</p>
|
||||
<p><div class="clearfix">
|
||||
<ul class="dev_layer_select slightly-pull-right nav nav-pills">
|
||||
<li class="dropdown">
|
||||
|
|
|
@ -102,7 +102,7 @@
|
|||
<tr>
|
||||
<td><strong>invite_hash</strong></td>
|
||||
<td style="text-align: center;"><a href="/mtproto/TL-combinators#conditional-fields">flags</a>.1?<a href="/type/string">string</a></td>
|
||||
<td>The invitation hash from the <a href="/api/links#video-chat-video-chat-livestream-links">invite link »</a>, if provided allows speaking in a livestream or muted group chat.</td>
|
||||
<td>The invitation hash from the <a href="/api/links#voice-chatvideo-chatlivestream-links">invite link »</a>, if provided allows speaking in a livestream or muted group chat.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>params</strong></td>
|
||||
|
|
|
@ -111,7 +111,7 @@ Then, payloads are wrapped in the following envelope:</p>
|
|||
<li>Payload: the MTProto payload</li>
|
||||
</ul>
|
||||
<h3><a class="anchor" href="#padded-intermediate" id="padded-intermediate" name="padded-intermediate"><i class="anchor-icon"></i></a>Padded intermediate</h3>
|
||||
<p>Padded version of the <a href="#intermediate">intermediate protocol</a>, to use with <a href="#transport-obfsucation">obfuscation enabled</a> to <strong>bypass ISP blocks</strong>.</p>
|
||||
<p>Padded version of the <a href="#intermediate">intermediate protocol</a>, to use with <a href="#transport-obfuscation">obfuscation enabled</a> to <strong>bypass ISP blocks</strong>.</p>
|
||||
<ul>
|
||||
<li>Overhead: small-medium</li>
|
||||
<li>Minimum envelope length: random</li>
|
||||
|
|
|
@ -50,7 +50,7 @@ For example, for an abridged version of the transport the client…">
|
|||
</blockquote>
|
||||
<p>Detailed documentation on creating authorization keys is available <a href="/mtproto/auth_key">here »</a>.</p>
|
||||
<h4><a class="anchor" href="#1-request-for-pq-authorization" id="1-request-for-pq-authorization" name="1-request-for-pq-authorization"><i class="anchor-icon"></i></a>1. Request for (p,q) Authorization</h4>
|
||||
<pre><code>req_pq#60469778 nonce:int128 = ResPQ</code></pre>
|
||||
<pre><code>req_pq_multi#be7e8ef1 nonce:int128 = ResPQ;</code></pre>
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
|
@ -80,10 +80,10 @@ For example, for an abridged version of the transport the client…">
|
|||
<td>Message body length</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>%(req_pq)</td>
|
||||
<td>%(req_pq_multi)</td>
|
||||
<td>20, 4</td>
|
||||
<td><code>60469778</code></td>
|
||||
<td>req_pq constructor number from TL schema</td>
|
||||
<td><code>be7e8ef1</code></td>
|
||||
<td>req_pq_multi constructor number from TL schema</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>nonce</td>
|
||||
|
@ -95,7 +95,7 @@ For example, for an abridged version of the transport the client…">
|
|||
</table>
|
||||
<p>The header is 20 bytes long, the message body is 20 bytes long, and the entire message is 40 bytes in length.</p>
|
||||
<pre><code>0000 | 00 00 00 00 00 00 00 00 4A 96 70 27 C4 7A E5 51
|
||||
0010 | 14 00 00 00 78 97 46 60 3E 05 49 82 8C CA 27 E9
|
||||
0010 | 14 00 00 00 f1 8e 7e be 3E 05 49 82 8C CA 27 E9
|
||||
0020 | 66 B3 01 A4 8F EC E2 FC</code></pre>
|
||||
<h4><a class="anchor" href="#2-a-response-from-the-server-has-been-received-with-the-following-content" id="2-a-response-from-the-server-has-been-received-with-the-following-content" name="2-a-response-from-the-server-has-been-received-with-the-following-content"><i class="anchor-icon"></i></a>2. A response from the server has been received with the following content:</h4>
|
||||
<pre><code>0000 | 00 00 00 00 00 00 00 00 01 C8 83 1E C9 7A E5 51
|
||||
|
@ -312,7 +312,7 @@ RSA (data_with_hash, server_public_key) = 7BB0100A523161904D9C69FA04BC60DECFC5DD
|
|||
<td>encrypted_data</td>
|
||||
<td>80, 260</td>
|
||||
<td>See above</td>
|
||||
<td>See <a href="#4-generatsiya-encrypted-data">“Generation of encrypted_data"</a></td>
|
||||
<td>See <a href="#generation-of-encrypted-data">“Generation of encrypted_data"</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
@ -433,7 +433,7 @@ server_DH_params_ok#d0e8075c nonce:int128 server_nonce:int128 encrypted_answer:s
|
|||
<td>encrypted_answer</td>
|
||||
<td>56, 596</td>
|
||||
<td>See below</td>
|
||||
<td>See <a href="#conversion-of-encrypted_answer-into-answer">“Decomposition of encrypted_answer"</a></td>
|
||||
<td>See <a href="#conversion-of-encrypted-answer-into-answer">“Decomposition of encrypted_answer"</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
@ -598,7 +598,7 @@ AES256_ige_encrypt (data_with_hash, tmp_aes_key, tmp_aes_iv) = 928A4957D0463B525
|
|||
<td>encrypted_data</td>
|
||||
<td>56, 340</td>
|
||||
<td>See above</td>
|
||||
<td>See <a href="#generatsiya-encrypted-data">“Generation of encrypted_data"</a></td>
|
||||
<td>See <a href="#generation-of-encrypted-data">“Generation of encrypted_data"</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
|
@ -86,7 +86,7 @@
|
|||
<tbody>
|
||||
<tr>
|
||||
<td><a href="/method/phone.exportGroupCallInvite">phone.exportGroupCallInvite</a></td>
|
||||
<td>Get an <a href="/api/links#voice-chat-video-chat-livestream-links">invite link</a> for a group call or livestream</td>
|
||||
<td>Get an <a href="/api/links#voice-chatvideo-chatlivestream-links">invite link</a> for a group call or livestream</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
|
|
Loading…
Reference in a new issue